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

Вот краткий обзор проекта:

Описание проекта:Использование библиотеки распознавание лиц для определения местоположения и кодировки лица в кадре и сравнения их с известными кодировками для распознавания людей в режиме реального времени.

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

Кроме того, давайте разделим проект на 2 части:

  • Создание кодировок лиц.Поиск местоположений и кодировок лиц с использованием загруженных изображений известных людей из Google и локальных изображений.
  • Распознавание лиц в режиме реального времени: сравнение лиц, найденных в кадре, с известными кодировками и поиск соответствия на основе этого

Создание кодировок лиц

Прежде чем мы сможем сопоставить лица, найденные в кадрах, нам нужно найти и сохранить кодировку лица в объекте, поскольку эта библиотека использует их для сравнения и сопоставления лиц.

«Для распознавания лиц алгоритм отмечает определенные важные параметры лица — например, цвет, размер и наклон глаз, промежуток между бровями и т. д. Все это в совокупности определяет кодировку лица — информацию, полученную из изображения, — которая используется для идентификации конкретного лица».

Мы можем использовать этот пример кода:

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

Распознавание лиц в реальном времени

Для распознавания людей в реальном времени нам пришлось бы открывать источник камеры, чтобы постоянно захватывать кадры и находить в них все лица. Затем эти лица будут преобразованы в кодировки, которые будут использоваться для сопоставления их с известными лицами путем нахождения «расстояния» или разницы. Наконец, вы получите имя человека, используя целое число индекса, которое вы получили после сравнения кодировок. Используйте этот пример кода:

Вывод

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

Этот код был протестирован на Humanoid — Shelbot на базе Raspberry Pi 4 (один из моих текущих проектов).

Полный код этого проекта можно найти здесь.

Обо мне

Github: https://github.com/LakshBhambhani

LinkedIn: https://www.linkedin.com/in/lakshbhambhani/

Лакш Бхамбхани является студенческим послом в программе Inspirit AI Student Ambassadors. Inspirit AI — это довузовская программа повышения квалификации, которая знакомит любознательных старшеклассников со всего мира с ИИ через живые онлайн-классы. Узнайте больше на https://www.inspiritai.com/.