bhaney / object-tracking

Module of the Viam vision service for object tracking

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

object-tracker

Viam provides an object-tracker model of the vision service to connect objects that are the same across time.

Configure this vision service as a modular resource on your robot to transform your camera into an object tracking camera!

Getting started

The first step is to configure a camera on your robot. Here is an example of how to configure a webcam. The next step is to configure a vision service to use as a detector. Remember the names given to the camera and detector, it will be important later.

Note

Before configuring your camera or vision service, you must create a robot.

Configuration

Navigate to the Config tab of your robot’s page in the Viam app. Click on the Services subtab and click Create service. Select the vision type, then select the object-tracker model. Enter a name for your service and click Create.

Example Configuration

{
  "modules": [
    {
      "type": "registry",
      "name": "viam_object-tracker",
      "module_id": "viam:object-tracker",
      "version": "latest"
    }
  ],
  "services": [
    {
      "name": "myObjectTracker",
      "type": "vision",
      "namespace": "rdk",
      "model": "viam:vision:object-tracker",
      "attributes": {
        "detector_name": "myDetector",
        "camera_name": "myCam",
        "max_frequency_hz": 20,
        "chosen_labels": {
          "scissors": 0.2,
          "dog": 0.3,
          "person": 0.7
        }
      }
    }
  ]
}

Note

For more information, see Configure a Robot.

Attributes

The following attributes are available for viam:vision:object-tracker vision services:

Name Type Inclusion Description
camera_name string Required The name of the camera configured on your robot.
detector_name string Required The name of the detector (vision service) configured on your robot.
min_confidence float64 Optional A number between 0-1. Any detection with a confidence below this number will not be tracked. Default = 0.2
max_frequency_hz float64 Optional The fastest frequency (in Hz) that the model should run in. Default = 10.
chosen_labels map[string]float64 Optional A list of class names (string) and confidence scores (float[0-1]) such that only detections with a class name in the list and a confidence above the corresponding score are included.

Usage

This module is made for use with the following methods of the vision service API:

The module will return a list of detections. The bounding box and confidence of each detection will be as detected by the underlying detector that was passed to the object-tracking module. The new class_name will be: "< old class_name>_N_YYYYMMDD_HHMMSS", where the object is the Nth of it's class and was originally seen at the time/date indicated by YYYYMMDD_HHMMSS.

Visualize

Once the viam:vision:object-tracker modular service is in use, configure a transform camera detections appear in your robot's field of vision.

About

Module of the Viam vision service for object tracking

License:Apache License 2.0


Languages

Language:Go 100.0%