Skip to main content
Version: 2.3.4

Settings

Common setting​

Common setting can be found in Preference > Algorithm (common)

LocationFieldNameDescriptionUnitDefaultRange
CommonOutputPublish Point-CloudThe level of publishing point cloud to output port. This setting will greatly increase the bandwidth between the algo nodes and the master node! 0: Nothing published 1: Only object point published 2: Both object & background points publishedint2
Point-Cloud Bandwidth ReductionThis decreases the communication burden by reducing pointcloud data size. This option affects the update method which sequentially updates each lidar is in calibration mode and downsample background and ground points in runtime mode.booleanfalse
Downsampling ResolutionSet resolution of downsampling method of pointcloud bandwidth reduction. Value can be between 0 to 1.Float0.3
Point-Cloud Update IntervalTime between updates of background point cloud information from algo nodes to the master node. Updating frequently can be resource-intensive..seconds1.0
Sensor Update IntervalTime between updates of sensor information from algo nodes to the master node.seconds0.1
Output Sending Type SelectionMethod for sending and updating new results. 0 - Instant Sending: Publish result whenever a new one is available. 1 - Fixed-Period Sending: Publish the most recent result periodically. The published result might already have been published in a previous frame. 2 - Fixed-Period with Max-Delay: Publish the most recent result periodically. If there is no new result, the sending is postponed until a new result is received or a maximum delay time has passed.int1
Update IntervalPublish interval for output sending type 1 - Fixed-Period Sending and type 2 - Fixed-Period with Max-Delayseconds0.1
Max DelayMaximum delay of output sending for the output sending type 2 - Fixed-Period with Max-Delayseconds0.05
Publish Point-Cloud IntensityEnable this option to publish Point Intensity values to Master Node. This option can be disabled when intensity visualization is not being used.True/ FalseFalse
Trigger Zone Events with MISC ObjectsEnabling this will trigger zone events with MISC objectsTrue/ FalseFalse
Pipeline CycleMaximum Lidar Input IntervalIf there is no response from one of the lidar sensors for this time duration, that lidar sensor will be considered dead.seconds4[0,30]
Restart dead lidar drivers automaticallyWhen this is enabled, lidar sensor driver will be restarted automatically if it does not response for duration specified in “Maximum Lidar Input Interval”True/ FalseTrue
Frame Update MethodMethod for updating new frames from received results 0- Instant: Update frames as soon as results arrive 1 - Use buffer: Update frames using buffer that stores frames after specified delay time in case of network trafficInt0
Minimum Pending TimeThis option is only visible if Instant is selected in the Frame Update Method. Due to connection issues, the time interval between two point-cloud messages of one lidar can be unreasonably small. This minimum interval will ensure that one lidar point-cloud message of the pipeline has a reasonable time gap with the next one. A message which time difference with the previous message is below this minimum interval will get discarded.seconds20[0, 100.]
Maximum Pending TimeThis option is only visible if Instant is selected in the Frame Update Method. Perception pipeline will be triggered whenever data from all connected lidar sensors were received or at least new data from one lidar sensor arrived and this time threshold is reached.seconds150[100, 1000]
Processing Delay TimeThis option is only visible if the “Use buffer” option is selected in the Frame Update Method. All received frames will be stored in the buffer and visualized after this time. All received frames will be results from this time ago.seconds0.1[0.0, 3.0]
Frame FrequencyThis option is only visible if Use buffer is selected in the Frame Update Method. Frames from the buffer will be processed in this specified frequency cycle.seconds0.1[0, +inf]
Tracking HistoryTracking History > LengthThe number of history positions to keep.int100[0, +Inf.]
Tracking History > History Smoothing LevelTrajectory smoothing levelint3[0, 3]
Trajectory PredictionTrajectory Prediction> Number of Prediction StepsNumber of prediction stepsint10[0, +Inf.]
Trajectory Prediction> Prediction Step Time-HorizonTime step between two predicted pointsseconds0.1[0, +Inf.]
Trajectory Prediction> Max. Acceleration Filter ThresholdMaximum acceleration for predictionm/s215.0[0, +Inf.]

Master setting​

Master setting can be found in Preference > Algorithm (master)

