專利名稱:一種基于gpu加速連續(xù)粒子群優(yōu)化的三維物體跟蹤方法
技術領域:
本發(fā)明涉及計算機視覺與圖形學領域,尤其涉及一種基于GPU加速連續(xù)粒子群優(yōu)化的三維物體跟蹤方法。
背景技術:
三維物體的跟蹤技術是近些年來計算機視覺領域里的前沿研究方向之一,也是該領域中的難點之一。特別是對于多自由度,甚至是多關節(jié)的剛性物體的跟蹤方法的研究受到了世界許多重要研究機構(gòu)的高度重視,這充分體現(xiàn)了它的研究價值和意義。跟蹤問題等價于在連續(xù)的圖像幀間創(chuàng)建基于位置、速度、形狀、紋理和色彩等有關的特征的對應匹配問題。而三維跟蹤又將跟蹤問題上升到了一個新的高度,不僅要匹配物體的位置,而且要將它的旋轉(zhuǎn)角度等信息相匹配。大體上,三維跟蹤主要有兩種常用的方法,即基于表征的跟蹤方法和基于模型的跟蹤方法?;诒碚鞯母櫡椒ㄊ侵苯訉@取的表征信息進行統(tǒng)計分析,與定義好的模板或者樣本進行比較,選擇一個最接近的。這種方法往往需要大量的前期工作進行訓練學習,樣本采集等。而基于模型的方法,需要定義一個與待跟蹤物體結(jié)構(gòu)形狀相同的模型,通過虛擬物體的變化來產(chǎn)生大量的假設狀態(tài),最終選擇一個與觀察圖像最為接近的狀態(tài)作為跟蹤結(jié)果。基于模型的三維物體跟蹤方法是最為常用也是最有應用前景的方法之一?;谀P偷娜S跟蹤方法的優(yōu)點就在于它可以跟蹤物體的任意位置和姿態(tài),甚至可以跟蹤多關節(jié)物體的姿態(tài),并且這種位置姿態(tài)不受訓練樣本的約束。基于模型的方法首先要建立一個與跟蹤物體相同的模型,這個模型是用于進行狀態(tài)假設的,通過對比虛擬模型在虛擬視角的圖像與實際采集得到的圖像,來得到當前虛擬模型的狀態(tài)與實際模型的狀態(tài)之前的差異的大小。為了能夠更加精確的跟蹤物體的三維狀態(tài),需要大量的估計狀態(tài),并且進行對比計算出每個狀態(tài)的適應度,而且需要采用一種狀態(tài)更新的機制來使得假設狀態(tài)與觀察狀態(tài)越來越接近,最終達到一個最優(yōu)的效果。實時的三維跟蹤問題是一個更加嚴峻的挑戰(zhàn),即需要通過高復雜度的跟蹤計算方法來實現(xiàn)跟蹤的精確性,同時,又需要將該跟蹤方法應用于實時的系統(tǒng)中。一方面,需要實現(xiàn)滿足要求的跟蹤方法,另一方面,需要采用特殊的計算方式來解決實時性問題,如采用并行計算、離線樣本訓練等方法。針對三維物體的跟蹤方法而言,基于模型的跟蹤問題可以通過優(yōu)化算法來實現(xiàn)。一般采用隨機性跟蹤方法,如粒子濾波(Particle Filter),也被稱作時序蒙特卡羅方法,是最為廣泛使用的隨機性方法之一。通常需要大量的粒子進行更新計算,但是計算量比較大,隨著目標維數(shù)的增加呈指數(shù)增長。近些年,也有很多研究者嘗試采用粒子群優(yōu)化算法來進行跟蹤,也取得了一定的進展,但是沒有很好的解決實時跟蹤的問題,特別針對多關節(jié)跟蹤問題,往往達不到實時的效果
發(fā)明內(nèi)容
為了解決現(xiàn)有技術存在的問題,本發(fā)明提出一種適用于多自由度,多關節(jié)的物體的實時三維跟蹤方法。為了實現(xiàn)上述目的,本發(fā)明提出一種基于GPU加速連續(xù)粒子優(yōu)化的三維物體跟蹤方法,深入的探究了連續(xù)粒子群的優(yōu)化方法,并且實現(xiàn)了一種基于GPU的快速計算方法,其步驟如下:步驟1:采集三維物體的觀察圖像,提取相應的圖像特征信息;步驟2:初始化當前圖像幀的粒子群狀態(tài);步驟3:根據(jù)當前粒子群中每個粒子所對應的假設模型,得到三維物體的假設圖像,并提取該假設圖像的特征信息;步驟4:運用基于GPU的并行算法,將觀察圖像的特征信息與每個粒子對應的假設圖像的特征信息進行比較,得到每個粒子的適應度;步驟5:根據(jù)適應度的大小更新得到本次迭代過程中粒子群的個體最優(yōu)狀態(tài)和局部最優(yōu)狀態(tài);步驟6:如果當前圖像幀的迭代過程還未結(jié)束,則根據(jù)粒子群的個體最優(yōu)狀態(tài)和局部最優(yōu)狀態(tài)更新得到下一次迭代時粒子群狀態(tài),并進入步驟3進行下一次迭代;否則根據(jù)粒子群的個體最優(yōu)狀態(tài)得到三維物體的最終跟蹤狀態(tài)。本發(fā)明的有益效果是:I)本發(fā)明采用連續(xù)粒子群優(yōu)化算法來模擬跟蹤問題,利用了前續(xù)跟蹤結(jié)果來初始化當前幀的粒子狀態(tài),相比于傳統(tǒng)的粒子群優(yōu)化算法具有更好的連續(xù)性與自適應性。2)本發(fā)明采用了基于GPU的并行算法來實現(xiàn)粒子狀態(tài)的更新,粒子適用度的計算,使得整個跟蹤過程能夠滿足實時性要求。3)本發(fā)明不僅適用于簡單物體的6自由度跟蹤,同時可以應用于多關節(jié)物體更多自由度的實時跟蹤。
圖1為依照本發(fā)明實施例的基于GPU加速粒子群優(yōu)化的三維物體跟蹤方法的流程圖;圖2為依照本發(fā)明實施例的基于GPU加速粒子群優(yōu)化的6自由度三維物體跟蹤過程展示圖;圖3為依照本發(fā)明實施例的基于GPU加速粒子群優(yōu)化的26自由度人手的三維跟蹤過程展示圖;圖4為依照本發(fā)明實施例的基于GPU加速粒子群優(yōu)化的并行計算每個粒子適應值的方法流程圖;圖5為依照本發(fā)明實施例的基于GPU加速粒子群優(yōu)化的CUDA內(nèi)核設計和數(shù)據(jù)儲存與并行計算流程圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。
本發(fā)明提出了一種基于GPU加速粒子群優(yōu)化的三維物體跟蹤方法,如圖1所示,該方法包括以下步驟:步驟1:針對待跟蹤的三維物體,構(gòu)建與之對應的三維模型。即該三維模型能夠準確地表達待跟蹤物體的結(jié)構(gòu),包括自由度、關節(jié)等。在構(gòu)建二維I旲型之后,可以進行基于GPU加速連續(xù)粒子群優(yōu)化的三維物體跟蹤過程。其中粒子群包括多個粒子,每個粒子表示三維物體的一個假設狀態(tài),而粒子群狀態(tài)包括每個粒子的當前位置和速度。步驟2:采集圖像。利用圖像背景減除方法或者基于深度信息的分割方法處理圖像,生成觀察圖像,將觀察圖像通過基于GPU的并行算法,提取相應的圖像特征信息。本發(fā)明的優(yōu)選實施例中采用基于深度信息的分割方法處理圖像,但是本發(fā)明并不局限于深度相機。通過深度域值的選擇,將待跟蹤物體所在的位置圖像分離出來,得到只包含跟蹤物體的前景圖像。該分割操作是在深度圖像的基礎上進行的,因此最終的觀察圖像也是一個深度圖像。為了達到更加自然的運動效果,即物體可以在三維空間中沿任意方向移動并同時繞物體中心自由旋轉(zhuǎn),本發(fā)明的優(yōu)選采用手持方式控制三維物體的運動,但是本發(fā)明并不局限于用手來控制三維物體的運動。該情況下生成觀察圖像的過程中采用了基于皮膚顏色的分割方法將屬于手的部分分割掉,生成最終的觀察圖像。針對多自由度關節(jié)物體的跟蹤,本發(fā)明優(yōu)先采用人手的三維跟蹤,但是本發(fā)明并不局限于對于手的三維跟蹤。該情況下生成觀察圖像的過程中采用了基于皮膚顏色的分割方法將手區(qū)域分離,剔除背景,生成最終的觀察圖像。本發(fā)明優(yōu)選實施例的物體跟蹤過程如圖2和圖3所示,其中圖
2展示了 6自由度的三維長方體物體跟蹤過程,圖3展示了 26自由度人手的三維跟蹤過程。圖2和圖3中的左上子圖為觀察圖像示例,圖中的灰色像素表達了觀察圖像的深度信息,而白色像素表示深度值為零的區(qū)域即背景區(qū)域。然后,將觀察圖像通過基于GPU的并行算法,提取相應的圖像特征信息。具體為,采用CUD A并行架構(gòu)進行加速處理,將觀察圖像寫入CUDA,本發(fā)明的優(yōu)選實施例采用深度值作為特征信 息,但是本發(fā)明并不局限于深度特征。通過對圖像分塊,每個線程操作一個像素點,來達到加速的目的。具體的提取特征的方法為:對每個像素的信息進行線性變換,使整個圖像所表達的深度信息與真實攝像機觀察的深度保持一致,其中背景區(qū)域的像素的深度值仍然為0,生成特征圖像ο ;同時將屬于背景區(qū)域的像素點的值設為0,其它為1,生成一個二值化觀察圖像ob。ο和ob將用來計算誤差圖像。圖5中基于CUDA的內(nèi)核I用于并行計算觀察圖像的特征。步驟3.初始化連續(xù)粒子群狀態(tài)。如果是第一次進行跟蹤,即對圖像第一幀和第二幀進行跟蹤時,則粒子群的初始化在初始迭代過程時需要一個手動的初始化過程。將待跟蹤物體與虛擬物體進行手動對齊,即采集的待跟蹤物體的真實圖像與視景中相應的三維模型在位置方向上進行大致對齊,來初始化粒子群,即初始化粒子群中每個粒子的位置和速度。在后續(xù)跟蹤過程中,即對于第三幀圖像以后的每一幀,在第一次迭代過程中,粒子群自動初始化它的所有粒子的狀態(tài),從而形成連續(xù)粒子群優(yōu)化。具體的自動初始化方法為:利用前兩幀圖像的粒子群最優(yōu)結(jié)果來對當前幀粒子的位置進行更新:
權(quán)利要求
1.一種基于GPU加速連續(xù)粒子群優(yōu)化的三維物體跟蹤方法,包括以下步驟: 步驟1:采集三維物體的觀察圖像,提取相應的圖像特征信息; 步驟2:初始化當前圖像幀的粒子群狀態(tài); 步驟3:根據(jù)當前粒子群中每個粒子所對應的假設模型,得到三維物體的假設圖像,并提取該假設圖像的特征信息; 步驟4:運用基于GPU的并行算法,將觀察圖像的特征信息與每個粒子對應的假設圖像的特征信息進行比較,得到每個粒子的適應度; 步驟5:根據(jù)適應度的大小更新得到本次迭代過程中粒子群的個體最優(yōu)狀態(tài)和局部最優(yōu)狀態(tài); 步驟6:如果當前圖像幀的迭代過程還未結(jié)束,則根據(jù)粒子群的個體最優(yōu)狀態(tài)和局部最優(yōu)狀態(tài)更新得到下一次迭代時粒子群狀態(tài),并進入步驟3進行下一次迭代;否則根據(jù)粒子群的個體最優(yōu)狀態(tài)得到三維物體的最終跟蹤狀態(tài)。
2.按權(quán)利要求1所述的三維物體跟蹤方法,其特征在于,步驟I中提取圖像特征信息的過程如下: 步驟11:運用深度信息將物體與背景相分離; 步驟12:運用CUDA對觀察圖像進行并行計算處理,每個線程處理一個像素點,將屬于背景區(qū)域的像素點的值設為O,其它為1,得到觀察圖像的二值化特征。
3.按權(quán)利要求1所述的三維物體跟蹤方法,其特征在于,步驟2中所述初始化當前圖像幀的粒子群狀態(tài)為利用前兩幀圖像的粒子群最優(yōu)狀態(tài)對當前幀圖像的粒子群狀態(tài)進行更新,具體包括粒子群的位置更新和速度更新;其中粒子群的位置根據(jù)下式更新:
4.按權(quán)利要求1所述的三維物體跟蹤方法,其特征在于,所述方法還包括構(gòu)建與所要跟蹤的物體對應的三維模型;步驟3中根據(jù)粒子群的狀態(tài)控制所述三維模型的狀態(tài)變化,進而得到所述假設模型,然后對所述假設模型進行模型渲染而生成假設圖像。
5.按權(quán)利要求1所述的三維物體跟蹤方法,其特征在于,步驟4中具體包括: 步驟41:計算假設圖像與觀察圖像之間的誤差圖像,如下所示: D Cr, ο) = Σ min (f (ο).| o-r , dM) / ( Σ (ob V rb) + ε ), 其中,D(r,o)為計算所得到的誤差圖像,ο和r分別為觀察圖像與假設圖像的特征值,Ob和rb為觀察圖像與假設圖像的二值化圖像,dM與ε為控制參數(shù),f (ο)為線性變換函數(shù),用于對觀察圖像ο中的像素值做線性變換,V表示或運算; 步驟42:利用基于CUDA的并行歸約算法,對誤差圖像D (h,O)進行歸約,計算得到每個粒子的適應度。
6.按權(quán)利要求5所述的三維物體跟蹤方法,其特征在于,步驟42中并行歸約算法具體包括: 步驟421:對所述誤差圖像進行索引變換,使得索引按照誤差圖像中每個塊的行列順序排列; 步驟422:對誤差圖像進行多層分塊并行歸約,最終求出所有粒子的適應度。
7.按權(quán)利要求1所述的計算粒子適應度方法,其特征在于,步驟5中根據(jù)適應度大小更新粒子群的個體最優(yōu)狀態(tài)和群體最優(yōu)狀態(tài)具體為:對于每個粒子,其更新后的個體最優(yōu)狀態(tài)為該粒子在本次迭代得到的適應度與前一次迭代得到的適應度兩者中最優(yōu)適應度對應的個體最優(yōu)狀態(tài);而更新后的局部最優(yōu)狀態(tài),則是本次迭代得到的適應度與其相鄰粒子的適應度兩者中最優(yōu)適應度對應的個體最優(yōu)狀態(tài)。
8.按權(quán)利要求1所述的計算粒子適應度方法,其特征在于,步驟6中根據(jù)粒子群個體最優(yōu)狀態(tài)和局部最優(yōu)狀態(tài)更 新粒子群的狀態(tài)具體包括更新粒子群中每個粒子的速度和位置,每個粒子的速度和位置如下計算: Vk+1, i — X (Vk, i+Ciri (Pk, i_Xk, i)+C2r2 (Sk, i_Xk, i)) Xk+1, i — Xk, i+Vk+l, i 其中,xk+i, i為第k+1代第i個粒子的位置,即更新后的粒子狀態(tài),Xkji為第k代第i個粒子的位置,vkj j為第k代第i個粒子在位置xk, i的速度,pk, i為第k代第i個粒子的個體最優(yōu)位置,gk,i為第k代第i個粒子的局部最優(yōu)位置,C1和C2為加速常量,^和r2為在區(qū)域
之間的隨機量,X為預定義系數(shù)。
9.按權(quán)利要求1所述的計算粒子適應度方法,其特征在于,步驟6中根據(jù)迭代次數(shù)是否達到預定次數(shù)來判斷當前圖像幀的迭代過程是否結(jié)束。
10.按權(quán)利要求1所述的計算粒子適應度方法,其特征在于,步驟根據(jù)粒子群的個體最優(yōu)狀態(tài)得到三維物體的最終跟蹤結(jié)果具體為:將粒子群中每個粒子的個體最優(yōu)狀態(tài)對應的適應度進行比較,選擇最優(yōu)適應度對應的粒子的個體最優(yōu)狀態(tài)作為三維物體的最終跟蹤狀態(tài)。
全文摘要
本發(fā)明涉及一種基于GPU加速連續(xù)粒子群優(yōu)化的三維物體跟蹤方法,包括1.采集含有待跟蹤的三維物體的圖像,將三維物體從圖像中分離出來,通過基于GPU的并行算法,提取分離后的圖像的特征,生成觀察特征圖像;2.初始化粒子群的狀態(tài);3.對所有粒子所產(chǎn)生的假設參數(shù)進行并行渲染,生成假設圖,計算假設特征圖像;4.通過基于GPU的并行算法計算誤差圖像;5.處理誤差圖像,計算每個粒子的適應度,更新粒子狀態(tài);6.重復3、4、5,直到粒子更新達到預設的次數(shù);7.尋找全局最優(yōu)假設為最終的跟蹤結(jié)果,完成一次跟蹤過程。本發(fā)明實現(xiàn)了三維物體的多自由度實時跟蹤,并且能夠應用于多關節(jié)剛性物體的跟蹤。
文檔編號G06T7/00GK103093476SQ20131004142
公開日2013年5月8日 申請日期2013年2月1日 優(yōu)先權(quán)日2013年2月1日
發(fā)明者蔣永實, 秦樹鑫 申請人:中國科學院自動化研究所, 常州科學與藝術融合技術研究所