您現在的位置是:首頁 > 網路遊戲首頁網路遊戲

目標檢測最少訓練資料量及類別不平衡的實戰研究

簡介重磅乾貨,第一時間送達作者:Changsin Lee編輯:Happy連結:Changsin Lee@Medium導讀本文采用Yolov5進行測試,從實驗中得出訓練時所需影象資料的最少資料量,資料不平衡問題的解決方式,以及模型更新的最優方法

訓練目標怎麼寫

「來源: |AI演算法與影象處理 ID:AI_study」

點選下方“

AI演算法與影象處理

”,一起進步!

重磅乾貨,第一時間送達

作者:Changsin Lee

編輯:Happy

連結:Changsin Lee@Medium

導讀

本文采用Yolov5進行測試,從實驗中得出訓練時所需影象資料的最少資料量,資料不平衡問題的解決方式,以及模型更新的最優方法。

不知你有沒有想過:訓練一個檢測器至少需要多少影象?又該如何處理資料不平衡問題?

在這篇文章中,作者期望回答一下三個與目標檢測訓練資料相關的問題:

達成最大效能增益的最小資料集是多大?

如何處理類別不平衡問題?

採用新資料更新預訓練模型的最佳姿勢是哪個?

目標檢測最少訓練資料量及類別不平衡的實戰研究

第一個問題的重要性並未得到足夠的重視。一般來講,預處理(資料收集、資料清洗、資料標註)佔據了一個AI演算法的至少80%時間。因此,

我們希望以最小的投入獲取最大的回報

第二個問題對於任何實際AI專案來說都是一個常見問題:常見資料可以輕易得到一個好的效能,而不常見資料卻很難得到好的效能。過取樣與欠取樣是解決類別不平衡常見的兩種策略。

對與訓練模型進行微調變得越來越重要,這是因為:一個AI模型無法滿足所有應用場景,我們需要頻繁的對其微調以適配新的資料(即跨域微調)。

接下來,作者將以YOLOv5+Korean Sidewalkd資料回答上述問題。

1YOLOv5

目標檢測最少訓練資料量及類別不平衡的實戰研究

目標檢測旨在對影象或影片中的例項進行定位與識別,即回答where與what這兩個問題。在上圖中,我們可以看到已標註bbox與label資訊的行人、車輛、板凳。

為獲得上述反饋,目標檢測器需要定位目標在哪並識別它屬於哪個類別,前者對應目標定位,後者對應目標分類。

為訓練一個目標檢測模型,我們需要準備一個包含影象以及對應目標位置+標籤標註的資料集。然而,構建這樣一個數據集非常耗時,幸運的是,已有許多公開資料集,COCO則是目標檢測領域最常用資料集,它包含80個類別。

YOLO是目標檢測領域應用最廣泛的檢測器(沒有之一),YOLOv5更是因為高效率、易部署、易擴充套件等受到諸多從業人員的追捧。基於YOLOv5而引申出了不少知名的檢測器,如YOLOv5-lite就是其中佼佼者。

在後續文章中,我們以YOLOv5s為基礎,除batch(16)與epoch(100)外,其他超參均為預設引數。

2Korean Sidewalk

該資料集包含670000+帶標註資訊的影象,其中有約352810帶有bbox標註資訊,故我們採用這部分用於模型訓練,下圖給出了該部分資料的分佈以及類別資訊。注:我們僅採用了top15類用於訓練與測試。

目標檢測最少訓練資料量及類別不平衡的實戰研究

關於該資料集有幾個比較重要的資訊:

類別不平衡:該資料集存在嚴重類別不平衡問題,top5佔據了70%左右,top15佔據了90+%,最常見的類別car在整個資料集中的比例高達24%(可參考上圖)。

同一影象存在多例項:在每個影象中,存在多個同類別目標。比如,每個影象中包含3-4個car目標(這個很容易理解,因為資料就是人行道拍攝影象)。

De-identified:人行道影象包含一些私人資訊,如人臉、車牌。為保護資訊,這個帶有私人資訊的影象在標註與釋出之前進行了特殊處理,可參考下圖的車牌。

目標檢測最少訓練資料量及類別不平衡的實戰研究

