欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

基于圖像處理的車道線識別算法研究

上傳人:jun****875 文檔編號:17807212 上傳時間:2020-12-07 格式:DOC 頁數(shù):42 大小:2.26MB
收藏 版權(quán)申訴 舉報 下載
基于圖像處理的車道線識別算法研究_第1頁
第1頁 / 共42頁
基于圖像處理的車道線識別算法研究_第2頁
第2頁 / 共42頁
基于圖像處理的車道線識別算法研究_第3頁
第3頁 / 共42頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于圖像處理的車道線識別算法研究》由會員分享,可在線閱讀,更多相關(guān)《基于圖像處理的車道線識別算法研究(42頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于圖像處理的車道線識別算法研究 摘要 為了提高車道線識別算法的實時性和準確性,提出了一種基于改進Hough變換的車道線檢測方法。在車道線的預處理階段,首先確定圖像中的感興趣區(qū)域,然后 對圖像進行平滑處理、自適應(yīng)閾值分割、邊緣檢測,從而減少了后期的處理數(shù)據(jù)量,排除了大部分的干擾因素。在車道線的識別階段,根據(jù)圓和橢圓的性質(zhì),對傳統(tǒng)的霍夫變換進行改進,極大減小了在檢測圓和橢圓時的計算量,并提高了檢測的準確性。最后使用OpenCV圖像處理庫編寫程序,證明了新算法的正確性,得到了理想的結(jié)果。 關(guān)鍵詞:車道線識別 橢圓檢測 霍夫變換

2、 Study on Lane Mark Identification Algorithm Based on Image Processing Abstract In order to improve the real-time and accuracy of lane recognition algorithm, presents a method of lane detection based on improved Hough transform. The preprocessing stage in the lane line, first determine th

3、e image of the region of interest, and then smoothing, adaptive threshold segmentation, edge detection of image, thereby reducing the amount of data processing stage, most of the interference factors. The recognition phase in the lane line, according to the nature of the circle and ellipse, improvem

4、ent of the Hof transform to the traditional, greatly reduces the amount of computation in the detection of circle and ellipse, and improve the accuracy of detection. Finally, the use of OpenCV image processing library program, proved the correctness of the new algorithm, and the desired result. K

5、ey Words:lane mark identification;ellipse detection;hough transform 目錄 摘要 I Abstract II 目錄 III 第1章 緒論 1 1.1 研究背景 1 2.1 國內(nèi)外研究現(xiàn)狀 2 1.2.1 國外研究現(xiàn)狀 2 1.2.2 國內(nèi)研究現(xiàn)狀 3 3.1 論文主要內(nèi)容 3 第2章 車道線的預處理 5 2.1 認識車道線 5 2.1.1 車道線的基本分類 5 2.1.2 車道線的標劃區(qū)分 6 2.1.3 車道線的基本形狀 6 2.2 感興趣區(qū)域 6

6、 2.3 平滑濾波 7 2.3.1 均值濾波 7 2.3.2 中值濾波 8 2.3.3 高斯濾波 9 2.3.4 平滑濾波總結(jié) 10 2.4 二值化 10 2.4.1 二值化的基本概念 10 2.4.2 大津法自適應(yīng)閾值分割 10 2.5 邊緣提取 11 2.5.1 Sobel算子 12 2.5.2 Canny算子 13 2.5.3 Sobel算子和Canny算子的比較 14 第3章 Hough變換直線和橢圓的檢測 15 3.1 Hough變換直線檢測 15 3.1.1 Hough變換直線檢測的基本原理 15 3.1.2 Hough變換的缺陷和改進 16 3.2

7、 Hough變換圓檢測 17 3.2.1 Hough變換圓檢測的基本原理 17 3.2.2 對hough變換圓檢測算法的改進 18 3.2.3 最小二乘法求曲線上一點的切線 18 3.3 Hough變換橢圓檢測 19 第4章 車道線的識別 22 結(jié)論 25 參考文獻: 26 致謝 28 附錄1 29 第1章 緒論 1.1 研究背景 車道線的識別是圖像處理和交通智能化領(lǐng)域的一個重要分支,特別是近年來,隨著只能汽車、自動識別的發(fā)展和應(yīng)用,車道線識別的研究得到了長足的發(fā)展,并且會在未來隨著人們對識別精度、速度的要求越來越高,車道線識別領(lǐng)域的研究將會愈發(fā)火熱,可以說這是

8、一個方興未艾的研究領(lǐng)域。 車道線識別的研究成果很大程度上得益與數(shù)字圖象處理和計算機技術(shù)的發(fā)展。數(shù)字圖像處理最早出現(xiàn)于20世紀50年代,當時的電子計算機已經(jīng)發(fā)展到一定水平,人們開始利用計算機來處理圖形和圖像信息。數(shù)字圖像處理作為一門學科大約形成于20世紀60年代初期。早期的圖像處理的目的是改善圖像的質(zhì)量,它以人為對象,以改善人的視覺效果為目的。圖像處理中,輸入的是質(zhì)量低的圖像,輸出的是改善質(zhì)量后的圖像,常用的圖像處理方法有圖像增強、復原、編碼、壓縮等。首次獲得實際成功應(yīng)用的是美國噴氣推進實驗室(JPL)。他們對航天探測器徘徊者7號在1964年發(fā)回的幾千張月球照片使用了圖像處理技術(shù),如幾何校正、

9、灰度變換、去除噪聲等方法進行處理,并考慮了太陽位置和月球環(huán)境的影響,由計算機成功地繪制出月球表面地圖,獲得了巨大的成功。隨后又對探測飛船發(fā)回的近十萬張照片進行更為復雜的圖像處理,以致獲得了月球的地形圖、彩色圖及全景鑲嵌圖,獲得了非凡的成果,為人類登月創(chuàng)舉奠定了堅實的基礎(chǔ),也推動了數(shù)字圖像處理這門學科的誕生。在以后的宇航空間技術(shù),如對火星、土星等星球的探測研究中,數(shù)字圖像處理技術(shù)都發(fā)揮了巨大的作用。隨著圖像處理技術(shù)的深入發(fā)展,從70年代中期開始,隨著計算機技術(shù)和人工智能、思維科學研究的迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。人們已開始研究如何用計算機系統(tǒng)解釋圖像,實現(xiàn)類似人類視覺系統(tǒng)理解外部

10、世界,這被稱為圖像理解或計算機視覺。很多國家,特別是發(fā)達國家投入更多的人力、物力到這項研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理論,這個理論成為計算機視覺領(lǐng)域其后十多年的主導思想。圖像理解雖然在理論方法研究上已取得不小的進展,但它本身是一個比較難的研究領(lǐng)域,存在不少困難,因人類本身對自己的視覺過程還了解甚少,因此計算機視覺是一個有待人們進一步探索的新領(lǐng)域。 2.1 國內(nèi)外研究現(xiàn)狀 在過去幾十年中,國內(nèi)外許多專家學者在車道線識別和跟蹤系統(tǒng)方面已經(jīng)做出了很多積極有意義的探索。國外一些關(guān)于智能車輛輔助駕駛系統(tǒng)的研究成果已經(jīng)比較成熟,有些已經(jīng)投入到

11、商業(yè)化應(yīng)用中,相對國外的研究水平,國內(nèi)的研究起步比較晚,但是發(fā)展速度比較快,相信在未來的幾年里,國內(nèi)的一些研究成果應(yīng)該能夠快速跟上國際版步伐,逐漸發(fā)展完善起自己的應(yīng)用體系,盡快的投入到實際生產(chǎn)應(yīng)用中。 1.2.1 國外研究現(xiàn)狀 國外一些關(guān)于車道線識別的研究成果已經(jīng)比較成熟,目前,有些方法已經(jīng)投入到了實際的商業(yè)化應(yīng)用中。其中,具有代表性的系統(tǒng)主要由:意大利帕爾瑪大學開發(fā)的GOLD系統(tǒng)[20];美國密歇根州立大學人工智能實驗室開發(fā)的LOIS系統(tǒng);美國卡內(nèi)基梅隆大學開發(fā)的RALPH系統(tǒng);美國卡內(nèi)基梅隆大學機器人學院NavLab實驗室和Vision&Autonomous System Center

12、聯(lián)合開發(fā)的SCARF系統(tǒng)和ALVINN系統(tǒng)。 GOLD系統(tǒng):該系統(tǒng)采用立體視覺技術(shù),根據(jù)目前車道線的油漆顏色特征來定位車道線所處位置,但是立體視覺技術(shù)面臨圖像匹配以及運行時間長等問題,因而該系統(tǒng)有設(shè)計了并行SIMD硬件結(jié)構(gòu)來滿足實時性要求。 LOIS系統(tǒng):該系統(tǒng)利用一種可變型的道路模板技術(shù),將道路的彎曲度和智能車輛在行駛過程中所處道路的位置問題轉(zhuǎn)換成多維參數(shù)空間的最優(yōu)化問題,通過得到的最優(yōu)解來解決車道偏離預警中出現(xiàn)的問題。 RALPH系統(tǒng):該系統(tǒng)首先根據(jù)車輛速度的變化情況,建立了與之相對應(yīng)的一系列梯形窗口,通過對梯形窗口內(nèi)的視頻圖像通過逆透視變換來確定道路的彎曲度,然后計算智能車輛偏離車

13、道中心線的距離,判斷車道線偏離情況,最后通過跟蹤逆透視變換得到的道路平行線,從而實現(xiàn)道路車道線的追蹤。該系統(tǒng)在實驗開始的時候進行了道路結(jié)構(gòu)化假設(shè),在很大程度上提高了車道線檢測識別的魯棒性。 SCARF系統(tǒng):該系統(tǒng)利用雙目視覺原理,在圖像中設(shè)置的梯形窗口內(nèi),利用霍夫變換來估計車道線可能出現(xiàn)的ROI區(qū)域,然后反投影到真實的道路平面,通過控制車輛的方向沿著ROI中心線方向行駛來確保車輛不會偏離車道線。 ALVINN系統(tǒng):采用基于BP神經(jīng)網(wǎng)絡(luò)的方法,通過對不同天氣狀況下的車道線特征進行訓練,來得到一個參數(shù)訓練模型,從而根據(jù)訓練得到的參數(shù)模型來預測不同天氣狀況下的車道線位置。 1.2.2 國內(nèi)研究

14、現(xiàn)狀 今年來,我國在該領(lǐng)域也做了一些積極的探索和研究,但是與其他發(fā)達國家相比起步比較晚,因此,國內(nèi)在該領(lǐng)域的研究和探索還存在一定的改進空間。國內(nèi)的研究成果主要有以下幾個: 清華大學計算機智能技術(shù)與系統(tǒng)國家重點實驗室研制的THMR系統(tǒng):該項目采用的道路模型是直線模型,利用多窗口的雙閾值二值化進行特征提取,在后續(xù)處理中采用增強轉(zhuǎn)移網(wǎng)絡(luò)來完成,在算法實時性方面做得比較好,但由于道路模型首先,因此只能對直線車道進行檢測和識別。 吉林工業(yè)大學研制的JUTIV系統(tǒng):該項目采用3D回旋曲線為道路模型,用最大類方差方法來設(shè)定閾值提取道路邊緣,利用隨即采用的LmedSquare方法進行車道線曲線擬合,同時

15、結(jié)合了駕駛員穩(wěn)態(tài)預瞄原理,建立了車道線擬合的預測區(qū)域,并進一步利用多傳感器信息融合技術(shù)對復雜環(huán)境下的車道線檢測識別與跟蹤等關(guān)鍵技術(shù)做了系統(tǒng)研究。 3.1 論文主要內(nèi)容 一種車道線識別方法,包括以下步驟:從在繪有不同車道標志圖案 的車道上行駛的汽車中,通過圖像傳 感器拍攝汽車前方視野; 從上 述步驟中拍攝的圖像中選取汽車左、右車道邊界的數(shù)據(jù),通過將對所述選取的車道邊界數(shù)據(jù)進行處理,完成車道線的識別,確定車輛所在區(qū)域的車道線類型。 論文中主要分以下部分對車道線識別算法進行分析和描述: 第2章:介紹了車道線的基本知識,分析討論了車道線預處理的過程和用到的相關(guān)算法; 第3章:具體分析霍夫變換

16、算法,并根據(jù)圓和橢圓的性質(zhì)對霍夫變換算法進行改進 第4章:在對所使用的算法和車道線特征進行分析綜合的基礎(chǔ)上,使用C語言結(jié)合OpenCV圖像處理庫編寫程序?qū)崿F(xiàn)算法,并對算法進行驗證,得到最終的車道線識別結(jié)果。 第2章 車道線的預處理 預處理是車道線識別過程中一個十分重要的一環(huán)。良好的預處理能使排除各種干擾,使運算量大大下降,大大提高車道線識別的實時性和準確性,反之,則不僅會使識別效率降低,甚至導致得到錯誤的結(jié)果。 預處理的過程主要分為車道線的設(shè)置感興趣區(qū)域、平滑濾波、閾值分割、邊緣檢測。本章首先簡要介紹車

