Установка и настройка распознавания лиц при помощи OpenCV за полчаса

Неудача при тестировании OpenCV на Raspberry Pi Zero W (офигенные тормоза в работе) заставила искать иные пути. Поставил Ubuntu второй системой на свой старый ноут , накатил pip3 и с его помощью установил OpenCV. Устанавливается все просто:

sudo apt-get -y install python3-pip
pip3 install opencv-contrib-python

Затем устанавливаем пакет face recognition и следуем инструкциям установщика:

pip3 install face_recognition

Также  клонируем гит в заранее созданную папку

git clone https://github.com/ageitgey/face_recognition
И все.

Подробности использования пакета по ссылке https://github.com/ageitgey/face_recognition

Моей целью было распознавание лиц в видеопотоке с вебкамеры ноута. Идем в папку examples, куда положим фотографии образцы нужных лиц. В это папке есть файл кода Python, настроенный  для распознавания Обамы и Байдена

facerec_from_webcam_faster.py

Мы создаем его копию facerec_from_webcam_faster_your_copy.py и редактируем вот эти куски в соответствии с нашими фото-примерами. При необходимости добавления более двух лиц добавляем куски кода.

# Load a sample picture and learn how to recognize it.
obama_image = face_recognition.load_image_file(«obama.jpg»)
obama_face_encoding = face_recognition.face_encodings(obama_image)[0]

# Load a second sample picture and learn how to recognize it.
biden_image = face_recognition.load_image_file(«biden.jpg»)
biden_face_encoding = face_recognition.face_encodings(biden_image)[0]

 

Сохраняем и запускаем скрипт командой

pip3 facerec_from_webcam_faster_your_copy.py

В результате имеем поток с наложением рамки и текста с распознанными лицами

ezgif-1-d682729d1324

Робот-танк. Постановка задачи

Захотелось своего домашнего питомца — робота.

Цели:

  1. Фан
  2. Прокачать скилл в робототехнике и особенно в OpenCV
  3. Надежда на интерес со стороны подрастающего поколения.

Что робот должен уметь делать:

  1. Передвигаться по квартире и улице в хорошую погоду. Управление с помощью пульта ДУ, через приложение Android, через веб интерфейс
  2. Передвигаться самостоятельно в пределах комнаты или иного помещения
  3. Изображать ум и сообразительность: распознавать лица домашних
  4. Распознавать голоса домашних
  5. Отвечать на вопросы (некий функционал Алисы)
  6. Воспроизводить музыку
  7. Коммуницировать с УД: передавать данные телеметрии (уровень заряда батареи), фото, стримить видео. Управляться удаленно через веб интерфейс
  8. Камера  крутится в двух плоскостях
  9. Уметь самостоятельно заряжаться (нужно разработать некую док станцию для робота)
  10. Питание от батарей 18650

 

Пока заказал шасси TS100 на али

https://www.aliexpress.com/item/32827408778.html?spm=a2g0s.9042311.0.0.6cbf4c4dbfM2qZ