??? 摘 要: 通過(guò)對(duì)圖像中的斑塊進(jìn)行分析,,獲得斑塊在圖像中的信息,,由非線性校正算法將其恢復(fù)為實(shí)際道路中信息,。依據(jù)一定的條件將斑塊聚合為車(chē)輛以提取車(chē)輛信息,進(jìn)而判斷是否有車(chē)輛隊(duì)列,,得到較為準(zhǔn)確的車(chē)流長(zhǎng)度" title="車(chē)流長(zhǎng)度">車(chē)流長(zhǎng)度,。實(shí)驗(yàn)結(jié)果表明,該檢測(cè)算法有較高的準(zhǔn)確性,,且能滿(mǎn)足監(jiān)控的實(shí)時(shí)性,。
??? 關(guān)鍵詞: 車(chē)流長(zhǎng)度,斑塊處理" title="斑塊處理">斑塊處理,車(chē)輛聚合,非線性形變
?
??? 近年來(lái),隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展和高分辨率成像技術(shù)的運(yùn)用,,數(shù)字圖像處理分析技術(shù)在車(chē)輛自動(dòng)監(jiān)視系統(tǒng)中的應(yīng)用越來(lái)越廣泛,。道路上車(chē)輛運(yùn)行狀況與車(chē)流長(zhǎng)度的實(shí)時(shí)檢測(cè)是智能交通管理的重要功能之一,。參考文獻(xiàn)[1]中提出了基于FFT的隊(duì)列檢測(cè)方法,根據(jù)圖像上檢測(cè)區(qū)域內(nèi)有車(chē)與無(wú)車(chē)對(duì)應(yīng)頻譜的不同,,檢測(cè)車(chē)道上是否存在車(chē)輛,,但該算法不能定量地給出車(chē)輛的排隊(duì)長(zhǎng)度。參考文獻(xiàn)[2]中利用圖像的點(diǎn)特征與線特征來(lái)檢測(cè)隊(duì)列的長(zhǎng)度,,當(dāng)圖像中存在陰影或遮擋時(shí),,角點(diǎn)檢測(cè)的魯棒性不夠。本文通過(guò)對(duì)單目圖像序列的斑塊分析,、圖像非線性形變" title="非線性形變">非線性形變校正等,,提出了一種有效的車(chē)輛排隊(duì)長(zhǎng)度檢測(cè)算法。該算法具有較高的檢測(cè)精度與較強(qiáng)的魯棒性,。
1 系統(tǒng)概述
??? 在視頻監(jiān)控系統(tǒng)中,,由攝像機(jī)獲取交通視頻圖像,通過(guò)前景與背景作差法可將運(yùn)動(dòng)目標(biāo)從背景中提取出來(lái),;然后經(jīng)過(guò)自適應(yīng)的圖像閾值選擇,,將前景圖像二值化后,可以看到車(chē)輛目標(biāo)以一個(gè)個(gè)連通區(qū)域的形式表現(xiàn)在圖像上,,稱(chēng)這些連通區(qū)域?yàn)榘邏K(Blob),,如圖1所示。
?
??? 從圖1中可以看到,,這些斑塊在分布上并沒(méi)有什么規(guī)律,,非常隨機(jī)地分布在圖像的各個(gè)位置,其中有一些是車(chē)輛前景的斑塊,,另一些則是具有干擾性的噪聲斑點(diǎn),。本文介紹的系統(tǒng)中,利用基本的斑塊分析算法提取目標(biāo)圖像中所有斑塊的基本參數(shù)(包括斑塊的位置信息" title="位置信息">位置信息,、周長(zhǎng)和面積信息,、斑塊的外接矩形的各個(gè)參數(shù)),然后根據(jù)斑塊的大小和位置信息,,濾除噪聲點(diǎn)斑塊,,將屬于同一輛車(chē)的斑塊進(jìn)行聚合,實(shí)現(xiàn)從斑塊到車(chē)輛的提取,。由于排隊(duì)車(chē)輛間的距離是比較小的,,因此利用各車(chē)輛斑塊的位置與距離關(guān)系確定隊(duì)列的起始與終止點(diǎn),從而可確定車(chē)流的長(zhǎng)度或排隊(duì)車(chē)輛數(shù)等信息,。
??? 由于單目攝像機(jī)位置所處的高度和角度的不同會(huì)導(dǎo)致圖像不同程度的非線性形變,,使得圖像中的長(zhǎng)度與位置信息不能正確反映實(shí)際的情況。本文提出基于圖像網(wǎng)格的非線性形變校正算法,對(duì)圖像進(jìn)行形變校正,,以獲得較為準(zhǔn)確的隊(duì)列長(zhǎng)度,。
2 斑塊分析算法
2.1 斑塊邊緣檢測(cè)
??? 由于斑塊在圖像上的分布是雜亂且沒(méi)有規(guī)律的,這對(duì)于斑塊處理程序的魯棒性提出了較高的要求,,尤其是斑塊會(huì)呈現(xiàn)出各種形態(tài),,包括斑塊中間會(huì)有空洞也會(huì)有孤立的點(diǎn)等。因此,,斑塊處理程序必然要求有足夠的適應(yīng)性[3],,能處理各種形狀的斑塊,并記錄它們的信息,。斑塊邊緣檢測(cè)" title="邊緣檢測(cè)">邊緣檢測(cè)的具體步驟如下:
??? (1)保存原圖像
??? 由于在后續(xù)的斑塊操作中,,需要對(duì)找到的斑塊進(jìn)行填充,會(huì)破壞原圖,,所以要將原圖像存入一個(gè)緩沖區(qū),,實(shí)際處理的是原圖像的一個(gè)鏡像。這樣原圖像的斑塊仍可以作為源進(jìn)行后續(xù)跟蹤處理,。
??? (2)尋找斑塊起始點(diǎn)
??? 經(jīng)過(guò)二值化處理后的圖像,,斑塊處的像素點(diǎn)是白色的(像素值為1),其余像素點(diǎn)均為黑色(像素值為0),。從圖像的左下角開(kāi)始,,按自下而上,自左而右的方向進(jìn)行搜索,,當(dāng)遇到第一個(gè)白色的像素點(diǎn)時(shí),,該點(diǎn)就作為第一個(gè)斑塊的邊緣起點(diǎn),并記下該點(diǎn)的坐標(biāo),,且在斑塊計(jì)數(shù)值上加1,。
??? (3)斑塊邊緣信息分析
??? 斑塊邊緣信息分析是指從起始點(diǎn)開(kāi)始搜索斑塊的邊緣,繞邊緣一圈,,將整個(gè)斑塊的邊界信息提取出來(lái),。本文采取順時(shí)針?lè)较虻臋z測(cè)準(zhǔn)則。由于每個(gè)像素點(diǎn)都有八個(gè)相鄰的像素點(diǎn),,根據(jù)該像素點(diǎn)與可能的相鄰點(diǎn)之間的相位關(guān)系確定了八個(gè)不同方向的向量,,如圖2所示,按順時(shí)針?lè)较蛞来嗡阉鬟吔琰c(diǎn),。
?
??? 搜索過(guò)程從確定的起始點(diǎn)開(kāi)始,,首先判斷第一個(gè)方向向量上相鄰點(diǎn)的像素值是否為1,,若是,,則為下一個(gè)邊緣點(diǎn),記下該點(diǎn)的像素坐標(biāo);否則在該方向向量基礎(chǔ)上順轉(zhuǎn)45°,,即檢測(cè)下一方向向量上的相鄰點(diǎn),,直到找到下一個(gè)邊界點(diǎn)。為了提高檢測(cè)的速度,,同時(shí)又要保證檢測(cè)的準(zhǔn)確性,,考慮到有可能存在比較孤立的邊界點(diǎn),將最近找到的邊界點(diǎn)到上一邊界點(diǎn)的方向向量逆轉(zhuǎn)90°,,定為搜索下一邊界點(diǎn)的初始向量(并非每次都從第一方向向量開(kāi)始搜索),。重復(fù)上面的操作,依次尋找像素值為1的下個(gè)邊界點(diǎn),,并保存這些點(diǎn)的像素坐標(biāo),,同時(shí)判斷找到的點(diǎn)是否為初始起點(diǎn),若是,,則表示該斑塊的邊緣檢測(cè)過(guò)程結(jié)束,。圖3為斑塊邊緣檢測(cè)的具體過(guò)程,圖中“1”代表白色像素點(diǎn),,即斑塊所在位置,,其余的為“0”(省略),代表黑色像素點(diǎn),。
??? 根據(jù)斑塊邊緣檢測(cè)過(guò)程中記錄的各邊界點(diǎn)的坐標(biāo)值,,可以得到該斑塊的面積、周長(zhǎng),、中心位置,、外接矩形等信息。
2.2 斑塊填充
??? 斑塊填充就是在起始點(diǎn)的基礎(chǔ)上將整個(gè)斑塊填為黑色,,實(shí)現(xiàn)將斑塊從圖像中移除的效果[4],。由于斑塊的分布極為散亂,對(duì)圖像上所有斑塊進(jìn)行分析時(shí),,需要將已經(jīng)找到且已得到基本信息的斑塊從圖像中除去,,以不影響其他斑塊的分析。因此斑塊填充過(guò)程是不可或缺的一步,。
????考慮到斑塊形狀的復(fù)雜性,,如中空的斑塊中間可能還有小斑塊等,因此不能僅依靠邊界點(diǎn)來(lái)填充,,需要探求其中的每一個(gè)像素點(diǎn),。同時(shí)填充過(guò)程的耗時(shí)在整個(gè)斑塊處理過(guò)程中所占的比重也是最大的,因此斑塊填充算法需要有較高的魯棒性與實(shí)時(shí)性,。本文研究了兩種填充算法:點(diǎn)處理方法與線處理方法,。
??? 點(diǎn)處理就是在斑塊的填充過(guò)程中采用逐點(diǎn)處理的方法,,又稱(chēng)為漫水法。該算法實(shí)現(xiàn)簡(jiǎn)單,,沒(méi)有考慮斑塊內(nèi)部各個(gè)像素點(diǎn)之間的相關(guān)性,,而是孤立地對(duì)各個(gè)像素進(jìn)行測(cè)試,所以實(shí)現(xiàn)起來(lái)比較費(fèi)時(shí),。如果考慮像素點(diǎn)間的相關(guān)性,,在一個(gè)連通的像素段上進(jìn)行掃描,則采用線處理的方法,。即先取出一個(gè)種子像素,,以此為中心向左和向右進(jìn)行填充,直到斑塊的邊界點(diǎn),。線處理的具體實(shí)現(xiàn)過(guò)程如圖4所示,。其步驟如下:
??? (1)將斑塊的第一個(gè)邊界點(diǎn)作為種子像素,將其進(jìn)行填充,。
??? (2)沿線掃描,,對(duì)種子的左、右像素進(jìn)行填充,,直到遇到像素值為0的點(diǎn),,即斑塊的邊界處,記下這個(gè)填充的邊界坐標(biāo)X,。由于斑塊可能是中空的,,所以填充邊界并非斑塊分析階段得到的左右邊界極值Xl或Xr。
??? (3)當(dāng)Xl
??? (4)從堆棧中取種子像素,,重復(fù)(2),、(3)步驟,直到堆棧為空,,整個(gè)斑塊的填充過(guò)程結(jié)束,。
??? 由于考慮了像素點(diǎn)之間的連通性與相關(guān)性,該算法在遞歸和堆棧的深度上遠(yuǎn)遠(yuǎn)低于點(diǎn)處理,,特別是堆棧深度不會(huì)大于三層,,在很大程度上解決了時(shí)間和空間復(fù)雜度的問(wèn)題。實(shí)踐證明,,這種方法可以實(shí)現(xiàn)實(shí)時(shí)的斑塊分析操作,。
??? 經(jīng)斑塊分析算法找到并提取斑塊的邊緣信息,,再由斑塊填充算法將該斑塊從圖像中移去后,在留下的圖像中仍采用自下而上,,自左至右的方向?qū)ふ野咨南袼攸c(diǎn),即搜索新的斑塊,,直到得到所有斑塊的信息,。
2.3 斑塊聚合
??? 經(jīng)過(guò)斑塊邊緣檢測(cè)得到了圖像中單個(gè)斑塊的信息,需要根據(jù)各個(gè)斑塊的特性將屬于同一輛車(chē)的斑塊聚合起來(lái),,實(shí)現(xiàn)對(duì)一輛整車(chē)的信息提取,。根據(jù)聚合后車(chē)輛斑塊的位置信息,將排隊(duì)車(chē)輛進(jìn)一步聚合,,以得到圖像中的隊(duì)列信息,。本文主要依據(jù)斑塊之間的距離與斑塊的面積信息來(lái)判定多個(gè)斑塊目標(biāo)是否屬于同一個(gè)區(qū)域,對(duì)符合條件的斑塊進(jìn)行合并,。
??? 在聚合過(guò)程中,,首先對(duì)搜索區(qū)域內(nèi)的斑塊進(jìn)行初步篩選,將面積小于一定門(mén)限的斑塊置于考慮范圍之外,,從而濾除這些噪聲點(diǎn)斑塊的干擾,,從而在區(qū)域合并過(guò)程中進(jìn)一步剔除了噪聲。區(qū)域合并主要依據(jù)斑塊的中心位置與外接矩形的邊界條件等,,將滿(mǎn)足條件的,、具有相似性的多個(gè)斑塊進(jìn)行聚合。在該過(guò)程中,,不斷將聚合后的斑塊信息來(lái)更新目標(biāo)信息,。
3 非線性校正算法
??? 在斑塊聚合中需要以各斑塊的大小與位置信息為依據(jù),但由于攝像機(jī)所處位置的高度與角度的不同,,會(huì)導(dǎo)致圖像不同程度的非線性形變,,圖像中的斑塊信息不能正確反映實(shí)際的信息,需要由校正算法對(duì)其進(jìn)行參數(shù)恢復(fù)[5],。本文提出一種基于圖像網(wǎng)格的非線性校正算法,。
??? 在所攝取的圖像上建立坐標(biāo)系,規(guī)定圖像的左上角頂點(diǎn)為坐標(biāo)原點(diǎn),。根據(jù)如圖5所示的道路的交通標(biāo)志線設(shè)定圖像中的網(wǎng)格線,,對(duì)應(yīng)到如圖6所示的實(shí)際道路中的網(wǎng)格線和坐標(biāo)系。通過(guò)在圖像上取點(diǎn)獲取像素坐標(biāo)即可以計(jì)算出圖像網(wǎng)格中每條直線的方程,,從而得到各線交點(diǎn)的坐標(biāo),。在實(shí)際道路中,由道路的寬度和交通標(biāo)志線得到實(shí)際網(wǎng)格的交點(diǎn)坐標(biāo),,這兩類(lèi)交點(diǎn)坐標(biāo)有一一對(duì)應(yīng)的關(guān)系,。根據(jù)這些點(diǎn)坐標(biāo)的對(duì)應(yīng),,可以找到一個(gè)函數(shù)關(guān)系來(lái)反映圖像中所有點(diǎn)的坐標(biāo)到實(shí)際坐標(biāo)的映射。
???
??? 由于圖像上不同位置的點(diǎn),,其非線性形變的程度不同,,所有點(diǎn)都對(duì)應(yīng)同一個(gè)映射關(guān)系不能保證校正的準(zhǔn)確性。為了使坐標(biāo)的變換更為準(zhǔn)確,,可以建立小網(wǎng)格模型,。在圖像中的每一個(gè)網(wǎng)格上取若干個(gè)點(diǎn),分別對(duì)應(yīng)到實(shí)際網(wǎng)格的若干個(gè)點(diǎn)上,,由這些點(diǎn)的坐標(biāo)對(duì)應(yīng)關(guān)系建立每個(gè)網(wǎng)格的坐標(biāo)映射函數(shù),。這樣在進(jìn)行非線性坐標(biāo)變換時(shí),首先判斷被計(jì)算點(diǎn)所處的網(wǎng)格位置,,再選擇相應(yīng)的映射函數(shù)進(jìn)行變換,。
??? 當(dāng)確切的函數(shù)難以求得時(shí),通常采用近似的方法來(lái)盡可能地逼近所求函數(shù),。這里采用曲線擬合的最小二乘法[6]來(lái)求映射函數(shù),。取基底為:
???
??? 則所求的映射函數(shù)用矩陣表示為:
???
式中,(x,,y)為圖像中的像素坐標(biāo),,(X,Y)為轉(zhuǎn)換后標(biāo)準(zhǔn)坐標(biāo),。
??? 將得到的斑塊邊界點(diǎn)的像素坐標(biāo),,經(jīng)非線性算法校正后得到邊界點(diǎn)的實(shí)際坐標(biāo)值,從而可以計(jì)算實(shí)際斑塊的大小和面積,、斑塊間的距離等,。根據(jù)這些恢復(fù)后的參數(shù)來(lái)對(duì)斑塊進(jìn)行聚合,得到車(chē)輛的排隊(duì)長(zhǎng)度,。
4 實(shí)驗(yàn)結(jié)果
??? 將上述斑塊處理算法與非線性校正算法相結(jié)合的車(chē)流檢測(cè)算法應(yīng)用于實(shí)際的交通檢測(cè)中,,以檢驗(yàn)算法的有效性。
??? 以上海龍陽(yáng)路段為檢測(cè)對(duì)象,,對(duì)圖像進(jìn)行二值化且經(jīng)斑塊處理后,,得到某時(shí)刻的車(chē)輛隊(duì)列斑塊如圖7所示(已除噪處理)。聚合后的隊(duì)列斑塊的外接四邊形在圖像中的信息如表1前兩列所示,;經(jīng)非線性校正后得到的該斑塊實(shí)際信息如表1后兩列所示,。由上下兩條邊的平均縱坐標(biāo)值可計(jì)算得到實(shí)際道路中的隊(duì)列長(zhǎng)度為111.2米,檢測(cè)的平均誤差為1.4%,。????
?
??? 該斑塊處理算法只對(duì)車(chē)道范圍進(jìn)行分析處理,,而不是對(duì)整個(gè)圖像進(jìn)行處理,所以其實(shí)現(xiàn)速度較快,,能滿(mǎn)足視頻監(jiān)控系統(tǒng)的實(shí)時(shí)性要求,。
??? 本文通過(guò)對(duì)二值圖像中的斑塊進(jìn)行分析,,將不規(guī)則的斑塊按一定的條件聚合為整車(chē),再根據(jù)車(chē)輛間的信息關(guān)系聚合為隊(duì)列斑塊,,提出了基于斑塊分析的車(chē)輛排隊(duì)檢測(cè)算法,。考慮到圖像的非線性形變,,提出了基于圖像網(wǎng)格的校正算法,,對(duì)參數(shù)進(jìn)行恢復(fù),使測(cè)得的隊(duì)列長(zhǎng)度更為準(zhǔn)確,。實(shí)驗(yàn)結(jié)果表明,,該算法有較高的檢測(cè)精度,,其處理速度能滿(mǎn)足實(shí)時(shí)性要求,,能很好地應(yīng)用于智能交通管理中。
參考文獻(xiàn)
[1] ROURKE A,,BELL M G H.Quene detection and congestion monitoring using image processing[J].Traffic Eng.& Control,,1991:411-421.
[2] 李巖,張學(xué)工.應(yīng)用圖像處理方法自動(dòng)檢測(cè)路口車(chē)輛排隊(duì)長(zhǎng)度[J].計(jì)算機(jī)應(yīng)用與軟件,,2003,,(12):47-49.
[3] KOLLER D.Moving object recognition and classification?based on recursive shape parameter estimation[J].in Proc.12th Israel Conf.Artificial Intelligence,Computer Vision,,Dec.1993:27-28.
[4] BEYMER D,,MCLAUCHLAN P,COIFMAN B,,et al.A?real-time computer vision system for measuring traffic?parameters[J].IEEE Conf.Computer Vision and Pattern?Recognition,,Puerto Rico,June 1997:496-501.
[5] 韓鳳磊,,龐其昌.一種圖像非線性形變的恢復(fù)方法[J].光學(xué)技術(shù),,2003,(5).
[6] 沈劍華.數(shù)值計(jì)算基礎(chǔ)[M].上海:同濟(jì)大學(xué)出版社,,1999.