LocationNameDescriptionUnitDefaultRange
Output-Merger > Algo-Node Result TimeoutsAlgo-Node Object Result-TimeoutIf a point cloud receival time of a result from an algo node and the latest receival time differ by more than this timeout, the algo node result is removed from result aggregation.For the point result, the point-cloud update frequency is added to this timeout. For the sensor statuses, the sensor update frequency is added to this timeout.seconds0.2[0.1, +Inf.]
Algo-Node Point Result Timeoutseconds0.2[0.1, +Inf.]
Algo-Node Sensor Status Timeoutseconds0.2[0.1, +Inf.]
Output-Merger > Multi Algo-Node MergerDominant Algo-Result CriterionMethod for deciding the dominant algo-result. 0 - Largest BBox: The object with the largest bbox is regarded as the dominant algo-result. 1 - Largest Bbox and Longest Track: If there’s a significantly large bbox, the algo-result takes dominance. If not, an algo-result with longer tracking history takes dominance.0[0, 1]
Scale Ratio Threshold for Age ComparisonScale ratio threshold for 1 - Largest Bbox and Longest Track. Tracking period takes priority for the dominance when there's a size ambiguity between algo-nodes. The size ambiguity condition is defined below: abs(max_size - size) < thr * max_size0.1[0.01, 0.5]
Overlap-Region Map ResolutionResolution of overlap region mapmeters5.0[0.1, +Inf.]
Max-Box-Distance to SplitMax distance to split over merged objectsmeters0.75[0, +Inf.]
Grow-Size x-Tolerancex-size increasing tolerance to control objects associationmeters2.0[0, +Inf.]
Grow-Size y-Tolerancey-size increasing tolerance to control objects associationmeters1.5[0, +Inf.]
Grow-Size Rate Tolerancesize ratio tolerance to control objects association1.2[0, +Inf.]
Grow-Size Addition-Tolerancesize addition tolerance to control objects associationmeters0.5[0, +Inf.]
Association Distance ThresholdDistance threshold to associate objects in two nodesmeters2.0[0, +Inf.]

Algorithm setting​

To change algorithm settings you can open the algorithm window (with the Preference > Algorithm (ip_address) in the menu bar). A description of the parameter specification and a more detail of how to tune the parameter can be seen below. Be advised to change algorithm parameters with caution, as wrong parameters can negatively affect the performance.

