def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) yolo_dim = args.model.split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % 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('ERROR: bad yolo_dim (%s)!' % yolo_dim) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', 640, 480) vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) vis = BBoxVisualization(cls_dict) h, w = get_input_shape(args.model) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num, args.letter_box) open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', cam.img_width, cam.img_height) msg_queue = Queue(maxsize=100) # msg_queue.put("0,0,0,-1".encode()) Thread(target=serArd, args=(msg_queue, )).start() loop_and_detect(cam, trt_yolo, msg_queue, conf_th=0.7, vis=vis) while True: pass cam.release() cv2.destroyAllWindows()
def main(): print(f"{datetime.datetime.now().isoformat()} start!", flush=True) args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) yolo_dim = args.model.split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % 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('ERROR: bad yolo_dim (%s)!' % yolo_dim) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) # open_window( # WINDOW_NAME, 'Camera TensorRT YOLO Demo', # cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis) cam.release()
def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) vis = BBoxVisualization(cls_dict) h, w = get_input_shape(args.model) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num, args.letter_box) mjpeg_server = MjpegServer(port=args.mjpeg_port) print('MJPEG server started...') try: loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis, mjpeg_server=mjpeg_server) except Exception as e: print(e) finally: mjpeg_server.shutdown() cam.release()
def yolo_detection(): # dev = cuda.Device(0) # ctx = dev.make_context() args = parse_args() print(args) """ config assert """ if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/darknet/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/darknet/%s.trt) not found!' % args.model) cls_dict = get_cls_dict(args.category_num) yolo_dim = args.model.split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % 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('ERROR: bad yolo_dim (%s)!' % yolo_dim) """ capture the image """ cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') """ deploy the yolo model """ trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) # open_window( # WINDOW_NAME, 'Camera TensorRT YOLO Demo', # cam.img_width, cam.img_height) """ detect the insulator using model """ vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis) """ release the image """ cam.release()
def main(): args = parse_args() cam = Camera(args) if not cam.isOpened(): 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(): # Parse arguments and get input args = parse_args() cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') # Create NN1 and NN2 models and load into memory cls_dict = get_cls_dict(args.model.split('_')[-1]) trt_ssd = TrtSSD(args.model, INPUT_HW) mtcnn = TrtMtcnn() # Create Preview Window open_window(WINDOW_NAME, 'Camera Preview', cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) # Enter Detection Mode while True: # Get Image img = cam.read() out.write(img) nn1_results = [] # Run Neural Networks img, nn1_results, nn2_results, nn3_results = loop_and_detect( img, mtcnn, args.minsize, trt_ssd, conf_th=0.3, vis=vis) # Communicate to Arduino if (nn1_results != []): img = robot_drive(img, nn1_results) else: serial_port.write("N".encode()) print("N") # Display and save output cv2.imshow(WINDOW_NAME, img) outNN.write(img) # User/Keyboard Input key = cv2.waitKey(1) if key == ord('q'): out.release() outNN.release() break # Clean up and exit cam.release() cv2.destroyAllWindows() serial_port.close()
def main(): args = parse_args() labels = np.loadtxt('googlenet/synset_words.txt', str, delimiter='\t') cam = Camera(args) if not cam.isOpened(): 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.isOpened(): 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.isOpened(): 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() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) client = init_mqtt(args.host, args.port) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) print("cls_dict:", cls_dict) #print(cls_dict[3]) yolo_dim = args.model.split('-')[-1] print("yolo_dim:", yolo_dim) if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % yolo_dim) w, h = int(dim_split[0]), int(dim_split[1]) else: h = w = int(yolo_dim) print('w:{0}, h:{1}'.format(w, h)) if h % 32 != 0 or w % 32 != 0: raise SystemExit('ERROR: bad yolo_dim (%s)!' % yolo_dim) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num, args.letter_box) open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis, \ cls_dict=cls_dict, client=client, topic=args.topic) cam.release() cv2.destroyAllWindows() client.disclose()
def main(): args = parse_args() cam = Camera(args) if not cam.isOpened(): 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()
def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) vis = BBoxVisualization(cls_dict) trt_yolo = TrtYOLO(args.model, args.category_num, args.letter_box) open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', cam.img_width, cam.img_height) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) yolo_dim = args.model.split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % 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('ERROR: bad yolo_dim (%s)!' % yolo_dim) trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) vis = BBoxVisualization(cls_dict) mjpeg_server = MjpegServer(port=args.mjpeg_port) print('MJPEG server started...') try: loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis, mjpeg_server=mjpeg_server) except Exception as e: print(e) finally: mjpeg_server.shutdown() cam.release()
def main(): args = parse_args() if not os.path.isfile('retinaface/%s.trt' % args.model): raise SystemExit('ERROR: file (retinaface/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cfg = cfg_mnet input_size = args.model.split('-')[-1] input_shape = (int(input_size), int(input_size)) priorbox = PriorBox(cfg, input_shape) priors = priorbox.forward() trt_retinaface = TRT_RetinaFace(args.model, input_shape) open_window( WINDOW_NAME, 'Camera TensorRT Face Detection Demo', cam.img_width, cam.img_height) loop_and_detect(cam, trt_retinaface, priors, cfg) cam.release() cv2.destroyAllWindows()
def main(): args = parse_args() if args.category_num <= 0: raise SystemExit('ERROR: bad category_num (%d)!' % args.category_num) if not os.path.isfile('yolo/%s.trt' % args.model): raise SystemExit('ERROR: file (yolo/%s.trt) not found!' % args.model) cam = Camera(args) if not cam.isOpened(): raise SystemExit('ERROR: failed to open camera!') cls_dict = get_cls_dict(args.category_num) yolo_dim = args.model.split('-')[-1] if 'x' in yolo_dim: dim_split = yolo_dim.split('x') if len(dim_split) != 2: raise SystemExit('ERROR: bad yolo_dim (%s)!' % 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('ERROR: bad yolo_dim (%s)!' % yolo_dim) load_weight_start = time.time() trt_yolo = TrtYOLO(args.model, (h, w), args.category_num) load_weights_time = datetime.timedelta(seconds=time.time() - load_weight_start) print('Load weights Time: %s' % (load_weights_time)) open_window(WINDOW_NAME, 'Camera TensorRT YOLO Demo', cam.img_width, cam.img_height) vis = BBoxVisualization(cls_dict) loop_and_detect(cam, trt_yolo, conf_th=0.3, vis=vis) reporter = MemReporter() reporter.report() cam.release() cv2.destroyAllWindows()