工程經驗記錄yolo框下移引發的思考


事件敘述:

緣起:yolo檢測框,在項目開始之前由於在一些場景下觀察到yolo的框在大車檢測的時候,回歸的位置不好,一些車輛的尾部會被漏掉,特別是車牌部分,恰好被框在外面的時候,在后續就無法進行車牌檢測與識別等操作,因此為了臨時解決,將yolo的框進行了1/15的下移操作;

改觀:首先車牌的問題在很早的時候就解決掉了,方法是在進行車牌檢測+識別時對yolo框進行下移,其他模塊不進行該操作(因此這里需要注意,在車牌識別的模塊(不僅僅是這個模塊,其他類似的操作)在設計接口的時候,一定不要設計成單張圖片傳入的形式,而是要傳入原圖+rect的形式,這樣在做后續操作的時候就會更靈活),車牌檢測與識別的部分在訓練的時候也需要進行下移,這樣可以保證在工程中可以達到訓練時的效果;

后續發酵:后面面臨着yolo模型的優化與更新,這時問題就顯露出來了,因為前序模塊的訓練全都是基於老的yolo出來的圖片進行訓練的,如果yolo進行了更新,那么其得出的框的分布就會有分布上的改變,如果后續模塊在訓練的時候沒有針對這里做專門的擴增等操作的話,在替換模型之后很可能后續模塊的效果就會變差;

建議解決方法:

1、在訓練的時候考慮各種隨機增益與數據擴充(最好是在線增益),擺脫對於前序模塊的依賴;

2、使用多個yolo模型輸出的結果結合起來對於后續模型進行訓練(有滯后性);

3、基礎模塊的訓練一定要先行。

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com