劉新平,張 影,王風華
(中國石油大學(華東)計算機科學與技術學院,青島 266580)
隨著中國經濟的迅猛發展,汽車的保有量越來越高.截至2017年3月底,全國汽車保有量首次超過2 億輛[1].在中國大多數城市中車流量較大的主要交通要道上,交通擁堵,事故頻發,給市民的生活和日常出行造成了極大的不便.為了改善城市的交通狀況和市民的生活質量,通過快速的檢測到交通擁堵時的車輛排隊現象,實時得到交通監控視頻中的車道占有率等信息對交通概況加以改善是重中之重[2].
傳統的車輛排隊長度檢測方法主要是利用固定位置的傳感器,如環路傳感器等.由于傳統方法的成本高以及維護困難,因此目前車輛排隊長度檢測方法的研究主要基于視頻檢測器以及基于帶有探測器的聯網車輛.基于視頻檢測器的檢測方法研究主要有以下幾種.第一種檢測方法分為三步,車輛運動狀態檢測,車輛存在檢測以及車輛排隊長度檢測.使用三幀時間差分法的運動檢測方法對移動車輛進行檢測[3],邊緣信息作為車輛存在的標志,利用移動的檢測窗口對交叉口的車輛排隊長度進行檢測.文獻[4]使用背景差法在虛擬的檢測窗口監控交通路口車輛的出現.文獻[5]結合背景差法和邊緣檢測方法判斷車輛隊列的存在.文獻[6]使用基于梯度的形態學邊緣提取方法判斷車輛存在,使用伸縮窗方法檢測車輛隊列.然而文獻[3]主要通過時間差分法得到視頻中運動的車輛,無法檢測到車輛隊列的形成.在文獻[4,5]都使用了幀差法和背景差分法,不同點為作為車輛存在的特征不同.第二種檢測方式通過建立世界坐標系使用逆透視變換獲得交通道路的鳥瞰,文獻[7]使用該方法可以獲得較為清晰的車輛排隊結果,但是依賴于準確的車道線標識并且是在車輛隊列形成的前提下.由于聯網汽車技術的快速發展和叫車服務的出現,帶有探測器設備的聯網車輛越來越多,進而出現基于聯網車輛研究車輛排隊長度的方法[8],但是目前聯網車輛的所占比例依舊很小.
針對以上文獻采取的方法以及出現的問題,本文在車輛排隊長度檢測的過程中主要做了如下工作.第一,改進FAST 角點檢測的過程,在檢測窗內利用角點信息作為車輛存在的標志,同時通過角點位置在相鄰幀間的像素變化與閾值相比較,判斷車輛的運動狀態獲取視頻中的車輛隊列.第二,結合PCA 技術將隊列中的角點信息壓縮成為一維向量,在孤立的噪點被去除的同時保留了原視頻監控中有用的角點信息.第三,對得到的一維向量進行可變模板的形態學處理,最后轉換為實際排隊長度.
本文提出一種車輛排隊長度檢測方法.其方法基于FAST 角點檢測將監控視頻中單一車道里的車輛角點特征提取,并使用PCA 提取主成分壓縮為一維向量.最后使用可變模板的形態學處理得到車輛排隊長度.該檢測方法的流程如圖1 所示.