17、道線的基本知識,然后對感興趣區(qū)域的原理和應(yīng)用進行分析,并針對車道線的具體特征和要得到的目標選擇合適的預處理方法,進而對每種預處理過程中的算法進行分析討論,得出適合的預處理算法。 2.1 認識車道線 2.1.1 車道線的基本分類 車道分界線是用來分隔同方向行駛的交通流的交通標志線,凡同方向車行道有兩條或兩條以上車道時,均應(yīng)劃車道分界線。車道分界線有兩種,即車道分界虛線和導向車道分界實線。車道分界虛線,在保證安全的原則下,準許車輛越線超車或變更車道行駛;導向車道分界實線,不準車輛越線或變更車道。 圖(2-1)所示為各種車道線: 圖2-1 各種車道線 2.1.2 車道

18、線的標劃區(qū)分 白色虛線:劃于路段中時,用以分隔同向行駛的交通流或作為行車安全距離識別線;劃于路口時,用以引導車輛行進; 白色實線:劃于路段中時,用以分隔同向行駛的機動車和非機動車或指示車行道線;劃于路口時,用作導向車道線或停車線; 黃色虛線:劃于路段中時,用以分隔對向行駛的交通流,劃于路側(cè)或緣石上時,用以禁止車輛長時在路邊停放。 黃色實線:劃于路段中時,用以分隔對向行駛的交通流;劃于路側(cè)或緣石上時,用以禁止車輛長時或臨時在路邊停放。 雙白虛線:劃于路口時作為減速讓行線;劃于路段中時,作為行車方向隨時間改變之可變車道線; 雙黃實線:劃于路段中時,用以分隔對向行駛的交通流; 黃色虛實

