何凌志,華國亮,王 晗
(南京理工大學紫金學院, 江蘇 南京 210023)
隨著中國城鎮化進程加快,人們的生活水平和質量日益得到改善,日常生活中參加足球運動的人也日漸增多。 由于足球比賽錄像直播時間長及足球觀眾對精彩競技比賽十分感興趣,因此足球視頻的精彩比賽事件檢測也逐漸成為體育競技分析領域研究的一個熱門話題。 在這其中,足球錄像中球的檢測是當前主要的研究基礎之一,它的檢測質量也將直接影響對足球錄像分析和檢索的最后效果,所以一直受到眾多學者的普遍重視。
近年來,YOLOv4[1]深度卷積神經網絡以其檢測效率高而被廣泛使用。 本項目設計了一個基于嵌入式的智能足球數據檢測分析系統,把人工智能和嵌入式平臺相結合。
YOLO[2]網絡是一種基于回歸的目標數據檢測分析算法,檢測速度較快且檢測結果質量高,故在許多任務具有良好的成效[3]。 YOLO 的多尺度預測算法相較于其他算法檢測目標更具優勢。 YOLOv4 目標數據檢測分析算法廣泛使用了近些年CNN 領域中最優的數據優化處理策略,從網絡數據處理、主干數據網絡、網絡管理訓練、激活處理函數、損失補償函數等各個方面都有著不同程度的優化提升。 YOLOv4 5 個基本組件分別是CBM(Conv+Bn+Mish),BL(Conv+Bn+Leaky_relu),Resunit,CSPX,SPP,其中,輸入端的改進是YOLOv4 最為重要之一,主要包括了Mosaic 數據增強,在YOLOv4 中所運用的Mosaic 是根據2019 年年底提出的CutMix 數據增強的方式,而CutMix 只采用了二幅圖像進行拼接,Mosaic 數據增強則是用的四幅圖像,通過隨機縮放、隨機裁剪、隨機排布的方式進行處理拼接。 Yolov4 的Backbone 中都使用了Mish 激活函數,而后面的網絡則還是使用Leaky _ relu 函數, 使用CSPDarknet53 網絡在ImageNet 數據集上做圖像分類任務,其中在對比中發現使用了Mish 激活函數的TOP-1和TOP-5 的精度比沒有使用時都略高一些,因此YoLov4 的目標檢測任務時,主干網絡Backbone 還是使用Mish 激活函數。 Mish 激活圖像如圖1 所示。
圖1 Mish 激活圖像
在目標檢測領域,為了更好地提取融合特征,通常在Backbone 和輸出層,會插入一些層,這個部分稱為Neck,相當于目標檢測網絡的頸部,也是非常重要的。其中,Yolov4 的Neck 結構主要采用了SPP 模塊,以及FPN+PAN 的方式。 在SPP 模塊中,使用k ={1×1,5×5,9×9,13×13}的最大池化的方式,通過進行concat 操作,可以把不同尺度的特征圖結合起來。 采用SPP 模塊的方式,比單純地使用k×k 最大池化的方式,更有效的增加主干特征的接收范圍,SPP 模塊顯著的分離了最重要的上下文特征。 SPP 模塊簡介如圖2 所示。
圖2 SPP 模塊簡介
本次項目選用公開的足球數據集,通過網絡爬蟲的方式收集了3 000 張照片。 通過LableImage 標注工具給每張照片加以標記,所產成的目標信息儲存于相對應的xml 文檔。 本次研究采用的是VOC 格式的數據集,因此收集到的足球照片會放入VOC 文件夾下的JPEGlmages 文件夾下,利用LableImage 標注工具標注足球照片生成的xml 文件存放在VOC2007 文件夾下的Annotation 文件夾中,通過編寫好的腳本生成與圖片對應的文件。 修改data/voc.names、cfg/voc.data、cfg/yolov4-voc.cfg 這3 個文件,添加自己的數據,文件夾層次如圖3 所示。
圖3 文件夾層次
由于深度學習及網絡模型訓練對于平臺配置須高要求,YOLOv4 訓練通常在CPU 或GPU 環境下完成,經測試,其中GPU 的運算能力遠遠高于CPU,因此本次采用GPU 進行訓練,在Ubuntu18.04 的操作系統下完成,CUDA 為10.1,CUDNN 為7.6.5,Python 為3.7,Opencv 為3.4.4。 其中訓練文檔如圖4 所示。
圖4 訓練迭代
2.3.1 模型算法平均準確率
在目標精度檢測中,判斷目標識別精度的主要指標是mAP(mean average precision)。 其中,每一個類別都可以根據reall 和precision 繪制一條曲線,AP 就是該曲線下的面積,mAP 是類別中AP 的平均值。 因為使用的是VOC 格式的數據集,所以應該有訓練的源文件以及通過LableImage 標注生成的xml 文件,但是YOLOv4 的網絡并不能直接檢測,而是需要每張照片對應的描述文件(txt 格式),記錄每一張照片的類別、位置、大小等等信息。 另外,通過YOLOV4 的命令./darknet detector map cfg/voc.data cfg/yolov4-voc.cfg/yolov4-voc_final.weights 可得,本次足球算法模型的mAP 值達到96.78%。
2.3.2 模型算法交并比
IoU (Intersection over Union)的具體中文名稱是直譯為“交并比”,即為虛擬預測區域邊界和真實預測邊框的一個交集,即對二框的并集之進行比較。 在諸多基于ai 和深度學習的目標檢測算法中,IoU 均被認為是一項關鍵的預測區綜合域計算測量指標。 一般在檢測中,若IoU>0.5,則認為完全正確,并且一般閾值設為0.5。 其中,通過測試可得我們的這次足球模型算法的IoU 值大于0.5。
本次實驗采用基于linux 的樹莓派4B 作為檢測的嵌入式平臺,該嵌入式平臺采用ARMCortex-A721.5GHz(四核)的CPU,以及500MHzVIDE OCOREIV 的GPU,是一款集成了多功能的微型電腦主板。 其中內存卡和硬盤為SD/MicroSD 卡的卡片式,同時4 個USB 數據接口以及一個以太網接口在卡片主板周圍。
首先更換國內源(本次實驗采用中科大源)以及新建pip 源,通過下載Opencv3.4.4 和OpenCV_Contrib 的源文件從而進行源碼構建Opencv。 后通過命令git clone https:/github.com/AlexeyAB/darknet.git 獲取源碼,之后進入Darknet 目錄下尋找Makefile 文件,其中修改Opencv 對應的值,把0 改成1。 最后重新進行編譯處理。
為驗證YOLOv4 模型的可行性和足球檢測系統的檢測能力,組內人員將模型移植到樹莓派嵌入式平臺。同時,相關人員使用FileZilla 傳輸軟件把訓練好的模型通過連接IP 地址的方式傳輸到樹莓派端。 由于樹莓派的GPU 受限,故本次測試對視頻處理效果會有一定的影響,但是結果顯示,即使存在不利因素,搭載了YOLOv4 目標檢測算法模型的樹莓派對足球的檢測效果依舊良好。
試驗數據表明,通過命令./darknet detector demo ./cfg/voc.data ./cfg/yolov4-voc.cfg ./yolov4-voc.weights
即可看到經過YOLOv4 的目標檢測算法模型處理的最后結果。 因此采用YOLOv4 作為足球檢測算法,結果準確率較高。 YOLOv4 在檢測方面具有一定的優勢,它基本可以滿足檢測要求。 訓練測試如圖5 所示。
圖5 訓練測試
本研究主體是基于YOLOv4 目標數據檢測分析算法,計算機系統將攝像頭所收集到的圖像信號傳輸到樹莓派,樹莓派根據訓練模型算法進行數據計算處理。該研究實現了人工智能和嵌入式平臺相結合,并實現了對足球的定位和識別。 其中,本研究最高識別率為98%,平均識別率為96%,目標檢測算法模型的mAP(平均精度值)為96.78%,該數據滿足足球視頻的分析和檢索的效果。 當然,當下目標數據檢測分析算法,除YOLOv4,其他目標檢測算法也各有優勢。 作為后來研究學者應該緊隨當下信息時代的步伐,不斷地去認識學習更多的知識。