Gezicht detectie en tracking met Arduino en OpenCV


UPDATES

  • 20 februari 2013: In antwoord op een vraag van de student Hala Abuhasna wilt u de seriële .NET-klasse gebruiken, gebruiken de naamgevingsconventie "\\\.\\COMn" en n vervangen door een nummer > 9 te definiëren uw com-poort voor COM-poorten boven 9 zoals COM10, COM11, enz.
  • 23 Mar 2012: Featured op Adafruit van Blog
  • 23 Mar 2012: Featured op interactief ontwerp
  • 13 dec 2011: Featured op Floss For Science

Deze gids zal ook worden gehandhaafd op mijn blog http://techbitar.blogspot.com/2012/04/face-detection-and-tracking-with.html

INTRODUCTIE

In dit project heb ik een gezicht detectie en tracking systeem samengesteld. U kunt de video van het laatste project hier zien:

Kortom, de webcam stuurt videoframes aan OpenCV uitgevoerd op een Windows PC. Als OpenCV een gezicht detecteert het volgen en berekenen van X, Y-coördinaten van het middelpunt. De coördinaten worden vervolgens doorgegeven aan de Arduino via een seriële USB-verbinding. De Arduino bestuurt de beweging van de webcam met de hulp van twee pan/tilt servo's te volgen van het gedetecteerde gezicht.

OpenCV (Open Source Computer Vision Library: http://opencv.willowgarage.com/wiki/) is een open-source bibliotheek waarin honderden real-time computeralgoritmen visie. De bibliotheek OpenCV 2.x is een C++-API.

Dit is een integratieproject tussen hardware en software tools. De image processing C++ codevoorbeelden worden verstrekt met de openCV bibliotheek en alles wat ik deed was het aanpassen van de voorbeeldcode voor dit project. Ik deel van de overbodige code verwijderd en toegevoegd van seriële communicatie aan het zodat het X sturen kunt, Y waarden aan Arduino.

KREDIET

Dit project zou niet mogelijk zijn geweest zonder de ploeg die OpenCV ontwikkeld. Ik ook van Ryan Owens' tutorial (http://www.sparkfun.com/tutorials/304), die is gebaseerd op de verwerking, OpenFrameworks en een eerdere versie van OpenCV geprofiteerd. Ik probeerde te installeren verwerking en OpenFrameworks met geen geluk. Dus in plaats daarvan, heb ik voor Microsoft Visual C++ 2010 Express en de nieuwste versie van OpenCV oftewel 2.3.1 zonder middleware of wrappers gekozen.

HULPMIDDELEN

Software vereist

Arduino IDE 1.0 voor Windows
OpenCV 2.3.1 SuperPack voor Windows
Microsoft Visual C++ 2010 Express SP1
Seriële C++ Library for Win32 (door Thierry Schneider)

Code verplicht

-OpenCV C++ (bijgevoegd) techbitarFaceDetection.cpp (gebaseerd op de OpenCV voorbeeld facedetect.cpp)
-(Gekoppelde) cam_servo.ino Arduino (gebaseerd op Ryan Owens voorbeeld SerialServoControl.pde)

Hardware vereist

-PC bij voorkeur met Windows 7 SP1. De snellere CPU hoe beter.
-Arduino Uno of compatibel + macht bron.
-Standaard servo's X 2.
-Webcam w/UBS interface.
-Breadboard.
-Jumper draden.
-Hobby draad te binden pan/tilt servo's en een webcam samen.

Gerelateerde Artikelen

Face Tracking met verwerking en OpenCV

Face Tracking met verwerking en OpenCV

Computer-visie is ongelooflijk. Hierdoor computationele processen de kans om de wereld om hen heen te zien. Het is noodzakelijk voor een heleboel robotic toepassingen, machinaal leren of interactieve projecten. OpenCV is een opensource computer visie
Solar tracker met arduino uit elke dag materialen

Solar tracker met arduino uit elke dag materialen

Deze solar tracker modelbouw is zo eenvoudig dat er geen behoefte aan een volledig uitgerust laboratorium is om te maken. Eigenlijk deed ik het in mijn keuken! Aan de andere kant zijn de belangrijkste idee en software, zodat ik durven zou om ze te ge
De Oculus karton Project: DIY Virtual Reality pistool met Tracking met Arduino en de ESP8266

De Oculus karton Project: DIY Virtual Reality pistool met Tracking met Arduino en de ESP8266

Ik wilde altijd schiet dingen in virtuele werkelijkheid, maar ik ben brak, dus ik deed wat ik kon. Dit is mijn poging om een Oculus Rift stijl ervaring met Google karton. Dit is eigenlijk een erg leuk project en zijn zeer eenvoudig te repliceren. De
Real Time ' Face-Tracking Robot met Arduino en Matlab

Real Time ' Face-Tracking Robot met Arduino en Matlab

Real time ' face-tracking verwijst naar de taak van het opsporen van menselijke gezichten in een video-stream en bijhouden van de gedetecteerde of herkende gezichten. Er zijn tegenwoordig veel echte wereld toepassingen van gezichtsherkenning en ander
Beweging van de Tracker met PIRs, Arduino en een Servo

Beweging van de Tracker met PIRs, Arduino en een Servo

dit is mijn verzoek hoofd met behulp van vier PIRs (passieve infrarood sensoren), een Arduino Uno-board en een servo tracking.Het is een eenvoudige manier te geven de indruk dat het hoofd (birdy) eigenlijk beweging volgt.Het is een zeer eenvoudig pro
DIY handgemaakte Hexapod met arduino (Hexdrake)

DIY handgemaakte Hexapod met arduino (Hexdrake)

Hallo, ik ben David en in dit instructable zal ik u tonen hoe ik gemaakt deze hexapod hexapod wiens naam Hexdrake is.Sinds ik 16 was, raakte ik geïnteresseerd in elektronische en later in robotica. Interessant na zekere mate krijgen en programmeren m
Krabben met Arduino

Krabben met Arduino

MIT heeft een fantastische visuele programmeertaal genaamd Scratchontwikkeld. Het is ook een geweldig leermiddel voor kinderen, want het is eenvoudig, leuk, en door interactie met de echte wereld een bord 'Scratch Sensor Board' genoemd.Dit Instructab
Metalen Doctor Who Sonic schroevendraaier met Arduino

Metalen Doctor Who Sonic schroevendraaier met Arduino

Hoe machine / maken van een aangepaste sonic schroevendraaier uit aluminium met Arduino binnen.Dit Instructable documenteert de oprichting van twee aangepaste Sonic Schroevendraaiers voor twee zeer bijzondere mensen in mijn leven. Ze zijn enorm doenc
Manipit - IRONMAN JARVIS-achtige Hand Motion Tracking met geschilderde handschoenen

Manipit - IRONMAN JARVIS-achtige Hand Motion Tracking met geschilderde handschoenen

Note(May, 12, 2015) ***Als u niet kunt de video van het ingesloten bestand, kunt u het bekijken hier!********************************Heb je keek naar de film, "Iron Man"?In de film manipuleert Tony virtuele voorwerpen door zijn hand bewegingen.H
AtoZ van RC hobby + DIY radio met ARDUINO

AtoZ van RC hobby + DIY radio met ARDUINO

Wikipedia omschrijft RC-voertuig alsEen afstandsbediening voertuig is een voertuig dat op afstand wordt bestuurd door een betekent dat de beweging met een externe oorsprong niet tot het apparaat beperkt. Dit is vaak een bedieningsorgaan radio, kabel
Het gebruik van de Module van de Camera van de OV7670 met Arduino?

Het gebruik van de Module van de Camera van de OV7670 met Arduino?

Hier introduceerden we één module van de camera van de OV7670 net gekocht online, met inbegrip van de mededeling van de cameramodule en Arduino UNO, met behulp van de manieren om te nemen van de foto via cameramodule, enzovoort. Dit is een cameramodu
PuttDuino putt-putt gat met arduino

PuttDuino putt-putt gat met arduino

mijn bedrijf heeft jaarlijkse evenementen waar we allemaal samen te komen voor leuk - om te blazen stoom af en hebben een beetje concurrentie. In het verleden hebben we Softbal en bowling competities. Dit jaar iemand had een bron van inspiratie: elke
PIR-bewegingsdetector met Arduino: Bediend, laagste Power verbruiksmodus

PIR-bewegingsdetector met Arduino: Bediend, laagste Power verbruiksmodus

Deze video toont snel en gemakkelijke benadering van het stroomverbruik van de ATMEGA 328P te verlagen op basis van Arduino boards Arduino boards met ongeveer 70-75% met behulp van PIR of PID sensoren voor bewegingsdetectie.Dit project introduceert d
Gemotoriseerd, geluid reageren Star Wars At-St Bandai Model, met Arduino.

Gemotoriseerd, geluid reageren Star Wars At-St Bandai Model, met Arduino.

Gemaakt van Star Wars bij-St-Model van Bandai.Reageert op geluid en draait zijn hoofd naar toe.Gemaakt met Arduino Nano, een aangepast onderdeel van 3dprinted, microfoons, micro servo.Dit instructable is gemaakt om te delen van de wijzigingen die nod