19、線:劃于路段中時,用以分隔對向行駛的交通流。黃色實線一側(cè)禁止車輛超車、跨越或回轉(zhuǎn),黃色虛線一側(cè)在保證安全的情況下準許車輛超車、跨越或回轉(zhuǎn); 雙白實線:劃于路口時,作為停車讓行線。 2.1.3 車道線的基本形狀 通過對各種車道線的比較,我們可以法線,車道線基本分為兩種形狀:直線和圓,其他的形狀還包括三角形等,但它們的基本組成元素仍然是直線,所以我們同樣能對其運用直線的方式處理。但是必須注意的是,由于圖像采集設(shè)備與道路之間有一定的傾角,所以道路中的圓出現(xiàn)在圖像中時將會變?yōu)闄E圓。 通過將基本的識別目標固定在直線和橢圓的范圍中,我們便將車道識別的問題抽象為直線和橢圓的識別,研究方向進一步固定。

20、 2.2 感興趣區(qū)域 感興趣區(qū)域簡稱為ROI(region of interest)是將圖像中的重要區(qū)域進行標記,隨后的各種算法和分析將主要針對ROI。這樣做的好處是不僅使處理的數(shù)據(jù)量變少,而且也排除了非重點區(qū)域的潛在干擾。 觀察采集到的圖像,如圖所示,我們可以發(fā)現(xiàn),圖像中的上部是天空和較遠處的信息,這一部分信息是不需要的,而且可能會對處理結(jié)果造成干擾。所以,在圖像的處理中我們應(yīng)當適當選取ROI,對于以后的處理有莫大裨益。 如圖(2-2)所示,其中下部較暗的區(qū)域即為我們的感興趣區(qū)域: 圖2-2 感興趣區(qū)域 2.3 平滑濾波 各類圖像處理系統(tǒng)在圖像的采集、獲取、傳送

21、和轉(zhuǎn)換(如成像、復制掃描、傳輸以及顯示等)過程中,均處在復雜的環(huán)境中,光照、電磁多變,所有的圖像均不同程度地被可見或不可見的噪聲干擾。噪聲源包括電子噪聲、光子噪聲、斑點噪聲和量化噪聲。如果信噪比低于一定的水平,噪聲逐漸變成可見的顆粒形狀,導致圖像質(zhì)量的下降。除了視覺上質(zhì)量下降,噪聲同樣可能掩蓋重要的圖像細節(jié),因此,在對采集到的原始圖像做進一步的處理時,需要對圖像進行必要的濾波降噪處理。 2.3.1 均值濾波 均值濾波是典型的線性濾波算法,它是指在圖像上對目標像素給一個模板,該模板包括了其周圍的臨近像素,模板大小一般為33、55、或77 ,用其臨近區(qū)域像素值的均值來替代目標像素。 均值濾波