該資料集的上述三個特性在實際AI演算法研發過程中非常常見。因此,基於該資料集,讓我們來對文章開頭提到的幾個問題進行探究吧。

3Minimum Dataset Size

按照《How many images do I need》一文所提到:影響模型效能的資料量的拐點在每個類別包含150-500張影象,即在該拐點之前,資料量的提升對模型效能影響非常顯著,超過該拐點後效能增益趨於平穩。

為復現該實驗並比較不同類別的效能增益,作者將資料集劃分為以下三類:

Top5:car、person、tree、pole、bollard

Top10:traffic_sign、traffic_light、truck、moveable_ginage、potted_plant

Top15:motor_cycle、bicycle、bus、chair、bench

目標檢測最少訓練資料量及類別不平衡的實戰研究

上圖給出了上述三類與整體效能伴隨資料量增加的效能曲線,從中可以看到:

Top5的效能拐點在300左右,這是因為每個影象中有多個例項;

150-500看起來是影響檢測效能的一個比較可靠的拐點;

Top15的效能同樣服從類似的趨勢,但因為存在低頻目標導致拐點更出現的更晚。

4Countering the Class Imbalance

在上面的實驗中,Top5迅速取得了非常的效能,但Top10與Top15緊隨其後,但當每個類別的數量達到1000後期效能仍弱於Top5。顯而易見,資料量少是主要原因。

前面也提到:過取樣與欠取樣是兩種常見策略。由於該資料集存在嚴重不平衡,因此,我們同時進行低頻目標資料進行過取樣與高頻目標資料欠取樣。

目標檢測最少訓練資料量及類別不平衡的實戰研究

上圖給出了重取樣前後資料量對比。由於資料的特性問題,完全平衡的資料集是不可獲取的。比如,當對bus或motercycle進行取樣時,我們不得不也對car進行處理。

目標檢測最少訓練資料量及類別不平衡的實戰研究

上圖給出了取樣前後模型的效能對比。當然,效能增益不能只看數值。低頻類別增多就意味著高頻類別減少。可能低頻類別的效能提升了,而高頻類別的效能變差了很多。那麼,我們該如何知道這是不是真的呢?

目標檢測最少訓練資料量及類別不平衡的實戰研究

加權平均是一種非常好的技術,因此,我們對所得mAP進行加權平均。取樣前後的效能對比見上圖:很明顯,重取樣的效能增益仍有,但不會那麼劇烈。

從該實驗中,我們 可以學到:當進行模型訓練時,你需要有一個合理的取樣策略以及一個合理的度量準則。

5How to Update the Model

當把模型進行應用時,它可能面臨不聽的類別分佈,甚至存在未訓練的類別。為此,我們需要採用新資料集進行模型更新。在對模型進行更新時,有兩種不同的策略:

僅使用新資料;

採用新+舊資料組合。

目標檢測最少訓練資料量及類別不平衡的實戰研究

從上圖可以看到:

無論是隨機取樣還是重取樣,組合資料均提供了更佳的結果

目標檢測最少訓練資料量及類別不平衡的實戰研究

與此同時,我們需要回答另一個新問題:從頭開始訓練 與 遷移學習哪種的效能更佳呢?從上圖可以看到:兩種訓練策略並無明顯差異。僅有的區別在於遷移學習具有更好的早期收斂效能。因此,當新資料很少時,遷移學習可以節省更多時間。

6Conclusion

從上述實驗中我們學到了以下三點:

用於訓練的最少影象資料量在150-500;

採用過取樣與欠取樣補償類別不平衡問題,但需要對重平衡的資料分佈非常謹慎;

模型的更新建議在新+舊組合資料集上進行遷移學習。

努力分享優質的計算機視覺相關內容,歡迎關注:

努力分享優質的計算機視覺相關內容,歡迎關注:

歡迎加入公眾號讀者群一起和同行交流,目前有美顏、三維視覺、計算攝影、檢測、分割、識別、NeRF、GAN、演算法競賽等微信群

個人微信(

交流群

請註明:

如果沒有備註不拉群!

下載1:何愷明頂會分享

目標檢測最少訓練資料量及類別不平衡的實戰研究

Top