YOLO: Обнаружение объектов в реальном времени. Вы только посмотрите один раз (YOLO) - это современная система обнаружения объектов в реальном времени. Это предварительно обученная модель для нескольких обычных объектов, таких как стул, человек, машина, бутылка и т. Д.
Репозиторий github этого проекта можно найти по этому адресу: https://github.com/singh-shreya6/Navigation-Assistant
Мы использовали его для создания помощника по навигации, который сообщает в градусах, насколько далеко влево, вправо или вперед находится объект поиска. Вся система состояла из трех модулей:
- Преобразование речи в текст с помощью Google API: пользователь вводит данные в форме речи. Пример: Найдите мне стул, найдите бутылку и т. Д.
- Обнаружение объекта: модель YOLO обнаруживает объект в поиске. Мы изменили его, чтобы сообщить нам, в каком градусе слева или справа находится объект.
- Преобразование текста в речь: библиотека Python Pyttsx использовалась для передачи вывода в форме речи. Пример: стул найден под углом 21 градус влево, бутылка впереди и т. Д.
Требования:
В первую очередь это модель на основе Python.
Выполнить команду:
python code.py \
- prototxt MobileNetSSD_deploy.prototxt.txt \
- модель MobileNetSSD_deploy.caffemodel
Описание рабочего процесса:
- Вся система изначально находится в спящем режиме. Когда вы произносите «Помогите», система активируется.
- Затем пользователь может задать свой голосовой запрос в виде «найди мне бутылку, найди постель и т. Д.».
- Видеопоток запускается с использованием библиотеки imutils Python.
- Модуль обнаружения объекта активируется, где он сопоставляет объект с его набором предопределенных классов. Глубокая нейронная сеть (DNN) используется в качестве модели.
- Если объект найден, он образует рамку вокруг объекта. Мы получили координаты коробки. Чтобы понять точку зрения пользователя, мы рассмотрели центр нижней строки окна. Если объект отсутствует в его наборе обучающих данных, система возвращает вывод «объект не найден».
- Расчет степени производился по математической формуле: math.degrees (math.atan (abs (centerX-user_x) / abs (centerY-user_y)))
- Видеопоток останавливается.
- Наконец, вывод текста преобразуется в речь с помощью библиотеки python pyttsx.
Вывод: