Ansiktsigenkänning och spårning med Arduino och OpenCV



uppdateringar

  • 20 feb 2013: Som svar på en fråga från student Hala Abuhasna om du vill använda klassen .NET seriell, använda namnkonventionen "\\\.\\COMn" och ersätt n med en nummer > 9 definiera com-porten för COM-portar över 9 som COM10, COM11, etc.
  • 23 mar 2012: Skisserat på Adafruits blogg
  • 23 mar 2012: Med på interaktiv Design
  • December 13, 2011: Med på Floss för vetenskap

Denna guide kommer också att fortsätta på min blogg http://techbitar.blogspot.com/2012/04/face-detection-and-tracking-with.html

INTRODUKTION

I detta projekt har jag samlat ett ansikte identifiering och spårning system. Du kan se videon av slutliga projektet här:

I grund och botten sänder webkameran videobildrutor till OpenCV körs på en Windows-dator. Om OpenCV upptäcker ett ansikte kommer det spåra det och beräkna dess center's X-, Y-koordinater. Koordinaterna är sedan vidare till Arduino via en seriell USB-anslutning. Arduino kontroll av förflyttningar av webbkamera med hjälp av två pan/tilt servon följer det upptäckta ansiktet.

OpenCV (öppna dator Vision bibliotek: http://opencv.willowgarage.com/wiki/) är ett öppen källkod bibliotek som innehåller flera hundratals realtids dator vision algoritmer. OpenCV 2.x biblioteket är ett C++ API.

Detta är ett integrationsprojekt mellan hårdvara och mjukvara verktyg. Image processing C++ kodexemplen är försedda med openCV bibliotek och allt jag gjorde var att ändra exempelkoden för detta projekt. Jag tog bort några av onödiga koden och lagt till seriell kommunikation till det så att det kan skicka X, Y värden till Arduino.

KREDIT

Detta projekt skulle inte ha varit möjligt utan det team som utvecklade OpenCV. Jag gynnades också av Ryan Owens tutorial (http://www.sparkfun.com/tutorials/304) som bygger på en tidigare version av OpenCV bearbetning och OpenFrameworks. Jag försökte installera bearbetning och OpenFrameworks utan lycka. Så i stället, jag valde Microsoft Visual C++ 2010 Express och den senaste versionen av OpenCV som är 2.3.1 utan mellanprogram eller omslag.

VERKTYG

Programvara som krävs

Arduino IDE 1.0 för Windows
OpenCV 2.3.1 SuperPack för Windows
Microsoft Visual C++ 2010 Express SP1
Seriella C++-bibliotek för Win32 (av Thierry Schneider)

Koden krävs

-OpenCV C++ (bifogas) techbitarFaceDetection.cpp (baserat på Opencvs exempel facedetect.cpp)
-Arduino (bifogade) cam_servo.ino (baserat på Ryan Owens exempel SerialServoControl.pde)

Maskinvara som krävs

-PC helst kör Windows 7 SP1. Snabbare CPU desto bättre.
-Arduino Uno eller kompatibel + ström källa.
-Standard servon X 2.
-Webcam w/UBS gränssnitt.
-Skärbräda.
-Hoppare ledningar.
-Hobby tråd att knyta pan/tilt servon och webbkamera tillsammans.

Se Steg
Relaterade Ämnen

Hur man gör en elektronisk tärning med ARDUINO

Hey guys vi är tillbaka med en annan cool Arduino projekt för dig. I detta Instructable kommer jag visa dig hur man gör en elektronisk tärning med Arduino. Jag vet att du kommer att gilla den. Titta på videon.Steg 1: komponenter1. LED (7)2. IC 4017 (...

Realtid ansikte spårning Robot med Arduino och Matlab

Realtid ansiktsspårning avser uppgiften att lokalisera ansikten i en videoström och spårning hittas eller igenkända ansikten. Numera finns det många verkliga tillämpningar av ansiktsavkänning och andra tekniker för bildbehandling. Det finns många alg...

Vem är i kaffebryggaren? Ansiktsigenkänning med Raspberry Pi, OpenCV och Sigfox

IntroduktionHar du någonsin under hur ansiktsigenkänning fungerar? Har du hört talas om Sigfox? Gillar du hallon?I den här guiden kommer vi att utveckla en prototyp med en Raspberry Pi att känna igen ansikten med OpenCV och skicka Id för den igenkänd...

OBJEKTET identifiering och spårning med hjälp av OPENCV, VISUAL STUDIO C ++ 2010 och ARDUINO

IntroduktionI detta projekt skickar Webcam video ramar till Visual Studio C ++ som innehåller öppen CV biblioteket på vår dator.Om Visual Studio C ++ programmet upptäcker bilden av objektet från webbkameran och sedan beräknas de co koordinaterna X, Y...

Taligenkänning med Arduino och BitVoicer Server

I detta Instructable ska jag visa hur man använder en Arduino ombord och BitVoicer Server för att kontrollera några lysdioder med röstkommandon. Jag kommer att använda Arduino Micro i detta Instructable, men du kan använda en Arduino ombord du har ti...

Taligenkänning och syntes med Arduino

I min tidigare Instructable visade jag hur man styr ett par lysdioder med en Arduino ombord och BitVoicer Server. I detta Instructable ska jag göra saker lite mer komplicerat. Jag kommer också att syntetisera tal med Arduino DUEdigital till analog om...

Bänk PSU strömförsörjning från gamla ATX med Arduino och LCD-skärm

Hej alla och Välkommen till min första Instructable.Jag har alltid velat en bänk PSU för enkel åtkomst till en strömkälla, och något som jag kan lita på när du arbetar med olika projekt. Jag ville ha ett NÄTAGG som:• ger 12v och 5v 3.3V utgångar• ger...

Reparation och upcycle defekta torktumlare med Arduino

Efter att ha läst massor av i'bles från andra författare tror jag det är dags att bidra själv. Det handlar om en defekt torktumlare som jag reparerat ett år eller så sedan innan jag ens visste om Instructables. Så ledsen för den delvis suddiga och nå...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

En svävar sfär roterar lyser och blinkar med Arduino

En svävar lite Dödsstjärnan i Instructables bjöd in mig till det nya projektet med Arduino. Tre principer var beslutat och höll för att skilja den från föregångaren.Gör det själv med någon (eller mindre) färdiga.Hålla roterande.Göra glöd och blinka u...

BLDC Motor Control med Arduino, bärgades HD motor och hallgivare

det finns ett stort intresse dessa dagar bland hobbyister kontrollera borstlösa DC (BLDC) motorer, som har bättre prestanda och bättre energieffektivitet övertraditionella DC-motorer, är men svårare att använda. Många off-the-shelf produkter finns fö...

Multiplexering med Arduino och 74HC595

74HC595 är en lätt och billig (på cirka 60 cent styck) sätt att öka antalet digitala ut stiften på din Arduino. I denna tutorial ska jag visa dig hur man kör upp till 16 lysdioder med en 74HC595 med hjälp av en teknik som kallas multiplexing. I slutä...

Kontrollera allt och spara energi med Arduino

Jag använde detta för min egen mycket specifikt problem men det skulle kunna användas för någonting egentligen.Problemet:De flesta högtalare är inte smart, och så du måste stänga dem off manuellt, särskilt studio typ monitorhögtalare. På grund av det...

Mäta hastigheten på ljud med Arduino microcontroller och ultrasonic sensor

Min 6-åriga dotter, Kennet, visar hur man mäter ljudets hastighet i luft med Arduino Uno microcontroller och ultrasonic sensor.Jag tycker detta är ett bra projekt för barn att blir exponerade för vetenskap, teknik och matematik.Steg 1: Vi behöver 1....

Piano trappor med Arduino och Raspberry Pi

Vem älskar inte musik? Dessa Piano trappor är en interaktiv och relativt smidig musikaliska installation som kan tillämpas på i princip alla trapphus. Jag byggde dem för HackPrinceton tillsammans med mina vänner Erica Portnoy och Vincent Castaneda, o...

No.03 ratt köra R/C bil med Arduino, webbkamera och net. USB etc. Men detta är krypande och 4WS (4 hjulsstyrning)

denna bil No.03 använder liknande system som bil No.02, men olika chassi Crawler CR-01 tillämpas, som har tillval 2 servon system och som gör krabba-körning (4 hjul samma riktning) eller kort svängradie körning (fram och bakhjulen annan riktning) til...

Power övervakning med Arduino och logga in i Google blad

Sedan senaste veckorna tänkte jag på att göra ett projekt som kan hjälpa mig att hålla ett spår på min dagliga energi användningsområden. I detta projekt använder jag en 30A övervakning styrelse. denna styrelse har 6 strömsensor som kan läsa upp till...

Kontroll av en DC motor med Arduino och Visual Basic

Hej vänner detta är mitt första inlägg i instructables.com där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic.Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic.För att styra en...

GY-521 MPU6050 3 axel gyroskop och Accelerometer med Arduino

Denna video tutorial går över installation och konfiguration av en GY-521 styrelse med MPU6050 3 axel gyroskop och Accelerometer med en Arduino. Efter några inledande felsökning med kunde jag få komponent fungerar. Först hade jag problem med lös skär...