本發(fā)明屬于圖像處理和汽車(chē)安全輔助駕駛領(lǐng)域,尤其是涉及一種基于fastr-cnn的路面交通標(biāo)志檢測(cè)與識(shí)別方法,用以解決路面交通標(biāo)志識(shí)別問(wèn)題中識(shí)別精度不高的問(wèn)題。
背景技術(shù):
道路交通標(biāo)志識(shí)別(tsr,trafficsignsrecognition)作為車(chē)載輔助系統(tǒng)中一個(gè)重要分支,是目前尚未解決的難題之一。由于交通標(biāo)志中含有許多重要的交通信息,如對(duì)當(dāng)前行車(chē)的速度提示、前方道路狀況的變化、駕駛員行為制約,因此在該輔助系統(tǒng)中,如何快速、準(zhǔn)確、有效地識(shí)別出道路中的交通標(biāo)志并將之反饋給駕駛?cè)藛T或控制系統(tǒng),對(duì)于保證駕駛安全,避免交通事故的發(fā)生具有十分重要的研究意義。
路面交通標(biāo)志識(shí)別常用的方法包括基于形狀的識(shí)別方法,特征提取與分類(lèi)器結(jié)合的方法,深度學(xué)習(xí)的識(shí)別方法?;谛螤畹淖R(shí)別方法魯棒性較差,復(fù)雜環(huán)境中效果不佳。特征提取與分類(lèi)器結(jié)合的方法識(shí)別效果較好,但計(jì)算開(kāi)銷(xiāo)大,環(huán)境適應(yīng)能力比較差。深度學(xué)習(xí)能夠直接對(duì)原始圖像進(jìn)行識(shí)別,提取反映數(shù)據(jù)本質(zhì)的隱性特征,具有足夠的學(xué)習(xí)深度。卷積神經(jīng)網(wǎng)絡(luò)具有局部權(quán)值共享的特性,對(duì)于環(huán)境復(fù)雜、多角度變化等情況都具有一定的實(shí)時(shí)性和魯棒性。因此,需要設(shè)計(jì)一種能夠精確獲取道路場(chǎng)景中路面交通標(biāo)志的識(shí)別方法。rossb.girshick在2015年提出fastr-cnn算法,規(guī)避了r-cnn(region-basedconvolutionalneuralnetwork)中冗余的特征提取操作,實(shí)現(xiàn)了多任務(wù)訓(xùn)練,也不需要額外的特征存儲(chǔ)空間,提高了檢測(cè)速度和精度。
技術(shù)實(shí)現(xiàn)要素:
為解決現(xiàn)有技術(shù)存在的上述問(wèn)題,本發(fā)明要設(shè)計(jì)一種基于fastr-cnn的路面交通標(biāo)志識(shí)別方法,能夠精確獲取道路場(chǎng)景中路面交通標(biāo)志的,以便有助于輔助駕駛員在復(fù)雜的條件下更好地感知車(chē)外環(huán)境,預(yù)防交通事故的發(fā)生。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
一種基于fastr-cnn的路面交通標(biāo)志識(shí)別方法,包括步驟:
進(jìn)行圖像采集和預(yù)處理,制作樣本集;
將訓(xùn)練集輸入,多任務(wù)訓(xùn)練fastr-cnn網(wǎng)絡(luò);
將待識(shí)別圖片輸入fastr-cnn網(wǎng)絡(luò),經(jīng)過(guò)若干卷積層與池化層,得到特征圖;
采用選擇搜索(selectivesearch)算法提取若干個(gè)候選框,根據(jù)原圖中候選框到特征圖映射關(guān)系,在特征圖中找到每個(gè)候選框?qū)?yīng)的特征框,并在roi池化層中將每個(gè)特征框池化到固定大小;
將特征框經(jīng)過(guò)全連接層得到固定大小的特征向量,所述特征向量經(jīng)由各自的全連接層,分別得到分類(lèi)得分和窗口回歸兩個(gè)輸出向量;
將所有結(jié)果進(jìn)行非極大值抑制處理產(chǎn)生最終的目標(biāo)檢測(cè)和識(shí)別結(jié)果,路面交通標(biāo)志得以識(shí)別。
進(jìn)一步地,所述圖像采集的步驟具體包括:
開(kāi)啟車(chē)載行車(chē)記錄儀,實(shí)時(shí)拍攝道路交通視頻信息;
將攝像機(jī)拍攝到的視頻信息進(jìn)行分幀處理,得到一個(gè)圖像集合序列;
對(duì)圖像集合進(jìn)行篩選,選取包含路面交通標(biāo)志的圖像。
進(jìn)一步地,所述圖像預(yù)處理和樣本集制作的步驟具體包括:
在選取的圖像中,將目標(biāo)區(qū)域取出,并縮放到固定的224×224大小,為增強(qiáng)對(duì)比度,再將目標(biāo)區(qū)域經(jīng)過(guò)對(duì)比度增強(qiáng)處理,得到原始的訓(xùn)練集,測(cè)試集采用同樣的方式處理;
將原始訓(xùn)練集經(jīng)過(guò)旋轉(zhuǎn)[-12°,12°],縮放[0.4,1.6]后,加入原始數(shù)據(jù)集中,組成新的訓(xùn)練集;
在新的數(shù)據(jù)集中隨機(jī)取出與測(cè)試集數(shù)目相當(dāng)?shù)臉颖窘M成驗(yàn)證集,剩余的樣本組成最終的訓(xùn)練集。
進(jìn)一步地,所述fastr-cnn網(wǎng)絡(luò)結(jié)構(gòu)包括:13個(gè)卷積層,4個(gè)池化層,1個(gè)roi池化層,2個(gè)全連接層和兩個(gè)平級(jí)層。
進(jìn)一步地,所述roi池化層中將每個(gè)特征框池化到7×7的固定大小。
進(jìn)一步地,所述的多任務(wù)訓(xùn)練fastr-cnn網(wǎng)絡(luò)的全連接輸出包括兩個(gè)分支:cls_score層和bbox_pred層,所述cls_score層用于分類(lèi),所述bbox_pred層用于調(diào)整候選框位置。
進(jìn)一步地,所述特征向量經(jīng)由各自的全連接層時(shí),期間經(jīng)過(guò)奇異值分解(svd,singularvaluedecomposition)加速,分別得到兩個(gè)輸出向量,即softmax的分類(lèi)得分和bounding-box窗口回歸。
進(jìn)一步地,對(duì)全連接輸出的兩個(gè)分支,利用隨機(jī)梯度下降法訓(xùn)練輸出層的分類(lèi)層和回歸層直至分類(lèi)和回歸的損失函數(shù)收斂。
進(jìn)一步地,所述將所有結(jié)果進(jìn)行非極大值抑制處理的步驟具體包括:根據(jù)輸出的兩個(gè)分支,利用窗口得分分別對(duì)每一類(lèi)物體進(jìn)行非極大值抑制剔除重疊候選框,最終得到每個(gè)類(lèi)別中回歸修正后的得分最高的窗口。
進(jìn)一步地,所述路面交通標(biāo)志包括直行箭頭、掉頭箭頭、向左箭頭、向右箭頭、直行向左箭頭、直行向右箭頭、菱形標(biāo)線。
相比現(xiàn)有技術(shù),本發(fā)明為了解決上述現(xiàn)有技術(shù)中的至少一些問(wèn)題,提出了一種基于fastr-cnn的交通標(biāo)志檢測(cè)與識(shí)別方法。該方法自行制作路面交通標(biāo)志數(shù)據(jù)集,通過(guò)深度學(xué)習(xí)從樣本中學(xué)習(xí)特征,能夠提取到反映數(shù)據(jù)本質(zhì)的隱性特征,具有更高的學(xué)習(xí)效率和識(shí)別精度,提高了檢測(cè)算法的魯棒性,有效提高了路面交通標(biāo)志檢測(cè)的準(zhǔn)確性。
附圖說(shuō)明
本發(fā)明提供了附圖以便于所公開(kāi)內(nèi)容的進(jìn)一步理解,附圖構(gòu)成本申請(qǐng)的一部分,但僅僅是用于圖示出體現(xiàn)發(fā)明概念的一些發(fā)明的非限制性示例,而不是用于做出任何限制。
圖1是根據(jù)本發(fā)明的一些示范實(shí)施例的基于fastr-cnn的路面交通標(biāo)志識(shí)別方法的流程圖。
圖2是根據(jù)本發(fā)明的一些示范實(shí)施例的fastr-cnn網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖3是根據(jù)本發(fā)明的一些示范實(shí)施例的多任務(wù)訓(xùn)練代價(jià)函數(shù)示意圖。
圖4是根據(jù)本發(fā)明的一些示范實(shí)施例的部分交通標(biāo)志樣本集的示意圖。
圖5是根據(jù)本發(fā)明的一些示范實(shí)施例的基于fastr-cnn的路面交通標(biāo)志識(shí)別方法的檢測(cè)結(jié)果示意圖。
具體實(shí)施方式
下面結(jié)合附圖和技術(shù)方案對(duì)本發(fā)明作詳細(xì)說(shuō)明。
如附圖1所示為基于fastr-cnn的路面交通標(biāo)志識(shí)別方法的流程圖,本發(fā)明的具體實(shí)施方式為:
一種基于fastr-cnn的路面交通標(biāo)志識(shí)別方法,包括步驟:
進(jìn)行圖像采集和預(yù)處理,制作樣本集;
將訓(xùn)練集輸入,多任務(wù)訓(xùn)練fastr-cnn網(wǎng)絡(luò);
將待識(shí)別圖片輸入fastr-cnn網(wǎng)絡(luò),經(jīng)過(guò)若干卷積層與池化層,得到特征圖;
采用選擇搜索(selectivesearch)算法提取約2000個(gè)候選框,根據(jù)原圖中候選框到特征圖映射關(guān)系,在特征圖中找到每個(gè)候選框?qū)?yīng)的特征框,并在roi(感興趣區(qū)域,regionofinterest)池化層中將每個(gè)特征框池化到固定大?。?/p>
將所述特征框經(jīng)過(guò)全連接層得到固定大小的特征向量,經(jīng)由各自的全連接層,分別得到分類(lèi)得分和窗口回歸兩個(gè)輸出向量;
將所有結(jié)果通過(guò)非極大值抑制處理產(chǎn)生最終的目標(biāo)檢測(cè)和識(shí)別結(jié)果,交通標(biāo)志得以識(shí)別。
在一些實(shí)施例中,所述圖像采集的步驟具體包括:
開(kāi)啟車(chē)載行車(chē)記錄儀,實(shí)時(shí)拍攝道路交通視頻信息,選用行車(chē)記錄儀拍攝的視頻分辨率為1280*720的視頻圖像;
對(duì)所拍攝的視頻圖像進(jìn)行分幀處理,得到一個(gè)圖像集合序列;
對(duì)圖像集合進(jìn)行篩選,從其中選取出現(xiàn)次數(shù)較多的7種路面交通標(biāo)志。
具體而言,所述圖像預(yù)處理和樣本集制作的步驟具體包括:
在選取的圖像中,將目標(biāo)區(qū)域取出,并縮放到固定的224×224大小,為增強(qiáng)對(duì)比度,再將目標(biāo)區(qū)域經(jīng)過(guò)對(duì)比度增強(qiáng)處理,構(gòu)成原始訓(xùn)練集,測(cè)試集采用同樣的方式處理;
將原始訓(xùn)練集經(jīng)過(guò)旋轉(zhuǎn)[-12°,12°],縮放[0.4,1.6]后,加入原始數(shù)據(jù)集中組成新的訓(xùn)練集;
在新的數(shù)據(jù)集中隨機(jī)取出與測(cè)試集數(shù)目相當(dāng)?shù)臉颖窘M成驗(yàn)證集,剩余的樣本組成最終的訓(xùn)練集。
在圖4所示的示例中,所選用的交通標(biāo)志可以分為7類(lèi),分別為直行箭頭、掉頭箭頭、向左箭頭、向右箭頭、直行向左箭頭、直行向右箭頭、菱形標(biāo)線,分別編號(hào)表示為01,02,03,04,05,06,07,識(shí)別結(jié)果以此方式輸出。
k.simonyan等人在文獻(xiàn)“k.simonyananda.zisserman.verydeepconvolutionalnetworksforlarge-scaleimagerecognition,2015.”中提出的vgg16網(wǎng)絡(luò),包括13個(gè)卷積層,5個(gè)池化層和3個(gè)全連接層。在vgg16的基礎(chǔ)上,用roi池化層取代vgg-16網(wǎng)絡(luò)最后一層池化層,兩個(gè)并行層取代上述vgg-16網(wǎng)絡(luò)的最后一層全連接層和softmax層。
如圖2所示,最終得到fastr-cnn網(wǎng)絡(luò)結(jié)構(gòu)如下:包括13個(gè)卷積層,4個(gè)池化層,1個(gè)roi池化層,2個(gè)全連接層和兩個(gè)平級(jí)層。大小為224×224的圖像樣本經(jīng)輸入層輸入網(wǎng)絡(luò);對(duì)于所有的卷積層,卷積核大小為3×3,步長(zhǎng)為1;對(duì)于所有池化層,使用2×2采樣尺寸,池化方式采用最大值池化。激活函數(shù)采用修正線性單元激活(relu,rectifiedlinearunits)函數(shù),具備引導(dǎo)適度稀疏的能力,能夠使網(wǎng)絡(luò)的訓(xùn)練速度加快,精度提高,避免梯度消失的問(wèn)題。
原有的層參數(shù)要通過(guò)預(yù)訓(xùn)練方式初始化。用于分類(lèi)的全連接層以均值為0,標(biāo)準(zhǔn)差為0.01的高斯分布初始化;用于回歸的全連接層以均值為0,標(biāo)準(zhǔn)差為0.001的高斯分布初始化,偏置都初始化為0。
在調(diào)優(yōu)訓(xùn)練時(shí),首先加入n張完整圖片,而后加入從n張圖片中選取的r個(gè)候選框。同一圖像的r/n個(gè)候選框卷積共享計(jì)算和內(nèi)存,降低了運(yùn)算開(kāi)銷(xiāo)。r個(gè)候選框的構(gòu)成如下:與某個(gè)真值重疊在[0.5,1]的候選框我們定義為前景,占總量的25%;與真值重疊的最大值在[0.1,0.5)的候選框定義為背景,占總量的75%。
roi池化層根據(jù)固定尺寸將每個(gè)特征框平均分割,對(duì)每塊進(jìn)行最大池化,可將特征圖上大小不一的特征框轉(zhuǎn)變?yōu)榇笮〗y(tǒng)一的數(shù)據(jù),送入下一層。
fastr-cnn網(wǎng)絡(luò)進(jìn)行多任務(wù)訓(xùn)練,分類(lèi)損失和回歸損失如圖3所示。cls_score層用于分類(lèi),輸出k+1維數(shù)組p,表示屬于k類(lèi)物體和背景的概率,此處根據(jù)檢測(cè)類(lèi)別的數(shù)目,設(shè)定k=7;bbox_pred層用于調(diào)整候選區(qū)域位置,輸出4*k維數(shù)組,表示分別屬于k類(lèi)時(shí),應(yīng)該平移縮放的參數(shù),對(duì)于每個(gè)類(lèi)別都會(huì)訓(xùn)練一個(gè)單獨(dú)的回歸器。
loss_cls層評(píng)估分類(lèi)代價(jià)lcls,由真實(shí)分類(lèi)u對(duì)應(yīng)的概率pu決定:
lcls=-logpu(1)
loss_bbox評(píng)估回歸損失代價(jià)lloc,比較真實(shí)分類(lèi)u對(duì)應(yīng)的預(yù)測(cè)平移縮放參數(shù)
結(jié)合分類(lèi)損失和回歸損失,網(wǎng)絡(luò)微調(diào)階段總的損失函數(shù)為:
約定u=0為背景分類(lèi),背景候選區(qū)域即負(fù)樣本不參與回歸損失,不需要對(duì)候選區(qū)域進(jìn)行回歸操作;λ控制損失和回歸損失的平衡,λ=1。
根據(jù)該損失函數(shù)利用隨機(jī)梯度下降法訓(xùn)練網(wǎng)絡(luò),直至l收斂。
在fastr-cnn網(wǎng)絡(luò)中采用svd分解加速全連接層計(jì)算;物體分類(lèi)和窗口回歸都是通過(guò)全連接層實(shí)現(xiàn)的,設(shè)全連接層輸入數(shù)據(jù)為x,輸出數(shù)據(jù)為y,全連接層參數(shù)為w,一次前向傳播即為:
y=wx(5)
將w進(jìn)行svd分解,那么原來(lái)的前向傳播分解成兩步:
y=wx=u·(∑·vt)·x=u·z(6)
u和v均為中間變量,這種分解會(huì)大大減少計(jì)算量,從而實(shí)現(xiàn)全連接層加速計(jì)算。
圖5是路面交通標(biāo)志的檢測(cè)結(jié)果示意圖,可見(jiàn)在一般的路面條件下檢測(cè)和識(shí)別效果良好。
綜上,本發(fā)明提出了一種基于fastr-cnn的交通標(biāo)志檢測(cè)與識(shí)別方法。該方法通過(guò)深度學(xué)習(xí)從樣本中學(xué)習(xí)特征,能夠提取到反映數(shù)據(jù)本質(zhì)的隱性特征,具有更高的學(xué)習(xí)效率和識(shí)別精度,提高了檢測(cè)算法的魯棒性,有效提高了路面交通標(biāo)志檢測(cè)的準(zhǔn)確性。能夠很大程度緩解路面交通標(biāo)志遮擋嚴(yán)重、磨損嚴(yán)重、形變嚴(yán)重、光照變化嚴(yán)重等因素帶來(lái)的檢測(cè)困難的問(wèn)題。本文中的部分方法步驟和流程可能需要由計(jì)算機(jī)執(zhí)行,從而以硬件、軟件、固件及其任何組合的方式來(lái)實(shí)施。
上述僅為本發(fā)明的優(yōu)選實(shí)施例,不是用來(lái)限制發(fā)明的實(shí)施與權(quán)利范圍,凡依據(jù)本發(fā)明申請(qǐng)專(zhuān)利保護(hù)范圍所述的內(nèi)容做出的等效變化、修飾、替換等,均應(yīng)包括在本發(fā)明申請(qǐng)專(zhuān)利范圍內(nèi)。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到在不脫離本發(fā)明的范圍和精神的情況下,可在更廣闊的各方面中進(jìn)行改變和修改。