Распознавание и отслеживание лиц
при помощи Arduino и OpenCV
В этом проекте я собрал распознаватель лиц для системы слежения. В основном, веб-камера передает видео кадры в OpenCV, работающей на Windows PC. Если OpenCV обнаруживает лицо, оно будет отслеживать его и вычислить X, Y координаты. Координаты затем передаются в Arduino через последовательный порт USB.
Arduino управляет движением веб-камеры с помощью двух сервомашинок поворота / наклона, чтобы следовать за распознанным лицом. OpenCV (Open Source Computer Vision Library ) представляет собой библиотеку с открытым исходным кодом , который включает в себя несколько сотен в реальном времени алгоритмов компьютерного зрения. Это проект интеграции между аппаратными и программными средствами. C ++ примеры кода для обработки изображений предоставляются с библиотекой OpenCV. Все, что я сделал, изменил образец кода. Удалил часть ненужного кода и добавил последовательную передачу данных к нему, чтобы он мог отправить X, Y значения для Arduino.
ИНСТРУМЕНТЫ
Необходимое программное обеспечение
Arduino IDE 1.0 для Windows ,
OpenCV 2.3.1 SuperPack Для Windows
Microsoft Visual C ++ 2010 Express с пакетом обновления 1
Библиотека Серийный C ++ для Win32 (Тьерри Шнайдер)
Требуется код
- OpenCV C ++ (прилагается) techbitarFaceDetection.cpp (основано на примере facedetect.cpp OpenCV в)
- cam_servo.ino Arduino (на основе Райан Оуэнса пример SerialServoControl.pde)
Необходимое оборудование
- PC предпочтительно работающего под управлением Windows 7 SP1. Чем быстрее процессор, тем лучше.
- Arduino Uno или совместимый + источник питания.
- Стандартные сервоприводы X 2.
- Веб-камера ж /к интерфейс UBS.
- Макетная плата.
- Перемычки и провода.
- Провод, чтобы связать панорамирование / наклон сервоприводов и веб-камеры вместе.
Проблемы при установке и интеграции
1) Загрузите и установите OpenCV-2.3.1
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/
2) Загрузите и установите Microsoft Visual C ++ 2010 Express
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/
Документация установки OpenCV объясняет , как осведомить Visual C ++ о файлах поддержки OpenCV ( в том числе, бен, и т.д.). Особое внимание должно быть уделено тому , что Visual C ++ должен быть настроен на распознавание OpenCV файлов.
Подключите сервоприводы и камеру
Я завернул основание веб-камеры к лотку качалки. Затем я обернул трос вокруг АПУ и корпусом поддона сервопривода. Чтобы сохранить всю сборку серво / веб-камера от движения в случайном порядке во время работы, использовал зажим, чтобы связать его с низом. Он продолжал устойчиво во время вращения сервопривода.
Подключение частей
Я использовал макетку, чтобы сделать соединения.
СЕРВОПРИВОДЫ
Провод желтый / сигнал для панорамирования (ось X) сервопривод переходит к цифровому выводу 9.
Провод желтый / сигнал для наклона (ось у) сервопривод переходит к цифровому контакту 10.
Красный / Vcc провода обоих сервоприводов перейти к 5V контакту Arduino.
Черные / GND провода обоих сервоприводов перейти к GND контакту Arduino .
ВЕБ-КАМЕРА
USB веб-камера идет к компьютеру. Код C ++ будет определять его через число, представляющее порт USB, подключенный к нему.
ARDUINO
Arduino Uno подключается к компьютеру через USB. Можно использовать COM порт при USB подключении. Вы можете найти COM-порт из меню Инструменты Arduino / последовательные порты. Вы увидите галочку рядом с активным портом USB. Это COM порт, который вы будете использовать в своем коде C ++ для связи с Arduino. Вы должны изменить код C ++ , чтобы он соответствовал скорости передачи данных в ПК с Arduino. Кроме того , код C ++ должен сообщать USB порту что веб - камера используется.
Ресурсы которые надо посетить
Отслеживание лица с Pan / Tilt Servo кронштейна zagGrad
http://www.sparkfun.com/tutorials/304
Arduino + Servo + OpenCV Учебник [openFrameworks]
http://www.creativeapplications.net/tutorials/arduino-servo-opencv-tutorial-openframeworks
OpenCV 2.3.1 и Visual Studio 2010
http://www.deveature.com/2011/11/24/opencv-2-3-1-and-visual-studio-2010/
Начало работы с OpenCV 2.3 в Microsoft Visual Studio 2010 в ОС Windows
http://siddhantahuja.wordpress.com/2011/07/18/getting-started-with-opencv-2-3-in-microsoft-visual-studio-2010-in-windows-7-64-bit
OpenCV 2.1.0 с Visual Studio 2010
http://blog.aguskurniawan.net/post/OpenCV-210-with-Visual-Studio-2010.aspx