如何为自定义类培训DeepSORT跟踪器?

2024-05-28 23:24:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想利用深度学习和计算机视觉技术来检测和计算葡萄园中葡萄的数量。我正在使用YOLOv4对象检测器,并在darknet框架上进行培训。我已经能够将分拣跟踪器集成到我的应用程序中,并且它运行良好,但我仍然存在以下问题:

  • 跟踪器有时会为对象重新分配一个新ID
  • 探测器有时会错误识别物体(导致错误跟踪)
  • 跟踪器有时不跟踪检测到的对象

您可以在下面的image中看到重新分配问题的示例。如您所见,在第40帧中,id 9是一根金属柱,在第42帧之后,它被分配给一棵树

在寻找这些问题的原因时,我了解到DeepSORT是SORT的一个改进版本,其目的是通过使用神经网络将轨迹与检测关联来处理这个问题

问题:

我所面临的问题是对Deepsort的这种特殊模型的培训。我已经看到作者使用cosine metric learning来训练他们的模型,但我无法为我的自定义类定制学习。我的问题如下:

  1. 我有一个带注释的(YOLO-TXT格式)图像数据集,我用它来训练YOLOv4模型。我可以为Deepsort跟踪器重复使用相同的数据集吗?如果是,那怎么办

  2. 如果无法重用数据集,那么如何创建自己的数据集来训练模型

提前感谢您的帮助


Tags: 数据对象模型框架利用数量计算机错误
1条回答
网友
1楼 · 发布于 2024-05-28 23:24:00

是的,您可以对DeepSORT使用相同的类。SORT分两个阶段工作,DeepSORT增加了第三个阶段。第一阶段是检测,由YOLOv3处理,第二阶段是航迹关联,由Kalman滤波器和IOU处理。DeepSORT实现了第三阶段,一个暹罗网络,用于比较当前检测和每条轨道的特征之间的外观特征。我见过一些实现使用ResNet作为特性嵌入网络

基本上,一旦YOLO检测到你的类,你就把被裁剪的检测到的图像传递给你的暹罗网络,它将其转换为特征嵌入,并使用余弦距离将这些特征与过去的特征进行比较

总之,您可以对DeepSORT和SORT使用相同的YOLO类,因为它们都需要一个由YOLO处理的检测阶段

相关问题 更多 >

    热门问题