圖1 檢測方法流程圖
(1)對交通路口攝像頭采集到的實時路況視頻進行預處理.其中包括灰度化視頻圖像以及噪聲去除.
(2)通過對交通路口監控視頻的第一幀圖像人工標定感興趣區域.
(3)判斷檢測窗內角點位置的運動狀態從而判斷車輛排隊的形成.
(4)對隊列中獲得的角點特征應用PCA 處理壓縮成一維向量來表征車輛隊列長度.
(5)對PCA 的結果進行形態學處理確定隊列長度.
由于攝像機透鏡成像的原因,造成監控視頻中車道線的成線不會呈現平行狀態,而是會呈現不規則的梯形狀態,如圖2 中某一交通路口取得的四個場景.
目前車道線檢測的研究主要集中于使用霍夫變換,線段檢測器等,然而現實中交通背景雜亂,遮擋物多,車道線的檢測依賴于背景模型的建立,在背景模型建立的相對完美的情況下車道線的檢測才會發揮其作用.因此傳統的車道線檢測方法難以準確提取出感興趣區域,較為精確的車道線檢測方法則負載過重,使用成本高.在固定的紅綠燈停車區域內,攝像頭的位置是不變的,而車道感興趣區域的提取關鍵在于感興趣區域內的4 個頂點,本文通過人工標定的方式獲得車道區域的4 個頂點.在車道區域內單一車道平均分布.劃分出單一車道內的區域便于進行后續的方法.

圖2 感興趣區域的提取
椒鹽噪聲是導致圖像質量下降的主要噪聲之一,這種噪聲表現為某一像素相對于其鄰域內的其它像素的灰度值突變而與圖像中的邊緣細節一樣具有較大梯度值,從而對圖像的分析與角點的判斷造成困難[9],因此有效濾除椒鹽噪聲并保護圖像細節成為保證所采集車輛圖像質量的一個重點.中值濾波為去除椒鹽噪聲最有效的方法,它將每一像素點的灰度值設置為該點某鄰域窗口內的所有像素點灰度值的中值,較好地保留了圖像細節.
高斯噪聲是另一種導致所采集車輛圖像質量下降的噪聲,它的存在會給后續工作中的角點特征提取帶來很大的困難[9],本文選擇均值濾波方法進行高斯噪聲的去除.例如,當前像素位置為(x,y),m 為該模板中包含當前像素在內的像素總個數.作為處理后圖像在該點上的灰度值為g(x,y).

雖然以往很多車輛檢測算法都是基于背景減法[10],但經驗表明,這些方法對光照條件的變化比較敏感,基于這個原因許多研究人員建議使用邊緣[11],紋理和角點等低層次特征作為某一區域車輛存在的標志.本文從車道上發現的角點特征信息來推斷隊列長度.這種方法在光照變化前具有非常好的魯棒性.
從早期的Moravec 到Harris,再到SIFT,SURF 等,可以說特征提取的算法層出不窮,在后續的研究中也提出了各種改進的算法.其中SIFT 和SURF 提取到的特征非常的優秀,但是時間消耗依然十分巨大,這就使得系統的實時性不是很好,降低了系統的性能.Edward Rosten 和Tom Drummond 經過研究[12]于2006年提出了一種FAST 特征點,并在2010年修改后發表,簡稱FAST[13].FAST 實際上是在不影響結果的前提下,文獻[14]簡化了Harris 檢測方法.
如圖3 中,FAST 關鍵點檢測是對興趣點所在圓周上的16 個像素點進行判斷,假設p 為中心像素點,pi 為p 點周圍圓形區域內16 個像素點的一點,首先計算圖中p1、p9、p5、p13 與中心p 的像素差,若它們的絕對值有至少3 個超過閾值,再進行下一步,否則不存在角點.下一步計算p1 到p16 這16 個點與中心p 的像素差,若它們有至少9 個超過閾值,則是特征點;否則不存在角點.

圖3 FAST 角點檢測示意圖

N(x)為x 點的像素值.t 為實際上比較強度時的閾值.當x 為TRUE 時,I(x)值為1,當x 為FALSE 時,I(x)值為0.車輛角點特征提取如圖4.

