本發(fā)明屬于計(jì)算機(jī)視覺目標(biāo)檢測(cè),具體涉及一種基于改進(jìn)yolov8算法的無人機(jī)航拍目標(biāo)檢測(cè)方法。
背景技術(shù):
1、無人機(jī)是一種通過遙控或地面控制系統(tǒng)進(jìn)行操控的自動(dòng)或半自動(dòng)飛行器,其具有低成本、高機(jī)動(dòng)性、便攜性、多視角和小體積等優(yōu)點(diǎn),可執(zhí)行地形勘測(cè)、電力巡檢、城市巡邏和緊急救援等任務(wù)。然而,由于無人機(jī)飛行高度限制,以及通常是在大規(guī)模場(chǎng)景下進(jìn)行航拍,無人機(jī)航拍圖像中存在小目標(biāo)實(shí)例較多、拍攝背景較復(fù)雜、特征不明顯等問題,從而影響了目標(biāo)檢測(cè)效果。因此,無人機(jī)目標(biāo)檢測(cè)技術(shù)已成為國內(nèi)外專家學(xué)者關(guān)注的研究熱點(diǎn)。
2、目標(biāo)檢測(cè)是通過檢測(cè)算法對(duì)輸入圖像中可能存在目標(biāo)的區(qū)域進(jìn)行特征提取,利用預(yù)訓(xùn)練的分類器輸出檢測(cè)結(jié)果。傳統(tǒng)目標(biāo)檢測(cè)算法采用滑動(dòng)窗口策略在給定的圖像上選擇候選區(qū)域,再對(duì)這些區(qū)域提取特征,最后使用訓(xùn)練的分類器進(jìn)行分類。該方法存在區(qū)域選擇策略針對(duì)性不強(qiáng)、時(shí)間復(fù)雜度高、魯棒性差等缺點(diǎn)。隨著深度學(xué)習(xí)的不斷發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法成為主流。目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可分為單階段和雙階段兩類。單階段目標(biāo)檢測(cè)算法直接在輸入圖像上進(jìn)行目標(biāo)檢測(cè),并輸出目標(biāo)的檢測(cè)框和類別,因此具有較快的檢測(cè)速度,適用于實(shí)時(shí)應(yīng)用場(chǎng)景。常見的單階段目標(biāo)檢測(cè)算法有ssd,yolo系列等。雙階段目標(biāo)檢測(cè)算法首先根據(jù)輸入圖像生成一系列候選框,然后再對(duì)候選框進(jìn)行特征提取和分類,其具有更高的檢測(cè)精度,但需要較高的計(jì)算資源。常見的雙階段目標(biāo)檢測(cè)算法為r-cnn系列。
3、隨著yolo系列算法的不斷改進(jìn),其檢測(cè)精度也達(dá)到甚至超過二階段算法。yolo系列前沿算法具有較高的實(shí)時(shí)性和較快的檢測(cè)速度,適合無人機(jī)航拍小目標(biāo)的實(shí)時(shí)檢測(cè),但將yolo系列前沿版本yolov8應(yīng)用于無人機(jī)航拍小目標(biāo)檢測(cè)仍然存在檢測(cè)精度不高的問題。
技術(shù)實(shí)現(xiàn)思路
1、為了克服以上現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的在于提供一種基于改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)方法、系統(tǒng)、設(shè)備及介質(zhì),用于提高無人機(jī)航拍小目標(biāo)檢測(cè)精度,保障無人機(jī)順利完成各種任務(wù)。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
3、第一方面,提供了一種基于改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)方法,包括以下步驟:
4、步驟1,獲取無人機(jī)航拍圖像數(shù)據(jù)集;
5、步驟2,將獲取到的無人機(jī)航拍圖像數(shù)據(jù)集進(jìn)行格式轉(zhuǎn)換,并劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集;
6、步驟3,構(gòu)建改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)網(wǎng)絡(luò),該網(wǎng)絡(luò)是對(duì)yolov8網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)以及損失函數(shù)進(jìn)行改進(jìn);
7、步驟4,以改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)網(wǎng)絡(luò)為檢測(cè)模型,利用訓(xùn)練集和驗(yàn)證集對(duì)該檢測(cè)模型進(jìn)行訓(xùn)練和驗(yàn)證,得到最終的檢測(cè)模型;
8、步驟5,利用最終的檢測(cè)模型,以無人機(jī)航拍圖像為輸入,測(cè)試改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)模型。
9、優(yōu)選的,所述步驟1中,無人機(jī)航拍數(shù)據(jù)集為visdrone數(shù)據(jù)集,在官網(wǎng)下載公開的visdrone2019-det航拍數(shù)據(jù)集。
10、優(yōu)選的,所述步驟2中,將無人機(jī)航拍數(shù)據(jù)集文件轉(zhuǎn)換成yolo序列的txt文件,并將visdrone2019-det航拍數(shù)據(jù)集劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集。
11、優(yōu)選的,所述步驟3中包括:
12、選擇yolov8模型作為基礎(chǔ)進(jìn)行改進(jìn),yolov8模型的改進(jìn)在四個(gè)方面:設(shè)計(jì)sr-conv模塊改進(jìn)主干網(wǎng)絡(luò)、添加小目標(biāo)檢測(cè)層、引入雙向特征金字塔網(wǎng)絡(luò)(bifpn)改進(jìn)頸部網(wǎng)絡(luò)以及引入歸一化加權(quán)距離(normalized?weighted?distance?loss,nwd)損失函數(shù)優(yōu)化損失函數(shù)。
13、設(shè)計(jì)sr-conv模塊改進(jìn)主干網(wǎng)絡(luò):原始yolov8的骨干網(wǎng)絡(luò)在卷積和池化操作過程中會(huì)導(dǎo)致一定程度的細(xì)粒度信息丟失。為使得模型降低無人機(jī)圖像中小目標(biāo)的誤檢及漏檢率,將空間到深度(space-to-depth,spd)層和感受野注意力卷積(rfaconv)相結(jié)合,設(shè)計(jì)了sr-conv模塊替代原有骨干網(wǎng)絡(luò)中第1層、第3層、第5層、第7層的標(biāo)準(zhǔn)卷積模塊(conv)。首先,spd層通過將輸入特征圖的空間維度映射到通道維度,同時(shí)保留了通道內(nèi)的信息,避免傳統(tǒng)方法中的信息丟失。在spd層之后,采用rfaconv進(jìn)行進(jìn)一步的特征提取。rfaconv引入感受野注意力機(jī)制(rfa)解決了卷積核參數(shù)共享的問題,并且充分考慮感受野中每個(gè)特征在全局中的重要性,能夠自適應(yīng)地調(diào)整網(wǎng)絡(luò)對(duì)不同尺度目標(biāo)的關(guān)注程度,從而提高小目標(biāo)和密集目標(biāo)的檢測(cè)性能。sr-conv模塊結(jié)合了spd層保留通道維度中的所有信息的能力,以及rfaconv自適應(yīng)地調(diào)整網(wǎng)絡(luò)對(duì)不同尺度目標(biāo)的關(guān)注程度的能力,替代原始骨干網(wǎng)絡(luò)中的conv模塊,進(jìn)而提取更多的小目標(biāo)特征的細(xì)粒度信息。
14、添加小目標(biāo)檢測(cè)層:原始yolov8網(wǎng)絡(luò)的特征融合通常從第三層特征開始,將三個(gè)不同尺度的特征圖引入頸部網(wǎng)絡(luò)進(jìn)行融合,并形成三個(gè)預(yù)測(cè)頭。為了提高小目標(biāo)檢測(cè)的能力,添加一個(gè)小目標(biāo)檢測(cè)層,將第二層特征融合到特征融合網(wǎng)絡(luò)中,保留更多的淺層語義信息,并構(gòu)成第四個(gè)應(yīng)對(duì)小目標(biāo)的預(yù)測(cè)頭;
15、引入bifpn改進(jìn)頸部網(wǎng)絡(luò):原始yolov8頸部層借鑒panet,采用了fpn+pan雙重特征金字塔結(jié)構(gòu)對(duì)不同尺度特征進(jìn)行融合,pan網(wǎng)絡(luò)中的輸入特征經(jīng)過fpn網(wǎng)絡(luò)處理過,會(huì)造成原始特征丟失,導(dǎo)致特征融合效率低。本發(fā)明采用bifpn網(wǎng)絡(luò)改進(jìn)頸部網(wǎng)絡(luò)的特征融合方法,更好地利用原始特征信息,增強(qiáng)對(duì)小尺度目標(biāo)特征的提取能力;
16、引入nwd損失函數(shù)優(yōu)化損失函數(shù):yolov8算法所采用的是ciou邊界框回歸損失函數(shù),是基于傳統(tǒng)的交并比(iou)的度量,具有一定的局限性,對(duì)于小目標(biāo)標(biāo)簽位置偏差非常敏感,對(duì)不同尺度目標(biāo)的敏感性差異很大。為提高網(wǎng)絡(luò)對(duì)微小目標(biāo)的檢測(cè)性能,引入nwd損失函數(shù),將其與ciou損失函數(shù)結(jié)合,進(jìn)而優(yōu)化損失函數(shù)。nwd在檢測(cè)微小物體方面具有尺度不變性和對(duì)位置偏差的平滑性,并且具有測(cè)量非重疊或相互包含的邊界框之間相似度的能力,可以捕捉到更多的細(xì)節(jié)和空間信息,有效提升航拍目標(biāo)檢測(cè)算法性能。
17、優(yōu)選的,所述步驟4中,以改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)網(wǎng)絡(luò)作為目標(biāo)檢測(cè)模型,將visdrone?det的訓(xùn)練集輸入改進(jìn)yolov8的無人機(jī)航拍圖像目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并用驗(yàn)證集數(shù)據(jù)監(jiān)測(cè)模型是否過擬合,直至損失曲線收斂,完成模型的訓(xùn)練,得到最終的改進(jìn)yolov8的無人機(jī)航拍圖像目標(biāo)檢測(cè)模型。
18、優(yōu)選的,所述步驟5中,在visdrone數(shù)據(jù)集的測(cè)試集輸入訓(xùn)練好的模型權(quán)重文件,模型會(huì)在輸出的圖片上會(huì)將檢測(cè)到的目標(biāo)框出并標(biāo)注,獲得無人機(jī)航拍圖像目標(biāo)的實(shí)際識(shí)別結(jié)果。
19、第二方面,本發(fā)明提供了一種基于改進(jìn)yolov8算法的無人機(jī)航拍小目標(biāo)檢測(cè)系統(tǒng),包括:
20、數(shù)據(jù)集處理模塊:被配置為獲取無人機(jī)航拍圖像數(shù)據(jù)集,對(duì)無人機(jī)航拍圖像數(shù)據(jù)集進(jìn)行預(yù)處理,得到訓(xùn)練集、驗(yàn)證集和測(cè)試集;
21、網(wǎng)絡(luò)構(gòu)建模塊:被配置為構(gòu)建基于改進(jìn)yolov8算法的無人機(jī)航拍小目標(biāo)檢測(cè)模型;
22、網(wǎng)絡(luò)訓(xùn)練模塊:用于根據(jù)設(shè)置的網(wǎng)絡(luò)訓(xùn)練參數(shù),使用訓(xùn)練集對(duì)構(gòu)建的基于改進(jìn)yolov8算法的無人機(jī)航拍小目標(biāo)檢測(cè)模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)束后輸出訓(xùn)練權(quán)重文件。通過驗(yàn)證集對(duì)訓(xùn)練權(quán)重文件進(jìn)行驗(yàn)證,選取精度最高的訓(xùn)練權(quán)重文件作為最優(yōu)權(quán)重文件,得到訓(xùn)練好的基于改進(jìn)yolov8算法的無人機(jī)航拍小目標(biāo)檢測(cè)模型;
23、目標(biāo)檢測(cè)模塊:用于將測(cè)試集和得到的最優(yōu)權(quán)重文件輸入到訓(xùn)練好的基于改進(jìn)yolov8算法的無人機(jī)航拍小目標(biāo)檢測(cè)模型進(jìn)行目標(biāo)檢測(cè),得到目標(biāo)檢測(cè)結(jié)果。
24、本發(fā)明還提供了一種電子設(shè)備,包括存儲(chǔ)器、以及一個(gè)或多個(gè)處理器,所述存儲(chǔ)器用于存儲(chǔ)一個(gè)或多個(gè)程序;所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)基于改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)方法。
25、本發(fā)明還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)基于改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)方法的步驟。
26、相比于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
27、(1)本發(fā)明構(gòu)建的基于改進(jìn)yolov8的無人機(jī)航拍小目標(biāo)檢測(cè)方法中,將spd層和rfaconv相結(jié)合,設(shè)計(jì)了sr-conv模塊,替代原有骨干網(wǎng)絡(luò)中的conv模塊,通過將空間維度的信息轉(zhuǎn)換為深度維度并且自適應(yīng)地調(diào)整網(wǎng)絡(luò)對(duì)不同尺度目標(biāo)的關(guān)注程度,提取更多的小目標(biāo)特征的細(xì)粒度信息。
28、(2)本發(fā)明在yolov8網(wǎng)絡(luò)中引入小目標(biāo)檢測(cè)層和bifpn網(wǎng)絡(luò)改進(jìn)頸部網(wǎng)絡(luò),強(qiáng)化對(duì)小目標(biāo)的特征提取和特征融合能力。
29、(3)本發(fā)明在yolov8網(wǎng)絡(luò)中引入nwd損失函數(shù),將其與ciou損失函數(shù)結(jié)合作為定位回歸損失函數(shù),加強(qiáng)模型對(duì)于微小目標(biāo)的敏感程度。
30、綜上所述,本發(fā)明首先將spd層和rfaconv相結(jié)合,設(shè)計(jì)了sr-conv模塊,替代原有骨干網(wǎng)絡(luò)中的conv模塊,通過將空間維度的信息轉(zhuǎn)換為深度維度并且自適應(yīng)地調(diào)整網(wǎng)絡(luò)對(duì)不同尺度目標(biāo)的關(guān)注程度,提取更多的小目標(biāo)特征的細(xì)粒度信息;其次,引入小目標(biāo)檢測(cè)層和bifpn網(wǎng)絡(luò)改進(jìn)頸部網(wǎng)絡(luò),強(qiáng)化對(duì)小目標(biāo)的特征提取和特征融合能力;最后引入nwd損失函數(shù),將其與ciou損失函數(shù)結(jié)合作為定位回歸損失函數(shù),加強(qiáng)模型對(duì)于微小目標(biāo)的敏感程度。該方法可以更好地適合無人機(jī)航拍小目標(biāo)檢測(cè)任務(wù),提高無人機(jī)航拍小目標(biāo)檢測(cè)的精度,具有廣泛的適用性。