confidence=confidence, x1=int(detection[3] * img_width), y1=int(detection[4] * img_ht), x2=int(detection[5] * img_width), y2=int(detection[6] * img_ht)) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--grpc", default=False, help="If true, this analytic will set up a gRPC service instead of a REST service.", action="store_true") parser.add_argument("--grpc_port", default=50051, help="Port the analytic will run on.") parser.add_argument("--model", default="models/ssd_mobilenet_v2_coco_2018_03_29/frozen_inference_graph.pb", help="Model file to load") parser.add_argument("--model_config", default="models/ssd_mobilenet_v2_coco_2018_03_29/ssd_mobilenet_v2_coco_2018_03_29.pbtxt", help="Model config file location") parser.add_argument("--classes", default="coco.json", help="JOSN file mapping output vector to class names") parser.add_argument("--verbose", "-v", default=False, help="Display additional output.", action="store_true") parser.add_argument("--confidence_threshold", default=0.5, help="Confidence threshold for detection. Any object with a confidence socre less than this will not be considered a detection. Default 0.5") args = parser.parse_args() confThreshold = args.confidence_threshold with open(args.classes, 'r') as f: classes = json.load(f) net = cv2.dnn.readNet(args.model, args.model_config) if args.grpc: svc = grpcservice.AnalyticServiceGRPC() svc.register_name("opencv_object_detector") svc.RegisterProcessVideoFrame(detect) sys.exit(svc.Run(analytic_port=args.grpc_port)) else: svc = analyticservice.AnalyticService(__name__, verbose=args.verbose) svc.register_name("opencv_object_detector") svc.RegisterProcessVideoFrame(detect) sys.exit(svc.Run())
if __name__ == "__main__": # Optional statement to configure preferred GPU. Available only in GPU version. import argparse import pydarknet parser = argparse.ArgumentParser() parser.add_argument("--host", default="localhost", help="Host of the proxy") parser.add_argument("--port", default=50051, help="Port the proxy will run on.") args = parser.parse_args() # pydar knet.set_cuda_device(0) dknet_config = { "cfg_path": CFG, "weights_path": WEIGHTS, "data_path": DATA } logger.info(dknet_config) net = Detector(bytes(dknet_config["cfg_path"], encoding="utf-8"), bytes(dknet_config["weights_path"], encoding="utf-8"), 0, bytes(dknet_config["data_path"], encoding="utf-8")) svc = analyticservice.AnalyticService() svc.register_name("Yolo v3") svc.RegisterProcessVideoFrame(process_frame) sys.exit(svc.Run(analytic_port=int(args.port)))
handler.get_analytic_metadata)) logger.info("Adding frame to response") handler.add_frame_info(include_frame=True) logger.info("Adding tags 'test=True' and 'LuckyNumber=7'") handler.add_tags(test=True, LuckyNumber=7) logger.info("Finished tests for frame") if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( "--config_port", default=3000, help="Port the analaytic configuration endpoint runs on.") logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) logger.addHandler(ch) args = parser.parse_args() svc = analyticservice.AnalyticService(__name__) svc.register_name("test_frame_analytic") svc.RegisterProcessFrameBatch(detect, batch_size=16) sys.exit(svc.Run())
outputs = net.forward() class_pred = np.argmax(outputs) label = labels[class_pred] handler.add_tags(activity=label) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( "--config_port", default=3000, help="Port the analaytic configuration endpoint runs on.") parser.add_argument("--model", "-m", default="resnet-34-kinetics.onnx", help="Path to the model file to load") parser.add_argument("--labels", "-l", default="action_recognition_kinetics.txt", help="Path to class labels") args = parser.parse_args() net = load_net(args.model) labels = get_labels(args.labels) svc = analyticservice.AnalyticService(__name__, verbose=True) svc.register_name("test_frame_analytic") svc.RegisterProcessFrameBatch(detect, batch_size=16) sys.exit(svc.Run())