楊京晶,李付江,張起貴
(太原理工大學(xué) 信息與計算機(jī)學(xué)院,太原 030024)
交通標(biāo)志檢測是在汽車運(yùn)行過程中和復(fù)雜的室外交通環(huán)境下進(jìn)行的,比一般靜止的圖像檢測更難,主要體現(xiàn)在標(biāo)志種類繁多、 運(yùn)動模糊、復(fù)雜多變的光照 (天氣)條件、背景環(huán)境干擾、拍攝角度使交通標(biāo)志位置傾斜等問題[1]。
目前交通標(biāo)志檢測方法主要包括傳統(tǒng)的圖像檢測方法和基于深度學(xué)習(xí)的交通標(biāo)志檢測方法。傳統(tǒng)圖像檢測方法如基于色彩空間的檢測方法[2-3]、基于形狀特征的檢測方法[4-6]和采用兩者結(jié)合方法[7-11]等,傳統(tǒng)圖像檢測方法容易受環(huán)境影響,無法滿足高精度實(shí)時檢測要求;基于深度學(xué)習(xí)的交通標(biāo)志檢測方法[12-15]具有較高的檢測精度,因其采用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)參數(shù)眾多,故存在計算復(fù)雜度高,難以滿足系統(tǒng)實(shí)時性的要求。而實(shí)際采集到的數(shù)據(jù)往往是視頻數(shù)據(jù),既包含交通標(biāo)志空間特征也包含時間特征,上述兩種方法處理的對象都是靜止圖像,只考慮交通標(biāo)志空間特征,未能很好利用其時間特征。本文提供了一種基于視頻碼流而非像素的交通標(biāo)志檢測方法,直接利用視頻碼流中碼流特征信息,不需要對視頻碼流完全解碼,避免了在解碼過程中整數(shù)IDCT變換、反量化、重構(gòu)和環(huán)路濾波等耗時的操作。
汽車運(yùn)行過程中拍攝的視頻數(shù)據(jù)是經(jīng)過視頻編碼算法壓縮后的數(shù)據(jù),目前視頻壓縮適用的國際標(biāo)準(zhǔn)主要有H.264和H.265,國內(nèi)標(biāo)準(zhǔn)為AVS,它們都采用了基于塊的混合編碼算法。假定視頻碼流采用視頻壓縮標(biāo)準(zhǔn)為H.264,基本塊大小為4×4.在視頻編碼碼流中,對于幀內(nèi)預(yù)測編碼塊而言,幀內(nèi)預(yù)測模式、像素殘差分布情況CBP和像素殘差經(jīng)過熵編碼后都會寫入碼流。
對交通標(biāo)志邊緣部分而言,因具有固定形狀和較明顯色彩,與周圍環(huán)境差別明顯,其幀內(nèi)預(yù)測模式多采用4×4塊預(yù)測模式,而非16×16塊預(yù)測模式;其像素殘差情況CBP值亮度和色度DC直流分量和AC交流分量多數(shù)情況不為0,色度AC交流分量基本不為0,其像素殘差值較大,尤其是色度UV殘差值更明顯??梢酝ㄟ^分析預(yù)測模式、像素殘差情況CBP和像素殘差等信息對交通標(biāo)志進(jìn)行檢測。
具體的交通標(biāo)志邊緣檢測步驟如下:
第一步:對視頻碼流幀內(nèi)預(yù)測碼流進(jìn)行部分解碼,部分解碼后得到宏塊類型和幀內(nèi)預(yù)測模式、量化參數(shù)QP、像素殘差分布情況CBP值和像素殘差值,解碼過程中整數(shù)IDCT變換、反量化、重構(gòu)和環(huán)路濾波等耗時的操作不需要完成。
第二步:根據(jù)宏塊類型和幀內(nèi)預(yù)測模式判斷該基本塊為交通標(biāo)志邊緣的概率p1,當(dāng)幀內(nèi)預(yù)測模式為幀內(nèi)16×16預(yù)測模式時,則設(shè)置p1=0;當(dāng)幀內(nèi)預(yù)測模式為幀內(nèi)4×4預(yù)測模式時,則設(shè)置p1=1.
第三步:根據(jù)像素殘差分布情況CBP值判斷該基本塊為交通標(biāo)志邊緣的概率p2.像素殘差分布情況CBP值包含亮度DC系數(shù)、亮度AC系數(shù)、色度DC系數(shù)和色度AC系數(shù)是否為0,構(gòu)建像素殘差分布情況向量a=[a1,a2,a3,a4],向量包含4個元素a1、a2、a3和a4.DC系數(shù)為0設(shè)置a1=0,否則設(shè)置a1=1;亮度AC系數(shù)為0設(shè)置a2=0,否則設(shè)置a2=1;色度DC系數(shù)為0設(shè)置a3=0,否則設(shè)置a3=1;色度AC系數(shù)為0設(shè)置a4=0,否則設(shè)置a4=1.設(shè)置像素殘差分布情況權(quán)值向量w1=[0.2,0.2,0.3,0.3],求此時概率p2
(1)
第四步:求概率p3=p1×p2,當(dāng)p3<0.5時,判斷該基本塊不為交通標(biāo)志邊緣部分,否則根據(jù)像素殘差值做進(jìn)一步判斷。
第五步:基本塊殘差值取亮度DC系數(shù)絕對值YDC,色度取色度DC系數(shù)絕對值UDC、VDC,色度交流系數(shù)絕對值求和SUAC,SVAC.根據(jù)量化參數(shù)分別設(shè)置閾值TYDC、TUDC、TVDC、TUAC和TVAC.構(gòu)建像素殘差值閾值向量b=[b1,b2,b3,b4,b5],向量包含5個元素b1、b2、b3、b4和b5,其中
b1=YDC/TYDC;b2=UDC/TUDC;
b3=VDC/TVDC;b4=SUAC/TUAC;
b5=SVAC/TVAC.
(2)
設(shè)置像素殘差值閾值權(quán)值向量w2=[0.12,0.22,0.22,0.22,0.22],w2各權(quán)值求和為1,經(jīng)實(shí)驗(yàn)色度殘差包含更多交通標(biāo)志邊緣部分信息,故分配較高權(quán)值。求殘差判斷閾值Tre
(3)
第六步:當(dāng)Tre 通過以上步驟,將圖片所有基本塊進(jìn)行判斷,判斷其是否為交通標(biāo)志邊緣部分。 對所有基本塊是否為交通標(biāo)志邊緣部分判斷后進(jìn)行二值化處理。如判斷為是交通標(biāo)志邊緣部分,賦值255,否則賦值0.采用形態(tài)學(xué)的開操作進(jìn)行交通標(biāo)志噪聲處理,用閉操作重建開操作過程中丟失的邊緣部分信息,得到交通標(biāo)志集合A.所得交通標(biāo)志集合存在大量干擾區(qū)域,需要對干擾區(qū)域進(jìn)行處理。通過交通標(biāo)志的先驗(yàn)信息,如交通標(biāo)志的形狀和底色信息排除干擾區(qū)域。 中國現(xiàn)行的交通標(biāo)志標(biāo)準(zhǔn)主要有:警告標(biāo)志、禁令標(biāo)志、指示標(biāo)志和指路標(biāo)志。其形狀為圓形、三角形和矩形,可通過研究這3種形狀的幾何特性來排除干擾項(xiàng)。采用幾何屬性圓形度、矩形度、伸長度對初步檢測的交通標(biāo)志區(qū)域進(jìn)行判斷。定義區(qū)域的長和寬分別為H和W,區(qū)域的周長為L,區(qū)域的面積為A,定義區(qū)域圓形度為物體形狀接近圓形的程度,記為C,其表達(dá)式為: (4) 定義區(qū)域的矩形度為對應(yīng)物體形狀接近矩形的程度R,其表達(dá)式為: (5) 其中,R的取值范圍為[0,1],矩形物體R的取值為1,圓形物體R的取值為π/4,三角形物體R的取值為0.5. 由于采集的交通標(biāo)志圖像受到采集角度、外界環(huán)境以及基本塊預(yù)處理操作的影響,圖形形狀并不一定規(guī)則,這在一定程度上會影響C和R參數(shù)的值。因此,通過對多組拍攝的交通標(biāo)志圖像進(jìn)行統(tǒng)計的基礎(chǔ)上,給出了這兩個值的取值范圍圓形標(biāo)志:C>0.75,R>0.65. 三角形標(biāo)志:0.45 矩形標(biāo)志:0.65 當(dāng)交通標(biāo)志幾何特性C和R不滿足以上取值范圍,則判定為偽交通標(biāo)志,進(jìn)行去除。 根據(jù)交通標(biāo)志A邊緣基本塊的殘差閾值情判斷交通標(biāo)志A的底色。交通標(biāo)志底色為藍(lán)色,體現(xiàn)到UV殘差值中,其交通標(biāo)志邊緣部分U殘差值較大;底色為紅色,體現(xiàn)到UV殘差值中,其交通標(biāo)志邊緣部分V殘差值較大;底色為黃色,體現(xiàn)到UV殘差值中,其交通標(biāo)志邊緣部分U和V殘差值絕對值求和值較大。假定交通標(biāo)志A邊緣包含n個4×4基本塊,第i個基本塊色度取色度DC系數(shù)絕對值UDC,i和VDC,i,色度交流系數(shù)絕對值求和SUAC,i和SVAC,i,藍(lán)色判決閾值TBDC和TBAC,紅色判決閾值TRDC和TRAC,黃色判決閾值TYeDC和TYeAC.當(dāng)UDC,i>TBDC且SUAC,i>TBAC,判斷該交通標(biāo)志基本塊i底色為藍(lán)色;當(dāng)VDC,i>TRDC且SVAC,i>TRAC,判斷該交通標(biāo)志基本塊i底色為紅色;當(dāng)UDC,i和VDC,i絕對值的和超過TYeDC并且SUAC,i和SVAC,i絕對值之和超過TYeAC,判斷該交通標(biāo)志基本塊i底色為黃色。統(tǒng)計n個4×4基本塊底色為藍(lán)色數(shù)目m1,且m1>(n-3)時,該交通標(biāo)志底色為藍(lán)色;統(tǒng)計n個4×4基本塊底色為紅色數(shù)目m2,且m2>(n-3)時,該交通標(biāo)志底色為紅色;統(tǒng)計n個4×4基本塊底色為黃色數(shù)目m3,且m3>(n-3)時,該交通標(biāo)志底色為黃色。 當(dāng)交通標(biāo)志底色不為藍(lán)色、紅色或黃色,則判斷該交通標(biāo)志為偽交通標(biāo)志,進(jìn)行去除。 根據(jù)形狀幾何特性判斷的交通標(biāo)志集和通過交通標(biāo)志底色判斷去偽操作后,得到初步判斷的交通標(biāo)志集。 實(shí)際視頻序列包含交通標(biāo)志時間特征,可利用視頻幀間預(yù)測編碼碼流信息對交通標(biāo)志進(jìn)行修正檢測,通過分析預(yù)測模式、像素殘差情況CBP和運(yùn)動矢量信息對規(guī)則標(biāo)志檢測進(jìn)行修正。對于通過幀內(nèi)預(yù)測初步確定的規(guī)則標(biāo)志而言,采用幀間預(yù)測編碼后,因其已經(jīng)在參考幀出現(xiàn),故預(yù)測模式以16×16預(yù)測模式居多,且運(yùn)動矢量變化較小,不會出現(xiàn)劇烈變化,像素殘差情況CBP值為0居多,尤其是UV殘差。 以交通標(biāo)志A所在塊中心為搜索起點(diǎn),向上下左右對5個整像素運(yùn)動矢量分別進(jìn)行搜索,搜索與交通標(biāo)志A最匹配區(qū)域,以運(yùn)動矢量殘差值絕對值求和為最小值為最佳匹配區(qū)域B.按照H.264解碼順序?qū)σ曨l碼流幀間預(yù)測碼流進(jìn)行解碼,解碼得到宏塊類型和幀間預(yù)測模式、運(yùn)動矢量殘差值、像素殘差分布情況CBP值后,終止H.264解碼,不需要進(jìn)行后續(xù)解碼過程中像素殘差解碼、整數(shù)IDCT變換、反量化、重構(gòu)和環(huán)路濾波等耗時的操作。統(tǒng)計交通標(biāo)志B幀間預(yù)測模式概率分布p.當(dāng)每個4×4基本塊預(yù)測模式為SKIP模式或16×16模式,則預(yù)測模式值Mi=1,否則Mi=0.假定交通標(biāo)志B包含n個4×4基本塊,統(tǒng)計交通標(biāo)志B預(yù)測模式概率分布p. p=∑Mi/n. (6) 其中,Mi為4×4基本塊預(yù)測模式值,n表示交通標(biāo)志B包含4×4基本數(shù)量。當(dāng)p<0.6時,對交通標(biāo)志進(jìn)行修正,此交通標(biāo)志B為偽交通標(biāo)志,不是交通標(biāo)志。當(dāng)判斷交通標(biāo)志B不是偽交通標(biāo)志時,利用運(yùn)動矢量殘差值對交通標(biāo)志做進(jìn)一步判斷。對交通標(biāo)志B運(yùn)動矢量殘差值絕對值進(jìn)行求和SMVD (7) 式中:RMV,ix為4×4基本塊橫向運(yùn)動矢量殘差,RMV,iy為4×4基本塊縱向運(yùn)動矢量殘差,ABS為取絕對值運(yùn)算。當(dāng)SMVD>TMVD,對交通標(biāo)志進(jìn)行修正,此交通標(biāo)志B為偽交通標(biāo)志,不是交通標(biāo)志。當(dāng)判斷交通標(biāo)志B不是偽交通標(biāo)志時,利用像素殘差分布情況對交通標(biāo)志做進(jìn)一步判斷。根據(jù)像素殘差分布情況CBP值,統(tǒng)計交通標(biāo)志B亮度DC系數(shù)、亮度AC系數(shù)、色度DC系數(shù)和色度AC系數(shù)是否為0的求和值。 (8) 式中:YDC表示4×4基本塊亮度DC系數(shù)情況,不為0時,YDC=1,否則YDC=0;YAC表示4×4基本塊亮度AC系數(shù)情況,不為0時,YAC=1,否則YAC=0;ZDC表示4×4基本塊色度DC系數(shù)情況,不為0時,ZDC=1,否則ZDC=0;ZAC表示4×4基本塊色度AC系數(shù)情況,不為0時,ZAC=1,否則ZAC=0.當(dāng)SCBP>TCBP,對交通標(biāo)志進(jìn)行修正,此交通標(biāo)志B為偽交通標(biāo)志,不是交通標(biāo)志。 通過交通標(biāo)志預(yù)測模式概率分布,矢量殘差值絕對值求和以及像素殘差分布情況CBP值統(tǒng)計情況,對交通標(biāo)志進(jìn)行修正。 本文算法整體流程圖如圖1所示。 圖1 算法流程圖Fig.1 Flow chart of algorithm 采用GTSRB和CCTSDB數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),測試所提方法的有效性。GTSRB數(shù)據(jù)集包含39 209幅訓(xùn)練圖像和12 630幅測試圖像。數(shù)據(jù)集中的德國交通標(biāo)志共有43個小類,尺寸從15 pixel×15 pixel到250 pixel×250 pixel.CCTSDB中國交通數(shù)據(jù)集標(biāo)注數(shù)據(jù)有3大類:指示標(biāo)志、禁止標(biāo)志、警告標(biāo)志,包含15 734張圖像。 圖2和圖3是本文算法在不同碼率和不同視頻序列檢測效果圖,其中圖2(a)和圖2(b)分別是CCTSDB數(shù)據(jù)集中序列號為05880和05882圖片的原圖;圖3(a)和圖3(b)分別是CCTSDB數(shù)據(jù)集中序列號09200和05922圖片的原圖;圖2(c)和圖3(c)是邊緣檢測后經(jīng)過二值化處理后的圖,圖2(d)和圖3(d)是經(jīng)形態(tài)學(xué)開/閉操作處理后的圖,圖2(e)和圖3(e)是初步檢測結(jié)果圖,圖2(f)和圖3(f)是修正檢測結(jié)果圖。從圖2-圖3中可以看出,經(jīng)過初步檢測后,交通標(biāo)志很大程度能夠正確檢測,但也存在一些背景被誤檢,如一些規(guī)則圖形和車牌標(biāo)志等,可以通過修正檢測降低誤檢率。 圖2 碼率為1M的檢測效果對比圖Fig.2 Comparison of experimental results(1M) 圖3 碼率為1.2M的檢測效果對比圖Fig.3 Comparison of experimental results(1.2M) 算法采用的評價指標(biāo)為檢測率、誤檢率和檢測時間。檢測率=PT/(PT+NF),誤檢率=PF/(PT+PF).其中,PT表示正確檢測出來的交通標(biāo)志數(shù)量,PF表示背景被檢測為交通標(biāo)志的數(shù)量,NF表示交通標(biāo)志被檢測為背景的數(shù)量。本文算法的檢測情況見表1-表4,其中,表1是GTSRB數(shù)據(jù)集檢測結(jié)果,表2-表4是CCTSDB數(shù)據(jù)集不同碼率情況下檢測結(jié)果。 表1 GTSRB數(shù)據(jù)集檢測方法比較Table 1 Comparison of detection methods for GTSRB 表2 在碼率為1.2M下的CCTSDB數(shù)據(jù)集檢測方法比較Table 2 Comparison of detection methods for CCTSDB under bit rate of 1.2M 表3 在碼率為1M下的CCTSDB數(shù)據(jù)集檢測方法比較Table 3 Comparison of detection methods for CCTSDB under bit rate of 1M 表4 在碼率為700 k下的CCTSDB數(shù)據(jù)集檢測方法比較Table 4 Comparison of detection methods for CCTSDB under bit rate of 700 k GTSRB數(shù)據(jù)集圖像尺寸較小,故檢測耗時較少。GTSRB數(shù)據(jù)集圖片獨(dú)立拍攝,時間相關(guān)性弱,故采用修正檢測算法在降低誤檢率時的效果不明顯。CCTSDB數(shù)據(jù)集采用的是連續(xù)拍攝的畫面,圖片時間相關(guān)性強(qiáng),采用修正檢測算法在平均檢測率降低很少情況下,大大降低了誤檢率,在不同編碼碼率下有較好檢測效果,平均檢測率為96.9%,平均誤檢率為4.3%,平均檢測時間為0.36 s,本文算法更適合于實(shí)際視頻拍攝場景。 為了驗(yàn)證本文方法的有效性,利用文獻(xiàn)[9]檢測方法、文獻(xiàn)[10]檢測方法和本文方法,對CCTSDB數(shù)據(jù)集1 000幅圖像進(jìn)行交通標(biāo)志檢測測試。3種方法的檢測結(jié)果如表5所示。 表5 三種方法檢測結(jié)果Table 5 Detecting result of three methods 實(shí)驗(yàn)結(jié)果表明,本文方法的檢測率分別比文獻(xiàn)[9]方法高0.7%,和文獻(xiàn)[10]方法的檢測率相差不大,但誤檢率比文獻(xiàn)[9]方法和文獻(xiàn)[10]方法分別低3.9%和6.1%,由于采用時間相關(guān)性誤檢率有較大降低。平均檢測時間比文獻(xiàn)[9]方法和文獻(xiàn)[10]方法分別低0.06 s和0.12 s,因本文算法直接對碼流進(jìn)行特征提取,避免了解碼過程中整數(shù)IDCT變換、反量化、重構(gòu)和環(huán)路濾波等耗時的操作。 本文結(jié)合交通標(biāo)志的顏色與形狀先驗(yàn)特征,提出一種基于視頻碼流的交通標(biāo)志檢測方法。該算法不需要對碼流進(jìn)行完全解碼,直接從視頻編碼碼流中提取交通標(biāo)志特征信息進(jìn)行交通標(biāo)志檢測。該方法在保持較高檢測精度情況下,檢測時間大大縮短,可滿足交通標(biāo)志實(shí)時檢測場景,有利于進(jìn)一步識別交通標(biāo)志。但自然環(huán)境下,該法在檢測過程中也存在錯檢、漏檢的情況,算法的一些判決閾值通過有限實(shí)驗(yàn)集確定,在普適性上有所欠缺,破損遮擋情況下,檢測精度下降。因此需要增加更多數(shù)據(jù)進(jìn)行實(shí)驗(yàn),同時需要對破損遮擋情況進(jìn)行處理,進(jìn)一步提高檢測精度。2 交通標(biāo)志初步檢測
3 交通標(biāo)志修正檢測
4 實(shí)驗(yàn)結(jié)果及分析
5 結(jié)束語