Оглавление:
- Шаг 1. Доступ к веб-камере
- Шаг 2: Идентификация лица
- Шаг 3: Сбор данных
- Шаг 4: Обучение
- Шаг 5: Распознавание лиц
- Шаг 6: Программирование Arduino
Видео: Распознавание и идентификация лиц - Идентификатор лица Arduino с использованием OpenCV Python и Arduino: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Распознавание лиц AKA Face ID - одна из важнейших функций мобильных телефонов в наши дни.
Итак, у меня возник вопрос «Могу ли я иметь идентификатор лица для моего проекта Arduino», и ответ - да …
Мое путешествие началось следующим образом:
Шаг 1. Доступ к веб-камере
Шаг 2: Идентификация лица.
Шаг 3: Сбор данных
Шаг 4: Обучение
Шаг 5: Распознавание лиц
Шаг 6: Программирование Arduino
Я объясню все шаги ниже. Я надеюсь, что это вам поможет.
Шаг 1. Доступ к веб-камере
Первым шагом к распознаванию лиц было получение доступа к камере или компьютерному зрению. Поскольку Индия находится под изоляцией, самым дешевым решением, которое я нашел, было использование веб-камеры моего компьютера, к которой у меня был доступ с помощью программы Python, использующей модуль openCV.
Вы могли подумать, что такое OpenCV, не так ли?
OpenCV (Open Source Computer Vision Library) - это библиотека программного обеспечения для компьютерного зрения и машинного обучения с открытым исходным кодом. OpenCV был создан для обеспечения общей инфраструктуры для приложений компьютерного зрения и для ускорения использования машинного восприятия в коммерческих продуктах.
Если на вашем компьютере установлен Opencv, то все в порядке. В противном случае выполните этот шаг.
откройте командную строку и введите «pip install opencv».
Предупреждение: вы можете получить сообщение об ошибке, поскольку «pip не распознается как внутренняя или внешняя команда». для которого вам нужно добавить путь к вашей установке pip в системную переменную PATH. Прочтите этот пост, он может вам помочь.
stackoverflow.com/questions/23708898/pip-i…
Как только OpenCV будет установлен, все готово … Чтобы проверить, правильно ли он установлен, откройте ваш интерпретатор Python и импортируйте библиотеку. См. Изображение выше, которое должно быть вашим результатом.
Загрузите файл Python «AccessTo_webcam.py» и запустите его. Я сделал там все необходимые комментарии.
Итак, теперь у вас есть доступ к веб-камере. Отличная работа. перейдем к шагу 2.
Шаг 2: Идентификация лица
с помощью того же модуля OpenCV мы должны определить, есть ли в видеопотоке лицо или нет.
OpenCV предоставляет метод обучения или предварительно обученные модели, называемые каскадным классификатором. Предварительно обученные модели находятся в папке данных в установке OpenCV. Я предоставляю этот файл, просто скачайте его и поместите в папку вашего проекта. Папка, в которой хранится файл «AccessTo_webcam.py». Если вы еще не создали его, сделайте это.
Загрузите «haarcascade_frontalface_default» и поместите его в основную папку проекта.
Скачайте «Face_identification.py» и поместите его в основную папку проекта. В нем даются все объяснения.
Теперь вы можете идентифицировать лица в видеопотоке. Итак, приступим к шагу 3.
Шаг 3: Сбор данных
Чтобы распознавать лица, нам нужно обучить нашу программу на Python. Для чего нам нужны некоторые данные.
Сбор данных - это, пожалуй, самый простой шаг в этом проекте. создайте папку с именем «image_data» в основной папке проекта. Внутри папки image_data создайте дополнительные папки с именем человека, в которых мы будем хранить данные. Например:
В папке «image_data» я создал еще две папки с именами «HRK» и «Yahiya». как показано на изображении выше.
Теперь создайте свои собственные папки и назовите их.
Как только папки будут созданы, начните собирать изображения этого конкретного человека. Я рекомендую собирать около 20 изображений на человека. Вы также можете добавить больше изображений, но следите за тем, чтобы данные, собранные для всех людей, содержали одинаковое количество изображений. Это помогает обеспечить точность.
вот и все, теперь перейдем к шагу 4.
Шаг 4: Обучение
Вкратце, мы пройдемся по всем папкам и изображениям, которые присутствуют в папке «image_data», и создадим словарь, который будет содержать идентификатор метки и соответствующее имя. Одновременно мы загрузим изображение для обнаружения лица на каждом изображении, которое мы называем «Область интереса», и создадим файл «.yml», содержащий эту информацию.
Предполагая, что у вас есть данные, собранные для лиц X и Y.
мы пометим человека X как 1, который будет его идентификатором ярлыка, а имя будет само X. Мы загружаем изображение, чтобы найти его лицо, то есть интересующую область, и добавляем данные в список.
аналогичные шаги будут выполнены для человека Y. И, наконец, мы создадим файл «.yml».
Загрузите файл «face_trainer.py» и поместите его в основную папку проекта. Все необходимые объяснения содержатся в самом файле.
Когда вы запустите эту программу, она просмотрит все изображения и создаст два файла с именами «labels.pickle» и «trainner.yml». Теперь вы обучили свою собственную модель. Итак, приступим к шагу 5.
Шаг 5: Распознавание лиц
Если вы выполнили все шаги правильно, возможно, вы создали свои собственные обученные данные. Теперь мы будем использовать эти данные для распознавания лиц.
В основном мы загружаем наши обученные модели в файл python, получаем доступ к нашей веб-камере, определяем лица в видеопотоке и выполняем сравнение или прогнозирование между текущим лицом, которое идентифицировано в видеопотоке, и моделью, которая была обучена. если данные совпадают, то мы говорим, что человек признан, это так просто …
Скачайте "face_recognise.py" и запустите. В нем представлена вся необходимая информация. Теперь ваше лицо, возможно, узнали. если точность невысока, попробуйте обновить данные. Если у вас все в порядке, то давайте перейдем к шагу 6 /
Шаг 6: Программирование Arduino
Последний и последний шаг - это программирование Arduino и обеспечение режима связи между python и Arduino. Для связи я использовал «Последовательное соединение». Просмотрите видео, на которое я ссылаюсь выше, чтобы узнать, как работает последовательная связь, и установить ее. Вы найдете все необходимые файлы в описании видео.
Если вы просмотрели видео, позвольте мне объяснить вам, что я сделал. Когда мое лицо распознается, предоставляется идентификатор метки 2. Как только идентификатор метки равен 2, я отправлю «1» в качестве последовательных данных на свой Arduino. Что включит мою схему светодиодного чейзера. Если идентификатор метки отличается от 2, я отправлю «0» в качестве последовательных данных, что отключит мою схему светодиодного чейзера.
Загрузите файл "ard_chaser.ino". Это простая программа поиска светодиодов, использующая последовательную связь.
Просто загрузите "face_recogniser1.py", который установит последовательную связь между Arduino и программой python.
Вот и все. Я надеюсь, что вы узнали что-то новое. Подпишитесь на мой канал на YouTube, чтобы узнать больше о Python и Arduino. Поделитесь этим, если вам это понравилось. Продолжайте поддерживать.
Спасибо.
Рекомендуемые:
Распознавание лиц на Raspberry Pi 4B за 3 шага: 3 шага
Обнаружение лиц на Raspberry Pi 4B за 3 шага: в этом руководстве мы собираемся выполнить обнаружение лиц на Raspberry Pi 4 с помощью Shunya O / S, используя библиотеку Shunyaface. Shunyaface - это библиотека распознавания / обнаружения лиц. Проект направлен на достижение максимальной скорости обнаружения и распознавания с помощью
Обнаружение, обучение и распознавание лиц Opencv: 3 шага
Обнаружение, обучение и распознавание лиц Opencv: OpenCV - это библиотека компьютерного зрения с открытым исходным кодом, которая очень популярна для выполнения основных задач обработки изображений, таких как размытие, смешивание изображений, улучшение изображения, а также качество видео, установление пороговых значений и т. Д. В дополнение к обработке изображений, это пров
Распознавание лиц OpenCV: 4 шага
Распознавание лиц Opencv: распознавание лиц - довольно распространенная вещь в наши дни, во многих приложениях, таких как смартфоны, многие электронные устройства. Этот вид технологии включает в себя множество алгоритмов и инструментов и т. Д., Которые используют некоторые встроенные встроенные платформы SOC, такие как Raspberry
Распознавание лиц в реальном времени: комплексный проект: 8 шагов (с изображениями)
Распознавание лиц в реальном времени: сквозной проект: в моем последнем руководстве по OpenCV мы изучили АВТОМАТИЧЕСКОЕ ОТСЛЕЖИВАНИЕ ОБЪЕКТОВ ВИДЕНИЯ. Теперь мы будем использовать нашу PiCam для распознавания лиц в режиме реального времени, как вы можете видеть ниже: Этот проект был выполнен с помощью этой фантастической «Библиотеки компьютерного зрения с открытым исходным кодом»
Распознавание лиц + распознавание: 8 шагов (с изображениями)
Обнаружение лиц + распознавание: это простой пример запуска обнаружения и распознавания лиц с помощью OpenCV с камеры. ПРИМЕЧАНИЕ: Я СОЗДАЛ ДАННЫЙ ПРОЕКТ ДЛЯ КОНКУРСА СЕНСОРОВ И ИСПОЛЬЗОВАЛ КАМЕРУ В КАЧЕСТВЕ СЕНСОРА ДЛЯ ОТСЛЕЖИВАНИЯ И РАСПОЗНАВАНИЯ ЛИЦ. Итак, наша цель В этом сеансе: 1. Установить Anaconda