機器學習在交通標誌檢測與精細分類中的應用

高德技術發表於2019-07-24

 導讀


資料對於地圖來說十分重要,沒有資料,就沒有地圖服務。使用者在使用地圖服務時,不太會想到資料就像冰山一樣,使用者可見只是最直接、最顯性的產品功能部分,而支撐顯性部分所需要的根基,往往更龐大。

地圖資料最先是從專業採集來的,採集工具就是車、自行車、飛機和衛星影像等,近兩年有了利用智慧硬體的眾包採集。採集之後,就是把資料更新的速度和精準度都無限提升。因為地面上變化太快了,使用者越來越依賴於地圖應用。所以資料更新的速度和資料的準確度就是在乎使用者體驗的地圖公司的第一要務了。而資料更新的第一步,就是交通標誌檢測。

本文將主要介紹機器學習技術在高德的地圖資料生產的具體應用,這些技術方案和設計都已經過驗證,取得了不錯的效果,並且為高德地圖資料的快速更新提供了基礎的技術保證。

 

“交通標誌檢測”定義


交通標誌檢測,特指在普通街景影象上通過自動化手段檢測出各種型別的交通標誌,如限速、禁止掉頭、人行橫道和電子眼等。這些檢測結果將作為生產資料交付給地圖資料製作流程,最終演變為服務於廣大使用者的地圖資料。

 

難點與挑戰


交通標誌檢測的主要難點有樣式繁雜,且在拍攝過程中受自然環境的影響較大。此外,為滿足資料更新的速度和資料準確度的要求,對於演算法的效能要求也格外嚴格。

樣本形態差異大

交通標誌的形態差異主要體現在:

  • 型別繁多:國標定義的交通標誌有幾百個型別;

  • 形狀多樣:常見交通標誌的形狀有三角形、圓形、方形、菱形、八邊形等,還有地面標線、電子眼、訊號燈,以及限高杆、柵欄等物理設施;

  • 顏色分佈廣泛:常見的有黃色、紅色、藍色、綠色、黑色、白色等;

  • 影象內尺寸差異大:從幾百畫素(如方牌、人行橫道等)到十幾畫素(如電子眼)不均勻分佈;

圖1 常見道路交通標誌(標牌類)

自然場景下變化多端

在自然場景下,交通標誌存在樹木或車輛遮擋、磨損等情況;天氣、季節等也會影響到影象採集過程中,造成影象模糊、顏色失真等。

圖2 自然場景下拍攝的交通標誌

一些外形與交通標誌相似的標牌,如商戶的招牌、交通公益廣告牌等,對演算法的準確率造成極大的挑戰。

圖3 類似交通標誌的噪聲示例

效能要求

  • 準召率:我們的應用場景中對於召回率和準確率的要求極高,任何未召回都會導致資料更新的延遲,而錯召回則會影響作業效率與作業週期,最終對資料的快速更新造成影響;

  • 吞吐量:高德每天需要處理上億張圖片,這就要求我們的演算法不僅效果要好,處理速度也必須夠快,以免造成資料積壓,影響地圖資料的更新時效;

  • 擴充套件性:交通標誌的型別不是一成不變的(國標會存在調整,不同國家和地區之間各有特色),因此需要演算法環節具有非常好的擴充套件性,能夠快速適應新增的各種交通標誌型別;

高德地圖中的交通標誌檢測方案


當前學術界針對目標檢測任務常用的深度學習模型一般都採用End2End的方式進行訓練,以得到全域性最優的檢測效果。這個方案在使用時非常簡單,只需要標註好“幾百類物體的樣本”,然後放到深度學習的框架裡進行迭代訓練,就可以獲得最終模型,主要可以分為Two Stage(FasterRCNN[1])和One Stage(YOLO[2],SSD[3])兩大類。

