一種基于全景圖像點(diǎn)線特征的車(chē)位識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于全景圖像點(diǎn)線特征的車(chē)位識(shí)別方法,屬于智能車(chē)輛的輔助泊 車(chē)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 泊車(chē)是在日常駕駛中經(jīng)常遇到的情況,手動(dòng)駕駛將車(chē)泊入車(chē)位需要一定的駕駛技 巧,對(duì)于新手而言往往比較難于應(yīng)對(duì),尤其在車(chē)位比較狹小的情況下,泊車(chē)過(guò)程也是剮蹭、 碰撞等事故的多發(fā)區(qū)。
[0003] 隨著近年來(lái)車(chē)輛技術(shù)的發(fā)展,智能化的電子控制技術(shù)和環(huán)境感知技術(shù)的日益強(qiáng) 大,對(duì)駕駛者駕駛技能的要求有所降低。泊車(chē)輔助技術(shù)也是各大汽車(chē)設(shè)計(jì)廠商和車(chē)輛工程 研宄人員的熱點(diǎn)研宄領(lǐng)域。
[0004] 實(shí)際應(yīng)用中,泊車(chē)輔助技術(shù)歷經(jīng)了逐步智能化的過(guò)程。在最初階段,駕駛員通過(guò)反 光鏡目測(cè)判斷距離;隨后更多的電子傳感器被裝備于車(chē)輛,例如車(chē)前后保險(xiǎn)杠的超聲波雷 達(dá),車(chē)尾安裝的倒車(chē)影像系統(tǒng),能夠?qū)④?chē)后方圖像信息直接顯示在中控屏幕上,補(bǔ)充駕駛員 視覺(jué)盲區(qū),探測(cè)車(chē)前后的距離,但是該方法探測(cè)范圍有限。目前在某些中高級(jí)轎車(chē)上已經(jīng)裝 備了更先進(jìn)的泊車(chē)輔助系統(tǒng),其中包括全景攝像頭:能夠幫助駕駛員俯瞰周?chē)h(huán)境,更有配 備車(chē)側(cè)超聲波雷達(dá)全自動(dòng)泊車(chē)入位:能夠完全自主探測(cè)車(chē)位,并將車(chē)泊入駕駛員指定方向 的車(chē)位。
[0005] 要實(shí)現(xiàn)全自動(dòng)泊車(chē)入位,車(chē)位檢測(cè)是首先要解決的問(wèn)題,目前檢測(cè)車(chē)位有以下幾 類(lèi)方法:基于設(shè)施的方法,基于空閑車(chē)位的方法,基于車(chē)位線的方法。
[0006] (1)基于設(shè)施的方法要求車(chē)位附近有配套安裝的輔助設(shè)施用于確定車(chē)輛對(duì)于車(chē)位 的相對(duì)位置,車(chē)輛通過(guò)識(shí)別輔助設(shè)施間接確定車(chē)位,然而對(duì)于室內(nèi)停車(chē)場(chǎng)這樣的設(shè)施相對(duì) 容易安裝,一般城市室外街道等環(huán)境大都沒(méi)有條件安裝這樣的輔助設(shè)施,并且沒(méi)有形成統(tǒng) 一標(biāo)準(zhǔn),限制了這一方法的普遍應(yīng)用。
[0007] (2)基于空閑車(chē)位的方法是目前商品車(chē)普遍應(yīng)用的方法,其原理是利用安裝于車(chē) 身側(cè)面的一排超聲波雷達(dá)檢測(cè)左側(cè)或者右側(cè)的障礙物深度,在車(chē)輛沿道路邊緣駛過(guò)時(shí),向 側(cè)面探測(cè)深度變化,找出符合車(chē)輛泊入條件空位,這種方法原理決定其依賴(lài)停車(chē)區(qū)域中的 已停車(chē)輛構(gòu)成的空位,而在僅有車(chē)位線的區(qū)域會(huì)失效。這種方法工作需要人員輔助完成,即 在需要泊車(chē)時(shí)預(yù)先將車(chē)在車(chē)位旁邊停好,并向車(chē)輛交互系統(tǒng)制定需檢測(cè)車(chē)位的相對(duì)于車(chē)輛 的方位,如果沒(méi)有人員輔助,將會(huì)誤識(shí)別車(chē)輛周?chē)蟹铣叽绱笮〉目杖?,適應(yīng)性和智能 型較低,優(yōu)點(diǎn)在于在應(yīng)用于有人駕駛的車(chē)輛在駕駛員的輔助下穩(wěn)定性較好。
[0008] (3)基于車(chē)位線識(shí)別的方法依賴(lài)停車(chē)區(qū)域地面所劃的車(chē)位線。該方法需要車(chē)輛裝 備攝像頭,利用攝像頭采集的圖像信息做圖像處理識(shí)別的劃線特征,得到車(chē)位相對(duì)于車(chē)的 位置。該類(lèi)方法,不依賴(lài)于停車(chē)區(qū)域外部設(shè)施,也不依賴(lài)于車(chē)位周?chē)?chē)輛停靠情況,但是會(huì) 受到車(chē)位扭曲、殘破、尺寸大小不一等因素影響,高效穩(wěn)定的檢測(cè)方法能夠減少此類(lèi)因素的 影響;但是一般的基于圖像識(shí)別的檢測(cè)方法容易受到多方面影響,包括:室外白天夜間光 照強(qiáng)度差別,地面反光和陰影,地面其它白色標(biāo)志標(biāo)線干擾,車(chē)位線扭曲,線條殘破等情況。
【發(fā)明內(nèi)容】
[0009] 有鑒于此,本發(fā)明旨在現(xiàn)有商品車(chē)硬件配置的基礎(chǔ)上,利用圖像點(diǎn)線特征的方法 解決圖像識(shí)別檢測(cè)方法中存在的問(wèn)題,提供了一種基于全景圖像點(diǎn)線特征的車(chē)位識(shí)別方 法。
[0010] 實(shí)現(xiàn)本發(fā)明的技術(shù)方案如下:
[0011] 一種基于全景圖像點(diǎn)線特征的車(chē)位識(shí)別方法,具體過(guò)程為:
[0012] 一、獲得車(chē)輛周?chē)孛娴娜案┮晥D像,對(duì)所述全景俯視圖像做濾波和二值化處 理,獲得二值化圖像;
[0013] 二、組織二值化圖像中的點(diǎn)生成點(diǎn)集合;具體過(guò)程為:
[0014] 以行坐標(biāo)為第一優(yōu)先級(jí),列坐標(biāo)為第二優(yōu)先級(jí)的規(guī)則,逐個(gè)遍歷二值化圖像中的 每一像素點(diǎn),逐個(gè)存儲(chǔ)白色像素點(diǎn)至點(diǎn)集WhitePointR中;以列坐標(biāo)為第一優(yōu)先級(jí),行坐標(biāo) 為第二優(yōu)先級(jí)的規(guī)則,逐個(gè)遍歷二值化圖像中的每一像素點(diǎn),逐個(gè)存儲(chǔ)白色像素點(diǎn)至點(diǎn)集 WhitePointC中;同時(shí)存儲(chǔ)各白色像素點(diǎn)的線段歸屬屬性Invalid為假;
[0015] 三、逐個(gè)遍歷點(diǎn)集WhitePointR中的點(diǎn),構(gòu)建圖像中的橫向線段,獲得橫向線段集 合WhiteLineR;逐個(gè)遍歷點(diǎn)集WhitePointC中的點(diǎn),構(gòu)建圖像中的縱向線段,獲得縱向線段 集合WhiteLineC;
[0016] 縱向線段的構(gòu)建過(guò)程為:
[0017] 101,遍歷到點(diǎn)集WhitePointC中的某點(diǎn)P,判斷其線段歸屬屬性Valid是否為假, 若是,則在縱向線段集合WhiteLineC中新建一個(gè)對(duì)象Lin ei,并將點(diǎn)P作為該對(duì)象Lineda 起始點(diǎn)Pf,否則,進(jìn)入步驟103 ;
[0018] 102,在圖像上點(diǎn)P的下方,遞歸搜索對(duì)象Linei的終止點(diǎn)P e,其中遞歸過(guò)程應(yīng)滿足 如下規(guī)則:
[0019] ①搜索點(diǎn)未達(dá)到圖像邊緣;
[0020] ②如果當(dāng)前搜索點(diǎn)為白色點(diǎn),則將該點(diǎn)的線段歸屬屬性Valid置為真,單次斷點(diǎn) 計(jì)數(shù)清零,并以該點(diǎn)為起始點(diǎn)繼續(xù)向下尋找白色點(diǎn);
[0021 ] ③如果當(dāng)前搜索點(diǎn)為黑色點(diǎn),該點(diǎn)左或右鄰點(diǎn)為白色點(diǎn),則將左或右的白色點(diǎn)的 線段歸屬屬性Valid置為真,單次斷點(diǎn)計(jì)數(shù)清零,并以左或右的白色點(diǎn)為起始點(diǎn)繼續(xù)向下 尋找白色點(diǎn);
[0022] ④如果當(dāng)前搜索點(diǎn)為黑色點(diǎn),該點(diǎn)左和右鄰點(diǎn)均為黑色點(diǎn),則將單次斷點(diǎn)計(jì)數(shù) BreaksOnce加1,總斷點(diǎn)次數(shù)Breaks加1,并以當(dāng)前搜索點(diǎn)為起始點(diǎn)繼續(xù)向下尋找白色點(diǎn);
[0023] ⑤若單次斷點(diǎn)計(jì)數(shù)BreaksOnce超過(guò)斷點(diǎn)最大長(zhǎng)度閾值COLABSENT,則遞歸結(jié)束, 返回上一次找到的白色點(diǎn)作為對(duì)象Lin ei的終止點(diǎn)P e,該線段檢測(cè)結(jié)束;
[0024] 103,判斷點(diǎn)集WhitePointC中的點(diǎn)是否都已經(jīng)被遍歷,若是,進(jìn)入步驟104,否則, 返回步驟101 ;
[0025] 104,對(duì)集合WhiteLineC中的線段進(jìn)行篩選,保留滿足下列約束條件的線段:
[0026] 1)線段長(zhǎng)度LineLength小于預(yù)設(shè)的最大線段長(zhǎng)度;
[0027] 2)線段長(zhǎng)度LineLength大于預(yù)設(shè)的最小線段長(zhǎng)度;
[0028] 3)線段傾斜角小于預(yù)設(shè)的最大傾斜角度;
[0029] 4)線段的完整度Linelntegrity大于最小預(yù)設(shè)完整度,
[0030] Linelntegrity= (LineLength-Breaks)/LineLength*100%
[0031] 橫向線段的構(gòu)建過(guò)程為:
[0032] 201,遍歷到點(diǎn)集WhitePointR中的某點(diǎn)Q,判斷其線段歸屬屬性Valid是否為假, 若是,貝U在橫向線段集合WhiteLineR中新建一個(gè)對(duì)象Line』,并將點(diǎn)Q作為該對(duì)象Line』的 起始點(diǎn)P f,否則,進(jìn)入步驟203 ;
[0033] 202,在圖像上點(diǎn)Q的右方,遞歸搜索對(duì)象Line」的終止點(diǎn)Pe,其中遞歸過(guò)程應(yīng)滿足 如下規(guī)則:
[0034] ①搜索點(diǎn)未達(dá)到圖像邊緣;
[0035] ②如果當(dāng)前搜索點(diǎn)為白色點(diǎn),則將該點(diǎn)的線段歸屬屬性Valid置為真,單次斷點(diǎn) 計(jì)數(shù)清零,并以該點(diǎn)為起始點(diǎn)繼續(xù)向右尋找白色點(diǎn);
[0036] ③如果當(dāng)前搜索點(diǎn)為黑色點(diǎn),該點(diǎn)上或下鄰點(diǎn)為白色點(diǎn),則將上或下的白色點(diǎn)的 線段歸屬屬性Valid置為真,單次斷點(diǎn)計(jì)數(shù)清零,并以上或下的白色點(diǎn)為起始點(diǎn)繼續(xù)向右 尋找白色點(diǎn);
[0037] ④如果當(dāng)前搜索點(diǎn)為黑色點(diǎn),該點(diǎn)上和下鄰點(diǎn)均為黑色點(diǎn),則將單次斷點(diǎn)計(jì)數(shù) BreaksOnce加1,總斷點(diǎn)次數(shù)Breaks加1,并以當(dāng)前搜索點(diǎn)為起始點(diǎn)繼續(xù)向右尋找白色點(diǎn);
[0038] ⑤若單次斷點(diǎn)計(jì)數(shù)BreaksOnce超過(guò)斷點(diǎn)最大長(zhǎng)度閾值COLABSENT,則遞歸結(jié)束, 返回上一次找到的白色點(diǎn)作為對(duì)象Lim^的終止點(diǎn)P e,該線段檢測(cè)結(jié)束;
[0039] 203,判斷點(diǎn)集WhitePointR中的點(diǎn)是否都已經(jīng)被遍歷,若是,進(jìn)入步驟204,否則, 返回步驟201 ;
[0040] 204,對(duì)集合WhiteLineC中的線段進(jìn)行篩選,保留滿足下列約束條件的線段:
[0041] 1)線段長(zhǎng)度LineLength小于預(yù)設(shè)的最大線段長(zhǎng)度;
[0042] 2)線段長(zhǎng)度LineLength大于預(yù)設(shè)的最小線段長(zhǎng)度;
[0043] 3)線段傾斜角小于預(yù)設(shè)的最大傾斜角度;
[0044] 4)線段的完整度Linelntegrity大于最小預(yù)設(shè)完整度,
[0045] Linelntegrity= (LineLength-Breaks)/LineLength氺100 %
[0046] 四,從橫向線段集合WhiteLineR和縱向線段集合WhiteLineC中尋找滿足構(gòu)成車(chē) 位要求的線段,并將其存儲(chǔ)到車(chē)位線集合中;所述構(gòu)成車(chē)位要求為:
[0047] 針對(duì)全封閉車(chē)位線:
[0048] 1.四條線段長(zhǎng)度滿足待檢測(cè)車(chē)位線條的長(zhǎng)度、完整度、角度要求;
[0049] 2.各線段相對(duì)位置關(guān)系滿足構(gòu)成車(chē)位的要求;
[0050] 3.構(gòu)成的車(chē)位滿足長(zhǎng)度、寬度、完整度,長(zhǎng)寬比要求;
[0051] 針對(duì)C型車(chē)位線:
[0052] 1.除開(kāi)口方向外的三條線段長(zhǎng)度滿足待檢測(cè)車(chē)位線條的長(zhǎng)度、完整度、角度要 求;
[0053] 2.各線段相對(duì)位置關(guān)系滿足構(gòu)成車(chē)位的要求;
[0054] 3.構(gòu)成的車(chē)位滿足長(zhǎng)度、寬度、完整度,長(zhǎng)寬比要求;
[0055] 所述全景圖像為利用車(chē)載魚(yú)眼攝像頭采集,該步驟的具體過(guò)程為:
[0056] (1)將WhiteLineC中的線條以橫向坐標(biāo)為參考進(jìn)行重新排序,將WhiteLineR中的 線條以縱向坐標(biāo)為參考進(jìn)行重新排序,并將兩個(gè)集合中的線條的車(chē)位歸屬屬性Invalid設(shè) 為假;