Пятница, 10 августа 2018 12:00

Распознавание лица на Raspberry Pi с помощью Amazon Rekognition.

Оцените материал
(1 Голосовать)

 

Вы хотите сделать вход в «своё тайное логово» с используя только лицо? Этот проект позволит Вам использовать распознавание лиц с помощью Pi и AWS.

 

Используемые части.

Софт

Amazon Web Services Rekognition - Для Rekognition доступен бесплатный тариф.

 

Основы

Распознавание лица строиться на использовании AWS и Pi-Timolo.

Raspberry Pi Camera Night Vision Camera Adjustable-Focus Module 5MP

 

Описание

Pi-детектор используется с Pi-Timolo  для поиска движения на видео изображении, для распознавания и совпадений лиц, путем использования AWS Rekognition. В текущем состоянии совпадения записываются в event.log. При желании Вы можете отправить уведомление или разрешить/запретить доступ в комнату с минимальными изменениями. Скрипт установки поместит соответствующие файлы в /etc/rc.loal для запуска при загрузке.

 

Требование к конструкции

  • Raspberry Pi (или аналогичные платы)
  • Picamera
  • AWS Rekognition Access (доступен бесплатный тариф)

В качестве альтернативы, этот набор скриптов может быть изменен для просмотра любой директории, содержащей изображения. Например, если вы собираете изображения с другой камеры и сохраняете их на диск, вы можете изменить путь к изображению, чтобы запустить распознавание лица против любой созданной новой фотографии.

 

AWS Rekognition

Перед установкой лучше всего организовать работу AWS. Для моего проекта я использую услугу AWS Free Tier. Использование этого тарифа позволяет вам 5000 вызовов API в месяц, что вполне хватит для этого проекта. Войдите в свою консоль и создайте нового пользователя IAM, у которого есть права администратора на Rekognition.

Это можно найти после нажатия на пользователя под управлением IAM

Просмотр групп пользователей.

Групповой просмотр пользователя в IAM Management

Если Вам нужна помощь в этом шаге, вот ссылка. То, что вам нужно сделать, это скопировать ваши aws_access_key_id и aws_access_key_secret. Чтобы получить эту информацию, перейдите на вкладку «учетные данные безопасности / security credentials» (со страницы пользователей IAM, как показано на изображениях выше). Если это ваш первый раз, вам, возможно, придется создать новый секрет. Вам будет предложена эта информация после запуска скрипта установки.

После того, как Ваш пользователь имеет доступ к Rekognition, убедитесь, что Вы установили свой регион на US-East, потому что он является одним из немногих, которые предлагают услуги Rekognition. Чтобы изменить регионы, перейдите в EC2, Rekognition или любую другую услугу и посмотрите в верхнем правом углу.

Регионы, которые поддерживают Rekognition

 

Установка

Установите Rasbian по инструкции.

SSH в Ваш Raspberry Pi (или подключить его к монитору и войдите с помощью pi в качестве имени пользователя и raspberry в качестве пароля). Не забудьте изменить указанный ниже IP-адрес на IP-адрес Вашего pi. Если Вам нужна помощь в поиске в сети, используйте nmap (nmap -sn 192.168.1.0/24)

  • ssh Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Скопируйте это repo и установите:

git clone https://github.com/robotoss/Pi-Detector.git
cd pi-detector/scripts 
sudo chmod +x install.sh 
sudo ./install.sh 

Во время установки вам будут предложено указать Ваши учетные данные aws, которые Вы установили ранее. Когда Вас спросят, введите свой идентификатор секретного ключа AWS, секретный ключ доступа AWS и установите регион, мы выбрали us-east-1 (выбирайте регион, который вы выбрали, когда ранее устанавливали AWS Rekognition). Пример вывода будет выглядеть примерно так, как показано на рисунке ниже:

Это будет представлено во время установки

 

Начнем

Во-первых, Вам нужно создать новую коллекцию в AWS Rekognition. Создание коллекции «home» будет выглядеть так:

cd pi-detector/scripts 
python add_collection.py -n 'home' 

Затем добавьте свои изображения в папку pi-detector / faces. Чем больше изображений человека, тем лучше результаты для обнаружения. Я бы порекомендовал несколько разных поз в различном освещении.

cd pi-detector/faces 
python ../scripts/add_image.py -i 'image.jpg' -c 'home' -l 'Tom' 

Лучший вариант что я смог найти это сделать фотографии в той же области, где будет размещена камера, и с помощью Picam. Если Вы хотите сделать так же, я создал небольшой скрипт python для съемки фотографии с задержкой в 10 секунд, с сохранением в папку pi-detector / faces. Чтобы использовать скрипт:

cd pi-detector/scripts 
python take_selfie.py 

После завершения Вы можете вернуться и переименовать файл и повторить описанные выше шаги, чтобы добавить изображения в AWS Rekognition. Создав новую коллекцию или добавив новое изображение, два справочных файла будут созданы в качестве ссылки в будущем. Они будут полезны, если в будущем вы планируете удалить изображения или коллекции.

На этом этапе установка готова к работе. Вы можете настроить Wi-Fi на свой Rpi и поместить камеру в своем доме, где Вы хотите. Как только Вы подключите Rpi, он должен начать работать без дополнительных действий от пользователя. Чтобы проверить Ваши журналы, просто используйте ssh в Rpi и проверьте папку event.log для ссылки на ваши обнаружения.

Чтобы удалить лицо из своей коллекции, используйте следующее:

cd pi-detector/scripts 
python del_faces.py -i '000-000-000-000' -c 'home' 

Если Вам нужно найти идентификатор изображения или имя коллекции, укажите файлы faces.txt и collections.txt.

Чтобы удалить коллекцию:

cd pi-detector/scripts 
python del_collections.py -c 'home' 

Обратите внимание, что вышеизложенное также удалит все лица, которые вы сохранили в AWS.

Последний скрипт - facematch.py. Если у Вас есть обновленные изображения и вы просто хотите проверить статические фотографии на лицах, которые вы сохранили на AWS, выполните следующие действия:

cd pi-detector/scripts 
python facematch.py -i 'tom.jpg' -c 'home' 

Результаты будут выведены на экране, чтобы включить процент сходства и уверенности.

 

Финал

facial recognition puv0L3USXC

Я буду работать над добавлением сервопривода в этот проект, чтобы открыть дверной замок. Как только все будет работать я выложу вторую часть проекта.

https://github.com/robotoss/Pi-Detector

Источник

Author

Bender

Я поделюсь с тобой всеми знаниями, которые доступны мне.

Комментарии (0)

There are no comments posted here yet

Оставьте свой комментарий

  1. Posting comment as a guest. Sign up or login to your account.
Вложения (0 / 3)
Share Your Location

О нас

Основой деятельностью портала является показ и объяснение что представляет собой выражени "Робот", "Робототехника", "Законы робототехники", "Мехатроника", "Искусственный интеллект(ИИ)". 

 Если у Вас есть интересная информация по тематике сайта и Вы готовы ей поделиться, - обращайтесь на емайл через форму обратной связи. И мы опубликуем Вашу статью