但是在實際使用過程中,需要應對如下問題:

  • 樣本標註成本高:所有訓練樣本都需要進行全類別標註,當有新增類別時需要將歷史訓練樣本全量補標,成本極高;

  • 無法單類迭代:由於交通標誌出現的頻率和重要性不等,業務上對於部分型別(如電子眼、限速牌等)的準召率要求更高。但是End2End的模型必須針對所有型別全量迭代,無法優化單一型別,導致演算法迭代和測試成本極高;

  • 模型訓練難度大:我們需要處理的交通標誌有幾百類,且各自出現頻率差異很大,使用單一目標檢測模型完成如此巨大的分類任務,模型訓練難度太大,收斂緩慢,召回率、準確率上難以平衡;

結合通用目標檢測技術的發展以及高德地圖對於交通標誌檢測的需要,我們最終選擇了Faster-RCNN作為基礎檢測框架,它的檢測效果更好(尤其是針對小目標),獨立的RPN網路也可以滿足擴充套件性要求。速度方面,我們也進行了針對性的優化調整。

在實際使用時,我們將檢測框架分為目標檢測與精細分類兩階段:

圖4 交通標誌檢測的目標檢測和精細分類階段

目標檢測階段

目標檢測階段的目的是通過Faster-RCNN在圖片中檢測所有的交通標誌,並進行粗分類,要求極高的召回率和執行速度。在實際使用時,我們採用瞭如下策略來提升演算法能力:

  • 效果方面:將檢測目標根據外形特徵分為N大類(如圓形、三角形、方形,以及高寬比異常的人行橫道等),再為每一類配置專屬的RPN網路,各個RPN根據對應的尺寸特性設計Anchor的Ratio和Scale;不同RPN根據需要使用不同層的特徵圖,設計更有針對性;

  • 效果方面,針對各個型別樣本分佈不均勻問題,使用多種樣本增強手段,並在訓練過程中使用OHEM等方式進一步調整樣本分佈;

  • 效果方面,還借鑑了IoU-Net、Soft-NMS等方案,進一步提升檢測效果;

  • 效能方面,各個大類之間共享基礎卷積層,保證檢測時間不會過分增長;

  • 擴充套件性方面,對於新增型別,理想情況下只需要新增一個RPN網路單獨迭代,可以不對其他型別的效果造成任何影響(如下圖,RPN1和RPN2完全獨立);

    圖5 多RPN設計示意圖

精細分類階段

精細分類階段的目的是對目標檢測階段得到候選框進行精細分類並濾除噪聲,保證極高的召回率和準確率。在實際實現中,還使用以下策略來提升效果:

  • 為每個大類配置獨立的精細分類網路,互相之間不干擾;各個大類的迭代完全獨立和並行,可以多人並行研發,有效縮短研發週期;

  • 針對各個大類的難易程度,選擇不同計算複雜度的網路來完成精細分類和噪聲抑制,避免因為某些型別複雜度過高產生效率瓶頸;

  • 樣本方面,各個大類可以獨立收集樣本,可以針對特定型別進行收集和標註,訓練和測試集合的構建效率大幅提升;

如下圖,針對圓形標牌,其差異比較明確,可以使用簡單網路;針對方牌,需要根據文字佈局和內容來區分正負樣本,分類難度大,因此必須使用較深的網路:

 

圖6 精細分類模組示意圖

由於同時使用了多個模型,上述方案會導致伺服器的視訊記憶體佔用顯著增加,對計算資源產生額外要求。針對該問題,我們針對深度學習框架進行優化,動態分配並在各模型間共享臨時緩衝區,並裁剪框架的反向傳播功能,最終使得視訊記憶體佔用降低50%以上。

 

效果與收益


上述方案已經正式上線,準召率都達到了生產作業的要求,日均圖片吞吐量在千萬以上。以下是部分效果圖(不同框代表不同檢測結果):

 

 

 

圖7 交通標誌檢測效果圖

小結


交通標誌檢測技術已經在高德地圖內部得到應用,有效提升了高德地圖的資料製作效率,達成地圖資料更新速度接近T+0(時間差為零)的目標。

目前我們也在把機器學習技術用於資料的自動化製作,進一步減少現實世界和地圖資料之間的差異,做到“連線真實世界,讓出行更美好”。

 關注高德技術,找到更多出行技術領域專業內容

相關文章