Оглавление:
- Шаг 1. Вещи, которые вам нужны
- Шаг 2: Opencv-Intro и установка
- Шаг 3. Обнаружение и распознавание лица в видео в реальном времени
- Шаг 4: запуск кода
Видео: Распознавание лиц OpenCV: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Распознавание лиц в наши дни является довольно распространенным явлением во многих приложениях, таких как смартфоны, многие электронные гаджеты. Этот вид технологии включает в себя множество алгоритмов и инструментов и т. Д., Которые используют некоторые встроенные встроенные платформы SOC, такие как Raspberry Pi и компьютерное зрение с открытым исходным кодом. библиотеки, такие как OpenCV, теперь вы можете добавить распознавание лиц в свои собственные приложения, такие как системы безопасности.
В этом проекте я расскажу вам, как создать распознавание лиц с помощью Raspberry Pi, и мы использовали arduino + Lcd для отображения имени человека.
Шаг 1. Вещи, которые вам нужны
1. малиновый PI
2. ARDUINO UNO / NANO
ЖК-ДИСПЛЕЙ 3,16x2
4. РАСПИ-КАМЕРА / ВЕБ-КАМЕРА (для лучших результатов я предпочитаю веб-камеру)
Шаг 2: Opencv-Intro и установка
OpenCV (библиотека компьютерного зрения с открытым исходным кодом) - очень полезная библиотека - она предоставляет множество полезных функций, таких как распознавание текста, распознавание лиц, обнаружение объектов, создание карт глубины и машинное обучение.
Эта статья покажет вам, как установить Opencv и другие библиотеки на Raspberry Pi, которые пригодятся при обнаружении объектов и других проектах. Оттуда мы узнаем, как выполнять операции с изображениями и видео, выполняя проект распознавания объектов и машинного обучения. В частности, мы напишем простой код для обнаружения лиц на изображении.
Что такое OpenCV?
OpenCV - это библиотека программного обеспечения для компьютерного зрения и машинного обучения с открытым исходным кодом. OpenCV выпущен под лицензией BSD, что делает его бесплатным как для академического, так и для коммерческого использования. Он имеет интерфейсы C ++, Python и Java и поддерживает Windows, Linux, Mac OS, iOS и Android. OpenCV был разработан для обеспечения вычислительной эффективности и сосредоточения внимания на приложениях реального времени.
Как установить OpenCV на Raspberry Pi?
Чтобы установить OpenCV, нам нужно установить Python. Поскольку Raspberry Pis предварительно загружен с Python, мы можем установить OpenCV напрямую.
Введите приведенные ниже команды, чтобы убедиться, что ваш Raspberry Pi актуален, и обновить установленные пакеты на вашем Raspberry Pi до последних версий.
sudo apt-get updatesudo apt-get upgrade
Введите следующие команды в терминал, чтобы установить необходимые пакеты для OpenCV на Raspberry Pi.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Введите следующую команду, чтобы установить OpenCV 3 для Python 3 на Raspberry Pi, pip3 сообщает нам, что OpenCV будет установлен для Python 3.
sudo pip3 установить opencv-contrib-python libwebp6
Теперь OpenCV должен быть установлен.
(если возникли какие-либо ошибки: все же вы можете сделать это, перейдя по ссылке ниже
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Теперь не торопитесь, нужно проверить, правильно ли он установлен.
Проверьте свой opencv:
1. зайдите в свой терминал и введите "python"
2. затем введите «import cv2».
3. затем введите "cv2._ version_".
затем установите эти библиотеки
pip3 установить python-numpy
pip3 установить python-matplotlib
Тестовый код для обнаружения лиц на изображении:
импорт cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('ваше имя файла') #example cv2.imread ('home / pi / Desktop / filename.jpg')
вы получите результат, как будто квадратные прямоугольники образовались на лицах людей, изображенных на картинке.
Шаг 3. Обнаружение и распознавание лица в видео в реальном времени
импорт cv2
импортировать numpy как np
импорт ОС
импортный серийный номер
ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 может измениться в вашем случае, зависит от Arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
распознаватель = cv2.face.createLBPHFaceRecognizer ()
images =
label =
для имени файла в os.listdir ('Dataset'):
im = cv2.imread ('Набор данных /' + имя файла, 0)
images.append (im)
label.append (int (filename.split ('.') [0] [0]))
#print filename
names_file = open ('labels.txt')
имена = файл_именов.read (). split ('\ n')
распознаватель.train (изображения, np.array (метки))
печать 'Обучение завершено… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # ваше видеоустройство
lastRes = '' count = 0
в то время как (1):
_, frame = cap.read ()
серый = cv2.cvtColor (рамка, cv2. COLOR_BGR2GRAY)
Faces = faceCascade.detectMultiScale (серый, 1,3, 5)
count + = 1
для (x, y, w, h) в гранях:
cv2.rectangle (рамка, (x, y), (x + w, y + h), (255, 0, 0), 2)
если count> 20: res = names [распознаватель.predict (серый [y: y + h, x: x + w]) - 1]
если res! = lastRes:
lastRes = res
печать lastRes
ser.write (lastRes)
count = 0
перерыв
cv2.imshow ('рамка', рамка)
k = 0xFF & cv2.waitKey (10)
если k == 27:
перерыв
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Шаг 4: запуск кода
1. Загрузите файлы, прикрепленные на предыдущем шаге.
2. скопируйте серые фотографии (6 изображений / образцов…..) в папку набора данных
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (номер изображения набора данных для более открытой папки набора данных)
2. Брэд Питт-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Лев-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
как указано выше, вы можете добавить ярлыки для соответствующих лиц,
поэтому, если пи обнаруживает какое-либо лицо среди 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, то оно было обозначено как Том Круз, поэтому будьте осторожны при загрузке фотографий ………………
а затем подключите ваш arduino к вашему raspberry Pi и внесите изменения в main.py codeser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. поместите все загруженные файлы (main.py, папка набора данных, haarcascade_frontalface_default.xml в одной папке.)
3. Теперь откройте Raspi-terminal, запустите свой код с помощью "sudo python main.py"
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Обнаружение, обучение и распознавание лиц Opencv: 3 шага
Обнаружение, обучение и распознавание лиц Opencv: OpenCV - это библиотека компьютерного зрения с открытым исходным кодом, которая очень популярна для выполнения основных задач обработки изображений, таких как размытие, смешивание изображений, улучшение изображения, а также качество видео, установление пороговых значений и т. Д. В дополнение к обработке изображений, это пров
Распознавание и идентификация лиц - Идентификатор лица Arduino с использованием OpenCV Python и Arduino: 6 шагов
Распознавание и идентификация лиц | Идентификатор лица Arduino с использованием OpenCV Python и Arduino. Распознавание лиц AKA Face ID - одна из самых важных функций мобильных телефонов в настоящее время. Итак, у меня возник вопрос: «Могу ли я иметь идентификатор лица для моего проекта Arduino?» и ответ - да … Мой путь начался следующим образом: Шаг 1: Доступ к нам
Распознавание лиц ESP32 CAM с поддержкой MQTT - Мыслитель ИИ: 4 шага
Распознавание лиц ESP32 CAM с поддержкой MQTT | AI-Thinker: Здравствуйте! Я хотел поделиться своим кодом для проекта, где мне нужно было иметь ESP CAM с распознаванием лиц, который мог бы отправлять данные в MQTT. Так хорошо … после, может быть, 7 часов просмотра нескольких примеров кода и поиска того, что к чему, у меня все готово
Распознавание лиц + распознавание: 8 шагов (с изображениями)
Обнаружение лиц + распознавание: это простой пример запуска обнаружения и распознавания лиц с помощью OpenCV с камеры. ПРИМЕЧАНИЕ: Я СОЗДАЛ ДАННЫЙ ПРОЕКТ ДЛЯ КОНКУРСА СЕНСОРОВ И ИСПОЛЬЗОВАЛ КАМЕРУ В КАЧЕСТВЕ СЕНСОРА ДЛЯ ОТСЛЕЖИВАНИЯ И РАСПОЗНАВАНИЯ ЛИЦ. Итак, наша цель В этом сеансе: 1. Установить Anaconda