22、的原理如圖(2-3)所示,其中a)圖中1-8為像素點的臨近區(qū)域,b)圖為的權(quán)系數(shù)矩陣: a) b) 圖2-3 均值濾波原理 均值濾波方法如公式(2-1)所示: (2-1) 均值濾波具有算法簡單,計算速度快的優(yōu)點,但它的缺點也很明顯:降低噪聲 的同時使圖像產(chǎn)生模糊,特別是景物的邊緣和細節(jié)部分。 2.3.2 中值濾波 中值濾波是一種非線性數(shù)字濾波器技術(shù),經(jīng)常用于去除圖像或者其它信號中的噪聲。 中值濾波的思想是將一個像素替換為其臨近區(qū)域的所有像素的中值,臨近區(qū)域一般選以此像素為中心的奇數(shù)大小的窗口,常用的為33、55、77等。 中值濾波的計

23、算方法如公式(2-2)所示: (2-2) 中值濾波法對消除椒鹽噪聲非常有效,在光學測量條紋圖象的相位分析處理方法中有特殊作用,但在條紋中心分析方法中作用不大. 中值濾波在圖像處理中,常用于保護邊緣信息,是經(jīng)典的平滑噪聲的方法。 圖(2-4)為中值濾波效果圖: 圖2-4 中值濾波效果圖 2.3.3 高斯濾波 高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應(yīng)用于圖像處理的減噪過程。通俗的講,高斯濾波就是對整幅圖像進行加權(quán)平均的過程,每一個像素點的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過加權(quán)平均后得到。高斯濾波的思想是:用一個模板(或稱卷積、掩模)掃描圖

24、像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點的值。 高斯濾波的效果圖如圖2-5所示: 圖2-5 高斯濾波效果圖 2.3.4 平滑濾波總結(jié) 通過比較以上三種濾波方法,可以看出三者的區(qū)別和適用范圍。均值濾波算法簡單,但會造成圖像的模糊,中值濾波對椒鹽噪聲有非常好的去除效果,并且能夠保存邊緣信息,高斯濾波則對高斯噪聲具有很好的處理效果。 圖像邊緣的信息對于本論文中的車道線識別算法有重要作用,所以在選擇濾波算法上應(yīng)優(yōu)先選用中值濾波和高斯濾波。 2.4 二值化 2.4.1 二值化的基本概念 圖像的二值化就是將一副灰度圖像轉(zhuǎn)換為二值圖像,

25、例如設(shè)定一個閾值K,像素值小于K的置為0,反之則置為255,如公式(2-3)所示: (2-3) 2.4.2 大津法自適應(yīng)閾值分割 雖然通過給定一個閾值能實現(xiàn)圖像的二值化,但在很多時候并不能給出一個合適的閾值,為了解決這個問題,人們提出了許多自適應(yīng)的閾值分割方法,以適應(yīng)不同灰度分布的圖像,其中應(yīng)用廣泛的有大津法自適應(yīng)閾值等。 大津法也叫最大類間方差法,是一種自適應(yīng)的閾值確定的方法,簡稱OTSU。它是按圖像的灰度特性,將圖像分成背景和目標2部分。背景和目標之間的類間方差越大,說明構(gòu)成圖像的2部分的差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致2部分差別變小。因此,使類間

26、方差最大的分割意味著錯分概率最小。對于圖像,前景(即目標)和背景的分割閾值記作T,屬于前景的像素點數(shù)占整幅圖像的比例記為,其平均灰度;背景像素點數(shù)占整幅圖像的比例為,其平均灰度為。圖像的總平均灰度記為,類間方差記為。假設(shè)圖像的背景較暗,并且圖像的大小為,圖像中像素的灰度值小于閾值T的像素個數(shù)記作,像素灰度大于閾值T的像素個數(shù)記作,則有 (2-4) (2-5) (2-6) (2-7) (2-8) (2-9) 經(jīng)計算后,得到等價公式(2-10): (2-10)

27、 采用遍歷的方法得到使類間方差最大的閾值T,即為所求。 大津法閾值分割如圖2-6所示: 圖2-6 大津法自適應(yīng)閾值分割 2.5 邊緣提取 圖象的邊緣是指圖象局部區(qū)域亮度變化顯著的部分,該區(qū)域的灰度剖面一般可以看作是一個階躍,既從一個灰度值在很小的緩沖區(qū)域內(nèi)急劇變化到另一個灰度相差較大的灰度值。圖象的邊緣部分集中了圖象的大部分信息,圖象邊緣的確定與提取對于整個圖象場景的識別與理解是非常重要的,同時也是圖象分割所依賴的重要特征,邊緣檢測主要是圖象的灰度變化的度量、檢測和定位。 2.5.1 Sobe

28、l算子 Sobel算子主要用作邊緣檢測。在技術(shù)上,它是一離散性差分算子,用來運算圖像亮度函數(shù)的梯度之近似值。在圖像的任何一點使用此算子,將會產(chǎn)生對應(yīng)的梯度矢量或是其法矢量。 Sobel算子包含兩個的矩陣,如圖(2-7)所示,用這兩個矩陣與圖像進行卷積,便可分別得到橫向及縱向的亮度差分近似值。 如果以A代表原始圖像,Gx及Gy分別代表經(jīng)橫向及縱向邊緣檢測的圖像,其計算方法如公式(2-11)和(2-12): (2-11) (2-12) 圖像的每一個像素的橫向及縱向梯度值可用公式(2-13)來計算梯度的大小。 (2-13) 通常,