LocationFieldNameDescriptionUnitRange
Parameters > ObjectAllow Floating-ObjectIf True, min. z of the object is set to be the min. z-value of the object bounding box instead of ground height.True/ False
Box Orientation ResolutionObject bounding box orientation resolution.degrees[3.75, 15.0]
Parameters > Sanity-ChecksTracked ObjectMax-Dimensions (W, L)The maximum object size which can be tracked.meters[0, +Inf.]
Parameters > TrackingMin. Points for TrackingThe minimum number of points of an object to be tracked.-
Validation PeriodPeriod of checking validity in the early stage of tracking. This time determines length of the VALIDATION period, or how quickly a new object will be tracked and classifiedseconds[0, +Inf.]
Invalidation PeriodPeriod of short term prediction when tracking is lost while in the VALIDATION period. A longer period will allow for objects that are at the edge of detection range to be tracked, but will be more likely to introduce false alarms.seconds[0, +Inf.]
Drifting PeriodPeriod of short term location prediction when tracking is lost in TRACKING status. A longer period can help with obstructions, but can lead to object ID switching in busy environmentsseconds[0, +Inf.]
Pipeline > Ground DetectorElevation Ground DetectorMax. Ground HeightMaximum height for ground segmentation.meters[-0.5, +Inf.]
Pipeline > Background DetectorBackground DetectorApplyIf True, use the background detector.True/ False
Accumulation Frame CountNumber of accumulated frames to detect background points .-[1, 20]
Time to Initialize BackgroundInitiated period to learn background points.seconds[0, +Inf.]
Time to Become BackgroundThe period for static objects becomes background.seconds[1, +Inf.]
Time to Become ForegroundThe period for a background object becomes foreground when it starts moving.seconds[1, +Inf.]
Background Reset RateChanging rate from foreground to background when no point is detected[0, +Inf.]
Use Multi-lidar Background FusionFuse background information from multi-lidarTrue/False
Multi-lidar Background Fusion Time ThresholdThe maximum period which allows the fusing of multi-lidar background information.seconds[1, +inf]
Number of Frames To Estimate Detection RangeNumber of initial frames used to estimate the background detection range[1, +Inf]
Use Global Detection RangeIf use this option, the global detection range will be used for background detection range instead of using initial frames estimationTrue/False
Range MarginMargin to build static map to classify backgroundmeters[0, +inf.]
Angular MarginMargin to build static map to classify backgrounddegree[0, 180]
Resolutions (Range, Azimuth, Elevation)Range (distance), Azimuth angle and Elevation angle resolution.meters, degree, degree[0, +Inf]
Pipeline > ClustererGrid-Clustererx-ResolutionGrid resolution in x-axis.meters(0, +Inf.]
y-ResolutionGrid resolution in y-axis.meters(0, +Inf]
Cell Point ThresholdMinimum points per cell for clustering[1, +Inf.]
Cluster Point ThresholdMinimum points per cluster to detect
Pipeline > TrackerHybrid-TrackerApplyIf True, use Hybrid-TrackerTrue/ False
Association-DistanceDistance threshold to associate objects in two consecutive frames.meters[0.01, +Inf]
Min. Object RadiusMinimum object radius to be tracked.meters[0, +Inf]
Max. Hole-SizeMaximum distance of objects which can be merged into one object.meters[0, +Inf]
Merge Object LevelObject merging level to decide how easily small closed objects can be merged into one object.-[0, 10]
Max. Grow-Size ToleranceMaximum size of merged object can growmeters[1, +inf]
Max. Hole Size Thres. to Enlarge ObjectMaximum a hole inside merged object can havemeters[1.5, +Inf]
Object-Size Shrinking-RateShrinking rate of tracked object size. In case of occlusion, the size of a tracked object will be learnt and kept with this shrinking rate.-[0, 1]
Use Object SplitterApply splitter check to over merger objectsTrue
Splitting Distance ThresholdDistance threshold to split objectsmetters[0, +Inf.]
Splitting Min. Trajectory DistanceMinimum trajectory distance to split objectsmetters[0, +Inf.]
Splitting Min. Object LifetimeMinimum lifetime of objects to apply splitter checkseconds[0, +Inf.]
Human-TrackerApplyIf True, use Human-TrackerTrue/ False
Association-DistanceDistance threshold to associate objects in two consecutive frames.meters[0.01, +Inf]
Min. Object RadiusMinimum object radius to be tracked.meters[0.0, +Inf]
Merge/Split Size Mul. ThresholdSize ratio threshold that allows to merge/split[0.0, +Inf]
Merge/Split Size Add. ThresholdSize increasing/decreasing threshold that allows to merge/splitmeters[0.0, +Inf]
Min. Time for SplittingMinimum lifetime of objects to apply merger/ splitter checkseconds[0.0, +Inf]
GPU Pipeline Supported Tracker (GPU plug-in)ApplyIf True, use GPU Pipeline Supported TrackerTrue/ False
Tracking Association DistanceDistance threshold to associate objects in two consecutive frames.meter[0.0, +Inf]
Track Miscellaneous ObjectsEnable tracking of MISC objectsTrue/ False
Use filter-based PredictionUse of adaptive filter-based prediction instead of history based predictionTrue/ False
Merge Object LevelDetermines the merge object level. 0: Cars only, 1: Cars and Small Objects, 2: All Objects.
Merge/Split Size Mul. ThresholdMaximum scale up ratio of merged objects[1.0, +inf.]
Merge/Split Size Add. ThresholdMaximum additional size of merged objectsmeters[0.0, +inf.]
Merge/Split Min Time ThresholdMinimum lifetime of objects to apply splitter/merging checkseconds[0.0, +inf]
Max Size To Apply MergingMaximum size of objects to apply merging checkmeters[0.0, +inf.]
Min Radius For TrackingMinimum radius of objects to be trackedmeters[0.0, +inf.]
Box Shrinking RateShrinking rate of tracked object size. In case of occlusion, the size of a tracked object will be learnt and kept with this shrinking rate.-[0.0, +inf.]
Misc. Fused Object Reduce ScoreIn case of misclassification the, the confident score of the object will be learnt and kept with this reduced score.-[0.0, +inf.]
Yaw Update RateSmoothing bounding box direction rate[0.0, +inf.]
Radius Offset Thresh. To AssociateMaximum radius difference to associate objects in consecutive frames.meters[0.0, +inf.]
Min Speed to Aligned Box YawMInimum speed to apply box direction alignmentm/s[0.0, +inf.]
Max Radius To Aligned Box YawMaximum object radius to apply box direction alignmentmeters[0.0, +inf.]
Min Time To Estimate VelocityMinimum time to apply velocity estimationseconds[0.0, +inf.]
Time Duration To Estimate VelocityTime duration to apply velocity estimationseconds[0.0, +inf.]
Moving Distance To Estimate VelocityMoving Distance to apply velocity estimationmeters[0.0, +inf.]
Min Size For SplittingMinimum object size to apply splitting checkmeters[0.0, +inf.]
DL Box MarginMaximum margin allow object to merge to a DL boxmeters[0.0, +inf.]
Use SplittingUnable splittingTrue/ False
Pipeline > ClassifierSkipped Classification ClassesCAR/PED/CYC/MISCAny class marked with this option will be ignored by the classifier.True/ False
Target Classification ClassesCAR/PED/CYC/MISCThe classes the output of the classifier will include. E.g. if only PED(estrian) and MISC(ellaneous) are chosen all the objects will be classified as either PED or MISC.True/ False
Only Classify Tracked ObjectsIf selected, only objects with tracking status will be classifiedTrue/False
First Order ClassifierThis session will be applied first and only if it can’t classify the objects the send order classifier can assist it.
Min. Dominant ScoreMin class score to become dominant class. If a tracked object is classified as a certain class (CAR, PED, CYC) with score > Min. Dominant Score for more than Accum. Dominant Thresh. times then it becomes dominant and less likely changes the class label unless other class becomes dominant.[0, 1]
Accum. Dominant Thresh.[0, +inf]
Size Classifier for Big ObjectsApplyIf True, use the size classifier for big objects. If used, all objects which have size bigger than Min Length, Width, Height will be classified as one of Include Classes.True/ False
Min Length, Width, HeightMin length, width, height to classify as big objects.meters[0, +Inf]
Min. Big Object OffsetThe offset used to estimate the score of big objects.metter[0, +Inf]
Include ClassesThe classes the output of the size classifier for big objects will include.True/ False
Size Classifier for Small ObjectsApplyIf True, use the size classifier for small objects. If used, all objects which have size in the Length Range, Width Range, Height Range will be classified as one of Include Classes. If an object is classified as a big object, it won’t be classified as a small object even though it’s in the small object range.True/ False
Length Range/ Width Range/ Height RangeThe range of length, width, height to classify as small objects.meters[0, +Inf]
Include ClassesIf True, the classes the output of the size classifier for big objects will include.True/ False
Velocity ClassifierApplyIf True, use the velocity classifier.True/ False
Non-MISC Min VelocityMinimum velocity which object will not be classified as a MISC.meters[0, +Inf]
Non-MISC Min DisplacementMinimum displacement which object will not be classified as a MISC.meters[0, +Inf]
PED Max VelocityMinimum velocity which object will not be classified as a PED.km/h[0, +Inf]
Use Velocity EstimatorEnable this to use the velocity estimatorTrue/ False
Min Time to Update Vel. EstimatorMinimum time required to update the velocity estimatorseconds[0, +inf]
Min Distance to Update Vel. EstimatorMinimum distance required to update the velocity estimatormeters[0, +inf]
Min Time to Estimate VelocityMinimum time required to estimate the velocityseconds[0, +inf]
Min Distance to Estimate VelocityMinimum distance required to estimate the velocitymeters[0, +inf]
ML ClassifierApplyIf True, use the machine learning classifier. If applied, it will be used only after using size classifier and velocity classifier. E.g, After the size classifier and velocity classifier, the object is classified as either PED or CYC, ML classifier will decide whether it’s a PED or a CYC.True/ False
Min Num PointsMinimum number of points to use ML classifier.[0, +inf]
Max Num Objects To ClassifyMaximum number of objects can be classified by ML classier.[0, +inf]
Pipeline > Cluster Merger(GPU plug-in)Nearest Cluster MergerApplyEnable Nearest Cluster MergerTrue/ False
Box Merging TypeSet the type of box merging. 0: Use bounding boxes from deep learning 1: Use tight bounding boxes 2: use deep learning base point with tight bounding box
Similar Size Offset ThresholdOffset threshold for clusters of similar sizemeters[0.0, +inf]
Suppress DL Box Which Can't Cover Intersected ClustersEnabling this suppresses deep learning boxes that can’t cover intersected clustersTrue/ False
Not Covered Box Radius Thresh. To Suppress DL BoxBox radius threshold for suppress deep learning boxesmeters[0.0, +inf]
Point-Based Cluster MergerApplyEnable Point-Based Cluster MergerTrue/ False
Pipeline > Object Detector (GPU plug-in)2D Object DetectorApplyIf True, enables the 2D Object DetectorTrue/ False
Max Box LengthMaximum length of the bounding boxmeters
Car Probability ThresholdMinimum probability to be considered CAR[0.0, 1.0]
Pedestrian Probability ThresholdMinimum probability to be considered PED[0.0, 1.0]
Cyclist Probability ThresholdMinimum probability to be considered CYC[0.0, 1.0]
Exclude Invalid PointsIf selected, points in an exclusion zone will not be included in the object detection model.True/False

