You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Yolov5 StrongSORT的视频目标单次裁剪需求实现问询

Yolov5_StrongSORT_OSNet 实现按唯一ID仅导出单张目标裁剪图

核心思路是维护一个已导出ID的集合,仅当跟踪到的目标ID不在该集合中时,才导出对应的裁剪图,同时将该ID加入集合避免重复导出。具体修改步骤如下:

  1. 初始化已处理ID集合
    在视频处理的主逻辑开始前(比如初始化StrongSORT跟踪器之后、遍历视频帧之前),定义一个空集合来记录已经导出过裁剪图的目标ID:
exported_ids = set()
  1. 修改裁剪导出逻辑
    找到代码中执行目标裁剪并保存的代码块(通常在遍历跟踪结果的循环内,比如track.py或detect.py中处理det跟踪结果的部分),替换原有的裁剪保存代码:

原代码示例(可能存在的裁剪逻辑):

for *xyxy, conf, cls, track_id in reversed(det):
    # 原逻辑:每帧都保存该ID的裁剪图
    save_crop(im0, xyxy, save_dir / 'crops' / names[int(cls)] / f'{track_id}_{frame}.jpg')

修改为:

for *xyxy, conf, cls, track_id in reversed(det):
    cls = int(cls)
    # 仅当ID未导出过时执行保存
    if track_id not in exported_ids:
        # 构造保存路径,用唯一ID命名避免重复
        save_path = save_dir / 'crops' / names[cls] / f'{track_id}.jpg'
        save_crop(im0, xyxy, save_path)
        # 将该ID加入集合,后续不再导出
        exported_ids.add(track_id)
  1. 注意事项
  • 若同时处理多个视频,需确保每个视频处理前都重新初始化exported_ids集合,避免不同视频间的ID冲突。
  • 如果需要选择目标出现时置信度最高的帧导出,可在判断逻辑中增加置信度记录,比如维护一个字典存储每个ID的最高置信度,仅当当前帧置信度更高时才更新保存。

内容的提问来源于stack exchange,提问作者Giorgi Kurdadze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:25:31