一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法
【專利摘要】本發(fā)明公開了一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,屬于智能車輛環(huán)境感知【技術(shù)領(lǐng)域】。本發(fā)明通過(guò)對(duì)立式標(biāo)靶圖像的感興趣區(qū)進(jìn)行模板匹配、候選點(diǎn)聚類及篩選、精確定位等操作,實(shí)現(xiàn)亞像素級(jí)角點(diǎn)檢測(cè)及定位,結(jié)合投影幾何模型,建立圖像縱坐標(biāo)與實(shí)際成像角度之間的映射關(guān)系,從而實(shí)現(xiàn)測(cè)距及測(cè)高,本發(fā)明不需要標(biāo)定攝像頭的內(nèi)外部參數(shù),也不需要多次放置標(biāo)定板或參照物,降低了出現(xiàn)誤差的可能性,既減少了操作環(huán)節(jié),又提高了測(cè)量精度;與傳統(tǒng)的角點(diǎn)檢測(cè)相比,能夠更準(zhǔn)確地檢測(cè)出標(biāo)靶中的目標(biāo)點(diǎn),從而減少了后續(xù)聚類篩選的計(jì)算量,在計(jì)算的實(shí)際成像角度及距離的基礎(chǔ)上實(shí)現(xiàn)了單目攝像頭測(cè)高,大大減低了成本。
【專利說(shuō)明】一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于智能車輛環(huán)境感知【技術(shù)領(lǐng)域】,涉及一種基于機(jī)器視覺的測(cè)距及測(cè)高技術(shù),具體涉及一種基于立式標(biāo)靶的車載單目攝像頭針對(duì)障礙物、橋洞或涵洞等的測(cè)距及測(cè)高方法。
【背景技術(shù)】
[0002]機(jī)器視覺作為智能車輛環(huán)境感知系統(tǒng)中最重要的組成部分,為決策層提供大量必要的環(huán)境信息,具有十分重要的意義。其中,物體的測(cè)距與測(cè)高分別為無(wú)人駕駛或輔助駕駛系統(tǒng)的防撞預(yù)警、路徑規(guī)劃及車輛分類、涵洞橋梁通過(guò)性檢測(cè)等提供重要的參數(shù)信息。目前,智能車的機(jī)器視覺測(cè)量一般分為雙目視覺測(cè)量和單目視覺測(cè)量?jī)深悺kp目視覺測(cè)距容易受到特征點(diǎn)誤匹配的影響,且計(jì)算量大,難以滿足實(shí)時(shí)性要求。而單目視覺測(cè)距結(jié)構(gòu)簡(jiǎn)單,運(yùn)算速度快,具有廣泛的應(yīng)用前景。
[0003]目前單目視覺系統(tǒng)通常采用對(duì)應(yīng)點(diǎn)標(biāo)定法(簡(jiǎn)稱標(biāo)定法)來(lái)獲取待測(cè)物體的深度信息。傳統(tǒng)對(duì)應(yīng)點(diǎn)標(biāo)定法通常是利用棋盤格標(biāo)定板標(biāo)定出攝像頭內(nèi)外部參數(shù)后,結(jié)合投影模型,求解出圖像坐標(biāo)系與實(shí)際成像角度之間的對(duì)應(yīng)關(guān)系,從而得到距離信息。此方法需要多次采集不同方位的標(biāo)定板圖像,并且需要精確記錄每個(gè)點(diǎn)在世界坐標(biāo)系和圖像坐標(biāo)系中的對(duì)應(yīng)坐標(biāo),而且標(biāo)定結(jié)果的誤差會(huì)在測(cè)量中放大數(shù)十甚至上百倍,總體來(lái)說(shuō),過(guò)程復(fù)雜且誤差較大。另外,通過(guò)在路面擺放參照物并測(cè)量其距離,利用參照物距離和像素?cái)?shù)據(jù)直接擬合出距離與圖像坐標(biāo)間的數(shù)學(xué)模型,從而實(shí)現(xiàn)測(cè)距。此方法在工程中也有廣泛的運(yùn)用,但需要較大的場(chǎng)地,精度會(huì)受到實(shí)際測(cè)量和數(shù)據(jù)擬合誤差的影響。而對(duì)于測(cè)高,主要還是運(yùn)用激光雷達(dá)等傳感器進(jìn)行測(cè)量,僅用單目實(shí)時(shí)測(cè)高還鮮有發(fā)表的研究成果。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,具體是通過(guò)對(duì)立式標(biāo)靶圖像的感興趣區(qū)進(jìn)行模板匹配、候選點(diǎn)聚類及篩選、精確定位等操作,實(shí)現(xiàn)亞像素級(jí)角點(diǎn)檢測(cè)及定位,結(jié)合投影幾何模型,建立圖像縱坐標(biāo)與實(shí)際成像角度之間的映射關(guān)系,從而實(shí)現(xiàn)測(cè)距及測(cè)高,此方法不僅提高了測(cè)量精度,且無(wú)需標(biāo)定攝像頭內(nèi)外部參數(shù),操作簡(jiǎn)單,可執(zhí)行性強(qiáng),具有較強(qiáng)的工程實(shí)用價(jià)值和研究意義。
[0005]本發(fā)明提供的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,包括以下步驟:
[0006]步驟101:攝像頭安裝于車體的合適位置后,首先將立式標(biāo)靶放置于攝像頭正前方,且盡量靠近攝像頭的同時(shí),需滿足采集的標(biāo)靶圖像中必須包含最低的角點(diǎn),且角點(diǎn)總數(shù)大于8個(gè),然后測(cè)量攝像頭安裝高度h及其與立式標(biāo)靶靶面的水平距離D ;
[0007]步驟102:采集標(biāo)祀圖像,分辨率為mm*nn,設(shè)置圖像坐標(biāo)系:左上角點(diǎn)為坐標(biāo)原點(diǎn),水平向右為X軸正方向,垂直向下為y軸正方向。設(shè)置角點(diǎn)檢測(cè)的感興趣區(qū):x方向?yàn)閇mm/3-l, 2*mm/3_l], y方向?yàn)閇0,nn_l]。對(duì)感興趣區(qū)進(jìn)行分塊:塊大小s*v可以調(diào)整,但一般大于50*50,對(duì)每個(gè)塊分別采用最大類間方差法進(jìn)行自適應(yīng)二值化處理;
[0008]步驟103:在感興趣區(qū)內(nèi)利用設(shè)計(jì)的模板(a)和(b)分別進(jìn)行全搜索匹配,保留所有匹配子圖的左上角點(diǎn),組成標(biāo)祀角點(diǎn)的候選點(diǎn)集CC=Kx1, Y1), (x2, y2),…,(xk, yk)},其中k為匹配的子圖總數(shù);
[0009]步驟104:對(duì)候選點(diǎn)集CC中所有點(diǎn)進(jìn)行分類,即將兩點(diǎn)之間橫坐標(biāo)差值及縱坐標(biāo)差值同時(shí)小于閾值T1的點(diǎn)記為同一小類,假設(shè)總共分成了 g小類,則小類的集W=Iw1, w2,…,wg},再分別計(jì)算各小類的中心點(diǎn)坐標(biāo)(xwi,ywi)(i=l, 2,…,g),將中心點(diǎn)橫坐標(biāo)之差小于T1的小類記為同一個(gè)大類,最后保留包含小類數(shù)目最多的大類,剔除其他小類,并將保留下來(lái)的小類的中心點(diǎn)坐標(biāo)在X和y方向上分別加上模板寬度和高度的一半e,存為初始角點(diǎn)集A={(xal, yal), (xa2, ya2), --?, (xaj, yaj)},其中j為保留下來(lái)的小類的個(gè)數(shù),而且A中各點(diǎn)的順序是以yal,ya2,…,yaJ值從大到小排列;
[0010]步驟105:在初始角點(diǎn)集A中搜索出最大橫坐標(biāo)值Xniax,利用模板(C)在橫坐標(biāo)小于乂.^的感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索。假設(shè)搜索到匹配的子圖左上角點(diǎn)為(Xf,yf),則角點(diǎn)的參考間隔SS=X_-(Xf+e),再利用模板(d)在點(diǎn)(Xf,yf)左下方感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索,記錄匹配的子圖左上角點(diǎn)為(Xj, y」);
[0011]步驟106:搜索完畢后,判斷是否存在步驟105的兩個(gè)定位參考點(diǎn)(xf,yf)和(Xj, y」),如果存在進(jìn)入步驟107 ;否則返回步驟101 ;
[0012]步驟107:將初始角點(diǎn)集A中縱坐標(biāo)最大值yel與yj進(jìn)行比較,如果yel-yj為ss的3倍左右,認(rèn)為點(diǎn)(Xc^yel)為標(biāo)靶最低角點(diǎn);否則,將點(diǎn)(xmax,yj+ss*3)作為標(biāo)靶的最低角點(diǎn),然后利用初始角點(diǎn)集A和參考間隔ss將圖像中全部角點(diǎn)補(bǔ)充完整,并得到角點(diǎn)集C={(xcl, ycl), (xc2, yc2), --?,(xcn, ym)},其中n表示圖中標(biāo)祀角點(diǎn)總數(shù),且C中各點(diǎn)的順序也以y值從大到小排列,最后運(yùn)用openCV中的cvFindCornerSubPixO函數(shù),以角點(diǎn)集C為基準(zhǔn)將其更新為亞像素級(jí)角點(diǎn)集B=Kxbl, ybl),(xb2, yb2),…,(xbn, ybn)};
[0013]步驟108:圖像中 n 個(gè)角點(diǎn)的高度集 HH= {1.00,1.05,...,1.00+ (n_l) *0.05},然后利用參數(shù)h和D,計(jì)算得到各角點(diǎn)的實(shí)際成像角度集Q= {qi,q2,…,qn},其中各角度值與亞像素級(jí)角點(diǎn)集B的縱坐標(biāo){ybl,yb2,…,yj按順序一一對(duì)應(yīng),得到映射點(diǎn)集P= {(ybi, Qi),(yb2.%),--?,(ybn.qn)丨,以直線擬合相鄰兩點(diǎn),得到相鄰點(diǎn)映射關(guān)系集F=If1, f2,…,fn-J ;
[0014]步驟109:在實(shí)時(shí)測(cè)距過(guò)程中,將通過(guò)障礙物檢測(cè)算法得到的障礙物底等部y方向坐標(biāo)yz作為參數(shù)輸入,首先判斷出yz所屬的映射關(guān)系A(chǔ) (0〈i〈n),利用&的直線方程計(jì)算Yz對(duì)應(yīng)的實(shí)際成像角度qz,然后以qz作為輸入通過(guò)測(cè)距方程計(jì)算障礙物等的距離Lz ;
[0015]步驟110:根據(jù)系統(tǒng)需要判斷是否需要測(cè)量障礙物等的高度,如果需要繼續(xù)步驟111 ;否則結(jié)束此障礙物等的測(cè)距;
[0016]步驟111:將通過(guò)障礙 物檢測(cè)算法得到的障礙物頂部y方向像素值yd作為參數(shù)輸入,首先判斷出yd所屬的映射關(guān)系^((KKn),利用&的直線方程計(jì)算yd對(duì)應(yīng)的實(shí)際成像角度qd,然后以qd和障礙物距離Lz作為輸入通過(guò)測(cè)高方程計(jì)算障礙物等的高度。
[0017]本發(fā)明一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法的優(yōu)點(diǎn)在于:
[0018](I)本發(fā)明不需要標(biāo)定攝像頭的內(nèi)外部參數(shù),也不需要多次放置標(biāo)定板或參照物,降低了出現(xiàn)誤差的可能性,既減少了操作環(huán)節(jié),又提高了測(cè)量精度;
[0019](2)設(shè)計(jì)了感興趣區(qū)和四個(gè)模板,以模板匹配的方式檢測(cè)立式標(biāo)靶中的角點(diǎn)及定位參考點(diǎn),與傳統(tǒng)的角點(diǎn)檢測(cè)相比,能夠更準(zhǔn)確地檢測(cè)出標(biāo)靶中的目標(biāo)點(diǎn),從而減少了后續(xù)聚類篩選的計(jì)算量;
[0020](3)通過(guò)檢測(cè)定位參考點(diǎn)使得亞像素級(jí)角點(diǎn)集的縱坐標(biāo)與實(shí)際成像角度一一對(duì)應(yīng),用分段直線的方式擬合圖像縱坐標(biāo)與實(shí)際成像角度之間的映射關(guān)系,減少了用一條直線擬合所引起的誤差,從而提高了測(cè)量精度;
[0021](4)本發(fā)明無(wú)需雷達(dá)等其它傳感器,在計(jì)算的實(shí)際成像角度及距離的基礎(chǔ)上實(shí)現(xiàn)了單目攝像頭測(cè)高,大大減低了成本。
【專利附圖】
【附圖說(shuō)明】
[0022]圖1為本發(fā)明一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法的整體步驟流程圖;
[0023]圖2為本發(fā)明中匹配法檢測(cè)角點(diǎn)的執(zhí)行流程圖;
[0024]圖3為本發(fā)明所用到的立式標(biāo)靶的示意圖;
[0025]圖4為本發(fā)明中用于角點(diǎn)及定位參考點(diǎn)檢測(cè)的四種模板示意圖,且e=ll。
【具體實(shí)施方式】
[0026]下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說(shuō)明。
[0027]本發(fā)明在于提供一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,主要是針對(duì)在車載單目攝像頭已經(jīng)檢測(cè)到路面物體的情況下,計(jì)算物體高度及其距本車距離。車輛前方障礙物等距離及測(cè)高為無(wú)人駕駛或輔助駕駛系統(tǒng)的防撞預(yù)警、路徑規(guī)劃及車輛分類、涵洞橋梁通過(guò)性檢測(cè)等的重要參數(shù)信息,具有較強(qiáng)的工程應(yīng)用價(jià)值。本發(fā)明提供的方法只需一個(gè)攝像頭則可實(shí)現(xiàn)單目測(cè)距及測(cè)高,而且具有較高的測(cè)量精度,操作簡(jiǎn)單可行。
[0028]本發(fā)明提供的方法不需要對(duì)攝像頭進(jìn)行標(biāo)定,避免了標(biāo)定的內(nèi)外部參數(shù)誤差對(duì)測(cè)量的影響,也不需要多次放置參照物或長(zhǎng)距離測(cè)量,減少了誤差產(chǎn)生的可能性,使得測(cè)量精度足以滿足智能車環(huán)境感知系統(tǒng)對(duì)測(cè)距及測(cè)高的精度及實(shí)時(shí)性要求。本發(fā)明將立式標(biāo)靶放置于攝像頭正前方的合適位置后,采集一次圖像,對(duì)感興趣區(qū)進(jìn)行了分塊的自適應(yīng)二值化處理,立式標(biāo)靶的示意圖如圖3所示;在感興趣區(qū)內(nèi)利用模板(a)和(b)搜索匹配的所有子圖,得到感興趣區(qū)內(nèi)角點(diǎn)的候選點(diǎn)集CC,具體流程如圖2所示,模板如圖4所示;對(duì)候選點(diǎn)集CC進(jìn)行聚類、篩選等操作后得到初始角點(diǎn)集A,利用參考點(diǎn)與點(diǎn)集A中縱坐標(biāo)最大點(diǎn)的位置關(guān)系,最終補(bǔ)齊并定位所有角點(diǎn);由于所有角點(diǎn)的高度及其與攝像頭的水平距離都為已知,可以得到各角點(diǎn)的實(shí)際成像角度,并用分段直線擬合出了圖像的縱坐標(biāo)與實(shí)際成像角度之間的映射關(guān)系,最后利用障礙物等在圖像上的底端與頂端像素值即可分別實(shí)現(xiàn)測(cè)距與測(cè)高。
[0029]所述的實(shí)際成像角度是指:攝像頭光軸的側(cè)向平面與被測(cè)物體離車體最近的底線交點(diǎn),將其與攝像頭光心相連呈直線,此直線與攝像頭光心垂直于地面的直線之間的夾角。
[0030]圖1展示了本發(fā)明一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法的完整步驟流程,該方法分為以下幾個(gè)步驟:[0031]步驟101:將攝像頭安裝在車體上的合適位置,然后將立式標(biāo)靶放置于攝像頭正前方,且盡量靠近攝像頭的同時(shí),需滿足攝像頭采集的圖像中必須包含立式標(biāo)靶的最低角點(diǎn),且角點(diǎn)總數(shù)大于8個(gè),測(cè)量攝像頭安裝高度h及其與立式標(biāo)靶靶面的水平距離D ;
[0032]步驟102:采集標(biāo)祀圖像,分辨率為mm*nn,設(shè)置圖像坐標(biāo)系:左上角點(diǎn)為坐標(biāo)原點(diǎn),水平向右為X軸正方向,垂直向下為y軸正方向。設(shè)置角點(diǎn)檢測(cè)的感興趣區(qū):x方向?yàn)閇mm/3-l, 2*mm/3-l], y方向?yàn)閇0,nn_l]。對(duì)感興趣區(qū)進(jìn)行分塊,對(duì)每個(gè)塊分別采用最大類間方差法進(jìn)行自適應(yīng)二值化處理,使感興趣區(qū)內(nèi)的圖像轉(zhuǎn)化為二值圖像;
[0033]其中塊的大小s*v可以依據(jù)圖像感興趣區(qū)的寬高進(jìn)行調(diào)整,但一般情況下s*v大于 50*50,小于 150*150,單位是 pixel。
[0034]步驟103:在感興趣區(qū)內(nèi)分別利用模板(a)和(b)進(jìn)行全搜索匹配,采用匹配法檢測(cè)角點(diǎn),得到標(biāo)祀角點(diǎn)的候選點(diǎn)集CC=Kx1, Y1), (x2, Y2),…,(xk, yk)},其中k為匹配的子圖總數(shù)。此步驟的執(zhí)行流程如圖2所示;
[0035]如圖2所示,本發(fā)明方法中匹配法檢測(cè)角點(diǎn)分為以下幾個(gè)步驟:
[0036]步驟201:初始化循環(huán)參數(shù)ii及j j,都設(shè)置為零;
[0037]步驟202:以(mm/3-l+jj,ii)為左上角點(diǎn),在感興趣區(qū)中擴(kuò)展出與模板大小相同的待檢測(cè)子圖S ;所述模板如圖4所示,包括四種尺寸大小相同的模板,模板大小尺寸均為2e*2e,單位為pixel,但像素值各不相同。其中,e為正方形模板邊長(zhǎng)的一半,模板(a)中左上角及右下角的e*e個(gè)像素的像素值為0(黑色),其余為255 (白色);模板(b)中右上角及左下角的e*e個(gè)像素的像素值為0(黑色),其余為255(白色);模板(C)中右上角e*e個(gè)像素的像素值為0(黑色),其余為255(白色);模板(d)中右下角e*e個(gè)像素的像素值為0(黑色),其余為255(白色);而且,其用途也不相同,搜索標(biāo)靶圖像中的角點(diǎn)時(shí)用到模板(a)和(b),搜索定位參考點(diǎn)時(shí)用到模板(C)和(d)。
[0038]步驟203:計(jì)算子圖S與模板的差值圖像G ;
[0039]所述的差值圖像是指對(duì)子圖S和模板(a)圖像在相同位置像素點(diǎn)的像素值求差,并取絕對(duì)值后所得到的圖像,即當(dāng)求差的兩幅二值化圖像對(duì)應(yīng)像素點(diǎn)的像素值相等時(shí),差值圖像在對(duì)應(yīng)像素點(diǎn)上的像素值為0 (黑色),如果不相同,像素值為255 (白色)。
[0040]步驟204:對(duì)差值圖像G中的每個(gè)白色像素點(diǎn),進(jìn)行如下處理:以該白色像素點(diǎn)為左上角點(diǎn),沿向右和向下方向擴(kuò)充為7像素X7像素大小的塊,將該塊作為統(tǒng)計(jì)單元,計(jì)算該塊中白色像素點(diǎn)的密度M ;
[0041]所述的密度M是指差值圖像中以7像素X 7像素大小的塊為統(tǒng)計(jì)單元,其中像素值為255 (白色)的像素點(diǎn)的個(gè)數(shù)gg除以像素點(diǎn)的總個(gè)數(shù)49,公式如下:
[0042]M = gg49 (I)
[0043]步驟205:對(duì)所述的密度M進(jìn)行如下判斷:
[0044](A)判斷是否存在大于密度閾值的密度M,如果存在某個(gè)區(qū)域的密度M大于設(shè)定的密度閾值,則認(rèn)為模板(a)不匹配,進(jìn)入步驟(B);否則,進(jìn)入步驟206 ;
[0045](B)計(jì)算子圖S與模板(b)差值圖像,如果存在某個(gè)區(qū)域的密度M大于設(shè)定的密度閾值,則認(rèn)為模板(b)不匹配,進(jìn)入步驟207,否則,進(jìn)入步驟206 ;
[0046]密度閾值設(shè)置為0.32,如果密度閾值過(guò)大就會(huì)將兩幅有較大差異的圖像認(rèn)為匹配,增大了誤匹配,反之,如果密度閾值過(guò)小就會(huì)把一些由于光線或路面不平造成標(biāo)靶存在一定旋轉(zhuǎn)角度而造成的小范圍零散的不同點(diǎn)誤判為不匹配。通過(guò)試驗(yàn),本發(fā)明所設(shè)置的密度閾值可以實(shí)現(xiàn)較好的檢測(cè)效果。
[0047]步驟206:將子圖S左上角點(diǎn)坐標(biāo)(mm/3-l+j j,ii)存入候選點(diǎn)集CC中;
[0048]步驟207:將ii加1,判斷ii是否大于nn-l_2e,如果大于進(jìn)入步驟208,否則,返回步驟202 ;
[0049]步驟208:將jj加1,ii設(shè)為初始值0,判斷jj是否大于mm/3-2e,如果大于則結(jié)束此模板的匹配,否則,返回步驟202 ;
[0050]步驟104:對(duì)候選點(diǎn)集CC中所有點(diǎn)進(jìn)行聚類及篩選處理;
[0051]由于感興趣區(qū)內(nèi)的背景圖像中可能也會(huì)存在與模板(a)和(b)相匹配的子圖,所以為了剔除不是標(biāo)靶角點(diǎn)處的候選點(diǎn),需要進(jìn)行聚類及篩選處理。
[0052]聚類:首先將候選點(diǎn)集CC中所有的點(diǎn)進(jìn)行分類處理,此過(guò)程為:分別計(jì)算第一個(gè)點(diǎn)與第二個(gè)點(diǎn)的橫坐標(biāo)之差值及縱坐標(biāo)之差值,如果兩個(gè)差值同時(shí)小于閾值Tl則將這兩個(gè)點(diǎn)記為同一個(gè)小類W1,否則將這兩個(gè)點(diǎn)分別記為兩個(gè)小類W1和W2 ;然后逐點(diǎn)計(jì)算候選點(diǎn)集CC中其它點(diǎn)與已經(jīng)分為小類的所有點(diǎn)的橫坐標(biāo)之差值及縱坐標(biāo)之差值,如果與小類中某點(diǎn)的兩個(gè)差值同時(shí)小于閾值T1,則將待分類點(diǎn)與該小類的點(diǎn)記為同一個(gè)小類,否則認(rèn)為都不屬于已經(jīng)存在的類,則將增加一個(gè)新的小類。假設(shè)總共分成了 g小類,則小類的集W= (W1, W2, *?*, wj o分別計(jì)算各小類的中心點(diǎn)坐標(biāo)(xwi, ywi) (i=l, 2,…,g),將任意中心點(diǎn)橫坐標(biāo)之差值小于閾值T1的小類記為同一個(gè)大類;
[0053]所述的計(jì)算個(gè)各小類中心點(diǎn)坐標(biāo)是指將小類內(nèi)所有點(diǎn)的橫、縱坐標(biāo)分別相加,再除以小類中點(diǎn)總的個(gè)數(shù)得到的x、y值作為此小類的中心點(diǎn)橫、縱坐標(biāo)值。
[0054]篩選:由于標(biāo)靶垂直于地面,而攝像頭平行安裝,在感興趣區(qū)內(nèi)標(biāo)靶的角點(diǎn)的連線應(yīng)基本豎直,橫坐標(biāo)之差值應(yīng)小于閾值T1,貝U應(yīng)屬于一個(gè)大類。而且由于屬于同一大類的誤匹配點(diǎn)小類相對(duì)于屬于同一大類的角點(diǎn)處小類,數(shù)量較少,所以保留包含小類數(shù)目最多的大類,剔除其他大類,并將保留下來(lái)的小類的中心點(diǎn)坐標(biāo)在X和y方向上分別加上模板寬度和高度的一半e,存為初始角點(diǎn)集A={(xal, yal), (xa2, ya2), ..., (xaj, yaj)},其中j為保留下來(lái)的小類的個(gè)數(shù),而且初始角點(diǎn)集A中各點(diǎn)的順序是以yal,ya2, -,yaJ值從大到小排列。
[0055]步驟105:在初始角點(diǎn)集A中搜索出最大橫坐標(biāo)值Xniax,利用模板(C)在橫坐標(biāo)小于乂.^的感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索。假設(shè)搜索到匹配的子圖左上角點(diǎn)為(Xf,yf),則角點(diǎn)的參考間隔SS=X_-(Xf+e),再利用模板(d)在點(diǎn)(Xf,yf)左下方感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索,記錄匹配的子圖左上角點(diǎn)為(Xj, y」);
[0056]此次模板匹配法檢測(cè)定位參考點(diǎn)的過(guò)程包括匹配模板(C)和匹配模板(d)兩部分,在匹配模板(c)時(shí),在X方向[mm/3-l, xmax-2*e], y方向[0,nn-l_2*e]區(qū)域內(nèi),按照從上至下、從右至左的順序逐點(diǎn)搜索,并進(jìn)行匹配檢測(cè)。方法是將搜索點(diǎn)作為左上角點(diǎn),擴(kuò)展出與模板大小相同的待檢測(cè)子圖S ;然后計(jì)算子圖S與模板(c)的差值圖像G ;最后將差值圖像G中的每個(gè)白色像素點(diǎn)擴(kuò)充為7像素X7像素大小的塊,計(jì)算所有塊中白色像素點(diǎn)的密度M,如果存在某個(gè)塊的密度M大于設(shè)定的密度閾值則認(rèn)為此子圖S與模板(c)不匹配,繼續(xù)搜索下一點(diǎn)作為左上角點(diǎn)進(jìn)行檢測(cè),否則認(rèn)為匹配,結(jié)束搜索。匹配模板(d)時(shí),搜索區(qū)域改為X方向[mm/3-l, xf-2*e], y方向[yf+2*e, nn-l_2*e],同樣按照從上至下、從右至左的順序逐點(diǎn)搜索,并進(jìn)行匹配檢測(cè)。檢測(cè)過(guò)程與模板(C)相同。
[0057]步驟106:搜索完畢后,判斷是否存在步驟105的兩個(gè)定位參考點(diǎn)(xf,yf)和(Xj, y」),如果存在進(jìn)入步驟107 ;否則返回步驟101 ;
[0058]其中定位參考點(diǎn)(xf, yf)有可能是圖3所示的參考點(diǎn)①或者參考點(diǎn)②,因?yàn)槿绻麡?biāo)靶完全豎直或存在順時(shí)針旋轉(zhuǎn),那首先搜索到的是參考點(diǎn)①,否則是參考點(diǎn)②,而(\,yP為參考點(diǎn)③。搜索定位參考點(diǎn)的目的為:(1)由于對(duì)立式標(biāo)靶的靶面進(jìn)行分析后發(fā)現(xiàn)在豎直角點(diǎn)集的左側(cè)只有兩處滿足模板(c)的特征,而其左下方只有一處滿足模板(d)的特征,所以搜索定位參考點(diǎn)可進(jìn)一步確認(rèn)檢測(cè)到的初始角點(diǎn)集A的正確性;(2)由于參考點(diǎn)③及其與角點(diǎn)相對(duì)位置的唯一性,可以利用它對(duì)各角點(diǎn)進(jìn)行定位。所述參考點(diǎn)①為從下至上第六個(gè)角點(diǎn)左側(cè)的一個(gè)具有明顯灰度分布特點(diǎn)的點(diǎn),其右上角的e*e個(gè)像素的像素值為0(黑色),其余為255 (白色);參考點(diǎn)②為第四個(gè)角點(diǎn)左側(cè)與參考點(diǎn)①具有相同灰度分布的點(diǎn);參考點(diǎn)③為第二個(gè)角點(diǎn)左側(cè)大概兩倍間隔處,灰度分布為右下角的e*e個(gè)像素的像素值為0(黑色),其余為255(白色)的點(diǎn)。
[0059]所以,如果由于攝像機(jī)安裝或標(biāo)靶放置不當(dāng),在步驟105中沒有檢測(cè)到兩個(gè)定位參考點(diǎn)(xf,yf)和(Xj,Yj),則無(wú)法判斷初始角點(diǎn)集A的準(zhǔn)確性,更無(wú)法定位,則需要返回101重新開始。
[0060]步驟107:將初始角點(diǎn)集A中縱坐標(biāo)最大值yal與y」進(jìn)行比較,如果yal-yj為ss的3倍左右,認(rèn)為點(diǎn)(xal, yal)為標(biāo)祀最低角點(diǎn),否則,將點(diǎn)(xmax,y」+ss*3 )作為標(biāo)革巴的最低角點(diǎn);然后將角點(diǎn)補(bǔ)充完整,并得到角點(diǎn)集C= {(xcl, ycl), (xc2, yc2),…,(xcn, ycn)},其中n表示角點(diǎn)集中標(biāo)靶角點(diǎn)總數(shù),且C中各點(diǎn)的順序也以y值從大到小排列,最后運(yùn)用openCV中的cvFindCornerSubPixO函數(shù),以角點(diǎn)集C為基準(zhǔn)將其更新為亞像素級(jí)角點(diǎn)集B= {Ubl,ybl),(xb2, yb2 ),…,(xbn, ybn)};
[0061]其中,將角點(diǎn)補(bǔ)充完整的過(guò)程為:如果點(diǎn)(xal,yal)為標(biāo)靶最低角點(diǎn),則依次計(jì)算初始角點(diǎn)集A中相鄰點(diǎn)縱坐標(biāo)值之差yaii_ya(ii+1),當(dāng)差值為ss的t倍左右,則需要在點(diǎn)集A的第ii個(gè)點(diǎn)與第ii+1個(gè)點(diǎn)之間補(bǔ)充上t-1個(gè)點(diǎn)(如果t為I則不需要在這兩點(diǎn)間補(bǔ)充),坐標(biāo)分別為(xaii, yai1-jj*ss) (jj=l,…,t-1),當(dāng)搜索到A中最后一個(gè)點(diǎn)(xaj, yaj)時(shí),以yaj作為差值進(jìn)行計(jì)算;如果點(diǎn)(x_,yj+ss*2)為標(biāo)靶最低角點(diǎn),那么還需要計(jì)算差值yj+SS*2-yal,以同樣的方法將點(diǎn)(x_,yj+ss*2)與點(diǎn)(xal,yal)之間的角點(diǎn)補(bǔ)充完整。
[0062]步驟108:圖像中n個(gè)角點(diǎn)的高度集HH=Ih1A,…,hn} = {l.00,1.05,...,1.00+(n-l)*0.05},然后利用參數(shù)h和D,通過(guò)式(2)計(jì)算得到各角點(diǎn)的實(shí)際成像角度集
Q=Iq1, q2,…,qn},其中各角度值與亞像素級(jí)角點(diǎn)集B的縱坐標(biāo){ybl, yb2, ---,YbJ按順序--
對(duì)應(yīng),得到映射點(diǎn)集P={(yM,Qi),(yb2.Q2),…,(ybn,qn)I,以直線擬合映射點(diǎn)集內(nèi)相鄰兩點(diǎn),得到相鄰點(diǎn)映射關(guān)系集F=If1, f2,…,fn_J,如式(3)所示;
[0063]qn = tan-1 [D/ Q1-1iii)] (2)
[0064]其中,ii=l,…,n。
【權(quán)利要求】
1.一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于,包括以下步驟:步驟101:攝像頭安裝于車體的合適位置后,首先將立式標(biāo)靶放置于攝像頭正前方,然后測(cè)量攝像頭安裝高度h及其與立式標(biāo)靶靶面的水平距離D ;所述立式標(biāo)靶與攝像頭之間的距離需滿足采集的標(biāo)靶圖像中必須包含最低的角點(diǎn),且角點(diǎn)總數(shù)大于8個(gè); 步驟102:采集標(biāo)祀圖像,分辨率為mm*nn,設(shè)置圖像坐標(biāo)系:左上角點(diǎn)為坐標(biāo)原點(diǎn),水平向右為X軸正方向,垂直向下為y軸正方向;設(shè)置角點(diǎn)檢測(cè)的感興趣區(qū):x方向?yàn)閇mm/3-l, 2*mm/3-l], y方向?yàn)閇0,nn_l];對(duì)感興趣區(qū)進(jìn)行分塊并進(jìn)行自適應(yīng)二值化處理;步驟103:在感興趣區(qū)內(nèi)利用設(shè)計(jì)的模板(a)和(b)分別進(jìn)行全搜索匹配,采用匹配法檢測(cè)角點(diǎn),保留所有匹配子圖的左上角點(diǎn),組成標(biāo)靶角點(diǎn)的候選點(diǎn)集CC=Kx1, Y1), (x2, y2),…,(xk, yk)},其中k為匹配的子圖總數(shù); 步驟104:對(duì)候選點(diǎn)集CC中所有點(diǎn)進(jìn)行聚類及篩選處理,得到初始角點(diǎn)集A ; 步驟105:在初始角點(diǎn)集A中搜索出最大橫坐標(biāo)值Xniax,利用模板(c)在橫坐標(biāo)小于xfflax-e的感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索;假設(shè)搜索到匹配的子圖左上角點(diǎn)為Uf,yf),則角點(diǎn)的參考間隔SS=X_-(Xf+e),再利用模板(d)在點(diǎn)(xf,yf)左下方感興趣區(qū)內(nèi)從上至下、從右至左搜索匹配的子圖,一旦搜索到,則停止搜索,記錄匹配的子圖左上角點(diǎn)為(Xj, Yj);將角點(diǎn)(xf, yf)和(Xj, Yj)作為定位參考點(diǎn); 步驟106:搜索完畢后,判斷是否存在步驟105的兩個(gè)定位參考點(diǎn)(xf,yf^P(Xj,y」),如果存在進(jìn)入步驟107 ;否則返回步驟101 ; 步驟107:將初始角點(diǎn)集A中縱坐標(biāo)最大值yc;1與yj進(jìn)行比較,如果Yc^yj為ss的3倍左右,認(rèn)為點(diǎn)(Xc^yel)為標(biāo)靶最低角點(diǎn);否則,將點(diǎn)(xmax,yj+ss*3)作為標(biāo)靶的最低角點(diǎn),然后利用初始角點(diǎn)集A和參考間隔ss將圖像中全部角點(diǎn)補(bǔ)充完整,并得到角點(diǎn)集C={(xcl, ycl), (xc2, yc2), --?,(xcn, ym)},其中n表示圖中標(biāo)祀角點(diǎn)總數(shù),且C中各點(diǎn)的順序也以y值從大到小排列,最后運(yùn)用openCV中的cvFindCornerSubPixO函數(shù),以角點(diǎn)集C為基準(zhǔn)將其更新為亞像素級(jí)角點(diǎn)集B=`Kxbl, ybl),(xb2, yb2),…,(xbn, ybn)}; 步驟108:圖像中n個(gè)角點(diǎn)的高度集HH={1.00,1.05,…,1.00+(n_l) *0.05},然后利用參數(shù)h和D,計(jì)算得到各角點(diǎn)的實(shí)際成像角度集Q= {Ql, q2,…,qn},其中各角度值與亞像素級(jí)角點(diǎn)集B的縱坐標(biāo){ybl, yb2,…,ybn}按順序--對(duì)應(yīng),得到映射點(diǎn)集P= {(ybl, Qi), (yb2, Q2).…,(ybn, qn)},以直線擬合相鄰兩點(diǎn),得到相鄰點(diǎn)映射關(guān)系集F= {f\,f2,…,; 步驟109:在實(shí)時(shí)測(cè)距過(guò)程中,將通過(guò)障礙物檢測(cè)算法得到的障礙物底等部y方向坐標(biāo)yz作為參數(shù)輸入,首先判斷出^所屬的映射關(guān)系fpCKKn ;利用&的直線方程計(jì)算^對(duì)應(yīng)的實(shí)際成像角度qz,然后以qz作為輸入通過(guò)測(cè)距方程計(jì)算障礙物等的距離Lz:
Lz = h ? tanqz (4) 其中,當(dāng)yz小于等于yb2時(shí),選擇映射關(guān)系計(jì)算實(shí)際成像角度% ;當(dāng)yz大于等于yb(n-1>時(shí),選擇映射關(guān)系計(jì)算實(shí)際成像角度qz;其他情況下,首先搜索到y(tǒng)z所在區(qū)間,即yM^y^ybm+i),然后選擇映射關(guān)系L計(jì)算實(shí)際成像角度% ; 步驟Iio:根據(jù)系統(tǒng)需要判斷是否需要測(cè)量障礙物等的高度,如果需要繼續(xù)步驟ill ;否則結(jié)束此障礙物等的測(cè)距; 步驟111:將通過(guò)障礙物檢測(cè)算法得到的障礙物頂?shù)炔縴方向像素值yd作為參數(shù)輸入,首先判斷出yd所屬的映射關(guān)系4,0〈1〈11,利用fi的直線方程計(jì)算yd對(duì)應(yīng)的實(shí)際成像角度qd,然后以qd和障礙物距離Lz作為輸入通過(guò)測(cè)高方程計(jì)算障礙物等的高度Hz:
Hz = h-a ? Lz ? tan (| 90。-qd ) (5) 其中,當(dāng)qd>90°時(shí)a取-1,當(dāng)qd〈90°時(shí)a取I。
2.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:步驟102中所述感興趣區(qū)內(nèi)塊大小大于50*50,單位是pixel,對(duì)每個(gè)塊分別采用最大類間方差法進(jìn)行自適應(yīng)二值化處理。
3.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:所述模板包括四種尺寸大小相同的模板,模板大小尺寸均為2e*2e,單位為pixel,其中,e為正方形模板邊長(zhǎng)的一半,模板(a)中左上角及右下角的e*e個(gè)像素的像素值為0,其余為255 ;模板(b)中右上角及左下角的e*e個(gè)像素的像素值為0,其余為255 ;模板(c)中右上角e*e個(gè)像素的像素值為0,其余為255 ;模板(d)中右下角e*e個(gè)像素的像素值為0,其余為255 ;搜索標(biāo)靶圖像中的角點(diǎn)時(shí)用到模板(a)和(b),搜索定位參考點(diǎn)時(shí)用到模板(C)和(d)。
4.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:步驟103中所述的匹配法檢測(cè)角點(diǎn)分為以下幾個(gè)步驟: 步驟201:初始化循環(huán)參數(shù)ii及jj,都設(shè)置為零; 步驟202:以為左上角點(diǎn),在感興趣區(qū)中擴(kuò)展出與模板大小相同的待檢測(cè)子圖S ; 步驟203:計(jì)算子圖S與模板的差值圖像G ; 所述的差值圖像是指對(duì)子圖S和模板(a)圖像在相同位置像素點(diǎn)的像素值求差,并取絕對(duì)值后所得到的圖像,即當(dāng)求差的兩幅二值化圖像對(duì)應(yīng)像素點(diǎn)的像素值相等時(shí),差值圖像在對(duì)應(yīng)像素點(diǎn)上的像素值為0,如果不相同,像素值為255 ; 步驟204:對(duì)差值圖像G中的每個(gè)白色像素點(diǎn),進(jìn)行如下處理:以該白色像素點(diǎn)為左上角點(diǎn),沿向右和向下方向擴(kuò)充為7像素X7像素大小的塊,將該塊作為統(tǒng)計(jì)單元,計(jì)算該塊中白色像素點(diǎn)的密度M ; 所述的密度M是指差值圖像中以7像素X 7像素大小的塊為統(tǒng)計(jì)單元,其中像素值為255的像素點(diǎn)的個(gè)數(shù)gg除以像素點(diǎn)的總個(gè)數(shù)49,公式如下: M = gg/49 (I) 步驟205:對(duì)所述的密度M進(jìn)行如下判斷: (A)判斷是否存在大于密度閾值的密度M,如果存在某個(gè)區(qū)域的密度M大于設(shè)定的密度閾值,則認(rèn)為模板(a)不匹配,進(jìn)入步驟(B);否則,進(jìn)入步驟206 ; (B)計(jì)算子圖S與模板(b)差值圖像,如果存在某個(gè)區(qū)域的密度M大于設(shè)定的密度閾值,則認(rèn)為模板(b)不匹配,進(jìn)入步驟207,否則,進(jìn)入步驟206; 步驟206:將子圖S左上角點(diǎn)坐標(biāo)(mm/3-l+j j,ii)存入候選點(diǎn)集CC中; 步驟207:將ii加1,判斷ii是否大于nn-l-2e,如果大于進(jìn)入步驟208,否則,返回步驟 202 ; 步驟208:將jj加1,ii設(shè)為初始值0,判斷jj是否大于mm/3-2e,如果大于則結(jié)束此模板的匹配,否則,返回步驟202。
5.根據(jù)權(quán)利要求4所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:所述的密度閾值設(shè)置為0.32。
6.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:步驟104所述的聚類具體為:首先將候選點(diǎn)集CC中所有的點(diǎn)進(jìn)行分類處理,此過(guò)程為:分別計(jì)算第一個(gè)點(diǎn)與第二個(gè)點(diǎn)的橫坐標(biāo)之差值及縱坐標(biāo)之差值,如果兩個(gè)差值同時(shí)小于閾值Tl則將這兩個(gè)點(diǎn)記為同一個(gè)小類W1,否則將這兩個(gè)點(diǎn)分別記為兩個(gè)小類W1和W2 ;然后逐點(diǎn)計(jì)算候選點(diǎn)集CC中其它點(diǎn)與已經(jīng)分為小類的所有點(diǎn)的橫坐標(biāo)之差值及縱坐標(biāo)之差值,如果與小類中某點(diǎn)的兩個(gè)差值同時(shí)小于閾值T1,則將待分類點(diǎn)與該小類的點(diǎn)記為同一個(gè)小類,否則認(rèn)為都不屬于已經(jīng)存在的類,則將增加一個(gè)新的小類;假設(shè)總共分成了 g小類,則小類的集W= (W1, W2, wj ;分別計(jì)算各小類的中心點(diǎn)坐標(biāo)(xwi, ywi)(i=l, 2,…,g),將任意中心點(diǎn)橫坐標(biāo)之差值小于閾值T1的小類記為同一個(gè)大類;所述的計(jì)算個(gè)各小類中心點(diǎn)坐標(biāo)是指將小類內(nèi)所有點(diǎn)的橫、縱坐標(biāo)分別相加,再除以小類中點(diǎn)總的個(gè)數(shù)得到的x、I值作為此小類的中心點(diǎn)橫、縱坐標(biāo)值。 所述的篩選具體為:在感興趣區(qū)內(nèi)標(biāo)靶的角點(diǎn)橫坐標(biāo)之差值小于閾值T1的,劃分為一個(gè)大類,保留包含小類數(shù)目最多的大類,剔除其他大類,并將保留下來(lái)的小類的中心點(diǎn)坐標(biāo)在X和y方向上分別加上模板寬度和高度的一半e,存為初始角點(diǎn)集A={(xal, yal), (xa2, ya2), --?, (xaj, yaj)},其中j為保留下來(lái)的小類的個(gè)數(shù),而且初始角點(diǎn)集A中各點(diǎn)的順序是以yal,ya2, - ,yaJ值從大到小排列。
7.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:步驟105所述的定位參考點(diǎn)采用模板匹配法檢測(cè),包括匹配模板(c)和匹配模板(d)兩部分,在匹配模板(C)時(shí),在X方向[mm/3-l, Xmax-2*e], y方向[0,nn-l_2*e]區(qū)域內(nèi),按照從上至下、從右至左的順序逐點(diǎn)搜索,并進(jìn)行匹配檢測(cè);方法是將搜索點(diǎn)作為左上角點(diǎn),擴(kuò)展出與模板大小相同的待檢測(cè)子圖S ;然后計(jì)算子圖S與模板(c)的差值圖像G ;最后將差值圖像G中的每個(gè)白色像素點(diǎn)擴(kuò)充為7像素X7像素大小的塊,計(jì)算所有塊中白色像素點(diǎn)的密度M,如果存在某個(gè)塊的密度M大于設(shè)定的密度閾值則認(rèn)為此子圖S與模板(c)不匹配,繼續(xù)搜索下一點(diǎn)作為左`上角點(diǎn)進(jìn)行檢測(cè),否則認(rèn)為匹配,結(jié)束搜索;匹配模板(d)時(shí),搜索區(qū)域改為X方向[mm/3-l, xf-2*e], y方向[yf+2*e, nn-l_2*e],同樣按照從上至下、從右至左的順序逐點(diǎn)搜索,并進(jìn)行匹配檢測(cè),檢測(cè)過(guò)程與模板(c)相同。
8.根據(jù)權(quán)利要求1所述的一種基于立式標(biāo)靶的車載單目攝像頭測(cè)距測(cè)高方法,其特征在于:步驟107中所述將角點(diǎn)補(bǔ)充完整的過(guò)程為:如果點(diǎn)(xal,yal)為標(biāo)靶最低角點(diǎn),則依次計(jì)算初始角點(diǎn)集A中相鄰點(diǎn)縱坐標(biāo)值之差yaii_ya(ii+i),當(dāng)差值為ss的t倍左右,則需要在點(diǎn)集A的第ii個(gè)點(diǎn)與第ii+1個(gè)點(diǎn)之間補(bǔ)充上t-1個(gè)點(diǎn),坐標(biāo)分別為(xaii, yai1-jj*ss),jj=l,…,t-1,當(dāng)搜索到A中最后一個(gè)點(diǎn)(xaj, yaJ)時(shí),以yaj作為差值進(jìn)行計(jì)算;如果點(diǎn)(xfflax, yj+ss*2)為標(biāo)靶最低角點(diǎn),那么還需要計(jì)算差值yj+SS*2-yal,以同樣的方法將點(diǎn)(xmax, y」+ss*2)與點(diǎn)(xal, yal)之間的角點(diǎn)補(bǔ)充完整。
【文檔編號(hào)】G01C11/04GK103487034SQ201310445576
【公開日】2014年1月1日 申請(qǐng)日期:2013年9月26日 優(yōu)先權(quán)日:2013年9月26日
【發(fā)明者】高峰, 徐國(guó)艷, 丁能根, 黃小云, 邢龍龍, 朱金龍 申請(qǐng)人:北京航空航天大學(xué)