我试图训练一个更快的rccn模型进行小数字检测。我使用了新发布的张量流object detection API,到目前为止,它已经从动物园中对预先训练好的faster_rcnn_resnet101_coco进行了微调。我所有的训练尝试都产生了高精度但低召回率的模型。在每个图像上的~120个对象(数字)中,仅检测到~20个对象,但是当检测到时,分类是准确的。 (此外,我能够在我的裁剪图像上从头开始训练一个简单的回旋网,具有高精度,因此问题出在模型的检测方面。)原始图像中每个数字平均为60x30(可能大约是原始图像的一半)在将图像调整到模型之前调整图像大小。)以下是一个示例图像,其中包含我所看到的框:
对我来说奇怪的是它如何能够正确地检测相邻数字但完全错过了在像素尺寸方面非常相似的其余数字。
我已经尝试调整锚框生成和first_stage_max_proposals
周围的超参数,但到目前为止还没有改进结果。这是我使用的示例config文件。我应该尝试调整哪些其他超参数?关于如何诊断问题的任何其他建议?我应该调查其他architectures还是我的任务看起来更快 - rccn和/或SSD?
答案 0 :(得分:6)
最后,直接的问题是我没有正确使用可视化工具。通过更新Johnathan在评论中描述的visualize_boxes_and_labels_on_image_array
的参数,我能够看到我至少检测到比我想象的更多的盒子。
答案 1 :(得分:1)
我检查你的配置gile,你正在将图像的分辨率降低到1024.你的数字区域将不包含很多像素而你丢失了一些信息。我建议用另一个数据集(较小的图像)训练模型。例如,您可以在4个区域中裁剪图像。
如果你有一个好的GPU增加了image_resizer中的最大尺寸,但我猜你会耗尽内存