Coding Your Own Object Detection Program                               terug naar de inleiding

Het coderen van een object detectie programma

In dit programma worden geen commandline argumenten gecodeerd. Alle instellingen zijn een onderdeel van het programma

1)  de modules importeren

import jetson.inference
import jetson.utils
 
2)  het detectie model laden

     net is een object van het type detectNet

     net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)

3)  camera object creeren en initieeren van het type gstCamera

     camera = jetson.utils.gstCamera(1280, 720, "0")

4)  display object creeren van het type glDisplay

     display = jetson.utils.glDisplay()    #display komt in een while loop die blijft draaien zolang IsOpen() true is

     while display.IsOpen():

De volgende coderegels 5, 6 en 7 zijn een onderdeel van de while loop  (of main loop)

5) camera beelden vangen (Camera Capture) 

     img, width, height = camera.CaptureRGBA()    #CaptureRGBA() is een methode van de class gstCamera

6) het detecteren van de objecten

    Detect is een methode van de class detectNet

    detections = net.Detect(img, width, height)

7) rendering dwz het resultaat tonen

    RenderOnce en SetTitle zijn methodes van de class glDisplay

    display.RenderOnce(img, width, height)

    display.SetTitle("Object Detection | Network {:.0f} FPS".format(net.GetNetworkFPS()))

 

 De code van het programma   deze in een editor copieeren , een naam geven bijv objdet.py en opslaan

het programma uitvoeren met het commando:    python objdet.py

 

import jetson.inference 
import jetson.utils 
 
net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5) 
camera = jetson.utils.gstCamera(1280, 720, "0") 
display = jetson.utils.glDisplay() 
 
while display.IsOpen(): 
    img, width, height = camera.CaptureRGBA() 
    detections = net.Detect(img, width, height) 
    display.RenderOnce(img, width, height) 
    display.SetTitle("Object Detection | Network {:.0f} FPS".format(net.GetNetworkFPS()))