Отслеживание и распознавание лиц с помощью Ардуино

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Проект на основе платы Ардуино Микро по итогам которого мы получим устройство способное отслеживать и распознавать лица.

Вступление

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

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

Как это работает

Функциональность проекта, довольно проста, но требует небольшого изучения.

Arduino Micro получает информацию об объекте через WiFi-модуль, в этом случае SparkFun Breakout Board CC3000 от TI. Связь осуществляется через клиентский сервер сокетов UDP: приложение в мобильном телефоне отправляет необходимые данные (размер кадра и положение для горизонтального и вертикального серво) в микроконтроллер, чтобы она могла выполнять вычисления с переданной информацией и передавать изменения на сервоприводы, в данном случае только горизонтальные.

Итого нашего проекта по распознаванию и отслеживанию лиц с помощью Ардуино вы сможете увидеть в видео на последнем шаге.

Комплектующие

Набор компонентов для проекта по распознаванию лиц не велик. Главную роль здесь играет правильное приложение.

Аппаратная часть

  • Плата Arduino Micro & Genuino Micro ? 1
  • Адаптер SparkFun WiFi CC3000 ? 1
  • SparkFun SO5NF STD ? 1

Приложения и программы

Схема соединения

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

Код

Скачать или скопировать код проекта вы можете ниже.

Скачать raspoznavanie-lic.ino

#include <avr/delay.h>  /* servo libs - Библиотека серво-привода */  #include "_Servo.h"  /* WiFi libs - Библиотека WiFi */  #include "CC3000.h"  #include "CC3000_Client.h"  #include "common.h"    Servo servo_x;  Servo servo_y;    void setup()  {  	/* код настройки */  	ConnectionInfo connection_info;  	  	// Инициализация CC3000 (конфигурируем SPI соединение)  	#ifdef CC3000_DEBUG  		Serial.begin(115200);  	#endif  	  	// Инициализация CC3000 (конфигурируем SPI соединение)  	if(!wifi.init(9)) {  		#ifdef CC3000_DEBUG  		DEBUGPRINTLN(PSTR("Initialize CC3000 FAIL! ОШИБКА!"));  		#endif  		return;  	}    	else {  		//FreeRam();  		#ifdef CC3000_DEBUG  			DEBUGPRINTLN(PSTR("Initialize CC3000 OK!"));  		#endif  	}    	if(!wifi.connect(ap_ssid, ap_security, ap_password, timeout))   	{  		#ifdef CC3000_DEBUG  			DEBUGPRINTLN(PSTR("Error: Could not connect to AP!"));  		#endif  	}  	  	  	// Собираем сведения о соединении и печатаем IP-адрес  	if(!wifi.getConnectionInfo(connection_info) )  	{  		#ifdef CC3000_DEBUG  		DEBUGPRINTLN(PSTR("Error: Could not obtain connection details"));  		#endif  		return;  	}  	  	else  	{  		#ifdef CC3000_DEBUG  		DEBUGPRINT(PSTR("IP Address: "));  		printIPAddr(connection_info.ip_address);  		#endif  	}    	pin_mode(SERVO_PIN_X, OUTPUT);    // declare the LED's pin as output  	pin_mode(SERVO_PIN_Y, OUTPUT);    // declare the LED's pin as output    	servo_x.attach(SERVO_PIN_X);  	servo_y.attach(SERVO_PIN_Y);    	// center servos  	servo_x.write(SERVO_CENTER_X);  	servo_y.write(SERVO_CENTER_Y);    	_delay_ms(200);  }    void loop()  {	  }  

Итоговый результат

Вариант реализации устройства по отслеживанию и распознаванию лиц на Ардуино смотрите в видео ниже.

На этом всё. Хороших вам изобретений.


Источник: arduinoplus.ru

Комментарии: