Kunstmatig zicht: kennismaking met deze interessante discipline

kunstmatige visie kunstmatige herkenning

Arduino lijkt misschien erg rudimentair, maar het is meer dan genoeg om zelfs behoorlijk geavanceerde projecten te maken. Met behulp van enkele bestaande modules op de markt, zoals cameramodules, en met behulp van enkele bibliotheken of API's, kunt u uw project voorzien van intelligentie of kunstmatige visie. Dat geeft nieuwe toepassingen en nieuwe horizonten voorbij de rudimentaire projecten.

Machinevisie is een vorm van computervisie. Het is niet simpelweg het vastleggen van het beeld met een digitale camera, maar het gaat verder. kan gebruikt worden voor gegevens uit de omgeving halen, verwerk het beeld, analyseer het, begrijp beelden van de echte wereld, enz. Het kan bijvoorbeeld worden gebruikt om numerieke informatie via de camera te verkrijgen, mensen te herkennen, enz. Stel je voor wat je hier allemaal mee zou kunnen doen...

Waar wordt machinevisie voor gebruikt?

kunstmatige visie kunstmatige herkenning

door voorbeeld bekijken, zijn veel huidige vision-systemen gebaseerd op dit type vision, zoals sommige voertuigen die automatisch parkeren, omgevingskartering, verkeerscontrolesystemen op wegen mogelijk maken, of voetgangers herkennen om het voertuig te stoppen en er niet overheen te rijden, gezichten herkennen en gegevens verkrijgen van de mensen geregistreerd in een database zoals in sommige beveiligingssystemen, video's analyseren, enz.

Het potentieel van deze kunstmatige visie is zo extreem dat overheden en grote bedrijven Ze gebruiken het voor een groot aantal doeleinden, legaal of niet. Enkele praktische toepassingsgebieden die u zeker kent zijn:

  • Facebook: Het gebruikt dit soort kunstmatige visie voor de foto's die naar zijn sociale netwerk worden geüpload, op deze manier kan het gezichten herkennen door middel van complexe algoritmen. Op die manier kunt u uw AI voeden om deze krachtiger te maken en te verbeteren voor andere toekomstige toepassingen.
  • Flickr: U kunt deze machinevisie gebruiken om 3D-scènes te reconstrueren met behulp van beeldopslagplaatsen van dit platform.
  • Industrie: met kunstmatige zichtsystemen is het mogelijk om defecten in een lopende band op te sporen, objecten met defecten snel weg te gooien, enz. Wanneer het fruit dat in de landbouwsector wordt verzameld bijvoorbeeld over een lopende band wordt vervoerd, kan een kunstmatige zichtsensor gebroken, beschadigd, rot fruit of voorwerpen die geen fruit zijn detecteren om ze te verwijderen door middel van een luchtstraal of andere mechanismen.
  • Camera bewaking: Het kan in veel beschermde centra worden gebruikt om bepaalde voertuigen of mensen vast te leggen, erachter te komen wie ze zijn en deze informatie naar een systeem te sturen of te registreren voor latere analyse. Zelfs veel bedrijven gebruiken het om erachter te komen hoe mensen zich kleden (modesector), bepaalde entiteiten om erachter te komen wie bij demonstraties zou kunnen zijn geweest, de aanwezigheid van verdacht personeel in openbare of drukke centra te detecteren, enz.

Houd er rekening mee dat er momenteel een groot aantal bewakingscamera's van allerlei soort verspreid over de straat zijn, of ze nu bedrijven, banken, de DGT, enz. veel informatie wordt van ons allemaal verzameld...

Benodigd materiaal

OpenCV-logo

Naast het Arduino-bord met de microcontroller die je kunt programmeren en die gebruik maakt van bibliotheken, je zal moeten ook andere basiselementen voor uw project. Onder hen natuurlijk een module met een camera die in staat is tot beeldverwerking. Een voorbeeld hiervan is de Pixy CMUCam 5 of soortgelijk. Deze module heeft een krachtige processor die kan worden geprogrammeerd om door de sensor vastgelegde informatie te verzenden via de seriële poort UART, SPI, I2C, digitale uitgang of analoge signalen.

Met de Pixy CMUCam 5 kun je tot 50 frames of frames per seconde (50 FPS) verwerken. Met deze mogelijkheden kan het worden geprogrammeerd om alleen de afbeeldingen te verzenden waarnaar u wilt of moet zoeken, in plaats van constant alle video op te nemen die het vastlegt. Voor eenvoudiger gebruik heeft het een gratis en open source applicatie noemen elfje voor uw controle.

Pixy 2 CMUcam 5

Als u besluit deze Pixy CMUcam5-camera aan te schaffen, wordt deze geleverd met een 6-pins naar 10-pins IDC-kabel en bevestigingsmateriaal. tevens de technische kenmerken van de module zijn:

  • NXP LPC4330 204 Mhz DualCore-processor.
  • 254 Kb RAM-geheugen,
  • 140mA verbruik.
  • Omnivision OV9715 1/4″ beeldsensor en 1280×800 resolutie.
  • Kijkhoek van 75º horizontaal en 47º verticaal.
  • Eenvoudige beeldherkenning om objecten te lokaliseren.
  • Je kunt het gebruiken met Arduino-kaarten (met specifieke bibliotheken), Raspberry Pi, BeagleBone Black en andere soortgelijke kaarten.
  • Communicatiepoorten: SPI, I2C, UART, USB of analoge/digitale uitgang.
  • PixyMon-software compatibel met Windows, macOS en GNU/Linux.
  • Verkleind formaat.
  • Documentatie beschikbaar op de project Wiki.
  • Github-repository's met de bibliotheek voor Arduino.
  • firmware
  • Tutorials

