摘" 要: 為解決在復(fù)雜場景下傳統(tǒng)算法對人臉的識別和跟蹤精度低的問題,文中提出一種面向復(fù)雜場景的人臉識別與目標(biāo)跟蹤算法FaceNet。該算法由人臉識別與人臉跟蹤兩部分組成。在人臉識別方面,基于YOLOv8提出一種改進的人臉識別算法FaceD?YOLOv8,提高了識別準(zhǔn)確率。再以DeepSort為基礎(chǔ),提出一種改進人臉跟蹤算法FaceT?DeepSort,實現(xiàn)對人臉目標(biāo)連續(xù)準(zhǔn)確的跟蹤。在公開數(shù)據(jù)集上進行的對比實驗結(jié)果表明,與主流的傳統(tǒng)方法相比,所提FaceD?YOLOv8算法人臉識別的mAP值提高3.5%,F(xiàn)aceT?DeepSort算法的人臉目標(biāo)跟蹤精度(TP)值提高9.1%。證明所提方法具有良好的綜合性能,能夠滿足工程應(yīng)用的需要。
關(guān)鍵詞: 人臉識別; 人臉跟蹤; 復(fù)雜場景; YOLOv8; DeepSort; GIoU
中圖分類號: TN911.73?34" " " " " " " " " " " " " 文獻標(biāo)識碼: A" " " " " " " " " " " 文章編號: 1004?373X(2024)24?0167?05
Design of face recognition and object tracking algorithm for complex scenes
LI Kunlun, XIONG Ting
(College of Science and Technology, Nanchang University, Jiujiang 332020, China)
Abstract: In order to solve the problem of low recognition and tracking accuracy of traditional algorithms for faces in complex scenes, a face recognition and target tracking algorithm FaceNet for complex scenes is proposed, which is composed of the face recognition and face tracking. In terms of facial recognition, an improved face recognition algorithm FaceD?YOLOv8 is proposed based on YOLOv8 to improve the recognition accuracy. Based on DeepSort, an improved face tracking algorithm FaceT?DeepSort is proposed, which can realize continuous and accurate tracking of face targets. The comparative experimental results conducted on public datasets show that, in comparison with mainstream traditional methods, the proposed FaceD?YOLOv8 algorithm can increase the face recognition accuracy mAP by 3.5%, and the FaceT?DeepSort algorithm can improve the face target tracking precision (TP) by 9.1%, proving that the proposed method has good comprehensive performance and can meet the needs of engineering applications.
Keywords: face detection; face tracking; complex scene; YOLOv8; DeepSort; GIoU
0" 引" 言
人臉作為人類最重要的外部特征,在社交活動中發(fā)揮著重要作用。隨著人機交互技術(shù)成為人工智能領(lǐng)域的研究熱點,人臉檢測與跟蹤已成為計算機視覺領(lǐng)域備受關(guān)注的研究方向,且在人機交互、虛擬現(xiàn)實等領(lǐng)域有著廣闊的應(yīng)用前景。然而,人臉的復(fù)雜性給快速檢測與跟蹤的實際應(yīng)用帶來了一定困難。
目前,人臉檢測的方法有多種類型,例如:模板匹配法、幾何法、支持向量機法、主動輪廓模型法和可變性模板法等。當(dāng)前比較主流的人臉檢測方法多是基于Adboost的方法,但該方法的檢測速度無法滿足高分辨率視頻序列的實時性要求。文獻[1]利用顏色和輪廓檢測方法搜索候選人臉,然后通過主成分分析(Principal Component Analysis, PCA)算法確認(rèn)模式匹配識別,其跟蹤準(zhǔn)確率較高,但在被遮擋情況下的跟蹤效果較差。文獻[2]采用Mean?Shift技術(shù)跟蹤移動目標(biāo),該技術(shù)具有快速、高效的特點,但跟蹤窗口是固定的,因此當(dāng)目標(biāo)隨攝像機方向移動時,容易出現(xiàn)目標(biāo)丟失的情況。
為解決上述問題,文中基于YOLOv8算法[3?4]和Deepsort算法,提出了一種專為復(fù)雜場景設(shè)計的人臉識別與目標(biāo)跟蹤算法FaceNet。該算法充分利用YOLOv8在目標(biāo)檢測中的優(yōu)異性能,快速、準(zhǔn)確地識別出圖像中的人臉區(qū)域;同時,還結(jié)合Deepsort算法的深度學(xué)習(xí)特性實現(xiàn)了對目標(biāo)的高效跟蹤。首先,在人臉檢測階段,YOLOv8通過其先進的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)架構(gòu),在各種光照和背景條件下保持良好的識別率,這一過程也確保了系統(tǒng)在動態(tài)環(huán)境中能夠及時地捕捉到人臉信息;隨后,使用Deepsort算法進行目標(biāo)跟蹤,該算法基于深度特征和外觀信息,能夠有效區(qū)分不同的人臉目標(biāo)并追蹤其運動軌跡。通過引入卡爾曼濾波器和匈牙利算法,Deepsort算法在處理目標(biāo)之間的遮擋和重識別時展現(xiàn)出了較強的魯棒性。
1" 相關(guān)工作
1.1" YOLOv8
YOLOv8算法作為一種突出的單階段目標(biāo)檢測方法,基于之前YOLO目標(biāo)檢測算法的成功,通過引入新的改進特性大幅提升了準(zhǔn)確性和速度。YOLOv8網(wǎng)絡(luò)主要由4個部分構(gòu)成,即輸入、主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和輸出測量。YOLOv8的主干網(wǎng)絡(luò)由Conv、C2f與SPPF模塊組成,其中C2f模塊可以通過引入更多分支跨層連接,使模型獲得更豐富的梯度流信息。SPPF模塊是一種池化模塊,旨在實現(xiàn)空間不變性,保持輸入數(shù)據(jù)的位置一致性,以增強神經(jīng)網(wǎng)絡(luò)的識別能力。YOLOv8的頸部網(wǎng)絡(luò)負(fù)責(zé)特征融合,將淺層圖形特征與深層語義特征進行融合,使其更加全面,并同時包含F(xiàn)PN和PAN模塊。其中,F(xiàn)PN是自頂向下的構(gòu)造,PAN是自底向上的構(gòu)造。YOLOv8采用解耦頭對目標(biāo)幀進行回歸分類和分類判斷,從而提取位置特征及類別特征,并采用無錨方式直接預(yù)測得到預(yù)測幀的參數(shù),增強模型的泛化能力。損失函數(shù)包括分類和定位兩種,分類損失函數(shù)采用BCE損失函數(shù),定位損失函數(shù)采用分布焦點損失函數(shù)和CIoU損失函數(shù)。
1.2" DeepSort
Sort算法[5]是一種簡單且有效的經(jīng)典算法,其利用卡爾曼濾波器實現(xiàn)跟蹤器對運動跟蹤的預(yù)測功能,并利用匈牙利算法發(fā)現(xiàn)檢測結(jié)果和跟蹤器預(yù)測結(jié)果的最優(yōu)分配函數(shù),但該方法忽略了內(nèi)容特征的匹配,難以解決遮擋和目標(biāo)識別問題。文獻[6]提出了DeepSort算法,該算法在Sort算法的基礎(chǔ)上增加了級聯(lián)匹配策略,考慮了目標(biāo)間距和特征相似性,對新生成的跟蹤軌跡采用驗證機制,在消除錯誤預(yù)測結(jié)果的同時還解決了遮擋和目標(biāo)識別問題。
2" 基于YOLOv8和DeepSort的人臉識別與目標(biāo)跟蹤算法
本文所提出的算法結(jié)合了YOLOv8的高效目標(biāo)檢測能力和DeepSort的強大目標(biāo)跟蹤功能,進而實現(xiàn)了復(fù)雜場景下的人臉識別與跟蹤任務(wù)。文中采用改進YOLOv8實時檢測視頻流中的人臉,改進DeepSort則負(fù)責(zé)對這類人臉進行持續(xù)跟蹤。本文算法的實現(xiàn)流程如圖1所示。
2.1" 改進的YOLOv8人臉識別算法(FaceD?YOLOv8)
YOLOv8支持在嵌入式設(shè)備上進行人臉識別,但在復(fù)雜場景下還需進一步優(yōu)化結(jié)構(gòu),以產(chǎn)生更準(zhǔn)確、更高效的結(jié)果。
借鑒GhostNet[7]和分組卷積的原理,在YOLOv8中引入了FM_C?C2f模塊。該模塊可同時從輕量級視角和多尺度融合視角提取特征,從而在管理參數(shù)數(shù)量的同時提高計算效率,而且其非常適合集成到物體檢測模型中。圖2展示了FM_C?C2f模塊的結(jié)構(gòu)。通過利用FM_C?Bottleneck模塊,F(xiàn)M_C?C2f模塊為淺層網(wǎng)絡(luò)層分配了更多的計算資源和參數(shù),從而增強了淺層特征中多尺度信息的學(xué)習(xí)和表示,以此產(chǎn)生了一個具有多尺度特征增強功能的跨層連接模塊。
DyHead(Dynamic Head)是文獻[8]提出的一種用于目標(biāo)檢測任務(wù)的技術(shù),通過結(jié)合頭部選擇器模塊,提供了靈活和自適應(yīng)的機制,可以根據(jù)輸入圖像的內(nèi)容和特征,動態(tài)選擇與調(diào)整網(wǎng)絡(luò)中的頭部結(jié)構(gòu)。DyHead集成了多個頭部的自我注意,用于規(guī)模感知、空間感知和任務(wù)感知,從而進一步提升性能和適應(yīng)性,更重要的是,DyHead還能夠滿足多任務(wù)學(xué)習(xí)和模型壓縮的要求。在對模塊進行優(yōu)化后,本研究設(shè)計了FaceD?YOLOv8結(jié)構(gòu),用于在復(fù)雜場景下實現(xiàn)對人臉的實時識別,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
2.2" 改進的DeepSort人臉跟蹤算法(FaceT?DeepSort)
DeepSort算法是一種基于檢測的目標(biāo)跟蹤方法,其將單目標(biāo)檢測網(wǎng)絡(luò)的輸出作為多目標(biāo)跟蹤的輸入。本文對DeepSort算法進行了改進,以有效應(yīng)對跟蹤過程中復(fù)雜場景帶來的挑戰(zhàn),從而提高模型的整體跟蹤性能。
在目標(biāo)跟蹤算法中,引入重識別技術(shù)的主要目的是從目標(biāo)中提取特征,并測量這些特征之間的距離,以確定不同幀中的目標(biāo)是否屬于同一實體。雖然DeepSort算法在Sort算法的基礎(chǔ)上增加了深度特征提取網(wǎng)絡(luò),但仍存在一些局限性,例如特征提取網(wǎng)絡(luò)的層數(shù)較少,因此其特征提取能力有限。此外,該算法沒有充分利用不同通道之間的特征信息。
基于上述考慮,文中采用能夠?qū)W習(xí)全尺寸特征的輕量級再識別網(wǎng)絡(luò)OSNet[9]。OSNet由多個殘差塊組成,每個塊包含具有不同感受野大小的卷積特征流,以捕獲不同尺度的空間特征。首先,使用全尺寸殘差塊提取不同感受區(qū)域的圖像特征;然后,將不同尺度的特征單獨輸入到通用聚合門中,該聚合門對不同尺度的特征賦予不同的權(quán)重,并將其進行合并以生成全尺寸的特征圖;最后,對得到的全尺寸特征圖進行測量,得出最終的再識別結(jié)果。同時,由于跟蹤過程中固有的挑戰(zhàn),包括光照變化、視點變化和遮擋,原始的DeepSort算法在級聯(lián)匹配中受到了限制,這些因素會導(dǎo)致幀之間相同的外觀發(fā)生實質(zhì)性的變化,使連續(xù)幀外觀特征之間的相似性得分下降到預(yù)定的閾值以下,從而造成級聯(lián)匹配失敗。為了解決這些問題,本文在DeepSort算法中引入GIoU[10],以取代原有的IoU匹配。GIoU不僅考慮了兩個矩形框之間的重疊,還考慮了不重疊的部分,從而可以更好地測量框之間的空間關(guān)系。因此,在目標(biāo)之間發(fā)生遮擋或視頻幀被丟棄的情況下,設(shè)置適當(dāng)?shù)腉IoU閾值解決由于矩形不相交而導(dǎo)致的IoU關(guān)聯(lián)匹配失敗問題。圖4為FaceT?DeepSort人臉目標(biāo)跟蹤流程。
3" 實驗與結(jié)果分析
對所提出的算法在不同設(shè)置下進行全面評估,并選取部分SOTA算法進行比較。實驗環(huán)境信息如表1所示。
3.1" 對比方法
對于人臉識別方面,本研究選擇了5種當(dāng)前的主流方法進行對比實驗,包括:Faster R?CNN[11]、CenterNet[12]、YOLOv3[13]、YOLOv5[14]和YOLOv8。在人臉目標(biāo)跟蹤方面,本研究選擇了SiamFC[15]、SORT、ByteTrack[16]、FairMOT[17]和DeepSort進行實驗對比。
3.2" 評價指標(biāo)
本文主要從精度與復(fù)雜度兩方面來評估模型性能,采用平均精度均值(mean Average Precision, mAP)、參數(shù)量(Params)、計算量(Giga Floating?point Operations Per Second, GFLOPs)和計算速度(Frame Per Second, FPS)作為評價指標(biāo)。對于FaceT?DeepSort目標(biāo)跟蹤算法,選擇的評價指標(biāo)包括目標(biāo)跟蹤準(zhǔn)確度(TA)和目標(biāo)跟蹤精度(TP)。
3.3" 數(shù)據(jù)集
對于人臉識別模型FaceD?YOLOv8的性能驗證,選擇了公開的人臉識別Flicker?Faces?HQ數(shù)據(jù)集作為實驗數(shù)據(jù)樣本。該數(shù)據(jù)集是一個高質(zhì)量的人臉圖像數(shù)據(jù)集,主要目的為訓(xùn)練生成對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)模型。數(shù)據(jù)集在年齡、種族和圖像背景方面均存在較大差異,其中還覆蓋了眼鏡、太陽鏡以及帽子等附件。
為了驗證人臉目標(biāo)跟蹤算法FaceT?DeepSort的性能,本文選擇公開數(shù)據(jù)集ECCV16 Face Tracking,該數(shù)據(jù)集共8段視頻,總時長為1 652 s,總畫面幀數(shù)共42 008張,共包含50余個人臉目標(biāo)。
3.4" 人臉識別實驗
對于人臉識別模型FaceD?YOLOv8的訓(xùn)練,輸入圖像大小為640×480,迭代次數(shù)為500次,批大小為16次。算法優(yōu)化采用隨機梯度下降法,初始學(xué)習(xí)率為0.001,動量為0.94,權(quán)重衰減為0.000 5。在Flicker?Faces?HQ上進行的人臉識別結(jié)果如表2所示。
從表2實驗結(jié)果可以看出,F(xiàn)aceD?YOLOv8的各項指標(biāo)表現(xiàn)出了明顯優(yōu)勢,由此說明在復(fù)雜環(huán)境下,如人體運動和人臉模糊,所提出的檢測模型具備良好的檢測能力和較高的魯棒性。
3.5" 人臉跟蹤實驗
為了測試所提出的FaceT?DeepSort算法在實際場景下的應(yīng)用表現(xiàn),在ECCV16 Face Tracking數(shù)據(jù)集中進行了人臉跟蹤對比實驗,結(jié)果如表3所示。
從表3可以看出,所提方法的人臉目標(biāo)跟蹤準(zhǔn)確度(TA)為57.6%,目標(biāo)跟蹤精度(TP)為75.9%,與DeepSort相比分別增加了19.2%和9.1%。由此說明所提方法在跟蹤的準(zhǔn)確性上具有明顯優(yōu)勢,更適合在實際復(fù)雜場景中應(yīng)用。
4" 結(jié)" 語
為解決在復(fù)雜場景下現(xiàn)有方法對人臉識別和跟蹤精度低的問題,本文提出了改進的人臉識別算法FaceD?YOLOv8和人臉目標(biāo)跟蹤算法FaceT?DeepSort。實驗結(jié)果表明,所提算法的綜合性能優(yōu)于當(dāng)前的主流算法,具有良好的工程應(yīng)用價值。下一步將開展多人臉目標(biāo)識別與跟蹤的算法研究,實現(xiàn)系統(tǒng)級的多場景全面應(yīng)用。
參考文獻
[1] FORESTI G L, MICHELONI C, SNIDARO L, et al. Face detection for visual surveillance [C]// 12th International Conference on Image Analysis and Processing. Mantova, Italy: IEEE, 2003: 115?120.
[2] COMANICIU D, RAMESH V, MEER P. Real?time tracking of non?rigid objects using mean shift [C]// Proceedings IEEE Conference on Computer Vision and Pattern Recognition. Hilton Head Island, SC, USA: IEEE, 2000: 142?152.
[3] 李問渠,陳繼清,郝科崴,等.一種基于YOLOv8的輕量化盲區(qū)檢測網(wǎng)絡(luò)[J].現(xiàn)代電子技術(shù),2024,47(16):163?170.
[4] 王曉軍,陳高宇,李曉航.應(yīng)用動態(tài)激活函數(shù)的輕量化YOLOv8行人檢測算法[J].計算機工程與應(yīng)用,2024,60(15):221?233.
[5] 杜磊.基于SORT算法的圖像軌跡跟蹤混合控制方法[J].現(xiàn)代電子技術(shù),2024,47(13):32?35.
[6] WOJKE N, BEWLEY A, PAULUS D. Simple online and realtime tracking with a deep association metric [C]// International Conference on Image Processing. Beijing, China: IEEE, 2017: 3645?3654.
[7] 宋中山,周珊,艾勇,等.基于GhostNet的改進模型輕量化方法[J].中南民族大學(xué)學(xué)報(自然科學(xué)版),2024,43(5):629?636.
[8] DAI X, CHEN Y, XIAO B, et al. Dynamic head: unifying object detection heads with attentions [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2021: 7369?7378.
[9] 韓錕,彭晶瑩.基于改進YOLOX與多級數(shù)據(jù)關(guān)聯(lián)的行人多目標(biāo)跟蹤算法研究[J].鐵道科學(xué)與工程學(xué)報,2024,21(1):94?105.
[10] 侯志強,劉曉義,余旺盛,等.使用GIoU改進非極大值抑制的目標(biāo)檢測算法[J].電子學(xué)報,2021,49(4):696?705.
[11] 蔣健,劉年,孫超.基于Faster R?CNN圖像處理的變電站異常設(shè)備紅外檢測方法[J].沈陽工業(yè)大學(xué)學(xué)報,2024,46(2):157?164.
[12] 王英博,劉榮霞.改進輕量化的CenterNet的小目標(biāo)檢測[J].計算機工程與應(yīng)用,2023,59(17):205?211.
[13] 王凱,婁樹理,王巖.基于改進YOLOv3的小目標(biāo)檢測算法[J].應(yīng)用光學(xué),2024,45(4):732?740.
[14] 何幸,黃永明,朱勇.基于改進YOLOv5的路面坑洼檢測方法[J].電子科技,2024,37(7):53?59.
[15] 張紅穎,賀鵬藝,王匯三.基于改進SiamFC的實時目標(biāo)跟蹤算法[J].激光與光電子學(xué)進展,2021,58(6):308?316.
[16] 聶源,賴惠成,高古學(xué).改進YOLOv7+Bytetrack的小目標(biāo)檢測與追蹤[J].計算機工程與應(yīng)用,2024,60(12):189?202.
[17] 彭嘉淇,王濤,陳柯安,等.結(jié)合時空一致性的FairMOT跟蹤算法優(yōu)化[J].中國圖象圖形學(xué)報,2022,27(9):2749?2760.
作者簡介:李昆侖(1982—),女,回族,河南項城人,碩士研究生,副教授,研究方向為人工智能、模式識別、算法設(shè)計。