劉圃卓,林杰華,婁曉博,王 婉,王 雪,王 勇
(吉林大學(xué)通信工程學(xué)院,吉林 長(zhǎng)春 130012)
關(guān)于圖像處理的空車(chē)位監(jiān)控方法的探討
劉圃卓,林杰華,婁曉博,王 婉,王 雪,王 勇
(吉林大學(xué)通信工程學(xué)院,吉林 長(zhǎng)春 130012)
利用MFC編程軟件實(shí)現(xiàn)基于視頻的停車(chē)場(chǎng)空車(chē)位監(jiān)控,通過(guò)一些簡(jiǎn)單的圖像處理算法,即可實(shí)現(xiàn)停車(chē)位的自動(dòng)識(shí)別并輸出判斷結(jié)果到LED顯示屏。通過(guò)每個(gè)攝像頭內(nèi)的不同車(chē)位,人工設(shè)定其判斷范圍、比較閾值等參數(shù),即可以實(shí)現(xiàn)在有遮擋物、陽(yáng)光、相鄰車(chē)位影響等情況下輸出低誤判率的結(jié)果,指引司機(jī)找到空車(chē)位。
方法與技術(shù);車(chē)位監(jiān)控;圖像處理;Sobel
隨著社會(huì)的發(fā)展,私家車(chē)數(shù)量劇增,在公共場(chǎng)所例如商場(chǎng)、車(chē)站、旅游景區(qū)的停車(chē)場(chǎng)也隨之變大,車(chē)主在尋找車(chē)位時(shí)往往很盲目,總是在停車(chē)場(chǎng)中逛來(lái)逛去,即浪費(fèi)車(chē)主的時(shí)間,也影響停車(chē)場(chǎng)秩序。目前出現(xiàn)了一些空車(chē)位監(jiān)控系統(tǒng),例如基于傳感器系統(tǒng),有紅外傳感器,聲波傳感器等,通過(guò)給每個(gè)車(chē)位安裝傳感器來(lái)進(jìn)行監(jiān)控,但這種方法需要每個(gè)車(chē)位都安裝傳感器,前期投入及后期維護(hù)成本大,而且也不能把車(chē)位的具體位置提供給車(chē)主,效果不明顯。基于藍(lán)牙的車(chē)位監(jiān)控系統(tǒng),雖然可以將車(chē)主引導(dǎo)到車(chē)位,但設(shè)備成本較大,且需要車(chē)主進(jìn)行連接,不是很方便。本軟件利用現(xiàn)有停車(chē)場(chǎng)監(jiān)控?cái)z像頭去監(jiān)控車(chē)位是一種非常經(jīng)濟(jì)有效的方法,目前已有相關(guān)軟件、論文實(shí)現(xiàn),但是本方法用一個(gè)攝像頭可以同時(shí)監(jiān)控多個(gè)車(chē)位,算法簡(jiǎn)單,只對(duì)目標(biāo)區(qū)域進(jìn)行判斷運(yùn)算量小,且不受到天氣,相對(duì)固定的遮擋物的影響,而且當(dāng)攝像頭斜拍攝時(shí)仍可以進(jìn)行判斷。
目前在國(guó)內(nèi)已有基于視頻停車(chē)場(chǎng)空車(chē)位監(jiān)控方法的實(shí)現(xiàn)。采用背景與待測(cè)圖像的方差、背景與待測(cè)圖像的線性相關(guān)度、待測(cè)圖像的邊緣密度三種算法綜合判斷車(chē)位[1],雖然能準(zhǔn)確判斷車(chē)位,不受天氣、車(chē)輛顏色干擾,但要求攝像頭只能垂直拍攝,當(dāng)相鄰車(chē)位相互影響時(shí)也無(wú)法判斷。基于統(tǒng)計(jì)的方法計(jì)算出現(xiàn)次數(shù)最多的像素作為背景,關(guān)注選定范圍內(nèi)像素只發(fā)生變化的情況,采用減背景法得到差分圖像的累積變化值方差以及權(quán)衡校正因子的值,綜合這兩個(gè)值判定是否有車(chē)[2],此方法雖可以將空車(chē)位信息詳細(xì)的提供給車(chē)主,但也無(wú)法處理相鄰車(chē)位有影響的情況,當(dāng)攝像頭傾斜拍攝時(shí)無(wú)法判斷。還有基于先驗(yàn)算法,通過(guò)設(shè)定目標(biāo)區(qū)域,采用均值、方差等作為判斷依據(jù),雖然可以減少運(yùn)算量,但仍無(wú)法解決移動(dòng)障礙物遮擋的問(wèn)題。在國(guó)外提出一種基于屬性的組合方法采用自適應(yīng)背景減法、前景物體檢測(cè)和識(shí)別方法、特征提取算法[3],這種方法可以處理光線變化及陰影,更準(zhǔn)確的判斷,但采用自適應(yīng)算法導(dǎo)致運(yùn)算量增大,判斷時(shí)間較長(zhǎng),雖然可以處理相鄰車(chē)位有影響的情況,當(dāng)車(chē)身遮擋,而不是車(chē)陰影遮擋時(shí)同樣不能正確判斷。
基于以上提出的各種困難,本方法可以解決,通過(guò)劃定區(qū)域、以及簡(jiǎn)單的算法減少運(yùn)算量,通過(guò)對(duì)不同位置的攝像頭、及不同車(chē)位設(shè)定不同閾值,可以解決光線、陰影、車(chē)位間的相互影響,提高判斷準(zhǔn)確率。
如圖1是本方法流程,方法的實(shí)現(xiàn)利用MFC進(jìn)行編程。對(duì)于停車(chē)場(chǎng)攝像頭采集的視頻可以利用監(jiān)控軟件自動(dòng)定時(shí)截圖例如KMPLYER,保存到文檔后,利用這個(gè)方法編輯的軟件打開(kāi)第一張圖片即可自動(dòng)執(zhí)行空車(chē)位判斷。

