天天看點

高精地圖中地面辨別識别技術曆程與實踐

導讀:本文将主要介紹高德在高精地圖地面辨別識别上的技術演進,這些技術手段在不同時期服務了高精地圖産線需求,為高德地圖建構高精度地圖提供了基礎的技術保證。

1.面辨別識别

地面辨別識别,指在地圖道路中識别出各種類型的地面辨別元素,如地面箭頭、地面文字、時間、地面數字、減速帶、車距确認線、減速丘、人行橫道、停止讓行線、減速讓行線等。這些自動化識别結果将作為生産資料傳遞給地圖生産産線,經過制作後演變成服務于自動駕駛、車載導航、移動導航的地圖。

高精地圖一般對各個地圖要素精度至少有着厘米級的要求,是以相對于普通地圖來說需要更高的位置精度,這也是與普通地圖識别的最大不同,是以探索如何将地面辨別識别得又全又準是我們一直努力的方向。

地面辨別識别有兩大難點:一是地面辨別本身的種類、大小繁多,二是地面辨別易被磨損遮擋,清晰度參差不齊,這給高精度識别帶來了巨大的挑戰。

1)地面辨別種類繁多:實際場景中地面辨別種類繁多,在内容、顔色、形狀、尺寸等方面均有不同分布。

顔色:比如黃色、紅色、白色等

形狀:箭頭形、各種文字數字形狀、條形、多條形、面狀、丘狀等

尺寸:國标定義的标準箭頭長度為9m,但也存在1m~2m甚至1m以下的地面辨別元素,尤其減速帶以及人行道等尺寸差異會更大,反映到圖像中像素個數以及長寬比均會有較大差異。

高精地圖中地面辨別識别技術曆程與實踐

圖1. 部分地面辨別

2)磨損壓蓋多:地面元素長年累月受車輛、行人等碾壓會造成磨損,以及經常存在的堵車等場景更是加大了地面要素被遮擋的可能。是以從雷射雷達擷取的點雲資料和由相機擷取的可見光圖像資料的品質均參差不齊,對地面标志識别帶來了極大的挑戰。

常見的問題如下所示,示例如圖2所示。

地面辨別磨損:地面标志由于磨損褪色、掉漆導緻不完整或者嚴重不清晰

采集環境問題:遮擋(施工、車輛)、由于環境改變引起的材料雷射反射率差異以及可見光不清晰(雨天、逆光等)

高精地圖中地面辨別識别技術曆程與實踐

圖2. 自然場景下拍攝的地面辨別

2. 識别起步

地面辨別識别需要做的是将地面辨別這部分區域提取出來,則最直覺的是對其進行門檻值分割、骨架提取、連通域分析等傳統方法。首先擷取點雲中地面點集合,接着擷取集合中高反射率部分的骨架集合,然後對每個局部骨架區域計算強度截斷門檻值,最後對區域進行連通區域搜尋以及附加降噪措施等。

另外我們也嘗試了GrabCut等算法在地面标志上的提取,GrabCut算法對前景和背景分别聚類,得到k組類似的像素集合,然後對前景和背景分别進行高斯混合模型(GMM)模組化,判斷像素屬于地面标志還是背景。在提取疑似地面辨別區域後,再經過機器學習模型(SVM等)進行細分類以獲得更好的識别效果。

高精地圖中地面辨別識别技術曆程與實踐

圖3. 傳統提取方法識别結果

由上圖可以看到,對于一些前後景區分比較好的地面辨別提取的比較好,但是針對有磨損、模糊、前景背景相似、背景複雜等情況均效果欠佳,容易漏召回且位置精度不高,魯棒性不強。

3.深度學習時代

2012年Hinton團隊提出的Alexnet網絡赢得了2012年圖像識别大賽冠軍,相比傳統方法獲得顯著提升,CNN在圖像領域有了明顯優勢。近幾年,基于深度學習的檢測識别技術也得到了很大發展。

深度學習時代是資料和硬體驅動的時代,結合部分人工标注以及自動化生成,我們擁有百萬級的資料,而且各種場景的資料還在不斷豐富,結合算法探索與創新,我們取得了越來越好的技術與業務效果。

目前檢測識别技術主要分為兩大方向:Two-Stage(如RCNN系列)和One-stage(SSD、YOLO等)。Two-Stage網絡優勢在于效果整體較好,識别位置較精确,對小目标檢測也有一定的競争力。

One-stage檢測識别方法優勢在于處理速度較快。高精地圖不僅需要較高的識别性能、也需要有足夠高的識别位置精度,是以我們選擇了準确率較高的Two-stage大方向。

1)R-FCN檢測

結合位置敏感得分圖(position-sensitive score map)和位置敏感降采樣(position-sensitive roi pooling)等操作,R-FCN算法在目标檢測識别上獲得了較高的性能和位置精度,我們選擇了R-FCN檢測算法實作對地面辨別的檢測識别。

