DeepStream9.0 masktracker
masktracker是在8.0推出来的,9.0对精度做了优化(Accuracy improvements for Reference Apps - MV3DT, MaskTracker, Pose Estimation)。
DeepStream 的 Gst-nvtracker 插件负责给检测目标分配稳定的跟踪 ID。传统 tracker 通常基于 bbox、运动模型或 Re-ID 特征来关联目标,而 MaskTracker 更进一步:它把 多目标跟踪 和 目标分割 结合起来,使用 SAM2 这类视觉基础模型,在视频帧之间持续跟踪目标并生成高质量 mask。
本文基于 NVIDIA 官方 Gst-nvtracker 文档和 deepstream-masktracker 示例,介绍 MaskTracker 的作用、pipeline 配置、运行方式和适用场景。
MaskTracker 是什么
官方文档中对 MaskTracker 的定位是:
MaskTracker simultaneously performs multi-object tracking and segmentation using advanced vision foundation models such as Segment Anything Model 2 (SAM2).
也就是说,MaskTracker 不只是输出:
object_id + bbox
它还可以输出:
object_id + bbox + segmentation mask
它的核心价值是:目标不仅被跟踪,还能以 mask 形式更精确地表示轮廓。
这与普通 bbox tracker 的区别很明显:
普通 tracker:
检测框 → 跟踪 ID → bbox 输出
MaskTracker:
检测框 → SAM2 visual tracking / segmentation → 跟踪 ID + mask + bbox 输出。
它在 DeepStream 里的位置
Gst-nvtracker 是 DeepStream pipeline 中的 tracker 插件。它本身负责和 low-level tracker library 通信。实际跟踪算法由 low-level library 提供,例如:
- IOU
- NvSORT
- NvDCF
- NvDeepSORT
- MaskTracker
MaskTracker 通过同一个 tracker 插件接入:
source
→ streammux
→ primary-gie detector
→ nvtracker with MaskTracker config
→ nvdsosd
→ sink
在 deepstream-masktracker 示例中,检测模型使用 PeopleNet,tracker 使用 MaskTracker 配置:
[primary-gie]
config-file=config_infer_primary.txt
[tracker]
ll-lib-file=/opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
ll-config-file=/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_tracker_MaskTracker.yml
OSD 里打开了 mask 显示:
[osd]
display-mask=1
所以最终画面中可以看到:
- segmentation mask
- bounding box
- tracking ID
为什么需要检测器
MaskTracker 不是完全脱离检测器工作的。示例中仍然先用 PeopleNet 做目标检测:
PGIE / PeopleNet → 检测 person
MaskTracker → 跟踪并分割这些目标
检测器负责告诉 tracker “当前帧有哪些候选目标”。MaskTracker 再结合 SAM2 的视觉跟踪能力,在帧间维护目标状态、更新 mask,并自动添加或移除 target。
示例里的 config_infer_primary.txt 使用 PeopleNet ONNX:
onnx-file=../models/PeopleNet/resnet34_peoplenet.onnx
num-detected-classes=3
filter-out-class-ids=1;2
这里过滤掉 class 1 和 2,意味着示例主要关注 person 类目标。
SAM2 在这里做什么
根据示例 README,MaskTracker 使用 SAM2 来 visually track and segment targets across frames。可以简单理解为:
检测器提供初始目标
SAM2 在后续帧中帮助定位和分割目标
MaskTracker 管理目标 ID、目标生命周期和 mask 输出
它还会维护 memory bank,用前面帧的视觉特征帮助在新帧中定位目标。这也是它相比仅依赖 bbox 的 tracker 更适合复杂场景的原因。
输出结果
MaskTracker 的输出有两类。
第一类是可视化输出。示例中 DeepStream 会显示叠加结果,并保存 out.mp4:
mask + bbox + tracking ID
第二类是元数据输出。示例会在 track_results 目录下生成 KITTI 风格文本文件,每帧一个文件,里面包含:
label
tracking ID
bbox left/top/right/bottom
confidence
README 中也说明:visibility 和 foot position 对 MaskTracker 不适用,这些更多属于 3D tracking / SV3DT 场景。
如何运行示例
示例的基本步骤是:
- 使用 DeepStream 9.0 container。
- 下载
deepstream_tools,其中包含sam2-onnx-tensorrt。 - 下载 PeopleNet 模型。
- 在容器内转换 SAM2 模型。
- 运行
deepstream-app。
README 中的核心运行流程是:
export TRACKER_MODEL_DIR="/opt/nvidia/deepstream/deepstream/samples/models/Tracker"
mkdir -p $TRACKER_MODEL_DIR
cd /opt/nvidia/deepstream/deepstream/sources/tracker_ReID/sam2-onnx-tensorrt
bash run.sh
cd /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-masktracker/configs
mkdir -p track_results
deepstream-app -c deepstream_app_source1.txt
如果要换视频,修改:
[source0]
uri=file://../streams/bodypose.mp4
例如换成 retail 视频:
uri=file://../streams/Retail02_short.mp4
如下图,是masktracker的运行结果。

适用场景
MaskTracker 适合这些场景:
- 需要精准目标轮廓,而不是只需要 bbox
- 多目标之间有遮挡
- 目标运动复杂
- 目标类别多样
- 后续处理需要 mask,例如隐私保护、目标区域分析、分割质量评估
典型应用包括:
人员跟踪
零售场景分析
工业安全监控
复杂遮挡场景下的目标跟踪
需要目标 mask 的视频分析
性能与资源开销
官方文档的 tracker 对比中,MaskTracker 的优势和代价都很明确。
优势:
- 使用 SAM2,分割质量高
- 对遮挡和复杂运动更鲁棒
- 适合多类别目标
- 同时输出 tracking 和 segmentation 信息
代价:
- 计算开销最高
- 需要更多 GPU memory
- Jetson 上可能受资源限制,不一定适合跑完整 SAM2 网络
所以 MaskTracker 不是替代所有 tracker 的默认选择。如果只需要轻量跟踪,可以选 IOU 或 NvSORT;如果需要较强 bbox tracking,可以选 NvDCF;如果需要高质量 mask 和复杂场景鲁棒性,MaskTracker 才更合适。
总结
MaskTracker 是 DeepStream tracker 家族中面向高质量分割跟踪的方案。它把检测器、SAM2、tracker metadata 和 nvdsosd 可视化串起来,让 DeepStream pipeline 可以输出:
稳定 ID + bbox + segmentation mask
一句话总结:
MaskTracker 适合“既要跟踪 ID,又要目标轮廓”的视频分析任务。 它的价值不是最低延迟或最低资源占用,而是在复杂场景中提供更精细、更鲁棒的目标级视频理解能力。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)