胡海濤,張知行,姜 穎,喻 孜
(南京林業大學 理學院,江蘇 南京 210037)
羽毛球是我國優勢項目,在國際享有很高的聲譽,在民間也有廣泛的群眾基礎。羽毛球的最高時速可達421公里/小時,是所有球類運動中最高球速最快的。在比賽中,羽毛球速度很快卻不會出界,這是因為羽毛球空氣阻力系數較大。因此,羽毛球的空氣阻力系數是一個重要的物理量,它決定了羽毛球在空中飛行的規律。對羽毛球空氣阻力系數的測量和研究,可以預測羽毛球的運動軌跡,為培養高水平運動員提供理論參考。然而,羽毛球形狀不規則,飛行路徑復雜,空氣阻力系數難以測量。目前,已有很多學者對此展開了研究。測量方法包括通過設計風洞實驗、“沉球法”、使用tracker軟件分析羽毛球飛行視頻等[1-7]。在這些工作的基礎上,文章提出了一種基于單目視覺追蹤的羽毛球空氣阻力系數的測量方法。
空氣阻力取決于物體運動的速度。根據文獻[1-3],在羽毛球運動中,可認為阻力大小正比于速度的二次方。于是,摩擦阻力可以寫為:
(1)

(2)
(3)

(4)
考慮羽毛球以初速度為0開始豎直下落,積分得到,
(5)

functionFinalFrame=transform(frame)
a=[173,97;769,92;142,441;784,439];%墻壁四個點的坐標矩陣
b=[1,1;1280,1;1,720;1280,720];%變換后的坐標矩陣
tform=cp2tform(a,b,′projective′);
FinalFrame=imtransform(frame,tform,′XData′,[1,1280],′YData′,[1,720]);
End

圖1 算法流程圖
轉換前后的視頻效果如圖2所示。圖2左圖為原始拍攝圖像,右圖為透視變換后的圖像。從圖中可以看到,透視變換實際上是將視頻圖像“轉正”,使圖像垂直正對觀測平面。此時,在豎直方向上,像素距離比將保持不變。接下來,就可以使用背景差分法來追蹤識別運動中的羽毛球。將每一幀二值化的圖像都做透視變換,然后使用第k-1幀圖像作為第k幀圖像的背景,選取閾值為0.1,差值大于0.1的位置,賦值為0(白色),白色區域就是當前運動物體所處的位置。再通過bwlabel和regionprops語句對這一區域進行標記,即可識別羽毛球,相關代碼如下,
CurrentFrame=transform(rgb2gray(read(vid,k)));
FormerFrame=transform(rgb2gray(read(vid,k-1)));
bw=im2bw(abs(CurrentFrame-FormerFrame),0.1);
bwdi=imerode(bw2,[1,1,1;1,1,1;1,1,1]);
[L,num]=bwlabel(bwdi,4);
Stats=regionprops(L,′Centroid′);
圖2右圖顯示了某次循環過程中通過背景差分法識別羽毛球的結果,紅色框內是羽毛球,圖中可以看到,通過算法成功的識別了運動中的羽毛球。

圖2 左圖為原始視頻截取圖像,右圖為經過透視變換后使用背景差分法識別追蹤羽毛球的圖像紅色框內是運動中的羽毛球。
識別出羽毛球后,獲取相鄰幀之間羽毛球質心位置的變化,即可計算出像素速度。羽毛球在視頻中占15個像素長度,實際測量羽毛球長度為86.10 cm,可以求得每個像素代表的實際長度,為5.74 cm/像素。通過該方法可以得到下落過程中,羽毛球速度隨時間變化的關系。在下落過程中,每5幀計算一次下落速度,得到下落速度-時間圖像如圖3所示,共計測量了三次。圖中可以看到,在約0.8 s后,羽毛球速度幾乎不產生變化,可認為達到了勻速運動。三次測量的收尾速度為v1=5.916 m/s,v2=5.919 m/s,v3=5.909 m/s,均值為v=5.915 m/s,相對誤為0.5%。代入公式(1),其中參數,羽毛球質量,空氣密度,羽毛球最大橫截面積,可計算得到。該值在文獻[2]的建議值0.55~0.65之間。

圖3 三次下落過程中羽毛球速度隨時間變化的圖像
羽毛球形狀不規則,運動形態復雜,如何簡單有效的測量羽毛球空氣阻力系數是一個具有挑戰性的問題。設計風洞實驗可以獲得較為準確的測量結果,然而該方法需要設計制作復雜的實驗裝置。文獻[2]提出的沉球法,實驗硬件需求低,是一種簡便可行的測量方法。該方法的測量原理是將(5)式繼續對時間積分求出下落位移和時間t的關系。因此,只要測得t時刻的位移,再代入公式,即可求出羽毛球的空氣阻力系數。在羽毛球下落行程較短時,“沉球法”對位移和時間關系的測量時會存在較大誤差。這也是文獻[2]測量結果過大的原因。文獻[3]通過拍攝羽毛球飛行軌跡,使用Tracker軟件來進行分析。羽毛球做類似拋物線的飛行,單個攝像頭只能拍攝到羽毛球飛行軌跡在攝像平面內的投影,這與實際軌跡存在偏差。再則,方程(2)和(3)是耦合在一起的,無法得到軌跡方程的解析表達式,文獻[3]將擬合過程完全交由Tracker軟件來進行。Tracker軟件的功能是封裝固定的,在使用時,只能手動調整空氣阻力系數的值來匹配軌跡線,使用并不方便。
文中提出了一種基于單目視覺追蹤的方法測量羽毛球空氣阻力系數。對實驗硬件需求低,測量簡便。由于拍攝的是羽毛球豎直方向運動的視頻,因此羽毛球實質上是在做一維運動。這樣處理有兩個好處,第一,在拍攝時相機更容易“垂直”對準羽毛球,即使無法做到嚴格垂直拍攝,只要選擇好參照背景,后期即可通過透視變換來處理像素距離比的問題。第二,一維運動時羽毛球動力學方程擁有更簡單的數學形式,數據處理時不會引入數值計算誤差。由于使運動員擊打羽毛球,又避免了沉球法時,羽毛球行程過短。實驗結果表明,本文的測量結果是可信的。文中的方法可以用于測量其他飛行物體的空氣阻力系數。