国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于YOLOv5網絡的徑賽人體目標檢測

2022-04-24 03:14鄒有成
現代計算機 2022年4期
關鍵詞:精度圖像函數

鄒有成

(湖南師范大學工程與設計學院,長沙 410081)

0 引言

目前,國際田聯規(guī)定在國際A、B 類比賽中,必須使用電動計時系統(tǒng)。只有電動計時判讀出的成績才能被認可。我國在《田徑徑賽規(guī)則》中明確指出, 凡舉行國內一、二、三類比賽,均應使用全自動電子計時裝置。在徑賽比賽中,運動成績的確認,靠以往的手工計時是無法滿足要求的。尤其在大型的體育賽會中,對運動成績的準確、公證的裁定是非常重要的。

國際田徑比賽中的成績判讀主要還是依靠線陣CCD 與人工配合來完成,它是由高速線陣CCD 相機在運動員過線那一刻進行圖像采集,通過電腦將采集的圖像與計時生成判讀圖片,最后由電計時裁判員判定運動員的比賽成績,由于跑道拍攝清晰度的問題,需要通過道次裁判員提供道次來確定運動員成績。

現有的圖像分析終點計時系統(tǒng)都是基于線陣CCD 與圖像處理技術配合人工來進行成績判讀。線陣CCD 結合圖像處理的終點計時系統(tǒng)系統(tǒng)雖然精度足夠高,但是在遇到一天內比賽量巨大的場景時,例如體育高考,每天需要進行上百次的人工判讀,高強度的工作容易造成判讀員的疲勞,進而造成比賽成績誤判。本文希望通過目標檢測技術來完成對徑賽運動員的識別,并研究提高跑道上遮擋的人體目標的檢測精度。方便后續(xù)展開對徑賽全自動判讀的研究。

目標檢測任務已經發(fā)展了近十年,簡單場景下的人體目標檢測技術已經較為成熟,但對遮擋的人體目標檢測還處在研究階段。2016年,江鷗通過分析目標檢測算法中的HOG 特征提取與構建特征金字塔等手段改進模型,更好的解決了行人檢測中的遮擋問題。2018 年,李宗明等使用Faster RCNN 和相似性度量的行人目標檢測在改進非極大值抑制和硬閾值篩選后,提升了模型對重疊行人的檢測精度,降低了漏檢誤檢的概率。2019 年,周小又通過對數據集中遮擋行人的可見區(qū)域分,設計出了一種多感受野的行人部位檢測網絡,減小了對遮擋行人的漏檢率。2021 年,鄒梓吟等提出一種基于注意力機制的特征提取增強檢測算法,通過添加注意力模塊學習特征通道間關系和特征圖空間信息與利用距離交并比損失函數(DIO-ULoss)設計檢測器的損失函數的方法提高了對遮擋行人的檢測精度。

與行人檢測對視野范圍內所有目標都感興趣不同,徑賽目標檢測只對跑道上的運動員感興趣,模型需要能夠檢測出跑道上的運動員,并且能夠剔除跑道外的無關人員的干擾。

要想利用機器替代人工完成徑賽的全自動判讀,模型對遮擋目標檢測能力的提升就是最為重要的一環(huán),本文將以提高對遮擋運動員的檢測精度為目的,從網絡模型、非極大值抑制算法、數據集等方面展開研究。首先在專用場地拍攝運動員沖刺畫面,對圖片進行預處理,通過數據增強的手段,將數據集中運動員部分身體進行遮擋,獲取大量的差異性數據,并標注制作成數據集。通過改變網絡模型結構,增強模型對遮擋小目標的注意力;再修改非極大值抑制算法(non-maximum suppression,NMS),提高模型對遮擋目標錨框的容忍度。實驗表明,改進后的YOLOv5算法對跑道中的遮擋運動員目標檢測濾明顯提升,能夠滿足實際場景下的檢測需求。

1 總體設計方案

本次實驗主要是研究專用于徑賽人體目標檢測的YOLOv5模型。首先利用高速攝像機在專業(yè)田徑賽場拍攝了81 段視頻,將比賽視頻按照每五幀提取一張的采樣率提取出2195 張圖像,利用數據增強技術對數據集進行擴充,最后得到5485 張可用圖像,利用labelimg 對圖像中的運動員進行標記,并且按照訓2∶1∶1 的比例劃分訓練集、測試集、驗證集,將劃分好的數據集上傳到GoogleDrive 網盤,并在colab 服務器上進行訓練。最后利用輸出的YOLOv5s模型(命名為best.pt,下文稱之為改進后YOLOv5 徑賽檢測模型)對實際徑賽拍攝圖像進行檢測。

