編者按:深度學(xué)習(xí)咨詢顧問(wèn)Priya Dwivedi演示了如何結(jié)合TensorFlow目標(biāo)檢測(cè)API和OpenCV分析足球視頻。
介紹
本屆世界杯爆冷不少,誰(shuí)能想到奪冠大熱門(mén)德國(guó)會(huì)在小組賽出局?:(
作為數(shù)據(jù)科學(xué)家,我們可以對(duì)足球視頻剪輯做些分析。使用深度學(xué)習(xí)和opencv我們可以從視頻剪輯中提取有趣的洞見(jiàn)。下面展示了一個(gè)例子,澳大利亞對(duì)秘魯,我們可以識(shí)別所有球員、裁判、足球,同時(shí)根據(jù)隊(duì)服判定球員所屬。所有這一切都可以實(shí)時(shí)完成。
本文的相關(guān)代碼見(jiàn)GitHub:priya-dwivedi/Deep-Learning/soccerteamprediction/
步驟概覽
使用Tensorflow的目標(biāo)檢測(cè)API,可以快速搭建目標(biāo)檢測(cè)模型。如果你不熟悉這套API,可以看下我之前寫(xiě)的介紹Tensorflow目標(biāo)檢測(cè)API,以及如何使用該API搭建定制模型的博客文章。
API提供了在COCO數(shù)據(jù)集上預(yù)訓(xùn)練的目標(biāo)檢測(cè)模型。COCO數(shù)據(jù)集包含90種常見(jiàn)目標(biāo)。

部分COCO目標(biāo)分類(lèi)
在這個(gè)例子中,我們關(guān)心的分類(lèi)是人、足球,COCO數(shù)據(jù)集包含這兩個(gè)目標(biāo)。
API支持很多模型:

部分模型
這些模型在速度和精確性上有不同的折衷。由于我感興趣的是實(shí)時(shí)分析,所以我選擇了SSDLite mobilenet v2。
使用目標(biāo)檢測(cè)API識(shí)別出球員后,就可以使用OpenCV圖像處理庫(kù)來(lái)判定其所屬球隊(duì)。如果你沒(méi)接觸過(guò)OpenCV,可以先看下OpenCV的教程。
OpenCV可以識(shí)別特定顏色的掩碼,我們可以用它識(shí)別紅衣球員和黃衣球員。下圖是一個(gè)OpenCV檢測(cè)紅色的例子。
檢測(cè)紅色
主要步驟
請(qǐng)對(duì)照相應(yīng)的Python代碼閱讀:
加載SSDLite mobilenet模型和分類(lèi)列表。
使用cv2.VideoCapture()打開(kāi)視頻并逐幀讀取。
在每一幀上檢測(cè)目標(biāo)。
SSDLite返回的結(jié)果是識(shí)別的分類(lèi)及相應(yīng)置信度、包圍盒預(yù)測(cè)。置信度閾值為0.6。然后我們將置信度大于閾值的識(shí)別人員剪切出來(lái)。
提取出每個(gè)球員后,我們需要讀取其球衣的顏色,并預(yù)測(cè)其歸屬。我們首先定義紅色和黃色的顏色區(qū)間。接著使用cv2.inRange和cv2.bitwise創(chuàng)建顏色的掩碼。統(tǒng)計(jì)檢測(cè)出的紅色和黃色像素的數(shù)目,以及占剪切圖像總像素?cái)?shù)的百分比,以檢測(cè)球隊(duì)。
最后整合代碼,并使用cv2.imshow顯示結(jié)果。
結(jié)語(yǔ)
很好。現(xiàn)在你看到了,深度學(xué)習(xí)和OpenCV的簡(jiǎn)單組合可以產(chǎn)生有趣的結(jié)果。在目標(biāo)檢測(cè)和歸類(lèi)球隊(duì)之后,可以進(jìn)行進(jìn)一步的分析,例如:
當(dāng)相機(jī)視角在澳大利亞球門(mén)區(qū)域時(shí),你可以計(jì)算區(qū)域內(nèi)的秘魯球員和澳大利亞球員人數(shù)比。
你可以為每隊(duì)分別繪制足跡的熱圖——例如顯示秘魯隊(duì)主要占據(jù)的區(qū)域。
你可以繪制守門(mén)員的路徑。
目標(biāo)檢測(cè)API提供了一些更精確但更慢的模型。你也可以試試它們。
如果你喜歡這篇文章,給我加?? :) 我希望你從GitHub拉取代碼親自動(dòng)手嘗試。
另外,我提供深度學(xué)習(xí)咨詢,喜歡解決有趣的問(wèn)題。我?guī)椭恍﹦?chuàng)業(yè)公司部署了創(chuàng)新的AI解決方案。如果你有需要協(xié)作的項(xiàng)目,請(qǐng)通過(guò)我的網(wǎng)站deeplearninganalytics.org或我的郵箱priya.toronto3@gmail.com聯(lián)系我。
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1236瀏覽量
26190 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5598瀏覽量
124396 -
tensorflow
+關(guān)注
關(guān)注
13文章
334瀏覽量
62176
原文標(biāo)題:使用TensorFlow目標(biāo)檢測(cè)和OpenCV分析足球視頻
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于LockAI視覺(jué)識(shí)別模塊:C++目標(biāo)檢測(cè)
基于OPENCV的運(yùn)動(dòng)目標(biāo)跟蹤實(shí)現(xiàn)
基于QT+OpenCv的目標(biāo)跟蹤算法實(shí)現(xiàn)
全網(wǎng)唯一一套labview深度學(xué)習(xí)教程:tensorflow+目標(biāo)檢測(cè):龍哥教你學(xué)視覺(jué)—LabVIEW深度學(xué)習(xí)教程
迅為RK3399開(kāi)發(fā)板人工智能深度學(xué)習(xí)框架
Labview深度學(xué)習(xí)tensorflow人工智能目標(biāo)檢測(cè)-教學(xué)貼【連載】
用光流法進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)_OpenCV3編程入門(mén)-源碼例程
視頻監(jiān)控中的運(yùn)動(dòng)目標(biāo)檢測(cè)
視頻序列運(yùn)動(dòng)目標(biāo)檢測(cè)
tensorflow 訓(xùn)練模型之目標(biāo)檢測(cè)入門(mén)知識(shí)與案例解析
使用OpenCV實(shí)現(xiàn)視頻圖像序列的運(yùn)動(dòng)目標(biāo)檢測(cè)的資料說(shuō)明
如何使用Docker容器中的TensorFlow目標(biāo)檢測(cè)API
OpenCV使用深度學(xué)習(xí)做邊緣檢測(cè)的流程
用于桌上足球/足球的自動(dòng)Arduino目標(biāo)計(jì)數(shù)器
【開(kāi)發(fā)實(shí)例】基于GM-3568JHF開(kāi)發(fā)板安裝OpenCV并使用視頻目標(biāo)跟蹤 ( CamShift)
如何結(jié)合TensorFlow目標(biāo)檢測(cè)API和OpenCV分析足球視頻
評(píng)論