圖1 流程Fig.1 Software process
2.1 定義CDib類(lèi)進(jìn)行數(shù)字圖像處理
由于MFC未提供對(duì)DIB的支持,使用Dib函數(shù)實(shí)現(xiàn)過(guò)程比較麻煩,所以定義一個(gè)設(shè)備無(wú)關(guān)類(lèi)CDib,里面封裝了關(guān)于Dib處理所需的基本成員變量及成員函數(shù),例如獲取圖高度、大小、每個(gè)像素所占字節(jié)數(shù)等,此處封裝的函數(shù)參考于Visual C++數(shù)字圖像處理技術(shù)詳解[4]。由于本方法最后的判斷是基于像素點(diǎn)的白黑數(shù)量進(jìn)行判斷,并不需要彩色圖,通過(guò)24位圖進(jìn)行8位圖轉(zhuǎn)換后,可以使后續(xù)操作變得簡(jiǎn)單。
2.2 利用Sobel算子進(jìn)行輪廓提取
使用輪廓提取算法,實(shí)現(xiàn)圖像的分割,因?yàn)楫?dāng)停車(chē)位空時(shí),白色的停車(chē)位線與周?chē)h(huán)境差別較大,當(dāng)停車(chē)后車(chē)身輪廓同樣會(huì)與周?chē)h(huán)境有區(qū)別,所以使用邊緣檢測(cè)法可以將圖像較好的分割出來(lái),利用圖像一階導(dǎo)數(shù)的極值來(lái)提取邊緣,當(dāng)圖像中變化緩慢的區(qū)域,相鄰灰度變化不大,所以梯度幅值較小可以認(rèn)為趨于0,當(dāng)在圖像邊緣時(shí),灰度變化劇烈所以梯度幅度較大,所以可將圖像邊緣分割出來(lái),就可以實(shí)現(xiàn)車(chē)位或車(chē)輪廓的分割。對(duì)于圖像f(x,y)它的梯度為:它的幅度為:
用差分代替微分,并利用區(qū)域模版和圖像卷積近似計(jì)算出梯度值GX和GY可以采用不同的模版,所以會(huì)出現(xiàn)多種結(jié)果。Sobel算子是利用局部差分尋找邊緣算子,但考慮3*3的范圍處理,采用如下模版。