Daarnaast moet je er rekening mee houden dat je een ander type tot je beschikking hebt API's, bibliotheken en meer materiaal die u kunnen helpen bij het maken van allerlei soorten projecten met behulp van deze camera's en kunstmatig zicht. Het is bijvoorbeeld noodzakelijk om te benadrukken:

  • OpenCV: is een gratis computer vision-bibliotheek die oorspronkelijk is ontwikkeld door Intel. Het is nu uitgebracht onder de BSD-licentie en kan door iedereen worden gebruikt voor bewegingsdetectie, objectherkenning, robotvisie, gezichtsherkenning, enz. Het is platformonafhankelijk, dus het kan worden gebruikt op GNU/Linux, macOS, Windows en Android.
  • Andere projecten, zoals voertuig detectie.

Vanuit Hwlibre moedig ik je aan om te beginnen ervaren en leren over deze discipline...

Eenvoudig voorbeeld van integratie van Pixy 2 CMUcam5 met Arduino

Arduino-bord compatibel met sensoren voor Arduino

Om hiervan gebruik te maken Pixy 2 CMUcam5-module met je Arduino-bord, waarvoor je verschillende extra elementen moet gebruiken. Dat kan bijvoorbeeld gebruik een servomotor S06NF, of gelijk, zodat deze reageert wanneer de camera een object detecteert waarvoor u deze hebt geprogrammeerd. Natuurlijk moet je de PixyMon-software downloaden die ik hierboven noemde en de GitHub-bibliotheek voor Arduino.

Meer Arduino-programmeerinformatie, dat kan download onze pdf met de gratis cursus.

Eens je hebt PixyMon geïnstalleerd in uw besturingssysteem is het volgende om deze stappen te volgen:

  1. Sluit de Pixy aan met de USB-kabel en controleer of de RGB-LED van de module brandt, wat aangeeft dat deze goed werkt.
  2. Open de PixyMon-app en als alles klopt zie je wat de camera op dit moment vastlegt.
  3. ga naar submenu Actie of Actieen klik vervolgens op Handtekening instellen of Handtekening instellen. De video zou nu moeten bevriezen en u kunt selecteren welke kleur of welk object u wilt dat de camera detecteert wanneer deze zich voor de sensor bevindt. U kunt bijvoorbeeld een bal gebruiken. Op deze manier wordt elke keer dat de bal voor de sensor passeert, deze gedetecteerd.
  4. Zoals je kunt zien, is er maximaal 7 handtekeningensets, zodat u maximaal 7 verschillende objecten kunt configureren die de camera kan detecteren.
  5. Als je er maar één kiest, kun je doorgaan naar de volgende stap. Of als u een object uit de lijst wilt verwijderen, gaat u naar het menu Actie of Actie en vervolgens Alles verwijderen De handtekeningen of kies Specifieke handtekening verwijderen. U kunt zelfs naar Configuratie gaan en vervolgens naar de specifieke handtekening gaan die u wilt wijzigen om deze te wijzigen….

Pixy aangesloten op Arduino

Nu kunt u verder gaan met het configureren van uw bord Arduino, Als je dat wil. Hiervoor weet je al dat je de Pixy-bibliotheek voor Arduino moet gebruiken. Deze bibliotheek bevat ook eenvoudige voorbeelden waarmee u kunt experimenteren zonder helemaal opnieuw code te hoeven schrijven. Gewoon ze openen en deze schetsen uitvoeren of wijzigingen aanbrengen om te zien hoe ze zich gedragen. Om deze bibliotheek te verwijderen, kunt u deze stappen volgen.

  1. Ontladen de bibliotheek voor Arduino.
  2. opent Arduino IDE.
  3. Ga naar schets, inclusief bibliotheek en vervolgens Bibliotheek .zip toevoegen en selecteer degene die je hebt gedownload.
  4. Nu wordt het geïntegreerd, dat kan begin met het testen van een voorbeeld met de camera correct aangesloten op uw Arduino-bord. Ga hiervoor naar het menu Voorbeelden of Voorbeelden, vervolgens naar Pixy en selecteer er een. Ik raad je aan om te beginnen met Hallo Wereld.
  5. Met je Arduino-bord verbonden door USB naar pc, upload de schets naar je board, selecteer Tools en dan Serial Monitor.
  6. Nu begint het venster u informatie te tonen.

Natuurlijk vergeet niet alle elektronische componenten aan te sluiten je hebt je Arduino-bord nodig, inclusief de camera zelf. Je weet al dat het is aangesloten op de Arduino ISCP-pinnen voor deze modules, zoals te zien is in de afbeelding...


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.