□ 胡小鵬 □ 趙永杰 □ 黃可心 □ 項彥澍 □ 梁冬泰 □ 馮永飛 □ 梁 丹
1.寧波大學 機械工程與力學學院 浙江寧波 315211 2.寧波諾丁漢大學 航空學院 浙江寧波 315154 3.寧波諾丁漢大學 機械、材料與制造工程學院 浙江寧波 315154
乒乓球是一項兼具競技性與觀賞性的體育運動,研究乒乓球的相關參數(shù),對分析運動員發(fā)球習慣、設計乒乓球機器人等相關輔助設備具有重要意義。在乒乓球相關研究中,軌跡檢測一直是重點和難點。對于乒乓球運動軌跡檢測,通常有初始目標定位、后續(xù)目標追蹤兩個子任務。在初始目標定位子任務中,傳統(tǒng)的研究方法主要為通過攝像機采集運動過程視頻,根據(jù)乒乓球的顏色、輪廓進行檢測[1-3]。根據(jù)乒乓球顏色進行檢測指通過乒乓球目標與背景之間的像素顏色差實現(xiàn)定位,根據(jù)乒乓球輪廓進行檢測指通過相鄰幀之間的像素位置差獲取乒乓球的輪廓。以上方法計算量較小,計算速度較快,但是對環(huán)境背景的顏色一致度及背景與目標的對比度要求較高。在實際應用場景中,常常存在身穿各種顏色衣服的觀眾及各種形狀、顏色的條幅等,因此以上方法難以應用。為改善上述問題,外設傳感器[4-5]被逐漸應用于乒乓球檢測,但是會增加設備負擔,實際應用有限。在后續(xù)目標追蹤子任務中,同樣有基于顏色、輪廓的檢測,以及應用外設傳感器。另一方面,隨著神經(jīng)網(wǎng)絡的普及,越來越多的研究者采用神經(jīng)網(wǎng)絡進行乒乓球軌跡追蹤。Zhao Hongtu等[6]提出一種基于比例共軛梯度的神經(jīng)網(wǎng)絡,可以應用于乒乓球目標軌跡追蹤,同時通過設置閾值,保存隱含層權重矩陣,對方法進行改進,獲得了較好的試驗結果。Sheng Xinjun等[7]采用YOLOv3算法卷積神經(jīng)網(wǎng)絡進行乒乓球檢測,準確率達到97.1%。Lin Hsien’i等[8]提出使用反向傳播神經(jīng)網(wǎng)絡檢測乒乓球軌跡的方案,準確率為88%。以上方法準確率較高,但嚴重依賴于數(shù)據(jù)集的采集與制作,難以適應復雜多變的實際應用場景。
為了解決現(xiàn)有檢測方法無法在復雜環(huán)境下對乒乓球進行有效檢測這一問題,筆者提出一種基于深度學習與超像素的乒乓球運動軌跡檢測方法。這一方法采用基于注意力機制YOLOv5s算法獲取目標的候選區(qū)域,針對候選區(qū)域采用簡單線性迭代聚類方法進行區(qū)域分割,構造候選區(qū)域的超像素特征,得到置信度圖,結合粒子濾波方法對乒乓球運動軌跡進行追蹤。這一方法對乒乓球運動軌跡的檢測精度與速度相比原有方法均有明顯提升。
圖像預處理主要包括制作訓練集時的數(shù)據(jù)擴增與乒乓球檢測前的圖像增強兩部分。
采集到的數(shù)據(jù)集背景較為單一,相似度較高,深度學習算法進行模型訓練時需要大量乒乓球數(shù)據(jù)。為避免數(shù)據(jù)集不足而造成訓練過程中產(chǎn)生的過擬合現(xiàn)象,通過對高度、對比度進行調(diào)節(jié)、旋轉(zhuǎn)、縮放,以及添加噪聲等方法,實現(xiàn)對原有數(shù)據(jù)集的擴增,得到4 235張乒乓球圖像數(shù)據(jù)。另一方面,使用LabelImg標注軟件進行乒乓球區(qū)域的人工標注,以制作乒乓球定位階段的最終訓練集。
考慮到現(xiàn)場采集時的光線問題,需要對圖像數(shù)據(jù)進行預處理。采用限制對比度的自適應直方圖均衡化方法對亮度進行調(diào)整,以達到圖像增強的目的。傳統(tǒng)的自適應直方圖均衡化方法在處理乒乓球圖像時存在明顯塊效應,限制對比度的自適應直方圖均衡化方法是對自適應直方圖均衡化方法的改進,通過使用對比度限幅克服自適應直方圖均衡化方法噪聲過度放大、產(chǎn)生塊狀效應等問題[9]。限制對比度的自適應直方圖均衡化方法的關鍵是在直方圖均衡化的基礎上對直方圖中大于設定閾值的區(qū)域進行裁剪,并將其均勻分布于整個灰度空間。限制對比度的自適應直方圖均衡化方法如圖1所示。
▲圖1 限制對比度的自適應直方圖均衡化方法
YOLOv5算法以自身輕便型的特點而得到廣泛應用。YOLOv5算法的網(wǎng)絡結構與YOLOv4算法較為相似,包含輸入端、骨干網(wǎng)絡、頸部、輸出端四個部分。根據(jù)不同的網(wǎng)絡深度和寬度,YOLOv5算法可以分為四種算法基本網(wǎng)絡結構:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,四種算法網(wǎng)絡結構模型的尺寸依次增大,參數(shù)依次增多[10]??紤]到乒乓球檢測的實時應用性要求,重點對YOLOv5s算法網(wǎng)絡結構進行改進設計。根據(jù)YOLOv5s算法網(wǎng)絡結構的特點,在骨干網(wǎng)絡的第一個卷積層后引入卷積塊注意模塊,形成基于注意力機制的YOLOv5s算法網(wǎng)絡結構,提高對乒乓球運動軌跡的檢測定位能力?;谧⒁饬C制的YOLOv5算法網(wǎng)絡結構如圖2所示。
檢測對象是運動過程中的乒乓球,涉及大背景中的小目標,背景對檢測結果的影響較大。根據(jù)這一特點,引入卷積塊注意模塊用于強調(diào)乒乓球特征,進而抑制背景信息。注意力機制在本質(zhì)上與人類視覺選擇性關注目標相似,都是從眾多信息中選擇當前任務更需要關注的信息。注意力機制包含通道注意力機制與空間注意力機制,通道注意力機制主要關注輸入特征圖中的目標信息,空間注意力機制主要關注特征圖之間的空間關系。卷積塊注意模塊對通道注意力機制和空間注意力機制進行級聯(lián),在融合兩者優(yōu)點的同時實現(xiàn)較大的性能改進,并且空間占比較小[11]。卷積塊注意模塊結構如圖3所示。
如果僅僅使用定位信息進行追蹤,那么會出現(xiàn)定位不精確的情況。對此,在追蹤過程中使用超像素對結果進行更正。超像素是由位置相鄰且輪廓、紋理、亮度等特征相似的像素組成的小區(qū)域,自文獻[12]提出以來,已經(jīng)得到廣泛應用。筆者使用簡單線性迭代聚類算法[13]對乒乓球圖像進行分割,以提取相關紋理,并引入K-均值聚類算法[14]進行超像素聚類,以準確提取目標區(qū)域。
簡單線性迭代聚類算法通常采用K-均值聚類生成大小、形狀類似的超像素塊。與其它超像素聚類相比,簡單線性迭代聚類算法具有運行速度快、存儲效率高等特點[15]。
采用簡單線性迭代聚類算法,在圖像中隨機選取k個點作為超像素中心點Zk:
Zk=[lk,ak,bk,xk,yk]T
(1)
式中:lk為像素點的亮度;ak為像素點從紅色到綠色的程度;bk為像素點從黃色到藍色的程度;(xk,yk)為像素點在圖像中的坐標。
▲圖2 基于注意力機制的YOLOv5s算法網(wǎng)絡結構
▲圖3 卷積塊注意模塊結構
由此,相鄰超像素的距離d可以表示為:
(2)
式中:N為圖像中像素的總數(shù)。
可以根據(jù)需求選取超像素數(shù)量,筆者選取超像素數(shù)量為500,使超像素足夠多,以提高精確度。
簡單線性迭代聚類算法通過不斷迭代計算顏色與空間的歐氏距離,將每個像素點分配給最近的超像素中心點,進而獲得完整的目標圖像超像素。
基于深度學習與超像素的乒乓球運動軌跡檢測方法通過劃定感興趣區(qū)域,獲取由改進的YOLOv5s算法檢測到的目標乒乓球候選區(qū)域。
(3)
使用簡單線性迭代聚類算法將第t幀訓練樣本中的乒乓球及其周圍正方形區(qū)域分割為Nt個超像素,并且將該正方形區(qū)域邊長設置為1.5[S(Xt)]1/2,使該正方形區(qū)域的面積足夠大,能夠覆蓋整個追蹤目標,同時可以適應目標在圖像中因角度變化而引起的大小變化,S(Xt)為候選區(qū)域的面積。提取前3幀中所有超像素的特征,并使用K-均值聚類算法將前3幀的超像素集形成的特征池聚類,聚類總數(shù)為n。給每一個聚類i分配一個滿足[-1,1]的目標—背景置信度值Cic,用于指示聚類的超像素塊是否屬于目標或背景。對此,需要計算每個聚類中所對應的目標區(qū)域的面積S+(i)和背景區(qū)域的面積S-(i),關系式為:
(4)
置信度越接近1或-1,聚類的超像素塊越有可能屬于目標或背景。聚類中心fc(i)、聚類半徑rc(i)、聚類成員ftr、聚類置信度Cic構成初始外觀模型。
對于新幀候選區(qū)域,需要通過單個超像素的置信度計算該幀的置信度圖。單個超像素的置信度取決于所屬的聚類和在特征空間中與對應聚類中心的距離,前者反映聚類所包含的超像素屬于目標或背景的可能性,后者反映超像素屬于聚類的可能性[16]。由此,需要引入權重ω來計算第t幀第r個超像素的置信度值Ctr,為:
(5)
?r=1,…,Nt;i=1,…,n
(6)
通過以上方法,可以計算當前幀中每個超像素的置信度。
計算完成后,可以為超像素中的每個像素賦予相同的置信度,超像素周圍區(qū)域的像素置為-1,即不屬于該超像素塊。
由于前后幀的時間較短,因此前后幀外觀模型具有極大相似度。根據(jù)前一幀得到的置信度圖,使用粒子濾波進行采樣,用加權粒子集對當前幀進行最大后驗估計,以獲取最佳目標。在得到置信度圖后,對新幀所有候選圖像區(qū)域進行歸一化處理,并對每個采樣粒子所對應的超像素置信度進行求和等操作,計算最有可能代表目標區(qū)域的粒子,進而得到目標區(qū)域,計算式為:
(7)
基于超像素的追蹤過程如圖4所示。
▲圖4 基于超像素的追蹤過程
乒乓球運動軌跡檢測中存在遮擋問題,即乒乓球被背景中的干擾物遮擋。針對遮擋問題,通過設置閾值以判斷在t時刻狀態(tài)Xt的遮擋。若超出設定閾值,則認為發(fā)生遮擋,此時直接將前一幀的置信度結果作為當前幀的估計結果。
為了驗證基于深度學習與超像素的乒乓球運動軌跡檢測方法的有效性,采集20組不同光照下的乒乓球視頻制作數(shù)據(jù)集,采用不同方法進行檢測,對比結果。數(shù)據(jù)處理平臺中,中央處理器型號為英特爾酷睿i3-9100,圖形處理器型號為英偉達精視GTX 1080Ti。
結合各種乒乓球比賽視頻制作乒乓球定位模塊的訓練集。為提高乒乓球定位模塊的檢測精度和訓練速度,使用分布訓練的方式獲取最佳的訓練權重。
為定量分析乒乓球定位效果,選取1 000張圖像。將基于深度學習與超像素的乒乓球運動軌跡檢測方法與其它方法進行檢測準確率和檢測時間對比,結果見表1。由表1可見,在進行乒乓球定位時,基于深度學習與超像素的乒乓球運動軌跡檢測方法準確率達到98.1%,大幅高于傳統(tǒng)方法,特別是與傳統(tǒng)YOLO算法相比,準確率有明顯提升?;陬伾c輪廓的檢測方法專注于檢測目標外觀,忽略了背景,使設定的相關閾值難以適應實時變化的環(huán)境?;谏疃葘W習與超像素的乒乓球運動軌跡檢測方法更專注于目標周圍的有效信息,因此檢測結果更佳。
表1 乒乓球定位方法對比
在檢測時間方面,傳統(tǒng)方法憑借較小的模型能夠獲得較快的檢測速度。Faster區(qū)域卷積神經(jīng)網(wǎng)絡檢測準確率與速度相比傳統(tǒng)YOLO算法較低?;谏疃葘W習與超像素的乒乓球運動軌跡檢測方法檢測時間僅長于YOLOv5s算法,準確率相比YOLOv5s算法則有顯著提升,表明基于深度學習與超像素的乒乓球運動軌跡檢測方法能夠滿足乒乓球快速準確檢測的需求。
為驗證基于深度學習與超像素的乒乓球運動軌跡檢測方法在不同光照、不同場景追蹤乒乓球,以及處理遮擋問題時的有效性,選擇YOLOv4算法、YOLOv5s算法、Faster區(qū)域卷積神經(jīng)網(wǎng)絡作為對比方法。乒乓球追蹤方法對比如圖5、表2所示。
▲圖5 乒乓球追蹤方法對比
表2 乒乓球追蹤方法對比
從追蹤結果看,基于深度學習與超像素的乒乓球運動軌跡檢測方法相較于主流深度學習算法能夠正確追蹤兵乓球,誤識別、不識別情況較少,并且在處理模糊等問題時效率較高,未出現(xiàn)對目標區(qū)域外的目標誤識別情況,定位精度、準確率都較高??赡軙龅降膯栴}是制作數(shù)據(jù)集時容易將一些模糊的目標變?yōu)橛柧毤囊徊糠?導致深度學習檢測器學習錯誤信息,反映在檢測結果上是定位了相似卻錯誤的目標。
在處理遮擋問題時,追蹤器能夠利用檢測特性處理大面積的遮擋,在小數(shù)量的遮擋幀內(nèi)進行檢測,在遮擋幀后及時復位。當發(fā)生嚴重遮擋時,追蹤器能夠更好地找到目標位置。
在目標中心位置像素誤差方面,基于超像素的追蹤相較于其它方法能夠更有效地檢測乒乓球的具體位置。雖然檢測速度不如YOLOv5s算法,但是視頻素材幀率一般為30幀/s,因此完全可以滿足乒乓球運動軌跡實時檢測的需求。
筆者針對乒乓球檢測時易受環(huán)境影響的問題,提出了基于深度學習與超像素的乒乓球運動軌跡檢測方法。構建乒乓球數(shù)據(jù)集,對數(shù)據(jù)集圖像進行預處理,通過改進的YOLOv5s算法獲取乒乓球候選區(qū)域,對候選區(qū)域通過K-均值聚類獲取超像素置信度圖,結合粒子濾波對乒乓球運動軌跡進行追蹤,由此實現(xiàn)基于改進YOLOv5s算法的乒乓球初始目標定位和基于超像素的乒乓球后續(xù)目標追蹤。試驗結果表明,基于深度學習與超像素的乒乓球運動軌跡檢測方法與其它方法相比,精度與速度都有明顯提升,中心位置像素誤差控制在12像素,檢測速度達到65幀/s,能夠適應不同的應用場景,可以有效實現(xiàn)對乒乓球運動軌跡的快速、準確檢測。