Settings#
TrackEngine config format is similar to FaceEngine's. See FaceEngine_Handbook.pdf for format details.
Logging section#
- mode - logging mode. possible values:
- l2c - log to console only
- l2f - log to file
- l2b - log to console and file. This is the default.
- severity - logging severity level. 0 - write all information .. 2 - errors only.
1
by default.
Other section#
- use-one-detection-mode - if value is equal to 1, then only one "best" track will be tracked.
0
by default. - callback-mode - If value set to 1, then async push/callback mode should be used, estimator tracking API should be used otherwise.
1
by default. - detector-comparer - the parameter goes with use-one-detection-mode and if that is equal to 1, then this parameter sets strategy to find best track on the frame. See config for more details.
1
by default. - detector-step - Number of frames between full face detections. The lower the number is, the more likely TrackEngine is to detect a new face as soon as it appears. The higher the number, the higher the overall performance. It is used to balance between computation performance and face detection recall.
7
by default. - skip-frames - If track wasn't updated by detect/redetect for this number of frames, then track is finished. very high values may lead to performance degradation. Parameter doesn't affect on human tracking.
36
by default. - frg-subtractor - Whether to enable foreground subtractor or not. This feature can drastically improve performance, especially, on sources with low level activity, but at the same time this may reduce face detection recall in rare cases.
1
by default. - frames-buffer-size - Size of the internal storage buffer for the input frames. Applied per stream. The bigger the buffer is, the more frames are preserved and less likely to be skipped, if detection performance is not high enough to keep up with the frame submission rate. However, increasing this value also increases RAM/VRAM consumption dramatically. It is used to balance between resource utilization and face detection recall.
20
by default. - callback-buffer-size - The size of the internal storage buffer for all callbacks. The larger the buffer is, the higher performance is ensured, but memory consumption may be higher.
20
by default. - max-detection-count - Maximum detections count could be found by one detector call. Parameter limits performance load. If you don't want any limits, just set up very high value.
20
by default. - minimal-track-length - Minimum detections (detect/redetect) count for track (see
TrackInfo::detectionsCount
) to return it in tracking results (parameter is ignored for human tracking). Default value 1 allows user to get all tracks data, but there can be short tracks, because of detector faults, so users should implement their own logic to filter such tracks,1
by default. - detector-scaling - Do scaling frame before detection for performance reasons.
1
by default. - scale-result-size - If scaling is enabled, frame will be scaled to this size in pixels (by the max dimension - width or height).
640
by default. - tracker-type - Type of tracker to use (not used for human tracking),
kcf
by default.
Face tracking specific parameters section#
- face-landmarks-detection - Flag to enable face landmarks detection. Disabling it improves performance.
1
by default.
Human tracking specific parameters section#
- human-landmarks-detection - Flag to enable human landmarks detection. Disabling it improves performance.
1
by default. - remove-overlapped-strategy - strategy, used for removing overlapped detections after (re)detect ['none', 'both', 'score']. 'score' by default.
- remove-horizontal-ratio - width to height ratio threshold, used for removing horizontal detections. '1.6' by default.
- iou-connection-threshold - IOU value threshold, used for matching tracks and detections.
0.5
by default. - reid-matching-threshold - reID value threshold (similarity), used for matching tracks to each other.
0.85
by default.
Detectors section#
- use-face-detector - Flag to use or not face detection.
1
by default. - use-body-detector - Flag to use or not body detection.
0
by default. - use-vehicle-detector - Flag to use or not vehicle detection.
0
by default. - use-license-plate-detector - Flag to use or not license plate detection.
0
by default.
For full parameters set with descriptions see trackengine.conf file in the data
directory.
Config example#
<?xml version="1.0"?>
<settings>
<section name="logging">
<param name="mode" type="Value::String" text="l2b" />
<param name="severity" type="Value::Int1" x="1" />
</section>
<section name="other">
<param name="detector-step" type="Value::Int1" x="7" />
<param name="detector-comparer" type="Value::Int1" x="1" />
<param name="use-one-detection-mode" type="Value::Int1" x="0" />
<param name="skip-frames" type="Value::Int1" x="36" />
<param name="frg-subtractor" type="Value::Int1" x="1" />
<param name="frames-buffer-size" type="Value::Int1" x="20" />
<param name="callback-buffer-size" type="Value::Int1" x="20" />
<param name="min-frames-batch-size" type="Value::Int1" x="0" />
<param name="max-frames-batch-gather-timeout" type="Value::Int1" x="0" />
<param name="detector-scaling" type="Value::Int1" x="1" />
<param name="scale-result-size" type="Value::Int1" x="640" />
<param name="max-detection-count" type="Value::Int1" x="20" />
<param name="minimal-track-length" type="Value::Int1" x="1" />
<param name="tracker-type" type="Value::String" text="vlTracker" />
<param name="kill-intersected-detections" type="Value::Int1" x="1" />
<param name="kill-intersection-value" type="Value::Float1" x="0.55"/>
</section>
<section name="face">
<param name="face-landmarks-detection" type="Value::Int1" x="1" />
</section>
<section name="human">
<param name="human-landmarks-detection" type="Value::Int1" x="1" />
<param name="remove-overlapped-strategy" type="Value::String" text="score" />
<param name="remove-horizontal-ratio" type="Value::Float1" x="1.6"/>
<param name="iou-connection-threshold" type="Value::Float1" x="0.5"/>
<param name="reid-matching-threshold" type="Value::Float1" x="0.85"/>
<param name="non-active-tracks-lifetime" type="Value::Int1" x="100" />
<param name="reid-matching-detections-number" type="Value::Int1" x="7" />
</section>
<section name="vehicle">
<param name="max-processing-fragments-count" type="Value::Int1" x="1" />
</section>
<section name="detectors">
<param name="use-face-detector" type="Value::Int1" x="1" />
<param name="use-body-detector" type="Value::Int1" x="0" />
<param name="use-vehicle-detector" type="Value::Int1" x="0" />
<param name="use-license-plate-detector" type="Value::Int1" x="0" />
</section>
<section name="debug">
<param name="save-debug-info" type="Value::Int1" x="0" />
<param name="show-profiling-data" type="Value::Int1" x="0" />
<param name="save-buffer-log" type="Value::Int1" x="0" />
<param name="batched-processing" type="Value::Int1" x="1" />
</section>
</settings>