More on algorithm setting​

Detection range​

It is recommended to change some parameters to better fit each specific use case. As mentioned in previous sections, detection range is one of the important parameters that should be tuned carefully to save computational resources, reduce noise and false detections (prefered to Sensor set up, Optimizing the world size). If you want to change detection range while in runtime mode, go back to sensor setup mode (with the Mode > Sensor Setup in the menu bar) and click the Algo Node Settings gear icon.

Tracked Object Max-Dimensions​

Tracked Object Max-Dimensions (W, L) need to be bigger than the maximum size of objects you want to track and classify in the scene but don’t set it too big compared to that size.

Background Detector and Zone​

Background detector is used to automatically set exclusion zones (called background zones) to ignore static objects in the detection pipeline. If an object stays still for more than Time to Become background seconds, the background detector will set a background zone around that object. In consequence, that object will become background and won’t be tracked. If a background object moves away from its background zone, it needs Time to Become Foreground seconds so that the zone is removed. Since lidar is noisy and some objects can vibrate (vegetations, flags, ...), the background detector can’t completely remove all the static objects. It’s recommended to use exclusion zones (prefered to exclusion zones) for the region which you don’t want to cover.

If you also want tracked objects which can be static for longtime (e.g. track cars in the parking lot), you could disable Background Detector and use only exclusion zones instead.

