2017-08-02 149 views
2

我正在嘗試訓練快速rccn的小數位檢測模型。我正在使用新發布的tensorflow object detection API,到目前爲止一直在對來自動物園的預訓練faster_rcnn_resnet101_coco進行微調。我所有的訓練嘗試都產生了高精度但回憶率低的模型。在每個圖像中約120個物體(數字)中,只有約20個物體被檢測到,但是當檢測到分類是準確的時候。 (另外,我能夠從頭開始訓練我的裁剪圖像,精度高,因此問題出在模型的檢測方面。)每個數字在原始圖像中平均爲60x30(可能大約是其大小的一半。圖像被輸入到模型前調整後),這是與檢測盒的示例圖像我所看到的: enter image description here張量流模型中使用更快RCNN的小物體檢測

什麼是奇怪我是怎麼能夠正確地檢測相鄰的數字,但完全錯過了像素尺寸非常相似的其餘部分。

我已經嘗試調整錨箱生成和first_stage_max_proposals周圍的超參數,但迄今爲止沒有任何改進結果。這裏是我用過的一個例子config文件。我應該嘗試調整哪些其他超參數?有關如何診斷問題的其他建議?我應該查看其他architectures還是我的任務看起來可以通過更快的rccn和/或SSD來實現?

+0

本嗨 - 什麼是你的數據集典型的圖像分辨率? –

+0

還要注意,在可視化器('visualize_boxes_and_labels_on_image_array')中,我們讓最大盒數默認爲20,最低分數閾值默認爲0.5 - 如果您想要更寬容,您必須明確地重寫這些。 –

+0

現在我的大部分圖像都是3264×2248,這是iPhone圖像(至少是iPhone 6)的尺寸。感謝可視化器上的指針,我會檢查一下。 –

回答

4

最後,眼前的問題是我沒有正確使用可視化工具。通過更新Johnathan在評論中描述的visualize_boxes_and_labels_on_image_array的參數,我能夠看到,至少我發現了比我想象的更多的盒子。

+1

除了能夠看到更多的邊界框外,您的模型在尋找小物體時有所改進嗎?我正致力於在大圖像(1920×1080)上檢測小物體(55×15像素)。我很難在訓練後在我的圖像上找到任何東西(我嘗試了所有預先訓練過的模型,但沒有一個能產生好的結果),這與您在問題中顯示的圖像相似。 – Jundong

0

我檢查你的配置gile,你正在將圖像的分辨率降低到1024.你的手指區域不會包含很多像素,並且你丟失了一些信息。我建議使用另一個數據集(較小的圖像)來訓練模型。例如,您可以裁剪四個區域中的圖像。

如果你有一個很好的GPU提高在image_resizer最大尺寸,但我猜你會耗盡內存