2017-10-05 84 views
0

我正在嘗試使用Tensorflow faster_rcnn_resnet101模型來檢測642 * 481圖像中的多個對象。我嘗試了兩種方法,但沒有得到滿意的結果。Tensorflow對象檢測問題

1)通過這種方式,我從訓練圖像(訓練圖像可能與642 * 481測試圖像的尺寸不同)中裁剪出物體(50 * 160矩形)。我使用這些裁剪圖像來訓練faster_rcnn_resnet101。如果測試集也是相同尺寸的裁剪圖像,看起來效果不錯。但是對於642 * 481測試圖像,它無法檢測到多個物體並獲得良好效果。

然後,我想或許該模型重新調整測試圖像以匹配50 * 160,從而使細節丟失。在這個想法中,我嘗試了另一種方式

2)我將每個裁剪圖像分別複製到642 * 481白色背景(基本上是填充)。因此每個訓練圖像與測試圖像具有相同的模糊大小。在背景上覆制的裁剪圖像的位置有意設置爲隨機。但是,它在測試圖像上仍然沒有很好的檢測。 爲了嘗試它的性能,我使用GIMP製作包含對象的窗口,並用白色像素替換窗口外的其他部分。結果好得多。 如果我們只在圖像中保留一個對象窗口並將其他部分設置爲白色,則結果爲超級。

所以我的問題是背後發生了什麼?我怎樣才能使它成功檢測測試圖像中的多個對象?謝謝。

回答

0

這個想法是,你應該在訓練期間使用包含多個對象實例的訓練圖像。換句話說,你不必裁剪!尤其是你的圖像不是很大。

但是,您必須確定(標記)這些對象。這意味着要知道圖像中每個對象的邊界框。此外,這些數據應與原始圖像一起組裝在tfrecord文件中。整個過程中有一個很好的指導here。在你的情況下,你會在源圖像中標記全部對象(642x481),而不僅僅是「浣熊」。如果你的對象有多個類,確保你標記它們!

如果您使用這些圖像進行訓練,這些圖像包含上下文中的對象,那麼網絡將學習識別類似圖像,這些圖像具有上下文中的對象。

相關問題