Tracker​

Human-tracker is more optimized for human only tracking applications. If lidar is used in the scene which doesn’t have cars and cyclists (e.g. indoor), human-tracker is recommended. If lidar is used outdoors (which have cars/cyclists), Hybrid-Tracker would perform better.

Since lidar point-clouds are sparse, a big car can break into multiple small objects. Hybrid-Tracker can merge those small objects together. The Max. Hole-Size and Merge Object Level parameters help to control this merging process. Max. Hole-Size is the maximum distance of those small objects which can be merged while Merge Object Level indicates how easy the merge process is. If lidars are used to track big objects (big trucks/containers) and there aren't many people, increasing Max. Hole-Size and Merge Object Level can help to detect the big object better. But if the scene is a crowded intersection with many pedestrians those values need to be kept small to avoid merging closed distance pedestrians to one object. Merge Object Level can have value in the range [0, 10]. We recommend using Merge Object Level 3-4 for crowded intersections and 7-8 for highways with many big trucks cases.

Classifier​

Use Target Classification Classes can reduce false classification. E.g. If lidars are used on highways to detect cars/cyclists, it recommends choosing CAR, CYC, MISC as target classes. And if lidars are used indoors, choosing PED, MISC as target classes could perform better.

If only one target class is selected, then all objects are classified as the selected class without considering properties of the objects (i.e. the classification is skipped). In the case that no target class is selected, all objects are classified as MISC.

First order classifier (size based and velocity based) will be used first, and only if it can’t decide which class the object belongs to the second order classifier (machine learning based) will be applied. Let’s consider the following classifier setting and an object of size (4.5m, 2.7m, 1.5m).

