Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为自定义类培训DeepSORT跟踪器?_Python_Tensorflow_Computer Vision_Object Detection - Fatal编程技术网

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

Python 如何为自定义类培训DeepSORT跟踪器?,python,tensorflow,computer-vision,object-detection,Python,Tensorflow,Computer Vision,Object Detection,我想利用深度学习和计算机视觉技术来检测和计算葡萄园中葡萄的数量。我正在使用YOLOv4对象检测器并在框架上进行培训。我已经能够将分拣跟踪器集成到我的应用程序中,并且它运行良好,但我仍然存在以下问题: 跟踪器有时会为对象重新分配一个新ID 探测器有时会错误识别目标(导致错误跟踪) 跟踪器有时不跟踪检测到的对象 您可以在下面的示例中看到重新分配问题。如您所见,在第40帧中,id 9是一根金属柱,在第42帧之后,它被分配给一棵树 在寻找这些问题的原因时,我了解到这是SORT的一个改进版本,其目的是

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

  • 跟踪器有时会为对象重新分配一个新ID
  • 探测器有时会错误识别目标(导致错误跟踪)
  • 跟踪器有时不跟踪检测到的对象
您可以在下面的示例中看到重新分配问题。如您所见,在第40帧中,id 9是一根金属柱,在第42帧之后,它被分配给一棵树

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

问题: 我所面临的问题是对Deepsort的这种特殊模型的培训。我已经看到作者曾经训练过他们的模型,但是我不能为我的自定义类定制学习。我的问题如下:

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

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


  • 提前感谢您的帮助

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

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


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

    Hey@khayliang,感谢您的响应。在这种情况下,我如何提供图像检测?我的意思是,一旦我从YOLO那里得到一张图像的检测结果,我是否会将它们保存为文本文件并传递给别人?在这种情况下,我如何处理视频?你能提供一些示例代码吗?