Exemple #1
0
                    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())
Exemple #2
0
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)))
Exemple #3
0
        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())
Exemple #4
0
    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())