2 YOLOv5s網絡模型

YOLOv5 作為YOLO(you only look once)系列最新版本的檢測模型,無論是檢測速度還是檢測精度都有了較為明顯的提升。實驗結果表明,YOLOv5 的表現要優(yōu)于谷歌開源的目標檢測框架EfficientDet。相較于上一代在darknet架構下的YOLOv4模型244 MB 的大小,YOLOv5s 模型的僅有14 MB,縮小近乎95%,當然更小的模型意味著更快的檢測速度,YOLOv5在Tesla P100 的加持下能夠實現140 FPS 的快速檢測。

YOLOv5 提供四種不同的模型,四中模型的配置文件一致,只在層深與寬度上做區(qū)分,越深的模型占用了更大的存儲空間帶來了更高度精度,但同時也降低了運行速度,本實驗權衡實際精度要求與算力限制選用了最為精簡的YOLOv5s作為預訓練模型。

YOLOv5s 作為YOLOv5 中最簡潔的一個模型,與其他Yolov5 模型一樣,其網絡結構分為四個部分,分別是輸入(input)、主干網絡(backbone)、頸部(neck)、預測(prediction)。網絡結構參考圖1。

圖1 YOLOv5s網絡結構

2.1 輸入(input)

Input 部分運用Mosaic 數據增強方式,自適應圖片縮放,自適應計算錨框。

Mosaic 能夠提高小目標的檢測效果,利用四張圖片,隨機裁剪、隨機縮放、隨機布局的方式拼接圖片,效果參考圖2。同樣,拼接的圖片也能夠豐富數據集。不僅如此,拼接四張圖片還能夠一次性計算四張圖片的數據,減小了Mini-batch 的大小,使得單GPU 訓練的效果提高。

圖2 Mosaic數據增強

2.2 主干網絡(backbone)

Backbone 包含Focus 結構、CSP(cross stagepartial connections,跨階段局部網絡)結構、SPP(spatial pyramid pooling,空間金字塔池化模塊)結構。Focus結構中最重要的就是4次切片操作,切片操作圖釋參考圖3。

圖3 切片操作

4×4×3 的圖像經由切片操作之后變成了2×2×12 的特征圖。參考Focus 的結構(圖4),輸入為608×608×3 在經過Focus 結構切片后將變成304×304×12 的特征圖,再經過一個32 卷積核的卷積算法后將變?yōu)?04×304×32的特征圖。

圖4 Focus結構

網絡結構中CSP 結構有兩種,一種是應用于主干網絡Backbone 中的CSP1_X,另一種則是應用于Neck中的CSP2_X。

Backbone 中還加入了SPP,參考圖5,經過并列的三個Maxpool 進行下采樣,將結果與其初始特征相加,從而增強網絡對多尺度特征融合能力。

圖5 SPP結構

2.3 頸部(neck)

Neck 中 包 含FPN+PAN 結 構FPN(Feature Pyramid Networks)是從上而下的,通過將高層特征上采樣和底層特征融合得到新的特征圖來進行預測。PAN(Path Aggregation Network)則是在FPN的基礎上又加了從下到上的融合。

2.4 預測(prediction)

在YOLOv5 中,loss 在訓練中起到了決定性的作用,同時,YOLOv5 的loss 又與大部分傳統(tǒng)的方法不同,它是基于網格的。在網格上生成相應的錨框和其對應的cls(classification loss)以及obj(objectness),同 時,box loss 還 采 用 了CIoU(Complete Intersection over Union)的方式來進行回歸,很好的提高了回歸的速度。并且針對傳統(tǒng)YOLO 中正樣本不足的情況。它還采用了,它還利用了一種樣本擴充的策略,很大的提高了其最終的檢測精度。

3 改進YOLOv5模型

3.1 更改激活函數

原始YOLOv5 網絡結構中混合使用Leaky Relu 與Hardswish 激活函數,本文將網絡中所有激活函數替換為SiLU 激活函數,簡化了體系結構,SiLU 激活函數其實是Swish[e]激活函數在pytorch 中的名字,公式如(1)所示,其中()=1/(1+exp(-6))為sigmoid 函數,SiLU 的設計受到了LSTM和高速網絡中gating(控制)的sigmoid 函數使用的啟發(fā)。我們使用相同的gating 值來簡化gating 機制,這稱為self-gating(自控)。

