本發(fā)明涉及視覺圖像處理
技術(shù)領(lǐng)域:
,具體的涉及一種光流計算方法。
背景技術(shù):
:快速光流計算方法是計算機視覺領(lǐng)域待解決的重要問題之一。光流是圖像序列中像素點運動的瞬時速度,在運動跟蹤,運動估算,無人機壁障等領(lǐng)域有著廣泛應(yīng)用。由于現(xiàn)有的大多數(shù)光流算法計算量大,計算耗時較長等原因,阻礙了光流計算在實踐中的廣泛應(yīng)用。現(xiàn)有的光流計算方法主要分為以下幾類:基于梯度的方法、基于區(qū)域的匹配法、基于能量的方法、基于相位的方法和神經(jīng)動力學(xué)法?,F(xiàn)有光流計算一般采用基于梯度的光流計算方法,較經(jīng)典的計算方法是Horn-Schunck(H-S)算法和Lucas-Kanade(L-K)算法兩種。1981年,Horn和Schunck根據(jù)灰度一致性假設(shè),推導(dǎo)出光流約束方程,在光流約束方程的基礎(chǔ)上附加了光流場全局平滑約束,推導(dǎo)出了H-S光流算法,讓光流算法得以發(fā)展。同年,Lucas和Kanade兩位學(xué)者提出了一種迭代的圖像匹配方法,該方法使用局部平滑假設(shè),假設(shè)一個窗口內(nèi)的所有像素具有相同的運動矢量,從而推導(dǎo)出L-K光流算法。光流基本約束方程是在兩個假設(shè)條件下推導(dǎo)得出的:(1)亮度恒定假設(shè)。該假設(shè)假定物體同一點的亮度在每幀之間不會發(fā)生改變;(2)像素點的運動是小運動。即時間的變化不會引起像素點位置的劇烈變化,灰度是連續(xù)變化的,這樣灰度才能對位置求偏導(dǎo)。假設(shè)t時刻圖像上某點(x,y)的灰度值為I(x,y,t)。在t+△t(△t→0)時刻,該點運動到新位置(x+△x,y+△y),新位置的灰度記為I(x+△x,y+△y,t+△t),根據(jù)假設(shè)(1),同一點的灰度值應(yīng)該相同,即:I(x,y,t)=I(x+△x,y+△y,t+△t)。根據(jù)假設(shè)(2)對I(x,y,t)=I(x+△x,y+△y,t+△t)右邊進(jìn)行泰勒展開式,忽略掉二階及以上項,變形得:Ix·u+Iy·v+It=0,該式即為光流基本約束方程,其中分別表示圖像灰度空間對空間和時間的偏導(dǎo)數(shù)。分別表示光流的水平和垂直分量。光流基本約束方程將圖像灰度的時空梯度與光流兩個分量聯(lián)系起來,但是一個方程不能求兩個未知變量,需要引進(jìn)其他約束,引進(jìn)不同的約束就形成了不同的光流算法。如H-S算法就是在基本約束方程的基礎(chǔ)上引進(jìn)光流場全局平滑約束,該算法是將圖像中的每一個像素點都與速度關(guān)聯(lián)的一種稠密光流場計算方法,該方法計算所需時間較長,實時性差。L-K算法是在基本約束方程的基礎(chǔ)上引進(jìn)局部一階約束,是一種稀疏光流計算方法。L-K算法只需要計算感興趣點周圍的小窗口局部信息就可得到感興趣點的稀疏光流場。與稠密光流算法相比,稀疏光流算法不需要逐點計算光流,計算效率得到提高。在稀疏光流算法中,如何進(jìn)一步提高計算出感興趣點的速度,進(jìn)一步降低整個光流計算過程所需時間,是我們應(yīng)該探索的領(lǐng)域。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供一種光流計算方法,該發(fā)明解決了現(xiàn)有技術(shù)中光流計算耗時長,難以滿足實時性要求的技術(shù)問題。參見圖1~2,本發(fā)明提供的光流計算方法,先通過Fast角點算法確定視頻當(dāng)前幀的Fast角點,然后用Shi-Tomasi算法對候選角點進(jìn)行計算,快速確定強角點,最后對獲取的強角點用L-k光流算法計算光流,得到光流場。該算法與大多數(shù)需要計算每個像素點的稠密光流算法相比,大大減少了運行時間;與其他稀疏光流算法相比,在強角點的提取過程中通過先粗略選取Fast角點,再精確計算強角點,在節(jié)約了計算所需時間的同時,提高了計算所得光流結(jié)果的精確度。該算法具體流程如下:參見圖1,步驟S100:通過強角點檢測算法提取所處理視頻中圖像I的角點,包括以下步驟:步驟S110:初始化,從待處理視頻中獲取需要計算光流的圖像I,調(diào)用灰度化函數(shù)將圖像I灰度化;步驟S120:對灰度化圖像I用Fast角點檢測算法確定灰度化圖像I中的所有的Fast角點,并存儲;具體包括以下步驟:設(shè)定閾值t,t的值根據(jù)實際視頻具體設(shè)置。以待求的像素點Pi為圓心,以3個像素為半徑作圓,所得圓周上包含了16個像素點,設(shè)I(Pi)為Pi點的灰度值,F(xiàn)ast角點檢測算法計算結(jié)果中:如果16個像素點中任意12個連續(xù)的像素點的像素灰度值大于I(Pi)+t或小于I(Pi)-t,則認(rèn)為該像素點Pi為Fast角點,存儲起來,否則,認(rèn)為像素點Pi不是Fast角點。步驟S130:用Shi-Tomasi算法逐一計算Fast角點并判斷Fast角點是否為Shi-Tomasi強角點,得到最終需要的強角點,并存儲:如果Fast角點是Shi-Tomasi強角點,則將該點設(shè)置為最終需要的強角點;如果Fast角點不是Shi-Tomasi強角點,則舍棄該點,遍歷所有Fast角點,通過Shi-Tomasi角點檢測算法計算得到多個最終需要的強角點;給定閾值λ。參見圖2,步驟S200:采用L-K光流算法計算所提取的圖像I中的各最終需要的強角點對應(yīng)的光流,遍歷各最終需要的強角點,輸出光流結(jié)果,求得光流場。其中步驟S120包括以下步驟:選擇灰度化后的圖像I中的一個像素點Pi,設(shè)其灰度值為I(Pi),以Pi為圓心,以半徑為3個像素作圓,考慮圓周上的16個像素點,給定一個閾值t,當(dāng)16個像素點上有12個連續(xù)的像素點像素灰度值大于I(pi)+t或小于I(pi)-t時,則確定該點為一個Fast角點?,F(xiàn)有的Fast角點檢測算法比其他角點檢測算法檢測速度雖然快很多,但當(dāng)所處理圖像中噪聲點較多時,效果并不理想。這主要是因為檢測出的角點是依據(jù)閾值來確定的。而閾值的設(shè)定難以一次就獲得較好的計算記過。所以,本發(fā)明提供方法中用Fast角點檢測算法計算出Fast角點后,對這些Fast角點作進(jìn)一步篩選,通過Shi-Tomasi角點檢測算法計算出其中的強角點,得到最終需要的強角點。這樣做能避免對每個像素點都進(jìn)行Shi-Tomasi角點檢測運算,而只需對fast算法計算出的Fast角點進(jìn)行計算,這樣做大大減少了Shi-Tomasi角點檢測的計算量,節(jié)省了計算時間。使得本發(fā)明提供的方法中所用Fast角點檢測算法比其他現(xiàn)有的角點檢測算法對強角點的提取做到了既快又準(zhǔn)。該方法首先通過對當(dāng)前幀圖像I中的Fast角點進(jìn)行粗略提取,從而實現(xiàn)了對計算時間的有效縮短,避免給長時間的提取角點,同時避免了現(xiàn)有方法中對所提取的大量角點進(jìn)行大量計算的計算時間,從而提高計算效率。優(yōu)選的,步驟S130中對于Shi-Tomasi強角點的確定包括以下步驟:設(shè)圖像I中像素點p(x,y)處的灰度為I(x,y),以P點為中心建立一個n·n的窗口Ω,將窗口平移[△x,△y],則該窗口內(nèi)的灰度變化E[△x,△y]為:E[Δx,Δy]=Σ(x,y)∈Ωw(x,y)[I(x+Δx,y+Δy)-I(x,y)]2---(1)]]>其中,w(x,y)為窗口函數(shù),在領(lǐng)域中心點具有較高值,邊緣點值較小。對于微小的平移,將I(x+△x,y+△y)進(jìn)行泰勒展開并忽略二階及以上項,帶入(1)式可得:E[Δx,Δy]=Δx2Σ(x,y)∈Ωw(x,y)Ix2+2ΔxΔyΣ(x,y)∈Ωw(x,y)IxIy+Δy2Σ(x,y)∈Ωw(x,y)Iy2---(2)]]>其中,Ix、Iy分別表示圖像灰度在x和y方向的偏導(dǎo)數(shù),將(2)寫成矩陣的形式:E(Δx,Δy)=[Δx,Δy]MΔxΔy---(3)]]>其中M為2×2的矩陣:M=Σ(x,y)∈Ωw(x,y)Ix2Σ(x,y)∈Ωw(x,y)IxIyΣ(x,y)∈Ωw(x,y)IxIyΣ(x,y)∈Ωw(x,y)Iy2---(4)]]>對于像素點p(x,y),若矩陣M的兩個特征值λ1和λ2中,相對較小的特征值大于給定的閾值λ,即λ1≥λ2且λ2≥k·λ2max(λ2max是所有像素點較小特征值中的最大值,k為系數(shù),k·λ2max即為前面給定的閾值λ),那么像素點p(x,y)為Shi-Tomasi強角點。如果像素點p(x,y)對于的矩陣M的兩個特征值不滿足上述條件,那么該像素點p(x,y)不是Shi-Tomasi強角點。本發(fā)明提出的角點提取算法就是先用Fast角點算法計算得到Fast角點,然后遍歷Fast角點,逐一對各Fast角點進(jìn)行Shi-Tomasi角點計算,得到Shi-Tomasi強角點。強角點提取之后,利用L-K光流算法對求得的強角點計算光流。我們知道,L-K算法是基于3個假設(shè)的,即亮度恒定、連續(xù)緩慢運動、空間一致??臻g一致性即局部區(qū)域的像素運動是一致的,可以建立鄰域像素的系統(tǒng)方程求解中心像素的運動。鄰域窗口的大小可以自己選定,但是窗口太大會違背運動一致性的假設(shè),太小會產(chǎn)生光流無法求解的孔徑問題。優(yōu)選的,L-K算法中鄰域窗口為5×5。具體的步驟S200包括以下步驟:根據(jù)光流約束方程Ix·u+Iy·v+It=0,其中u、v為像素點的光流分量,建立25個方程:通過公式(6)來求解最小化的||Ad-b||2,即(ATA)d=ATb(6)由線性代數(shù)相關(guān)知識可知,當(dāng)(AAT)可逆時,方程組的解如下:uv=(ATA)ATb---(7)]]>當(dāng)(ATA)滿秩,即秩為2時,(ATA)有兩個較大的特征向量,(ATA)可逆。當(dāng)圖像中的紋理至少包含兩個梯度方向時就可以滿足該條件,求得方程的解,得到光流。采用該角點提取方法的稀疏光流算法能減少計算量,提高計算效率。對提取的角點進(jìn)行光流計算的具體計算方法按現(xiàn)有的L-K光流計算方法進(jìn)行。本發(fā)明的技術(shù)效果:1、本發(fā)明提供的光流計算方法,采用基于Fast角點檢測算法的候選角點提取,省去了逐點計算Shi-Tomasi角點的繁瑣,簡化了計算過程,從而使得強角點的提取既快又準(zhǔn),在保證計算精度的前提下,提高了計算效率。2、本發(fā)明提供的光流計算方法,采用稀疏光流算法,對于圖像特征點的稀疏光流算法比稠密光流算法計算量少,實時性好,能滿足工程上實時獲取計算結(jié)果的需求。具體請參考根據(jù)本發(fā)明的光流計算方法提出的各種實施例的如下描述,將使得本發(fā)明的上述和其他方面顯而易見。附圖說明圖1是本發(fā)明提供的光流計算方法中強角點檢測算法的流程示意圖;圖2是本發(fā)明提供的光流計算方法中對獲取的強角點計算光流的流程示意圖;圖3是本發(fā)明優(yōu)選實施例和對比例中用于計算光流時所處理的連續(xù)兩幀圖像中的第一幀圖像;圖4是本發(fā)明優(yōu)選實施例和對比例中用于計算光流時所處理的連續(xù)兩幀圖像中的第二幀圖像;圖5是本發(fā)明優(yōu)選實施例和對比例中所得光流計算耗時結(jié)果示意圖。具體實施方式構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。下面通過實施例和對比例的比較,說明本發(fā)明提供的光流計算方法與現(xiàn)有光流計算法的計算速度的不同。本發(fā)明實施例中未詳述部分均按現(xiàn)有方法進(jìn)行計算和處理。本實驗的平臺為Matlab7.1。從同一段視頻中任取出兩幀連續(xù)的圖像作為本實施例和對比例中所處理圖像對象(連續(xù)兩幀中的第一幀為待處理圖,第二幀為處理結(jié)果參考圖),如圖3~4所示,圖像大小為200*200像素。圖5為第一幀圖像計算得到的光流計算結(jié)果圖,光流方向為右下方,可以知道,第二幀中的云圖像較第一幀中的云圖像發(fā)生了向右下方的移動。計算圖像偏導(dǎo)數(shù)時梯度算子為:ft為4點像素差。窗口函數(shù)w(x,y)選擇高斯函數(shù),方差為sigma=1,窗口大小為5*5,F(xiàn)ast算法中的閾值t為20,Shi-Tomasi算法中的閾值k為0.04。采用本發(fā)明提供方法處理圖3~4所示圖像,作為實施例。僅采用L-K光流算法進(jìn)行光流計算作為對比例1,采用直接先提取Shi-Tomasi角點再用L-K光流算法計算Shi-Tomasi角點光流作為對比例2。對比例1~2中所用各方法均按
背景技術(shù):
中提到的該方法的常用步驟進(jìn)行。對比例1:原始的L-K光流算法計算的運行時間為1.073秒。對比例2:直接先提取Shi-Tomasi角點再用L-K光流算法計算Shi-Tomasi角點光流的運行時間為0.302秒。采用本發(fā)明提供的光流計算方法,該實施例的運行時間為0.201秒。本發(fā)明提供的光流計算方法所需計算時間遠(yuǎn)低于現(xiàn)有光流計算方法。實施例所得光流計算結(jié)果列于圖5中,由圖5可知,該方法能有效計算出光流的大小和方向。由此可見,本發(fā)明提供方法能滿足工程上實時獲取計算結(jié)果的要求。本發(fā)明提出的只針對特征角點計算光流的稀疏光流計算方法大大節(jié)省了計算時間。在角點檢測時,先用Fast角點檢測得到Fast角點,再用Shi-Tomaasi角點檢測算法對候選點進(jìn)行計算,得到最終需要的角點,該方法能夠快速、準(zhǔn)確的獲取特征角點,有很好的實用性。本領(lǐng)域技術(shù)人員將清楚本發(fā)明的范圍不限制于以上討論的示例,有可能對其進(jìn)行若干改變和修改,而不脫離所附權(quán)利要求書限定的本發(fā)明的范圍。盡管己經(jīng)在附圖和說明書中詳細(xì)圖示和描述了本發(fā)明,但這樣的說明和描述僅是說明或示意性的,而非限制性的。本發(fā)明并不限于所公開的實施例。通過對附圖,說明書和權(quán)利要求書的研究,在實施本發(fā)明時本領(lǐng)域技術(shù)人員可以理解和實現(xiàn)所公開的實施例的變形。在權(quán)利要求書中,術(shù)語“包括”不排除其他步驟或元素,而不定冠詞“一個”或“一種”不排除多個。在彼此不同的從屬權(quán)利要求中引用的某些措施的事實不意味著這些措施的組合不能被有利地使用。權(quán)利要求書中的任何參考標(biāo)記不構(gòu)成對本發(fā)明的范圍的限制。當(dāng)前第1頁1 2 3