• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      融合幀間差分與碰撞算法的快速跟蹤預(yù)測算法①

      2019-01-07 02:41:04李凱強(qiáng)沈建新
      關(guān)鍵詞:冰球軌跡方向

      李凱強(qiáng),沈建新

      (南京航空航天大學(xué) 機(jī)電學(xué)院,南京 210016)

      近年來,桌上冰球機(jī)器人、羽毛球機(jī)器人、乒乓球機(jī)器人的相繼出現(xiàn),體現(xiàn)了人機(jī)互動(dòng)在人工智能領(lǐng)域的重要性,已逐漸成為目前的熱點(diǎn)研究方向.機(jī)器人的工作原理大致相同:機(jī)器人通過圖像采集系統(tǒng),快速檢測到運(yùn)動(dòng)目標(biāo)的具體位置和運(yùn)動(dòng)狀態(tài),并實(shí)時(shí)的對運(yùn)動(dòng)目標(biāo)實(shí)現(xiàn)擊打.桌上冰球機(jī)器人是在二維平面內(nèi)工作,對本文算法的驗(yàn)證較為簡單,故而本文選取桌上冰球機(jī)器人作為算法的應(yīng)用對象.冰球機(jī)器人通過圖像采集系統(tǒng)獲得冰球滑行過程中的位置信息并對其軌跡進(jìn)行提前預(yù)測,等到冰球滑行到機(jī)器人的攻擊范圍內(nèi),通過伺服控制系統(tǒng)操縱機(jī)械臂,對冰球?qū)崿F(xiàn)擊打.由于冰球滑行的速度非常快,這就對運(yùn)動(dòng)目標(biāo)預(yù)測算法提出了較高要求.由實(shí)際工程測試知道,算法運(yùn)行時(shí)間在30 ms內(nèi)時(shí),冰球機(jī)器人才能實(shí)時(shí)擋住冰球,并有時(shí)間進(jìn)行擊打操作.對于運(yùn)動(dòng)目標(biāo)的軌跡預(yù)測算法,目前應(yīng)用最多的是卡爾曼濾波算法,使用卡爾曼濾波算法對觀測到的軌跡信息進(jìn)行濾波即可估計(jì)出運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)速度,用以預(yù)測軌跡,但當(dāng)運(yùn)動(dòng)目標(biāo)發(fā)生突變?nèi)缗鲎埠筮\(yùn)動(dòng)方向改變,可能會(huì)導(dǎo)致運(yùn)動(dòng)目標(biāo)丟失.基于受力分析的運(yùn)動(dòng)建模方法目前應(yīng)用也十分廣泛,但其經(jīng)常應(yīng)用于無碰撞或碰撞發(fā)生后的軌跡預(yù)測情況[1].考慮到算法運(yùn)行速度的問題,本文通過幀間差分結(jié)合碰撞算法,在冰球與桌邊碰撞前對冰球目標(biāo)軌跡進(jìn)行預(yù)測,提高了算法的運(yùn)行速度,滿足實(shí)時(shí)性的要求.

      1 運(yùn)動(dòng)目標(biāo)冰球檢測算法

      1.1 運(yùn)動(dòng)目標(biāo)檢測算法的種類及特點(diǎn)

      常用的運(yùn)動(dòng)目標(biāo)檢測算法主要有光流法、幀間差分法和背景差分法三類.光流法是利用目標(biāo)的矢量流特征[2],如大小和方向等來檢測運(yùn)動(dòng)區(qū)域,其主要優(yōu)點(diǎn)在于能夠檢測出獨(dú)立的運(yùn)動(dòng)對象,而不需預(yù)知場景的任何信息;缺點(diǎn)是大多數(shù)光流方法的計(jì)算比較復(fù)雜,且抗噪性能差,不能夠快速檢測到運(yùn)動(dòng)目標(biāo).背景差分法是目前目標(biāo)檢測中最常用的方法之一[3,4],它將圖像分為背景和前景,對背景進(jìn)行建模,然后用當(dāng)前幀與背景圖像的差分來檢測運(yùn)動(dòng)區(qū)域.該方法能夠得到比較精確的運(yùn)動(dòng)目標(biāo)信息,但對于動(dòng)態(tài)場景的變化,如光照和外來無關(guān)事件的干擾特別敏感,因此在實(shí)際應(yīng)用中需要加入背景圖象的更新機(jī)制,降低了算法的運(yùn)行速度.幀間差分法是在連續(xù)的圖像序列中兩個(gè)或三個(gè)相鄰幀間,采用逐像素的差分并閾值化來提取出圖像中的運(yùn)動(dòng)區(qū)域,它能較快地檢測出視頻圖像中發(fā)生變化的部分[5–8].由于連續(xù)兩幀圖像之間的時(shí)間間隔較短,差分圖像受光線、氣候等環(huán)境因素變化的影響較較小,因此它具有很強(qiáng)的自適應(yīng)性.但是如果目標(biāo)速度過慢,則會(huì)造成過度覆蓋,使檢測的運(yùn)動(dòng)目標(biāo)不夠完整.

      對運(yùn)動(dòng)目標(biāo)冰球來說,其運(yùn)動(dòng)速度很快,滿足了幀間差分法對運(yùn)動(dòng)速度的限制要求.又由于差分圖像受光線、氣候等環(huán)境因素的影響較小,所以當(dāng)應(yīng)用幀間差分法去檢測冰球目標(biāo),能使運(yùn)動(dòng)目標(biāo)檢測算法具有更好的穩(wěn)定性,并且?guī)g差分法能夠快速地檢測出冰球運(yùn)動(dòng)目標(biāo).

      1.2 幀差法對冰球目標(biāo)的檢測

      本算法是在VS2010+OpenCV平臺(tái)上編寫運(yùn)行的.首先從圖像采集系統(tǒng)采集的序列圖像中讀取兩張相鄰幀圖像,并將這兩張相鄰幀圖像分別用Ik+1(x,y)和Ik(x,y)表示.然后,用灰度函數(shù) cvtColor();將兩張相鄰幀圖像轉(zhuǎn)化成灰度圖.其次,把得到的兩張相鄰幀灰度圖進(jìn)行差分運(yùn)算如公式(1),得到差分圖像DK(x,y),如圖1所示.

      圖1 幀間差分圖像

      為清晰明確的顯示冰球目標(biāo),我們將所得到的差分圖像進(jìn)行二值化運(yùn)算,其算法如公式(2),得到二值化的目標(biāo)差分圖如圖2.

      其中,T是二值化時(shí)所選取的閾值,其值一般由實(shí)際場景決定,本文中選取T=50.

      圖2 差分圖像二值化

      為找到冰球的具體位置,我們要用findContours()函數(shù)去查找圖像中所有輪廓.從圖2中可以看到冰球位置和人手的干擾噪聲,為準(zhǔn)確的找到冰球位置,需要去掉噪聲影響.首先,從圖2中可以知道,冰球的面積大于噪聲的面積且人手的干擾噪聲只位于圖像最左側(cè),所以在這里本文設(shè)置面積閾值area結(jié)合位置閾值center.x來除去噪聲干擾,面積閾值area可以除去所有面積小于冰球目標(biāo)的噪聲,位置閾值center.x是所查找的輪廓中心在像素坐標(biāo)系中橫坐標(biāo)的位置.由程序測試知,當(dāng)面積閾值area大于100,位置閾值center.x大于150的時(shí)候,只選中冰球目標(biāo).對于冰球的具體位置我們找的是它的球心坐標(biāo),而對于快速滑行中的冰球來說,檢測到的冰球目標(biāo)會(huì)是一個(gè)橢圓輪廓,其有大部分圓的特性,且其最大外廓直徑與原冰球目標(biāo)直徑相比基本保持不變,所以這里我們用OpenCV自帶的最小外接圓函數(shù)minEnclosingCircle(contours[i],center,radius);去擬合圖像中選中的橢圓輪廓,擬合結(jié)果如圖3.

      圖3 冰球輪廓最小外接圓

      最小外接圓的圓心,即為冰球在像素坐標(biāo)位置的球心坐標(biāo)位置,將其圓心和半徑存儲(chǔ)起來,如圖4所示為所檢測到的冰球的位置信息.

      圖4 冰球在像素坐標(biāo)中的位置

      2 碰撞算法

      冰球滑行過程中會(huì)與桌邊產(chǎn)生碰撞,從而改變其原有的運(yùn)行軌跡,增加了冰球軌跡預(yù)測的難度.針對這一問題,采用ANSYS/LS-DYNA顯示非線性動(dòng)力分析軟件進(jìn)行仿真模擬[9,10],建立冰球碰撞軌跡預(yù)測模型.通過仿真模擬獲得實(shí)驗(yàn)數(shù)據(jù),并用MATLAB對獲得的數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合[11],從而得到了一種碰撞函數(shù)關(guān)系作為冰球碰撞過程的算法.研究主要針對兩種運(yùn)動(dòng)狀態(tài):一種是以冰球的運(yùn)動(dòng)速度大小為變量,保持碰撞前冰球的運(yùn)動(dòng)速度方向與桌邊的夾角不變;另一種是保持冰球的運(yùn)動(dòng)速度大小不變,只改變冰球的運(yùn)動(dòng)方向與桌邊的夾角.

      2.1 不同運(yùn)動(dòng)狀態(tài)下仿真數(shù)據(jù)的收集

      對于冰球與桌邊碰撞角度不變的運(yùn)動(dòng)狀態(tài),通過改變自變量速度的值,來獲得碰撞后冰球的運(yùn)動(dòng)狀態(tài),其實(shí)驗(yàn)結(jié)果如表1所示.

      表1 角度不變,改變速度大小 (單位:m/s)

      對于速度大小不變的運(yùn)動(dòng)狀態(tài),通過改變冰球與桌邊的碰撞角度,來獲得碰撞后冰球的運(yùn)動(dòng)狀態(tài),設(shè)定冰球速度恒為0.4 m/s,其實(shí)驗(yàn)結(jié)果如表2所示.

      表2 速度大小不變,改變角度 (單位:m/s)

      如表2中X,Y的數(shù)據(jù)值所示,所采集的數(shù)據(jù)中當(dāng)速度方向沿坐標(biāo)軸正方向,則速度為正,否則速度為負(fù).Y方向的速度均為負(fù)值,表示冰球在Y方向的速度沿Y軸負(fù)方向.這里的X、Y坐標(biāo)軸并不是像素坐標(biāo)系的坐標(biāo)軸,而是建立的碰撞仿真模型中的坐標(biāo)軸.由于研究對象是速度矢量,這里并不影響結(jié)果.

      2.2 數(shù)據(jù)擬合

      為了得到碰撞前后速度之間的關(guān)系,分別對X軸方向和Y軸方向的速度分量進(jìn)行分析.將上述仿真實(shí)驗(yàn)中獲得的碰撞前和碰撞后的速度數(shù)據(jù)進(jìn)行擬合[10],從而得到一種簡單的函數(shù)關(guān)系,作為碰撞模型的碰撞預(yù)測算法.通過觀察相關(guān)系數(shù)(R-square)、和方差(SSE)及均方差(RMSE)的值,來判定該碰撞預(yù)測算法的可行性.

      如圖5,6所示,分別為以X軸、Y軸方向碰撞前速度Vx、Vy為自變量,以X軸、Y軸方向碰撞后的速度V_x、V_y為因變量,進(jìn)行數(shù)據(jù)擬合的顯示圖像.

      圖5 X 軸方向速度擬合

      圖6 Y 軸方向速

      如表3所示,為經(jīng)過MATLAB擬合的結(jié)果,從而得到碰撞算法的函數(shù)關(guān)系式如下:

      表3 X 軸、Y 軸方向速度擬合結(jié)果

      X軸方向速度函數(shù)關(guān)系式:

      Y軸方向速度函數(shù)關(guān)系式:

      上述(3)、(4)式中Vx和Vy分別表示碰撞前冰球在X軸方向和Y軸方向上的速度,V_x和V_y分別表示碰撞后冰球在X軸方向和Y軸方向上的速度.由于相關(guān)系數(shù) (R-square)的正常取值范圍為[0,1],越接近 1,表明模型函數(shù)對數(shù)據(jù)擬合得越好.和方差(SSE)及均方差(RMSE)的值越接近0,說明模型函數(shù)擬合的越好,數(shù)據(jù)預(yù)測也越成功.在表3的擬合結(jié)果中,上述兩式的相關(guān)系數(shù) (R-square)分別為:0.9994 和 0.9998,和方差(SSE)與均方差(RMSE)的值也近乎為0,所以本模型算法的建立能夠很好的預(yù)測碰撞后冰球的運(yùn)動(dòng)狀態(tài).

      3 軌跡預(yù)測算法及實(shí)驗(yàn)驗(yàn)證

      本文運(yùn)用幀間差分結(jié)合碰撞算法,使冰球的運(yùn)行軌跡只與冰球的初始運(yùn)動(dòng)狀態(tài)有關(guān),算法在處理到前幾幀便可以預(yù)測出冰球運(yùn)行到機(jī)器人攻擊點(diǎn)的最終位置,極大地縮短了冰球軌跡的預(yù)測時(shí)間,使機(jī)器人能夠有充足的時(shí)間對冰球進(jìn)行擊打,滿足了機(jī)器人實(shí)時(shí)性的要求.通過采集幾組實(shí)際工程中連續(xù)幀圖像來驗(yàn)證本文算法,將預(yù)測位置與實(shí)際檢測位置的差值P與冰球直徑D作對比,且由于機(jī)器人手柄直徑大于冰球直徑,所以若P<D,則機(jī)器人能夠擋住并實(shí)現(xiàn)對冰球的擊打,以此驗(yàn)證本文算法切實(shí)可行.

      實(shí)驗(yàn)中所建立的坐標(biāo)系為像素坐標(biāo)系,其整體尺寸為 6 94×370,數(shù)值均為像素坐標(biāo)值[12].由于本文主要解決算法運(yùn)行速度慢的問題,所以應(yīng)該盡可能地在檢測到冰球的前幾幀時(shí)就能夠預(yù)測出冰球到達(dá)機(jī)器人攻擊范圍內(nèi)的目標(biāo)位置 (XL,YL).該目標(biāo)位置是根據(jù)機(jī)器人的攻擊范圍合理的設(shè)定了一個(gè)X方向的閾值XL,本文根據(jù)實(shí)際情況取XL=500,對于預(yù)測目標(biāo)只需要求出YL的值即可預(yù)測到目標(biāo)位置.本文用幀速表示冰球的速度,通過幀間差分檢測,可以得到冰球在像素坐標(biāo)中的具體位置I(x,y),冰球在像素坐標(biāo)中的半徑R,檢測出R=15.

      冰球在桌面上運(yùn)行的軌跡主要分為兩種:一種是不與桌邊發(fā)生碰撞的滑行;另一種是滑行過程中與桌邊發(fā)生碰撞,改變了其原有的運(yùn)動(dòng)軌跡.針對這兩種情況,本文用幀間差分和碰撞算法相結(jié)合的方法去進(jìn)行軌跡預(yù)測實(shí)驗(yàn),其具體算法運(yùn)行流程圖如圖7所示.

      3.1 滑行中無碰撞的軌跡預(yù)測實(shí)驗(yàn)

      這種情況對冰球軌跡的預(yù)測相對來說較為簡單,只需要知道冰球滑行的初始速度就能夠預(yù)測出冰球滑行到機(jī)器人攻擊范圍內(nèi)的具體坐標(biāo)位置 (XL,YL),并提前將這個(gè)坐標(biāo)位置發(fā)送給機(jī)器人,以實(shí)現(xiàn)對運(yùn)動(dòng)目標(biāo)冰球的擊擋.

      3.1.1 滑行中無碰撞的軌跡預(yù)測算法

      如圖8所示,為無碰撞時(shí)冰球軌跡預(yù)測示意圖.本文用幀差法第一次檢測到冰球位置I1(x1,y1),第二次檢測到冰球位置為I2(x2,y2),則冰球的初始速度為:

      圖7 算法運(yùn)行流程圖

      圖8 無碰撞軌跡預(yù)測示意圖

      其中,Vx為冰球在X方向上的幀速,Vy為冰球在Y方向上的幀速.

      對于需要預(yù)測的目標(biāo)位置 (XL,YL)來說,由于XL=500,則冰球從第二次檢測位置運(yùn)行到該目標(biāo)位置所需要的時(shí)間T為:

      由式(8),可以計(jì)算出冰球滑行到機(jī)器人攻擊范圍內(nèi)的具體坐標(biāo)位置(XL,YL).

      3.1.2 無碰撞的軌跡預(yù)測實(shí)驗(yàn)驗(yàn)證

      如圖9,10為檢測到冰球相鄰兩幀的位置,根據(jù)算法判斷此時(shí)冰球與桌邊不發(fā)生碰撞,其具體滑行軌跡如圖11所示.

      圖9 檢測到冰球位置 (一)

      圖10 檢測到冰球位置 (二)

      圖11 無碰撞時(shí)冰球目標(biāo)軌跡

      將圖9,10中所獲得的像素坐標(biāo)值帶入軌跡預(yù)測公式(5)至公式(8),得到預(yù)測目標(biāo)位置為(500,157.727),對比圖12中用幀差法檢測的實(shí)際最近目標(biāo)位置(495,155)(因幀差法限制,檢測不到橫坐標(biāo)為500的位置,故取其最鄰近位置),由于冰球直徑為D=2R=30>2.727,所以冰球機(jī)器人能夠擋住冰球,該預(yù)測算法能夠準(zhǔn)確預(yù)測冰球軌跡.

      圖12 檢測到實(shí)際目標(biāo)位置

      3.2 滑行中與桌邊發(fā)生碰撞的軌跡預(yù)測實(shí)驗(yàn)

      當(dāng)冰球與桌邊發(fā)生碰撞時(shí),其情況更為復(fù)雜.首先要根據(jù)檢測到的冰球目標(biāo),與桌邊哪一側(cè)碰撞,并預(yù)測到碰撞點(diǎn)的位置.其次根據(jù)碰撞點(diǎn)的位置結(jié)合碰撞算法,預(yù)測出冰球滑行到機(jī)器人攻擊范圍內(nèi)的具體坐標(biāo)位置(XL,YL).

      3.2.1 滑行中有碰撞的軌跡預(yù)測算法

      如圖13所示,為冰球軌跡預(yù)測示意圖,與無碰撞時(shí)一樣先用幀差法測到前幾幀中冰球位置為I1(x1,y1),I2(x2,y2),求出冰球在碰撞前的速度為:

      其中,Vx為冰球在X方向上的幀速,Vy為冰球在Y方向上的幀速,帶入式(3)、(4)可以求出碰撞后的速度V_x、V_y的值.并且通過判斷Vy的方向,知曉撞向桌邊的哪一側(cè).

      圖13 冰球軌跡預(yù)測示意圖

      (1)冰球在Y方向上的幀速沿負(fù)方向

      當(dāng)冰球在Y方向上的幀速為負(fù)值時(shí),Vy沿負(fù)方向,冰球從第二次檢測位置到達(dá)碰撞點(diǎn)的時(shí)間T1為:

      到達(dá)碰撞點(diǎn)時(shí),冰球的坐標(biāo)位置為 (x0,y0),其中y0=R,x0為:

      冰球從碰撞點(diǎn)到預(yù)測目標(biāo)位置所用的時(shí)間為T2,其值為:

      由此可以求出冰球到達(dá)機(jī)器人攻擊范圍內(nèi)的目標(biāo)位置(XL,YL),其中XL=500,YL的值則為:

      (2)冰球在Y方向上的幀速沿正方向

      當(dāng)冰球在Y方向上的幀速為正值時(shí),Vy沿正方向,冰球從第二次檢測位置到達(dá)碰撞點(diǎn)的時(shí)間為:

      同理可以求出冰球到達(dá)機(jī)器人攻擊范圍內(nèi)的目標(biāo)位置(XL,YL),其中XL=500,YL為:

      3.2.2 碰撞軌跡預(yù)測實(shí)驗(yàn)驗(yàn)證

      如圖14,15為檢測到的碰撞前冰球相鄰兩幀的位置,根據(jù)算法判斷此時(shí)冰球與桌邊發(fā)生碰撞,其具體滑行軌跡如圖16所示.

      圖14 檢測到冰球位置 (一)

      圖15 檢測到冰球位置 (二)

      圖16 碰撞時(shí)冰球目標(biāo)軌跡

      將圖14,15中所獲得的像素坐標(biāo)值帶入軌跡預(yù)測公式 (9)~公式 (1 4),得到預(yù)測目標(biāo)位置為(500,156.693).對比用幀差法檢測到的實(shí)際目標(biāo)位置,如圖17,因?yàn)楸蛑睆紻=2R=30>6.693,所以機(jī)器人能夠成功擋住冰球,由此也驗(yàn)證了本文算法的可行性.

      圖17 實(shí)際冰球位置

      為驗(yàn)證本文算法的快速性,本文用GetTickCount()函數(shù)來記錄系統(tǒng)運(yùn)行算法的時(shí)間,該函數(shù)可以返回從算法啟動(dòng)到結(jié)束所經(jīng)過的毫秒數(shù),精度非常高.如圖18所示,本文算法運(yùn)行時(shí)間為 16 ms<30 ms,完全能夠滿足機(jī)器人對目標(biāo)跟蹤預(yù)測算法快速性的要求.

      圖18 算法運(yùn)行時(shí)間

      4 結(jié)束語

      本文通過幀間差分法快速找到冰球目標(biāo),再結(jié)合碰撞算法,對冰球軌跡進(jìn)行預(yù)測.算法僅通過兩次幀間差分,就能夠預(yù)測出運(yùn)動(dòng)目標(biāo)的位置信息,滿足了冰球機(jī)器人對算法快速性的要求,使冰球機(jī)器人能夠成功擋住冰球,并且有充足的時(shí)間進(jìn)行擊打操作.相對于傳統(tǒng)的運(yùn)動(dòng)目標(biāo)跟蹤預(yù)測算法,本文算法對于運(yùn)動(dòng)目標(biāo)的跟蹤預(yù)測速度更快,實(shí)時(shí)性更好.對于算法速度要求高的工程性問題,本文算法具有很高的參考價(jià)值.

      猜你喜歡
      冰球軌跡方向
      2022年組稿方向
      2021年組稿方向
      2021年組稿方向
      冰球守門員髖關(guān)節(jié)損傷與治療
      我國冰球“貫通化”后備人才培養(yǎng)模式的思考
      軌跡
      軌跡
      冰球
      幼兒100(2018年26期)2018-09-26 06:18:48
      軌跡
      進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
      中國三峽(2017年2期)2017-06-09 08:15:29
      林周县| 开阳县| 秭归县| 桃源县| 修文县| 旺苍县| 札达县| 西青区| 教育| 玛曲县| 兴义市| 岑巩县| 秦皇岛市| 综艺| 米脂县| 武功县| 陇南市| 若羌县| 留坝县| 当雄县| 灌南县| 景宁| 马关县| 景东| 绥江县| 黄龙县| 青浦区| 昌黎县| 昌宁县| 萨迦县| 竹溪县| 荥阳市| 延庆县| 如东县| 冷水江市| 新民市| 简阳市| 斗六市| 台前县| 航空| 林周县|