def main(): args = parse_args() if args.category_num <= 0: raise SystemExit(f'ERROR: bad category_num ({args.category_num})!') if not os.path.isfile(args.model): raise SystemExit(f'ERROR: file {args.model} not found!') # Process valid coco json file process_valid_json(args.valid_coco) if args.write_images: if not os.path.exists(args.image_output): os.mkdir(args.image_output) # Create camera for video/image input cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') class_dict = get_cls_dict(args.category_num) yolo_dim = (args.model.replace(".trt", "")).split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit(f'ERROR: bad yolo_dim ({yolo_dim})!') w, h = int(dim_split[0]), int(dim_split[1]) else: h = w = int(yolo_dim) if h % 32 != 0 or w % 32 != 0: raise SystemExit(f'ERROR: bad yolo_dim ({yolo_dim})!') # Create yolo trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) if args.activate_display: open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', cam.img_width, cam.img_height) visual = BBoxVisualization(class_dict) # Run detection loop_and_detect(cam, trt_yolo, args, confidence_thresh=args.confidence_threshold, visual=visual) # Clean up cam.release() if args.activate_display: cv2.destroyAllWindows()
def main(): args = parse_args() cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') mtcnn = TrtMtcnn() open_window( WINDOW_NAME, 'Camera TensorRT MTCNN Demo for Jetson Nano', cam.img_width, cam.img_height) loop_and_detect(cam, mtcnn, args.minsize) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() labels = np.loadtxt('googlenet/synset_words.txt', str, delimiter='\t') cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') # initialize the tensorrt googlenet engine net = PyTrtGooglenet(DEPLOY_ENGINE, ENGINE_SHAPE0, ENGINE_SHAPE1) open_window(WINDOW_NAME, 'Camera TensorRT GoogLeNet Demo', cam.img_width, cam.img_height) loop_and_classify(cam, net, labels, args.crop_center) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.model.split('_')[-1]) trt_ssd = TrtSSD(args.model, INPUT_HW) open_window(WINDOW_NAME, 'Camera TensorRT SSD Demo', cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_ssd, conf_th=0.3, vis=vis) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() labels = np.loadtxt('googlenet/synset_words.txt', str, delimiter='\t') cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') open_window( WINDOW_NAME, 'Camera TensorRT GoogLeNet Demo', cam.img_width, cam.img_height) condition = threading.Condition() trt_thread = TrtGooglenetThread(condition, cam, labels, args.crop_center) trt_thread.start() # start the child thread loop_and_display(condition) trt_thread.stop() # stop the child thread cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() cam = Camera(args) if not cam.get_is_opened(): raise SystemExit('ERROR: failed to open camera!') cuda.init() # init pycuda driver cls_dict = get_cls_dict(args.model.split('_')[-1]) open_window(WINDOW_NAME, 'Camera TensorRT SSD Demo', cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) condition = threading.Condition() trt_thread = TrtThread(condition, cam, args.model, conf_th=0.3) trt_thread.start() # start the child thread loop_and_display(condition, vis) trt_thread.stop() # stop the child thread cam.release() cv2.destroyAllWindows()