我正在尝试在图像周围绘制bounding_box。我有一个不同的模型来预测检测到的文本类别。 yolo实现在任何地方都基于包围盒+类预测。因此,他们定义的损失函数是类别预测,置信度和给定类别的概率的损失。我只希望仅根据边界框定义损失函数。请建议我该怎么做,或者建议我阅读一些文章。
答案 0 :(得分:0)
因此,他们定义的损失函数对于类别预测是损失, 置信度和给定类别的概率。
实际上YOLO的损失函数包括
https://medium.com/@jonathan_hui/real-time-object-detection-with-yolo-yolov2-28b1b93e2088
如果您正在寻找仅用于边界框的精度,那么您想要的称为 mAP(平均平均精度)。为了能够了解如何计算mAP,新手将需要一些时间来进行对象检测,因此,我将为以后的研究https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173放置一些很好的链接。
如果要在训练期间可视化YOLO模型的mAP,可以使用AlexeyAB https://github.com/AlexeyAB/darknet创建的这个流行的github存储库。
例如,您可以通过输入-map
标记来训练模型:
./darknet detector train data/obj.data yolo-obj.cfg darknet53.conv.74 -map
将生成以下图表,红线表示mAP,蓝线表示训练后模型的平均损失。
最后,在训练后,您可以检查最适合自己的体重(检查mAP值)
./darknet detector map data/obj.data yolo-obj.cfg backup\yolo-obj_7000.weights
此存储库的作者将所有内容都写在他的github存储库上,因此请花一些时间阅读所需的所有步骤。
其他信息
对于当前项目,我也做与您相同的事情。我仅使用YOLO来检测对象并绘制边界框。但是对于分类,我使用了另一个CNN模型。