Processors are the modules that work inside a processing pipeline and do various transformations of the frame or its meta-data. The standard processing modules are listed here.
- Crop - Crops the image
- Event trigger - Triggers a custom event
- General events - Generates common event types
- General meter - Saves dimensions and other basic metrics to object's properties
- Line cross detector - Draw virtual lines and detect line cross events
- Objects filter - Filter out unwanted objects
- Objects tracker - General tracking module
- Pixelate - Pixel mask module
- Rename object - Rename detected object
- Speedometer - Measures speed of an object
- Static counter - Counts objects within a certain area
- Static object generator - Adds a static object
Crop
The crop
processor takes a frame, crops the area inside blue rectangle and passes the cropped image to the next processing module. User can define the rectangle area by drawing on a sample frame or set exact values of (x1
, y1
) - upper left corner and (x2
, y2
) - lower right corner. Values are in percents of the frame dimensions.
Event trigger
This processor triggers a custom event if a condition meets.
The parameters are:
Event name
: Name of the triggered event.Event property
: Property format: {property_name: property_value}.Value to check
: The name of the filed in meta-data to check.Value suffix
: This suffix is added to the end of main value, for example: suffix 'color' results in 'event.properties.color'.Condition function
: FormulaReference value
: Check the value against this number or string.
General events generator
This processor performs general monitoring of all objects and other events. Place it right before the output if you want to save best_shot
events or other modules requires this generator.
General meter
This processor calculates basic object's parameters and saves them to object's properties.
General_meter saves following parameters:
height
: the height of the object's bounding box in pixelswidth
: the width of the object's bounding box in pixelsarea
: height x widthbrightness
: average brightness of the object. 0 meas black and 1 means whitespeed
: average speed of the object in pixels per second
These parameters as stored at object's properties, like objects.properties.height
. They are typically used in the rename object's conditions for defining objects' subclasses.
Line cross detector
The line_cross
tool is an important processor for objects counting, wrong way detection, restricted area protection and similar use cases. User can draw a line right on a sample frame or set exact values for the line: x1
, y1
(line beginning) and x2
, y2
(line end). Values are in percents of the frame dimensions.
Line name
: There can be arbitrary number of lines in one pipeline. User can define a name for a line, that will be used as a filter or an additional parameter in the reports.Zone width
: this parameter shows how wide should be the neutral zone. The processor will register aline_cross
event only when an objects cross this neutral zone completely.Save mode
: if you have just a single line in your scene - useOne event per line
. The system will save the object together with movement direction when it crosses the line. In this mode the detector saves information about the direction: It can beforward
orbackward
and available through reports asproperties.direction
parameter. If you have multiple lines - switch toOne event per object
to avoid saving the same object multiple times.
Important
The line_cross
processor should go after the tracker, because it detects the events when tracking path crosses the line. If Line cross
goes before a tracker, there will be no path in meta-data, therefore no line_cross
event will be detected.
Objects filter
This processor allows filtering out unwanted objects using various parameters.
There are following parameters allows adjusting behaviour of the objects filter processor:
Objects to exclude
: List here unwanted objects' classes using;
and they will be removed from further processing.Objects to include
: Instead of exclude some certain objects you can include only the target object classes and all the rest will be filtered out. Use;
to specify several objects.Min detection confidence
: Objects with the recognition confidence lower than this value will be dropped.overlap_suppression_degree
: This parameter allows removing overlapping detections, keeping the only one with the highest confidence. Degree defines how close objects intersect to be filtered out.0.1
means: object needs to intersect slightly another object to be filtered out. And0.9
means that that object needs to be almost of the same size and at the same location before it will be filtered out.Max object size
: This parameter allows filtering out too big objects. If sum of an object's height and width (in pixels) exceeds this value it will be dropped.0
means no restrictions.Min object size
: This parameter allows filtering out too small objects. If sum of an object's height and width (in pixels) falls below this value the object will be dropped.0
means the filter is off.
Objects tracker
After a new object is detected, the tracking processor assigns a fresh track ID and tracks it across the subsequent frames. Without tracking processor an object detected in each subsequent frame will be saved as a new object.
Patience
: Increase this value if you want the system to wait longer until an occluded object re-appears.Tolerance
: If your video FPS is too low, you may need to increase tolerance, otherwise the system will not be able to build the objects' movement tracks.
Pixelate
You can add this element to your pipeline to cover the detected objects with the pixel mask in order to meet privacy requirements.
Rename object
This processor takes names of detected objects and change their names if the condition met.
Speedometer
In order to measure speed, first define a road segment by drawing start and stop lines. Then provide actual distance between these two lines in meters to let the system calibrate the space.
Once an object crosses both lines the system will add speed as the objects property.
Static counter
This processor counts objects within defined rectangle. This number is recoded as a frame's property: frame.properties.objects_in_frame
.
Area name
: You can add multiple counting areas. In this case set different names for them.Objects to count
: If you add object names here, the counter will count only the objects with the defined names, ignoring any other object.
Static object
This processing element creates a static object.
Info
This is the list of common processors. RoadData offers customized processors for solving clients' specific tasks. Custom processors are supplied as separate .zip libraries. Click on the Upload .zip
button next to the processor's dropdown list and choose the zipped module. This module will appear in the dropdown list immediately after the upload completed.