曠視AI復雜場景的交通標志檢測
交通標志本身種類眾多,大小不定,并且在交通復雜的十字路口場景下,由于光照、天氣等因素的影響,使其被精確檢測變得更加困難。提高上述場景下交通標志檢測準確度,將有助于降低十字路口交通事故發生的概率。
提供真實場景的道路圖片,部分圖片給出了交通標志的標注結果,所有交通標志共計 5 個類別,分別為紅燈、直行標志、向左轉彎標志、禁止駛入和禁止臨時停車。
數據示例如下:
初賽1/177,復賽1/12
框架
megengine
算法方案
網絡框架
atss + resnext101_32x8d
訓練階段
mosaic增強
隨機選擇四張圖片,對圖片進行隨機平移10%,尺度縮放(0.5,2.0),shear 0.1,最后將四張圖片進行組合。
mixup增強
隨機選取兩張圖進行疊加,我們最終選用的比例是0.5 * 原圖+0.5 * 新圖片,同時其進行縮放(0.5,2.0)。
下圖為mosaic+mixup示例圖:
圖片尺寸
最終提交版本輸入圖片尺寸為(1500,2100)多尺度訓練(最終提交版本未采用)
起初我們將短邊設為(1024, 1056, 1088, 1120, 1152, 1184, 1216, 1248, 1280, 1312, 1344, 1376, 1408),隨機選取短邊后,長邊按比例縮放,并使長邊長度小于1800,從而進行多尺度訓練,取得了很好的效果。不過后期的mosaic和mixup在增強時對圖片進行了縮放,實則隱含了多尺度訓練,且效果優于上述方法,所以我們最終去掉了多尺度訓練。數據增強
mosaic增強
隨機選擇四張圖片,對圖片進行隨機平移10%,尺度縮放(0.5,2.0),shear 0.1,最后將四張圖片進行組合。
mixup增強
隨機選取兩張圖進行疊加,我們最終選用的比例是0.5 * 原圖+0.5 * 新圖片,同時其進行縮放(0.5,2.0)。
隨機水平翻轉
直接對圖片進行翻轉,會導致第三個類別“arr_l”(左轉線)和右轉線混淆,故我們添加了class-aware的翻轉,遇到有“arr_l”類的圖片則不進行翻轉。
基于Albumentations庫的各種增強(最終提交版本未采用)
我們嘗試了ShiftScaleRotate(驗證集+0.5)、CLANE(驗證集+1.0)、RandomBrightnessContrast等,但組合起來測試集提點欠佳,所以最后沒用。
gridmask增強(最終提交版本未采用)
生成一個和原圖相同分辨率的mask(每個grid上全為0或全為1),然后將該mask與原圖相乘得到一個圖像。提點欠佳,所以沒采用。
類別平衡采樣(最終提交版本未采用)
使用類別平衡采樣后,效果不是很好,這可能是因為數據集本身沒有嚴重的類別不均衡。下面是我們統計的每個類別在圖片中出現的頻率。
多尺度測試
多尺度測試圖片尺寸
最后提交版本(2100,2700),(2100,2800),(2400,3200),如果繼續增加尺度,map還會繼續提高。
topk—nms
對上述三個尺度生成的結果先進行nms,再將得到的結果框與剩下所有框進行topk—nms(保留與當前結果框iou大于0.85的topk的框,把這些框的坐標進行融合),參數設置vote_thresh=0.85, k=5。
網絡結構
加上增強后,backbone從res50到res101再到resx101有穩定漲點。
我們還在backbone部分嘗試了dcn和gcnet,驗證集收效甚微,最終沒有采用。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















