陳鵬展, 曾榮飛, 盧偉清
(華東交通大學 電氣與自動化工程學院,江西 南昌 330013)
基于多目視覺的飛行球類軌跡預測研究利用多目視覺系統(tǒng)提取完整的飛行球運動軌跡并進行軌跡預測,其包含了目標識別、三維重建、信息融合、系統(tǒng)實時同步、軌跡跟蹤和軌跡預測等研究難點。兵乓球具有體積小、飛行速度快、運動模型復雜等特性,非常符合飛行球類軌跡預測研究實驗對象標準,近年來,越來越多的研究者利用兵乓球作為實驗對象進行飛行球類軌跡預測研究。
目前,針對兵乓球軌跡預測的研究,主要分為基于物理運動模型預測和基于機器學習模型預測。兵乓球基于傳統(tǒng)的運動模型軌跡預測需要考慮各種復雜的物理場影響因素,比如重力、馬格努斯力、空氣阻力、球回彈力和落地摩擦力等[1],這無疑會帶來模型的高復雜度和低魯棒性[2]。機器學習具有模型建立簡單,泛化性高的優(yōu)勢,目前逐漸成為乒乓球軌跡預測研究趨勢。Zhao Y等人[3]提出一個基于K-means算法的擴展連續(xù)運動模型(ECMM),在ECMM的基礎(chǔ)上,提出一種基于期望最大化算法的運動狀態(tài)估計方法,該方法將ECMM中的類別作為一個潛在變量進行精確的軌跡預測。Lin H I等人[4]將乒乓球軌跡以落點為界限分為2段,提出一種雙人工神經(jīng)網(wǎng)絡(luò)模型進行兵乓球軌跡預測。Su H等人[5]提出一種基于模糊邏輯的非線性濾波器用于計算球的濾波位置,采用局部建模法,獲取反彈后的速度,根據(jù)球的初始狀態(tài)以及飛行和反彈模型來預測后續(xù)軌跡。Lu C F等人[6]提出了一種自適應來測量協(xié)方差離散Kalman軌跡估計算法,主要解決由于兵乓球高速運動而帶來的各種誤差問題,實現(xiàn)精準的軌跡跟蹤。大部分的兵乓球軌跡預測研究采用兵乓球運動模型進行預測,由于模型復雜,影響因素太多,受環(huán)境影響大,因此在真實場景中應用具有很大的挑戰(zhàn)。
本文中提出一種結(jié)合簡單物理運動(simpie physical motion,SPM)模型和長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)模型的軌跡預測模型,即SPM-LSTM。實驗證明在仿真環(huán)境下,本文提出的預測算法能夠?qū)崿F(xiàn)飛行速度為5 m/s的乒乓球軌跡預測,平均預測精度能達到35.8 mm,基本滿足兵乓球軌跡預測需求。
本文利用3臺高速工業(yè)相機搭建乒乓球軌跡提取系統(tǒng)。首先,采集多目視覺提取多視角圖像,輸入到訓練好的神經(jīng)網(wǎng)絡(luò)中進行乒乓球目標識別,提取多視角圖像中小球中心點圖像坐標值,完成像素點匹配。其次,利用多目視覺三維定位原理提取出精準的小球空間三維坐標值,完成乒乓球軌跡預測。為解決相機拍攝不同步帶來的誤差問題,采用硬件外部同步觸發(fā)方式進行多目視覺系統(tǒng)同步圖像信息采集。為簡化實驗,本文不考慮相機幀率波動問題。圖1為軌跡提取系統(tǒng)結(jié)構(gòu)。
圖1 軌跡提取系統(tǒng)結(jié)構(gòu)
為了提取精準的乒乓球運動軌跡,小球的精準三維定位是其中關(guān)鍵。攝像機標定的目的在于找出圖像像素點坐標與真實三維空間點坐標之間的映射關(guān)系,圖像目標物像素點的提取一般使用特征點提取,其優(yōu)勢在于精度高,缺點是泛化性差。本文采用YOLOv3神經(jīng)網(wǎng)絡(luò)進行乒乓球目標識別。首先,進行乒乓球目標識別,提取檢測框的中心點圖像坐標,然后在相機標定參數(shù)的基礎(chǔ)上利用立體視覺三角定位原理進行乒乓球三維定位。相機像素坐標(u,v)與空間世界坐標系(Xw,Yw,Zw)之間的關(guān)系如下
(1)
式中u0,v0為主點坐標,fx,fy為有效焦距;Zc為攝像機坐標系下縱坐標值;R3×3為旋轉(zhuǎn)矩陣,T3×1為平移矩陣。
多目視覺軌跡提取系統(tǒng)采用的立體視覺三角定位原理,利用3臺工業(yè)相機,兩兩組合將組成3組雙目相機,將其中一個相機設(shè)置為主相機。主相機的坐標原點為整個多目視覺系統(tǒng)的坐標原點。多目相機系統(tǒng)位置擺放保證乒乓球運動軌跡至少出現(xiàn)在2臺相機圖像中,三維空間點坐標如下式
Xw=Zwxl/fl,Yw=Zwyl/fl,
(2)
式中fl,fr分別為左右相機焦距;(xl,yl),(xr,yr)分別為左右相機成像平面坐標;ri,ti分別為旋轉(zhuǎn)矩陣R和平移矩陣T對應的第i個元素值。
為將物理運動模型設(shè)計的盡可能簡單,本文選擇忽略馬格努斯力。圖2為乒乓球運動過程中受力分析。
圖2 乒乓球受力分析
乒乓球的受力分析如下
(3)
式中Fg為乒乓球重力;m為小球質(zhì)量,取2.7 g;gn為重力加速度,取9.8 m/s;Fr為空氣阻力;Cd為阻力系數(shù),取0.5;ρ為空氣密度,取1.29 kg/m3;Fb為空氣浮力,因數(shù)值太小不加入計算。
依據(jù)每一個坐標軸的受力分析進行乒乓球物理運動模型推導,令k=CdρaA/2。
1)小球在X軸上只受到空氣阻力影響
(4)
積分可得
(5)
式中vx0和x0為小球在X軸方向的初始速度和初始位置。
2)小球在Y軸上同樣只受到空氣阻力影響
(6)
3)小球在Z軸上受到空氣阻力和重力的影響
當vz≥0時,小球受力分析如下
(7)
積分可得
(8)
當vz<0時,小球受力分析如下
(9)
積分可得
(10)
乒乓球的第二段軌跡為碰撞反彈模型,當小球與桌面碰撞時,由于受球速、球自身運動的方式等因素的不同,水平方向和豎直方向上的摩擦系數(shù)和衰減系數(shù)也不同,因此小球反彈模型如下所示
vxout=kxvxin+bx,vyout=kyvyin,vzout=kzvxin+bz
(11)
式中kx,ky,kz,bx,bz為反彈參數(shù)。
利用離線的300條乒乓球碰撞反彈軌跡計算小球反彈參數(shù),實驗以反彈前的速度為橫坐標,反彈后的速度為縱坐標,然后利用最小二乘法擬合分別確定水平方向和豎直方向的反彈系數(shù)。表1為實驗后得出的反彈系數(shù)值。
表1 反彈系數(shù)
LSTM是一種循環(huán)神經(jīng)網(wǎng)絡(luò),借鑒了人類神經(jīng)記憶的長短時和遺忘特性,適用于處理序列預測問題[7]。這一類神經(jīng)網(wǎng)絡(luò)模型在內(nèi)部維持一個狀態(tài)向量,序列輸入的過程中模型不斷更新狀態(tài)向量,同時基于當前輸入和當前狀態(tài)輸出一個向量。對于一個輸入序列,通過多個這樣的遞歸操作,神經(jīng)網(wǎng)絡(luò)可以輸出一個對應的輸出序列,對應于本文提出的軌跡預測問題,該輸出序列即為預測的下一時刻坐標偏差值。圖3為LSTM模型結(jié)構(gòu)。
圖3 LSTM模型結(jié)構(gòu)
利用訓練好的LSTM神經(jīng)網(wǎng)絡(luò)預測SPM模型軌跡點坐標偏差值,將飛行軌跡點的t時刻到t+n時刻的三維坐標序列和速度分量序列作為輸入,輸出t時刻到t+n時刻的三維坐標偏差值序列。
首先利用簡單運動模型預測出乒乓球飛行軌跡,再制作軌跡點偏差序列數(shù)據(jù)集,利用LSTM神經(jīng)網(wǎng)絡(luò)進行訓練,訓練好的神經(jīng)網(wǎng)絡(luò)模型輸入軌跡點坐標和速度,輸出坐標偏差值,最后將坐標偏差值和與預測出來的軌跡點坐標相結(jié)合,得到最終的軌跡點預測坐標。圖4為SPM-LSTM預測模型的結(jié)構(gòu)。
圖4 SPM-LSTM模型結(jié)構(gòu)
本文實驗環(huán)節(jié)采用了3臺高速黑白工業(yè)相機進行圖像采集,相機型號為HIKVISON/MV—CA013—21UM,像素為130萬像素,最高幀數(shù)可達210幀。乒乓球采用標準比賽用球,直徑為40 mm,重量為2.7 g,球桌規(guī)格為長為2.74 m,寬為1.525 m,高為0.76 m,實驗仿真平臺為Ubuntu16.04操作系統(tǒng),TITAN X顯卡,16 GB內(nèi)存。圖5為實驗平臺硬件設(shè)施。
圖5 實驗平臺硬件設(shè)施
SPM-LSTM模型訓練利用Keras搭建LSTM神經(jīng)網(wǎng)絡(luò),采集SPM模型輸出軌跡與真實軌跡之間的偏差數(shù)據(jù)作為數(shù)據(jù)集。
本文利用軌跡提取系統(tǒng)采集1 000條飛行速度為5 m/s左右的乒乓球運動軌跡,分別根據(jù)每條運動軌跡的軌跡點三維坐標序列制作坐標數(shù)據(jù)集和根據(jù)真實軌跡與SPM模型輸出之間的偏差數(shù)據(jù)序列制作偏差數(shù)據(jù)集,并且選中其中的700組作為訓練集,300組作為測試集。將制作好的訓練集分別輸入LSTM模型和SPM-LSTM模型中進行訓練,在分別進行訓練了5 000次后,loss分別降為了0.023 8和0.013 4,保存訓練好的模型參數(shù)以便用于接下來的離線測試實驗。將測試集中的每條曲線的初始10個軌跡點信息輸入到訓練好的LSTM模型和SPM-LSTM模型中,相應的輸出未來時刻的軌跡點三維坐標。圖6為SPM、LSTM和SPM-LSTM的第一組測試數(shù)據(jù)的預測軌跡曲線。圖7(a),(b)分別為SPM、LSTM模型和SPM-LSTM模型的誤差對比。3種算法的誤差比較如表2。
圖6 第一組數(shù)據(jù)預測曲線
圖7 3種預測算法平均誤差分布
表2 3種預測算法的誤差比較
由圖6可看出,SPM-LSTM模型預測曲線非常貼近真實軌跡曲線,預測效果最好,而LSTM模型預測效果中等,SPM模型預測曲線與真實軌跡曲線相差最遠,預測效果最差。同時由圖7(a),(b)可以明顯看出,SPM-LSTM模型在X軸、Y軸和Z軸的每條預測曲線的平均誤差在3個預測模型中最小,并且經(jīng)過300次實驗,SPM-LSTM模型各個方向分量上的平均誤差相對于其他2個模型來說都是最小的,分別為21.4,17.2,17.6 mm,并且總的平均誤差為35.7 mm。而實驗所用乒乓球直徑為40 mm,因此,可分析得出SPM-LSTM模型在仿真環(huán)境下可以精準用于乒乓球軌跡預測。同時實驗結(jié)果顯示SPM-LSTM模型在各個方向分量的標準差相對其他2個預測算法也是最小的,分別為9.0,9.1,3.5 mm,并且總的標準差為7.6 mm,由此可以分析得出SPM-LSTM模型的穩(wěn)定性同時也是最強的。
本文針對乒乓球初始軌跡點跟蹤問題,通過YOLOv3目標識別結(jié)合多目視覺實現(xiàn)乒乓球三維定位,實現(xiàn)乒乓球精準三維跟蹤定位。在乒乓球初始軌跡點實時跟蹤的基礎(chǔ)上,提出了一種結(jié)合SPM模型和LSTM神經(jīng)網(wǎng)絡(luò)模型的軌跡預測模型(SPM-LSTM),通過采集SPM模型輸出值與真實軌跡值之間的偏差序列數(shù)據(jù)做成偏差數(shù)據(jù)集,將數(shù)據(jù)集放入LSTM神經(jīng)網(wǎng)絡(luò)中進行迭代訓練直至收斂,最終利用訓練完成的SPM-LSTM算法在仿真環(huán)境中進行了算法對比測試。通過采集乒乓球運動軌跡的10個初始軌跡點數(shù)據(jù)輸入到訓練好的SPM-LSTM模型、LSTM和SPM算法中,進行了300次實驗,輸出結(jié)果和真實數(shù)據(jù)做對比。仿真實驗結(jié)果說明了SPM-LSTM模型軌跡預測性能遠高于LSTM和SPM模型,能夠適用于乒乓球運動軌跡預測。
本文提出的乒乓球軌跡預測方法也存在局限性。由于軌跡提取采用神經(jīng)網(wǎng)絡(luò)提取目標物中心點的方式實現(xiàn)多目視覺像素點匹配,神經(jīng)網(wǎng)絡(luò)識別的準確性和速度限制了軌跡提取系統(tǒng)的準確性和實時性,同時,由于SPM-LSTM算法實時預測SPM偏差坐標值后將其與SPM預測值結(jié)合沒有進一步數(shù)據(jù)分析處理,導致預測性能下降。因此,下一步研究工作是提升目標識別的準確性和實時性,增強軌跡預測系統(tǒng)的魯棒性。