編者按:深度學(xué)習(xí)咨詢顧問Priya Dwivedi演示了如何結(jié)合TensorFlow目標(biāo)檢測(cè)API和OpenCV分析足球視頻。
介紹
本屆世界杯爆冷不少,誰能想到奪冠大熱門德國會(huì)在小組賽出局?:(
作為數(shù)據(jù)科學(xué)家,我們可以對(duì)足球視頻剪輯做些分析。使用深度學(xué)習(xí)和opencv我們可以從視頻剪輯中提取有趣的洞見。下面展示了一個(gè)例子,澳大利亞對(duì)秘魯,我們可以識(shí)別所有球員、裁判、足球,同時(shí)根據(jù)隊(duì)服判定球員所屬。所有這一切都可以實(shí)時(shí)完成。
本文的相關(guān)代碼見GitHub:priya-dwivedi/Deep-Learning/soccerteamprediction/
步驟概覽
使用Tensorflow的目標(biāo)檢測(cè)API,可以快速搭建目標(biāo)檢測(cè)模型。如果你不熟悉這套API,可以看下我之前寫的介紹Tensorflow目標(biāo)檢測(cè)API,以及如何使用該API搭建定制模型的博客文章。
API提供了在COCO數(shù)據(jù)集上預(yù)訓(xùn)練的目標(biāo)檢測(cè)模型。COCO數(shù)據(jù)集包含90種常見目標(biāo)。
部分COCO目標(biāo)分類
在這個(gè)例子中,我們關(guān)心的分類是人、足球,COCO數(shù)據(jù)集包含這兩個(gè)目標(biāo)。
API支持很多模型:
部分模型
這些模型在速度和精確性上有不同的折衷。由于我感興趣的是實(shí)時(shí)分析,所以我選擇了SSDLite mobilenet v2。
使用目標(biāo)檢測(cè)API識(shí)別出球員后,就可以使用OpenCV圖像處理庫來判定其所屬球隊(duì)。如果你沒接觸過OpenCV,可以先看下OpenCV的教程。
OpenCV可以識(shí)別特定顏色的掩碼,我們可以用它識(shí)別紅衣球員和黃衣球員。下圖是一個(gè)OpenCV檢測(cè)紅色的例子。
檢測(cè)紅色
主要步驟
請(qǐng)對(duì)照相應(yīng)的Python代碼閱讀:
加載SSDLite mobilenet模型和分類列表。
使用cv2.VideoCapture()打開視頻并逐幀讀取。
在每一幀上檢測(cè)目標(biāo)。
SSDLite返回的結(jié)果是識(shí)別的分類及相應(yīng)置信度、包圍盒預(yù)測(cè)。置信度閾值為0.6。然后我們將置信度大于閾值的識(shí)別人員剪切出來。
提取出每個(gè)球員后,我們需要讀取其球衣的顏色,并預(yù)測(cè)其歸屬。我們首先定義紅色和黃色的顏色區(qū)間。接著使用cv2.inRange和cv2.bitwise創(chuàng)建顏色的掩碼。統(tǒng)計(jì)檢測(cè)出的紅色和黃色像素的數(shù)目,以及占剪切圖像總像素?cái)?shù)的百分比,以檢測(cè)球隊(duì)。
最后整合代碼,并使用cv2.imshow顯示結(jié)果。
結(jié)語
很好。現(xiàn)在你看到了,深度學(xué)習(xí)和OpenCV的簡(jiǎn)單組合可以產(chǎn)生有趣的結(jié)果。在目標(biāo)檢測(cè)和歸類球隊(duì)之后,可以進(jìn)行進(jìn)一步的分析,例如:
當(dāng)相機(jī)視角在澳大利亞球門區(qū)域時(shí),你可以計(jì)算區(qū)域內(nèi)的秘魯球員和澳大利亞球員人數(shù)比。
你可以為每隊(duì)分別繪制足跡的熱圖——例如顯示秘魯隊(duì)主要占據(jù)的區(qū)域。
你可以繪制守門員的路徑。
目標(biāo)檢測(cè)API提供了一些更精確但更慢的模型。你也可以試試它們。
如果你喜歡這篇文章,給我加?? :) 我希望你從GitHub拉取代碼親自動(dòng)手嘗試。
另外,我提供深度學(xué)習(xí)咨詢,喜歡解決有趣的問題。我?guī)椭恍﹦?chuàng)業(yè)公司部署了創(chuàng)新的AI解決方案。如果你有需要協(xié)作的項(xiàng)目,請(qǐng)通過我的網(wǎng)站deeplearninganalytics.org或我的郵箱priya.toronto3@gmail.com聯(lián)系我。
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25530 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5564瀏覽量
122923 -
tensorflow
+關(guān)注
關(guān)注
13文章
330瀏覽量
61231
原文標(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視覺識(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é)視覺—LabVIEW深度學(xué)習(xí)教程
迅為RK3399開發(fā)板人工智能深度學(xué)習(xí)框架
Labview深度學(xué)習(xí)tensorflow人工智能目標(biāo)檢測(cè)-教學(xué)貼【連載】
用光流法進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)_OpenCV3編程入門-源碼例程
視頻監(jiān)控中的運(yùn)動(dòng)目標(biāo)檢測(cè)
視頻序列運(yùn)動(dòng)目標(biāo)檢測(cè)
tensorflow 訓(xùn)練模型之目標(biāo)檢測(cè)入門知識(shí)與案例解析
使用OpenCV實(shí)現(xiàn)視頻圖像序列的運(yùn)動(dòng)目標(biāo)檢測(cè)的資料說明
如何使用Docker容器中的TensorFlow目標(biāo)檢測(cè)API
OpenCV使用深度學(xué)習(xí)做邊緣檢測(cè)的流程

用于桌上足球/足球的自動(dòng)Arduino目標(biāo)計(jì)數(shù)器

評(píng)論