29、也使用一個近似計算的公式(2-14)來提高計算速度: (2-14) 可用以下公式計算梯度方向: (2-15) 如果角度Θ等于零,即代表圖像該處擁有縱向邊緣,左方較右方暗。 Sobel算子邊緣提取效果如圖(2-8)所示,a)圖為源圖像,b)圖為X方向邊緣檢測結(jié)果,c)圖為Y方向邊緣檢測結(jié)果 c) b) a) 圖2-8 Sobel算子邊緣檢測效果圖 2.5.2 Canny算子 Canny邊緣檢測算子是一個多級邊緣檢測算法,它的目標為實現(xiàn)最優(yōu)的邊緣檢測算法。 Canny算子的處理過程分為幾個步驟,首先要對輸入圖像進行高斯平

30、滑處理,然后使用一個二維一階導數(shù)算子作用與平滑處理后的圖像,用于突出圖像中高一空間導數(shù)的圖像區(qū)域,這樣我們就從原始圖像生成了圖像中每個點亮度梯度圖以及亮度梯度的方向。隨后Canny跟蹤這些亮度梯度并且保留局部最大值而把其他值設(shè)為0,即非極大值抑制,最后使用雙閾值算法檢測和連接邊緣。 對圖(2-8)中圖像進行Canny邊緣檢測效果如圖(2-9)所示: 圖2-9 Canny算子邊緣檢測效果圖 2.5.3 Sobel算子和Canny算子的比較 Sobel算子通過對圖像進行卷積運算,算法簡單且計算速度相對較快,缺點是Sobel算子并沒有將圖像的主題與背景嚴格地區(qū)分開來,換言之

31、就是Sobel算子并沒有基于圖像灰度進行處理,由于Sobel算子并沒有嚴格地模擬人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。 算子是一個具有濾波增強檢測的多階段的優(yōu)化算子,在進行處理前, Canny算子先利用高斯平滑濾波器來平滑圖像以除去噪聲,Canny分割算法采用一階偏導的有限差分來計算梯度幅值和方向,在處理過程中,Canny算子還將經(jīng)過一個非極大值抑制的過程,最后Canny算子還采用兩個閾值來連接邊緣??梢钥闯鯟anny算子的處理過程比較復雜,但它的處理結(jié)果是比較好的。 第3章 Hough變換直線和橢圓的檢測 3.1 Hough變換直

32、線檢測 3.1.1 Hough變換直線檢測的基本原理 Hough變換的核心思想是將圖像空間轉(zhuǎn)化到參數(shù)空間進行分析。 在平面直角坐標系中,一條直線可以用方程來表示,其中和是參數(shù),分別是斜率和截距。過某一點的所有直線的參數(shù)都會滿足方程,即點確定了一族直線。方程在參數(shù)平面上是一條直線。這樣,圖像平面上的一個前景像素點就對應(yīng)到參數(shù)平面上的一條直線,同理,直線上的其他點也對應(yīng)一條參數(shù)空間的直線,最終,在參數(shù)空間中的這些直線將會交于一點,很顯然,這個點就是。 但是方程無法表示這樣的直線(斜率無窮大),所以在實際應(yīng)用中使用直線的法線式方程來表示直線: 此時,圖像空間中的一點將對應(yīng)參數(shù)空間的一條

33、正弦曲線,這樣圖像空間中的一條直線就對應(yīng)參數(shù)空間中的一點。如圖(3-1)所示: 圖3-1 直線上點在參數(shù)空間的映射 圖(3-2)為霍夫變換直線檢測的效果(已設(shè)置感興趣區(qū)域): 圖3-2 霍夫變換直線檢測 3.1.2 Hough變換的缺陷和改進 Hough變換具有顯而易見的優(yōu)點,但它也有一些不可忽視的缺點: 1、運算量大。傳統(tǒng)的Hough變換需要對每個點進行計算,不僅運算量大,而且會產(chǎn)生大量冗余數(shù)據(jù),并且運用Hough變換進行圓或其他圖像的檢測時,由于參數(shù)的增多(如圓需要3個參數(shù)),計算量將會急劇增加,所以,Hough變換的實時性不高

34、; 2、雖然Hough變換能得到直線的參數(shù)方程,但它無法確定直線的起止點,即無法確定直線是否是連續(xù)的; 3、圖像中的噪聲點會對Hough變換的結(jié)果產(chǎn)生較大的影響。 針對以上缺陷,需要對Hough變換進行一定的改進,以更好地完成期望的工作: 1、對圖像進行合適的預處理,盡力排除噪聲點的干擾; 2、對圖像進行邊緣提取、區(qū)域分割等,提取出有用的信息,再根據(jù)統(tǒng)計學的一些原理來應(yīng)用Hough變換,減少Hough變換的運算量 3、對于Hough變換以上缺陷中的第二點,可以設(shè)計特殊的數(shù)據(jù)結(jié)構(gòu)記錄Hough變換過程中的數(shù)據(jù),從而解決探測直線等起止點的問題。 3.2 Hough變換圓檢測 3

35、.2.1 Hough變換圓檢測的基本原理 Hough變換直線檢測中是將圖像空間中的一條直線映射為參數(shù)空間中的一個點,對圓的檢測同樣如此,這也是Hough變換的核心思想所在。但是直線檢測需要兩個參數(shù),而圓檢測需要三個參數(shù)(為圓心坐標,r為圓的半徑)。 在平面直角坐標系中,圓用方程來表示,將圓上的一點映射到參數(shù)空間,對應(yīng)的方程為由于圓的半徑r不確定,所以參數(shù)空間是一個三維空間,每一點在參數(shù)空間映射為一個圓錐,如圖(3-3)所示: 圖3-3 圓上一點在參數(shù)空間的映射 因此,Hough變換圓檢測的計算量會是相當大的,這是傳統(tǒng)Hough變換最大的缺陷之一。 3.2.2 對hou

