專利名稱:基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及拋體的檢測與軌跡預(yù)測領(lǐng)域,特別涉及一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,應(yīng)用于包括球類比賽(乒乓球、羽毛球等)球體軌跡的數(shù)據(jù)分析、某些針對拋體運行軌跡進(jìn)行某些動作的機器人系統(tǒng),以及其他用到此技術(shù)的領(lǐng)域。
背景技術(shù):
實現(xiàn)拋體檢測與軌跡預(yù)測的方案很多,目前較多采用立體視覺的方法。由于視覺系統(tǒng)受光照變化、環(huán)境變化影響較大,雖然有很多技術(shù)能夠適應(yīng)環(huán)境與光照的變化,但仍然是一個很有挑戰(zhàn)的課題。且雙目視覺系統(tǒng)對處理器計算能力要求較高,算法非常復(fù)雜,成本也較聞。Kinect是美國微軟公司推出的一款體感設(shè)備,一般用于開發(fā)在XBox360游戲主機上運行的體感交互游戲。Kinect從技術(shù)本質(zhì)上來說是一個RGB-D傳感器,微軟同時提供了有關(guān)人體檢測以及人體各關(guān)節(jié)位置檢測的算法。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提供一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,以感知拋體的三維坐標(biāo),相比傳統(tǒng)的立體視覺方法,其在變光照環(huán)境下可靠性更強,且無需進(jìn)行立體相機標(biāo)定以及立體視覺匹配算法,整個方案簡單且穩(wěn)定,成本較低。本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,包括以下步驟:
51、深度背景建模,包括:
5101、將背景像素的所有深度值量化并標(biāo)準(zhǔn)化到0-255的范圍之內(nèi);
5102、對背景像素的每一像素點采用一布爾型數(shù)組來存儲該像素在一段時間X內(nèi)的所有深度值,得到一數(shù)據(jù)區(qū)域,作為背景模型;
52、采用Kinect的API函數(shù)獲取圖像的深度信息;
53、對拋體圖像的深度信息進(jìn)行前景提取,得到前景圖像;
54、將前景圖像分割為若干獨立的連通分量;
55、判斷連通分量是否為拋體,并通過Kinect的深度相機的標(biāo)定模型計算拋體的三維坐標(biāo);
56、將空氣阻力作為濾波的狀態(tài)量之一進(jìn)行濾波,對拋體進(jìn)行軌跡預(yù)測。較佳的,布爾型數(shù)組的大小為255,數(shù)據(jù)區(qū)域為寬度X高度X255。較佳的,前景提取包括:設(shè)一像素坐標(biāo)(x,y)的深度值量化到0-255之后的取值為a,判斷像素坐標(biāo)在背景模型中對應(yīng)的像素(X,y)的布爾型數(shù)組中的a-3至a+3項中是否存在“true”項,是則該像素為背景,否則為前景。較佳的,步驟S4是采用種子填充的方法將前景圖像分割為若干獨立的連通分量。
較佳的,濾波是采用Kalman濾波方式。較佳的,深度背景建模是采用codebook背景建模。較佳的,X為10分鐘。
圖1為本發(fā)明一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法的流程圖。圖2為本發(fā)明一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法的一較佳實施例。
具體實施例方式下面結(jié)合實施例對本發(fā)明作詳細(xì)說明,本實施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實施,給出了詳細(xì)的實施方式,但本發(fā)明的保護(hù)范圍不限于下述的實施例。請參考圖1,本發(fā)明的流程圖,按照如下步驟實現(xiàn):
1、深度背景建模
考慮到檢測拋體的環(huán)境可能是在背景復(fù)雜且相對固定的環(huán)境,因此有必要對背景進(jìn)行建模,背景建模的作用是為了在輸入圖像中更好地分別背景和前景??紤]到背景可能不是一成不變的,本發(fā)明采用一種codebook來描述背景中感興趣的狀態(tài)。Codebook是背景建模的常用手段之一,本發(fā)明在此不做贅述和限制。具體做法如下:
將所有可能的深度值量化并標(biāo)準(zhǔn)化到0-255的范圍之內(nèi);
對圖像中每一個像素點,采集一段時間(典型值為10分鐘)深度值。用一個大小為255的布爾型數(shù)組來存儲該像素在這10分鐘之內(nèi)所有被采集到的深度值;
對圖像中的所有像素執(zhí)行以上操作,得到一個(圖像寬度*圖像高度* 255)的數(shù)據(jù)區(qū)域,作為最終的背景模型。2深度圖獲取
采用Kinect官方提供的API函數(shù)可直接獲得圖像深度信息。3前景提取
將背景模型應(yīng)用在輸入圖像中,則可提取前景模型,亦即將背景部分從圖像中剔除掉。提取方法如下:設(shè)像素坐標(biāo)(x,y)的深度值量化到0-255之后的取值為a,則判斷背景模型中對應(yīng)像素(x,y)的布爾型數(shù)組中的第a-3項至第a+3項共七個布爾值中,有沒有為“true”的項,如果存在,則認(rèn)為該像素是背景,否則該像素是前景。4圖像分割
圖像分割的作用是將提取出來的前景圖像分割成獨立連通的分量。本發(fā)明采用種子填充的方法,將前景分割成各個彼此獨立的連通分量。5拋體識別
拋體識別是對圖像分割之后的各個連通分量進(jìn)行判別,判別其是否屬于拋體。判斷的依據(jù)包括:連通區(qū)域的大小尺寸、連通區(qū)域的形狀特征、連通區(qū)域的運動情況是否符合一般的拋體運動規(guī)律,依據(jù)以上判據(jù),將對拋體進(jìn)行識別,并通過Kinect深度相機的標(biāo)定模型,計算出拋體的三維坐標(biāo)。6基于Kalman濾波的軌跡預(yù)測 本發(fā)明采用Kalman濾波的方式,對拋體進(jìn)行軌跡預(yù)測。需要指出的是,考慮到拋體的空氣阻力模型與系數(shù)的不確定性,本發(fā)明將拋體的空氣阻力系數(shù)作為Kalman濾波(卡爾曼濾波,一種現(xiàn)有濾波技術(shù),本發(fā)明在此不做贅述和限制)的狀態(tài)量一起進(jìn)行估計,使得本發(fā)明能夠適應(yīng)各種不同類型的拋體。請參考圖2,為了便于技術(shù)人員理解本發(fā)明,以下提供一本發(fā)明所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法的較佳實施例,但本發(fā)明并不以此為限。以兵兵球軌跡預(yù)測為例,所需包括:兵兵球臺,Kinect設(shè)備(為了更全面的覆蓋球臺,在此采用了兩臺Kinect設(shè)備,本發(fā)明在此不做限制),信號處理設(shè)備連接上述兩臺Kinect設(shè)備,用于信號處理與軌跡預(yù)測。( I)該實施例的主要功能包括:
1、乒乓球軌跡重現(xiàn)與測速系統(tǒng):系統(tǒng)實時記錄乒乓球的三維軌跡,并可在播放慢鏡頭時重放乒乓球軌跡序列與實時速度,達(dá)到比賽信息多方位重現(xiàn)的目的;
2、乒乓球自動計分系統(tǒng):通過對軌跡的判斷,對比賽進(jìn)行自動計分;
3、乒乓球裁判輔助系統(tǒng):對于一些人眼不好判別的情況,采用該系統(tǒng)可以進(jìn)行準(zhǔn)確的判斷。( 2 )該實施例的使用流程如下:
1、背景建模:布置好球臺之后,在非比賽期間對背景進(jìn)行建模;
2、空阻參數(shù)辨識:讓運動員進(jìn)行一場訓(xùn)練比賽,在比賽過程中系統(tǒng)將對乒乓球的空阻參數(shù)進(jìn)行學(xué)習(xí);
3、比賽中實際使用。另外,根據(jù)上述實施例,本發(fā)明還可以擴展應(yīng)用于乒乓球機器人中,即在上述實施例中加入機器人代替運動員,機器人根據(jù)Kinect設(shè)備對乒乓球的軌跡預(yù)測,對機械臂進(jìn)行軌跡規(guī)劃完成回球功能。一臺機器人可用于人機對打,兩臺機器人可用于機器人之間對打,可應(yīng)用于科技館展覽項目或其他領(lǐng)域。本發(fā)明的主要優(yōu)點有兩點:
I)可靠性優(yōu)勢:相對于視覺系統(tǒng)而言,Kinect利用結(jié)構(gòu)光技術(shù),對于光照變化、環(huán)境變化有很高的魯棒性。且立體視覺系統(tǒng)是通過間接的解算方式計算深度信息,而Kinect可直接獲取深度信息,大大簡化了計算代價。2)成本優(yōu)勢=Kinect作為微軟推出的民用體感交互產(chǎn)品,其成本很低。如果采用立體視覺方案且需要適應(yīng)一定的光照與環(huán)境變化,則相機的成本與處理器的成本均會遠(yuǎn)超過本發(fā)明所闡述的方案。以上公開的僅為本申請的一個具體實施例,但本申請并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本申請的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,包括以下步驟: 51、深度背景建模,包括: 5101、將背景像素的所有深度值量化并標(biāo)準(zhǔn)化到0-255的范圍之內(nèi); 5102、對背景像素的每一像素點采用一布爾型數(shù)組來存儲該像素在一段時間X內(nèi)的所有深度值,得到一數(shù)據(jù)區(qū)域,作為背景模型; 52、采用Kinect的API函數(shù)獲取圖像的深度信息; 53、對所述拋體圖像的深度信息進(jìn)行前景提取,得到前景圖像; 54、將前景圖像分割為若干獨立的連通分量; 55、判斷所述連通分量是否為拋體,并通過Kinect的深度相機的標(biāo)定模型計算所述拋體的三維坐標(biāo); 56、將空氣阻力作為濾波的狀態(tài)量之一進(jìn)行濾波,對拋體進(jìn)行軌跡預(yù)測。
2.如權(quán)利要求1所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述布爾型數(shù)組的大小為255,所述數(shù)據(jù)區(qū)域為寬度X高度X255。
3.如權(quán)利要求1所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述前景提取包括:設(shè)一像素坐標(biāo)U,y)的深度值量化到0-255之后的取值為a,判斷所述像素坐標(biāo)在背景模型中對應(yīng)的像素(X,y)的布爾型數(shù)組中的a-3至a+3項中是否存在“true”項,是則該像素為背景,否則為前景。
4.如權(quán)利要求1所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述步驟S4是采用種子填充的方法將前景圖像分割為若干獨立的連通分量。
5.如權(quán)利要求1所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述濾波是采用Kalman濾波方式。
6.如權(quán)利要求1所述的一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述深度背景建模是采用codebook背景建模。
7.如權(quán)利要求1所述的一種基 于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,其特征在于,所述X為10分鐘。
全文摘要
一種基于Kinect的拋體檢測、三維定位與軌跡預(yù)測方法,包括以下步驟S1、深度背景建模,包括S101、將背景像素的所有深度值量化并標(biāo)準(zhǔn)化到0-255的范圍之內(nèi);S102、對背景像素的每一像素點采用一布爾型數(shù)組來存儲該像素在一段時間x內(nèi)的所有深度值,得到一數(shù)據(jù)區(qū)域,作為背景模型;S2、采用Kinect的API函數(shù)獲取拋體圖像的深度信息;S3、對拋體圖像的深度信息進(jìn)行前景提取,得到前景圖像;S4、將前景圖像分割為若干獨立的連通分量;S5、判斷連通分量是否為拋體,并通過Kinect的深度相機的標(biāo)定模型計算拋體的三維坐標(biāo);S6、將空氣阻力作為濾波的狀態(tài)量之一進(jìn)行濾波,對拋體進(jìn)行軌跡預(yù)測。
文檔編號G06T7/20GK103218826SQ201310087780
公開日2013年7月24日 申請日期2013年3月19日 優(yōu)先權(quán)日2013年3月19日
發(fā)明者陶熠昆, 王聰穎, 王宏濤, 周連杰 申請人:浙江中控研究院有限公司, 浙江國自機器人技術(shù)有限公司