self-gating 的優(yōu)點在于它只需要簡單的標量輸入,而普通的gating 則需要多個標量輸入。這使得諸如SiLU 之類的self-gated 激活函數能夠輕松替換以單個標量為輸入的激活函數(例如ReLU),而無需更改隱藏容量或參數數量。

SiLU 具備無上界有下界、平滑、非單調的特性,它有助于防止慢速訓練期間,梯度逐漸接近0 并導致飽和;并且SiLU 的平滑度在模型的優(yōu)化和泛化中起了重要作用。

圖6 Silu激活函數

3.2 改進非極大值抑制NMS

在目標檢測的后處理過程中,針對很多目標框的篩選,通常需要NMS操作。

YOLOv5 采用了BECLogits 損失函數計算objectness score 的損失,class probability score 采 用了交叉熵損失函數(BCEclsloss),boUnding box采用了CIoU Loss。損失函數公式如下:

損失函數的發(fā)展經過了IoU(Intersection over Union), GIoU(Generalized Intersection over Union),DIoU(Distance Intersection over Union), CIoU(Complete Intersection over Union)四個階段。IoU、GIoU、DIoU公式的圖釋分別參考圖8—圖10。

圖8 IoU圖釋

圖9 GIoU圖釋

圖10 DIoU圖釋

在介紹CIoU 前得先了解IoU,IoU 的全稱為交并比(Intersection over Union),通過這個名稱我們大概可以猜到IoU 的計算方法。IoU 計算的是“預測的邊框”和“真實的邊框”的交集和并集的比值。

與只關注重疊區(qū)域不同,不僅關注重疊區(qū)域,還關注其他的非重合區(qū)域,能更好的反映兩者的重合度。為能夠包住的最小方框。

DIoU(Distance-IoU)要比GIoU 更加符合目標框回歸的機制,將目標與錨框(anchor box)之間的距離,重疊率以及尺度都考慮進去,使得目標框回歸變得更加穩(wěn)定,不會像和一樣出現訓練過程中發(fā)散等問題。

其中,,b分別代表了預測框和真實框的中心點,且代表的是計算兩個中心點間的歐式距離。代表的是能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離。后面一項即為懲罰因子。

由于bbox 回歸三要素中的長寬比還沒被考慮到計算中,在的基礎上提出來,的懲罰項是在的懲罰項基礎上加了一個影響因子,,這個因子把預測框長寬比擬合目標框的長寬比考慮進去。其中是用于做trade-off 的參數,是用來衡量長寬比一致性的參數。

原始YOLOv5 中使用CIoU_loss 作為邊界框回歸的損失,由于CIoU_Loss 中包含影響因子,涉及gt(groundtruth)d 的信息,但在測試推理時,是并沒有groundtruth 信息的??紤]到徑賽檢測中,運動員經常會在畫面上出現遮擋的情況,DIoU 可以作為標準,在抑制冗余檢測框時不僅考慮重疊程度,而且考慮兩個邊界框中心點之間的距離,使其對有遮擋的情況具有更強的魯棒性。故YOLOv5中邊界框的回歸調整為

4 數據集介紹

4.1 原始數據集

本次實驗自制了一個徑賽短跑數據集,畫面內包括跑道、運動員、教練、足球場等事物,每張圖像的分辨率大小為856×480,原始數據集共計2195張圖像。原始數據集展示參考圖11。

圖11 原始數據集

4.2 數據增強

除YOLOv5 自帶的Mosaic 數據增強外,為了提高對遮擋目標的魯棒性,提高模型對局部特征的關注度,利用添加隨機遮擋的手段豐富數據集中的遮擋類別。在圖片上隨機添加隨機顏色的多邊形遮擋塊,使圖像上身體部分信息缺失。經過隨機遮擋處理后的圖像參考圖7。擴充后的數據集共計5485張。

圖7 Silu激活函數一階導數

圖12 數據增強后的數據集

4.3 圖像標注

數據集通過開源軟件labelimg 進行標注,但只對進行短跑比賽的運動員標注,標簽記為runner,畫面中運動員如有遮擋或者粘連,將分別用不同的矩形框進行標注,確保模型能夠在實際比賽中對重疊的目標精確識別。畫面中教練等圍觀群眾不算作模型識別范圍,不予以標記。具體見圖8。

圖13 運動員標注

5 模型訓練與結果分析