setting-classifer

The object is classified as either CAR or MISC by Size Classifier for big Objects. If it moves at a speed 20km/h, it is not a MISC or a PED by Velocity Classifier. So it will be classified as a CAR. In case it’s not moving, ML Classifier will be used to determine if it’s a CAR or a MISC.

Dealing with limited computational resources​

If running with multiple lidars or using a computational-resource-limited machine, you can improve the speed of the algorithm by:

  • Optimize the detection range (prefered to common setting).
  • Increase resolution values in Pipeline > Clusterer. Resolution 0.1 x 0.1 means that points in a grid of size 0.1 x 0.1 will be grouped in one object. Increasing those values can help the clusterer run faster with the trade off that closed objects can be merged together.
  • Increase resolution values in Pipeline > Background Detector > Range, Azimuth, Elevation. Increasing those values can help the Background Detector run faster with the trade off that objects which are closed to background can become background.

Rendering Config Editor​

Rendering setting can be found in Preference > Visualizer (or press F11)

LocationNameDescriptionDefault
WindowDefault Window-WidthInitial width of the application window.1080
Default Window-HeightInitial height of the application window.720
VisibilityObject PointsEnable or disable showing points belonging to objects.True
Ground PointEnable or disable showing ground points. (e.g. floor.)True
Background PointsEnable or disable showing background points. (e.g. wall or desk…)True
Draw Intensity VisualizationEnable this to color point-cloud by intensity values. The 'Publish Point-Cloud Intensity' option in Algorithm (Common) section must be turned on for this to work.False
Min/Max Point Intensity RangeColor range for intensity visualization. Intensity values outside of range will be clamped to the range.[0.0, 255.0]
GridEnable or disable showing squared Grid.True
Grid CircularEnable or disable showing circular Grid.False
AxisEnable or disable showing the world XYZ coordinate axis.True
ObjectsEnable or disable showing tracked objects. (e.g. pedestrian)True
Misc ObjectsEnable or disable showing miscellaneous objects.True
Validating ObjectsEnable or disable showing validating objects.True
Drifting ObjectsEnable or disable showing drifting objects.True
Invalidating ObjectsEnable or disable showing invalidating objects.True
Object TrailEnable or disable showing the object trail.True
Predicted TrajectoryEnable or disable showing the predicted trajectory of moving objects.False
Map ImageEnable or disable showing a map image.True
Detection RangeEnable or disable showing the detection range of each algo node.True
Points Outside of Detection RangeEnable or disable showing points outside of the detection range.False
Lidar NameEnable or disable showing the name of each sensor.False
Lidar TopicEnable or disable showing the topic of each sensor.False
Algo Node NameEnable or disable showing the name of each algo node.False
Zone NameEnable or disable showing the name of each zone.False
Draw AnnotationsEnable or disable drawing object annotationsFalse
Visible Annotations -> Show Object IDIf object annotations are enabled the object’s ID is shownTrue
Visible Annotations -> Show Object Class and ProbabilityIf object annotations are enabled the object’s class and probability score of that class is shownFalse
Visible Annotations -> Show Object SpeedIf object annotations are enabled the object’s speed is shownTrue
Visible Annotations -> Show Object HeightIf object annotations are enabled the object’s height is shownFalse
ColorBackground ColorColor of the background.-
Ground ColorColor of the ground points.-
Background ColorColor of the background points.-
Object ColorColor of points belonging to objects.-
Car ColorColor of cars.-
Pedestrian ColorColor of pedestrians.-
Cyclist ColorColor of cyclists.-
Misc ColorColor of miscellaneous objects.-
Event Zone ColorColor of event zones.-
Exclusion Zone ColorColor of exclusion zones.-
Detection Range ColorColor of the detection range outline.-
View RangeMin point heightMinimum height to show points (Unit: meters) The point lower than this value will not be shown even if you enabled Env. Points ON.-10.0
Max point heightMaximum height to show points (Unit: meters) The point higher than this value will not be shown even if you enabled Env. Points ON.10.0
MiscCloud Point SizeControl the visual size of the rendered points. The values can range from 1.0 to 10.0.1.0
Use Random Obj. ColorThis option colors each object in a different color.False
Logo
If you need access, please contact