Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Система распознавания и слежения за лицами на Arduino

Распознавание лиц (face detection)

В данном проекте я совместил детектор распознавания лиц (face detection) и следящую (tracking system) систему.

Вкратце суть проекта: вебкамера, установленная на поворотном механизме подключена к компьютеру под управлением операционной системы Windows и с установленным программным обеспечением OpenCV. Если программа обнаруживает в поле зрения вебкамеры лицо, то вычисляется центр лица. Координаты X и Y передаются в контроллер Arduino, который подключен к компьютеру по USB. В свою очередь, контроллер Arduino по принятым командам управляет двумя сервомоторами: по координате X и по координате Y, т.о. обеспечивается следящая система.

Библиотеку OpenCV (Open Source Computer Vision Library) можно скачать здесь. Библиотека мультиплатформенная, в настоящее время существует под следующие ОС: Windows, Linux, Android, Mac OS и даже iOS. Библиотека обеспечивает обработку изображений в режиме реального времени. Написана на С/С++.

Т.о. данный проект представляет собой смесь soft и hard решений. Обработка изображения ведется на компьютере, а управление серво осуществляется при помощи контроллера.

Итак, что я использовал для проекта:

Программное обеспечение:
Arduino IDE 1.0 for Windows
OpenCV 2.3.1 SuperPack For Windows
Microsoft Visual C++ 2010 Express SP1
Serial C++ Library for Win32 (от Thierry Schneider)

Железо:
компьютер с ОС Windows 7 SP1
Arduino Uno или совместимый + БП
2 сервопривода
USB вебкамера

Итак, поехали.

Шаг 1. Установка программного обеспечения

1) Если у вас ОС Windows, то скачайте файл OpenCV-2.3.1-win-superpack.exe (или более позднюю версию) и установите библиотеку.

2) Скачайте и установите Microsoft Visual C++ 2010 Express. Если у вас 64-битная версия Windows, то также необходимо будет скачать Windows SDK (но для 64 версии могут быть проблемы, я так и не смог заставить работать OpenCV под Windows 7 x64).

Процесс настройку OpenCV для Visual C++ читайте на официальном сайте.

Шаг 2. Крепление камеры и сервомоторов

Крепление вебкамеры

Я не стал делать конструкцию "долговечной", потому как после достижения конечной цели я все разбираю для следующего проекта.
Вебкамеру я прикрепил к сервомотору оси Х, а его, в свою очередь закрепил на сервомоторе оси Y. И всю эту конструкцию закрепил в струбцине от "третьих рук".

Функциональная схема детектора

Шаг 3. Подключение

Подключение сервомоторов:
Желтый вывод от серво оси Х подключается к выводу 9 контроллера Arduino
Желтый вывод от серво оси Y подключается к выводу 10 контроллера Arduino
Красный вывод Vcc от серво подключается к выводу 5V
Черный вывод GND от серво подключается к выводу GND контроллера Arduino

Подключение вебкамеры:
Вебкамера подключается к компьютеру по USB интерфейсу. Программа C++ идентифицирует вебкамеру по номеру USB-порта. Возможно, потребуется указать порт в программе.

Подключение контроллера Arduino UNO:
Контроллер также подключается к компьютеру через USB-интерфейс. В системе появляется виртуальный COM-порт, который необходимо внести в код программы на C++.

Оригинал статьи

Прикрепленные файлы:

Теги:

Колтыков А.В. Опубликована: 2011 г. 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (8) | Я собрал (0) | Подписаться

0
Sfdag #
Прикольненько, очень интересный проект на Arduino, но хотелось бы подобное сделать на Atmega16 или 128, но на последней, наверное чуть ли не робота можно создать с таким количеством ножек.
Ответить
0
александр #
Классная схема. Еще бы придумать схему распознавания отпечатков пальцев.
Ответить
0
Исследовательская лаборатория #
Для данной задачи используется не оправданно мощная плата.
Если использовать данные моторы, то с поставленной задачей свободно справиться тини или Atmega16 или даже 8.
Но лучше намного использовать более точеные моторы и программно контролировать ускорение, чтобы камера практически не дрожала.
Ответить
0
Вован #
Очень интересный проект, решился сам сделать. Но вот беда: при попытке использования программы для компа пишет:
1>c:\users\vladimir\documents\visual studio 2010\projects\dsdfdd\dsdfdd\dsdfdd.cpp(17): fatal error C1083: Не удается открыть файл включение: Tserial.h: No such file or directory
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Эта ошибка исправится при подключении сервоприводов или же всё дело в программе?
Ответить
0
Бонита #
А можно ли это на windows 8 делать?
Ответить
0
Влад #
Можно ли как то обойтись без пк, только на ардуино или другой автономной системой?
Ответить
0
Mihail #
Raspbery pi. Одноплатные ПК тебе в помощь
Ответить
0
plotny #
Когда в папку с ино записать этот файл techbitarFaceDetection.cpp, то при проверке пишет ошибку: sketch\techbitarFaceDetection.cpp:8:43: fatal error: opencv2/objdetect/objdetect.hpp: No such file or directory.
А без этого файла проверку проходит даже atmega8
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Ветрогенератор Конструктор: DDS генератор сигналов
вверх