表1 Sobel模版Tab.1 Sobel template
其數(shù)學(xué)表達(dá)式為:

用差分代替一階偏導(dǎo):

將每個(gè)像素點(diǎn)分別與這兩個(gè)核卷積,比較后將較大值作為該像素點(diǎn)的灰度值。
還有很多種邊緣檢測(cè)法例如Roberts、Prewitt、Krish,它們通過(guò)改變卷積核數(shù)目或模版值。通過(guò)比較采用Sobel算法,既實(shí)現(xiàn)了將所要的輪廓分割出來(lái),也避免了輪廓的線的過(guò)粗或者不清晰。邊界跟蹤法也可以將物體的輪廓分割出來(lái),從一點(diǎn)出發(fā)搜尋物體輪廓上的其他像素點(diǎn)直到起始邊界點(diǎn)為止。
以上幾種方法對(duì)比,由與判斷方法是根據(jù)目標(biāo)區(qū)域內(nèi)停車(chē)后像素點(diǎn)的變化個(gè)數(shù)來(lái)進(jìn)行判斷,既要考慮到能將車(chē)的輪廓盡可能多的提取,又要避免其它物體輪廓的干擾,采取Sobel算法更有利于后期判斷。

圖2 Sobel處理效果Fig.2 Sobel treatment effect

圖3 邊界跟蹤法效果Fig.3 The effect of boundary tracking method
2.3 圖像旋轉(zhuǎn)、二值化,灰度膨脹的實(shí)現(xiàn)
由于每個(gè)攝像頭采集的圖像的角度并不固定,對(duì)接下來(lái)圖像分區(qū)帶來(lái)不必要的麻煩,先對(duì)圖像進(jìn)行旋轉(zhuǎn),旋轉(zhuǎn)至停車(chē)位邊框有任意一條邊與屏幕平行即可。旋轉(zhuǎn)角度的設(shè)置根據(jù)具體采集的圖片設(shè)定。二值化后將灰度圖轉(zhuǎn)為黑白圖,此處的比較閾值根據(jù)攝像頭采集到的圖像設(shè)定,要考慮到周?chē)h(huán)境的影響,設(shè)定一個(gè)可以將車(chē)的輪廓盡量多的變白,空車(chē)位的地面或者是遮擋物盡量變黑的閾值。執(zhí)行灰度膨脹,可以將車(chē)輪廓范圍變大,進(jìn)而進(jìn)一步將停車(chē)后的白色像素點(diǎn)數(shù)量增加。
2.4 車(chē)位分區(qū)編號(hào),并計(jì)算白色像素點(diǎn)的個(gè)數(shù)
對(duì)每一個(gè)車(chē)位判斷區(qū)域進(jìn)行限制大小并編號(hào),這個(gè)區(qū)域需要根據(jù)攝像頭采集到的圖像對(duì)每個(gè)車(chē)位進(jìn)行單獨(dú)設(shè)定,在選定區(qū)域內(nèi)執(zhí)行循環(huán)。當(dāng)執(zhí)行旋轉(zhuǎn)操作后,實(shí)際操作的車(chē)為必然有一邊將與屏幕平行,再在車(chē)位輪廓內(nèi)截取適當(dāng)大小區(qū)域作為此車(chē)位的判斷區(qū)域。對(duì)于平行四邊形情況,長(zhǎng)方形操作類(lèi)似,用y表示縱坐標(biāo),x表示橫坐標(biāo)。直線可以表示為斜截式:y=ax+b,A、B(縱坐標(biāo)的起點(diǎn)值和終點(diǎn)值)為常數(shù),定義flag記錄白色像素點(diǎn)的數(shù)目,對(duì)一個(gè)車(chē)位的循環(huán)過(guò)程如圖4。

