武林秀,李厚杰,賀建軍,陳 璇
(大連民族大學(xué) 信息與通信工程學(xué)院,遼寧 大連 116605)
交通標(biāo)志檢測是交通標(biāo)志識別系統(tǒng)的重要組成部分,準(zhǔn)確的交通標(biāo)志檢測對交通標(biāo)志識別至關(guān)重要,研究交通標(biāo)志檢測算法有著重要的現(xiàn)實意義和理論價值。近十幾年來,許多學(xué)者提出了比較有效的算法,通常分為基于標(biāo)志顏色的標(biāo)志檢測、基于標(biāo)志形狀的標(biāo)志檢測以及基于機(jī)器學(xué)習(xí)的標(biāo)志檢測[1]?;陬伾P偷臋z測算法通常采用彩色空間對圖像進(jìn)行分割,只要通過少量運(yùn)算,就能夠去除大量的非感興趣區(qū)域,因此具有良好的實時性。但只通過顏色信息進(jìn)行標(biāo)志檢測受光照、天氣的影響較大[2-4]。基于標(biāo)志形狀的檢測算法也可以將交通標(biāo)志從復(fù)雜背景中有效的提取出來,通常采用Hough變換檢測圓形和直線,檢測效果顯著。但由于其計算量大影響了實施性并且由于形狀單一(如三角形、菱形、圓形)使得檢測情況受限[5-6]?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的標(biāo)志檢測方法具有檢測精度高、路況變化反應(yīng)及時的優(yōu)點(diǎn),但傳統(tǒng)機(jī)器學(xué)習(xí)的特征依賴人工設(shè)計,在設(shè)計過程中需要研究人員具備相當(dāng)豐富的經(jīng)驗,因此也存在一定的局限性[7]。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法得到了深入的研究,在計算機(jī)視覺領(lǐng)域的受到了廣泛關(guān)注。相對于傳統(tǒng)機(jī)器學(xué)習(xí)而言,深度學(xué)習(xí)模型能夠自動提取特征,無需人工設(shè)計,避免了人工設(shè)計特征的局限性。
本文基于Faster R-CNN深度學(xué)習(xí)框架和VGG16卷積神經(jīng)網(wǎng)絡(luò),提出了一種交通標(biāo)志檢測算法,算法在德國交通標(biāo)志檢測數(shù)據(jù)集(German Traffic Sign Detection Benchmark,GTSDB)上進(jìn)行了驗證,取得較好的檢測效果。
Faster R-CNN[8]是2016年Ross Girshick團(tuán)隊在R-CNN[9]和Fast R-CNN[10]的基礎(chǔ)上提出的一種基于建議區(qū)域網(wǎng)絡(luò)(Region Proposal Network,RPN)的深度學(xué)習(xí)框架通用目標(biāo)檢測算法。算法的主要思想是設(shè)計了提取建議區(qū)域的RPN網(wǎng)絡(luò),用卷積神經(jīng)網(wǎng)絡(luò)來生成建議窗口,并且將生成建議區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)與用作分類的卷積神經(jīng)網(wǎng)絡(luò)共享卷積層參數(shù),使得算法不再依賴單獨(dú)生成建議窗口的模塊。由于RPN代替了Selective Search的方法并且與檢測網(wǎng)絡(luò)共享全圖的卷積特征,然后將RPN網(wǎng)絡(luò)產(chǎn)生的建議區(qū)域進(jìn)行分類與邊框回歸計算,使得區(qū)域建議用時非常短,同時大幅減少了檢測網(wǎng)絡(luò)花費(fèi)的時間。
將圖片以及圖片中檢測目標(biāo)的類別與邊界坐標(biāo)輸入到Faster R-CNN模型中后,用深度卷積神經(jīng)網(wǎng)絡(luò)模型對圖像進(jìn)行特征提取,把最后的卷積層提取的特征圖輸入RPN做區(qū)域建議的預(yù)測,再將預(yù)測后的建議區(qū)域邊框映射到特征圖上,直接在特征圖上提取對應(yīng)區(qū)域的深層特征并采用Softmax對提取到的特征預(yù)測類別,從而達(dá)到目標(biāo)分類與邊界回歸的目的。算法框架如圖1[8]。
圖1 Faster R-CNN 框架
Faster R-CNN在PASCAL VOC數(shù)據(jù)集上可以達(dá)到世界先進(jìn)的目標(biāo)檢測率,人類、動物、交通工具等20類目標(biāo)都可以被檢測出來,這些目標(biāo)一般在一幅圖像中占據(jù)很大的比例。但是本文檢測的目標(biāo)是交通標(biāo)志,目標(biāo)較小并且在圖中占據(jù)的比例也很小。為了能夠使Faster R-CNN目標(biāo)檢測算法對標(biāo)志有效定位和檢測,算法中對交通圖像歸一化尺寸進(jìn)行了設(shè)計?;贔aster R-CNN深度學(xué)習(xí)模型的標(biāo)志檢測算法如下:
步驟1:將數(shù)據(jù)集中圖片輸入給卷積神經(jīng)網(wǎng)絡(luò)(本文應(yīng)用VGG16網(wǎng)絡(luò)),網(wǎng)絡(luò)經(jīng)過前向傳播到共享卷積層的最后一層,將卷積特征圖輸入RPN網(wǎng)絡(luò)中,繼續(xù)前向傳播到非共享卷積層得到高維特征圖;
步驟2:卷積特征圖經(jīng)過RPN網(wǎng)絡(luò)生成建議區(qū)域框與各個區(qū)域的得分,采用非極大值抑制策略將得分大于0.7與得分小于0.3的建議區(qū)域傳給RoI池化層;
步驟3:把建議區(qū)域框與高維特征圖輸入RoI池化層進(jìn)行特征提??;
步驟4:將提取的特征傳入全連接層,輸出該區(qū)域的分類得分與回歸后的邊界區(qū)域(bounding-box)。
本文算法的網(wǎng)絡(luò)框架結(jié)構(gòu)如圖2。
圖2 交通標(biāo)志檢測的網(wǎng)絡(luò)結(jié)構(gòu)圖
在算法中,RPN的訓(xùn)練過程采用端到端(end-to-end)的方式[11]。使用反向傳播和隨機(jī)梯度下降的優(yōu)化方式,損失函數(shù)是分類誤差和回歸誤差的聯(lián)合損失,如式(1)
(1)
(2)
式中:x和y表示建議區(qū)域的中心點(diǎn)坐標(biāo);w和h表示區(qū)域的寬度和高度;變量x表示預(yù)測邊界框;xα表示anchor框;x*表示真實目標(biāo)的邊界框(變量y、w、h同理)。
本文算法在GTSDB上訓(xùn)練Faster R-CNN模型,該數(shù)據(jù)集有900張PPM格式的圖像,其中訓(xùn)練圖像600張,測試圖像300張,圖像大小全部為1 360×800 px,全部在自然場景下拍攝。數(shù)據(jù)集中共有1 213個交通標(biāo)志,其中訓(xùn)練集占852個,測試集占361個。圖像中標(biāo)志分為禁止、警告、指示與其它四種類別,且每張圖像均有交通標(biāo)志坐標(biāo)的詳細(xì)標(biāo)簽。每張圖像中的交通標(biāo)志在0到6個之間,標(biāo)志的大小從16×16 px到128×128 px不等。
實驗采用python語言版本的TensorFlow深度學(xué)習(xí)系統(tǒng)在Intel? Xeon(R)CPU E5-2660 v4和NVIDIA? Tesla? P40 GPU的Ubuntu 16.04系
統(tǒng)配置下實現(xiàn)。
在學(xué)習(xí)模型訓(xùn)練時,應(yīng)用了公開在ImageNet數(shù)據(jù)集上訓(xùn)練好的VGG16網(wǎng)絡(luò)分類模型作為預(yù)訓(xùn)練模型,對RPN網(wǎng)絡(luò)和Fast R-CNN共享網(wǎng)絡(luò)層的參數(shù)進(jìn)行初始化。充分考慮了算法時間開銷和檢測性能。實驗中,對輸入圖像的歸一化尺寸大小設(shè)定為原始圖像尺寸的1.5倍。初始學(xué)習(xí)率設(shè)置為0.001,在50 000次迭代后,將學(xué)習(xí)率減小10倍,繼續(xù)迭代20 000次停止訓(xùn)練。
本文的評價指標(biāo)采用平均正確率AP(Average Precision)來評估交通標(biāo)志檢測的性能,計算方法如式(3)。其中p為查準(zhǔn)率(precision),表示檢出區(qū)域中交通標(biāo)志的數(shù)量占檢出區(qū)域總個數(shù)的百分比;r為查全率(recall),表示檢出區(qū)域數(shù)量占交通標(biāo)志總個數(shù)的百分比。以查準(zhǔn)率為橫坐標(biāo),查全率為縱坐標(biāo)可繪制出p-r曲線,AP即該曲線下面積,
(3)
交通標(biāo)志檢測的實驗結(jié)果如圖3。四種類別的平均正確率都達(dá)到了90%以上,其中警告、指示和其它三種類別的AP值都達(dá)到了99%以上。實驗中檢測一張圖像的平均時間約為0.8 s。
圖3 查準(zhǔn)率對GTSDB測試集的各類別AP結(jié)果
本文算法對各種天氣和光照變化環(huán)境下的標(biāo)志檢測具有良好的穩(wěn)健性,圖4(a)~(d),分別顯示了晴天、雨天、光照強(qiáng)和光照弱四種情況下良好的檢測結(jié)果。圖5(a)~(c)表明了本文算法對運(yùn)動模糊、小尺寸標(biāo)志、標(biāo)志遮擋以及標(biāo)志污損等復(fù)雜自然環(huán)境的標(biāo)志檢測具有良好的魯棒性。
(a)晴天 (b)雨天 (c)光照強(qiáng) (d)光照弱
(a)運(yùn)動模糊 (b)小標(biāo)志 (c)部分遮擋 (d)污損標(biāo)志
本文提出的交通標(biāo)志檢測算法,利用了深度學(xué)習(xí)技術(shù),能夠自動特征提取,并利用了區(qū)域建議網(wǎng)絡(luò),實現(xiàn)了端到端的訓(xùn)練方式。算法在GTSDB數(shù)據(jù)集上進(jìn)行了測試和驗證,取得了較好的檢測效果,并對不同光照、運(yùn)動模糊、標(biāo)志遮擋以及標(biāo)志污損等復(fù)雜自然環(huán)境的標(biāo)志檢測具有良好的魯棒性。