本發(fā)明屬于計算機視覺技術和圖像處理技術領域,具體涉及一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法。
背景技術:
隨著科學技術和社會經(jīng)濟的高速發(fā)展,人民生活水平不斷提高,車輛數(shù)量也在飛速增長,城市道路交通問題顯得越來越突出,各種道路交通問題接踵而至,以人眼識別為主的傳統(tǒng)道路監(jiān)控方式便無法滿足要求,現(xiàn)代化智能交通控制系統(tǒng)已成為未來全球道路交通的發(fā)展趨勢和現(xiàn)代化城市的先進標志。近年來,遮擋車牌、汽車套牌等妨礙交通秩序的違法行為層出不窮,僅依靠車牌識別已不能適應當前的交通現(xiàn)狀了,因此,車輛的顏色識別技術變得更為重要,它可以彌補車牌識別的不足,從而進一步提高智能交通系統(tǒng)的可靠性。
視頻中運動車輛的顏色識別與檢測是近年來智能交通管理系統(tǒng)中比較關注的研究方向之一。目前,國內已有一些車輛顏色識別的方法,其中與本發(fā)明較為相近的技術方案包括:文獻(周律,葉濤濤,王新華,朱金龍,周昱明?;谲嚿眍伾阉魑醋R別的車牌圖片研究[j]。信息技術,2014,8:92-95)首先將車臉前部靠近排氣扇部分作為車輛顏色的識別區(qū)域并將該區(qū)域歸一化為一種色值,通過在cielab顏色空間模型中制作紅、藍、綠等11種顏色模板并與歸一化后的色值匹配得到車輛顏色,該方法雖然在未識別車牌的情況下能夠識別車輛顏色,并且具有較好的識別速度,但是該方法要求對車身姿態(tài)要求較高,車輛側斜或其背面都可能無法提取到較好的顏色識別區(qū)域,導致識別率不高;發(fā)明專利(尚凌輝。一種卡口車輛顏色識別方法。cn106203420a[p]。2016。)中使用卷提神經(jīng)網(wǎng)絡提取車頭或車尾特征并將提取到的特征放入svm分類器進行訓練與分類。該方法雖然在識別率上有所提高,但是使用多個二值子分類器對多種顏色進行分類,不僅會使決策時的速度過慢,而且可能導致分類器泛化誤差無界,此外,使用這種卷積神經(jīng)網(wǎng)絡+svm的非端到端式的檢測效率很低。文獻(fangj,yueh,lix,etal.coloridentifyingofvehiclesbasedoncolorcontainerandbpnetwork[c]//internationalconferenceonbusinessmanagementandelectronicinformation.ieee,2011:226-229.)通過神經(jīng)網(wǎng)絡對整車訓練并分類,該方法比較依賴車輛檢測算法,提取到過多的車輛陰影會對識別結果產(chǎn)生影響,此外,對于肉眼無法識別的顏色,不應以單個絕對的顏色來表示,而應該以多個顏色的概率方式來表示車輛顏色。
綜上所述,在對車輛進行顏色識別時,當前方法存在如下不足:(1)有時無法提取到正確的車輛顏色區(qū)域;(2)不能兼顧車頭與車尾的顏色識別;(3)對于肉眼無法識別的顏色,不應該用單個的絕對顏色作為最終的識別結果。本發(fā)明針對這一不足提出了一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法。
技術實現(xiàn)要素:
為解決上述技術問題,本發(fā)明提供了一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法。
所述的一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法,具體步驟如下:
步驟1:定義車身顏色集合為c={c1,c2,c3,c4,c5,c6,c7,c8,c9,c10}={黑,灰,白,粉,棕,紅,黃,綠,藍,紫},并建立相應的顏色數(shù)據(jù)集;
步驟2:構建用于顏色分類的bp神經(jīng)網(wǎng)絡并用步驟1中的顏色數(shù)據(jù)集進行訓練,具體為:
步驟2.1:采用具有一個隱層的三層bp神經(jīng)網(wǎng)絡,輸入層神經(jīng)元數(shù)為3,分別為輸入顏色的h、s、v通道歸一化后的值,輸出層神經(jīng)元數(shù)為10,分別為10類顏色所對應的概率,根據(jù)式(1)確定隱層的節(jié)點個數(shù),
其中,n2為隱層神經(jīng)元個數(shù),n1為輸入層神經(jīng)元個數(shù),n3為輸出層神經(jīng)元個數(shù);
步驟2.2:設計神經(jīng)網(wǎng)絡的隱層與輸出層間的激活函數(shù)f(x)與各層之間的數(shù)據(jù)傳輸,如式(2)、(3)所示;
其中,oij為第i層第j個神經(jīng)元的輸出,wijk表示第i層第j個神經(jīng)元到第i+1層第k個神經(jīng)元的連接權值,b為偏置,ni為第i層神經(jīng)元總數(shù);
步驟2.3:隨機初始化網(wǎng)絡模型并使用bp神經(jīng)網(wǎng)絡訓練方法對模型進行訓練;
步驟3:利用交叉路口的監(jiān)控攝像頭采集rgb圖像并對采集到的圖像使用中值濾波處理,利用車輛檢測跟蹤算法提取得到車輛區(qū)域并將其轉到hsv顏色空間下,得到圖像i;
步驟4:利用車牌識別算法提取圖像i中的車牌矩形區(qū)域r=(x,y,w,h),其中圖像i的左上角為像素坐標原點,(x,y)為車牌矩形區(qū)域左上角的坐標,h與w分別為車牌矩形區(qū)域的高和寬,單位為像素;
步驟5:確定i為車尾圖像還是車頭圖像,具體為:
步驟5.1:根據(jù)公式(4)確定矩形特征區(qū)域d:
其中,ρ1,ρ2為比例系數(shù),(xd,yd)為矩形區(qū)域d左上角的坐標,hd與wd分別為矩形區(qū)域d的高和寬;
步驟5.2:將d劃分為大小相等的nrow*ncol個矩形超像素塊,nrow與ncol分別為超像素塊的行總數(shù)與列總數(shù),每個超像素塊的大小為n=width*height,并根據(jù)公式(5),(6),(7),(8)篩選出有效超像素塊集合d*:
其中,λ為標準差閾值,dij為第i行第j列的超像素塊,
步驟5.3:將d*中每個超像素塊dij的
步驟5.4:根據(jù)式(9)統(tǒng)計d*中每一行中識別出的每種顏色的數(shù)量
其中,μ1為比例系數(shù),ncimax為第i行中最多的顏色數(shù)量;
步驟5.5:根據(jù)式(12)計算有效行數(shù)num,并判斷圖像i為車頭或是車尾:若num<μ2*nrow,則i為車頭圖像;否則,i為車尾圖像,其中,μ2為比例系數(shù):
步驟6:若i為車尾圖像,轉步驟7;若i為車頭圖像,則根據(jù)式(13)對矩形區(qū)域d重定位并重新執(zhí)行步驟5.2至5.4,之后轉步驟7:
其中,ρ3,ρ4為比例系數(shù);
步驟7:根據(jù)公式(14)統(tǒng)計d*中每種顏色識別結果出現(xiàn)的次數(shù),得到顏色分類集合l={lr|r=1,2,…,10}:
其中,lr表示顏色cr被識別到的數(shù)量;
步驟8:從集合l中從大到小挑選出排在前兩位的數(shù)值,令lm表示排在第一位的值且m為該值對應的下標,lp表示排在第二位的值且p為該值對應的下標;
步驟9:識別車輛顏色,具體為:若lm*η>lp,則車輛顏色為cm;否則,以概率
本發(fā)明的有益效果為:與現(xiàn)有的車輛顏色識別方法相比,本發(fā)明使用計算機視覺技術,通過提取車輛顏色特征、結合hsv顏色空間模型并通過bp神經(jīng)網(wǎng)絡分類解決了車輛顏色識別問題,并能同時兼顧車頭與車尾的識別,改善了以車牌辨車的傳統(tǒng)工作模式,為打擊汽車套牌、一車多牌、假牌照等違法犯罪行為提供了可靠幫助,進一步提高了智能交通的可靠性,節(jié)省了大量的人力成本。
附圖說明
圖1為本發(fā)明的流程圖
圖2為bp神經(jīng)網(wǎng)絡模型示意圖;
圖3為具體實施例示例用圖;
圖4為使用檢測跟蹤算法提取到的圖3中運動的車輛,左為車頭圖像,右為車尾圖像;
圖5為圖4車輛的車牌識別示意圖,用矩形框標注;
圖6為在圖5基礎上得到的特征區(qū)域示意圖,用矩形框標注;
圖7為圖6中區(qū)域的超像素塊的具體劃分,用網(wǎng)格標注;
圖8為圖7的超像素行的顏色統(tǒng)計結果;
圖9為圖7左的顏色特征區(qū)域重定位結果
圖10為圖9的樣本分類示意圖;
圖11為圖7右的樣本分類示意圖。
具體實施方式
下面結合實施例來詳細闡述一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法的具體實施方法。應當理解,此處所描述的具體實例僅用于解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的一種基于bp神經(jīng)網(wǎng)絡的車輛顏色識別方法的具體過程如圖1所示,具體步驟如下:
步驟1:定義車身顏色集合為c={c1,c2,c3,c4,c5,c6,c7,c8,c9,c10}={黑,灰,白,粉,棕,紅,黃,綠,藍,紫},并建立相應的顏色數(shù)據(jù)集;
步驟2:構建用于顏色分類的bp神經(jīng)網(wǎng)絡并用步驟1中的顏色數(shù)據(jù)集進行訓練,具體為:
步驟2.1:采用具有一個隱層的三層bp神經(jīng)網(wǎng)絡,輸入層神經(jīng)元數(shù)為3,分別為輸入顏色的h、s、v通道歸一化后的值,輸出層神經(jīng)元數(shù)為10,分別為10類顏色所對應的概率,根據(jù)式(1)確定隱層的節(jié)點個數(shù),
其中,n2為隱層神經(jīng)元個數(shù),n1為輸入層神經(jīng)元個數(shù),n3為輸出層神經(jīng)元個數(shù);網(wǎng)絡結構如圖2所示,在本實施例中,n2取6;
步驟2.2:設計神經(jīng)網(wǎng)絡的隱層與輸出層間的激活函數(shù)f(x)與各層之間的數(shù)據(jù)傳輸,如式(2)、(3)所示;
其中,oij為第i層第j個神經(jīng)元的輸出,wijk表示第i層第j個神經(jīng)元到第i+1層第k個神經(jīng)元的連接權值,b為偏置,ni為第i層神經(jīng)元總數(shù);
步驟2.3:隨機初始化網(wǎng)絡模型并使用bp神經(jīng)網(wǎng)絡訓練方法對模型進行訓練;在本實施例中,所述的bp神經(jīng)網(wǎng)絡訓練方法在申請?zhí)枮閏n201610574817.9的文件中已公開,在此不再詳述;
步驟3:利用交叉路口的監(jiān)控攝像頭采集rgb圖像并對采集到的圖像使用中值濾波處理,利用車輛檢測跟蹤算法提取得到車輛區(qū)域并將其轉到hsv顏色空間下,得到圖像i;在本實施例中,采集到的rgb圖像如圖3所示,圖3處理結果參照圖4,所述的車輛檢測跟蹤算法在申請?zhí)枮閏n201510831439.3的文件中已公開,在此不再詳述;
步驟4:利用車牌識別算法提取圖像i中的車牌矩形區(qū)域r=(x,y,w,h),其中圖像i的左上角為像素坐標原點,(x,y)為車牌矩形區(qū)域左上角的坐標,h與w分別為車牌矩形區(qū)域的高和寬,單位為像素;本實施例中,處理結果參照圖5,所述的車牌識別算法在申請?zhí)枮閏n201510937041.8的文件中已公開,在此不再詳述;
步驟5:確定i為車尾圖像還是車頭圖像,具體為:
步驟5.1:根據(jù)公式(4)確定矩形特征區(qū)域d:
其中,ρ1,ρ2為比例系數(shù),(xd,yd)為矩形區(qū)域d左上角的坐標,hd與wd分別為矩形區(qū)域d的高和寬;本實施例中,選擇ρ1,ρ2分別為1與2,處理結果參照圖6;
步驟5.2:將d劃分為大小相等的nrow*ncol個矩形超像素塊,nrow與ncol分別為超像素塊的行總數(shù)與列總數(shù),每個超像素塊的大小為n=width*height,并根據(jù)公式(5),(6),(7),(8)篩選出有效超像素塊集合d*:
其中,λ為標準差閾值,dij為第i行第j列的超像素塊,
步驟5.3:將d*中每個超像素塊dij的
步驟5.4:根據(jù)式(9)統(tǒng)計d*中每一行中識別出的每種顏色的數(shù)量
其中,μ1為比例系數(shù),ncimax為第i行中最多的顏色數(shù)量;本實施例中,選擇μ1為0.5,超像素行的顏色統(tǒng)計結果如圖8所示;
步驟5.5:根據(jù)式(12)計算有效行數(shù)num,并判斷圖像i為車頭或是車尾:若num<μ2*nrow,則i為車頭圖像;否則,i為車尾圖像,其中,μ2為比例系數(shù):
本實施例中,選擇μ2為0.5;
步驟6:若i為車尾圖像,轉步驟7;若i為車頭圖像,則根據(jù)式(13)對矩形區(qū)域d重定位并重新執(zhí)行步驟5.2至5.4,之后轉步驟7:
其中,ρ3,ρ4為比例系數(shù);本實施例中,選擇ρ3,ρ4分別為0.5與2,處理結果參照圖9;
步驟7:根據(jù)公式(14)統(tǒng)計d*中每種顏色識別結果出現(xiàn)的次數(shù),得到顏色分類集合l={lr|r=1,2,…,10}:
其中,lr表示顏色cr被識別到的數(shù)量,處理結果如圖10,圖11所示;
步驟8:從集合l中從大到小挑選出排在前兩位的數(shù)值,令lm表示排在第一位的值且m為該值對應的下標,lp表示排在第二位的值且p為該值對應的下標;
步驟9:識別車輛顏色,具體為:若lm*η>lp,則車輛顏色為cm;否則,以概率
本說明書實施例所述的內容僅僅是對發(fā)明構思的實現(xiàn)形式的列舉,本發(fā)明的保護范圍的不應當被視為僅限于實施例所陳述的具體形式,本發(fā)明的保護范圍也及于本領域技術人員根據(jù)本發(fā)明構思所能夠想到的等同技術手段。