基于視頻的車(chē)輛檢測(cè)系統(tǒng)
基于視頻的車(chē)輛檢測(cè)系統(tǒng),基于,視頻,車(chē)輛,檢測(cè),系統(tǒng)
編號(hào)
無(wú)錫太湖學(xué)院
畢業(yè)設(shè)計(jì)(論文)
題目: 基于視頻的車(chē)輛檢測(cè)系統(tǒng)
信機(jī) 系 計(jì)算機(jī)科學(xué)與技術(shù) 專(zhuān)業(yè)
學(xué) 號(hào): 0921157
學(xué)生姓名: 陳嘉斌
指導(dǎo)教師: 李朝鋒 (職稱(chēng): 副教授 )
(職稱(chēng): )
2013年5月25日
III
無(wú)錫太湖學(xué)院本科畢業(yè)設(shè)計(jì)(論文)
誠(chéng) 信 承 諾 書(shū)
本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)(論文) 基于視頻的車(chē)輛檢測(cè)系統(tǒng) 是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果,其內(nèi)容除了在畢業(yè)設(shè)計(jì)(論文)中特別加以標(biāo)注引用,表示致謝的內(nèi)容外,本畢業(yè)設(shè)計(jì)(論文)不包含任何其他個(gè)人、集體已發(fā)表或撰寫(xiě)的成果作品。
班 級(jí): 計(jì)科94
學(xué) 號(hào): 0921157
作者姓名:
2012 年 5 月 25 日
無(wú)錫太湖學(xué)院
信機(jī) 系 計(jì)算機(jī)科學(xué)技術(shù) 專(zhuān)業(yè)
畢 業(yè) 設(shè) 計(jì)論 文 任 務(wù) 書(shū)
一、題目及專(zhuān)題:
1、 題目 基于視頻的車(chē)輛檢測(cè)系統(tǒng)
2、專(zhuān)題
二、課題來(lái)源及選題依據(jù)
課題來(lái)源:導(dǎo)師選定
選題依據(jù):現(xiàn)如今,隨著我國(guó)國(guó)民經(jīng)濟(jì)的快速發(fā)展,居民的收入水平越來(lái)越高,汽車(chē)已經(jīng)成為了十分普遍的交通工具。對(duì)汽車(chē)的檢測(cè)與管理日趨重要。同時(shí)基于視頻以及以計(jì)算機(jī)視覺(jué)為基礎(chǔ)的對(duì)車(chē)輛進(jìn)行識(shí)別檢測(cè)的理論越來(lái)越多。通過(guò)對(duì)圖像進(jìn)行分析,能夠?qū)煌ㄐ畔⑦M(jìn)行全方位的管理。可以通過(guò)分析相關(guān)數(shù)據(jù)來(lái)評(píng)估和預(yù)測(cè)特定時(shí)間段的車(chē)輛情況。
一個(gè)完善的汽車(chē)檢測(cè)既幫助管理人員對(duì)交通狀況進(jìn)行及時(shí)、準(zhǔn)確的分析和處理最大限度地降低處理信息的勞動(dòng)強(qiáng)度,使交通管理水平產(chǎn)生質(zhì)的飛躍,跟上信息時(shí)代的步伐。
三、本設(shè)計(jì)(論文或其他)應(yīng)達(dá)到的要求:
① 了解圖像識(shí)別與檢測(cè)
② 熟練掌握對(duì)圖像進(jìn)行灰度化處理, 中值濾波處理及二值化處理.
③ 熟練掌握從圖像中將某個(gè)特定區(qū)域與其它部分進(jìn)行分離并提取出想要識(shí)別的物體的處理。
④ 熟練使用MATLAB提供的圖形用戶界面(GUI)工具。
⑤ 完成對(duì)移動(dòng)中車(chē)輛的檢測(cè)與計(jì)數(shù)。
四、接受任務(wù)學(xué)生:
計(jì)科94 班 姓名 陳嘉斌
五、開(kāi)始及完成日期:
自 2012 年 11 月 12 日 至 2013年 5月 25日
六、設(shè)計(jì)(論文)指導(dǎo)(或顧問(wèn)):
指導(dǎo)教師 簽名
簽名
簽名
教研室主任
〔學(xué)科組組長(zhǎng)研究所所長(zhǎng)〕 簽名
系主任 簽名
2012年11月12日
I
摘 要
當(dāng)今科技飛速發(fā)展,帶來(lái)了智能交通的空前發(fā)達(dá),也為經(jīng)濟(jì)可持續(xù)發(fā)展做出一定貢獻(xiàn)。交通運(yùn)輸在一個(gè)國(guó)家的經(jīng)濟(jì)社會(huì)發(fā)展中起著助推器的作用。交通運(yùn)輸?shù)谋O(jiān)控與管理智能化也變得尤為重要?;谝曨l的車(chē)輛檢測(cè)作為智能交通系統(tǒng)的基石, 具有直觀性、大范圍檢測(cè)、安裝和維護(hù)方便等優(yōu)勢(shì),成為采集交通信息技術(shù)的有力工具。因而視頻車(chē)輛檢測(cè)研究具有非常重要的意義。
本論文首先介紹了圖像檢測(cè)的研究背景以及發(fā)展情況,然后重點(diǎn)介紹了本論文中進(jìn)行車(chē)輛檢測(cè)的技術(shù)和方法。該方法先對(duì)圖像進(jìn)行灰度值化處理,中值濾波處理及二值化處理,然后利用車(chē)輛移動(dòng)的特點(diǎn)進(jìn)行檢測(cè),最后將移動(dòng)中的車(chē)輛進(jìn)行加框標(biāo)記。實(shí)驗(yàn)結(jié)果表明, 本程序設(shè)計(jì)能夠在一定的誤差范圍內(nèi)實(shí)現(xiàn)對(duì)移動(dòng)車(chē)輛進(jìn)行檢測(cè)。且效果良好。
本文視頻車(chē)輛檢測(cè)系統(tǒng)是采用圖像處理的方法進(jìn)行設(shè)計(jì),本研究有著一定的現(xiàn)實(shí)意義。
關(guān)鍵詞:智能交通;車(chē)輛檢測(cè);圖像處理;MATLAB
Abstract
Today, science and technology develop quickly. And it make Intelligent Transportation System was more developed. It has also made a certain contribution for the sustainable development of economy. Transportation plays the role of booster in economic and social development of a country. It is important that make monitoring and management of transportation to be more intelligence. Vehicle Detection System that bases on the video is footstone of Intelligent Transportation System. It can watch easily. It can do a large-scale detection. And its installation and maintenance is convenient. It will be a helpful tool of collecting the information of traffic. So it has an important meaning for researching the detection of vehicles.
This dissertation introduces the background of the research and the development of the situation. Than introduces the technology and method of Vehicle Detection System detailed. The method is to make the image gray processing, median processing and binary image processing at the first. Using the characteristics of vehicle moving detects vehicles at the second. Finally, sign frames on vehicles. The experimental results show that the program can detect the moving vehicles within a certain range of error and has good result.
This Vehicle Detection System that bases on the video designed with the technology of image processing. It is of practical significance in this research.
Key words: intelligent transportation; vehicle detection; image processing; MATLAB
III
目 錄
摘 要 III
Abstract IV
目 錄 V
1 緒論 1
1.1 課題背景與意義 1
1.2 國(guó)內(nèi)發(fā)展概況 1
1.3 視頻車(chē)輛檢測(cè)系統(tǒng)概述 2
1.4 圖像處理概述 3
1.5 本課題工作與結(jié)構(gòu)安排 3
1.6 開(kāi)發(fā)工具及運(yùn)行環(huán)境 4
2 軟件介紹 5
2.1 MATLAB 概況 5
2.2 MATLAB的語(yǔ)言特點(diǎn) 6
2.3 基本運(yùn)算與函數(shù) 7
3 基于視頻的車(chē)輛檢測(cè)方法 15
3.1 基于視頻的車(chē)輛檢測(cè)方法 15
3.1.1 基于幀間差分的方法 15
3.1.2 基于光流場(chǎng)的方法 15
3.1.3 基于背景差的方法 16
3.2 車(chē)輛陰影分割技術(shù) 16
4 車(chē)輛目標(biāo)的圖像處理方法 17
4.1 彩色圖像灰度化 17
4.2 圖像分割 19
4.2.1 閾值分割方法 19
4.2.2 最大方差自動(dòng)取閾值(自適應(yīng)二值化) 19
4.2.3 基于邊緣檢測(cè)的圖像分割 22
4.3 基于數(shù)學(xué)形態(tài)學(xué)分析 24
4.3.1 圖像形態(tài)學(xué)處理 24
4.3.2 實(shí)驗(yàn)結(jié)果比較 26
4.4 圖像填充 27
5 基于幀間差分法的車(chē)輛檢測(cè)盒計(jì)數(shù)方法 29
5.1 幀間差分法 29
5.2 二值化 29
5.3 形態(tài)學(xué)濾波 30
5.4 系統(tǒng)流程圖 31
5.5 分析目標(biāo)物體和計(jì)數(shù) 32
6 結(jié)論與展望 35
6.1 結(jié)論 35
6.2 不足之處與對(duì)未來(lái)的展望 35
致 謝 37
參考文獻(xiàn) 38
附 錄 39
V
基于視頻的車(chē)輛檢測(cè)系統(tǒng)
1 緒論
1.1 課題背景與意義
當(dāng)今科技飛速發(fā)展,帶來(lái)了智能交通的空前發(fā)達(dá),也為經(jīng)濟(jì)可持續(xù)發(fā)展做出一定貢獻(xiàn)。交通運(yùn)輸在一個(gè)國(guó)家的經(jīng)濟(jì)社會(huì)發(fā)展中起著助推器的作用。隨著交通運(yùn)輸業(yè)的高速發(fā)展,交通堵塞、事故等等負(fù)面效應(yīng)也日益突出,并越發(fā)成為全球性共同問(wèn)題。針對(duì)日益嚴(yán)重交通需求,有限的資源和日益惡化的環(huán)境,需要依靠新的辦法來(lái)控制交通需求。智能交通系統(tǒng)正在這樣的矛盾中應(yīng)運(yùn)而生。智能交通系統(tǒng)(ITS),隨著信息技術(shù)、計(jì)算機(jī)技術(shù)、數(shù)據(jù)通信傳輸技術(shù)、模式識(shí)別技術(shù)、圖像處理技術(shù)等學(xué)科的迅猛發(fā)展,得到了日益廣泛的應(yīng)用,極大提高了交通管理的智能化、科學(xué)化、規(guī)范化水平。特別是計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展為提高交通系統(tǒng)智能化程度,提供了有效手段。要從根本上解決這些問(wèn)題,必定要實(shí)現(xiàn)交通運(yùn)輸系統(tǒng)的智能化,使交通運(yùn)行處于最佳狀態(tài),改善交通堵塞,提高運(yùn)輸能力和整個(gè)交通系統(tǒng)的機(jī)動(dòng)性、安全性和效率。智能交通系統(tǒng)是目前交通領(lǐng)域的重要研究課題之一。
實(shí)時(shí)動(dòng)態(tài)的交通信息是實(shí)現(xiàn)交通智能化的關(guān)鍵所在。作為交通流基本參數(shù)之一,實(shí)時(shí)計(jì)數(shù)也具有基本的交通流特性,它的采集手段很多,目前比較成熟的有磁性檢測(cè)、電磁波檢測(cè)等。而在道路實(shí)時(shí)行車(chē)流的采集和應(yīng)用處理是ITS各有關(guān)項(xiàng)目如:城市公共交通智能化調(diào)度系統(tǒng)、自動(dòng)駕駛系統(tǒng)、物流管理系統(tǒng)實(shí)施的基礎(chǔ)數(shù)據(jù)和重要前提之一。目前有關(guān)實(shí)時(shí)車(chē)流信息采集、維護(hù)以及處理的研究有了很大發(fā)展。
計(jì)算機(jī)和電子信息技術(shù)的高速發(fā)展,使得數(shù)據(jù)處理加工能力逐步增強(qiáng),為圖像處理、計(jì)算機(jī)視覺(jué)和模式識(shí)別技術(shù)應(yīng)用于智能交通信息采集提供了強(qiáng)有力的保障。該系統(tǒng)通過(guò)攝像機(jī)對(duì)交通信息流進(jìn)行攝像,利用圖像處理和模式識(shí)別技術(shù)對(duì)連續(xù)的交通信息流進(jìn)行處理,以此達(dá)到監(jiān)測(cè)交通信息流的目的。同時(shí),現(xiàn)場(chǎng)的交通視頻信號(hào)也能夠?yàn)殡娨暠O(jiān)控共用。近年來(lái),該系統(tǒng)得到快速發(fā)展,作為一種檢測(cè)手段,視頻檢測(cè)技術(shù)所提供的豐富交通信息,以及所具有的各種優(yōu)點(diǎn),都是其他方法難以比擬的。
本文是基于視頻圖像處理的車(chē)輛信息處理系統(tǒng),重點(diǎn)研究實(shí)時(shí)車(chē)輛檢測(cè)以及車(chē)輛計(jì)數(shù)涉及到的相關(guān)內(nèi)容和算法,其目的是提高交通管理的自動(dòng)化、現(xiàn)代化水平。其中所有的數(shù)字圖像處理都通過(guò)MATLAB仿真實(shí)現(xiàn),通過(guò)本文的研究也以后相關(guān)開(kāi)發(fā)應(yīng)用積累經(jīng)驗(yàn)。
1.2 國(guó)內(nèi)發(fā)展概況
目前,國(guó)外一些發(fā)達(dá)國(guó)家的攝像機(jī)以及圖像采集卡都處于先進(jìn)水平,在視頻運(yùn)動(dòng)檢測(cè)和圖像處理方面的技術(shù)也比較成熟,從而開(kāi)發(fā)出的汽車(chē)檢測(cè)系統(tǒng)也會(huì)具有相當(dāng)高的性能。而國(guó)內(nèi)與其比較還有相當(dāng)大的差距,國(guó)內(nèi)對(duì)智能的車(chē)輛檢測(cè)系統(tǒng)的研究起步比較晚。車(chē)輛檢測(cè)系統(tǒng)也是從國(guó)外引進(jìn),通過(guò)學(xué)習(xí)外國(guó)的技術(shù)與國(guó)內(nèi)自身的交通情況以及車(chē)輛特點(diǎn)相結(jié)合起來(lái)開(kāi)發(fā)的產(chǎn)品。
國(guó)內(nèi)車(chē)輛檢測(cè)按照時(shí)間與技術(shù)的發(fā)展過(guò)程可分為以下4個(gè):
(1) 普通照相機(jī)式
在80年代這種由普通張相機(jī)和車(chē)輛感應(yīng)線圈結(jié)合的方式使用的普遍。這種組合方式簡(jiǎn)單,投資少,抓拍圖片分辨率高,但缺點(diǎn)是需要每天人工更換膠卷進(jìn)行沖洗,且白天宇夜晚需要使用不同的膠卷,費(fèi)用較高。用于夜間拍攝的補(bǔ)光閃光燈也不易維護(hù)。
(2) 數(shù)字照相機(jī)
在90年代這種使用數(shù)碼相機(jī)與車(chē)感線圈的組合用的相對(duì)普遍。這是對(duì)第一種方式的改進(jìn),它可以直接將抓拍下的圖片數(shù)字化后存儲(chǔ)在閃存卡上,或者通過(guò)通信接口存入計(jì)算機(jī)中。這種方式可以拍攝出高分辨率的照片同時(shí)又省去了人工更換膠卷沖洗的麻煩,但在維護(hù)方面仍然存在艱難的問(wèn)題。
(3) 視頻感應(yīng)線圈式
在90年代后期至2000年早期這種由工業(yè)攝像機(jī)與感應(yīng)線圈與工業(yè)控制計(jì)算機(jī)構(gòu)成的系統(tǒng)使用的比較多。它首先通過(guò)感應(yīng)線圈來(lái)檢測(cè)車(chē)輛,接著使用工業(yè)控制計(jì)算機(jī)來(lái)控制工業(yè)攝像機(jī)抓拍車(chē)輛照片保存到計(jì)算機(jī)中。和以上2種方式相比,這種方式使得人工量與工作量大大的減少,但仍使用感應(yīng)線圈,所以在維護(hù)方面還是比較麻煩。
(4) 視頻檢查式
在2000年以后至今這種由工業(yè)攝像機(jī)與工業(yè)控制計(jì)算機(jī)構(gòu)成的方式使用的普遍。它不需要使用感應(yīng)線圈檢測(cè)車(chē)輛,而是由計(jì)算機(jī)對(duì)監(jiān)視區(qū)域的實(shí)時(shí)的圖像進(jìn)行分析處理,從而判斷是否有車(chē)輛違章。它可以把工業(yè)控制計(jì)算機(jī)抓拍到的圖像數(shù)字化后直接存入硬盤(pán)中,再通過(guò)電話線傳送到相關(guān)部門(mén),無(wú)需人工操作。這種方式采用的超級(jí)動(dòng)態(tài)調(diào)整低照度攝像機(jī)利用路燈、車(chē)牌燈和追尾燈就可以進(jìn)行有效的抓拍且不需要安裝閃光燈,不僅抓拍速度大大提高,在存儲(chǔ)量自動(dòng)化方面也有著巨大的優(yōu)勢(shì),應(yīng)用范圍廣。
基于視頻的車(chē)輛檢測(cè)系統(tǒng)不需要物理檢測(cè)線圈,采用虛擬線圈來(lái)代替。采用基于圖像的車(chē)輛運(yùn)動(dòng)檢測(cè)算法來(lái)檢測(cè)車(chē)輛運(yùn)動(dòng)。這種方法不需要人工更換膠卷沖洗照片,也不需要挖開(kāi)路面,維護(hù)方便??梢哉f(shuō)基于視頻的汽車(chē)檢測(cè)系統(tǒng)將被普遍使用,是今后發(fā)展的方向。
1.3 視頻車(chē)輛檢測(cè)系統(tǒng)概述
通過(guò)對(duì)道路交通信息和交通目標(biāo)的各種動(dòng)態(tài)行為(如停車(chē)、違章超速、超車(chē)等等)的實(shí)時(shí)監(jiān)測(cè),實(shí)現(xiàn)自動(dòng)統(tǒng)計(jì)各交通路段上行駛的車(chē)數(shù)量、計(jì)算行駛車(chē)速度,識(shí)別分類(lèi)行駛車(chē)輛等各種交通參數(shù),達(dá)到監(jiān)測(cè)交通道路狀況的作用。同時(shí),將監(jiān)測(cè)和識(shí)別的交通狀況信息存儲(chǔ)下來(lái),為分析和管理交通提供依據(jù),因此它可視為一個(gè)交通信息的管理系統(tǒng)。
利用攝像機(jī)將交通流圖像捕捉下來(lái),然后將這些捕捉到的視頻圖像傳到計(jì)算機(jī)進(jìn)行圖像處理、分析和理解,得到交通流數(shù)據(jù)與交通路況等信息。
將攝像機(jī)安裝在合適的位置,一般高度為5-20米。若道路口有龍門(mén)架、隧道、過(guò)街橋、紅綠燈桿可直接安裝,不需再安裝桿。攝像機(jī)一般為工業(yè)用黑白或彩色CCD芯片型,擁有300線上的清晰度,通常安裝于室外防護(hù)罩中。目前眾多城市都架設(shè)有電子警察系統(tǒng),可以利用CCD攝像機(jī)把兩者合二為一,降低了成本;將攝像機(jī)捕捉的視頻送入視頻車(chē)檢器上。在檢測(cè)器的視頻畫(huà)面上標(biāo)記監(jiān)測(cè)區(qū)域,這種用軟件方法設(shè)置監(jiān)測(cè)區(qū)域提高了系統(tǒng)的通用性和靈活性,使它可以使用各種交通路口;對(duì)捕捉的視頻運(yùn)用一定的圖像分析處理算法進(jìn)行處理,提取相關(guān)的交通參數(shù)。把視頻圖像進(jìn)行壓縮,通過(guò)通信線路或無(wú)線把交通參數(shù)和壓縮后的圖像傳到遠(yuǎn)端控制中心,供操作人員使用。
1.4 圖像處理概述
視頻車(chē)輛檢測(cè)系統(tǒng)是一種利用圖像處理和模式識(shí)別技術(shù)實(shí)現(xiàn)對(duì)交通目標(biāo)檢測(cè)和識(shí)別的計(jì)算機(jī)處理系統(tǒng)。
“圖”是物體投射或反射光的分布,“像”是人視覺(jué)系統(tǒng)對(duì)圖的接受在大腦中形成的印象或反映,是主觀和客觀的結(jié)合。圖像處理即是對(duì)圖像進(jìn)行加工處理,從而達(dá)到人類(lèi)的視覺(jué)心理和應(yīng)用的要求。
人類(lèi)獲取外界信息有多種方法,包括視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)、嗅覺(jué)、味覺(jué)等。但絕大部分是來(lái)自我們視覺(jué)所看到的圖像信息,即所謂“百聞不如一見(jiàn)”。圖像的范圍非常廣泛,包括:各類(lèi)圖片,如普通照片、X光片、遙感圖片;各類(lèi)光學(xué)圖像,如電影、電視等;人們心目中的有形影像以及外部描述,如繪圖、繪畫(huà)等。
數(shù)字影像是將照片或錄像等模擬信號(hào)經(jīng)抽樣和數(shù)字化后形成。因?yàn)楸阌谟?jì)算機(jī)運(yùn)算與儲(chǔ)存。所儲(chǔ)存的亮點(diǎn)即為圖像的基本單位,成為像素。像素的亮度是灰度值,灰度值被劃分為256等級(jí),最暗為0,最亮為255.一張圖像被數(shù)字化成方格所組成的像素,每一格標(biāo)有一對(duì)坐標(biāo),一個(gè)表示行值,另一則表示列值。行值從影像的最左邊開(kāi)始標(biāo)記自0一直到n,n表示行值中最大值。相同的,列值從最上方起定位0,自下移動(dòng)至m值,m表示圖形全部列數(shù)。
數(shù)字圖像處理目的就是對(duì)圖像的強(qiáng)度分布視為一連串整數(shù)值的集合,使用數(shù)字計(jì)算機(jī)對(duì)圖像進(jìn)行某些特定的加工和分析。數(shù)字圖像處理涵蓋范圍非常廣泛,但是,所采用的原理與方法基本一致。整體來(lái)說(shuō),主要內(nèi)容包括圖像的增強(qiáng)與復(fù)原、圖像編碼與壓縮、圖像切割、圖像識(shí)別、圖像特征匹配等等。
圖像分割是將圖像中的目標(biāo)物解析出的過(guò)程。圖像分割是圖像的分析過(guò)程中最為重要的步驟之一,通常所采用的方法主要為邊緣的檢測(cè)及臨界值法。
圖像特征匹配,特征匹配法的“特征”,需先加以定義。所謂匹配,即將目標(biāo)特征與存在計(jì)算機(jī)中之樣本特征加以比較,若相似度或非相似度小于或大于某預(yù)設(shè)的門(mén)限值,則匹配成功。
特征匹配目的是對(duì)具有相同或類(lèi)似特征的物體進(jìn)行關(guān)聯(lián),便于辨認(rèn)或分類(lèi)。就交通方面而言,特征匹配用來(lái)區(qū)別不同的交通工具。舉例而言,若圖像中某物體長(zhǎng)度4米,寬2米,形狀呈矩形,該物體極有可能被分類(lèi)為小汽車(chē);若長(zhǎng)為10米,寬2.5米的矩形,則可被分類(lèi)為大型車(chē)。
1.5 本課題工作與結(jié)構(gòu)安排
本文主要就視頻車(chē)輛檢測(cè)技術(shù)進(jìn)行概述。全文共分四章,結(jié)構(gòu)安排如下:
第一章主要介紹了課題研究背景及意義,重點(diǎn)闡述了視頻車(chē)輛檢測(cè)技術(shù)的研究現(xiàn)狀,視頻車(chē)輛檢測(cè)系統(tǒng)概述以及圖像處理基礎(chǔ)基礎(chǔ)知識(shí)。
第二章軟件介紹
第三章介紹了基于視頻的車(chē)輛檢測(cè)方法,主要有幀間法,光流法以及背景差方法。
第四章介紹了基于車(chē)輛目標(biāo)的圖像處理方法,用MATLAB仿真實(shí)現(xiàn)了圖像的圖像分割和數(shù)學(xué)形態(tài)學(xué)相關(guān)理論實(shí)驗(yàn)結(jié)果。
第五章提出了基于幀間差分法的車(chē)輛目標(biāo)檢測(cè)和計(jì)數(shù)的系統(tǒng),并給出了MATLAB仿真結(jié)果,驗(yàn)證了此方法的有效性。
1.6 開(kāi)發(fā)工具及運(yùn)行環(huán)境
合理選取開(kāi)發(fā)工具,不僅會(huì)對(duì)系統(tǒng)的研究與開(kāi)發(fā)產(chǎn)生重大影響,而且還有可能大幅度降低開(kāi)發(fā)成本,并提高系統(tǒng)的穩(wěn)定性和可維護(hù)性。視頻車(chē)輛檢測(cè)系統(tǒng)的開(kāi)發(fā)屬于一個(gè)較為復(fù)雜的圖像處理程序。換句話講就是該功能對(duì)穩(wěn)定性、可維護(hù)性有極為嚴(yán)格的要求,為此,本文決定選取MATLAB作為開(kāi)發(fā)工具。軟件環(huán)境:XP/WIN7。
2 軟件介紹
2.1 MATLAB 概況
本次設(shè)計(jì)是基于MATLAB來(lái)實(shí)現(xiàn)的圖像預(yù)處理和邊緣檢測(cè),所以在本節(jié)對(duì)MATLAB的一些基本知識(shí)進(jìn)行介紹。
MATLAB的名字由MATrix和LABoratiry兩個(gè)詞的前3個(gè)字母組合而成,是由MathWorks公司于1982推出的一套高性能的可視化數(shù)值計(jì)算軟件。它的典型應(yīng)用包括如下方面:數(shù)學(xué)和計(jì)算,數(shù)據(jù)獲取,算法開(kāi)發(fā),原型設(shè)計(jì)、建模和模擬,數(shù)據(jù)研究、分析和可視化,科學(xué)和工程圖形,應(yīng)用開(kāi)發(fā)。MATLAB是一種交互式系統(tǒng),其基本數(shù)據(jù)元素是并不要求確定維數(shù)的一個(gè)數(shù)組,這就允許人們用公式化方法求解許多技術(shù)計(jì)算問(wèn)題,特別是涉及矩陣表示的問(wèn)題。因此在矩陣運(yùn)算和數(shù)值計(jì)算等方面MATLAB非常直觀、簡(jiǎn)潔,且效率高,因而它在科學(xué)與工程計(jì)算方面的優(yōu)勢(shì)是顯而易見(jiàn)的。
MATLAB有三大特點(diǎn):一是功能強(qiáng)大(數(shù)值計(jì)算和符號(hào)計(jì)算、計(jì)算結(jié)果和編程的可視化、數(shù)學(xué)和文字統(tǒng)一處理、離線和在線計(jì)算);二是界面友好、語(yǔ)言自然(以復(fù)數(shù)矩陣為計(jì)算單元,語(yǔ)句表達(dá)與標(biāo)準(zhǔn)教科書(shū)的數(shù)學(xué)表達(dá)式相近);三是開(kāi)放性強(qiáng)(僅MathWorks公司本身就推出了30多個(gè)應(yīng)用工具箱)。MATLAB的這些特點(diǎn)使它獲得了對(duì)應(yīng)用學(xué)科的極強(qiáng)適應(yīng)力,并很快成為應(yīng)用學(xué)科計(jì)算機(jī)輔助分析、設(shè)計(jì)、仿真、教學(xué)以及科技文字處理不可缺少的基礎(chǔ)軟件。現(xiàn)有的MATLAB工具箱主要有信號(hào)處理、控制系統(tǒng)、圖像處理、魯棒控制、非線性系統(tǒng)控制設(shè)計(jì)、系統(tǒng)辨識(shí)、最優(yōu)化、弘分析和綜合、模糊邏輯、小波、樣條、通信、統(tǒng)計(jì)等工具箱,而且其種類(lèi)和數(shù)量還在不斷增加。這些工具箱給各個(gè)領(lǐng)域的研究和工程應(yīng)用提供了有力的工具,借助于這些工具,研究人員可直觀、方便地進(jìn)行分析、計(jì)算及設(shè)計(jì)工作,從而大大節(jié)省了時(shí)間。
MATLAB在圖像處理領(lǐng)域應(yīng)用廣泛。MATLAB的圖像處理工具包是由一系列支持圖像處理操作的函數(shù)組成的。所支持的圖像處理操作有:圖像的幾何操作、鄰域和區(qū)域操作、圖像變換、圖像恢復(fù)與增強(qiáng)、線性濾波和濾波器設(shè)計(jì)、變換(DCT變換等) 、圖像分析和統(tǒng)計(jì)、二值圖像操作等。下面就MATLAB 在圖像處理中各方面的應(yīng)用分別進(jìn)行介紹。
圖像文件格式的讀寫(xiě)和顯示。MATLAB 提供了圖像文件讀入函數(shù) imread(),用來(lái)讀取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式圖像文件;圖像寫(xiě)出函數(shù) imwrite() ,還有圖像顯示函數(shù) image()、imshow()等等。
圖像處理的基本運(yùn)算。MATLAB 提供了圖像的和、差等線性運(yùn)算 ,以及卷積、相關(guān)、濾波等非線性運(yùn)算。例如,conv2(I,J)實(shí)現(xiàn)了I,J兩幅圖像的卷積。
圖像變換。MATLAB 提供了一維和二維離散傅立葉變換(DFT) 、快速傅立葉變換(FFT) 、離散余弦變換 (DCT) 及其反變換函數(shù),以及連續(xù)小波變換(CWT)、離散小波變換(DWT)及其反變換。
圖像的分析和增強(qiáng)。針對(duì)圖像的統(tǒng)計(jì)計(jì)算,MATLAB 提供了校正、直方圖均衡、中值濾波、對(duì)比度調(diào)整、均值濾波等對(duì)圖像進(jìn)行處理。
以上所提到的 MATLAB在圖像中的應(yīng)用都是由相應(yīng)的MATLAB函數(shù)來(lái)實(shí)現(xiàn)的,使用時(shí),只需按照函數(shù)的調(diào)用語(yǔ)法正確輸入?yún)?shù)即可。具體的用法可參考MATLAB豐富的幫助文檔。圖像邊緣對(duì)圖像識(shí)別和計(jì)算機(jī)分析十分有用,在MATLAB中,函數(shù) edge()用于灰度圖像邊緣的提取,它支持六種不同的邊緣提取方法,即Sobel方法、Prewitt 方法、Robert 方法,Laplacian方法、和Canny方法。
2.2 MATLAB的語(yǔ)言特點(diǎn)
一種語(yǔ)言之所以能如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語(yǔ)言的特點(diǎn),正如同F(xiàn)ORTRAN和C等高級(jí)語(yǔ)言使人們擺脫了需要直接對(duì)計(jì)算機(jī)硬件資源進(jìn)行操作一樣,被稱(chēng)作為第四代計(jì)算機(jī)語(yǔ)言的MATLAB,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來(lái)。MATLAB最突出的特點(diǎn)就是簡(jiǎn)潔。MATLAB用更直觀的,符合人們思維習(xí)慣的代碼,代替了C和 FORTRAN語(yǔ)言的冗長(zhǎng)代碼。MATLAB給用戶帶來(lái)的是最直觀,最簡(jiǎn)潔的程序開(kāi)發(fā)環(huán)境。以下簡(jiǎn)單介紹一下MATLAB的主要特點(diǎn)。
語(yǔ)言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富。MATLAB程序書(shū)寫(xiě)形式自由,利用起豐富的庫(kù)函數(shù)避開(kāi)繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫(kù)函數(shù)都由本領(lǐng)域的專(zhuān)家編寫(xiě),用戶不必?fù)?dān)心函數(shù)的可靠性。可以說(shuō),用MATLAB進(jìn)行科技開(kāi)發(fā)是站在專(zhuān)家的肩膀上。
具有FORTRAN和C等高級(jí)語(yǔ)言知識(shí)的讀者可能已經(jīng)注意到,如果用FORTRAN或C語(yǔ)言去編寫(xiě)程序,尤其當(dāng)涉及矩陣運(yùn)算和畫(huà)圖時(shí),編程會(huì)很麻煩。例如,如果用戶想求解一個(gè)線性代數(shù)方程,就得編寫(xiě)一個(gè)程序塊讀入數(shù)據(jù),然后再使用一種求解線性方程的算法(例如追趕法)編寫(xiě)一個(gè)程序塊來(lái)求解方程,最后再輸出計(jì)算結(jié)果。在求解過(guò)程中,最麻煩的要算第二部分。解線性方程的麻煩在于要對(duì)矩陣的元素作循環(huán),選擇穩(wěn)定的算法以及代碼的調(diào)試動(dòng)不容易。即使有部分源代碼,用戶也會(huì)感到麻煩,且不能保證運(yùn)算的穩(wěn)定性。解線性方程的程序用FORTRAN和C這樣的高級(jí)語(yǔ)言編寫(xiě),至少需要四百多行,調(diào)試這種幾百行的計(jì)算程序可以說(shuō)很困難。以下用MATLAB編寫(xiě)以上兩個(gè)小程序的具體過(guò)程。
MATLAB求解下列方程,并求解矩陣A的特征值。
Ax=b,其中:
A= 32 13 45 67
23 79 85 12
43 23 54 65
98 34 71 35
b= 1
2
3
4
解為:x=A\b;設(shè)A的特征值組成的向量e,e=eig(A)。
可見(jiàn),MATLAB的程序極其簡(jiǎn)短。更為難能可貴的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB會(huì)根據(jù)矩陣的特性選擇方程的求解方法,所以用戶根本不用懷疑MATLAB的準(zhǔn)確性。
運(yùn)算符豐富。由于MATLAB是用C語(yǔ)言編寫(xiě)的,MATLAB提供了和C語(yǔ)言幾乎一樣多的運(yùn)算符,靈活使用MATLAB的運(yùn)算符將使程序變得極為簡(jiǎn)短。
MATLAB既具有結(jié)構(gòu)化的控制語(yǔ)句(如for循環(huán),while循環(huán),break語(yǔ)句和if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦浴?
程序限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLAB里,用戶無(wú)需對(duì)矩陣預(yù)定義就可使用。
程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。
MATLAB的圖形功能強(qiáng)大。在FORTRAN和C語(yǔ)言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡(jiǎn)單。MATLAB還具有較強(qiáng)的編輯圖形界面的能力。
MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。
功能強(qiáng)大的工具箱是MATLAB的另一特色。MATLAB包含兩個(gè)部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù)。其工具箱又分為兩類(lèi):功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來(lái)擴(kuò)充其符號(hào)計(jì)算功能,圖示建模仿真功能,文字處理功能以及與硬件實(shí)時(shí)交互功能。功能性工具箱用于多種學(xué)科。而學(xué)科性工具箱是專(zhuān)業(yè)性比較強(qiáng)的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)學(xué)術(shù)水平很高的專(zhuān)家編寫(xiě)的,所以用戶無(wú)需編寫(xiě)自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高,精,尖的研究。
源程序的開(kāi)放性。開(kāi)放性也許是MATLAB最受人們歡迎的特點(diǎn)。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過(guò)對(duì)源文件的修改以及加入自己的文件構(gòu)成新的工具箱。
2.3 基本運(yùn)算與函數(shù)
在MATLAB下進(jìn)行基本數(shù)學(xué)運(yùn)算,只需將運(yùn)算式直接打入提示號(hào)(>>)之後,并按入Enter鍵即可。例如:
>> (5*2+1.3-0.8)*10/25
ans =4.2000
MATLAB會(huì)將運(yùn)算結(jié)果直接存入一變數(shù)ans,代表MATLAB運(yùn)算後的答案(Answer)并顯示其數(shù)值於螢?zāi)簧稀?
小提示: ">>"是MATLAB的提示符號(hào)(Prompt),但在PC中文視窗系統(tǒng)下,由於編碼方式不同,此提示符號(hào)常會(huì)消失不見(jiàn),但這并不會(huì)影響到MATLAB的運(yùn)算結(jié)果。
我們也可將上述運(yùn)算式的結(jié)果設(shè)定給另一個(gè)變數(shù)x:
x = (5*2+1.3-0.8)*10^2/25
x = 42
此時(shí)MATLAB會(huì)直接顯示x的值。由上例可知,MATLAB認(rèn)識(shí)所有一般常用到的加(+)、減(-)、乘(*)、除(/)的數(shù)學(xué)運(yùn)算符號(hào),以及冪次運(yùn)算(^)。
小提示: MATLAB將所有變數(shù)均存成double的形式,所以不需經(jīng)過(guò)變數(shù)宣告(Variable declaration)。MATLAB同時(shí)也會(huì)自動(dòng)進(jìn)行記憶體的使用和回收,而不必像C語(yǔ)言,必須由使用者一一指定.這些功能使的MATLAB易學(xué)易用,使用者可專(zhuān)心致力於撰寫(xiě)程式,而不必被軟體枝節(jié)問(wèn)題所干擾。
若不想讓MATLAB每次都顯示運(yùn)算結(jié)果,只需在運(yùn)算式最後加上分號(hào)(;)即可,如下例:
y = sin(10)*exp(-0.3*4^2);
若要顯示變數(shù)y的值,直接鍵入y即可:
>>y
y =-0.0045
在上例中,sin是正弦函數(shù),exp是指數(shù)函數(shù),這些都是MATLAB常用到的數(shù)學(xué)函數(shù)。
下表即為MATLAB常用的基本數(shù)學(xué)函數(shù)及三角函數(shù):
小整理:MATLAB常用的基本數(shù)學(xué)函數(shù)
abs(x):純量的絕對(duì)值或向量的長(zhǎng)度
angle(z):復(fù) 數(shù)z的相角(Phase angle)
sqrt(x):開(kāi)平方
real(z):復(fù)數(shù)z的實(shí)部
imag(z):復(fù)數(shù)z的虛 部
conj(z):復(fù)數(shù)z的共軛復(fù)數(shù)
round(x):四舍五入至最近整數(shù)
fix(x):無(wú)論正負(fù),舍去小數(shù)至最近整數(shù)
floor(x):地板函數(shù),即舍去正小數(shù)至最近整數(shù)
ceil(x):天花板函數(shù),即加入正小數(shù)至最近整數(shù)
rat(x):將實(shí)數(shù)x化為分?jǐn)?shù)表示
rats(x):將實(shí)數(shù)x化為多項(xiàng)分?jǐn)?shù)展開(kāi)
sign(x):符號(hào)函數(shù) (Signum function)。
當(dāng)x<0時(shí),sign(x)=-1;
當(dāng)x=0時(shí),sign(x)=0;
當(dāng)x>0時(shí),sign(x)=1。
> 小整理:MATLAB常用的三角函數(shù)
sin(x):正弦函數(shù)
cos(x):馀弦函數(shù)
tan(x):正切函數(shù)
asin(x):反正弦函數(shù)
acos(x):反馀弦函數(shù)
atan(x):反正切函數(shù)
atan2(x,y):四象限的反正切函數(shù)
sinh(x):超越正弦函數(shù)
cosh(x):超越馀弦函數(shù)
tanh(x):超越正切函數(shù)
asinh(x):反超越正弦函數(shù)
acosh(x):反超越馀弦函數(shù)
atanh(x):反超越正切函數(shù)
變數(shù)也可用來(lái)存放向量或矩陣,并進(jìn)行各種運(yùn)算,如下例的列向量(Row vector)運(yùn)算:
x = [1 3 5 2];
y = 2*x+1
y = 3 7 11 5
小提示:變數(shù)命名的規(guī)則
1.第一個(gè)字母必須是英文字母 2.字母間不可留空格 3.最多只能有19個(gè)字母,MATLAB會(huì)忽略多馀字母
我們可以隨意更改、增加或刪除向量的元素:
y(3) = 2 % 更改第三個(gè)元素
y =3 7 2 5
y(6) = 10 % 加入第六個(gè)元素
y = 3 7 2 5 0 10
y(4) = [] % 刪除第四個(gè)元素,
y = 3 7 2 0 10
在上例中,MATLAB會(huì)忽略所有在百分比符號(hào)(%)之後的文字,因此百分比之後的文字均可視為程式的注解(Comments)。MATLAB亦可取出向量的一個(gè)元素或一部份來(lái)做運(yùn)算:
x(2)*3+y(4) % 取出x的第二個(gè)元素和y的第四個(gè)元素來(lái)做運(yùn)算
ans = 9
y(2:4)-1 % 取出y的第二至第四個(gè)元素來(lái)做運(yùn)算
ans = 6 1 -1
在上例中,2:4代表一個(gè)由2、3、4組成的向量
若對(duì)MATLAB函數(shù)用法有疑問(wèn),可隨時(shí)使用help來(lái)尋求線上支援(on-line help):help linspace
小整理:MATLAB的查詢命令
help:用來(lái)查詢已知命令的用法。例如已知inv是用來(lái)計(jì)算反矩陣,鍵入help inv即可得知有關(guān)inv命令的用法。(鍵入help help則顯示help的用法,請(qǐng)?jiān)嚳纯矗。?lookfor:用來(lái)尋找未知的命令。例如要尋找計(jì)算反矩陣的命令,可鍵入 lookfor inverse,MATLAB即會(huì)列出所有和關(guān)鍵字inverse相關(guān)的指令。找到所需的命令後 ,即可用help進(jìn)一步找出其用法。(lookfor事實(shí)上是對(duì)所有在搜尋路徑下的M檔案進(jìn)行關(guān)鍵字對(duì)第一注解行的比對(duì),詳見(jiàn)後敘。)
將列向量轉(zhuǎn)置(Transpose)後,即可得到行向量(Column vector):
z = x'
z = 4.0000
5.2000
6.4000
7.6000
8.8000
10.0000
不論是行向量或列向量,我們均可用相同的函數(shù)找出其元素個(gè)數(shù)、最大值、最小值等:
length(z) % z的元素個(gè)數(shù)
ans = 6
max(z) % z的最大值
ans = 10
min(z) % z的最小值
ans = 4
小整理:適用於向量的常用函數(shù)有:
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位數(shù)
std(x): 向量x的元素的標(biāo)準(zhǔn)差
diff(x): 向量x的相鄰元素的差
sort(x): 對(duì)向量x的元素進(jìn)行排序(Sorting)
length(x): 向量x的元素個(gè)數(shù)
norm(x): 向量x的歐氏(Euclidean)長(zhǎng)度
sum(x): 向量x的元素總和
prod(x): 向量x的元素總乘積
cumsum(x): 向量x的累計(jì)元素總和
cumprod(x): 向量x的累計(jì)元素總乘積
dot(x, y): 向量x和y的內(nèi) 積
cross(x, y): 向量x和y的外積 (大部份的向量函數(shù)也可適用於矩陣,詳見(jiàn)下述。)
若要輸入矩陣,則必須在每一列結(jié)尾加上分號(hào)(;),如下例:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
A =
1 2 3 4
5 6 7 8
9 10 11 12
同樣地,我們可以對(duì)矩陣進(jìn)行各種處理:
A(2,3) = 5 % 改變位於第二列,第三行的元素值
A =
1 2 3 4
5 6 5 8
9 10 11 12
B = A(2,1:3) % 取出部份矩陣B
B = 5 6 5
A = [A B'] % 將B轉(zhuǎn)置後以行向量并入A
A =
1 2 3 4 5
5 6 5 8 6
9 10 11 12 5
A(:, 2) = [] % 刪除第二行(:代表所有列)
A =
1 3 4 5
5 5 8 6
9 11 12 5
A = [A; 4 3 2 1] % 加入第四列
A =
1 3 4 5
5 5 8 6
9 11 12 5
4 3 2 1
A([1 4], :) = [] % 刪除第一和第四列(:代表所有行)
A =
5 5 8 6
9 11 12 5
這幾種矩陣處理的方式可以相互疊代運(yùn)用,產(chǎn)生各種意想不到的效果,就看各位的巧思和創(chuàng)意。
小提示:在MATLAB的內(nèi)部資料結(jié)構(gòu)中,每一個(gè)矩陣都是一個(gè)以行為主(Column-oriented )的陣列(Array)因此對(duì)於矩陣元素的存取,我們可用一維或二維的索引(Index)來(lái)定址。舉例來(lái)說(shuō),在上述矩陣A中,位於第二列、第三行的元素可寫(xiě)為A(2,3) (二維索引)或A(6)(一維索引,即將所有直行進(jìn)行堆疊後的第六個(gè)元素)。
此外,若要重新安排矩陣的形狀,可用reshape命令:
B = reshape(A, 4, 2) % 4是新矩陣的列數(shù),2是新矩陣的行數(shù)
B =
5 8
9 12
5 6
11 5
小提示: A(:)就是將矩陣A每一列堆疊起來(lái),成為一個(gè)行向量,而這也是MATLAB變數(shù)的內(nèi)部?jī)?chǔ)存方式。以前例而言,reshape(A, 8, 1)和A(:)同樣都會(huì)產(chǎn)生一個(gè)8x1的矩陣。
MATLAB可在同時(shí)執(zhí)行數(shù)個(gè)命令,只要以逗號(hào)或分號(hào)將命令隔開(kāi):
x = sin(pi/3); y = x^2; z = y*10,
z =
7.5000
若一個(gè)數(shù)學(xué)運(yùn)算是太長(zhǎng),可用三個(gè)句點(diǎn)將其延伸到下一行:
z = 10*sin(pi/3)* ...
sin(pi/3);
若要檢視現(xiàn)存於工作空間(Workspace)的變數(shù),可鍵入who:
who
Your variables are:
testfile x
這些是由使用者定義的變數(shù)。若要知道這些變數(shù)的詳細(xì)資料,可鍵入:
whos
Name Size Bytes Class
A 2x4 64 double array
B 4x2 64 double array
ans 1x1 8 double array
x 1x1 8 double array
y 1x1 8 double array
z 1x1 8 double array
Grand total is 20 elements using 160 bytes
使用clear可以刪除工作空間的變數(shù):
clear A
A
??? Undefined function or variable 'A'.
另外MATLAB有些永久常數(shù)(Permanent constants),雖然在工作空間中看不 到,但使用者可直接取用,例如:
pi
ans = 3.1416
下表即為MATLAB常用到的永久常數(shù)。
小整理:MATLAB的永久常數(shù) i或j:基本虛數(shù)單位
eps:系統(tǒng)的浮點(diǎn)(Floating-point)精確度
inf:無(wú)限大, 例如1/0 nan或NaN:非數(shù)值(Not a number) ,例如0/0
pi:圓周率 p(= 3.1415926...)
realmax:系統(tǒng)所能表示的最大數(shù)值
realmin:系統(tǒng)所能表示的最小數(shù)值
nargin: 函數(shù)的輸入引數(shù)個(gè)數(shù)
nargin: 函數(shù)的輸出引數(shù)個(gè)數(shù)
因此本文是基于MATLAB實(shí)現(xiàn)車(chē)輛檢測(cè)。
13
3 基于視頻的車(chē)輛檢測(cè)方法
利用視頻圖像處理的方法進(jìn)行車(chē)輛檢測(cè),就是通過(guò)對(duì)圖像中特定區(qū)域像素灰度值變化的分析,來(lái)判斷當(dāng)前是否有車(chē)輛通過(guò)。車(chē)輛檢測(cè)是交通流參數(shù)采集中關(guān)鍵的一步,其精度直接影響著車(chē)速等參數(shù)的精準(zhǔn)度。
車(chē)輛檢測(cè)的目的判斷是否有車(chē)經(jīng)過(guò)檢測(cè)區(qū),并建立一個(gè)與之對(duì)應(yīng)的跟蹤對(duì)象,主要提供車(chē)流量等信息。減少車(chē)輛檢測(cè)算法的復(fù)雜度和提高實(shí)時(shí)性是一對(duì)矛盾,解決這對(duì)矛盾對(duì)提高系統(tǒng)檢測(cè)穩(wěn)定度和準(zhǔn)確度較為關(guān)鍵,可實(shí)際光照的變化、背景運(yùn)動(dòng)的模糊、運(yùn)動(dòng)目標(biāo)的虛假影像、攝像機(jī)的抖動(dòng)以及運(yùn)動(dòng)目標(biāo)的遮擋現(xiàn)象等,都會(huì)影響車(chē)輛檢測(cè)和分割的精度,必須在算法中考慮這些影響因素以及去除方法。
3.1 基于視頻的車(chē)輛檢測(cè)方法
基于視頻圖像的檢測(cè)方法主要有基于幀間差分的方法、基于光流場(chǎng)的方法、基于背景差的方法等。
3.1.1 基于幀間差分的方法
幀間差分法是基于視頻圖像中,相鄰兩幀圖像間具有強(qiáng)相關(guān)性而提出的檢測(cè)方法。
這種檢測(cè)方法對(duì)光線等場(chǎng)景不敏感,能夠適用于動(dòng)態(tài)變化的環(huán)境,而且算法實(shí)現(xiàn)簡(jiǎn)單,檢測(cè)速度快,定位準(zhǔn)確,適用于快速提取運(yùn)動(dòng)目標(biāo)的環(huán)境。它存在以下幾個(gè)缺點(diǎn):一是不能檢測(cè)出靜止或運(yùn)動(dòng)速度過(guò)慢的目標(biāo),對(duì)于高速運(yùn)動(dòng)的目標(biāo)又會(huì)使得分割區(qū)域遠(yuǎn)遠(yuǎn)大于真實(shí)目標(biāo),其分割區(qū)域與目標(biāo)運(yùn)動(dòng)速度相關(guān);二是若目標(biāo)內(nèi)部的灰度較均勻,相鄰幀差可能在目標(biāo)重疊部分形成較大空洞,嚴(yán)重時(shí)造成分割不連通,不利于進(jìn)一步的目標(biāo)分析與識(shí)別。
在現(xiàn)實(shí)應(yīng)用中,幀間差分法是許多復(fù)雜檢測(cè)算法的基礎(chǔ),通過(guò)改進(jìn)算法將它與其它算法結(jié)合以提高檢測(cè)效果。
3.1.2 基于光流場(chǎng)的方法
光流場(chǎng)法的基本思想:運(yùn)動(dòng)在空間中可以用運(yùn)動(dòng)場(chǎng)描述,而圖像平面上物體的運(yùn)動(dòng)是通過(guò)圖像序列中灰度分布的不同體現(xiàn)的,從而,空間的運(yùn)動(dòng)場(chǎng)轉(zhuǎn)移到圖像上就為光流場(chǎng)(Optical Flow Field)。光流場(chǎng)反映了圖像上每一點(diǎn)灰度的變化趨勢(shì),可視為灰度像素點(diǎn)在圖像平面上運(yùn)動(dòng)產(chǎn)生的瞬時(shí)速度場(chǎng),為一種對(duì)真實(shí)運(yùn)動(dòng)場(chǎng)的近似估計(jì)[6]。
在理想的情況下,它能檢測(cè)出獨(dú)立運(yùn)動(dòng)對(duì)象,不需預(yù)先知道場(chǎng)景信息,能夠精確地計(jì)算出運(yùn)動(dòng)目標(biāo)速度,且用于攝像機(jī)運(yùn)動(dòng)情況。但光流法有以下缺點(diǎn):有時(shí)即使沒(méi)發(fā)生運(yùn)動(dòng),外部照明發(fā)生變化也可觀測(cè)到光流;另外,缺乏明顯的灰度階躍變化區(qū)域時(shí),運(yùn)動(dòng)往往觀測(cè)不到。三維物體的運(yùn)動(dòng)投影到二維圖像的亮度變化,是因?yàn)椴糠中畔G失而使光流法存在孔徑和遮擋問(wèn)題,光流法估算二維運(yùn)動(dòng)場(chǎng)是不確定的,需要附加的假設(shè)模型來(lái)模擬二維運(yùn)動(dòng)場(chǎng)的結(jié)構(gòu);準(zhǔn)確分割時(shí)光流法還需利用顏色、灰度、邊緣等空域特征,從而提高分割精度;同時(shí)因光流法采用迭代的方法,計(jì)算復(fù)雜度高,若沒(méi)有特殊的硬件支持,視頻序列的實(shí)時(shí)檢測(cè)很難達(dá)到。
I
3.1.3 基于背景差的方法
背景差法[7]首先選取背景中的一幅或幾幅影像的平均作為背景影像,再把以后的序列影像當(dāng)前幀與背景影像相減,進(jìn)行背景消去。如果所得到的像素?cái)?shù)大于某一閾值,則判定被監(jiān)視場(chǎng)景中有運(yùn)動(dòng)目標(biāo),獲取運(yùn)動(dòng)目標(biāo)。
這種方法在復(fù)雜背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)效果較好,一般能提供最完整的特征數(shù)據(jù),計(jì)算量小,實(shí)用價(jià)值大。但受光線、天氣等條件影響較大。
背景差分法是運(yùn)動(dòng)分割中常用的一種方法,應(yīng)用中,需采用算法進(jìn)行背景模型的動(dòng)態(tài)更新。目前研究人員大都致力于如何實(shí)現(xiàn)背景圖像的建模和自適應(yīng)更新,使背景可以不斷接近理想狀態(tài),對(duì)視頻圖像檢測(cè)分割的減少影響。
背景建模,是通過(guò)序列影像的幀間估計(jì)和恢復(fù)背景。對(duì)于背景建模問(wèn)題,常用的方法主要有:基于統(tǒng)計(jì)的背景模型、基于高斯分布的背景模型、基于卡爾曼濾波的背景模型等。
基于統(tǒng)計(jì)的背景模型最簡(jiǎn)便和直觀的方法就是選擇均值函數(shù)作為更新函數(shù),叫做“序列均值法”[8],此方法適用于背景大部分時(shí)間可見(jiàn)、運(yùn)動(dòng)物體數(shù)量少的情況。“序列眾數(shù)法”[9]是統(tǒng)計(jì)學(xué)模型算法中最精確的一種,但要對(duì)元素排序,計(jì)算量和所需要存儲(chǔ)空間都很大,且有很大的值才得到統(tǒng)計(jì)意義上的概率分布,所以更新圖像時(shí)間也較慢。
基于卡爾曼濾波的背景模型,跟蹤運(yùn)動(dòng)目標(biāo)有很好的效果,但計(jì)算量大,處理速度慢。
基于高斯分布的背景模型能適應(yīng)光線變化,而且可處理多模型分布,對(duì)慢移動(dòng)目標(biāo)(如樹(shù)枝的搖擺等)具有很好的魯棒性。但是對(duì)每點(diǎn)都用一個(gè)模型來(lái)描述,計(jì)算量大,且存儲(chǔ)參數(shù)多,所以還要不斷改進(jìn)。
3.2 車(chē)輛陰影分割技術(shù)
通過(guò)前面的檢測(cè)方法,在檢測(cè)出的圖像中多多少少存在陰影的干擾,當(dāng)陰影面積較大時(shí)還會(huì)覆蓋鄰近的車(chē)輛,致使算法誤將多個(gè)車(chē)輛檢測(cè)為一個(gè)車(chē)輛,對(duì)后期識(shí)別造成困難,所以在圖像檢測(cè)中必須考慮陰影的消除方法。
在眾多文獻(xiàn)中有關(guān)于陰影檢測(cè)的文章和著作。根據(jù)檢測(cè)算法采用的特征,大致分五類(lèi):顏色恒常性的方法、確定性模型法和確定性非模型法、統(tǒng)計(jì)參數(shù)和非參數(shù)法等。
以上這些方法各有利弊,要針對(duì)不同的應(yīng)用環(huán)境選擇不同的方法來(lái)滿足不同的要求。如基于顏色恒常性的方法適合于全局陰影的分割,基于顏色空間模型的方法對(duì)噪聲有較好的穩(wěn)健性,它和統(tǒng)計(jì)非參數(shù)方法都能處理不同大小和強(qiáng)度的陰影,但顏色空間模型的處理效果較好,統(tǒng)計(jì)非參數(shù)方法的處理速度相對(duì)較快;確定性模型方法能應(yīng)用于特殊環(huán)境,假設(shè)越多產(chǎn)生效果越好;統(tǒng)計(jì)方法較適合于室內(nèi)環(huán)境,因?yàn)閳?chǎng)景是恒定的并且統(tǒng)計(jì)描述非常有效。
4 車(chē)輛目標(biāo)的圖像處理方法
車(chē)輛檢測(cè)是運(yùn)動(dòng)目標(biāo)檢測(cè)的一個(gè)實(shí)例,本章在介紹運(yùn)動(dòng)目標(biāo)檢測(cè)共性問(wèn)題的同時(shí),指出車(chē)輛檢測(cè)的特性,為后面的分析做鋪墊,運(yùn)動(dòng)目標(biāo)檢測(cè)中,感興趣的只是運(yùn)動(dòng)目標(biāo),就是運(yùn)動(dòng)的車(chē)輛。視頻車(chē)輛檢測(cè)研究的是視頻圖像,也就是利用攝像機(jī)采集的圖像序列。不同時(shí)刻此序列的兩幀或多幀圖像包含了物之間的相對(duì)運(yùn)動(dòng)信息,這些信息是圖像幀之間的灰度變化以及如點(diǎn)、線段、運(yùn)動(dòng)區(qū)域等研究對(duì)象的位置和運(yùn)動(dòng)方向、速度等變化。
視頻圖像處理的特點(diǎn)是計(jì)算量大,若使用圖像幀大小為240X320像素,幀速率為25幀/秒,圖像格式為RGB格式,每個(gè)像素為24位即3個(gè)byte表示,則每秒的圖像為5.76MB。在檢測(cè)中假如采用很多邊緣檢測(cè)、濾波等基于圖像區(qū)域的算法,計(jì)算量相當(dāng)大,對(duì)每幀的整幅圖像處理難達(dá)到實(shí)時(shí)性。根據(jù)車(chē)輛檢測(cè)的特點(diǎn),本文主要研究了以下一些圖像處理技術(shù):邊緣檢測(cè)、數(shù)學(xué)形態(tài)學(xué)等。下面對(duì)此做簡(jiǎn)要分析和介紹。
4.1 彩色圖像灰度化
將彩色圖像轉(zhuǎn)換為灰度圖像的過(guò)程稱(chēng)為圖像的灰度化處理。彩色圖像中每個(gè)像素的顏色有R、G、B三分量決定,而每分量有255個(gè)值可取,這樣一個(gè)像素有1600多萬(wàn)(255*255*255)的顏色變化范圍。而灰度圖像是R、G、B三個(gè)分量相同的一種特殊的彩色圖像,其中一個(gè)像素的變化范圍為255個(gè),因此在數(shù)字圖像處理中一般先將各種格式的圖像轉(zhuǎn)化為灰度圖像,使后續(xù)的圖像的計(jì)算量小一些。灰度圖像的描述與彩色圖像一樣反映了整幅圖像的整體和局部的色度和亮度等級(jí)的分布和特征[2]。
圖4.1 RGB顏色模型
彩色圖像雖然含有大量的顏色信息,但是并不適合直接對(duì)其進(jìn)行操作,而是應(yīng)該將其灰度化,轉(zhuǎn)換成灰度圖像。色彩轉(zhuǎn)換公式如公式4.1所示。
(4.1)
將顏色灰度化后的信息,足以滿足我們后續(xù)圖像處理和模式識(shí)別的要求,并且,存儲(chǔ)開(kāi)銷(xiāo)和處理代價(jià)大大降低。經(jīng)灰度化的圖像如圖4.2所示
(a)原始圖像 (b)灰度圖像
(c)原始圖像 (
收藏
編號(hào):30560954
類(lèi)型:共享資源
大?。?span id="dcikikx" class="font-tahoma">1.13MB
格式:RAR
上傳時(shí)間:2021-10-10
20
積分
- 關(guān) 鍵 詞:
-
基于
視頻
車(chē)輛
檢測(cè)
系統(tǒng)
- 資源描述:
-
基于視頻的車(chē)輛檢測(cè)系統(tǒng),基于,視頻,車(chē)輛,檢測(cè),系統(tǒng)
展開(kāi)閱讀全文
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書(shū)面授權(quán),請(qǐng)勿作他用。