python - 如何训练我的模型在图像中存在的文本周围绘制边界框?

标签 python tensorflow keras bounding-box yolo

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

最佳答案

So the loss function they have defined is a loss for class prediction, confidence, and the probability of given class.

实际上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,蓝线表示训练模型的平均损失。

enter image description here

最后,训练结束后,您可以检查哪些权重最适合您(检查 mAP 值)

./darknet detector map data/obj.data yolo-obj.cfg backup\yolo-obj_7000.weights

此存储库的作者在他的 github 存储库上编写了所有内容,因此请花一些时间阅读您需要的所有步骤。

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

关于python - 如何训练我的模型在图像中存在的文本周围绘制边界框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56372049/

相关文章:

python - Keras/Tensorflow 中不同时期的训练率如何变化

python - 在单元测试 CI 期间模拟单击 PyQt5 QMessageBox 小部件中的按钮

python - 使用 Selenium 缓慢向下滚动页面

python - 在模板中显示我的报价项目的总价

tensorflow - 将字符串张量转换为小写

python - 如何防止keras自定义损失函数中的负面预测

python - 如何获取每行的百分比并可视化分类数据

python - 如何在 Anaconda 中更改 python 版本?

python - 使用 pip、Mac OSX 安装 tensorflow 的文件夹在哪里?

python - 导入错误 : cannot import name np_utils