圖4 Fig.4
因?yàn)橛袝r(shí)車(chē)位不是標(biāo)準(zhǔn)的平行四邊形,而且沒(méi)有必要對(duì)整個(gè)車(chē)位輪廓完整的劃分,只截取車(chē)位內(nèi)的一部分區(qū)域來(lái)進(jìn)行像素點(diǎn)的累加,所以會(huì)出現(xiàn)a′和b′兩個(gè)常數(shù)。上述循環(huán)就是對(duì)一個(gè)車(chē)位的劃分,對(duì)所采取的圖片內(nèi)要進(jìn)行判斷的車(chē)位逐個(gè)劃分并用不同的標(biāo)志例如flag1、flag2等,就可以實(shí)現(xiàn)對(duì)不同車(chē)位的判斷。
2.5 車(chē)位是否為空的判斷及結(jié)果的輸出
通過(guò)上一個(gè)函數(shù)會(huì)得到很多個(gè)標(biāo)志變量,但每一個(gè)車(chē)位周?chē)h(huán)境情況的不同,例如柱子的遮擋、旁邊車(chē)位停車(chē)后對(duì)當(dāng)前車(chē)位的判斷影響、或者光線以及異物的影響,要對(duì)每一個(gè)車(chē)位是否有車(chē)的判斷閾值進(jìn)行單獨(dú)設(shè)定。如圖5中對(duì)車(chē)位進(jìn)行分區(qū)編號(hào),對(duì)于分區(qū)沒(méi)有必要完整的選取整個(gè)車(chē)位,例如對(duì)于2號(hào)車(chē)位,由于1號(hào)車(chē)位停車(chē)后會(huì)遮擋一部分2號(hào)車(chē)位,所以選取的區(qū)域要離右邊邊界稍遠(yuǎn)一點(diǎn),可以降低誤判率,具體選定區(qū)域的面積大小,可以根據(jù)實(shí)際情況進(jìn)行調(diào)整,使誤判率降到最低。
在圖5中假設(shè)對(duì)3號(hào)車(chē)位進(jìn)行判斷,先要對(duì)2號(hào)車(chē)位的flag2進(jìn)行判斷,2號(hào)車(chē)位的空或者不空將會(huì)影響到3號(hào)車(chē)位的判斷,所以對(duì)這兩種情況要設(shè)定不同的閾值。此時(shí)光線在10號(hào)車(chē)位,當(dāng)對(duì)圖片進(jìn)行處理后會(huì)出現(xiàn)一道白色,圖中用紅圈圈出,所以在設(shè)定判斷閾值時(shí)對(duì)陽(yáng)光能夠照射到的區(qū)域?qū)⒐饩€的影響考慮到。
用字庫(kù)卡控制LED屏幕,將空車(chē)位號(hào)顯示,當(dāng)判斷為空時(shí)就在要顯示的字符串里增加字符,調(diào)用ActiveX控件中的Microsoft communication control實(shí)現(xiàn)與LED的串口通訊,即可輸出結(jié)果,當(dāng)實(shí)際應(yīng)用中可以利用WiFi模塊就可以實(shí)現(xiàn)無(wú)線通信。

圖5 Fig.5

圖6 使用流程Fig.6 Using process

圖7 軟件界面Fig.7 Software interface
對(duì)于第一個(gè)測(cè)試中兩次誤判是在同一車(chē)位,無(wú)車(chē)時(shí)判為有車(chē),當(dāng)過(guò)兩分鐘陽(yáng)光略微移動(dòng)后,無(wú)錯(cuò)判。本方法對(duì)有有人經(jīng)過(guò)或有很大障礙物在車(chē)位上時(shí)也判為不可以停車(chē),當(dāng)有車(chē)停在兩個(gè)車(chē)位中間時(shí),兩個(gè)車(chē)位同時(shí)判為不可停車(chē)。通過(guò)LED顯示空閑車(chē)位車(chē)號(hào),并顯示所在位置用箭頭指示,如圖8所示。

