【關鍵詞】深度學習;YOLOv8;目標檢測;評價指標;應用前景
當今科學界,人工智能發(fā)展圍繞模擬人腦的探索路徑主要有符號主義與聯(lián)結主義兩種,其中,聯(lián)結主義旨在實現(xiàn)人工神經網(wǎng)絡。深度學習是一種機器學習方法,目前主要有三大典型模型:卷積神經網(wǎng)絡(CNN)模型、深度信任網(wǎng)絡(DBN)模型和堆棧自編碼網(wǎng)絡(SAE)模型。深度學習作為人工智能的一大熱潮,在自然語言識別處理(例如:美國OpenAI公司于2022年底研發(fā)推出的ChatGPT聊天機器人軟件)與計算機視覺等領域發(fā)揮著極大的作用。人類通過構建人工神經網(wǎng)絡,基于龐大數(shù)據(jù)集輸入的基礎上,利用深度學習算法對計算機進行不斷的訓練,結合攝像頭,實現(xiàn)對圖像或視頻中目標對象的識別、分類與分割。類似于人類大腦結構,神經元數(shù)量、數(shù)據(jù)量、網(wǎng)絡模型的擴展程度與深度學習的算法性能成正比。自20世紀以來,深度學習的預測能力與準確性在各個領域都有所提高,各式各樣的深度學習算法逐漸問世[1]。
YOLO(You Only Look Once)系列算法是以CNN(卷積神經網(wǎng)絡)為基礎,通過一次性的前向傳播實現(xiàn)目標檢測的算法,其構建了更為復雜的網(wǎng)絡結構以實現(xiàn)高精度與高效率的目標檢測。YOLO算法是典型的one-stage單階段深度學習檢測方法,相較于two-stage兩階段(例如:Fasterrcnn、Mask-Rcnn等系列算法),one-stage單階段深度學習檢測方法在執(zhí)行實時檢測任務上具有其最核心的優(yōu)勢:檢測速度遙遙領先。目前,通過不斷地迭代優(yōu)化更新,Ultralytics公司已開發(fā)出YOLOv8,在計算機視覺領域具有廣泛的應用。
(一)YOLO算法思想的獨特性
YOLO算法的目標檢測是基于整個圖片的,屬于Region-free檢測方法,不同于Region-based類方法需要先行確定可能包含目標對象的候選區(qū)域作為后續(xù)檢測的備選[2],YOLO算法迅速識別出目標對象的類別與其精確位置只需經過單次對圖像的遍歷,因此也被稱為單階段(onestage)模型。
YOLO目標檢測算法對于輸入的每張圖片,其監(jiān)督信息詳盡地標注了圖片中所有物體的類別、中心位置以及尺寸(高與寬)。這些數(shù)據(jù)中的位置信息均經過歸一化處理,以確保算法能夠高效、準確地處理。與YOLO之前的傳統(tǒng)目標檢測算法不同,后者通常利用不同尺寸的滑動窗口在圖片上逐一掃描,并將每個窗口的內容輸入分類器進行識別。而YOLO則采用了一種更為高效的方式,它能夠一次性輸出所有檢測到的目標信息[3],因此具有較高的檢測速率,對實時的目標檢測任務具有良好的效果。
(二)YOLO目標檢測算法原理
第一步,將圖片分割為個n*n個大小相等的grid,對每個grid都預測出若干個固定數(shù)量的bounding box邊界框,每個bounding box包含的信息為物體中心位置(x,y)、高(h)、寬(w)以及此次預測的置信度,置信度confidence的計算公式如下:
式中,IOU為交并比,即預測框與真實框的重合度;Pr(Obj)為該grid含有目標對象物體的概率。
最終,對于n*n個grid,假設每個grid將預測出B個bounding boxes邊界框,分類器可識別的物體種類有C種,那么將會輸出一個n*n*(B*5+C)大小的ground truth作為目標檢測結果,其中C位數(shù)值為該gird檢測出的物體分別屬于這C種類別的概率。
但是,在實際檢測情況中,如果物體體積較為龐大,而grid占據(jù)的面積又較小,往往會出現(xiàn)同一個物體被多個gird所識別的現(xiàn)象,因此,YOLO算法引入了非極大值抑制NMS(Non-maximal suppression)技術。非極大值抑制NMS主要利用置信度confidence,選擇保留置信度數(shù)值最大的bounding boxes邊界框,即該bounding boxes在所有的邊界框中具有最大的把握預測出目標對象物體在自己的grid中。
(三)YOLOv8算法的特點與核心改動
基于幾代YOLO算法的不斷更新優(yōu)化,最新版本的YOLOv8算法展現(xiàn)出了明顯的優(yōu)勢,更高的精度、更快的速度、強大的通用性及其更穩(wěn)定且高效的訓練策略使其成為當前目標檢測領域的一種先進算法。以下為YOLOv8算法的核心改動:
Backbone骨干網(wǎng)絡和Neck部分使用能夠兼具輕量化與豐富梯度流信息的C2f模塊替換原來YOLOv5中的C3模塊,并且對不同尺度的模型設置了不同的通道數(shù),可滿足不同場景的需求,大幅度地提升了其性能。
Head部分參考了目前較為主流的解耦頭結構,實現(xiàn)了分類與檢測頭的分離。另外,使用Anchor-Free替代Anchor-Based,在定位方式上不再需要預先設置錨點,可以直接從特征圖中推斷物體的位置與大小,對于目標對象大小與形狀變化較大的情況,Anchor-Free顯然能夠處理得更加靈活;在模型復雜度上,Anchor-Free方法簡化了模型復雜度,一定程度上提高了檢測效率。
損失函數(shù)LOSS計算方面舍去了原來的objectness分支,只包含分類與回歸的分支,YOLOv8算法直接引用TOOD的TaskAlignedAssigner,根據(jù)分類與回歸的分數(shù)加權的分數(shù)選擇正樣本。
前幾代YOLO算法在小目標的檢測上往往表現(xiàn)不佳,許多被遮擋的目標對象難以檢測。為了實現(xiàn)小目標的檢測,模型采用Mosaic增強技術,將輸入的大圖像進行拼接并隨機裁剪生成新的訓練樣本,在每個輪次中,模型識別的圖像略有不同,迫使模型學習新位置,達到對部分遮擋對象的識別要求。同時,為了提升模型訓練效率,YOLOv8采用與YOLOX類似的操作,在最后10個epoch中關閉了Mosaic增強,加快了模型訓練速度[4]。
對于YOLOv8算法的模型訓練需要輸入的數(shù)據(jù)集要求為YOLO格式。利用訓練好的YOLOv8模型進行實際推理時,需要對其模型的預測效果進行指標評估。在對深度學習模型進行評價時,常使用四個主要指標進行模型的優(yōu)劣評價,分別為準確率、精確率、召回率與值。
1)準確率(Accuracy)是評估分類模型最全面宏觀又清晰直觀的指標,它表示模型正確預測的樣本數(shù)(包括所有的正類樣本與負類樣本)占總樣本數(shù)的比例。
式中,TP(True Positives)為模型正確預測為正類的實例數(shù),TN(True Negatives)表示模型正確預測為負例的實例數(shù),F(xiàn)P(False Positives)為模型錯誤預測為正例的實例數(shù),F(xiàn)N(False Negatives)為模型錯誤預測為負類的實際正類實例數(shù)。
這些指標可以從不同角度來反映一個分類模型的預測能力,有利于幫助我們更好地評估模型,并針對性地進行模型的后續(xù)優(yōu)化,以求得到檢測效果更優(yōu)的分類模型。
(一)YOLOv8應用范圍廣且可用性強
YOLOv8作為當前先進的目標檢測算法之一,可應用領域范圍廣。在交通領域,YOLOv8可通過幫助車輛實時識別行人、車輛、交通標志等,來實現(xiàn)安全、自主的駕駛,從而極大地提升了駕駛的安全性,提高了道路交通的安全系數(shù),降低了道路交通事故的發(fā)生概率;在智能安防領域,YOLOv8同樣展現(xiàn)出了其強大的應用能力,無論是人臉識別、行為分析還是異常檢測,YOLOv8都能以高效準確的方式完成任務,通過實現(xiàn)在海量的監(jiān)控視頻數(shù)據(jù)中快速識別出關鍵信息,從而大大提高了安防系數(shù),為社會的和諧穩(wěn)定提供了有力的技術支持;此外,在醫(yī)療圖像分析領域,YOLOv8也展現(xiàn)出了其獨特的價值,通過醫(yī)學影像的精準分析,醫(yī)生能夠準確診斷出病變部位[6],不僅提升了醫(yī)療診斷的效率與精確度,更讓患者在康復之路上看到了更多的曙光和希望;在機器人視覺領域,YOLOv8同樣發(fā)揮著重要作用,它能夠幫助機器人實時識別并定位環(huán)境中的物體,從而使機器人一定程度上提高自主導航、物體抓取等功能的準確性。
總之,YOLOv8作為一種兼具高效與準確雙特性的目標檢測算法,在計算機視覺領域具有廣泛的應用前景。
(二)應用難點及分析
雖然YOLOv8算法功能的強大程度是毋庸置疑的,但將其投入實際應用時仍存在一定的缺陷與局限性:
(1)算力需求支撐問題。涉及YOLOv8類似的深度學習算法使用時,無論是模型訓練還是實際部署,都極度依賴于高性能的GPU算力支持,且為了確保算法的高效運行,這些GPU通常需要能夠支持美國英偉達公司的CUDA計算架構,因此我國在自主創(chuàng)新與國產化取代方面的探索仍需繼續(xù)努力[7]。
(2)數(shù)據(jù)集采集問題。由于模型的優(yōu)劣程度與數(shù)據(jù)集的規(guī)模與質量成正比,因此數(shù)據(jù)集的采集過程往往至關重要。然而,在實際研究中依賴攝像頭進行數(shù)據(jù)的采集時,一旦遇到一些不可控的外力因素,例如強電磁輻射、攝像頭震動、物理遮擋(如煙霧)等,都可能對采集的數(shù)據(jù)的質量產生一定的影響。并且,涉及實際預測時,也對攝像頭采集的實時視頻數(shù)據(jù)流有較高的清晰度要求。因此,攝像設備的成本問題也是YOLOv8算法實際應用難點之一。
針對以上問題,我們可以從以下幾個方面著手解決:首先,加大在GPU芯片研發(fā)上的投入,推動國產GPU芯片的技術突破和性能提升,減少對國外技術的依賴;其次,建立完善的GPU算力資源共享平臺,通過云計算、邊緣計算等方式,實現(xiàn)GPU算力的合理分配和高效利用;另外,我們可以選擇高質量、穩(wěn)定性好的攝像頭設備,以減少外力因素對數(shù)據(jù)采集的影響。
YOLOv8目標檢測算法在計算機視覺領域已具有極大的研究價值與重要的地位,在其余諸多應用場景中也發(fā)揮著越來越重要的作用。通過對YOLOv8算法原理的深入剖析與當今市場其余目標檢測算法的對比,結合對YOLOv8算法的使用研究及其模型、網(wǎng)絡結構的評估分析,最終成功驗證了YOLOv8在實時目標檢測任務中的優(yōu)越性與靈活性。