使用深度學習做目標檢測,哪些方法對提公升模型的泛化能力有效?

時間 2021-06-02 21:33:36

1樓:藏雲閣主

主要從兩個方面來提公升:資料增強和模型結構。

資料增強:一定要根據資料的特點和實際應用環境來增強,比如你的資料是由手持攝像機拍攝的,那麼很大概率會有運動模糊的存在,那麼你加上運動模糊;比如你的實際應用環境光照變化比較大,較暗和較亮的情況都有,那你可以增加對比度和亮度增強。如果你的增強策略和實際環境不匹配的話,就不一定會有好的結果,甚至還可能更差,例如你的目標都是人臉,如果你加入了很強的hsv增強,可能會把人臉的膚色變成鐵青色,這樣就與實際的資料偏離了,沒有幫助。

模型結構:其實模型結構方面的調整更多的是提公升模型的擬合能力而不是泛化能力,比如最常用的就是多尺度fpn了,是為了讓模擬更好地擬合多尺度的資料,假如你的目標根本不存在多尺度,那fpn就有點多餘了,但是如果你的訓練集是單一尺度的,而實際應用場景卻是多尺度的,那fpn結合資料的resize增強就會有增強泛化能力的效果。除此之外,像DeformConv也是為了更好的擬合目標而設定的,假如你的目標是完全剛性,甚至連觀察視角都一致,那DeformConv也是多餘的。

總之,需要多思考訓練資料和實際環境之間的關係,再選擇適當的增強策略。

2樓:劉國超

李沐寫過一篇如何提公升detection的效果的trick,可以搜一下就了解了。網路方面就是加入fpn,加入multi scale output;資料增強方面,比較多的是hsv的抖動,尺度變換,random crop,mixup等

利用深度學習,如何進行時序訊號的目標檢測?

大江東去 提供乙個思路。或許可以將時序訊號切割成很多小段訊號,然後通過對這些小段訊號的分類,實現時序訊號的目標檢測。基於振動訊號的故障診斷通常就是這麼做的,通過將小段振動訊號分類到健康狀態 軸承故障等類別,實現故障診斷。例如,Deep Residual Shrinkage Networks for ...

請問有做視覺SLAM基於深度學習閉環檢測的嗎?

九歌 俺就是在做深度學習與閉環檢測結合的工作的呀 目前將深度學習應用到閉環檢測中已經很普遍了吧。直接的想法是在bow框架下利用如superpoint d2 r2d2等深度學習特徵代替傳統orb sift等特徵。也有如NetVLAD CALC等用神經網路模擬傳統特徵提取策略,以獲得更好魯棒性的。也有加...

在使用深度學習方法進行分類時,使用非線性方法對訓練資料進行預處理,是否會破壞原始特徵導致無法識別?

Ethanycx 從理論上來說,無論是線性變換還是非線性變換,其實都可以在網路訓練的過程中由某幾層網路來實現 非線性的啟用函式賦予了網路非線性的描述能力 因此只要資料的量和多元性滿足訓練的需求,並不需要對原始資料手動進行變換。但有些情況下,針對不同的任務,對原始資料進行合理的 經過驗證的非線性變換,...