R-FCN算法基于深度學習的方法,通過學習大量實際場景樣本,是以在泛化性上取得了比較大的提升,自動化識别對于不同場景的識别能力有所提高,地面辨別召回率得到了較大的改善。算法示意圖如下所示:

高精地圖中地面辨別識别技術曆程與實踐

圖4. R-FCN算法示意圖

以下為一些地面辨別檢測識别示例:

高精地圖中地面辨別識别技術曆程與實踐

圖5. R-FCN算法地面辨別識别示例

引入深度學習極大的改善了高精地圖地面辨別自動識别的性能,地面辨別召回得到了很大提升,美中不足的是R-FCN存在着一個弊端就是其輸出的最終檢測位置是基于地面辨別類别的得分,但往往得分最高的位置并不一定跟實際位置最貼合,是以在位置預測精度上,R-FCN并不完美。

2)級聯檢測器

随着深度學習的發展以及業界對目标檢測識别位置精度的要求不斷提高,更多高精度檢測識别算法被提了出來,如Iou-Net等。

我們适時采用了更加先進的識别算法,以期獲得更加精準的位置精度來滿足産線業務需求,結合級聯檢測,利用Deformable-Conv自适應感受野等技術提升算法識别精度。

該算法不同于傳統算法對roi進行一次預測回歸得到最終位置,而是通過級聯的形式不斷修正預測的位置和實際位置的偏差,每經過一個級聯回歸器,算法識别結果均會更加貼合真值,這非常有利于提高識别精度,契合高精地圖對目标位置精度的高要求,最後在召回和位置精度上都達到更好的效果。

高精地圖中地面辨別識别技術曆程與實踐

圖6.級聯檢測算法原理圖

以下為一些算法識别結果示例:

高精地圖中地面辨別識别技術曆程與實踐

圖7. 級聯檢測算法識别示例

通過引入級聯形式的檢測識别模型令高精産線自動識别能力在識别精度上得到了不錯的提升,但我們對自動識别位置精度提升的挖掘是無止盡的,是以有了以下的方案。

3)級聯檢測 + 局部回歸

設想一下,如果我們在地面辨別區域進行局部的位置回歸,那麼網絡就能夠聚焦到更加細微的地面辨別區域,最終得到更加接近邊界的位置。結合實際在做地面标志識别時,我們将容易造成精度問題的部分單獨做位置精修,得到了更加精細的位置。

以下為部分算法識别結果示例:

高精地圖中地面辨別識别技術曆程與實踐

圖8. 算法識别示意圖

采用檢測+回歸技術方案實作了更加好的位置檢測精度,讓我們離“真實世界”更進了一步。其缺點是技術方案流程較長,不夠簡潔美觀。

4)基于角點的檢測

基于角點回歸的目标檢測方法,使用單個卷積神經網絡預測兩組熱力圖來表示不同物體類别的角的位置,即将目标邊界框檢測為一對關鍵點(即邊界框的左上角和右下角),以及每個檢測到的角點的嵌入向量。其中角點用于确定目标位置,嵌入向量用于對屬于同一目标的一對角點進行分組。

此種方法簡化了網絡的輸出,通過将目标檢測為成對關鍵點,消除了現有的檢測器設計中對特征層需要大量anchors的弊端,因為大量anchors造成了大量的重疊以及正負樣本不均衡。同時為了産生更緊密的邊界框,網絡還預測偏移以精細調整角點的位置。通過預測熱力圖、嵌入向量、以及偏移最終得到了精确的邊界框。

高精地圖中地面辨別識别技術曆程與實踐

圖 9 角點檢測示意圖

由于在檢測任務中需要擷取相同尺寸的特征圖對目标進行位置回歸、類别分類等,算法會對其進行量化以及降采樣等操作,不可避免會有精度上的損失。這個弊端帶來的最大影響就是經由檢測回歸出的位置不夠魯棒,在某些情況下會出現或多或少的偏移。

5)級聯檢測 + 分割精修

随着語意分割技術的不斷成熟,基于深度學習的語意分割已經能夠将輸入圖像進行像素級的分類,而且其精度也越來越高,也就是圖檔中要素的輪廓越來越精細。

我們采用以resnet 為主幹的分割模型,并結合了自适應感受野、多尺度融合、Coarse-Fine融合、感興趣區域注意力機制等技術實作了對地面辨別的像素級分割。

為了擷取地面辨別的實體資訊,我們仍然用檢測來确定地面辨別大緻位置,但是不同的是最終由對應區域的地面辨別分割語義資訊擷取最終精确的地面辨別位置。

高精地圖中地面辨別識别技術曆程與實踐

圖10.地面辨別分割示意圖

以下為部分檢測結合精修示例圖:

高精地圖中地面辨別識别技術曆程與實踐

圖11. 分割精修示例

