本發(fā)明涉及計(jì)算機(jī)視覺、深度神經(jīng)網(wǎng)絡(luò),具體涉及一種基于可微分架構(gòu)搜索的yolo目標(biāo)檢測方法和系統(tǒng)。
背景技術(shù):
1、目標(biāo)檢測是計(jì)算機(jī)視覺中的一項(xiàng)核心技術(shù),旨在識(shí)別和定位圖像或視頻中的多個(gè)對(duì)象,并提供類別和位置信息。該技術(shù)在安防監(jiān)控、自動(dòng)駕駛、醫(yī)學(xué)影像、農(nóng)業(yè)與環(huán)境監(jiān)測、娛樂與媒體等多個(gè)領(lǐng)域具有廣泛的應(yīng)用。隨著深度學(xué)習(xí)的快速發(fā)展,目標(biāo)檢測技術(shù)經(jīng)歷了顯著的演變,從早期基于滑動(dòng)窗口和手工設(shè)計(jì)特征的方法,到利用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取的現(xiàn)代方法,再到一階段檢測器和二階段檢測器的不斷改進(jìn)。每一代方法在檢測速度、精度和計(jì)算效率方面都取得了顯著進(jìn)步。然而,手工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)架構(gòu)往往依賴于設(shè)計(jì)者的經(jīng)驗(yàn)和先驗(yàn)知識(shí),這可能會(huì)引入偏見并導(dǎo)致模型次優(yōu)。
2、近年來,神經(jīng)架構(gòu)搜索在圖像分類任務(wù)中均取得了巨大的成功,當(dāng)我們嘗試將這些分類任務(wù)中自動(dòng)生成的架構(gòu)遷移到目標(biāo)檢測任務(wù)時(shí),發(fā)現(xiàn)效果并不是很好,這是因?yàn)橄啾扔诜诸惾蝿?wù),目標(biāo)檢測任務(wù)則更加復(fù)雜,不僅需要進(jìn)一步弄清楚物體的位置,還面臨處理多任務(wù)多尺度和實(shí)時(shí)性等挑戰(zhàn)。經(jīng)歷了早期的遷移探索,人們開始研究專門針對(duì)目標(biāo)檢測的神經(jīng)架構(gòu)搜索,并提出了一系列搜索方法,包括基于強(qiáng)化學(xué)習(xí)的搜索策略,基于演化計(jì)算的搜索策略等。盡管這些方法顯著提高了搜索得到網(wǎng)絡(luò)的性能,但其高昂的計(jì)算成本,低下的搜索效率,架構(gòu)泛化不足仍是這些方法在目標(biāo)檢測應(yīng)用中面臨的最大問題。
3、為了解決上述問題,近年來提出了使用可微分架構(gòu)搜索對(duì)目標(biāo)檢測模型進(jìn)行搜索,該方法通過在超網(wǎng)中共享參數(shù)進(jìn)行架構(gòu)搜索,不僅避免了傳統(tǒng)神經(jīng)架構(gòu)搜索方法中每個(gè)候選架構(gòu)需要獨(dú)立訓(xùn)練的高昂計(jì)算成本,還通過可微分的優(yōu)化方法顯著加快了架構(gòu)搜索的速度。同時(shí),目標(biāo)檢測任務(wù)中通常需要處理多尺度特征,可微分架構(gòu)搜索可以在搜索過程中靈活的選擇和組合不同尺度上的操作,以適應(yīng)不同大小目標(biāo)的檢測需求。作為一種目標(biāo)檢測方法,yolo因其高速檢測、高精度、易部署和性能穩(wěn)定而成為該領(lǐng)域的熱門工具。然而,目前關(guān)于將神經(jīng)搜索架構(gòu)應(yīng)用于yolo的研究仍然非常稀少,這凸顯了神經(jīng)架構(gòu)搜索與yolo結(jié)合的潛力。
技術(shù)實(shí)現(xiàn)思路
1、發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于可微分架構(gòu)搜索的yolo目標(biāo)檢測方法和系統(tǒng)。
2、所述方法包括以下步驟:
3、步驟1,構(gòu)建候選操作集合;
4、步驟2,基于yolo網(wǎng)絡(luò)的架構(gòu),使用候選操作集合,構(gòu)建超網(wǎng);
5、步驟3,使用可微分架構(gòu)搜索方法,在訓(xùn)練數(shù)據(jù)集上對(duì)超網(wǎng)進(jìn)行預(yù)訓(xùn)練,搜索得到最佳子網(wǎng);
6、步驟4,在最佳子網(wǎng)中引入坐標(biāo)注意力機(jī)制,進(jìn)一步完善最佳子網(wǎng)的網(wǎng)絡(luò)模型;
7、步驟5,對(duì)網(wǎng)絡(luò)模型進(jìn)行重訓(xùn)練,最終得到適用于目標(biāo)檢測的高效yolo改進(jìn)模型。
8、步驟1包括:選擇和定義一組基本操作,將基本操作組合成一個(gè)候選操作集合,所述候選操作集合o含有n種候選操作,包括1*1卷積,3*3卷積,3*3空洞卷積,5*5卷積和5*5空洞卷積。只選擇卷積操作,而舍棄了其他如池化,跳躍連接操作的原因在于,本發(fā)明保留了部分yolo中模塊內(nèi)的連接方式,只對(duì)其中使用的卷積操作進(jìn)行優(yōu)化,在提升整體性能的同時(shí),也極大地減少了搜索過程中的計(jì)算資源消耗。
9、步驟1中,將候選操作集合視為一個(gè)整體,并構(gòu)建多分支的候選操作模塊,每條分支對(duì)應(yīng)一個(gè)候選操作,在每條分支上分配架構(gòu)參數(shù),表示候選操作所對(duì)應(yīng)的架構(gòu)參數(shù),用于表示分支的重要性,;
10、在架構(gòu)搜索過程中,通過優(yōu)化架構(gòu)參數(shù),并對(duì)整個(gè)候選操作模塊中的架構(gòu)參數(shù)應(yīng)用函數(shù)進(jìn)行加權(quán)選擇,最終確定最優(yōu)的卷積操作組合,架構(gòu)搜索過程中,多分支的候選操作模塊用公式表示為:
11、,
12、其中,表示輸入,表示候選操作模塊的輸出,表示候選操作對(duì)應(yīng)分支上經(jīng)過歸一化后的架構(gòu)參數(shù),表示候選操作應(yīng)用于括號(hào)內(nèi)的輸出。
13、步驟2包括:
14、步驟2.1,基于yolo網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)的架構(gòu),構(gòu)建骨干超網(wǎng)架構(gòu):所述yolo網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)包括個(gè)模塊,每個(gè)模塊中包含個(gè)卷積操作;超網(wǎng)是神經(jīng)架構(gòu)搜索中用于統(tǒng)一表示和探索龐大搜索空間的一種技術(shù)。通過將所有可能的神經(jīng)網(wǎng)絡(luò)架構(gòu)嵌入到一個(gè)集合結(jié)構(gòu)中,超網(wǎng)允許不同候選操作和路徑在共享參數(shù)的框架下進(jìn)行聯(lián)合優(yōu)化。在訓(xùn)練過程中,超網(wǎng)通過動(dòng)態(tài)激活和權(quán)重調(diào)整,有效地評(píng)估和選擇最優(yōu)的子網(wǎng)架構(gòu)。最終,通過從超網(wǎng)中提取具有最優(yōu)性能的子網(wǎng),其大幅提升了神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的自動(dòng)化和效率,同時(shí)減小了計(jì)算資源的消耗。
15、基于模塊,構(gòu)建新的模塊,即在保留原來模塊連接結(jié)構(gòu)的同時(shí),采用多分支結(jié)構(gòu)的候選操作模塊替代模塊中所有的卷積操作;
16、通過將yolo網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)中的所有模塊替換為模塊,從而構(gòu)建出新的骨干超網(wǎng)架構(gòu),整個(gè)骨干超網(wǎng)的搜索空間用公式表示為:
17、,
18、其中,表示骨干超網(wǎng)搜索空間大小,表示候選操作總數(shù),表示每個(gè)模塊中包含的卷積操作總數(shù);
19、步驟2.2,基于yolo網(wǎng)絡(luò)的頸部網(wǎng)絡(luò)架構(gòu),構(gòu)建頸部超網(wǎng)架構(gòu):在yolo網(wǎng)絡(luò)的頸部網(wǎng)絡(luò)中,包含個(gè)特征融合層,橫跨個(gè)尺度,在yolo網(wǎng)絡(luò)的頸部網(wǎng)絡(luò)的基礎(chǔ)上加入全連接結(jié)構(gòu),并使用多分支結(jié)構(gòu)的候選操作模塊代替頸部網(wǎng)絡(luò)中所有特征圖層與特征融合層之間的卷積操作,以及特征融合層與特征融合層之間的卷積操作,從而構(gòu)建頸部超網(wǎng)架構(gòu);
20、整個(gè)頸部超網(wǎng)的搜索空間用公式表示為:
21、,
22、其中,表示頸部超網(wǎng)搜索空間大小,表示每個(gè)特征融合層搜索空間的總乘積,表示每條邊上候選操作總數(shù),表示每個(gè)特征融合層最終保留邊的總數(shù),表示超網(wǎng)中每個(gè)特征融合層輸入邊的總數(shù),表示每個(gè)特征融合層輸入邊選擇的搜索空間大??;
23、搜索過程中,特征融合層的計(jì)算公式表示為:
24、,
25、其中,表示經(jīng)過多尺度融合后的特征融合層,表示的前置輸入節(jié)點(diǎn),表示的所有前置節(jié)點(diǎn)經(jīng)過處理后結(jié)果相加后得到的特征圖,表示經(jīng)過歸一化處理后連接邊上的架構(gòu)參數(shù),表示邊上候選操作集合,表示邊上每一個(gè)候選操作,表示邊上的候選操作的分支上經(jīng)過歸一化后的架構(gòu)參數(shù),表示邊上的候選操作應(yīng)用于括號(hào)內(nèi)的輸出;
26、將骨干超網(wǎng)架構(gòu)和頸部超網(wǎng)架構(gòu)拼接起來,構(gòu)建成最終的超網(wǎng)架構(gòu),其中檢測頭仍然保留原yolo網(wǎng)絡(luò)的結(jié)構(gòu),整個(gè)超網(wǎng)的搜索空間用公式表示為:
27、,
28、其中,s表示超網(wǎng)總的搜索空間大??;
29、本發(fā)明中,具體來說,基于yolov7的網(wǎng)絡(luò)架構(gòu),構(gòu)建超網(wǎng)。yolov7的骨干網(wǎng)絡(luò),主要由個(gè)骨干高效層聚合模塊構(gòu)成,每個(gè)骨干高效層聚合模塊中包含個(gè)卷積操作。基于骨干高效層聚合模塊,構(gòu)建了新的搜索模塊,即在保留原來骨干高效層聚合模塊連接結(jié)構(gòu)的同時(shí),采用多分支結(jié)構(gòu)的候選操作模塊替代骨干高效層聚合模塊中所有的卷積操作。通過將yolo骨干網(wǎng)絡(luò)中的所有骨干高效層聚合模塊替換為搜索模塊,從而構(gòu)建出新的骨干超網(wǎng)架構(gòu),整個(gè)骨干超網(wǎng)的搜索空間大小為。在yolov7的頸部網(wǎng)絡(luò)中,包含個(gè)特征融合層,橫跨個(gè)尺度。在其原本基礎(chǔ)上加入全連接結(jié)構(gòu),并使用多分支結(jié)構(gòu)的候選操作模塊代替頸部網(wǎng)絡(luò)中所有特征圖層與特征融合層,特征融合層和特征融合層之間的卷積操作,以構(gòu)建頸部超網(wǎng)架構(gòu)。整個(gè)頸部超網(wǎng)的搜索空間大小為。將構(gòu)建好的骨干超網(wǎng)和頸部超網(wǎng)替換原yolov7中的骨干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò),得到構(gòu)建好的整體超網(wǎng)結(jié)構(gòu)。
30、步驟3包括:
31、步驟3.1,使用可微分架構(gòu)搜索方法,對(duì)超網(wǎng)進(jìn)行預(yù)訓(xùn)練,交替優(yōu)化超網(wǎng)的網(wǎng)絡(luò)權(quán)重與架構(gòu)參數(shù),直到設(shè)置的迭代次數(shù)耗盡,用公式表示為:
32、,服從于,
33、在pascal?voc?2012這一目標(biāo)檢測標(biāo)準(zhǔn)數(shù)據(jù)集上進(jìn)行訓(xùn)練,并將數(shù)據(jù)集分成訓(xùn)練集和驗(yàn)證集,分別對(duì)超網(wǎng)架構(gòu)參數(shù)和網(wǎng)絡(luò)權(quán)重進(jìn)行優(yōu)化;其中,表示對(duì)架構(gòu)參數(shù)進(jìn)行最小化;表示驗(yàn)證損失;表示在架構(gòu)參數(shù)下,通過訓(xùn)練得到的最優(yōu)權(quán)重;表示括號(hào)內(nèi)返回最小值時(shí)的;表示訓(xùn)練損失;表示超網(wǎng)權(quán)重;上述公式交替進(jìn)行,不斷優(yōu)化超網(wǎng)權(quán)重和架構(gòu)參數(shù),直至預(yù)訓(xùn)練輪次耗盡;
34、步驟3.2,根據(jù)預(yù)訓(xùn)練后的超網(wǎng),搜索得到最佳子網(wǎng)。
35、步驟3.2包括:
36、步驟3.2.1,超網(wǎng)預(yù)訓(xùn)練結(jié)束后,骨干超網(wǎng)中,將每個(gè)多分支結(jié)構(gòu)的候選操作模塊中經(jīng)過歸一化處理后的最大的架構(gòu)參數(shù)所對(duì)應(yīng)的候選操作,替換當(dāng)前多分支結(jié)構(gòu)的候選操作模塊,以構(gòu)成搜索得到的最佳骨干子網(wǎng);
37、步驟3.2.2,在超網(wǎng)預(yù)訓(xùn)練階段,頸部超網(wǎng)中,每個(gè)尺度的特征融合層包含或個(gè)輸入,引入邊架構(gòu)參數(shù)代表第條輸入邊的重要性;超網(wǎng)預(yù)訓(xùn)練結(jié)束后,每個(gè)特征融合層根據(jù)歸一化后的邊架構(gòu)參數(shù)的大小,對(duì)特征融合層的所有輸入邊進(jìn)行降序排序,保留前名所對(duì)應(yīng)的輸入邊,邊上卷積的選擇同骨干網(wǎng)絡(luò)相同,以構(gòu)成搜索得到的最佳頸部子網(wǎng),(本發(fā)明中,取值);
38、本發(fā)明中,具體來說,在超網(wǎng)預(yù)訓(xùn)練階段,頸部超網(wǎng)中,每個(gè)尺度的特征融合層包含或個(gè)輸入,在超網(wǎng)預(yù)訓(xùn)練結(jié)束后,每個(gè)特征融合層根據(jù)歸一化后的邊架構(gòu)參數(shù)的大小,對(duì)其輸入邊進(jìn)行降序排序,保留前名所對(duì)應(yīng)的輸入邊,邊上卷積的選擇同骨干網(wǎng)絡(luò)相同,以構(gòu)成搜索得到的最佳頸部子網(wǎng)。
39、步驟3.2.3,將搜索得到的最佳骨干子網(wǎng)與最佳頸部子網(wǎng),分別替換原始yolo網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)與頸部網(wǎng)絡(luò),得到最佳子網(wǎng)。
40、步驟4中,所述在最佳子網(wǎng)中引入坐標(biāo)注意力機(jī)制,坐標(biāo)注意力機(jī)制通過分別處理水平方向和垂直方向的特征,使模型在捕捉長寬比、形狀復(fù)雜度以及目標(biāo)相對(duì)位置等方面表現(xiàn)得更為精準(zhǔn)。這種增強(qiáng)的空間信息感知能力使模型在目標(biāo)檢測任務(wù)中能夠更加準(zhǔn)確地定位和識(shí)別物體,特別是在復(fù)雜場景中,對(duì)小目標(biāo)和密集物體的檢測效果尤為顯著,同時(shí)也能減少誤檢率和漏檢率,提升整體性能。用公式表示為:
41、,
42、其中,表示通過應(yīng)用坐標(biāo)注意力后得到的特征圖,表示應(yīng)用水平注意力,表示應(yīng)用垂直注意力,計(jì)算公式為:
43、,
44、,
45、其中,表示原始特征圖,表示水平注意力權(quán)重,表示垂直注意力權(quán)重,計(jì)算公式為:
46、,
47、,
48、其中,表示歸一化函數(shù),將一個(gè)向量的實(shí)數(shù)值轉(zhuǎn)化為概率分布,使得每個(gè)元素的概率與其他元素的概率之和為?1,表示用于計(jì)算水平注意力權(quán)重的學(xué)習(xí)權(quán)重矩陣,表示用于計(jì)算垂直注意力權(quán)重的學(xué)習(xí)權(quán)重矩陣,?表示將坐標(biāo)信息展平為向量,表示水平坐標(biāo),表示垂直坐標(biāo)。
49、步驟5中,在標(biāo)準(zhǔn)數(shù)據(jù)集pascal?voc?2012上對(duì)引入坐標(biāo)注意力機(jī)制后的最佳子網(wǎng)進(jìn)行重訓(xùn)練,從而得到最終適用于目標(biāo)檢測的高效yolo改進(jìn)模型,重訓(xùn)練的損失函數(shù)用公式表示為:
50、,
51、其中,表示總損失函數(shù),表示目標(biāo)存在性損失,表示類別損失,表示邊界框回歸損失,計(jì)算公式為:
52、,
53、,
54、,
55、其中,表示目標(biāo)存在性損失的權(quán)重系數(shù),表示對(duì)所有網(wǎng)格單元的損失值進(jìn)行累加,表示第個(gè)網(wǎng)格單元的真實(shí)目標(biāo)存在性標(biāo)簽(1代表存在,0代表不存在),表示模型預(yù)測的目標(biāo)存在性概率,表示類別損失的權(quán)重系數(shù),表示對(duì)所有網(wǎng)格單元和所有類別的損失進(jìn)行雙重求和,表示第個(gè)網(wǎng)格單元中的目標(biāo)的真實(shí)類別標(biāo)簽,表示模型預(yù)測的第個(gè)網(wǎng)格單元中第類的概率,表示邊界框回歸損失的權(quán)重系數(shù),表示對(duì)所有網(wǎng)格單元的損失值進(jìn)行累加,表示第個(gè)網(wǎng)格單元的交并比,表示第個(gè)網(wǎng)格單元的真實(shí)邊界框坐標(biāo),表示模型預(yù)測的第個(gè)網(wǎng)格單元的邊界框坐標(biāo)。
56、本發(fā)明還提供了一種基于可微分架構(gòu)搜索的yolo目標(biāo)檢測系統(tǒng),包括:
57、超網(wǎng)構(gòu)建模塊,用于構(gòu)建候選操作集合,基于yolo的網(wǎng)絡(luò)架構(gòu),構(gòu)建超網(wǎng);
58、搜索模塊,用于對(duì)超網(wǎng)進(jìn)行預(yù)訓(xùn)練,搜索得到最佳子網(wǎng)。
59、優(yōu)化模塊,用于使用坐標(biāo)注意力機(jī)制進(jìn)一步優(yōu)化子網(wǎng),并對(duì)子網(wǎng)進(jìn)行重訓(xùn)練,最終得到適用于目標(biāo)檢測的高效yolo改進(jìn)模型。
60、本發(fā)明還提供了一種電子設(shè)備,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有程序代碼,當(dāng)所述程序代碼被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行所述的方法的步驟。
61、本發(fā)明將可微分架構(gòu)搜索應(yīng)用于yolo模型,使其能夠自動(dòng)優(yōu)化網(wǎng)絡(luò)架構(gòu),克服手工設(shè)計(jì)的局限性,并顯著提升模型性能。通過連續(xù)的梯度優(yōu)化,可微分架構(gòu)搜索實(shí)現(xiàn)了高效的架構(gòu)探索,能夠在短時(shí)間內(nèi)找到最優(yōu)的操作和層次結(jié)構(gòu),從而增強(qiáng)特征提取和多尺度融合的效果。為了進(jìn)一步優(yōu)化模型,還引入了坐標(biāo)注意力機(jī)制,以增強(qiáng)模型的空間信息感知能力。本發(fā)明的方法不僅提高了yolo模型的檢測精度,還能靈活適應(yīng)不同的應(yīng)用場景和硬件環(huán)境,在保持實(shí)時(shí)檢測的同時(shí),優(yōu)化對(duì)復(fù)雜目標(biāo)的處理,提高了模型的魯棒性和可靠性。
62、本發(fā)明的有益效果是:本發(fā)明提出了一種基于可微分架構(gòu)搜索在yolo目標(biāo)檢測領(lǐng)域應(yīng)用的方法。該方法以yolo模型為基礎(chǔ)構(gòu)建超網(wǎng),并使用可微分架構(gòu)搜索算法尋找最佳子網(wǎng),與其他搜索算法相比,該算法不再依賴于離散搜索和獨(dú)立訓(xùn)練每個(gè)候選架構(gòu),通過在訓(xùn)練過程中使用連續(xù)的梯度優(yōu)化,直接調(diào)整架構(gòu)權(quán)重,從而實(shí)現(xiàn)了高效的架構(gòu)優(yōu)化,顯著減少了超網(wǎng)訓(xùn)練過程中的計(jì)算成本和時(shí)間消耗。yolo作為實(shí)時(shí)目標(biāo)檢測領(lǐng)域的重要工具,有著高速檢測,高準(zhǔn)確性,易于部署等優(yōu)秀特點(diǎn),通過在yolo的結(jié)構(gòu)上進(jìn)行高效的架構(gòu)搜索,不僅加速了超網(wǎng)的設(shè)計(jì)過程,還在保持yolo高效實(shí)時(shí)檢測性能的同時(shí),提升了模型的檢測精度。它允許動(dòng)態(tài)調(diào)整網(wǎng)絡(luò)以適應(yīng)不同的數(shù)據(jù)和任務(wù)需求,顯著增強(qiáng)了模型的魯棒性和適應(yīng)性。在搜索后的模型中引入坐標(biāo)注意力機(jī)制,則進(jìn)一步增強(qiáng)了模型對(duì)空間信息的感知能力,使模型對(duì)復(fù)雜目標(biāo)的檢測更加敏感。