本發明涉及特征提取、特征拼層和物體檢測技術領域,具體的說,是涉及一種自動駕駛場景中小且密集的交通標志檢測方法。
背景技術:
近年來,自動駕駛是人工智能領域的熱點研究和應用。在自動駕駛場景中,交通標志的檢測和識別對行車周圍環境的理解至關重要。精確的檢測對后續識別,輔助定位和導航起著決定性的作用。例如,通過交通標志檢測識別限速標志來控制當前車輛的速度;將交通標志嵌入到高精度地圖中,對定位導航起到關鍵的輔助作用等。交通標志的種類眾多,大小、角度不一,本身就很難做到精確檢測,并且在真實的行車環境中,拍攝到的交通標志還存在著很多的問題。例如在場景較為復雜的十字路口,存在著很多密集的交通標志,也可能存在很多顏色、形狀與交通標志相似的物體,它們會干擾交通標志的精確檢測;交通標志的顏色還會受到光照和天氣的影響,白天強烈的光照會影響交通標志的檢測,夜晚也會受到路燈、車尾燈光反射的影響;拍攝到的交通標志還會受到建筑物、樹木、行人等的遮擋;交通標志長期暴露在自然環境下,經受風吹日曬雨淋,與空氣中的污染物質發生化學反應,會使交通標志褪色變形。拍攝的圖片中存在大量較小的交通標志。如何檢測到圖片中大量小且密集的交通標志是一個重點,也是一個難點。
在過去的幾年里,得益于卷積神經網絡的發展,基于深度學習的物體檢測方法得到了很大的提升。現有的基于深度學習的物體檢測方法大致可以分為兩大類:一類是基于候選框提取的物體檢測算法,也就是說,首先通過一些提取候選框的方法來產生候選目標框,然后對這些候選框提取特征進行分類,再通過邊框回歸算法對物體的位置進行修正,最后通過非極大值抑制算法來去除同一物體重復的候選框,保留物體最精確的位置。r-cnn物體檢測框架是基于候選框提取的物體檢測算法的經典代表之作。2012年,krizhevsky等人設計卷積神經網絡來做圖像分類,在2012年大規模圖像視覺挑戰賽(ilsvrc)上,使用該卷積神經網絡將top-5的錯誤率降到了15.3%,比使用傳統方法做分類的第二名低了大約11%。rossgirshick等人認為卷積神經網絡在圖像分類上取得了很好的效果,何不把它與物體檢測結合起來呢。于是他們提出了r-cnn(基于候選框的卷積神經網絡)目標檢測框架,將卷積神經網絡和物體檢測結合到了一起。r-cnn首先通過selectivesearch(選擇性搜索)算法來提取大約2000個候選框,把它們縮放到同樣大小輸入到卷積神經網絡來提取特征,再用提取到的特征訓練一個較好的svm(支持向量機)來做分類,然后再使用邊框回歸算法對物體的位置進行修正,最后通過非極大值抑制找到物體最精確的位置。r-cnn的訓練過程分為多個階段,且要保存中間特征,浪費時間和空間。spp-net(空間金字塔網絡),fastr-cnn(快速基于候選框的卷積神經網絡)在此基礎上逐步做了改進,分別提出候選框共享卷積網絡,多任務訓練網絡,將候選框分類和邊框回歸同時加入到網絡中來訓練,除去候選框的提取,網絡的訓練過程是端到端的,候選框的提取成為了限制物體檢測速度的瓶頸。為了解決這個問題,fasterr-cnn(更快基于候選框的卷積神經網絡)提出了rpn(候選框提取網絡)來提取候選框,rpn和fastr-cnn結合起來,使得整個網絡的訓練過程都是端到端的,這一策略使得物體檢測的速度和精度又有了很大的提升。為了進一步解決圖像分類時的旋轉不變性和物體檢測時的位置的旋轉可變性之間的矛盾,r-fcn(基于候選框的全卷積網絡)將roipooling(候選框下采樣)層后移,提出位置敏感權重圖策略使得網絡變成一個全卷積網絡,不再有全連接層,進一步加快了目標檢測的速度和準確率。另一類基于回歸方法的物體檢測框架的典型代表是yolo和ssd,它們不必先提取候選框,再進行候選框的分類和位置調整,而是直接對圖像進行網格劃分,在每個網格對應位置回歸出目標位置和類別信息,它們網絡訓練的整個過程都是端到端的,檢測速度非常快,完全可以達到實時的要求,但它們的檢測精度還有待提高,尤其是對于小物體的位置檢測。
技術實現要素:
本發明的目的是為了克服現有技術中的不足,提供一種自動駕駛場景中小且密集的交通標志檢測方法,本發明基于r-fcn物體檢測框架,使用具有淺層特征的vgg16作為r-fcn的主體特征提取網絡,對vgg16網絡進行修改,提出降低特征圖縮小倍數、特征拼層的策略,使得小物體的檢測得到了很大的提升,很好地解決了自動駕駛場景中交通標志的檢測問題。
本發明的目的是通過以下技術方案實現的:
一種自動駕駛場景中小且密集的交通標志檢測方法,包括以下步驟:
(1)采集車輛行車記錄儀拍攝的視頻數據,從中提取圖片,對圖片中的交通標志進行標注,形成由<圖像,目標框>對構成的交通標志數據集;
(2)數據預處理,對所述交通標志數據集進行預處理;
(3)使用淺層網絡vgg16作為r-fcn物體檢測框架的主體網絡;
(4)改進vgg16網絡模型,采用淺層特征,縮小特征圖下降倍數,訓練rpn網絡提取候選框;
(5)改進vgg16網絡模型,將淺層同組特征進行特征組合,輸入到r-fcn后續的檢測框架中,對候選框進行分類和邊框回歸,最終檢測到圖片中的所有交通標志。
接下來對本發明交通標志檢測方法的五個步驟進行詳細介紹:
步驟(1)的過程如下;
a.車輛行車記錄儀拍攝了行車過程中的道路狀況,保存了大量的視頻數據,從這些視頻數據中按照一定的時間間隔來提取視頻幀,或者人工挑選視頻幀,并對這些視頻幀進行編號,構成圖片數據集合
b.每張圖片中都會存在大量的交通標志,需要人工把圖片中的所有交通標志的具體位置用矩形框標注出來,每一個交通標志對應的位置數據是boundingbox=(x1,y1,x2,y2),其中x1,y1是交通標志在圖片中對應的矩形框的左上角位置,x2,y2是交通標志在圖片中對應的矩形框的右下角位置;
c.通過現有的圖像集合img以及每個圖像對應的所有的交通標志位置數據集合boundingboxes構成最終的交通標志數據集dataset={img,boundingboxes}。
步驟(2)對交通標志數據集存在的問題進行預處理包括:
a.行車記錄儀在拍攝行車道路環境時會受到很多因素的影響,由于光照,天氣,運動抖動等原因,使得拍攝的圖像中會存在著一定的噪聲,需要對這些噪聲進行一些預處理。通過圖像增強、圖像均衡、圖像去噪等算法,將圖像的光線均衡化,使得圖中的交通標志變得更加清晰。
b.rpn網絡提取候選框時采用了平移可變性的anchors(錨點)機制,對最后一層卷積層的每一個特征點預測出9個anchors,它們的寬高比和尺度分別是1:2,1:1,2:1和1282,2562,5122,交通標志數據集中存在大量較小的交通標志,交通標志的類型有很多種,也就存在著很多的寬高比,因此需要對所有交通標志目標框的寬高比進行統計,通過聚類的方法找到目標框的3個寬高比中心點,由于交通標志數據集中存在大量較小的交通標志,本發明增加了一個較小的acnhor尺度642,使小物體的檢測變得更加準確。
步驟(3)中:由于深層網絡googlenet,resnet-50,resnet-101對于圖片分類取得了很好的效果,resnet-50,resnet-101作為r-fcn物體檢測框架的主體網絡對于較大物體的檢測效果還不錯,但是對于小物體的檢測效果并不是很好。深層網絡最后一層的卷積層特征神經元感受野比較大,特征比較粗糙,對于小物體的定位比較困難。因此,針對較小交通標志的檢測,本發明采用層數不是很深的vgg16來作為r-fcn物體檢測框架的主體網絡;vgg16網絡有13個卷積層,分別是{conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3},每個卷積層的卷積核大小都是3×3,步長是1,這13個卷積層可以劃分為5組,每一組特征圖的尺度大小都是相同的,每一組卷積層后面都接了一個大小為2×2,步長為2的下采樣層,即{pool1,pool2,pool3,pool4,pool5},只把vgg16卷積層conv1_1到conv5_3層的特征來作為r-fcn的主體框架,并在此基礎上對vgg16網絡進行改進,使得小物體的檢測更加準確。
步驟(4)中,雖然vgg16作為r-fcn物體檢測的主體網絡對于小物體的檢測效果有一定的提升,但是通過分析交通標志數據集中目標框的短邊范圍,發現交通標志數據集中存在大量短邊范圍小于16的目標框,vgg16從卷積conv1_1到卷積conv5_3中間經過了4次步長為2的下采樣操作,使得最后一層特征圖的邊長相比原始圖片縮小了16倍,也就是說最后一層卷積特征圖中的一個特征點對應原始圖片中16×16個像素點,rpn網絡在conv5_3上進行候選框的提取,提取出的邊長小于16的候選框被過濾掉了,因為邊長小于16的候選框在和最后一層卷積層作映射時無法找到對應的位置,這就使得數據集中的邊長小于16的交通標志無法被更好地檢測出來,因此對vgg16進行改進。
該步驟(4)中使用了縮小特征圖下降尺度的策略,將vgg16網絡的卷積層特征conv5_1,conv5_2,conv5_3和卷積conv4_3層后面的下采樣層pool4去掉,使用l2normalizelayer對conv4_3層的特征進行標準化,然后輸入到后續的rpn網絡中來提取候選框。從conv1_1到con4_3中間經過了3次步長為2的下采樣操作,原始圖片到conv4_3層邊長相當于縮小了8倍,這樣邊長在8到16范圍內的小物體得到了更好的檢測。
步驟(5)中由于rpn網絡產生的邊長較小的候選框和最后一層卷積特征作映射后得到的特征圖較小,只用conv4_3層輸入到r-fcn后續的網絡中來做分類和邊框回歸特征不充足,對于小物體位置定位來說檢測效果不是很好,還有待提升。為了能夠豐富小物體的特征信息,使得對于小物體的位置定位更加精確,該步驟中將vgg16同組的卷積conv4_1,conv4_2,conv4_3分別通過l2normalizelayer標準化,然后再將它們拼接起來,稱之為組合特征,輸入到后續的網絡中來做分類和邊框回歸,這一改進能夠檢測到更多的小物體,小物體的定位精確度也得到了一定的提升。
根據第(3)、(4)、(5)步,設計好訓練模型的網絡配置文件train.prototxt,test.prototxt,solver.prototxt,將采集到的交通標志數據集按照pascalvoc數據集的格式進行處理,并放置到相應的文件夾下,注意各個文件存放的路徑,調用訓練模型的腳本文件開始訓練模型,每迭代10000保存一個訓練模型,最后從中挑選測試最好的模型來作為最終的檢測模型,來檢測圖片中的所有的交通標志。
與現有技術相比,本發明的技術方案所帶來的有益效果是:
現存的一些物體檢測框架,對于較大物體的檢測效果還不錯,但是對于存在較多密集的小物體的圖片而言,檢測效果很差,會出現檢測不到,定位不準確的問題。而本發明在r-fcn物體檢測框架上做了改進,使用淺層的vgg16網絡來代替深層的resnet-50,resnet-101網絡,并對vgg16網絡進行了改進,為了能夠檢測到邊長小于16的物體,去掉了vgg16網絡的第5組卷積層特征conv5_1,conv5_2,conv5_3,同時也去掉了卷積層conv4_3后面的下采樣pool4層,增大了特征圖的分辨率,rpn在提取候選框的時候可以保存邊長范圍在8到16個像素的小的候選框。將經過l2normalizelayer標準化后的卷積層conv4_1,conv4_2,conv4_3通過concatelayer(連接層)拼接到一起,輸入到r-fcn后續的網絡中,在最后一個卷積層和rpn提取出來的候選框作映射進行分類和邊框回歸。此外通過實驗證明本發明方法的檢測效果非常不錯,小物體的定位也非常準確,為后續交通標志的識別帶來了很大的便利。
附圖說明
圖1是本發明使用的物體檢測框圖;
圖2具體實施過程中采集到的交通標志數據集中的原始圖片;
圖3-1、3-2和3-3是對不同模型檢測結果的對比圖。
具體實施方式
下面結合附圖對本發明作進一步的描述。
本實施例選取一幅行車記錄儀拍攝的圖像作為待檢測的圖片,使用本發明提出的物體檢測框架檢測出圖片中所有的交通標志,并將它們用矩形框框選出來。
1.采集車輛行車記錄儀拍攝的視頻數據,從中提取圖片,對圖片中的交通標志進行標注,形成由<圖像,目標框>對構成的交通標志數據集:
(1)從車輛行車記錄儀拍攝的視頻中按照一定的時間間隔來提取視頻幀,或者人工挑選視頻幀,并對這些視頻幀進行編號,構成圖片數據集合img={image1,…,imagend},其中nd是數據集合img中的圖像總數;
(2)將圖片中所有交通標志的具體位置用矩形框標注出來,每一個交通標志用四個數值來表示,boundingboxs=(x1,y1,x2,y2),其中x1,y1是交通標志在圖片中對應的矩形框的左上角位置,x2,y2是交通標志在圖片中對應的矩形框的右下角位置;
(3)通過現有的圖像集合img以及每個圖像對應的所有的交通標志位置數據集合boundingboxes構成最終的交通標志數據集dataset={img,boundingboxes}。
2.數據預處理,對交通標志數據集存在的問題進行預處理;
(1)對圖片進行去噪處理,通過圖像增強、圖像均衡、圖像去噪等算法,將圖像的光線均衡化,突出關鍵信息,使圖片中的交通標志更容易被檢測出來。
(2)rpn網絡提出了anchor(錨點)機制,訓練網絡時需要設置anchor的尺度和寬高比,本實施例設置了4種anchor尺度,即64×64,128×128,256×256,512×512;anchor寬高比設置需要統計人工標注的boundingboxs也即groundtruth(真實目標框)的寬高比,并通過聚類方法得到3個寬高比中心點,設置為anchor的3個寬高比。假設總共有n個boundingbox目標框:
center=kmeans(ratios,3),ratios={ratio1,ratio2,…,ration}(3)
公式(1)是訓練集標注的所有目標框的集合,公式(2)是計算一個boundingbox的寬高比,公式(3)是對n個boundingbox的寬高比通過k-means算法進行聚類,得到3個中心點,center(聚類中心點)是長度為3的向量,表示3個聚類中心點。
3.使用淺層網絡vgg16作為r-fcn物體檢測框架的主體網絡:
修改r-fcn的網絡結構,將r-fcn的主干網絡resnet-50或resnet-101替換為vgg16網絡的卷積層。深層網絡檢測較大物體的準確度比較高,但對于小物體的定位比較困難。因為深層網絡如resnet-50,resnet-101最后一層卷積層的神經元感受野比較大,對于較小的物體無法映射到最后一層卷積層上或者位置定位不準確,因此小物體的檢測精度比較差。本發明選用層數不是很深的vgg16網絡。
4.改進vgg16網絡模型,采用淺層特征,縮小特征圖下降倍數,訓練rpn網絡提取候選框:
vgg16網絡總共有13個卷積層,分別是{conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3},可以分為5組,前兩組每組有2個卷積層,后三組每組有三個卷積層,前4組每組卷積層后面接一個大小為2×2,步長為2的下采樣層,所以從卷積conv1_1到卷積conv5_3特征圖的邊長縮小了16倍,在卷積conv5_3上提取到的候選框邊長小于16的需要去掉,因為邊長小于16的候選框無法通過psroipooling(位置敏感興趣候選框下采樣)層和最后一層卷積層特征作映射,這樣圖片中邊長小于16的小物體無法被更準確的檢測出來。因此,本發明提出降低特征圖縮小倍數的策略,將vgg16的卷積層conv5_1,conv5_2,conv5_3和下采樣層pool4去掉,用rpn在卷積conv4_3層上提取候選框,從conv1_1到conv4_3中間經過了3次步長為2的下采樣層,特征圖邊長下降了8倍,這樣邊長范圍在8到16的小物體可以更好的被檢測到。
5.改進vgg16網絡模型,將淺層同組特征進行特征組合,輸入到r-fcn后續的檢測框架中,對候選框進行分類和邊框回歸:
單層的卷積層conv4_3輸入到r-fcn的后續網絡,使用1×1大小的卷積核在conv4_3上繼續進行卷積得到最后一層卷積層,在該卷積層上和rpn網絡提取的候選框進行映射,然后進行分類和邊框回歸,卷積conv4_3共有512個特征圖,對于映射后的小物體的特征表達還不夠,因此,將卷積conv4_1,conv4_2,conv4_3分別通過l2normalizelayer層進行標準化,然后通過concate層將這三層特征拼接起來,輸入到r-fcn后續的網絡中,拼層后的特征可以豐富小物體的特征信息,對于小物體的位置定位更加準確。
進一步的,用訓練好的模型提取候選框,并進行分類和邊框回歸,從而檢測到圖片中的所用交通標志:按照上述5個步驟整理數據集,設計物體檢測網絡模型,將數據處理成pascalvoc數據集格式,用vgg16在imagenet數據集上訓練好的模型作為預訓練模型,按照r-fcn物體檢測模型訓練的方式在此基礎上微調提出的物體檢測網絡,得到最終的檢測模型。將待檢測的圖片通過測試網絡,通過rpn網絡保存300個置信度較高的候選框,再將300個候選框輸入到r-fcn后續網絡進行分類和邊框回歸,從而得到該圖片上交通標志的精確坐標框。本實施例中imagenet數據集是大規模圖像視覺挑戰賽(ilsvrc)發布的數據集,
圖1表示的是本發明提出的小物體檢測框架圖,使用vgg16網絡作為r-fcn物體檢測框架的主體網絡,去掉vgg16網絡的卷積conv5_1,conv5_2,conv5_3層,同時去掉卷積conv4_3層后面的下采樣pool4層,使用l2normalizelayer標準化卷積層conv4_1,conv4_2,conv4_3,將標準化后的conv4_3層輸入到rpn網絡提取候選框,將標準化后的conv4_1,conv4_2,conv4_3層通過concatelayer(連接層)拼接到一起,輸入到r-fcn后續的網絡中,經過若干次卷積層到達最后一層卷積層,特征圖尺度和conv4_3層保持一致,將rpn網絡在conv4_3層提取的候選框(roi)和最后一層卷積層輸入到psroipooling(位置敏感興趣候選框下采樣)層,為每一個候選框(per-roi)計算一個權重圖對該候選框進行投票表決(vote),從而對該候選框進行分類和邊框回歸,最后得到檢測到的目標框。
圖2表示的是采集到的交通標志數據集中的原始圖片,圖片的分辨率為720×1280,為了便于看清楚圖片中的交通標志,將其中的一小部分放大,可以看到圖片中存在大量較小的交通標志,本發明的任務就是精確的找到圖片中所有的交通標志,為后續的交通標志識別帶來便利。
圖3-1至圖3-3是對不同模型檢測結果的一個對比,圖3-1是使用vgg16網絡的卷積conv5_3來做rpn提取候選框得到的檢測結果,圖3-2是使用卷積conv4_3來提取候選框,圖3-3是使用卷積conv4_3來提取候選框,并將通過l2normalizelayer(l2標準化層)標準化后的conv4_1,con4_2,conv4_3層特征拼接到一起,構成組合特征,輸入到后續的r-fcn網絡中,和rpn提取到的候選框作映射,訓練分類和邊框回歸,得到最終的模型的檢測結果,可以看到本發明提出的使用vgg16淺層特征,將淺層conv4_1,conv4_2,conv4_3拼接到一起構成組合特征輸入到后續r-fcn網絡的策略對于小物體的檢測結果有很大的提升。
綜上:本發明方法主要用于自動駕駛場景中的交通標志的檢測。主要過程包括:數據集的采集;網絡設計,使用vgg16網絡作為r-fcn的主體網絡;修改vgg16網路,把vgg16的淺層特征conv4_3輸入到rpn網絡提取候選框;修改vgg16網絡,將淺層的conv4_1,conv4_2,conv4_3通過concate層拼接起來,輸入到r-fcn后續網絡做分類和邊框回歸。該方法對于小物體的檢測具有很好的準確率,在存在大量較小交通標志的數據集上得到了很好的驗證,可以應用到自動駕駛場景中的交通標志檢測中。
參考文獻:
k.simonyan,a.zisserman.《深度卷積網絡用于大規模圖像識別》,學習表征國際會議,pp.1-3,2015.
k.he,x.zhang,s.ren,andj.sun.《深度卷積網絡的空間金字塔池化用于視覺分類》,歐洲計算機視覺國際會議,pp.346-361,2014..
j.dai,y.li,k.he,j.sun.《全卷積網絡用于基于候選框的物體檢測》,神經信息處理系統會議,pp.379-387,2016.
r.girshick.《卷積神經網絡用于快速物體檢測》,國際計算機視覺大會,pp.1440-14489,2015.
s.ren,k.he,r.girshick,j.sun.《基于候選框提取網絡面向實時的物體檢測》,神經信息處理系統會議,pp.91-99,2015.
j.redmon,s.divvala,r.girshick,a.farhadi.《只看一次:統一實時物體檢測》,計算機視覺和模式識別會議,pp.779-788,2016.
k.he,x.zhang,s.ren,j.sun.《深度殘差學習用于圖像識別》,計算機視覺和模式識別會議,pp.770-778,2016.
本發明并不限于上文描述的實施方式。以上對具體實施方式的描述旨在描述和說明本發明的技術方案,上述的具體實施方式僅僅是示意性的,并不是限制性的。在不脫離本發明宗旨和權利要求所保護的范圍情況下,本領域的普通技術人員在本發明的啟示下還可做出很多形式的具體變換,這些均屬于本發明的保護范圍之內。