Program der kan finde Kasper på billeder
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
labels_pascalvoc
labels_yolo
.gitignore
README.md
bbox_label_tool.py
eksempel.JPG
labeling.gif
shrink_images.py

README.md

Find Kasper

Niveau: let øvet

Dette repository indeholder kode til at finde min søns hundebamse på billeder. Hundebamsen hedder Kasper.

Du kan naturligvis skifte hundebamsen ud med hvad du vil, men lad os antage at det er Kasper du gerne vil finde på billeder. Her er et billede af Kasper.

Kasper

Første skridt er, at indsamle en masse billeder af Kasper. Vi skal bruge cirka 300 billeder af Kasper i forskellige situationer. I mappen images finder du en masse billeder af Kasper, som min søn har taget.

Næste skridt er, at markere hvor Kasper er placeret på hvert billede. For at træne en algoritme skal vi bruge en markering (labels) for hvert sted hvor Kasper optræder i et billede. Vi bliver nødt til at oprette markeringerne i hånden. For at algoritmen kan lære at finde Kasper på billeder, bliver du nødt til at være ret præcis når du angiver markeringerne. Jeg anbefaler, at du bruger programmet https://github.com/tzutalin/labelImg til at oprette labels.

Labeling

I programmet vælger du om labels skal gemmes i enten PascalVOC format eller YOLO format. Vælg PascalVOC hvis du vil bruge Google's TensorFlow senere og YOLO hvis du vil bruge Joseph Redmons YOLO model. I denne tutorial går vi vores egne veje, men vi kan fint bruge det simple YOLO format.

Det er nemmeste at træne neurale netværk på et fast input data, f.eks. billeder i størrelsen 224x224 eller 400x600. Da vores billeder af Kasper er i lidt forskellige formatter, vil det være nyttigt hvis vi først skærer dem til, så de har samme dimensioner. Det er også en fordel hvis vi gør billederne mindre, for så er der færre pixels som netværket skal tage stilling til. Lige nu er billederne i både højt og bredt format, og det skal vi ændre på før vi kan fortsætte.

Fortsættelse følger...

Hvis du vil bruge dine egne billeder

Følg tjeklisten herunder.

  • Tag 300 billeder af en bestemt ting, som du vil kunne genkende. Billederne skal være i JPEG format og gemmes i mappen 'images_raw'.
  • Kør python shrink_images.py, hvilket gør billederne mindre og kopierer dem til mappen 'images'.

TensorFlow Object Detection API

Vi kan benytte TensorFlows object detection API til det. Denne fremgangsmåde er baseret på følgende walk-throughs:

Andre gode resourcer: