Skip to content

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.
  • 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 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. 36 by 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. 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 consumption dramatically. It is used to balance between resource utilization and face detection recall. 10 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. 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. 0 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="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>