用機(jī)器學(xué)習(xí)識(shí)別排球比賽的階段
排球比賽的階段
用人工智能分析排球比賽有多種方法。我過去常常跟蹤球,以便將比賽時(shí)間從整個(gè)視頻中分離出來。
另一種方法是確定游戲階段,并根據(jù)階段流程做出決策。
讓我們假設(shè)排球比賽包括4個(gè)階段:
· 沒有開始。沒有人或少數(shù)人在場(chǎng)上徘徊。
· 靜止階段。人們?cè)诒荣惽罢局粍?dòng)。
· 比賽階段。
· 歡呼階段。即使比賽輸了,人們也會(huì)聚在一起互相歡呼。
所有這些階段都因人們相對(duì)于場(chǎng)和彼此的位置而不同。這意味著我們首先要做的是在圖片中找到人。
人員檢測(cè)
人員檢測(cè)器生成帶有玩家坐標(biāo)的方框。該信息將作為階段分類模型的輸入。
有時(shí)探測(cè)器會(huì)漏掉人,這會(huì)給數(shù)據(jù)增加一些噪音。
數(shù)據(jù)準(zhǔn)備
出于手動(dòng)分類圖片所需的訓(xùn)練目的,請(qǐng)將其移動(dòng)到4個(gè)不同的文件夾中。
還有一個(gè)很好的問題是如何表示機(jī)器學(xué)習(xí)的輸入數(shù)據(jù)。有兩個(gè)主要選項(xiàng):
· 使用檢測(cè)到的框的數(shù)字表示
· 使用圖片
我決定使用圖片選項(xiàng),因?yàn)椋?/p>
· 輸入大小應(yīng)該是穩(wěn)定的,但我們事先不知道檢測(cè)的數(shù)量。球場(chǎng)上最多可能有12名球員,但球迷、裁判和替補(bǔ)球員可能會(huì)增加這個(gè)數(shù)字。圖片大小是固定的。
· 檢測(cè)是無序的。為了將它們用作數(shù)組輸入,我們需要以某種方式對(duì)它們進(jìn)行排序,例如,從左到右、按大小等。
· 人性化。盒子上的數(shù)字是很難理解的。圖片化顯示能提供一個(gè)很好的線索。
為了將檢測(cè)結(jié)果表示為輸入圖片,我在黑色背景上繪制了白色實(shí)心矩形,并將其大小調(diào)整為64x64。
def get_mask(boxes):
pic = np.zeros((H,W,1), np.uint8)
clr = 255
for r in boxes:
cv.rectangle(pic, (r[0], r[1]), (r[0] + r[2], r[1] + r[3]), clr, thickness=-1)
pic = cv.resize(pic, (64, 64))
return pic
然后為每個(gè)階段準(zhǔn)備了掩碼:
歡呼階段:
沒有開始階段:
比賽階段:
靜止階段:
選擇分類方法
多標(biāo)簽分類有多種方法,因此選擇并不容易。最后,選擇了兩種最基本也是最流行的方法:
· sklearn的近鄰(又名KNN)
· 具有Tensorflow Keras(又名TFK)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)
KNN對(duì)相同數(shù)據(jù)的準(zhǔn)確率為81%,對(duì)隨機(jī)樣本的準(zhǔn)確率為66%。
TFK也穩(wěn)定在80%左右。
測(cè)試分類
讓我們挑選一段排球測(cè)試視頻。用的是格拉茨計(jì)算機(jī)視覺研究所提供的奧地利業(yè)余聯(lián)賽的開放式視頻。
1. 從游戲中提取幀。人的移動(dòng)速度不是很快,所以每秒2幀就足夠了:
ffmpeg -i video.mp4 -r 2 frames/%05d.jpg
2. 在幀上運(yùn)行MobileSSD檢測(cè)器并生成json文件。
def detect_pic(ssd, img, thr = 0.3):
rows = img.shape[0]
cols = img.shape[1]
ssd.setInput(cv.dnn.blobFromImage(img, 1.0/127.5, (600, 600), (127.5, 127.5, 127.5), swapRB=True, crop=False))
out = ssd.forward()
r = np.a(chǎn)rray([cols, rows, cols, rows])
boxes = []
scores = []
for d in out[0,0,:,:]:
score = float(d[2])
cls = int(d[1])
if cls != 1:
continue
if score < thr:
continue
box = d[3:7] * r
box[2] -= box[0]
box[3] -= box[1]
boxes.a(chǎn)ppend(box.a(chǎn)stype("int"))
scores.a(chǎn)ppend(score)
if len(boxes) < 1:
return []
dxs = cv.dnn.NMSBoxes(boxes, scores, thr, 0.1)
return [boxes[i].tolist() for i in dxs.flatten()]
3. 將檢測(cè)轉(zhuǎn)換為輸入掩碼
4. 對(duì)輸入掩碼進(jìn)行分類
兩種方法的表現(xiàn)都比訓(xùn)練期間差:
· KNN-72%
· TFK-70%
5. 預(yù)測(cè)階段
令人驚訝的是,KNN的表現(xiàn)也略好于TFK
結(jié)論
分類結(jié)果令人鼓舞,即使它們不夠精確,這也可以為視頻編輯器和觀眾節(jié)省一些時(shí)間。
減少視頻大小有多種原因:
加密整個(gè)游戲記錄。它使視頻變得更。s占原始視頻的30%),存儲(chǔ)成本更低,加載速度更快,對(duì)觀眾更具吸引力。
將漫長(zhǎng)的游戲分成有意義的部分。這對(duì)球員、他們的父母和球迷都很重要——小型視頻可以很容易地分享或保存在個(gè)人照片中。
參考文獻(xiàn):
(Required by video dataset owner)
Improved Sport Activity Recognition using Spatio-temporal ContextGeorg Waltner, Thomas Mauthner and Horst BischofIn Proc. DVS-Conference on Computer Science in Sport (DVS/GSSS), 2014
Indoor Activity Detection and Recognition for Automated Sport Games AnalysisGeorg Waltner, Thomas Mauthner and Horst BischofIn Proc. Workshop of the Austrian Association for Pattern Recognition (AAPR/OAGM), 2014
原文標(biāo)題 : 用機(jī)器學(xué)習(xí)識(shí)別排球比賽的階段

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身智能機(jī)器人產(chǎn)業(yè)技術(shù)創(chuàng)新應(yīng)用論壇
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
8月5日立即報(bào)名>> 【在線會(huì)議】CAE優(yōu)化設(shè)計(jì):醫(yī)療器械設(shè)計(jì)的應(yīng)用案例與方案解析
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
- 3 一文看懂視覺語言動(dòng)作模型(VLA)及其應(yīng)用
- 4 “支付+”時(shí)代,支付即生態(tài) | 2025中國(guó)跨境支付十大趨勢(shì)
- 5 中國(guó)最具實(shí)力AI公司TOP10
- 6 深圳跑出40億超級(jí)隱形冠軍:賣機(jī)器人年入6.1億,港股上市
- 7 特斯拉Robotaxi上路,馬斯克端上畫了十年的餅
- 8 “AI六小虎”到了下一個(gè)賽點(diǎn)
- 9 張勇等人退出阿里合伙人
- 10 AI視頻,攪動(dòng)1.5萬億市場(chǎng)