5.1 YOLOv5模型訓練

本實驗對GPU 算力有一定要求,實驗在Google colab 云端進行,通過網絡掛載到遠程服務器訓練,使用CUDA(compute unified device architecture)并行計算架構運算平臺。具體環(huán)境如表1所示

表1 實驗運行環(huán)境

采取box loss 作為損失函數。參數設置如表2所示。

表2 訓練參數設置

5.2 訓練結果

訓練周期epochs 設置為200,訓練周期在190 輪的時候開始穩(wěn)定,best.pt 選取訓練中mAP值最高的模型,mAP@0.5 可以達到0.982,訓練結果如圖14、圖15所示。

圖14 損失函數

圖15 平均精度mAP@0.5

不同訓練周期的結果如表3所示。

表3 不同周期訓練結果

不同目標檢測模型檢測結果對比如表4所示。

表4 不同目標檢測模型檢測結果對比

5.3 結果分析

下面三組圖展示了三種模型的檢測效果,左邊紫色檢測框為原版YOLOv5m 目標檢測模型,中間玫紅色檢測框為原版YOLOv5s 目標檢測模型,右邊藍色檢測框為改進后的YOLOv5s徑賽檢測模型。原版YOLOv5m 與YOLOv5s為開源模型。徑賽中出現的場景絕大多數可以歸結為這三類,畫面中只出現一個運動員的單人體目標檢測,畫面中出現多運動員的多目標檢測和畫面中運動員存在粘連重疊的遮擋情況。

單目標檢測參考圖16 中(a)、(b),可以發(fā)現,三個模型都檢測出了運動員,帶寬最深的YOLOv5m 檢測效果最好,改進后YOLOv5s 徑賽檢測模型的錨框相比開源模型更加準確,但置信度相比開源模型略低一些。參考圖16(b)會發(fā)現,自訓練模型并沒有將跑道之外的無關人員檢測出來,是由于數據集標注時,為排除跑道之外的人員干擾,將所有跑道之外的無關人員不予標注。

圖16 單目標檢測

多目標檢測參考圖17 中(a)、(b),人物在存在間隔的情況下三個模型都能較好的檢測出來運動員,且錨框對于邊界的判斷都較為準確,均無誤檢漏檢情況出現。

圖17 多目標檢測

重疊遮擋多目標檢測參考圖18 中(a)、(b)可以發(fā)現,改進后YOLOv5s 模型在檢測運動員存在粘連和遮擋的時候更能夠清楚判斷人物與邊界,能夠準確檢測出重疊在后方的運動員。圖18(a)中有4 名運動員,改進后YOLOv5 模型能夠將跑道中運動員4 名全部檢測出來,YOLOv5s 與YOLOv5m 均存在漏檢情況,只檢測出3 人;圖18(b)同樣是4 名運動員,改進后YOLOv5s 模 型全數檢測,YOLOv5s 與YOLOv5m 漏檢一名。由于本檢測實驗只對跑道上的運動員感興趣,故自制數據集只對跑道中的運動員進行標注,對跑道外的人員不進行檢測,從圖18(b)中能看出,自制模型能夠去除跑道之外無關人員的干擾,清楚的檢測出在跑道中進行比賽的運動員。從檢測結果來看,改進后YOLOv5徑賽檢測模型在遇到重疊遮擋情況時能夠更好的檢測出遮擋目標。

圖18 重疊遮擋多目標檢測

6 結語

為了提高徑賽中遮擋人物的識別率,基于YOLOv5網絡在自制徑賽數據集上進行訓練,得到改進后YOLOv5s 徑賽檢測模型。實驗的結果表明,改進后YOLOv5徑賽檢測模型能夠較好的檢測在該場景下比賽的運動員,能夠識別并較為精確的判定遮擋人物的邊界。相較于原版YOLOv5s 模型,本模型在無遮擋檢測精度提升2.4%,遮擋檢測精度提升7.6%。經過分析,改進后的YOLOv5模型在徑賽場地上有更好的檢測效果。

猜你喜歡
精度圖像函數
基于不同快速星歷的GAMIT解算精度分析
A、B兩點漂流記
近似邊界精度信息熵的屬性約簡
電力系統(tǒng)短期負荷預測方法與預測精度
關于函數的一些補充知識
高中數學中二次函數應用舉隅オ
無獨有偶 曲徑通幽
名人語錄的極簡圖像表達
一次函數圖像與性質的重難點講析
趣味數獨等4則