void Start()
    {
        detectedObjects   = new List <Detection>();
        cam               = GetComponent <Camera>();
        sessionTrackables = new List <Trackable>();
        //Subsrcibe to the RGB Image provider.
        RGB_Image_Provider imageSource = GetComponent <RGB_Image_Provider>();

        imageSource.OnImageAvailableCallback += new RGB_Image_Provider.OnImageAvailableCallbackFunc(onImageAvailable);

        // Read object detector labels. Currently I use Open Images Dataset with 600 images.
        label_list = labels.text.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

        // Create GRPC client to connect to TF Serving.
        channel = new Channel(server, ChannelCredentials.Insecure,
                              new List <Grpc.Core.ChannelOption> {
            new ChannelOption(ChannelOptions.MaxReceiveMessageLength, int.MaxValue),
            new ChannelOption(ChannelOptions.MaxSendMessageLength, int.MaxValue)
        });

        client = new PredictionService.PredictionServiceClient(channel);

        //Read Model Meta Data.
        var response = client.GetModelMetadata(new GetModelMetadataRequest()
        {
            ModelSpec = new ModelSpec()
            {
                Name = "default"
            },
            MetadataField = { "signature_def" }
        });

        Debug.Log("Connected to Tensorflow Serving Model:");
        Debug.Log(response.ModelSpec.Name + " " + response.ModelSpec.Version);
    }
Beispiel #2
0
    // Start is called before the first frame update
    void Start()
    {
        //Subsrcibe to the RGB Image provider.
        RGB_Image_Provider imageSource = GetComponent <RGB_Image_Provider>();

        imageSource.OnImageAvailableCallback += new RGB_Image_Provider.OnImageAvailableCallbackFunc(onImageAvailable);

        DetectObjects objectDetector = GetComponent <DetectObjects>();

        objectDetector.onDetectionAvailableCallback += new DetectObjects.OnDetectionAvailableCallbackFunc(onDetectionAvailable);
        pointIds            = new List <int>();
        pointList           = new List <Point>();
        pointCache          = new Dictionary <int, Point>();
        detectionCache      = new Dictionary <int, DetectionPoint>();
        channel             = new Channel(host + ":" + port, ChannelCredentials.Insecure);
        client              = new GenesisSimulator.GenesisSimulatorClient(channel);
        cam                 = GetComponent <Camera>();
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
    }