Skyfaring
網球飛行於空中
圖片:Sean Monaghan
電腦視覺深度學習運動追蹤

從一支攝影機,看見球在空間裡的位置。

換了一個輸入表示方式,同樣的網路架構在真實網球比賽的落地誤差從 3.58 公尺降到 0.63 公尺。
AI 初稿 / skyfaring 編輯校正📅發布:2026年5月7日👁— 次瀏覽

轉播鏡頭通常只有一個主機位。球飛出去、反彈、再被打回來,這整段軌跡全壓縮進一個二維畫面裡。

分析師知道球在哪個像素,但不知道它離地多少公尺,也不知道它偏左還是偏右了多少。這是轉播影片的先天限制:從二維推導三維,沒有唯一解。

過去的解法通常走兩條路。一條是幾何。用球的影子或球在畫面裡的大小推算距離,但陰影不一定存在,球在遠端時也小到難以量測。另一條是物理。把軌跡切段,每段用拋體公式擬合,但只要追蹤有一點雜訊,切割點就會算錯,整段重建跟著崩。

VISTEC 的研究團隊換了一個角度。

他們在 2025 年發表的研究裡,不從「球在哪裡」切入,而從「這條觀看射線會穿過地面的哪個點」開始。

每一個二維追蹤點,都對應一條從鏡頭中心延伸出去的三維射線。這條射線會和地面(y=0 的平面)相交,也會和一個垂直平面相交。把這兩個交點當作輸入,而不是直接用像素座標,這個設計讓神經網路從一開始就不需要關心攝影機在哪裡、焦距是多少。

他們把這個設計叫做 canonical 3D representation(正規三維表示)。

三層流水線

網路分三個階段,各司其職。第一階段預測軌跡段的邊界,判斷球什麼時候改變了施力方向。第二階段預測每個時間點球的高度,高度只有一個自由度,卻足以把二維點還原成三維座標,而且保證還原出來的點投影回去還是原本的像素位置。第三階段做修整,處理追蹤雜訊帶進來的誤差。

訓練資料全部來自模擬。研究者用 Unity 的 PhysX 引擎產生假球,給它各種初速、各種落點、各種攝影機角度,生成幾千條軌跡。真實資料一筆都沒進訓練集。

測試結果

測試的時候,模型要面對真實網球比賽的轉播影片。

在 10 場網球比賽的落地判斷上,準確率達到 87.21%,對比方法 SynthNet 是 53.35%。落地誤差 0.63 公尺,SynthNet 是 3.58 公尺。差距接近六倍。

在更受控的單次拋體測試裡,評估指標 NRMSE 是 0.03,對比方法分別是 0.11 和 1.02。

表示方式有多重要?

研究者還做了系統性的比對。用像素座標直接輸入,NRMSE 是 14.13;換成他們的平面交點表示,是 0.05。同樣的網路架構,同樣的訓練資料,差了將近三百倍。

正確的幾何歸納,比更大的模型或更多的資料更有效。

轉播鏡頭能告訴你球的像素位置,但無法直接告訴你球在空間裡的位置。這個落差一直都在,過去只能靠昂貴的多鏡頭系統填補。這篇研究的意義在於,填補這個落差不一定需要更多鏡頭,需要的是在建模時把幾何關係想清楚。

轉播影片裡每一顆球的軌跡,或許都能被重建出來。