表2 測(cè)試結(jié)果Tab.2 Test results

圖8 LED結(jié)果顯示Fig.8 LED display
此方法可以對(duì)有遮擋物,陽(yáng)光,及車(chē)位間有相互影響的停車(chē)位進(jìn)行較準(zhǔn)確的判斷,對(duì)于整個(gè)停車(chē)場(chǎng)通過(guò)對(duì)車(chē)位的編號(hào)分區(qū),通過(guò)一定數(shù)量的攝像頭在實(shí)現(xiàn)安全監(jiān)控的同時(shí)可以進(jìn)行空車(chē)位的管理,而且可以將空車(chē)位信息較詳細(xì)的提供給車(chē)主,即有效的減少了司機(jī)尋找空車(chē)位的時(shí)間,也減少了停車(chē)場(chǎng)管理設(shè)備的資金投入,有較大的實(shí)用性。但本方法對(duì)于車(chē)停入車(chē)位后完全遮擋相鄰車(chē)位的情況,無(wú)法準(zhǔn)確判斷,解決的途徑是對(duì)于這樣被遮擋的車(chē)位用其它可以采集到的攝像頭去判斷,或者提高攝像頭高度。
[1] 羅小巧, 姜龍, 瞿少成, 等. 基于視頻的停車(chē)場(chǎng)車(chē)位監(jiān)控算法研究[J]. 電子測(cè)量技術(shù), 2012, 35(2): 33-36. LUO X Q, JIANG L, QU S C, et al. Parking lot parking monitoring algorithms based on video[J]. Electronic measurement techniques, 2012, 35(2): 33-36. (in Chinese)
[2] 熊俊. 基于多攝像頭協(xié)同模式的智能停車(chē)場(chǎng)管理系統(tǒng)的研究與應(yīng)用[D]. 杭州: 杭州電子科技大學(xué), 2009. XIONG J. Based on multi-camera coordination model of the research and application of intelligent parking lot management system[D]. Hangzhou: Hangzhou university of electronic science and technology, 2009. (in Chinese)
[3] MASMOUDI I, WALI A, JAMOUSSI A, et al. Vision based System for Vacant Parking Lot Detection: VPLD[J]. Computer Vision Theory and Applications, 2014, 3: 5-8.
[4] 劉海波, 沈晶, 岳振勛, 等. Visual C++數(shù)字圖像處理技術(shù)詳解[M]. 北京: 機(jī)械工業(yè)出版社, 2013. LIU H B, SHEN J, YUE Z X, et al. Digital image Pocessing Using Visual C++[M]. Beijing: China Machine PRESS, 2013.
About the Empty Car Control Method of Image Processing
LIU Pu-zhuo, LIN Jie-hua, LOU Xiao-bo, WANG Wan, WANG Xue, WANG Yong
(Communication Engineering of Jilin university, Changchun 130012, China)
Utilize MFC programming software to achieve monitoring based on the video of empty parking spaces in the parking lot.Through some simple image processing algorithm, the parking spaces can be identified automatically and displayed on the LED screen. Set the range of judgment, comparison threshold and other parameters according to different parking spaces in each camera, thus to be implemented in a shelter, sunlight and adjacent parking influence case and output result at a low misjudgment rate, which can lead the driver to find an empty parking space.
Methods and techniques; Parking space monitoring; Image processing; Sobel
TP317.4
A
10.3969/j.issn.1003-6970.2017.01.026
本文著錄格式:劉圃卓,林杰華,婁曉博,等. 關(guān)于圖像處理的空車(chē)位監(jiān)控方法的探討[J]. 軟件,2017,38(1):123-126