基于車載攝像機(jī)的盲區(qū)車輛檢測方法
【專利摘要】本發(fā)明方法涉及一種基于車載相機(jī)的在行車環(huán)境下對駕駛盲區(qū)中的車輛檢測的一種方法,在車輛較為密集,天氣情況不佳的情況下,也可獲得令人滿意的精確程度;本方法可廣泛應(yīng)用于對行車環(huán)境下盲區(qū)中車輛的檢測問題,對圖片的類似分析問題,如:駕駛盲區(qū)中車輛的檢測等;同時(shí)本方法對環(huán)境和設(shè)備的要求很低,拓寬了應(yīng)用的場合。
【專利說明】基于車載攝像機(jī)的盲區(qū)車輛檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明方法涉及一種基于車載相機(jī)的在行車環(huán)境下對駕駛盲區(qū)中的車輛檢測的一種方法,在車輛較為密集,天氣情況不佳的情況下,也可獲得令人滿意的精確程度;本方法可廣泛應(yīng)用于對行車環(huán)境下盲區(qū)中車輛的檢測問題,對圖片的類似分析問題,如:駕駛盲區(qū)中車輛的檢測等;同時(shí)本方法對環(huán)境和設(shè)備的要求很低,拓寬了應(yīng)用的場合。
【背景技術(shù)】
[0002]近年來數(shù)字圖像處理技術(shù)日益成熟,各種目標(biāo)檢測算法效果越來越好。一些邊緣檢測算法也可以提取出圖像清晰的輪廓,這就為圖像中的盲區(qū)車輛檢測問題提供了基礎(chǔ)。傳統(tǒng)的基于陰影的車輛檢測等方法可以處理這類問題,但是行車環(huán)境下,車輛可能很密集,天氣情況可能不佳,這些情形下傳統(tǒng)的方法精度并不很高。故要實(shí)現(xiàn)駕駛盲區(qū)中車輛的自動檢測,所用算法需要靈活高效,且可以在各種工況下應(yīng)用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是為了檢測行車環(huán)境下駕駛盲區(qū)中的車輛,通過對一定區(qū)域車輛的檢測,配合其它指標(biāo)實(shí)現(xiàn)對車輛的自動化檢測。
[0004]本發(fā)明提供一種利用車載攝像機(jī)和處理器對行車環(huán)境下駕駛盲區(qū)中車輛的檢測方法,通過實(shí)時(shí)捕獲的圖片,利用圖像處理技術(shù),可通過基于車輛水平方向邊緣統(tǒng)計(jì)直方圖的方法,獲取一定區(qū)域中疑似車輛區(qū)域。即使是在車輛密集,天氣情況不佳的情況下,也可通過對車輛水平方向邊緣統(tǒng)計(jì)直方圖進(jìn)行中值濾波處理,通過對得到的車輛波進(jìn)行分割,得到疑似車輛區(qū)域的左上,右下及中心點(diǎn)的橫坐標(biāo)值,通過一定區(qū)域中的水平方向邊緣線得到疑似車輛區(qū)域的左上,右下及中心點(diǎn)的縱坐標(biāo)。并可通過基于運(yùn)動軌跡的車輛檢測方法,對一定時(shí)間內(nèi),一定區(qū)域內(nèi)疑似車輛區(qū)域的數(shù)目Vehicle_num進(jìn)行統(tǒng)計(jì),通過Vehicle_num判斷疑似車輛區(qū)域是否為真實(shí)車輛區(qū)域。本發(fā)明即是根據(jù)車輛的水平方向邊緣判斷圖像中的疑似車輛區(qū)域,通過運(yùn)動軌跡判斷疑似車輛區(qū)域是否為車輛,進(jìn)而得到車輛在圖像中的位置信息。
[0005]本發(fā)明方法的條件和步驟如下:
[0006]1.所需設(shè)備:高清工業(yè)相機(jī)?號:DAHENG-F-033C),定焦鏡頭?號:Computar-M0814-MP2)傳輸設(shè)備(USB數(shù)據(jù)線),存儲設(shè)備,處理器(本系統(tǒng)采用PC機(jī))。
[0007]2.實(shí)現(xiàn)步驟:
[0008]本發(fā)明方法(010)部分,采用基于水平方向邊緣統(tǒng)計(jì)直方圖的車輛檢測方法提取駕駛盲區(qū)中疑似車輛區(qū)域并給出疑似車輛區(qū)域的左上,右下點(diǎn)及中心點(diǎn)的橫縱坐標(biāo)值,保留原始的圖片,具體步驟如下:
[0009]步驟COll:做好初始化車載攝像機(jī),初始化編解碼器;
[0010]步驟C012:利用車載攝像機(jī)獲取圖像Image,保存獲得的圖像Image ;
[0011]步驟C013:通過Sobel算子提取圖像Image中的水平方向邊緣,獲得粗線條的車輛水平方向邊緣和一些干擾偽邊緣的邊緣圖像Image_edge ;
[0012]步驟C014:將邊緣圖像Image_edge的下2/3區(qū)域設(shè)置為檢測區(qū)域Detection_area,統(tǒng)計(jì)檢測區(qū)域Detection_area中每一列上的邊緣像素點(diǎn)個數(shù),以生成該區(qū)域的水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖His_hor ;
[0013]步驟C015:對C014步驟中的水平邊緣像素點(diǎn)統(tǒng)計(jì)直方圖His_hor進(jìn)行中值濾波處理,得到了車輛波Vehicle_wave ;
[0014]步驟CO 16:通過對車輛波Vehicl e_wave進(jìn)行分割,獲得圖像中疑似車輛區(qū)域Vehicle_roi 的左上,右下點(diǎn)的橫坐標(biāo) X_roi_min, X_roi_max ;
[0015]步驟C017:在以左上,右下點(diǎn)的橫坐標(biāo)X_roi_min, X_roi_max為左右邊界的檢測子矩形區(qū)域Detection_area_s內(nèi),根據(jù)Detection_area_s內(nèi)的水平方向邊緣線的位置,獲得疑似車輛區(qū)域Vehicle_roi的左上,右下點(diǎn)的縱坐標(biāo),保存坐標(biāo)值Y_roi_min, Y_roi_max ;
[0016]步驟C018:根據(jù)疑似車輛區(qū)域Vehiclejoi的左上,右下點(diǎn)的橫縱坐標(biāo)計(jì)算出疑似車輛區(qū)域的中心點(diǎn)的橫縱坐標(biāo),保存坐標(biāo)值(X_roi_center, Y_roi_center)生成疑似車輛區(qū)域圖像 Image_vehicle,保存 Image_vehicle ;
[0017]本發(fā)明方法(020)部分,本部分為采用基于運(yùn)動軌跡的車輛檢測方法對疑似區(qū)域進(jìn)行車輛確定的過程,具體步驟如下:
[0018]步驟C021:讀取(010)部分的方法所得到的Image_vehicle,并記錄相應(yīng)疑似車輛區(qū)域 Vehicle_roi 的中心點(diǎn)橫縱坐標(biāo)值(X_roi_center, Y_roi_center);
[0019]步驟C022:判斷視頻中每一幀圖像中的疑似車輛區(qū)域的中心點(diǎn)(X_roi_center, Y_roi_center)是否落在前一巾貞確定出的疑似車輛區(qū)域中心點(diǎn)周圍內(nèi),如連續(xù)Num幀內(nèi)落在中心點(diǎn)周圍的中心點(diǎn)數(shù)目超過給定閾值VehiCle_Num,則認(rèn)為此疑似車輛區(qū)域?yàn)檐囕v區(qū)域;
[0020]步驟C023:根據(jù)(010)部分確定的疑似車輛區(qū)域的左上,右下點(diǎn)的橫縱坐標(biāo)值,標(biāo)記出車輛在圖像Image中的位置,得到結(jié)果圖1mage_result,保存Image_result。
[0021]有益效果:
[0022]本發(fā)明提出了一種基于車載攝像機(jī)的行車環(huán)境下車輛檢測方法,這種方法的靈活性較高,可在對精度要求不同的情況下做出調(diào)整,通過改變算法的相關(guān)閾值,可以滿足對精度和效率的要求。本方法是根據(jù)車輛的水平方向邊緣判斷圖像中的疑似車輛區(qū)域,通過運(yùn)動軌跡判斷疑似車輛區(qū)域是否為車輛,而非基于陰影的車輛檢測等常規(guī)方法。這不僅提高了算法的檢測精度和效率,更可以解決基于陰影的車輛檢測方法在車輛較為集中以及天氣不佳的情況下無法檢測的問題。
【專利附圖】
【附圖說明】
[0023]圖1為使用Sobel算子提取的水平方向邊緣。
[0024]圖2為檢測區(qū)域的水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖。
[0025]圖3為中值濾波后的車輛波示意圖。
[0026]圖4為白色矩形區(qū)域示意圖。
[0027]圖5為連續(xù)25幀內(nèi)疑似車輛區(qū)域中心點(diǎn)位置分布圖。[0028]圖6為Vehicle_roi定義不意圖。
[0029]圖7為車輛檢測結(jié)果圖。
【具體實(shí)施方式】
[0030]【具體實(shí)施方式】以城市道路中常見的小型汽車的檢測為例。圖1為(010)部分經(jīng)過步驟COll到步驟C013邊緣提取后的圖像Image_edge。得到Image_edge之前,先通過車載攝像機(jī)得到了彩色圖像Image。在圖1上可以看到除了車輛水平方向邊緣之外,還有許多短小零碎的偽邊緣。由于車體的水平邊緣數(shù)量多,且比較規(guī)則,故水平方向邊緣是表現(xiàn)車輛的一個很好特征。圖像的上1/3區(qū)域?yàn)樘炜?,為減少計(jì)算量,將圖像的下2/3區(qū)域設(shè)置為檢測區(qū)域Detectior^area。統(tǒng)計(jì)檢測區(qū)域每一列上的水平方向邊緣像素點(diǎn)個數(shù),得到如圖2所示該區(qū)域的水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖HiS_hor。水平邊緣直方圖的級數(shù)等于感興趣區(qū)域的寬度,每一級的bin值為對應(yīng)列上的邊緣像素點(diǎn)個數(shù)。
[0031]使用步驟C014到步驟C016能準(zhǔn)確地確定出疑似車輛區(qū)域Vehicle_roi的左上,右下及中心點(diǎn)的橫坐標(biāo)X_roi_min, X_roi_max。對水平邊緣直方圖進(jìn)行中值濾波處理,得到了如圖3所示的車輛波Vehicle_wave,通過對車輛波使用一條閾值直線Y=Threshold_HorHis進(jìn)行分割,得到了直線Y=ThreshoId_HorHis與車輛波的交點(diǎn),兩個交點(diǎn)的橫坐標(biāo)即為檢測區(qū)域中的疑似車輛區(qū)域的左上,右下點(diǎn)橫坐標(biāo),實(shí)現(xiàn)中設(shè)置閾值ThresholdJtorHis為10。
[0032]步驟C017確定了疑似車輛區(qū)域的左上,右下點(diǎn)的縱坐標(biāo),首先在水平邊緣圖中以左上,右下點(diǎn)的橫坐標(biāo)為左右邊界,檢測區(qū)域的第I行和第H行為上下邊界取如圖4中所示的白色矩形區(qū)域Detection_area_s, Detection_area_s中包含多條水平線段。通過對多個DeteCti0n_area_s進(jìn)行分析發(fā)現(xiàn),在矩形區(qū)域中屬于車輛的水平線段的縱向間距較小??紤]到不同距離下車載攝像機(jī)捕獲的車輛在圖像中具有不同的尺寸,且不同尺寸車輛包含的水平線段之間存在不同的間距,因此需要自適應(yīng)地設(shè)置一個距離閾值ThresholcLdis來確定物體的上下邊界。實(shí)現(xiàn)過程中自適應(yīng)地根據(jù)確定的矩形區(qū)域的寬度W設(shè)置閾值ThreshoId_diS=Min (W/6, 100)。設(shè)置閾值Threshold_dis后,從上到下對矩形區(qū)域中的每一條水平Horizontallinei使用以下規(guī)則進(jìn)行判斷:
[0033]規(guī)則1.若Horizontallinei是出現(xiàn)的第一條水平線段,則它是第一個物體的上邊界;
[0034]規(guī)則2.若Horizontallinei是最后一條水平線段,貝U它是最后一個物體的下邊界;
[0035]規(guī)則3.若當(dāng)前Horizontallinei與其相鄰的下一條Horizontal_linei+1之間的間距大于
[0036]Threshold_dis,則 Horizontallinei 為第 J個物體的下邊界,Horizontal_linei+1為第
[0037]J+1個物體的上邊界;
[0038]規(guī)則4.若Horizontallinei與其相鄰的下面一條Horizontal_linei+1之間的間距小于等于Threshold_dis,則這 兩條直線屬于同一個物體。
[0039]通過上述規(guī)則得到了車頂和車底的位置,從而確定出疑似車輛區(qū)域的左上,右下點(diǎn)的縱坐標(biāo):
[0040]通過使用大量視頻對基于水平邊緣直方圖的車輛檢測算法進(jìn)行測試后發(fā)現(xiàn),連續(xù)25幀提取出的疑似車輛的中心落在同一區(qū)域內(nèi)。圖5為連續(xù)25幀內(nèi),使用基于水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖的車輛檢測算法提取的疑似車輛區(qū)域的中心位置,其中的2個為真實(shí)車輛,編號分別為車輛1,車輛2。
[0041]定義如圖6所示的基于水平邊緣直方圖的車輛檢測算法提取的疑似車輛區(qū)域:Vehicle_roi={X_roi_center, Y_roi_center, Width_vehicIe_roi, Height_vehicle_roi, Search_window_vehicIe_roi, Seq_vehicle_roij}。其中 X_roi_center, Y_roi_center表示提取的疑似車輛區(qū)域的中心點(diǎn)橫、縱坐標(biāo)。Width_vehicle_roi, Height_vehicIe_roi分別為疑似車輛區(qū)域的寬和高。Search_window_vehicIe_roi為搜索框,其定義為以每個疑似車輛區(qū)域的中心為中心,邊長為2XSTEP的一個矩形區(qū)域,實(shí)現(xiàn)過程中STEP取值為5,且每隔5幀根據(jù)當(dāng)前物體的中心更新搜索框的中心。Seq_vehicle_roi」用于記錄連續(xù)8中貞內(nèi)疑似車輛區(qū)域的中心落在搜索框內(nèi)的情況。步驟C021-C023為采用基于運(yùn)動軌跡的車輛檢測方法對疑似區(qū)域進(jìn)行車輛確定的過程,具體操作如下:
[0042]Stepl使用基于水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖的車輛檢測算法提取視頻中每一中貞的疑似車輛區(qū)域,并用Vehicle^oii記錄當(dāng)前幀中的疑似車輛區(qū)域的相關(guān)信息,初始化每個疑似車輛區(qū)域的搜索框Searct^windowjehiclejoii。
[0043]Step2循環(huán)判斷當(dāng)前幀中的每一個疑似車輛區(qū)域Vehicle_roin的中心(X_roi_centern, Y_roi_centern)是否落在前一幀確定的感興趣區(qū)域Vehiclejoii的搜索框內(nèi),若落在搜索框 Searct^window+vehiclej^oii 內(nèi)則將 Seqjehiclej^oiij賦值為 I,否則將 Seq_
Vehiclejoiij賦值為O, 其中i=l, 2......Num, j=l, 2......N。若當(dāng)前幀中的某一疑似車輛區(qū)
域未落在任何一個前一幀確定出來的感興趣區(qū)域Vehicle^oii的搜索框內(nèi),則認(rèn)定該區(qū)域?yàn)樾鲁霈F(xiàn)的感興趣區(qū)域,并初始該區(qū)域?yàn)閂ehicle_roii+1。
[0044]Step3統(tǒng)計(jì)連續(xù)8幀內(nèi)隊(duì)列Seqjehiclej^oii中值為I的元素個數(shù),若為I的元素個數(shù)大于4,則確定疑似車輛區(qū)域Vehicle^oii為車輛,并在結(jié)果圖1mage_result中標(biāo)示出該車輛。
[0045]Step4統(tǒng)計(jì)連續(xù)8幀內(nèi)隊(duì)列Seq^ehiclei中值為O的元素個數(shù),若為O的元素個數(shù)等于8,則認(rèn)為該疑似車輛區(qū)域Vehiclejoii為干擾,刪除該感興趣區(qū)域。
[0046]Step5保存如圖7所示的結(jié)果圖1mage_result。
【權(quán)利要求】
1.基于車載攝像機(jī)的盲區(qū)車輛檢測方法,所用設(shè)備由普通PC機(jī),成像系統(tǒng)組成,成像系統(tǒng)采用車載攝像機(jī);其特征在于,實(shí)現(xiàn)步驟如下: (OlO)部分,采用基于水平方向邊緣統(tǒng)計(jì)直方圖的車輛檢測方法提取駕駛盲區(qū)中疑似車輛區(qū)域并給出疑似車輛區(qū)域的左上,右下點(diǎn)及中心點(diǎn)的橫縱坐標(biāo)值,保留原始的圖片,具體步驟如下: 步驟COll:做好初始化車載攝像機(jī),初始化編解碼器; 步驟C012:利用車載攝像機(jī)獲取圖像Image,保存獲得的圖像Image ; 步驟C013:通過Sobel算子提取圖像Image中的水平方向邊緣,獲得粗線條的車輛水平方向邊緣和一些干擾偽邊緣的邊緣圖像Image_edge ; 步驟C014:將邊緣圖像Image_edge的下2/3區(qū)域設(shè)置為檢測區(qū)域Detection_area,統(tǒng)計(jì)檢測區(qū)域Detection_area中每一列上的邊緣像素點(diǎn)個數(shù),以生成該區(qū)域的水平方向邊緣像素點(diǎn)統(tǒng)計(jì)直方圖His_hor ; 步驟C015:對C014步驟中的水平邊緣像素點(diǎn)統(tǒng)計(jì)直方圖His_hor進(jìn)行中值濾波處理,得到了車輛波Vehicle_wave ; 步驟CO 16:通過對車輛波Vehicl e_wave進(jìn)行分割,獲得圖像中疑似車輛區(qū)域Veh i c I e_roi的左上,右下點(diǎn)的橫坐標(biāo)X_roi_min, X_roi_max ; 步驟C017:在以左上,右下點(diǎn)的橫坐標(biāo)X_roi_min, X_roi_max為左右邊界的檢測子矩形區(qū)域Detection_area_s內(nèi),根據(jù)Detection_area_s內(nèi)的水平方向邊緣線的位置,獲得疑似車輛區(qū)域Vehicle_roi的左上,右下點(diǎn)的縱坐標(biāo),保存坐標(biāo)值Y_roi_min, Y_roi_max ;步驟C018:根據(jù)疑似車輛區(qū)域Vehicle_r0i的左上,右下點(diǎn)的橫縱坐標(biāo)計(jì)算出疑似車輛區(qū)域的中心點(diǎn)的橫縱坐標(biāo),保存坐標(biāo)值(X_roi_center, Y_roi_center)生成疑似車輛區(qū)域圖像 Image_vehicle,保存 Image_vehicle ; (020)部分,采用基于運(yùn)動軌跡的車輛檢測方法對疑似區(qū)域進(jìn)行車輛確定,具體步驟如下: 步驟C021:讀取(010)部分的方法所得到的Image_vehicle,并記錄相應(yīng)疑似車輛區(qū)域Vehicle_roi 的中心點(diǎn)橫縱坐標(biāo)值(X_roi_center, Y_roi_center); 步驟C022:判斷視頻中每一巾貞圖像中的疑似車輛區(qū)域的中心點(diǎn)(X_roi_center, Y_roi_center)是否落在前一巾貞確定出的疑似車輛區(qū)域中心點(diǎn)周圍內(nèi),如連續(xù)Num巾貞內(nèi)落在中心點(diǎn)周圍的中心點(diǎn)數(shù)目超過給定閾值V e h i c I e _Num,則認(rèn)為此疑似車輛區(qū)域?yàn)檐囕v區(qū)域; 步驟C023:根據(jù)(010)部分確定的疑似車輛區(qū)域的左上,右下點(diǎn)的橫縱坐標(biāo)值,標(biāo)記出車輛在圖像Image中的位置,得到結(jié)果圖1mage_result,保存Image_result。
【文檔編號】G06K9/00GK103942532SQ201410093762
【公開日】2014年7月23日 申請日期:2014年3月14日 優(yōu)先權(quán)日:2014年3月14日
【發(fā)明者】李文輝, 劉培勛, 王瑩, 倪洪印, 傅博, 陳存祺, 肖文超 申請人:吉林大學(xué)