語義分割的引入使得地面辨別的識别位置精度得到了改善,解決了由檢測帶來的識别位置精度不魯棒的問題,使得高精地圖地面辨別自動化效果上了一個新的台階。

但是這種方法稍顯繁瑣,而且檢測和分割任務都需要耗費大量GPU資源,也就是說一張圖檔需要同時多次GPU運算加上後續的CPU後處理融合才能夠得到最終的結果,如果能夠将這些步驟優化,那麼必然能夠簡化流程同時節省大量運算資源。

6)PAnet

基于以上考慮,我們采用了基于PAnet的檢測識别算法。傳統的執行個體分割模型各層中的資訊傳播不夠充分。PAnet較好的解決了這些問題,充分融合了coarse、fine特征,不僅有自頂向下的特征融合還結合了自底向上的特征融合,在高層特征中充分融合進了底層的強定位特征,解決了淺層特征資訊丢失的問題。

另外還結合了自适應特征降采樣将不同特征層進行融合提取roi特征做預測,以及添加額外mask前景背景分類分支,使得預測mask更加精确,這些手段結合對于目标檢測位置精度有比較大的收益。同時,分割和檢測任務結合能夠互相促進取得更好的結果。

高精地圖中地面辨別識别技術曆程與實踐

圖 12 PAnet 示意圖

以下為一些算法的識别結果示例。可以看到算法對部分磨損模糊的地面辨別也有了一定的寬容度,其位置精度有了巨大的改善。(圖中地面辨別外框為檢測得到的大概位置,内框為根據像素級分割得到的位置,取内框為地面辨別最終位置)。

高精地圖中地面辨別識别技術曆程與實踐

圖 13 檢測識别執行個體

采用上述方案需要将點雲投影為2D空間,中間有一定的歸一化量化操作,不可避免的會損失一些資訊,最直覺的是在一些點雲反射率較低的地方容易造成目标丢失。如果能夠在原始3維點雲上提取那麼這些問題就迎刃而解。

7)基于3維點雲的目标檢測

基于上面的考慮,我們探索原始點雲上的3D物體檢測,3D點雲識别是各種真實世界應用的一個重要組成部分,如自主導航、重建、VR/AR等。與基于圖像的檢測相比,雷射雷達提供可靠的深度資訊,可以用于精确定位物體并表征它們的形狀。

我們探索了多種3維點雲識别算法,比如基于bird-view、voxel等的3維點雲識别。由于PointRCNN在原始3維點雲目标檢測上的良好表現,我們采用基于PointRCNN的方法提取地面辨別,整個檢測架構包括兩個階段:第一階段将整個場景的點雲分割為前景點和背景點,以自下而上的方式直接從點雲生成少量高品質的3D proposal。

第二階段在規範坐标中修改候選區域獲得最終的檢測結果,将每個proposal經池化後轉換為規範坐标,以便更好地學習局部空間特征,同時與第一階段中全局語義特征相結合,用于預測Box優化和置信度預測。

高精地圖中地面辨別識别技術曆程與實踐

圖 14 3維點雲檢測

4. 效果與收益

大資料的支撐使得我們的算法擁有更好的魯棒性與識别能力。結合算法中各種政策以及多種資料源(點雲、可見光等),我們在不斷提升地面辨別識别精度,其位置精度在Ground Truth 5cm範圍區間内達到99%以上,召回也達到了99.99%以上,各項名額都得到了穩步提升。

上述方案已經正式上線,并處理了大量資料,準召率都達到了生産作業的要求,同時算法對人工作業産線的效率提升作用日益提高。以下是部分效果圖:

高精地圖中地面辨別識别技術曆程與實踐

圖15. 地面辨別檢測效果圖

5. 寫在最後

高精地圖被稱作自動駕駛系統的“眼睛“,與普通地圖最大的不同點在于使用主體不同。普通導航地圖的使用者是人,用于導航、搜尋,而高精地圖的使用者是計算機,用于高精度定位、輔助環境感覺、規劃與決策。因而高精地圖對地圖要素不僅需要極高的召回率,還需要非常高的位置精度。

高精地圖中要素的識别對技術提出了比較高的要求,縱觀整個高精地圖産業發展,地圖制作逐漸從純人工過渡到半自動乃至全自動。期間識别技術也不斷得到發展與完善,從手動構造特征到自動特征、從2維識别到3維以及更高維識别、從單源識别到多源融合等。

目前,高精地圖多采用人工作業,人工作業品質和效率始終是一個沖突點,相比之下,機器自動識别有着更高的效率、更低的作業成本以及不亞于人工的作業品質。自動識别的應用必将加速高精地圖建構,推動高精地圖産業發展。高精度地面辨別識别技術已經在高德高精地圖内部得到應用,有效提升了資料制作效率與制作品質,為高德建構高精地圖提供堅實的技術支撐。

繼續閱讀