技術實踐丨基於MindSpore框架Yolov3-darknet模型的籃球動作檢測體驗

摘要:通過對籃球動作的分類訓練及識別檢測實例的講解和體驗,使我們瞭解了Yolov3模型的原理、架構等基本知識,爲日後的深入學習奠定了基礎。

背靠全新的設計理念,華爲雲推出了 MindSpore深度學習實戰營,幫助小白更快的上手高性能深度學習框架,快速訓練ResNet-50,實現你的第一個手機App開發,學會智能新聞分類、籃球檢測和「猜你喜歡」模型!

MindSpore深度學習實戰營,通過 21天的合理課程安排,不僅提供目前大熱的移動端部署介紹,還有緊跟時事的趣味實踐,更有深度的底層開發講解,讓你從框架到算法到開發,都能一網打盡。

在MindSpore21天實戰營的第四堂課,由王老師分享了Yolov3在圖像分類、目標檢測等方面的實現。通過對籃球動作的分類訓練及識別檢測實例的講解和體驗,瞭解了Yolov3模型的原理、架構等基本知識,爲日後的深入學習奠定了基礎。

本次體驗同樣基於ModelArts+OBS,基本的操作步驟不復贅述,可以參考之前的文章。作業也同樣分爲體驗作業和進階作業。

體驗作業:輸入籃球比賽圖片,在ModelArts環境上完成模型推理流程。根據本課提供的代碼和操作步驟,是比較容易實現的,在此也不復強調。

進階作業:輸入籃球比賽視頻,在ModelArts環境上完成模型推理流程。具體實現步驟如下:

1、下載一段籃球比賽視頻,格式最好是mp4、avi等常規格式。用專用播放器下載的特殊格式,還需要轉換一下;另外就是考慮到數據量的問題,視頻的時間也不宜超過1分鐘。本次操作的視頻轉碼mp4後,居然帶着水印(試用版),不確定會不會影響後續的識別。

2、對視頻進行切分爲圖片,格式爲.jpg。根據本課提供的OpenCV代碼,在本地測試成功後,放到ModelArts上調試卻不成功,多次調試無果。

2.1本地操作的代碼如下圖:

2.2 幀率爲25,按照10幀取1,共切分出116張圖片,圖片大小爲1920*1080。執行過程如下圖所示

2.3 將圖片通過OBS-browser-plus上傳到OBS桶Yolov3項目數據集路徑中;

2.4 修改predit.py代碼,使其適應於批量圖片的推理,並上傳Yolov3代碼至OBS桶。

Ps:2.4.1 圖片目錄中需按名稱順序讀取並處理;

2.4.2 要將detection = DetectionEngine(args)語句置於循環中,否則其導致上一張圖的Bounding box的累加複用,導致預測結果錯誤。如下圖所示極端狀況:

2.5 將Yolov3代碼上傳OBS桶Yolov3代碼目錄,並設置啓動predict.py;在輸出圖片遍歷的打印信息後,圖片的檢測工作就完成了,並輸出到設置的OBS輸出目錄中。ModelArts檢測日誌見下圖:

Ps:需注意增加checkpoint_path的配置,做爲推理使用的訓練模型。具體設置過程參見進階作業步驟。

2.6、將圖片使用OBS-browser-plus下載到本地,使用代碼將其合併爲視頻。同樣,ModelArts嘗試運行無果。本地運行代碼如下:

合成操作打印信息如下圖所示:

到此,進階作業的過程基本完成。

後記:

1、 本次課程訓練使用的3000張籃球比賽圖片,是在ModelArts上使用圖片標記完成的,這可以作爲深入瞭解AI模型拓展的一個起點;

2、 本次課程提供了GPU版本的代碼,ModelArts上未實現的可以嘗試在GPU環境下自動完成圖片的切分、檢測及合併;

3、 本節課後老師又補充了Yolov4的代碼,可以嘗試體驗相比Yolov3檢測精度是否有所提升。此項目前正在處理報錯中,尚未成文,等待後補,謝謝!

本文分享自華爲雲社區《基於MindSpore框架Yolov3-darknet模型的籃球動作檢測體驗》,原文作者:Dasming 。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章