model "SSD-Inception-v2" is niet geinstalleerd Het model is wel geinstalleerd.
 
model "SSD-Inception-v2" is niet geinstalleerd
Het model is wel geinstalleerd (voorbeeld 2)
 
 
 
 
Het model zit in deze map
 
Het model zit in deze map

Running the Live Camera Detection Demo                          terug naar de inleiding

realtime objecten detecteren en localiseren met de camera.

Hier wordt ook gebruik gemaakt van een objecten detectie netwerk (DetectNet).

De videobeelden worden realtime gedetecteerd door het opstarten van:

jetson-inference/build/aarch64/bin/detectnet-camera.py

De commandline argumenten die allemaal optioneel zijn

1) --network vlag die verwijst naar het detectie model. Als default wordt --network=ssd-mobilenet-v2 gebruikt.

2) --overlay vlag met door comma's gescheiden opties box, labels, conf, en non. (default is: --overlay=box, labels, conf)

3) --alfa waarde de alfa waarde van de kleur in de box. (default alfa=120)

4) --threshold waarde, hiermee geef je de minimale drempel voor het gedetecteerde object aan (default --threshold=0.5)

5) --camera vlag voor het type camera (default =  --camera=0 voor de MPI CSI camera dit is de raspberry pi (RPI) V2 camera)

6) en 7) --width en --height vlaggen van de camera resolutie (default is dit 1280x720)

 

Voorbeelden

1)  ./detectnet-camera.py

2)  ./detectnet-camera.py --network=ssd-inception-v2

       Het model zit in de map:  build/aarch64/bin/networks/SSD-Inception-v2
       Tijdens de eerste start van het script wordt het bestand:  ssd_inception_v2_coco.uff.1.1.GPU.FP.16.engine aangemaakt.
       Het bestand ssd_coco_labels.txt bevat de namen van de gedetecteerde objecten .

       Enkele namen heb ik in het Nederlands vertaald en dit werkt goed.

3)  ./detectnet-camera.py --width=640 --height=480

 
De broncode van detectnet-camera.py
 
 

import jetson.inference 
import jetson.utils 
 
import argparse 
import sys 
 
# parse the command line 
parser = argparse.ArgumentParser(description="Locate objects in a live camera stream using an object detection DNN.",  
                           formatter_class=argparse.RawTextHelpFormatter, epilog=jetson.inference.detectNet.Usage()) 
 
parser.add_argument("--network", type=str, default="ssd-mobilenet-v2", help="pre-trained model to load (see below for options)") 
parser.add_argument("--overlay", type=str, default="box,labels,conf", help="detection overlay flags (e.g. --overlay=box,labels,conf)\nvalid combinations are:  'box', 'labels', 'conf', 'none'") 
parser.add_argument("--threshold", type=float, default=0.5, help="minimum detection threshold to use")  
parser.add_argument("--camera", type=str, default="0", help="index of the MIPI CSI camera to use (e.g. CSI camera 0)\nor for VL42 cameras, the /dev/video device to use.\nby default, MIPI CSI camera 0 will be used.") 
parser.add_argument("--width", type=int, default=1280, help="desired width of camera stream (default is 1280 pixels)") 
parser.add_argument("--height", type=int, default=720, help="desired height of camera stream (default is 720 pixels)") 
 
try: 
    opt = parser.parse_known_args()[0] 
except: 
    print("") 
    parser.print_help() 
    sys.exit(0) 
 
# load the object detection network 
net = jetson.inference.detectNet(opt.network, sys.argv, opt.threshold) 
 
# create the camera and display 
camera = jetson.utils.gstCamera(opt.width, opt.height, opt.camera) 
display = jetson.utils.glDisplay() 
 
# process frames until user exits 
while display.IsOpen(): 
    # capture the image 
    img, width, height = camera.CaptureRGBA() 
 
    # detect objects in the image (with overlay) 
    detections = net.Detect(img, width, height, opt.overlay) 
 
    # print the detections 
    print("detected {:d} objects in image".format(len(detections))) 
 
    for detection in detections: 
        print(detection) 
 
    # render the image 
    display.RenderOnce(img, width, height) 
 
    # update the title bar 
    display.SetTitle("{:s} | Network {:.0f} FPS".format(opt.network, net.GetNetworkFPS())) 
 
    # print out performance info 
    net.PrintProfilerTimes()