2017-06-21 74 views
6

這個問題可能已被回答,但我沒有找到一個簡單的答案。我創建了一個使用Keras對Simpsons字符進行分類的小網絡(dataset here)。
我有20個類,並提供一個圖像作爲輸入,我返回字符名稱。這很簡單。我的數據集包含圖片中帶有主要字符的圖片,並且只有字符的名稱作爲標籤。使用Keras進行目標檢測:快速R-CNN或YOLO的簡單方法

現在我想添加一個對象檢測問題,即在圖片中的字符周圍繪製邊界框並預測它是哪個字符。我不想使用滑動窗口,因爲它非常慢。所以我想過使用更快的RCNN(github repo)或YOLO(github repo)。我是否必須爲每個訓練集的圖片添加邊界框的座標?有沒有辦法做對象檢測(並在我的測試中獲得邊界框)而不給出訓練集的座標?總之,我想創建一個簡單的對象檢測模型,我不知道是否有可能創建一個更簡單的YOLO或更快的RCNN。

非常感謝您的幫助。

回答

5

yolo或更快rcnn的目標是獲取邊界框。所以,簡而言之,是的,你需要標記數據來訓練它。

走了一條捷徑:

  • 1)標籤包圍的箱子極少數(可以說每5個字符)。
  • 2)在非常小的數據集上訓練更快的rcnn或yolo。
  • 3)對整個數據集運行你的模型
  • 4)它會得到一些權利,得到很多錯誤。 5)訓練正確有界的訓練集,你的訓練集現在應該更大。
  • 6)重複,直到你有你想要的結果。
0

您可能心中已經有了合適的架構已經:「現在,我想補充的目標檢測問即得出各地的圖片字符的邊框,並預測它是字符

所以你就分成兩個部分任務:
1.添加對象檢測器,用於檢測人使用你已經受過訓練

的convnet對於部分1,你SH返回邊框
2.分類邊界框通過在頂部使用物體檢測器(仍然是YOLO和Faster-RCNN)來檢測人物,可以使用特徵檢測器(例如COCO或Imagenet上預處理的convnet)。 但是,您可能會發現「漫畫」(假設辛普森一家是人)的人沒有被正確識別,因爲特徵探測器沒有在基於卡通的圖像上訓練,而是在真實圖像上訓練。在這種情況下,根據transfer learning方法學,您可以嘗試重新訓練卡通圖片上的幾個特徵檢測器以學習卡通特徵。