圖4 車輛角點特征的提取
以往對于車輛排隊長度的測量方法大部分基于滑動窗方法[15],然而滑動窗方法對于攝像機遠端車輛的識別誤差大.因此本文對FAST算法改進的第一點是將角點特征關鍵點集按照映射的原理生成一副新的圖像.該圖像只在對應于原圖像存在角點的位置有值,便于使用這張圖像進行PCA 處理得到一維向量,該圖像如圖5.
以往的車輛排隊長度方法首先通過判斷車輛運動的狀態,再通過發現車輛的角點,邊緣等特征.本文對FAST算法改進的第二點是將運動檢測方法融入到算法的過程中.首先,在停車線前設置虛擬檢測區,在使用FAST算法遍歷檢測區的同時,對檢測到角點信息的位置運用運動檢測方法得到車輛在視頻中的運動狀態并判斷是否形成車輛隊列.本文中運動檢測方法使用幀間差分的思想,將其與前一幀圖像的相同位置作比較.當虛擬檢測區內車輛處于靜態時[4],默認通處于擁堵狀態并測量車輛排隊長度.

圖5 角點特征映射圖
在視頻中車道前某一位置,設置一大小合適的檢測窗,使用改進后的FAST 角點算法得到靜態的點和動態的角點.

p 為檢測到角點的位置.It(p)是像素p 在t 時刻的值,S(p)是p 的鄰域的集合,由于相機抖動及外界環境影響,將得到的D(p)與閾值t 相比較得到E(p),即車輛的運動狀態.
主成分分析也稱為卡爾胡寧-勒夫變換(Karhunen-Loeve Transform),是一種用于探索高維數據結構的技術,還可以用于數據壓縮,數據預處理等,新的低維數據集會盡可能的保留原始數據的變量.本文通過對如圖5 生成的角點映射圖進行PCA 就生成了如圖6 所示的一維向量.
使用形態學處理對上述得到的不連續結果進行優化.由于在成像過程中近大遠小的特點,對該圖像進行形態學處理的過程中使用可變模板的形態學處理,即式(6),得到的圖形如圖7.

圖6 PCA算法壓縮結果

圖7 形態學處理結果

其中,B(i,j)表示將B 的中心對準Ar 的(i,j)位置形成的矩陣范圍,Ar 為使用可變模板B(2r+1,2r+1)膨脹的圖像.而該范圍落在Ar 之內的部分是B(i,j)∩Ar.
首先將得到形態學處理結果轉換為像素長度[6],如圖8.本文中的車輛排隊長度由白色區域構成,即從(x,y)=(0,0++)起遇到的第一行白色區域為車輛排隊的隊尾,從(x,y)=(0,img.length--)起遇到的第一行白色區域.最后由文獻[3]可知,車輛排隊長度的像素距離[6]可以轉換為實際距離.

圖8 車輛排隊像素長度
本文選取一個接近十字路口的過街天橋,拍攝一段有車輛排隊的視頻,攝像頭可采集的像素數量是1811×1020,攝像機架設的高度為6 m,攝像機光心到車道停車線的實際距離為 26.5 m.本文選取視頻中不同排隊長度的四幅畫面,根據文獻[3]中的攝像機標定技術對本文中得到的車輛排隊結果進行了最終的隊長測量,給出實際排隊長度與檢測長度進行對比.得到如表1.由表1 可知,檢測的精度高達98%.
從表1 數據可以看出,在攝像機視野范圍內,本文算法結果相較于文獻[6]總體表現不錯,基本控制在2%的錯誤率.在列出的實驗數據中,第一組數據顯示誤差較大,主要是由于第一輛汽車外觀平滑,不宜檢測到角點.文獻[6]中整體表現比較穩定,但均值略高于本文方法,因此本文算法相較于其他算法在整體表現上不錯,但卻不穩定,在后續研究中可以增加檢測車輛其他特征的步驟,針對性的提高穩定度.

表1 車輛排隊檢測準確度
本研究通過改進FAST算法過程,將車輛運動狀態的判斷與檢測角點存在運用到一起,簡化傳統車輛排隊長度檢測的過程,縮小規模,更有利于快速判斷車輛隊列的存在.然后將主成分分析運用到車輛排隊長度的測量中,在保有大部分信息的特點下解決了對于遠端車輛測量不準確的情況,提高了測量的準確率.