Objecten herkennen – Geef jouw computer een digitaal oog met A.I.

Objecten herkennen met je computer.

Kijk eens goed in het rond en noem 3 dingen op die je in de omgeving ziet. Dat is best makkelijk is het niet?, jij kan zo een aantal dingen benoemen bij naam is makkelijk voor mensen maar dit is lastig voor een computer. In ons hoofd labelen wij dingen en weten daardoor wat we ermee kunnen of wat we ermee moeten doen.

Een beker heb je in veel soorten en maten en we drinken daaruit op bewaren pennen in een mok. Probeer een computer dat maar eens wijs te maken.  Een computer kan daarentegen weer heel goed rekenen, sneller dan de meeste mensen en heb het ook altijd goed.

In deze post gaan we een begin maken met object herkenning voor computers. We leiden de computer op tot dat deze objecten herkend die we hebben aangeleerd.

Wat heb je nodig?

Voor deze opstelling gebruiken we een Windows 10 pro computer en een aantal programma`s waar ik je doorheen help tijdens deze post. Deze post is wel bedoeld voor mensen met enige kennis van computers. Om het zo gemakkelijk mogelijk te maken zal ik linken naar de tekst zetten die je nodig hebt om goed object herkenning te kunnen toepassen.

De computer gereed maken voor object herkenning.

Als eerst hebben we python nodig, dit is niet standaard bij iedereen aanwezig en daarom ga ik er vanuit dat je het nog niet hebt. Als je dit wel hebt geïnstalleerd kun je dit overslaan.
Installeer Python

Volg de stappen en kies ervoor om systeem parameters aan te maken, dit heb je later nodig.

Als python is geïnstalleerd dan kan je in een command prompt het volgende typen:
“python”  Druk vervolgens op Enter.
Python zal nu openen in de opdrachtprompt.

Reactie:
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

Nu hebben we Pip nodig, een programma dat versies en pakketten voor ons bijhoud en installeert in python.
Installeren is vrij simpel

Download het hier:    Download Pip install
Zet dit in een map ik raad aan dit op een map op het bureaublad te zetten zodat je het makkelijk terug vind.

Open de Windows Explorer (bestandsmap) waar je het get-pip.py bestand hebt neergezet.
klikentypcmdKlik waar ik de ster heb getekend en typ dan in de balk die leeg wordt gemaakt “cmd” voor comand prompt.
typ daarna het volgende commando in.
python get-pip.py

 

Wat doet dit?
Het command prompt opent vanaf de locatie waar je de Explorer vandaan hebt gehaald. Een handig trucje dat ik vaak gebruik als ik niet helemaal naar een map wil navigeren met command prompt. Deze opent namelijk in de map waar we toch al bezig waren, bekijk je prompt maar.  C:\users\username\Downloads is dit in mijn geval.

TIP: Krijg je een foutmelding met als foutcode [Errno 13] Permission denied  probeer dan je cmd te openen als Administrator.

Als alles goed gaat zie je dit of iets soortgelijks.
Successfully installed pip-20.0.2

Nu we Pip hebben geïnstalleerd gaat het leuke werk beginnen. Nu word het werk zichtbaar voor ons en dat doen we met behulp van Luminoth.
typ het volgende commando in command prompt.

pip install luminoth

Als het goed gaat kun je verder. Als er fouten komen dan mis je waarschijnlijk nog iets. De volgende stap is het clonen van een Git. Dit doen we met het commando git clone. Deze is ook niet standaard op Windows aanwezig en git kun je hier downloaden

Zodra Git is geïnstalleerd kun je door met het clonen van de Git.  (Git is een versie beheer voor ontwikkelaars van software). Hierdoor kunnen ze werken aan een nieuwe versie terwijl er versies beschikbaar blijven voor het publiek.

Start het Git programma “Git cmd” dat je net hebt geïnstalleerd. Er opent nu een zwart venster met de naam Git cmd.

Voer de stappen uit die ik heb doorlopen. (geel gemarkeerd)

De laatste pip install command is helaas niet goed te zien in de printscreen dit moet zijn: 
pip install -e .

Als je dit ziet dan is het gelukt: Successfully installed luminoth

Open nu een nieuw cmd venster en typ het volgende in. We gaan de computer nu vragen welke getrainde modellen deze al heeft. Omdat we het net hebben geïnstalleerd is er nog niets.

typ in een nieuw cmd venster het volgende commando:
lumi checkpoint list

Er komt nu een schema uit:
================================================================================
| id | name | alias | source | status |
================================================================================
| e1c2565b51e9 | Faster R-CNN w/COCO | accurate | remote | NOT_DOWNLOADED |
| aad6912e94d9 | SSD w/Pascal VOC | fast | remote | NOT_DOWNLOADED |
================================================================================

Het belangrijkste dat we zien in dit overzicht is NOT_DOWNLOADED dat gaan we nu meteen doen. Je kan hier kiezen uit 2 sets.
– Faster R-CNN
– SSD
In de tabel zie je dat Faster een alias heeft van accurate. wat betekend precies. Deze set probeert het beste resultaat te krijgen zodat deze minder fouten maakt bij het labelen van elementen in de foto.  SSD daar in tegen is gelabeld met fast. dit betekend dat deze sneller is maar minder goed in labelen. Deze optie is vaak beter als je veel data in korte tijd wilt labelen en genoegen neemt met een minder goede inschatting.

Voor nu kies is voor de Faster Rcnn: dan typ ik het volgende commando:
lumi download checkpoint e1c2565b51e9           het dikgedrukte deel is het ID van de checkpoint die ik erin zet.

Als het goedgaat krijg je deze output:
Downloading checkpoint… [####################################] 100%
Importing checkpoint… done.
Checkpoint imported successfully.

Nu komen we bij de laatste stap het starten van de webserver. dit is een ingebouwde schil die het heel visueel maakt wat er allemaal gebeurt.
Als je nog niet heel erg bekend bent met object herkenning is dan is dit een goed begin om te ontdekken hoe dit werkt.

typ het volgende comando om de webserver te starten:
lumi server web

nu komt er een heleboel output maar laat dit scherm open want als je het sluit dan stopt de webserver weer.

als je nu een webbrowser (firefox, internet explorer of chrome) opent en naar de volgende link gaat:
Klik hier voor de link

Je kan hier een een foto van jezelf uploaden en dan kan je zien hoe de computer dit bekijkt en labelt.

zie hier mijn uitvoer:
jetski-object

 

In een ander artikel zullen we zelf ons eigen model trainen om met object herkenning een eigen object te trainen die de computer met deze set nog niet kan zien.

Ik hoop dat iedereen hier veel aan heeft en voor vragen verwijs ik je door naar de reacties.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.