34

我目前正試圖制定一個程序,以區分腐爛的橘子和可食用的橘子,只根據它們的外觀。爲此,我計劃使用卷積神經網絡來訓練腐爛的橙子和普通的橙子。經過一番搜索後,我只能找到約一個數據庫。黑色背景上有150個橙子和150個普通橙子(http://www.cofilab.com/downloads/)。很顯然,機器學習模式至少需要幾千個桔子才能達到90%左右的精確度。但是,我可以通過某種方式改變這150個橙子來製作更多的橙子照片嗎?通過改變,我的意思是在柑橘類水果上添加不同的橙色色調以製造「不同的橙色」。這是一種訓練神經網絡的有效方法嗎?改變訓練圖像訓練神經網絡

回答

7

這是提高你約會的數量非常好的方式。你會做什麼取決於你的數據。例如,如果您正在對從傳感器獲取的數據進行培訓,則可能需要向培訓數據添加一些噪音,以便增加數據集。畢竟,您可以預期稍後傳感器會產生一些噪音。

假設你將在圖像上訓練它,這裏有一個非常好的github存儲庫,它提供了使用這些技術的方法。這個python庫可以幫助你增加機器學習項目的圖像。它將一組輸入圖像轉換成新的,更大的一組稍微變化的圖像。 鏈接:https://github.com/aleju/imgaug

特點:

  • 大多數標準增量技術可用。

  • 技術可以應用於圖像和關鍵點/地標 圖像。在 實驗開始時定義一次擴增序列,然後多次應用。

  • 爲每個增強定義靈活的隨機範圍,例如, 「將每個圖像旋轉 -45和45度之間的值」或者「將每個 圖像通過從正態分佈N(0,5.0)採樣的值旋轉」。

  • 輕鬆所有隨機範圍轉換爲確定性值,以增大 圖像的不同批次中完全相同方式 (例如圖像和它們的熱圖)。

enter image description here

2

這確實是增加數據集的好方法。例如,您可以將高斯模糊應用於圖像。他們會變得模糊,但與原來的不同。您也可以反轉圖像。或者,在最後一種情況下,尋找新的圖像並應用引用的技術。

3

數據增強是你正在尋找。在你的情況下,你可以做不同的事情:

  1. 應用過濾器來獲得稍微不同的圖像,如上所述,你可以使用高斯模糊。

  2. 切橙色,並把它放在不同的背景。

  3. 用不同比例因子來縮放桔子。

  4. 旋轉圖像。

  5. 製造合成爛桔子。

  6. 混合前面提到的所有不同組合。藉助這種增強功能,您可以輕鬆創建數千種不同的桔子。

我不喜歡的東西,與12.000圖像的數據集,我能創造630.000樣品

0

數據隆胸是真的,但還是不錯的方法來提高訓練集不足以培養出深層網絡的端到端自身因爲它會過度擬合的可能性。您應該查看域調整,您可以使用像imagenet數據集一樣訓練的預訓練模型,並根據您的問題對其進行微調。由於您只需要學習用於分類用例的參數,因此可以通過相對較少的培訓數據獲得較高的準確度。我用這種技術舉辦了分類演示here。試試看你的數據集,看看它是否有幫助。該演示會照顧預訓練模型以及您將上傳的數據集的數據增強。