2.3 Experiment 3: Tracking van een koffiekopje op de randen van een A4
Hiervoor werd een pre-trained model (op de COCO dataset) gebruikt die TV’s, stoelen, personen, computermuizen en koffiekopjes kan herkennen. De samera werd op een statief geplaatst op 2 meter hoogte. Een film met beeldgrootte 1920 x 1080 werd opgenomen.
Real time tracking
In de track_2.py file werden aanpassingen gedaan (ivm. de track.py file) om het product ID in de coco dataset weer te geven en het X en Y centrum van de bounding box. Source = '1' werd als mogelijkheid toegevoegd om het gebruik van een externe webcam mogelijk te maken.
!python track_2.py --source 1 --show-vid --save-txt --save-vid --yolo_weights yolov5/weights/yolov5s.pt
Tracking op een vooraf opgenomen film.
In de track_3. py file werden enkel het product ID in de coco dataset en X en Y centrum van de bounding box weergegeven in de TXT output.
!python track_3.py --source WIN_20211105_09_16_53_Pro.mp4 --save-vid --yolo_weights yolov5/weights/yolov5s.pt --save-txt
Preliminaire analyse van de Locaties.
De hoeken van het A4 blad werden gedefinieerd als POS1, POS2, POS3 en POS4. Om de locatie van het koffiekopje te mappen aan de locatie in het beeld werd y getransformeerd naar 1080 - y. Omdat op een grafiek is het snijpunt met X en Y-as (links onder) het nulpunt. Bij inlezen van een foto is de hoek links boven het nulpunt.
Grafiek met de middelpunten van de bounding box.
Grafiek in overlay van de screenshot
Definiëren van de locaties
Op basis van de beelden werden 4 posities gedefinieerd met volgende locaties (in pixels)
Bepalen van de positie van het koffiekopje
Voor elk datapunt werd de afstand naar elk van de POSx bepaald en de dichtste POSx behouden.
Het veranderen van de POSitie van het koffiekopje kan als volgt weergegeven worden waarbij de Y-as de tijd (in seconden) is waarop het koffiekopje op een bepaalde positie stond.
Nauwkeurigheid van de positiebepaling
Binnen elke positie werd de variabiliteit van de centers van de bounding box bepaald.
De posities dichter bij de camera (POS1 en POS2) werden nauwkeuriger gemeten dan de posities verder weg. de standaard deviaties komen in de werkelijkheid overeen met 1 a 2 cm.
Moest de camera bovenaan de frigo geplaatst worden op e.g. 5 meter hoogte dan zou de positiebepaling op basis van deze eerste test tot op een 10 cm nauwkeurig kunnen zijn.