【问题标题】:How to train my model to draw bounding box around text present in image?如何训练我的模型围绕图像中存在的文本绘制边界框?
【发布时间】:2019-10-15 17:50:58
【问题描述】:

我正在尝试在图像周围绘制 bounding_box。我有一个不同的模型来预测检测到的文本类别。 Everywhere yolo 实现基于边界框+类预测。所以他们定义的损失函数是类别预测、置信度和给定类别概率的损失。我只想根据边界框来定义我的损失函数。请建议我如何做到这一点,或者建议我阅读一些文章。

【问题讨论】:

  • 我很困惑。如果您的情况,您有 2 个类,文本和非文本。因此,使用 Yolo 在这两个类之间进行分类并绘制边界框。

标签: python tensorflow keras bounding-box yolo


【解决方案1】:

所以他们定义的损失函数是类预测的损失, 置信度和给定类别的概率。

其实YOLO的损失函数是由

  1. 分类损失
  2. 定位损失(预测边界框与地面实况之间的误差)
  3. 置信度损失(框的客观性)。

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

此 repo 的作者将所有内容都写在他的 github repo 上,所以请花点时间阅读您需要的所有步骤。

其他信息
我也为我当前的项目做同样的事情。我只使用 YOLO 来检测对象和绘制边界框。但是对于分类,我使用了另一个 CNN 模型。

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 2018-03-26
    • 2016-01-14
    • 2021-11-24
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多