Detect and track blobs in CV images.

Output a CV Image enhanced with the detected blobs highlighted and an array containing the following informations for each blob : Coordinates, Size, Speed, Orientation, Lifetime (time since detection) and a color.

More information on Computer Vision (CV).


Properties


This node has three tabs in the Editor panel : General, Tracking and Detection

General


  • Tracking interval (ms) : Displays the time taken to process each frame by the tracking algorithm.
    This value should stay below the refresh rate of the sensor used for detection or some precision may be lost.
  • Cycle interval (ms) : Displays the time taken to process input data and send it to the tracking algorithm.
    If this value is too high data is not being processed and sent fast enough to the tracking algorithm and some precision may be lost.
  • Input size : Displays the resolution of the CV image received on the input pin.
    When working on small resolutions (< 100×100 px), the tracking algorithm gives better results when using the Auto-upscale option.
  • Output size : Displays the resolution of the CV image on the output pin.
  • Interpolation : Toggle to enable the interpolation of tracking algorithm data to reach 60 frames per second.
  • Auto-upscale : Toggle to enable automatically upscaling the input image to reach a width of 500 pixels.
    This is useful when working on small resolutions as the tracking algorithm will give better results.
  • CV Image : Select the display desired in the CV Image output.
    Default : Detection & Tracking
    • Detection : Shows only detection data. Detected blobs are highlighted with a red circle in the image.
    • Tracking : Shows only tracking data. Detected blobs are highlighted each using a different random color and the bounding box and orientation (with an arrow) are displayed
    • Detection & Tracking : Shows detection data and tracking data side by side on the output.

Tracking


  • BG mode : Choose whether or not and how to detect background in the CV Image stream.
    Default : Auto
    • Auto : The background is continuously being detected in the CV Image stream.
    • Learning : Launch a dialog box to manually create a CV Image of the background using the CV Image stream of your scene without any moving objects in it.
    • None : Do not use a background in blob detection.
  • Learn BG : (Only if BG Mode is Learning) Click on the Start button to open a Dialog box to begin learning the background from your CV Image stream.
  • Intensity Tracking : Select the size of the window in which to use the intensity of pixels to compute and correct tracking data. Using higher values is more resource intensive without necessarily being more precise, depending on your setup.
    Default : None
    • None : Intensity Tracking is not used.
    • Small : 7-15 pixels window size.
    • Medium : 15-31 pixels window size.
    • Large : 31-63 pixels window size.
    • Extreme : 63-125 pixels window size.
  • Merge : Toggle to activate/deactivate the merging of blobs close to one another.
    Default : OFF
  • Merge Distance : (Only if Merge is ON) Set the distance (in pixels) between two blobs under which they will be considered the same blob.
    Default : 4
  • Max keep time : Sets how long (in milliseconds) the blob should be kept in the output once it is not detected anymore.
    Default : 500
  • Max Distance : Set the maximum distance (in pixels) a blob is allowed to move from one frame to the next and still be considered the same blob.
    Default : 100
  • Tracking History : Set the number of frames to keep in buffer to compute predictions & measure corrections. Setting this too high will consume more ressource with little gain on accuracy.
    Default : 5
  • Weight of predictions : Sets a threshold for sensor noise suppression for moving objects. Higher values may introduce latency in the tracking.
    Default : 0.5
  • Noise Level : Sets a threshold for sensor noise suppression for non-moving objects.. Higher values may introduce latency in the tracking.
    Default : 2.0

Detection


Gray Level :

  • Filter by Gray Level : Activate the filtering by gray level.
    Default : ON
  • Gray Level : Set to 0 to detect dark blobs on light background or set to 255 to detect light blobs on dark background.
    Default : 255
  • Threshold step : Set the intensity value by which to increment in between each binary image.
    Default : 10
  • Min threshold : Set the intensity value from which to begin creating binary images.
    Default : 10
  • Max threshold : Set the intensity value up to which create binary images
    Default : 220
  • Min distance between blobs : Sets the minimum distance under which two detections will be considered a unique detection.
    Default : 10

Area :

  • Filter by Area : Toggle to activate/deactivate the filtering by area. Blobs detected with an area lesser or greater than the Min/Max range will no longer be considered as blobs
    Default : ON
  • Min Area : Minimum area for a blob to be considered a blob.
    Default : 25
  • Max Area : Maximum area for a blob to be considered a blob.
    Default : 5000

Circularity :

  • Filter by Circularity : Toggle to activate/deactivate the filtering by circularity Circularity measures how close to a circle the blob is, and a circle has a circularity of 1. Blobs with circularities outside of the Min/Max range will no longer be considered as blobs.
    Default : OFF
  • Min Circularity : Minimum circularity for a blob to be considered a blob.
    Default : 0.8
  • Max Circularity : Maximum circularity for a blob to be considered a blob.
    Default : 100000

Inertia :

  • Filter by Inertia : Toggle to activate/deactivate the filtering by Inertia. The inertia measures how elongated a shape is. A line has an inertia value of 0 while a circle has an inertia value of 1. Blobs with inertias outside of the Min/Max range will no longer be considered as blobs.
    Default : OFF
  • Min Inertia : Minimum Inertia for a blob to be considered a blob.
    Default : 0.1
  • Max Inertia : Maximum Inertia for a blob to be considered a blob.
    Default : 100000

Convexity :

  • Filter by Convexity : Toggle to activate/deactivate the filtering by Convexity. Convexity is the ratio between the area of a shape and the area of the convex hull of a shape. The convex hull is the tightest convex shape that completely encases the shape. Blobs with Convexities outside of the Min/Max range will no longer be considered as blobs.
    Default : OFF
  • Min Convexity : Minimum Convexity for a blob to be considered a blob.
    Default : 0.95
  • Max Convexity : Maximum Convexity for a blob to be considered a blob.
    Default : 100000

You can find additional explanations on these detection parameters on this page


Inputs


Name Type Description
CV Image CV Image Input CV Image stream to perform blob tracking on

Outputs


Name Type Description
CV Image CV Image Output CV Image with Detection and Tracking overlay possibilities
Array Array Output array containing all the tracking information for each blob detected

Examples





In this example all properties are left at default values.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.