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.
1by default.
Other section#
- use-one-detection-mode - if value is equal to 1, then only one "best" track will be tracked.
0by 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.
1by 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.
7by default. - skip-frames - If there is no detection in estimated area, TrackEngine will wait this number of frames before considering the track lost and finishing it. Parameter doesn't work for human tracks.
36by default. - frg-subtractor - Whether to enable foreground subtractor or not. Foreground subtractor reduces the detection area by cutting out static background parts. While improving performance, this may reduce face detection recall in some cases.
1by 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 consumption dramatically. It is used to balance between resource utilization and face detection recall.
10by default. - callback-buffer-size - The size of the internal storage buffer for all callbacks. The larger the buffer is, the higher performance is ensured. Otherwise, if the buffer becomes smaller, the behaviour becomes more like realtime appearance.
- 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 count to consider track as real face (parameter is ignored for human tracking). Used to filter tracks for callbacks output. '3' by default.
- detector-scaling - Do scaling frame before detection for performance reasons.
0by default. - scale-result-size - If scaling is enabled, frame will be scaled to this size in pixels (by the max dimension - width or height).
640by 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.
1by default.
Human tracking specific parameters section#
- human-landmarks-detection - Flag to enable human landmarks detection. Disabling it improves performance.
1by 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.5by default. - reid-matching-threshold - reID value threshold (similarity), used for matching tracks to each other.
0.85by default.
Detectors section#
- use-face-detector - Flag to use or not face detection.
1by default. - use-body-detector - Flag to use or not body detection.
0by default. - use-vehicle-detector - Flag to use or not vehicle detection.
0by default. - use-license-plate-detector - Flag to use or not license plate detection.
0by 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="300" />
<param name="max-processing-fragments-count" type="Value::Int1" x="1" />
<param name="batched-processing" type="Value::Int1" x="1" />
<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="parallel-tracks-processing" type="Value::Int1" x="0" />
<param name="frg-regions-alignment" type="Value::Int1" x="0" />
<param name="frg-regions-square-alignment" type="Value::Int1" x="1" />
<param name="detector-scaling" type="Value::Int1" x="0" />
<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="3" />
<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="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" />
</section>
</settings>