36、gh變換圓檢測算法的改進 由于傳統(tǒng)的Hough變換圓檢測算法計算量太大,所以需要對其進行改進以增強其實時性。 對于圓,有如下性質(zhì):圓上一點的法線必過圓心。根據(jù)這一性質(zhì),隨機選取圓上若干各點,求得其法線,法線的交點便是圓心,進而也可以很容易地計算出圓的半徑。 那么如何求一個點的法線呢?對于圖像中的一個點,其法線方向便是其梯度變換最大的方向,且法線與切線呈垂直關(guān)系,那么我們可以先求一點的切線,進而得到這一點的法線。 3.2.3 最小二乘法求曲線上一點的切線 最小二乘法(又稱最小平方法)是一種數(shù)學優(yōu)化技術(shù)。它通過最小化誤差的平方和尋找數(shù)據(jù)的最佳匹配函數(shù)。利用最小二乘法可以簡便地求得未知的數(shù)

37、據(jù),并使得這些求得的數(shù)據(jù)與實際數(shù)據(jù)之間誤差的平方和為最小。最小二乘法還可用于曲線擬合等初中應(yīng)用領(lǐng)域。 假設(shè)圖像中存在處于一條直線附近的幾個點,那么設(shè)這條直線的方程為: 為直線斜率,為截距。 為求得和,根據(jù)最小二乘法原理,將實測值與的離差的平方和最小作為最優(yōu)判據(jù)。 令 (3-1) 當最小時,分別對和求偏導,令這兩個偏導數(shù)等于0: (3-2) (3-3) 兩個偏導數(shù)等于0,即得: (3-4) (3-5) 將和的結(jié)果代入原直線方程,即得擬合所得的直線方程為: n X k Y X X X n Y

