本發(fā)明涉及交通中車輛檢測設(shè)備領(lǐng)域,尤其是一種基于視頻圖像的車輛行為軌跡檢測方法。
背景技術(shù):
伴隨著經(jīng)濟的增長,汽車產(chǎn)業(yè)的快速發(fā)展,汽車的數(shù)量急速增加,交通狀況日益惡化,事故頻發(fā),需要我們?nèi)?gòu)建智能的交通系統(tǒng),從而獲得更多的數(shù)據(jù)信息供我們參考和使用,對交通進行智能化的監(jiān)控和管理?,F(xiàn)有技術(shù)的狀況:
目前檢測方法主要有:
感應(yīng)線圈檢測。該方法只能對運動車輛進行檢測,并不能對其進行進一步的跟蹤進而獲得其運動軌跡,而且感應(yīng)線圈的安裝會破壞路面,后期維修費用高,使用也不夠靈活,難以滿足現(xiàn)在對交通智能化的需求。
雷達(dá)超聲檢測。該方法只能對運動車輛的速度進行檢測,難以捕捉運動車輛的運動軌跡,同樣不適合智能交通的需求。
為了克服以往檢測方法的局限性,需要設(shè)計和開發(fā)新的交通車輛運動軌跡檢測方法。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中的缺陷,提供一種基于視頻圖像的車輛行為軌跡檢測方法。
本發(fā)明通過下述方案實現(xiàn):
一種基于視頻圖像的車輛行為軌跡檢測方法,該方法包括一種融合的gmm-prlk的多運動目標(biāo)的自動檢測跟蹤算法,并且加入模板更新機制來應(yīng)對運動車輛在行駛的過程中發(fā)生的轉(zhuǎn)彎和形變等現(xiàn)象,整個過程可以進行無監(jiān)督的自動檢測跟蹤;步驟如下所示:
步驟1、在視頻圖像中設(shè)定車輛的檢測區(qū)域;
步驟2、運用混合高斯模型(gmm)進行背景建模;
步驟3、利用背景差分法進行運動車輛的檢測,在預(yù)先知道背景模型后,首先計算背景模型b(x,y)與當(dāng)前圖像fk(x,y)的差,然后對差分圖像fd(x,y)進行閾值化,并對閾值化圖像m(x,y)進行blob分析;
步驟4、利用金字塔lk(prlk)光流對運動目標(biāo)進行跟蹤;
在三維軌跡重建過程中,利用基于surf特征的改進的立體匹配算法,運用改進的knn-ransac算法進行特征點的匹配,能剔除較多的誤匹配點;包括如下步驟:
第一步、在對左右兩幅圖像進行匹配時,對于每個特征都搜尋k(設(shè)置參數(shù)k=2)個最匹配的特征點,此外進行雙向的匹配,即找到左圖中每個特征點在右圖中的兩個最佳匹配,然后找到右圖中每個特征點在左圖中的兩個最佳匹配,如果對于最優(yōu)值的測量距離非常低,而次優(yōu)值的要大許多,那么就可以安全地接受最優(yōu)值,因此它是最佳選擇;反過來,如果兩個候選者非常接近,那么選擇其中之一可能出錯,因此這兩個匹配值都會被拒絕;然后判斷最優(yōu)值與次優(yōu)值之間距離的比率(nn比率),移除nn比率大于閾值的匹配;
第二步、使用基礎(chǔ)矩陣來移除不滿足極線約束的匹配,該測試基于ransac方法,即便匹配集合中存在異常值,數(shù)據(jù)集合中都含有著些許的異常值,用ransac算法從這些集合中去預(yù)測出我們需要的數(shù)據(jù),8個匹配對于基礎(chǔ)矩陣來說正好是最小的個數(shù),如果基礎(chǔ)矩陣要從這8個隨機的匹配當(dāng)中去計算出來,那么從整個數(shù)據(jù)集合中余下的匹配都要通過與基礎(chǔ)矩陣相對的極線約束的測試,從而發(fā)現(xiàn)正確的匹配,則基礎(chǔ)矩陣的支持集合就通過這些成功的匹配來形成;若一個集合當(dāng)中含有n%正確的值,則存在選擇8個匹配時都為正確的匹配的機會為8n,若選擇k次,置信概率c則為1-(1-8n)k,當(dāng)然它越高越好,因此,當(dāng)運行ransac算法時,置信等級就需要通過k的個數(shù)來得到。
所述步驟2的具體步驟如下所示:
對于一個相對靜止的背景中,背景像素點在時間軸上服從一定的概率模型,故將該像素點的所有歷史值用k個高斯分布來擬合,在t時刻,像素點概率分布為:
式中:xt是t時刻該點的像素值,k是混合高斯分布的個數(shù),ωi,t是t時刻混合高斯模型中第i個高斯模型的權(quán)值,且滿足條件0≤ωi,t≤1,
式中:n是xt的維數(shù),∑i,t=(σi,t)2i,其中σi,t為標(biāo)準(zhǔn)差,i為單位矩陣;若滿足|xt-μi,t|<2.5σi,t條件,則此像素與模型匹配;
對于與當(dāng)前像素值匹配的高斯模型,采用如下方式進行更新:
ωi,t+1=(1-α)ωi,t+α
μi,t+1=(1-ρ)μi,t+ρxt+1
式中:ρ為參數(shù)更新率,α是模型的學(xué)習(xí)率,ρ=α/ωi,t+1;其余不匹配的像素,進行如下更新:ωi,t+1=(1-α)ωi,t;
保證當(dāng)像素與模型匹配時,其模型權(quán)值增大,若像素與模型不匹配,其模型權(quán)值變??;
將k個高斯模型按照ωi,t/σi,t由大到小進行排序,根據(jù)下式:
從排序后的高斯分布中取前b個高斯分布作為背景模型,其中t為權(quán)重閾值。
所述步驟4中的lk光流算法基于以下三點假設(shè):
(1)亮度恒定,像素在幀間運動時,像素值保持不變;
(2)圖像的變化相對于時間的變化微??;
(3)在一個小的局部區(qū)域(n×n)內(nèi)像素運動一致,亮度恒定;
由假設(shè)(1)可得:
i(x,y,t)=i(x+dx,y+dy,t+dt)
由假設(shè)(2)通過泰勒級數(shù)展開得:
根據(jù)上式得:
令
ixu+iyv+it=0
其中,ix,iy是二維圖像的偏導(dǎo)數(shù),it是圖像隨時間的導(dǎo)數(shù),u和v是所要求的速度在x,y方向分量,但目前對于單個像素?zé)o解,于是根據(jù)第三個假設(shè)得:
采用最小二乘法解得:
本發(fā)明的有益效果為:
本發(fā)明一種基于視頻圖像的車輛行為軌跡檢測方法與感應(yīng)線圈和雷達(dá)超聲波相比,檢測效率大幅提高而且可以獲得更多的數(shù)據(jù)信息。該方法操作簡單易行,節(jié)省了成本,減輕了勞動強度。
附圖說明
圖1、車輛行為軌跡檢測方法整體框圖;
圖2、車輛檢測跟蹤算法流程圖;
圖3、模板更新流程圖;
圖4、車輛運動軌跡重建流程圖。
具體實施方式
下面結(jié)合圖1-4對本發(fā)明優(yōu)選的實施例進一步說明:
一種基于視頻圖像的車輛行為軌跡檢測方法,該方法包括一種融合的gmm-prlk的多運動目標(biāo)的自動檢測跟蹤算法,并且加入模板更新機制來應(yīng)對運動車輛在行駛的過程中發(fā)生的轉(zhuǎn)彎和形變等現(xiàn)象,整個過程可以進行無監(jiān)督的自動檢測跟蹤;步驟如下所示:
步驟1、在視頻圖像中設(shè)定車輛的檢測區(qū)域;
步驟2、運用混合高斯模型(gmm)進行背景建模;
步驟3、利用背景差分法進行運動車輛的檢測,在預(yù)先知道背景模型后,首先計算背景模型b(x,y)與當(dāng)前圖像fk(x,y)的差,然后對差分圖像fd(x,y)進行閾值化,并對閾值化圖像m(x,y)進行blob分析;
步驟4、利用金字塔lk(prlk)光流對運動目標(biāo)進行跟蹤;
在三維軌跡重建過程中,利用基于surf特征的改進的立體匹配算法,運用改進的knn-ransac算法進行特征點的匹配,能剔除較多的誤匹配點;包括如下步驟:
第一步、在對左右兩幅圖像進行匹配時,對于每個特征都搜尋k(這里設(shè)置參數(shù)k=2)個最匹配的特征點,此外進行雙向的匹配,即找到左圖中每個特征點在右圖中的兩個最佳匹配,然后找到右圖中每個特征點在左圖中的兩個最佳匹配。因此,對于每個特征點,在另一個視角中都有兩個候選的匹配點,它們是基于描述子間距離的兩個值。如果對于最優(yōu)值的測量距離非常低,而次優(yōu)值的要大許多,那么就可以安全地接受最優(yōu)值,因此它是最佳選擇。反過來,如果兩個候選者非常接近,那么選擇其中之一可能出錯,因此這兩個匹配值都會被拒絕。然后判斷最優(yōu)值與次優(yōu)值之間距離的比率(nn比率),移除nn比率大于閾值的匹配。
第二步、使用基礎(chǔ)矩陣來移除不滿足極線約束的匹配,該測試基于ransac方法,即便匹配集合中存在異常值,它也可以計算基礎(chǔ)矩陣。一般情況下,數(shù)據(jù)集合中都含有著些許的異常值,所以利用ransac算法便可以從這些集合中去預(yù)測出我們需要的數(shù)據(jù),它的基本原理就是在整個數(shù)據(jù)集合中隨機地選擇部分?jǐn)?shù)據(jù)點,然后通過這些數(shù)據(jù)點去預(yù)測。但是選擇數(shù)據(jù)點的數(shù)目是有要求的,必須是用來預(yù)測的最小的個數(shù)。8個匹配對于基礎(chǔ)矩陣來說正好是最小的個數(shù),如果基礎(chǔ)矩陣要從這8個隨機的匹配當(dāng)中去計算出來,那么從整個數(shù)據(jù)集合中余下的匹配都要通過與基礎(chǔ)矩陣相對的極線約束的測試,從而發(fā)現(xiàn)正確的匹配,則基礎(chǔ)矩陣的支持集合就通過這些成功的匹配來形成。ransac算法的支持基礎(chǔ)便是這些支持集合,支持集合的大小決定了能計算出正確基礎(chǔ)矩陣的可能性的大小。若是選擇的多個匹配都是不正確的,則它的支持集合必定是很小的,從而導(dǎo)致計算出的矩陣也不會是正確的。我們通過多次重復(fù)整個過程來找到擁有著最大支持集合的基礎(chǔ)矩陣,所以我們可以隨機地選擇8個匹配數(shù)次,來找到較棒的8個匹配作為一個較好的支持集合。如果我們想提高找到多個優(yōu)秀匹配集的概率,那么值得我們?nèi)ミx擇的次數(shù)就應(yīng)該更多。更為確切來說,若一個集合當(dāng)中含有n%正確的值,則存在選擇8個匹配時都為正確的匹配的機會為8n,若選擇k次,置信概率c則為1-(1-8n)k,當(dāng)然它越高越好,因此,當(dāng)運行ransac算法時,置信等級就需要通過k的個數(shù)來得到。
所述步驟2的具體步驟如下所示:
對于一個相對靜止的背景中,背景像素點在時間軸上服從一定的概率模型,故將該像素點的所有歷史值用k個高斯分布來擬合,在t時刻,像素點概率分布為:
式中:xt是t時刻該點的像素值,k是混合高斯分布的個數(shù),ωi,t是t時刻混合高斯模型中第i個高斯模型的權(quán)值,且滿足條件0≤ωi,t≤1,
式中:n是xt的維數(shù),∑i,t=(σi,t)2i,其中σi,t為標(biāo)準(zhǔn)差,i為單位矩陣;若滿足|xt-μi,t|<2.5σi,t條件,則此像素與模型匹配;
對于與當(dāng)前像素值匹配的高斯模型,采用如下方式進行更新:
ωi,t+1=(1-α)ωi,t+α
μi,t+1=(1-ρ)μi,t+ρxt+1
式中:ρ為參數(shù)更新率,α是模型的學(xué)習(xí)率,ρ=α/ωi,t+1;其余不匹配的像素,進行如下更新:ωi,t+1=(1-α)ωi,t;
保證當(dāng)像素與模型匹配時,其模型權(quán)值增大,若像素與模型不匹配,其模型權(quán)值變?。?/p>
將k個高斯模型按照ωi,t/σi,t由大到小進行排序,根據(jù)下式:
從排序后的高斯分布中取前b個高斯分布作為背景模型,其中t為權(quán)重閾值。
所述步驟4中的lk光流算法基于以下三點假設(shè):
(1)亮度恒定,像素在幀間運動時,像素值保持不變;
(2)圖像的變化相對于時間的變化微??;
(3)在一個小的局部區(qū)域(n×n)內(nèi)像素運動一致,亮度恒定;
由假設(shè)(1)可得:
i(x,y,t)=i(x+dx,y+dy,t+dt)
由假設(shè)(2)通過泰勒級數(shù)展開得:
根據(jù)上式得:
令
ixu+iyv+it=0
其中,ix,iy是二維圖像的偏導(dǎo)數(shù),it是圖像隨時間的導(dǎo)數(shù),u和v是所要求的速度在x,y方向分量,但目前對于單個像素?zé)o解,于是根據(jù)第三個假設(shè)得:
采用最小二乘法解得:
下面結(jié)合具體的實施案例對本發(fā)明做進一步講解:1、利用matlab立體標(biāo)定工具箱對雙目攝像機進行標(biāo)定,包括如下步驟:
步驟1、制作張正友棋盤格標(biāo)定板,標(biāo)定板大小為250mm*175mm,棋盤格為10*7。
步驟2、把標(biāo)定板放在雙目攝像機前不同位置處,分別放置14處位置,并保證標(biāo)定板占據(jù)攝像機畫面的二分之一左右,同時采集14對左右攝像機圖像。
步驟3、對采集的圖像進行角點的提取,提取的過程采取亞像素精度。
步驟4、利用張正友標(biāo)定法對左右攝像機分別進行標(biāo)定,具體過程如下:
依據(jù)小孔成像原理,像素點與三維物理點之間的齊次變換如下:
(1)單應(yīng)性矩陣的計算
一般情況下,設(shè)模板所在平面為zw=0平面。那么對于模板平面上的點都有:
令h=a[r1r2t],h稱為單應(yīng)性矩陣。
設(shè)
整理得:
其中,h=[h11h12h13h21h22h23h31h32]t。令h=[h1h2h3],則:
[h1h2h2]=λa[r1r2t]
因為r1和r2是單位正交向量,即r1tr1=r2tr2=1,且r1tr2=0,所以
h1ta-ta-1h2=0
令
定義6維向量b=[b11b12b22b13b23b33]t,則有:
其中,
hi=[hi1hi2hi3]t,
vij=[hi1hj1hi1hj2+hi2hj2hi2hj2hi3hj1+hi1hj3hi3hj2+hi2hj3hi3hj3]t。
根據(jù)約束條件可以得到關(guān)于b的兩個齊次方程:
可以得到線性方程組:
vb=0
其中,v是一個2n×6的矩陣。
通過b即可得到矩陣b,計算出攝像機內(nèi)部參數(shù)。設(shè)定b=μa-ta,μ為一個任意的尺度系數(shù)。
通過內(nèi)參數(shù)a和單應(yīng)性矩陣h,攝像機外部參數(shù)可得:
(2)最大似然估計
假定有n幅標(biāo)定圖像,而且每圖像中有m個角點。建立目標(biāo)函數(shù)如下:
其中,mij為第i圖像里第j點的像素坐標(biāo),ri、ti分別為旋轉(zhuǎn)、平移矩陣,
步驟5、對雙目攝像機進行立體標(biāo)定,具體過程如下:
表示左右攝像機坐標(biāo)系的變換關(guān)系。
mc1=[rt]mc2
對應(yīng)的外部參數(shù)[r1t1]、[r2t2]也就是:
由于模板相同,mw1=mw2,代入有:
其中旋轉(zhuǎn)矩陣r和平移矩陣t可以表示為:
2、對視頻圖像內(nèi)的運動車輛進行實時自動的檢測跟蹤,包括如下步驟:
步驟1、在視頻圖像中設(shè)定車輛的檢測區(qū)域;
步驟2、運用混合高斯模型(gmm)進行背景建模,具體過程如下:
對于一個相對靜止的背景中,背景像素點在時間軸上服從一定的概率模型,故將該像素點的所有歷史值用k個高斯分布來擬合,在t時刻,像素點概率分布為:
式中:xt是t時刻該點的像素值,k是混合高斯分布的個數(shù),ωi,t是t時刻混合高斯模型中第i個高斯模型的權(quán)值,且滿足條件0≤ωi,t≤1,
式中:n是xt的維數(shù),∑i,t=(σi,t)2i,其中σi,t為標(biāo)準(zhǔn)差,i為單位矩陣。若滿足|xt-μi,t|<2.5σi,t條件,則此像素與模型匹配。
對于與當(dāng)前像素值匹配的高斯模型,采用如下方式進行更新:
ωi,t+1=(1-α)ωi,t+α
μi,t+1=(1-ρ)μi,t+ρxt+1
式中:ρ為參數(shù)更新率,α是模型的學(xué)習(xí)率,ρ=α/ωi,t+1。其余不匹配的像素,進行如下更新:ωi,t+1=(1-α)ωi,t。
因此,可以保證當(dāng)像素與模型匹配時,其模型權(quán)值增大,若像素與模型不匹配,其模型權(quán)值變小。
將k個高斯模型按照ωi,t/σi,t由大到小進行排序,根據(jù)下式:
從排序后的高斯分布中取前b個高斯分布作為背景模型,其中t為權(quán)重閾值。
步驟3、利用背景差分法進行運動車輛的檢測,在預(yù)先知道背景模型后,首先計算背景模型b(x,y)與當(dāng)前圖像fk(x,y)的差,然后對差分圖像fd(x,y)進行閾值化,并對閾值化圖像m(x,y)進行blob分析。
步驟4、利用金字塔lk(prlk)光流對運動目標(biāo)進行跟蹤。具體過程如下:
3、車輛三維運動軌跡重建
步驟1、對左右攝像機跟蹤到的運動目標(biāo)進行立體匹配,以獲得左右圖像的像素對應(yīng)位置。此過程利用基于surf的knn-ransac算法,
步驟2、利用三角測量原理進行三維坐標(biāo)還原。
步驟3、利用序列圖像得到運動車輛的一系列三維坐標(biāo),從而生成車輛的運動軌跡。
盡管已經(jīng)對本發(fā)明的技術(shù)方案做了較為詳細(xì)的闡述和列舉,應(yīng)當(dāng)理解,對于本領(lǐng)域技術(shù)人員來說,對上述實施案例做出修改或者采用等同的替代方案,這對本領(lǐng)域的技術(shù)人員而言是顯而易見,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進,均屬于本發(fā)明要求保護的范圍。