1、目標檢測框的寬高不穩定。比如一輛車停在原地不動,正常期望的是,不管在哪幀進行檢測,車輛檢測輸出框的寬高應該固定不變,因為車沒挪動。或者說目標從遠到近,檢測框的寬高應該平滑變化,而不是看上去一閃一閃的感覺
2、同理,目標檢測框的位置不穩定。同樣還是一輛車停在原地,車輛檢測輸出框的位置(框中心點座標)應該固定不變。或者從遠到近,檢測框的中心點應該平滑移動,而不是看上去一抖一抖
好了,現在清楚了問題出現的原因,就要找辦法去解決。可惜的是,目前並沒有辦法徹底解決這個檢測框不穩定/不連續的問題,只有優化該問題的辦法。下面直接列出來:
1、既然微觀上的畫素變化對檢測結果影響巨大,那麼我們盡量充分收集各種場景(比如各種亮度)的素材去訓練模型,最終提公升模型的泛化能力。但是這個方法侷限性太大了,有些影象噪音你無法預估;
2、對訓練素材質量進行優化,尤其素材的標註質量。檢查素材gt標註是否規範(比如是否剛好貼近目標輪廓、是否有漏標目標)。原因很簡單,gt框子如果本身都很隨便,有時候大有時候小,對最終檢測框的穩定性影響肯定很大。如果gt漏標嚴重,那麼最終肯定影響模型對目標的檢測判斷;
上面3條,我已經在實際工程中證實過2和3有效。下面重點說第3條,也就是目標跟蹤對檢測輸出結果的優化。下面先看乙個檢測演算法的原始輸出效果,它只有檢測框:
我們可以看到檢測框抖動嚴重,而且畫面中的行人檢測斷斷續續,演算法無法逐幀都檢測到。這種情況下,我們無法穩定捕捉到行人移動這個動作,所以對應用系統後續的業務邏輯帶來巨大的負面影響。現在我在檢測輸出的基礎上增加目標跟蹤的邏輯之後:
可以看到,不僅行人目標檢測框連續了(id固定不變),周邊車輛運動也更加平滑,對後續車輛測速邏輯有非常大的幫助。目標檢測框穩定/連續到底對後續業務邏輯有什麼影響?舉個例子,如果應用系統在檢測到行人目標的時候發出告警的閾值是25幀,也就是系統至少要連續檢測到行人目標一秒鐘才認為應該報警。那麼僅僅按照目標檢測的原始輸出結果,該行人目標檢測無法觸發連續25幀的閾值。
參考資料
1、2、
3、
穩定與不穩定
1 氣泡排序 氣泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,我想你是不會再無聊地把他們倆交換一下的 如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改...
穩定與不穩定排序
首先,排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果ai aj,ai原來在位置前,排序後ai還是要在aj位置前。其次,說一下穩定性的好處。排序演算法如果是穩定的,那麼從乙個鍵上排序,然後再從另乙個...
網路不穩定 網路不穩定,天氣來背鍋
王者上星 深夜吃雞,那些影響你上分的因素,除了不靠譜的隊友外,你可曾知道 天氣也在偷偷影響你?不知道大家有沒有這樣一種感覺,一到下雨天,家裡wifi的網速就明顯變慢!是的,這不是你的錯覺。空氣濕度對wifi訊號有很大的影響,水分子對2.45g頻段電磁波的吸收加熱作用尤為明顯,而家用微波爐和wifi用...