38、X Y X n Y i i i i i i i i - + - - = 2 2 ) ( 同樣,在圖像中圓上某一點的切線方程也可用同樣的方法求得。 雖然最小二乘法能比較方便的得出圓上一點的切線,但要知道其正確性與點的樣本大小有很大關(guān)系,如果樣本太小,則計算誤差變大,很可能得不到正確的結(jié)果,若樣本太大,則計算量也將隨之增大,所以樣本大小的選取是一個不可忽視的問題。 圖(3-4)展示了根據(jù)最小二乘法原理得到的曲線上一點的切線: 圖3-4 最小二乘法得到曲線上一點的切線 3.3 Hough變換橢圓檢測

39、根據(jù)前面的分析,道路車道線經(jīng)過圖像采集設(shè)備采集后,其原本的圓將會變化為橢圓,所以我們更應(yīng)該關(guān)注橢圓的檢測。 根據(jù)Hough變換圓檢測的算法,進一步討論橢圓的檢測,由于橢圓上一點的法線并不過橢圓的中心,所以上面的圓檢測算法不能直接用于橢圓的檢測,需要進一步的改進。根據(jù)橢圓的性質(zhì):橢圓上兩點法線的交點與這兩點中點所確定的直線過橢圓中心。我們自然而然便能對圓檢測算法加以改進以適應(yīng)橢圓的檢測。 橢圓檢測的過程描述為: 第一步:在目標圖形上選取隨機的三個點分別記為、和,并求得他們各自的切線,分別記為、、和他們兩兩間的中點,分別記為、和(即為和的中點); 第二步:找到這三條切線兩兩相交的交點,分別

40、記為、和(即為和的交點,以此類推); 第三步:將對應(yīng)的交點與中點連接,即與、與、與,將得到的直線分別記為、和; 第四步:求得這三條連線兩兩相交的交點,根據(jù)一定的距離準則,判斷這三點是否足夠接近,如果足夠接近,說明此時的形狀可能是一個橢圓,否則則說明不是; 第五步:在目標圖形上另選一點,求其切線,并將其與其他三點中的一點重新配對,得到兩切線交點與中點的直線方程; 第六步:根據(jù)同樣的距離準則,判斷新得到的直線與其他直線的交點是否足夠接近,如果是,那么目標圖形是一個橢圓,如果不是,則說明目標圖形不是橢圓。 圖(3-5)為根據(jù)此方法對橢圓進行檢測的結(jié)果: 圖3-5 橢圓檢測

41、 由圖可以看出,該方法能正確的檢測出圖像中的橢圓,說明了此方法的正確性和可靠性。 第4章 車道線的識別 綜合分析前面章節(jié)中的處理過程和算法,總結(jié)出車道線識別的流程,如圖(4-1)所示: 圖4-1 車道線識別流程圖 在Linux平臺上,使用C語言和Gtk+結(jié)合OpenCV圖像處理庫編寫程序,進行車道線的識別,如圖(4-2)所示: 圖4-2 車道線識別程序界面 車道線的識別結(jié)果如圖(4-3)所示: 圖4-3 車道線的識別結(jié)果 從識別的結(jié)果可以看出,算法能

42、對車道線進行準確的識別,達到了預期的目的和理想的效果。 結(jié)論 從以上的算法分析和實驗結(jié)果,可以看出,本論文中的算法能對車道線較好較準確的進行識別,算法的主要優(yōu)點有: 1、算法的準確性高。相比傳統(tǒng)的識別算法,本論文中的算法經(jīng)過優(yōu)化處理,提高了識別的準確性; 2、算法的實時性好,特別是經(jīng)過對Hough變換等算法的一定的改進,大大減少了計算量,提高了計算速度; 3、算法能檢測多種車道線,適應(yīng)范圍廣; 4、算法結(jié)構(gòu)清晰,魯棒性好,方便擴展和改進; 當然,在實際的應(yīng)用中也發(fā)現(xiàn)了一些問題,主要有: 1、對于復雜路況和天氣條件欠佳時,算法的

43、適應(yīng)性還不夠高; 2、對于一些現(xiàn)實中存在的干擾因素如馬路沿等,不能進行有效的排除。 這些存在的問題,也指出了下一階段改進的方向和思路,以后的時間里還有更多的工作要做。 對于未來,隨著人工智能、機器學習等的不斷發(fā)展,將這些技術(shù)應(yīng)用于車道識別中,必將能極大的提高車道線識別的精確性和適應(yīng)性,并且伴隨著智能汽車的進一步發(fā)展,新的技術(shù)不斷得到應(yīng)用,車道線的識別技術(shù)一定會迎來一個大的發(fā)展。特別是國內(nèi),隨著中國的科技水平不斷提高,市場需要持續(xù)增大,對于車道線的自動識別的需求也將更加迫切。所以未來是光明的,但更需要我們腳踏實地,不斷取得新的突破。 參考文獻: [1]魯曼,

44、蔡自興,李儀.道路區(qū)域分割的車道線檢測方法[J].智能系統(tǒng)學報,2010,5(6):505-509 [2]金輝,吳樂林,陳慧巖,龔建偉 .結(jié)構(gòu)化道路車道線識別的一種改進算法[J].北京理工大學學報,2007,27(6):502-505 [3]朱桂英,張瑞林 .基于Hough變換的圓檢測方法[J].計算機工程與設(shè)計,2008,29(6) [4]郭磊,王建強,李克強.基于點集優(yōu)化和干擾點模糊化的車道線識別[J].中國機械工程,18(15):1872-1876 [5]楊喜寧,段建民,高德芝,鄭榜貴.基于改進Hough變換的車道線檢測技術(shù)[J].計算機測量與控制,2010,18(2):292-

45、298 [6]莫建文,范楷,張順嵐.基于擴散性搜索區(qū)域的車道線檢測與跟蹤算法[J].桂林電子科技大學學報,2011,31(6):464-468 [7]王曉云,王永忠.基于線性雙曲線模型的車道線檢測算法[J].杭州電子科技大學學報,2010,30(6):64-67 [8]徐巖,雷濤.基于形態(tài)學方法的車道線檢測算法研究[J].鐵道學報,2009,31(1):107-110 [9]秦開懷,王海潁,鄭輯濤.一種基于Hough變換的圓和矩形的快速檢測方法[J].中國圖像圖形學報,2010,15(1):110-115 [10]段汝嬌,趙偉,黃松嶺,稱建業(yè).一種基于改進Hough變換的直線快速檢測

46、算法[J].儀器儀表學報,2010,31(12):2774-2780 [11]李若皓,丁冬花.一種基于掃描線的車道線識別算法[J].微計算機信息,2008,24(6):244-246 [12]劉富強,張姍姍,朱文紅,李志鵬.一種基于視覺的車道線檢測與跟蹤算法[J],2010,38(2):223-229 [13]黃永林,葉玉堂,陳鎮(zhèn)龍,喬鬧生.一種新的快速Hough變換圓檢測方法[J],2010,24(9):837-841 [14]陳洪波,王強,徐曉蓉,陳真誠,湯井田.用改進的Hough變換檢測交通標志圖像的直線特征[J],2009,17(5):1111-1118 [15]K ast

47、rinaki V , Zervakis M , K alait zakis K . A survey of video pr oces sing t echniques f or t raf fi c appli cat ions [J] .Image and programming f or V is ion Com put ing, 2003, 21( 1) : 359. [16]Lee J W. A machin e vi sion s yst em f or lane depart u re det ect ion [J] . C om put er V ision Image U

48、 nderst , 2002, 86 [17]Isard M A , Blake. Condensat ion con diti on al den sit y propagat ion f or vi sual track ing [J] . Int ern at ional Journal of Computer Vision,1998,29(1):5 [18]Adrian Kaehler, Dr. Gary Rost Bradski.Learnint OpenCV[M].ORELILY,2008 [19]D.Pomerleau,RALPH:Rapidly Adapting La

49、teral Position Handler,Proc.IEEE Symposium on Intelligent Vehicles,Detroit,USA,1995:506-511 [20]M.Bertozzi and A.Broggi.GOLD:A Parallel Real Time Stereo Vision System for Generic Obstacle and Lane Detection,IEEE Trans.On Image Proc.1998,7(1):62-81 [21]You Feng.Intelligent vehicle automatically cha

50、nge the way and automatic control method of overtaking[D].JiLin university.2005:44-46 [22]Guan xin.High-speed car lane departure warning system algorithms.Jilin university Phd.paper.2004:12-23 致謝 本論文的工作實在景文博老師的悉心指導下完成的。景老師嚴謹?shù)膶W風、教書育人的敬業(yè)精神和對事業(yè)的執(zhí)著追求,對我影響至深,是我受益匪淺。在算法的研究過程中,景老師給了我特別大的幫助,

51、如算法的選擇、圖像的選取和相關(guān)的參考資料等,節(jié)省了我很多時間,也讓我的理論知識得到了極大的提高。在此。我向景老師表達我最誠摯的感謝和致意! 同時,也感謝Debian Linux和OpenCV社區(qū)給我提供的幫助,對于OpenCV編程環(huán)境的搭建以及OpenCV在Linux操作系統(tǒng)上的應(yīng)用,他們給我提供了許多寶貴的意見,在此,為他們樂于分享、樂于助人的精神獻上我深深地感謝。 當然,也要感謝學校提供給我們的便利的學習條件,特別是圖書館提供給我們的便利的查閱資料的條件,讓我接觸到了許多有用的資料。 最后,感謝我的朋友們,在我迷惑不解時和我討論問題幫我找到思路,謝謝他們的支持和幫助! 附錄1

52、 車道線識別程序源代碼,編譯要求:Linux Kernel2.6或以上,Glibc2.13或以上,OpenCV2.1或以上,Gcc4.7或以上版本。 #include #include #include #include #include #include #define RED cvScalar(0,0,255,0) #define GREEN cvScalar(0,255,0,0) #define BLUE cvScalar

53、(255,0,0,0) #define ROI cvRect(0,(int)src->height / 3,src->width,src->height) #define LOW_THRESH 80 #define HIGH_THRESH 255 #define MAXDISTANCE 10 //img為加載的源圖像,src為處理過程中所用的灰度圖像 //temp為臨時需要時的中轉(zhuǎn)圖像,out為最后輸出的三通道圖像 IplImage *img,*src,*temp,*out; CvMemStorage *storage; CvSeq *lines; CvSeq *con

54、tours; typedef struct { float a; float b; float c; int is_vertical; }Line; Line *get_tangent(CvSeq *seq,int n); Line get_line_func(CvPoint p1,CvPoint p2); CvPoint *get_join(CvPoint *p1,Line l1,CvPoint *p2,Line l2); CvPoint get_center(CvPoint p1,CvPoint p2); double points_distance(CvP

55、oint p1,CvPoint p2); int is_ellipse(CvSeq *); int main(int argc,char *argv[]) { //圖像的加載過程 if (argc != 2) { puts("Usage : ./mark filename"); exit(1); } if ((img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED)) == NULL) { printf("can not load image %s.\n",argv[1]); exit(1);

56、 } src = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1); temp = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1); out = cvCreateImage(cvGetSize(img),img->depth,3); if (img->nChannels >= 3) { cvCvtColor(img,src,CV_RGB2GRAY); cvCopy(img,out,NULL); } else { cvCopy(img,src,0); cvC

57、vtColor(img,out,CV_GRAY2RGB); } storage = cvCreateMemStorage(0); //設(shè)置ROI cvSetImageROI(src,ROI); //濾波 cvSmooth(src,src,CV_MEDIAN,5,5,0,0); cvSmooth(src,src,CV_GAUSSIAN,5,5,0,0); //大津法閾值分割 cvThreshold(src,src,LOW_THRESH,HIGH_THRESH,CV_THRESH_OTSU); //邊緣檢測 cvSetImageROI(temp,ROI);

58、 cvCanny(src,temp,LOW_THRESH,HIGH_THRESH,3); cvResetImageROI(src); cvResetImageROI(temp); cvCopy(temp,src,0); cvSetImageROI(src,ROI); //hough直線檢測 lines=cvHoughLines2(src,storage,CV_HOUGH_PROBABILISTIC,0.5,CV_PI / 180,5,10,5); //繪制檢測到的直線 int i; cvSetImageROI(out,ROI); for (i = 0;i

59、< lines->total;i++) { CvPoint *endpoints = (CvPoint *)cvGetSeqElem(lines,i); cvLine(out,endpoints[0],endpoints[1],RED,2,8,0); } //邊緣提取 int sum_of_area = 0; sum_of_area=cvFindContours(src,storage,&contours,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0)); for (

60、i = 0;i < sum_of_area;contours = contours->h_next,i++) { if (contours->total <= 50) continue; if (is_ellipse(contours)) { puts("OK"); cvDrawContours(out,contours,BLUE,GREEN,LOW_THRESH,2,8,cvPoint(0,0)); } } cvResetImageROI(out); cvRectangle(out,cvPoint(0,(int)out->hei

61、ght / 3),cvPoint(out->width,out->height),GREEN,2,8,0); cvNamedWindow("IMG",0); cvNamedWindow("OUT",0); cvShowImage("IMG",img); cvShowImage("OUT",out); cvWaitKey(0); return 0; } Line *get_tangent(CvSeq *seq,int n) { Line *result = (Line *)malloc(sizeof(Line)); if (n >= seq->total |

62、| n < 4) return (Line *)NULL; CvPoint *p = (CvPoint *)cvGetSeqElem(seq,n); double sum_of_xy = 0.0,sum_of_x = 0.0,sum_of_y = 0.0,sum_of_x2 = 0.0; int i; for (i = n - 4;i <= n + 4;i++) { CvPoint *temp = (CvPoint *)cvGetSeqElem(seq,i); sum_of_xy += (double)(temp->x * temp->y); su

63、m_of_x += (double)temp->x; sum_of_y += (double)temp->y; sum_of_x2 += (double)(temp->x * temp->x); } #ifndef SIZEOFTANGENTAREA #define SIZEOFTANGENTAREA 9 result->a = (SIZEOFTANGENTAREA * sum_of_xy - sum_of_x * sum_of_y) / (SIZEOFTANGENTAREA * sum_of_x2 - sum_of_x * sum_of_x); result->

64、c = sum_of_y / SIZEOFTANGENTAREA - result->a * sum_of_x / SIZEOFTANGENTAREA; result->b = -1.0; result->is_vertical = 0; #endif return result; } Line get_line_func(CvPoint p1,CvPoint p2) { Line result; if (p1.x == p2.x) result.is_vertical = 1; else { result.a = p2.y - p1.y;

65、 result.b = p1.x - p2.x; result.c = -(result.a * p1.x + result.b * p1.y); result.is_vertical = 0; } return result; } CvPoint *get_join(CvPoint *p1,Line l1,CvPoint *p2,Line l2) { CvPoint *p = (CvPoint *)malloc(sizeof(CvPoint)); if (l1.is_vertical != 1 && l2.is_vertical != 1) {

66、 if (fabs(l1.a / l1.b - l2.a / l2.b) >= 0.000001) { p->x = (l1.b * l2.c - l2.b * l1.c) / (l2.b * l1.a - l1.b * l2.a); p->y = (l1.a * l2.c - l1.c * l2.a) / (l1.b * l2.a - l1.a * l2.b); return p; } else return NULL; } else if (l1.is_vertical && l2.is_vertical != 1) { p->x = p1->x; p->y = p1->x * l2.a / (-l2.b) + l2.c / (-l2.b); return p; } else if (l2.is_vertical && l1.is_vertical != 1) { p->x = p2->x; p->y = p2->x * l1.a / (-l1.

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!