• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于梯度差自適應(yīng)學(xué)習(xí)率優(yōu)化的改進(jìn)YOLOX目標(biāo)檢測(cè)算法

    2023-08-31 02:36:40宋玉存葛泉波朱軍龍陸振宇
    航空學(xué)報(bào) 2023年14期
    關(guān)鍵詞:梯度損失神經(jīng)網(wǎng)絡(luò)

    宋玉存,葛泉波,朱軍龍,陸振宇

    1.南京信息工程大學(xué) 人工智能學(xué)院(未來(lái)技術(shù)學(xué)院),南京 210044

    2.南京信息工程大學(xué) 自動(dòng)化學(xué)院,南京 210044

    3.南京信息工程大學(xué) 江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,南京 210044

    4.南京信息工程大學(xué) 江蘇省智能氣象探測(cè)機(jī)器人工程研究中心,南京 210044

    5.河南科技大學(xué) 信息工程學(xué)院,洛陽(yáng) 471000

    目標(biāo)檢測(cè)任務(wù)就是找出圖像中所有感興趣的目標(biāo)物體,不僅要確定其類別,還要找到其在圖像中的位置,因此目標(biāo)檢測(cè)一直以來(lái)都是計(jì)算機(jī)視覺的熱門問(wèn)題之一。由于深度學(xué)習(xí)的廣泛運(yùn)用,使得目標(biāo)檢測(cè)算法也由傳統(tǒng)的目標(biāo)檢測(cè)算法發(fā)展為基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法[1]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)可分為2 類,分別為One-Stage 目標(biāo)檢測(cè)和Two-Stage 目標(biāo)檢測(cè)算法。Two-Stage 指的是檢測(cè)算法需要分2 步完成,如R-CNN 系列[2-5]算法,首先需要獲取待檢測(cè)物體的候選區(qū)域,然后再進(jìn)行分類;與之相對(duì)的是One-Stage 檢測(cè)方法,可以理解為一步檢測(cè)到位,且不需要單獨(dú)尋找物體的候選區(qū)域,典型算法有SSD/YOLO[6-7]。這2 類算法在檢測(cè)準(zhǔn)確度和檢測(cè)速度方面各有優(yōu)勢(shì),但目前One-Stage 的目標(biāo)檢測(cè)算法的識(shí)別精度已經(jīng)與Two-Stage 的識(shí)別精度不相上下,且One-Stage 的目標(biāo)檢測(cè)速度要快于Two-Stage 的目標(biāo)檢測(cè),因此One-Stage 目標(biāo)檢測(cè)算法的研究是當(dāng)前主流方向。

    在One-Stage 的目標(biāo)算法體系中,無(wú)論是在使用范圍和影響力方面YOLO 系列算法都較為突出[8]。原始版本的YOLO 目標(biāo)檢測(cè)算法是2016 年提出的,它具有非常快的檢測(cè)速度,但精度還有待提高[6]。同年提出的SSD[7]目標(biāo)檢測(cè)算法,相比于YOLOv1[6]進(jìn)一步提高了檢測(cè)的精度與速度。隨后,眾多學(xué)者針對(duì)YOLOv1 提出不同的改進(jìn)算法,包括YOLOv2、YOLOv3、YOLOv4和YOLOv5 目標(biāo)檢測(cè)算法[9-12]。最新的版本是2021 年由曠視科技提出的YOLOX[13]目標(biāo)檢測(cè)算法,它將解耦頭、無(wú)錨點(diǎn)以及標(biāo)簽分類等目標(biāo)檢測(cè)領(lǐng)域的優(yōu)秀進(jìn)展與YOLO 進(jìn)行了巧妙的集成組合,不僅超越了已有的YOLO 的各個(gè)版本,而且在模型的推理速度上取得極大的突破。然而,在自然界中由于各類物體具有不同的外觀、形狀、大小和姿態(tài),再加上物體成像時(shí)面臨的光照、遮擋和視角等因素,這些都對(duì)目標(biāo)檢測(cè)的結(jié)果造成了巨大的影響,從而導(dǎo)致現(xiàn)實(shí)環(huán)境中現(xiàn)有的目標(biāo)檢測(cè)算法依然面臨著巨大的挑戰(zhàn),并且如何提升目標(biāo)檢測(cè)的精度也成為了眾多學(xué)者的研究熱點(diǎn)[14]。

    YOLOX 目標(biāo)檢測(cè)算法雖然在各方面的表現(xiàn)都很優(yōu)異,但進(jìn)一步提升和挖掘YOLOX 算法的性能同樣也非常重要。新算法針對(duì)YOLOX 從3個(gè)不同的方向進(jìn)行改進(jìn),分別是數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù):① YOLOX 算法的數(shù)據(jù)增強(qiáng)會(huì)造成一部分圖像色彩不均衡,從而必將影響網(wǎng)絡(luò)的特征提取,因此采用隨機(jī)增加亮度和對(duì)比度來(lái)解決該問(wèn)題;② 網(wǎng)絡(luò)結(jié)構(gòu)是影響整個(gè)YOLOX 算法精度的重要環(huán)節(jié),因此新算法也從激活函數(shù)和網(wǎng)絡(luò)頭結(jié)構(gòu)進(jìn)行改進(jìn),以進(jìn)一步提升其網(wǎng)絡(luò)模型的精度;③ 由于YOLOX 中所使用的損失函數(shù)并未解決目標(biāo)檢測(cè)算法中正負(fù)樣本不均衡問(wèn)題,新算法通過(guò)采用新的損失函數(shù)來(lái)應(yīng)對(duì)。

    在深度學(xué)習(xí)任務(wù)中,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過(guò)程需要使用優(yōu)化算法進(jìn)行神經(jīng)網(wǎng)絡(luò)參數(shù)學(xué)習(xí),以使得網(wǎng)絡(luò)損失函數(shù)的值盡可能小。一個(gè)好的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法可以使網(wǎng)絡(luò)模型能夠快速收斂,從而達(dá)到更好的性能表現(xiàn)[15]。深度神經(jīng)網(wǎng)絡(luò)的優(yōu)化能力關(guān)系著網(wǎng)絡(luò)最終的性能表現(xiàn),但其神經(jīng)網(wǎng)絡(luò)數(shù)百千萬(wàn)的巨大參數(shù)量,使得網(wǎng)絡(luò)參數(shù)的優(yōu)化學(xué)習(xí)也異常困難。目前使用最廣泛的深度學(xué)習(xí)優(yōu)化算法包括隨機(jī)梯度下降法[16]和一些自適應(yīng)學(xué)習(xí)率的優(yōu)化算法。相對(duì)于隨機(jī)梯度下降法,自適應(yīng)學(xué)習(xí)率算法則有更快的收斂速度和良好的泛化性能,因此如何設(shè)計(jì)出更好的自適應(yīng)學(xué)習(xí)率的優(yōu)化算法對(duì)提升神經(jīng)網(wǎng)絡(luò)的性能表現(xiàn)非常重要。

    深度神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的研究一直都是眾多學(xué)者研究的熱點(diǎn)。通常根據(jù)優(yōu)化算法在優(yōu)化過(guò)程中使用的導(dǎo)數(shù)階數(shù)可以將優(yōu)化算法分為2 大類,分別是一階優(yōu)化算法和二階優(yōu)化算法[17]。其中二階優(yōu)化算法具有快速收斂的特點(diǎn),但由于深度神經(jīng)網(wǎng)絡(luò)的巨大參數(shù)量,二階優(yōu)化算法的計(jì)算過(guò)程要求解二階導(dǎo)數(shù),導(dǎo)致二階優(yōu)化算法并不適用于深度神經(jīng)網(wǎng)絡(luò)的優(yōu)化中,因此更多的是對(duì)一階優(yōu)化算法的研究[18]。一階優(yōu)化算法中以梯度下降法和自適應(yīng)學(xué)習(xí)率的優(yōu)化算法使用最為常見,其中自適應(yīng)學(xué)習(xí)率的優(yōu)化算法相比較梯度下降法具有更快的收斂速度,但是其自身泛化能力較差。最早的自適應(yīng)學(xué)習(xí)率優(yōu)化算法AdaGrad[19]于2011 年提出,之后又提出一些改進(jìn)后的自適應(yīng)學(xué)習(xí)率優(yōu)化算法,如AdaDelta 算法[20]、RMSprop 算法[21]以及Adam 算法[22]。其中,Adam 算法自2015 年提出至今一直備受歡迎,且眾多針對(duì)Adam 算法的改進(jìn)自適應(yīng)算法也層出不窮,包括AdaBound 算法[23]、DiffGrad 算法[24]、還有最近2 年的AdaBelief 算法[25]和DecGD 算法[26]等。因此設(shè)計(jì)出一個(gè)好的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法,并將其用在深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中提升網(wǎng)絡(luò)模型性能是極其有意義的,能有效提高神經(jīng)網(wǎng)絡(luò)算法的應(yīng)用性能。

    1 問(wèn)題描述

    1.1 YOLOX 的目標(biāo)檢測(cè)

    YOLOX 目標(biāo)檢測(cè)算法是以YOLOv3_spp作為基準(zhǔn)模型。該模型采用DarkNet53 作為骨干網(wǎng)絡(luò),使用了空間金字塔池化結(jié)構(gòu)(SPP),并添加了EMA 權(quán)值更新、cosine 學(xué)習(xí)率機(jī)制和IoU 損失等策略[13]。YOLOX 通過(guò)對(duì)基準(zhǔn)模型做了以下的改進(jìn)以提升神經(jīng)網(wǎng)絡(luò)的檢測(cè)精度和速度:① 在模型的輸入端采用了更強(qiáng)的數(shù)據(jù)增強(qiáng)方法,對(duì)于基準(zhǔn)模型的主干網(wǎng)絡(luò)并沒(méi)有做出修改,只在網(wǎng)絡(luò)的預(yù)測(cè)頭使用解耦頭,這不僅提升網(wǎng)絡(luò)的精度,也加快了網(wǎng)絡(luò)的收斂速度;② 采用anchor free、multi postives 和SimOTA 等方法的共同作用使YOLOX 目標(biāo)檢測(cè)算法獲得了優(yōu)越的精度和極快的推理速度;③ YOLOX 又針對(duì)YOLOv5[12]的網(wǎng)絡(luò)做出改進(jìn),包括改進(jìn)了YOLOv5的主干網(wǎng)絡(luò)、在YOLOv5 的Mosaic 數(shù)據(jù)增強(qiáng)方法后使用MixUp[27]數(shù)據(jù)增強(qiáng)方法、采用SiLU 激活函數(shù)[28]等方法。根據(jù)網(wǎng)絡(luò)的大小和深度,對(duì)改進(jìn)的網(wǎng)絡(luò)命名為 YOLOX-S、YOLOX-M、YOLOX-L 和YOLOX-X,網(wǎng)絡(luò)的大小越大深度越深,其網(wǎng)絡(luò)的性能越好[13]。

    1.2 神經(jīng)網(wǎng)絡(luò)優(yōu)化

    深度神經(jīng)網(wǎng)絡(luò)模型是一個(gè)高度非線性模型,其訓(xùn)練過(guò)程就是求得這個(gè)非線性模型的最優(yōu)解,一般通過(guò)求解損失函數(shù)來(lái)得到。損失函數(shù)是一個(gè)非凸函數(shù),在求得損失函數(shù)的最優(yōu)點(diǎn)的過(guò)程中,可能會(huì)得到損失函數(shù)的局部最小值,從而不能使模型達(dá)到最好的性能。神經(jīng)網(wǎng)絡(luò)優(yōu)化算法就是為了能夠使得網(wǎng)絡(luò)盡可能達(dá)到最優(yōu)解,好的優(yōu)化算法能夠使網(wǎng)絡(luò)模型快速收斂,同時(shí)使得模型有更好的泛化能力。

    現(xiàn)有廣泛用于神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法都是一階優(yōu)化算法,它需求得待優(yōu)化目標(biāo)的梯度,并使用一個(gè)學(xué)習(xí)率去控制優(yōu)化算法一點(diǎn)點(diǎn)去接近最優(yōu)點(diǎn),因此優(yōu)化算法學(xué)習(xí)率的選擇則至關(guān)重要[17]。傳統(tǒng)梯度下降法使用一個(gè)固定的學(xué)習(xí)率去一步一步得到最優(yōu)點(diǎn),但固定學(xué)習(xí)率會(huì)導(dǎo)致收斂速度過(guò)慢。自適應(yīng)學(xué)習(xí)率的優(yōu)化算法會(huì)在優(yōu)化的過(guò)程中根據(jù)待優(yōu)化參數(shù)的不同而分配不同的學(xué)習(xí)率,從而可以使優(yōu)化算法快速收斂,所以如何設(shè)計(jì)一個(gè)更好的自適應(yīng)學(xué)習(xí)率的策略就至關(guān)重要[15]。二階優(yōu)化算法的收斂速度極快,但是由于高昂的計(jì)算成本導(dǎo)致無(wú)法用于大規(guī)模的神經(jīng)網(wǎng)絡(luò)優(yōu)化過(guò)程。眾所周知,牛頓法就是二階優(yōu)化算法,其收斂速度快主要在于優(yōu)化過(guò)程中需要計(jì)算待優(yōu)化函數(shù)的二階矩陣的逆,這里矩陣的逆可以看作是優(yōu)化算法自適應(yīng)的學(xué)習(xí)率[18]。另外,可以通過(guò)學(xué)習(xí)二階優(yōu)化算法自適應(yīng)學(xué)習(xí)率的策略,應(yīng)用于一階優(yōu)化算法中,以提升一階優(yōu)化算法的優(yōu)化效果。

    1.3 研究動(dòng)機(jī)

    為提升YOLOX[13]模型的收斂速度和精度,考慮對(duì)YOLOX 做出進(jìn)一步改進(jìn),主要從數(shù)據(jù)增強(qiáng)、改變網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)的損失函數(shù)3 方面進(jìn)行。同時(shí),設(shè)計(jì)新的基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法并用于YOLOX 網(wǎng)絡(luò)的訓(xùn)練任務(wù),以此來(lái)進(jìn)一步提升YOLOX 的模型精度。

    1) 在YOLOX 的輸入端使用隨機(jī)增加對(duì)比度和亮度去解決原圖像增強(qiáng)后圖像色彩不均衡的問(wèn)題。YOLOX 中使用MixUp[27]將經(jīng)過(guò)Mosaic 處理過(guò)的圖像再與隨機(jī)一張裁剪過(guò)的圖像按相同的權(quán)重直接相加融合,融合后的圖片包含了2 張?jiān)瓐D片各一半的信息,與原圖片相比就失去了一半的色彩信息,這會(huì)導(dǎo)致增強(qiáng)后的圖片色彩不均衡。針對(duì)這一問(wèn)題,通過(guò)對(duì)數(shù)據(jù)增強(qiáng)后的圖片使用隨機(jī)增加對(duì)比度和亮度進(jìn)行處理,使其增強(qiáng)后丟失色彩信息的圖像隨機(jī)增加一部分色彩,從而均衡數(shù)據(jù)增強(qiáng)后的圖像。

    2) 在YOLOX 網(wǎng)絡(luò)的預(yù)測(cè)頭中使用新的激活函數(shù)替代原有的SiLU 激活函數(shù)[28]來(lái)增強(qiáng)網(wǎng)絡(luò)的預(yù)測(cè)能力。通過(guò)改進(jìn)YOLOX 的預(yù)測(cè)頭結(jié)構(gòu)來(lái)提升網(wǎng)絡(luò)的預(yù)測(cè)準(zhǔn)確性,因此從預(yù)測(cè)頭網(wǎng)絡(luò)中的激活函數(shù)入手提出一種新的用于YOLOX 預(yù)測(cè)頭的激活函數(shù),命名為SoftTanh 激活函數(shù)。YOLOX 中使用的激活函數(shù)是SiLU 激活函數(shù),SoftTanh 激活函數(shù)相對(duì)于SiLU 激活函數(shù)具有更稀疏的特性,更稀疏的激活函數(shù)可以使神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)更容易收斂,可以進(jìn)一步提升網(wǎng)絡(luò)的精度。

    3) 針對(duì)YOLOX 網(wǎng)絡(luò)解耦頭復(fù)雜的卷積結(jié)構(gòu),改進(jìn)的方法對(duì)其解耦頭重新解耦設(shè)計(jì)和優(yōu)化,以提升解耦頭部分的精度[13]。YOLOX 的網(wǎng)絡(luò)解耦頭首先是將分類和回歸解耦成2 個(gè)分支,之后再將回歸部分再解耦成2 個(gè)分支。新算法將分類和回歸直接一步解耦為3 個(gè)分支,將原來(lái)回歸的2 個(gè)分支解耦提前與分類分支解耦,這樣的設(shè)計(jì)使得網(wǎng)絡(luò)針對(duì)3 個(gè)解耦分支進(jìn)行了同樣深度和數(shù)量的卷積操作,相比原網(wǎng)絡(luò)增加了2 個(gè)卷積層,進(jìn)一步提升了網(wǎng)絡(luò)的回歸準(zhǔn)確性。

    4) 使用FocalLoss 函數(shù)[29]代替YOLOX 網(wǎng)絡(luò)原有的BCEWithLogitsLoss 函數(shù)去解決網(wǎng)絡(luò)分類中正負(fù)樣本不均衡的問(wèn)題。YOLOX 在計(jì)算目標(biāo)損失使用的是BCEWithLogitsLoss 函數(shù),該函數(shù)在目標(biāo)檢測(cè)中主要是用來(lái)進(jìn)行樣本的正負(fù)分類。但是在目標(biāo)檢測(cè)分類任務(wù)中,正樣本的數(shù)量是要遠(yuǎn)小于負(fù)樣本的數(shù)量,就造成了正負(fù)樣本不均衡的問(wèn)題,BCEWithLogitsLoss 函數(shù)對(duì)正負(fù)樣本計(jì)算損失時(shí)是按相同權(quán)重計(jì)算,無(wú)法使網(wǎng)絡(luò)更好的學(xué)習(xí)正樣本。FocalLoss 函數(shù)針對(duì)正負(fù)樣本賦予不同權(quán)重?fù)p失,使得模型訓(xùn)練時(shí)更專注正樣本的分類,提升網(wǎng)絡(luò)對(duì)正樣本的分類效果,解決正負(fù)樣本不均衡的問(wèn)題。

    5) 提出一種基于梯度差自適應(yīng)學(xué)習(xí)率的新型優(yōu)化算法,用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練以提升網(wǎng)絡(luò)模型的性能表現(xiàn)。現(xiàn)有優(yōu)化算法中二階優(yōu)化算法比一階優(yōu)化算法好,其主要是因?yàn)槎A優(yōu)化算法需要計(jì)算待優(yōu)化函數(shù)的二階導(dǎo)數(shù),二階導(dǎo)數(shù)表示的是一階導(dǎo)數(shù)的變化率,從函數(shù)圖像上反應(yīng)的是函數(shù)的凹凸性,這也意味著二階優(yōu)化算法考慮了待優(yōu)化函數(shù)的曲率信息?,F(xiàn)考慮用一階梯度的差來(lái)表示待優(yōu)化函數(shù)的曲率信息,以梯度差來(lái)作為學(xué)習(xí)率自適應(yīng)的一個(gè)策略,同時(shí)引入梯度分解去代替原有的梯度信息,設(shè)計(jì)出基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法。

    上述5 點(diǎn)共同改進(jìn)YOLOX 目標(biāo)檢測(cè)算法,這5 點(diǎn)改進(jìn)分別針對(duì)的是YOLOX 網(wǎng)絡(luò)的數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)和優(yōu)化算法,相互之間的作用共同提升了YOLOX 的性能。

    2 改進(jìn)的YOLOX 目標(biāo)檢測(cè)算法

    2.1 從數(shù)據(jù)增強(qiáng)方面改進(jìn)YOLOX

    在神經(jīng)網(wǎng)絡(luò)中經(jīng)常需要對(duì)訓(xùn)練集使用數(shù)據(jù)增強(qiáng)方法,從而防止神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練集過(guò)擬合,同時(shí)數(shù)據(jù)增強(qiáng)也可以彌補(bǔ)訓(xùn)練數(shù)據(jù)不足,達(dá)到擴(kuò)充數(shù)據(jù)集的目的。

    2.1.1 YOLOX 的數(shù)據(jù)增強(qiáng)算法

    YOLOX 在數(shù)據(jù)增強(qiáng)部分主要使用了Mosaic 和MixUp 數(shù)據(jù)增強(qiáng)算法。Mosaic 數(shù)據(jù)增強(qiáng)方法在YOLOv4[11]中提出,該算法是CutMix 數(shù)據(jù)增強(qiáng)方法的改進(jìn),Mosaic 數(shù)據(jù)增強(qiáng)通過(guò)隨機(jī)選取4 張圖像進(jìn)行拼接成一張圖片,以增加單張圖片中的目標(biāo)數(shù)量。對(duì)每張圖像的目標(biāo)位置,拼接后圖像中目標(biāo)位置相對(duì)于原未拼接的圖像中目標(biāo)的位置需要重新計(jì)算,Mosaic 的增強(qiáng)效果如圖1 所示[29]。

    圖1 Mosaic 數(shù)據(jù)增強(qiáng)效果圖[29]Fig.1 Mosaic data enhancement picture[29]

    通過(guò)Mosaic 數(shù)據(jù)增強(qiáng)后,YOLOX 再使用MixUp 數(shù)據(jù)增強(qiáng)方法。MixUp 數(shù)據(jù)增強(qiáng)[27]可以提升網(wǎng)絡(luò)模型的泛化能力,該算法是將隨機(jī)2 張圖片按不同的權(quán)重進(jìn)行融合從而生成一張新的圖像,對(duì)于圖片的標(biāo)簽也按照同樣的權(quán)重進(jìn)行融合生成新的標(biāo)簽,相對(duì)應(yīng)的計(jì)算公式為[27]

    式中:λ∈[0,1];xi,j、yi,j分別表示隨機(jī)選取的2 張圖片和相對(duì)應(yīng)圖像的標(biāo)簽。在目標(biāo)檢測(cè)中λ一般取值0.5,這樣對(duì)于計(jì)算損失函數(shù)時(shí)可以不用考慮數(shù)據(jù)標(biāo)簽。YOLOX 是將Mosaic 數(shù)據(jù)增強(qiáng)后的圖片和隨機(jī)選取的一張圖片進(jìn)行MixUp 數(shù)據(jù)增強(qiáng),圖片的融合效果如圖2 所示[30]。

    圖2 MixUp 數(shù)據(jù)增強(qiáng)效果圖[30]Fig.2 MixUp data enhancement picture[30]

    圖2 (a)為隨機(jī)選取的待融合的圖像,圖2(b)為MixUp 將待融合的圖像和經(jīng)過(guò)Mosaic 數(shù)據(jù)增強(qiáng)[11]后的圖像融合的結(jié)果,通過(guò)加權(quán)融合后的圖像包含了更多待檢測(cè)的目標(biāo),但是也讓圖像丟失了一部分色彩信息。為了進(jìn)一步增強(qiáng)模型的泛化能力和魯棒性,對(duì)融合后的數(shù)據(jù)采取進(jìn)一步的數(shù)據(jù)增強(qiáng),使增強(qiáng)后的圖像恢復(fù)一部分色彩信息。

    2.1.2 改進(jìn)YOLOX 的數(shù)據(jù)增強(qiáng)算法

    改進(jìn)YOLOX 的數(shù)據(jù)增強(qiáng)算法是在原有數(shù)據(jù)增強(qiáng)算法后再使用隨機(jī)改變圖像的對(duì)比度和亮度的數(shù)據(jù)增強(qiáng)算法,通過(guò)隨機(jī)對(duì)圖像像素加減某個(gè)值來(lái)改變圖像的亮度和隨機(jī)對(duì)圖像像素乘某個(gè)值來(lái)改變圖像的對(duì)比度,即

    式中:xiω表示改變圖像對(duì)比度,增加的ψ表示亮度的變化,ω∈[1,2],ψ∈[-10,10]為隨機(jī)值以達(dá)到對(duì)每張圖像數(shù)據(jù)隨機(jī)改變圖像的對(duì)比度和亮度的效果。同時(shí)為了防止增強(qiáng)后的圖像數(shù)據(jù)出現(xiàn)像素值過(guò)小或者像素值溢出,需要對(duì)增強(qiáng)后的數(shù)據(jù)進(jìn)一步處理,對(duì)增強(qiáng)后像素值<0 的像素點(diǎn)置0,對(duì)于增強(qiáng)后的像素值>255 的像素點(diǎn)設(shè)置為255,這樣便改變了增強(qiáng)后圖像的對(duì)比度和亮度。將隨機(jī)改變圖像的對(duì)比度和亮度的數(shù)據(jù)增強(qiáng)算法用在YOLOX 數(shù)據(jù)增強(qiáng)算法之后,使融合后的圖像恢復(fù)一部分色彩信息,以提升網(wǎng)絡(luò)模型的特征提取效果。

    2.2 從網(wǎng)絡(luò)結(jié)構(gòu)方面改進(jìn)YOLOX

    在神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)中要使用激活函數(shù),使用不同的激活函數(shù)就會(huì)有不同的網(wǎng)絡(luò)結(jié)構(gòu),不同的激活函數(shù)對(duì)網(wǎng)絡(luò)模型的影響也不同。一般激活函數(shù)都是非線性的,這樣可以為網(wǎng)絡(luò)模型加入非線性因素,因?yàn)榫€性模型的表達(dá)能力有限,好的激活函數(shù)能使網(wǎng)絡(luò)的性能得到很大的提升。

    2.2.1 YOLOX 中的激活函數(shù)

    YOLOX 將YOLOv5[12]網(wǎng)絡(luò)中使用的所有激活函數(shù)都改進(jìn)為SiLU 激活函數(shù)[28],該激活函數(shù)在深度模型上要優(yōu)于傳統(tǒng)ReLU 激活函數(shù)[31],具有光滑、非單調(diào)、無(wú)上界和有下界的特點(diǎn)。

    2.2.2 改進(jìn)YOLOX 中的激活函數(shù)

    為進(jìn)一步提升YOLOX 網(wǎng)絡(luò)的性能表現(xiàn),針對(duì)YOLOX 的網(wǎng)絡(luò)結(jié)構(gòu)做出改進(jìn),提出了新的激活函數(shù)去替代YOLOX 檢測(cè)頭的激活函數(shù),新的激活函數(shù)相比于其他激活函數(shù)具有更平滑的激活函數(shù)特性,更平滑的激活函數(shù)特性具有更好的泛化能力和有效的優(yōu)化能力,可以進(jìn)一步提高網(wǎng)絡(luò)模型質(zhì)量。

    新的激活函數(shù)為式(7),命名為SoftTanh 激活函數(shù),使用SoftTanh 激活函數(shù)替代YOLOX 網(wǎng)絡(luò)預(yù)測(cè)頭的SiLU 激活函數(shù)[28],以提升YOLOX目標(biāo)檢測(cè)算法預(yù)測(cè)頭的精度,ReLU[31]、SoftTanh和SiLU 激活函數(shù)圖像如圖3 所示。SoftTanh 激活函數(shù)在整個(gè)區(qū)間都具有良好的特性。

    圖3 激活函數(shù)的圖像Fig.3 Image of activation function

    1) SoftTanh 函數(shù)在>0 的區(qū)間保持了ReLU激活函數(shù)良好的線性特性。從激活函數(shù)的圖像可以看到SoftTanh 函數(shù)在輸入>0 的區(qū)間保留了與ReLU 激活函數(shù)相同的特性,從函數(shù)圖像表現(xiàn)為ReLU 激活函數(shù)圖像與SoftTanh 函數(shù)基本重合,這一點(diǎn)相比于SiLU 激活函數(shù)更好。

    2) SoftTanh 函數(shù)在<0 的區(qū)間具有更強(qiáng)的稀疏性,可以加快網(wǎng)絡(luò)的計(jì)算。在<0 的區(qū)間保留了一定的負(fù)值,這樣彌補(bǔ)了ReLU 激活函數(shù)<0 時(shí)激活值為0、梯度為0 的缺陷,與SiLU 激活函數(shù)相比較,當(dāng)x→-∞時(shí),SoftTanh 激活函數(shù)更快地趨近于0,這一點(diǎn)可以從圖3 的函數(shù)曲線圖看到。除此之外,通過(guò)求當(dāng)x→-∞時(shí),求SoftTanh 激活函數(shù)和SiLU 激活函數(shù)之商的極限來(lái)判斷2 個(gè)激活函數(shù)誰(shuí)更快地趨近于0,通過(guò)計(jì)算可以證明SoftTanh 激活函數(shù)在負(fù)區(qū)間更快趨近于0,那么給定的輸入激活后的值就為0,在神經(jīng)網(wǎng)絡(luò)中就表示激活的矩陣中包含很多0,矩陣中更多的0 就意味著網(wǎng)絡(luò)模型是稀疏的,稀疏網(wǎng)絡(luò)因?yàn)橐?jì)算的東西更少,網(wǎng)絡(luò)的計(jì)算速度也更快[31]。

    將3 種激活函數(shù)應(yīng)用到8 層隨機(jī)初始化的全連接神經(jīng)網(wǎng)絡(luò)中,輸入單張圖像并對(duì)神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行可視化處理,其圖像如圖4 所示,依次是輸入圖像,使用ReLU、SiLU 和SoftTanh 激活函數(shù)的8 層全連接神經(jīng)網(wǎng)絡(luò)輸出圖像。從圖4 可以看到,與SoftTanh 輸出的平滑輪廓相比,ReLU的輸出特征圖有許多直接的過(guò)渡。SoftTanh 的輸出同樣要比SiLU 的輸出更加平滑,更平滑的輸出意味著平滑的損失,從而具有更容易的優(yōu)化和更好的泛化特性。

    圖4 3 種激活函數(shù)在8 層隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)的輸入輸出圖像Fig.4 Three activation functions randomly initializing input and output images of neural network in eight layers

    2.2.3 改進(jìn)YOLOX 中的解耦頭

    傳統(tǒng)的YOLO 算法的檢測(cè)頭通常是直接通過(guò)分類和回歸分支融合共享來(lái)實(shí)現(xiàn)的,YOLOX中網(wǎng)絡(luò)檢測(cè)頭通過(guò)對(duì)融合特征的解耦來(lái)實(shí)現(xiàn)分類和回歸,這種解耦的設(shè)計(jì)不僅僅在精度上有所提高,而且也加快了YOLOX 網(wǎng)絡(luò)的收斂速度[13]。針對(duì)YOLOX 網(wǎng)絡(luò)的解耦頭設(shè)計(jì),將檢測(cè)頭進(jìn)一步解耦,原YOLOX 解耦頭的設(shè)計(jì)和改進(jìn)YOLOX 解耦頭的設(shè)計(jì)如圖5 所示。YOLOX 的網(wǎng)絡(luò)解耦頭是將分類和回歸解耦成2 個(gè)分支,之后再將回歸部分再解耦成2 個(gè)分支。新算法將分類和回歸直接一步解耦為3 個(gè)分支,將原來(lái)回歸的2 個(gè)分支提前解耦與分類解耦,這樣的設(shè)計(jì)使得網(wǎng)絡(luò)針對(duì)3 個(gè)解耦分支進(jìn)行了同樣深度和數(shù)量的卷積操作,比原網(wǎng)絡(luò)增加了2 個(gè)卷積層,相應(yīng)的因?yàn)榫矸e層數(shù)的增加,整個(gè)網(wǎng)絡(luò)的參數(shù)量和計(jì)算量也都有所增加,通過(guò)計(jì)算可以得到Y(jié)OLOX-S 和改進(jìn)后YOLOX-S 的參數(shù)量和運(yùn)算量。

    圖5 改進(jìn)YOLOX 解耦頭Fig.5 Improved YOLOX decoupled head

    從表1 可以看到增加卷積層后的YOLOX-S相比于原網(wǎng)絡(luò)參數(shù)量增加了10.1%,相應(yīng)的運(yùn)算量增加了17.6%。雖然整個(gè)網(wǎng)絡(luò)的參數(shù)量和運(yùn)算量有所增加,但通過(guò)實(shí)驗(yàn)可以發(fā)現(xiàn)增加卷積層的YOLOX-S 與原網(wǎng)絡(luò)相比,網(wǎng)絡(luò)回歸的準(zhǔn)確性得到了提升,可以從圖6[32]看到。

    表1 改進(jìn)的YOLOX-S 的參數(shù)量和運(yùn)算量Table 1 Improved YOLOX-S parameters and FLOPs

    圖6 原網(wǎng)絡(luò)與增加卷積層的YOLOX-S目標(biāo)檢測(cè)效果圖[32]Fig.6 YOLOX-S object detection results of original network and added convolutional layer[32]

    圖6 中左圖為原YOLOX-S 目標(biāo)檢測(cè)結(jié)果,右圖為增加2 層卷積后的目標(biāo)檢測(cè)結(jié)果,可以看到圖中右上角的立交橋在原YOLOX-S 網(wǎng)絡(luò)中并未被檢測(cè)到,增加卷積層后的YOLOX-S 網(wǎng)絡(luò)回歸準(zhǔn)確性得到了提升,位于右上角的立交橋也被檢測(cè)到。因此,對(duì)YOLOX 的解耦頭進(jìn)一步解耦,雖然網(wǎng)絡(luò)參數(shù)和運(yùn)算都有所增加,但對(duì)于提升網(wǎng)絡(luò)回歸準(zhǔn)確性也具有明顯效果。

    2.3 改進(jìn)YOLOX 的損失函數(shù)

    損失函數(shù)是用來(lái)評(píng)估模型的預(yù)測(cè)值與真實(shí)值之間的差值,在深度學(xué)習(xí)的訓(xùn)練過(guò)程中,往往需要通過(guò)使損失函數(shù)最小化,從而使得訓(xùn)練的模型能夠收斂,選擇一個(gè)好的損失函數(shù)可以使得模型具有更好的性能表現(xiàn)。

    2.3.1 YOLOX 中的損失函數(shù)

    YOLOX 網(wǎng)絡(luò)的損失函數(shù)包括3 部分,分別是IoU 損失,類別損失和目標(biāo)損失[13]。IoU 損失的作用是通過(guò)計(jì)算預(yù)測(cè)目標(biāo)框與真實(shí)目地之間的交并比來(lái)使得網(wǎng)絡(luò)能夠更加準(zhǔn)確地預(yù)測(cè)出目標(biāo)框的位置信息;類別損失是計(jì)算目標(biāo)類別的真實(shí)值與預(yù)測(cè)值之間的損失;目標(biāo)損失的作用是通過(guò)判斷當(dāng)前預(yù)測(cè)候選框是目標(biāo)還是背景,進(jìn)一步使網(wǎng)絡(luò)能更加準(zhǔn)確地將目標(biāo)與背景分開。在YOLOX 的網(wǎng)絡(luò)中,類別損失和目標(biāo)損失都使用了BCEWithLogitsLoss 函數(shù)[29],該函數(shù)是對(duì)輸入的數(shù)據(jù)先使用Sigmoid 函數(shù)(8),之后使用BCELoss 函數(shù),常用于多標(biāo)簽分類任務(wù)。

    2.3.2 改進(jìn)YOLOX 中的損失函數(shù)

    在目標(biāo)檢測(cè)中One-Stage 目標(biāo)檢測(cè)的檢測(cè)精度要低于Two-Stage 目標(biāo)檢測(cè),主要因?yàn)闃颖绢悇e不均衡造成正負(fù)樣本難分類,解決的方法通常是使用FocalLoss 函數(shù)[29]。該函數(shù)是在交叉熵函數(shù)上做改進(jìn),交叉熵?fù)p失函數(shù)在計(jì)算損失時(shí),每個(gè)樣本使用相同的權(quán)重。在目標(biāo)檢測(cè)中,正樣本是檢測(cè)的目標(biāo),負(fù)樣本是大量的背景,正負(fù)樣本在數(shù)量上有著非常大的差距,但使用交叉熵?fù)p失函數(shù)并不能使模型能更好地區(qū)分正負(fù)樣本,F(xiàn)ocallLoss 函數(shù)針對(duì)正負(fù)樣本不均衡,分別賦予不同的權(quán)重,對(duì)于正樣本因?yàn)閿?shù)量少,需要設(shè)置更大的權(quán)重,相反,對(duì)于負(fù)樣本設(shè)置較小的權(quán)重。對(duì)于正負(fù)樣本難分類的問(wèn)題,通過(guò)一個(gè)調(diào)制系數(shù),對(duì)容易分類的樣本減小其權(quán)重,對(duì)難以分類的樣本增大其權(quán)重,計(jì)算公式為[29]

    式中:σ是根據(jù)正負(fù)樣本的比例來(lái)決定的,σ∈(0,1),將σ設(shè)置為FocalLoss 論文默認(rèn)取值0.25,(當(dāng)σ設(shè)置為0.25 時(shí)改進(jìn)的YOLOX-S 算法在RSOD[32]數(shù)據(jù)集中的性能并非最好)。對(duì)此分別設(shè)置參數(shù)σ=0.1,0.2,0.3,實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)參數(shù)σ=0.2 時(shí),改進(jìn)的YOLOX-S 在RSOD 數(shù)據(jù)集中的結(jié)果更好。式(9)中pt表示檢測(cè)的結(jié)果,其值的范圍是[0,1],該值越大表示可信度越高,越容易分類樣本,相反,值越小可信度越小,更難分類。γ是一個(gè)調(diào)制系數(shù),可以控制容易分類和更難分類樣本的權(quán)重,γ∈(0,5),文中默認(rèn)取值為2。當(dāng)pt越大表示越容易分類,則(1-pt)2也就更小,損失函數(shù)的值也就越小。當(dāng)pt越小表示越難分類,則(1-pt)2也就更大,損失就更大,損失變大會(huì)使神經(jīng)網(wǎng)絡(luò)更傾向于更難分類樣本參數(shù)的學(xué)習(xí),從而提升神經(jīng)網(wǎng)絡(luò)對(duì)難分類樣本的分類準(zhǔn)確性。

    3 算法介紹

    3.1 自適應(yīng)學(xué)習(xí)率的優(yōu)化算法

    自適應(yīng)學(xué)習(xí)率的優(yōu)化算法框架都是基于梯度下降法改進(jìn)的,區(qū)別在于兩者學(xué)習(xí)率的設(shè)置不同。在隨機(jī)梯度下降算法[16]中,針對(duì)每個(gè)待優(yōu)化的參數(shù)學(xué)習(xí)率α是一致的,算法迭代公式為

    式中:θ是待優(yōu)化的參數(shù);gt表示待優(yōu)化函數(shù)的梯度,通常在使用隨機(jī)梯度下降法時(shí)更普遍使用帶動(dòng)量項(xiàng)的隨機(jī)梯度下降法[33],即

    式中:mt為動(dòng)量項(xiàng),通過(guò)指數(shù)加權(quán)平均包含了過(guò)去梯度的信息,可以使梯度下降的方向基于過(guò)去累計(jì)梯度的方向。自適應(yīng)學(xué)習(xí)率優(yōu)化算法的學(xué)習(xí)率是針對(duì)不同參數(shù)有不同的學(xué)習(xí)率,最早的自適應(yīng)學(xué)習(xí)率優(yōu)化算法AdaGrad[19]是通過(guò)積累過(guò)去梯度的平方和的根來(lái)實(shí)現(xiàn)自適應(yīng)學(xué)習(xí)率,即

    式中:Gt是過(guò)去t次迭代梯度的和;ε是為了保持分母數(shù)值穩(wěn)定的常數(shù),默認(rèn)取值為10-10。之后就出現(xiàn)了各種自適應(yīng)學(xué)習(xí)率優(yōu)化算法,其中使用最為廣泛的就是Adam 算法[22],它結(jié)合了AdaGrad[19]和RMSProp 算法[21]的優(yōu)點(diǎn),根據(jù)梯度的第一和第二矩的估計(jì)計(jì)算不同參數(shù)的各個(gè)自適應(yīng)學(xué)習(xí)率,即

    式中:mt表示梯度gt的指數(shù)加權(quán)移動(dòng)平均值,為梯度的一階矩估計(jì),用來(lái)控制模型更新的方向;β1是指數(shù)加權(quán)移動(dòng)平均的衰減率,默認(rèn)取值為0.9;vt表示梯度g2t的指數(shù)加權(quán)移動(dòng)平均值,為梯度的二階矩估計(jì),用來(lái)控制學(xué)習(xí)率;β2為指數(shù)加權(quán)移動(dòng)平均的衰減率,默認(rèn)的取值為0.999;m?t和v?t是對(duì)mt和vt進(jìn)行偏差修正;ε是為了保持分母數(shù)值穩(wěn)定的常數(shù),默認(rèn)取值為10-8。AdaBelief 算法[25]針對(duì)Adam 算法做出了改進(jìn),使用(gt-mt)2來(lái)代替式(16)中的g2t,使得算法在更新時(shí)方差大減小學(xué)習(xí)率,方差小增大學(xué)習(xí)率,即

    式中:β1、β2和ε的默認(rèn)取值與Adam 算法中β1、β2和ε的取值相同,分別為0.9、0.999 和10-8。自適應(yīng)學(xué)習(xí)率的優(yōu)化算法需要根據(jù)過(guò)去迭代的梯度信息來(lái)實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng),如何利用過(guò)去迭代的梯度信息設(shè)計(jì)出更好的自適應(yīng)學(xué)習(xí)率策略非常關(guān)鍵,DecGD 算法中提出使用損失來(lái)實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng),在網(wǎng)絡(luò)學(xué)習(xí)的過(guò)程中,學(xué)習(xí)率的大小應(yīng)該隨著函數(shù)的損失減小而減小,該算法利用復(fù)合函數(shù)

    來(lái)表示損失函數(shù),其中c默認(rèn)為1,然后對(duì)復(fù)合函數(shù)求導(dǎo)將梯度進(jìn)行分解為復(fù)合函數(shù)和復(fù)合函數(shù)導(dǎo)數(shù)的乘積得到

    其中:復(fù)合函數(shù)的導(dǎo)數(shù)為

    復(fù)合函數(shù)則使用一元泰勒展開來(lái)近似表達(dá),其中復(fù)合函數(shù)的近似為

    最后使用2g(x)?g(x)來(lái)表示原梯度來(lái)實(shí)現(xiàn)梯度下降。

    新提出的優(yōu)化算法是基于梯度差的信息來(lái)實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng),同時(shí)結(jié)合了DecGD 方法的梯度分解,使用復(fù)合函數(shù)來(lái)表示原損失函數(shù),相比較于現(xiàn)有方法,具有更好的學(xué)習(xí)率自適應(yīng)性。

    3.2 基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法

    f(θ)是一個(gè)待優(yōu)化的函數(shù),其函數(shù)圖像如圖7 所示,要求得f(θ)的極小值,可使用隨機(jī)梯度下降法迭代法,但是在隨機(jī)梯度下降法中的學(xué)習(xí)率大小不變,固定的學(xué)習(xí)率會(huì)導(dǎo)致算法在最優(yōu)點(diǎn)來(lái)回震蕩,難以達(dá)到最優(yōu)點(diǎn)。

    圖7 f (θ)函數(shù)圖像Fig.7 f (θ) functional image

    基于梯度差的自適應(yīng)學(xué)習(xí)率使用梯度差信息來(lái)表示待優(yōu)化函數(shù)的曲率信息,以曲率值的大小來(lái)控制學(xué)習(xí)率的變化,設(shè)計(jì)出一個(gè)基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法。在圖7 中,點(diǎn)θ3和θ4在最優(yōu)點(diǎn)附近,學(xué)習(xí)率應(yīng)該設(shè)置的較小,這樣可以避免算法迭代在最優(yōu)點(diǎn)震蕩,在最優(yōu)點(diǎn)之外,點(diǎn)θ1和θ2或點(diǎn)θ5和θ6處學(xué)習(xí)率可以設(shè)置較大一點(diǎn),這樣可以使算法快速迭代到最優(yōu)點(diǎn)附近。最優(yōu)點(diǎn)附近的梯度差|g(θ4)-g(θ3)|要大于最優(yōu)點(diǎn)之外的梯度差|g(θ2)-g(θ1)|和|g(θ6)-g(θ5)|,因此可以利用梯度差信息來(lái)控制學(xué)習(xí)率在算法迭代過(guò)程中的大小。在最優(yōu)點(diǎn)附近,梯度差大,學(xué)習(xí)率??;在最優(yōu)點(diǎn)之外,梯度差小,學(xué)習(xí)率大,學(xué)習(xí)率的大小與梯度差成反比。

    式中:Δgt為梯度差,表示當(dāng)前梯度gt與過(guò)去梯度gt-1的差值,使用梯度差作為學(xué)習(xí)率自適應(yīng)的一個(gè)策略,這個(gè)差值可以反應(yīng)出待優(yōu)化函數(shù)的曲率變化信息,通過(guò)曲率信息的變化自動(dòng)調(diào)整學(xué)習(xí)率的大小,從而實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng)。當(dāng)前梯度與上一步迭代的梯度的差值可能為正值,也可能為負(fù)值,差值的正負(fù)表示曲線向上彎曲還是向下彎曲,與梯度下降的方向沒(méi)有關(guān)系,因此可以只考慮差值的大小。

    現(xiàn)考慮將基于梯度差自適應(yīng)的策略與梯度分解進(jìn)行結(jié)合,以實(shí)現(xiàn)更好的自適應(yīng)學(xué)習(xí)策略。這里使用對(duì)數(shù)函數(shù)(26)作為損失函數(shù)的復(fù)合函數(shù),損失函數(shù)f(θt)是一個(gè)恒大于零的函數(shù),當(dāng)損失為零時(shí),復(fù)合函數(shù)h(θt)=ln (f(θt)+1)也為零,對(duì)復(fù)合函數(shù)求導(dǎo),得到梯度?h(θt),對(duì)復(fù)合函數(shù)的梯度引入動(dòng)量加速法得到,復(fù)合函數(shù)的本身使用一元泰勒公式近似為式(30)。算法的更新規(guī)則是使用當(dāng)前梯度近似值mtevt和當(dāng)前梯度gt的不同權(quán)重結(jié)合替換傳統(tǒng)梯度下降法的梯度,同時(shí)引入當(dāng)前的梯度差,以實(shí)現(xiàn)基于梯度差自適應(yīng)學(xué)習(xí)率的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法。

    式中:mt表示復(fù)合函數(shù)的梯度?h(θt) 的指數(shù)加權(quán)移動(dòng)平均值,參數(shù)β1表示指數(shù)加權(quán)移動(dòng)平均衰減率,默認(rèn)取值0.9。α表示學(xué)習(xí)率,默認(rèn)為0.01,參數(shù)ε既可以防止梯度差作為分母為零,也可以針對(duì)不同的優(yōu)化任務(wù)進(jìn)行適當(dāng)?shù)膮?shù)調(diào)整,默認(rèn)為0.01。β2作為當(dāng)前梯度和當(dāng)前梯度近似梯度融合的權(quán)重,β2∈(0,1),默認(rèn)取值0.3。

    通過(guò)使用基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法去優(yōu)化高維的非凸函數(shù),并對(duì)其自適應(yīng)學(xué)習(xí)優(yōu)化算法的優(yōu)化過(guò)程以及優(yōu)化結(jié)果進(jìn)行可視化,以重點(diǎn)分析其自適應(yīng)學(xué)習(xí)算法的優(yōu)化效果。選用Rastrigin 函數(shù)進(jìn)行優(yōu)化,Rastrigin 函數(shù)是一種典型的非凸函數(shù),函數(shù)圖像如圖8 所示。

    圖8 Rastrigin 函數(shù)圖像Fig.8 Rastrigin functional image

    Rastrigin 函數(shù)表達(dá)式為

    式中:A和n通常設(shè)為10 和2,當(dāng)x=0 時(shí),有全局最優(yōu)點(diǎn)f(0)=0。分別采用不同的優(yōu)化算法針對(duì)Rastrigin 函數(shù)進(jìn)行200 次迭代優(yōu)化并對(duì)其優(yōu)化過(guò)程以及優(yōu)化結(jié)果可視化處理。不同優(yōu)化算法的優(yōu)化效果如圖9 所示。因?yàn)镽astrigin 函數(shù)具有多個(gè)局部的極大值點(diǎn)和極小值點(diǎn),其最優(yōu)點(diǎn)在(0,0),常規(guī)的優(yōu)化算法很容易陷入局部最優(yōu)點(diǎn),圖9中的SGDM、Adam 以及AdaBelief 算法在經(jīng)過(guò)200 次迭代過(guò)程中都陷入了局部最優(yōu)點(diǎn),本文優(yōu)化算法在200 次迭代中經(jīng)過(guò)局部最優(yōu)點(diǎn)最終迭代得到全局最優(yōu)點(diǎn)(0, 0)。

    圖9 不同優(yōu)化算法在Rastrigin 函數(shù)迭代優(yōu)化效果圖Fig.9 Rastrigin function iterative optimization results with different optimization algorithms

    4 算法分析

    針對(duì)最新的YOLOX 目標(biāo)檢測(cè)方法主要從數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)損失函數(shù)3 個(gè)不同的方面做出改進(jìn),這些改進(jìn)算法共同作用提升了其目標(biāo)檢測(cè)的性能。同時(shí)設(shè)計(jì)出一種新的基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法,將該優(yōu)化算法用于訓(xùn)練改進(jìn)過(guò)的YOLOX 目標(biāo)檢測(cè)任務(wù),進(jìn)一步提升目標(biāo)檢測(cè)的精度,并且該優(yōu)化算法也可以用在其他神經(jīng)網(wǎng)絡(luò)的訓(xùn)練任務(wù)中去。

    4.1 改進(jìn)YOLOX 目標(biāo)檢測(cè)算法的耦合性

    改進(jìn)的YOLOX 目標(biāo)檢測(cè)算法從數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)3 個(gè)不同方面進(jìn)行改進(jìn),其中還有用于訓(xùn)練改進(jìn)YOLOX-S 的基于梯度差的優(yōu)化算法。

    改進(jìn)的數(shù)據(jù)增強(qiáng)方法是作用在輸入網(wǎng)絡(luò)的數(shù)據(jù),式(3)是對(duì)原始數(shù)據(jù)增強(qiáng)后的圖像進(jìn)一步增強(qiáng),恢復(fù)圖像部分色彩信息,再將其輸入到神經(jīng)網(wǎng)絡(luò)中,數(shù)據(jù)增強(qiáng)作用的是數(shù)據(jù)集,數(shù)據(jù)集與神經(jīng)網(wǎng)絡(luò)是2 個(gè)不同的模塊,因此數(shù)據(jù)增強(qiáng)與神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是非直接耦合關(guān)系。改進(jìn)的損失函數(shù)是為了解決數(shù)據(jù)集正負(fù)樣本不均衡的問(wèn)題,但是數(shù)據(jù)增強(qiáng)與數(shù)據(jù)集的正負(fù)樣本并沒(méi)有直接關(guān)系,因此數(shù)據(jù)增強(qiáng)與改進(jìn)損失函數(shù)之間也是非直接耦合關(guān)系。

    改變網(wǎng)絡(luò)結(jié)構(gòu)影響的是網(wǎng)絡(luò)的輸出,通過(guò)改變網(wǎng)絡(luò)的激活函數(shù)和改進(jìn)網(wǎng)絡(luò)的解耦頭設(shè)計(jì)來(lái)改進(jìn)網(wǎng)絡(luò)的部分結(jié)構(gòu),使得網(wǎng)絡(luò)具有更好的預(yù)測(cè)能力。改進(jìn)的損失函數(shù)作用在網(wǎng)絡(luò)學(xué)習(xí)分類的能力,式(9)中的損失函數(shù)可以對(duì)正負(fù)樣本設(shè)置不同的權(quán)重,使網(wǎng)絡(luò)對(duì)正負(fù)樣本具有更強(qiáng)的分類能力。2 個(gè)方法分別作用在YOLOX-S 的不同方面,因此是非直接耦合的關(guān)系。用于訓(xùn)練改進(jìn)YOLOX-S 的基于梯度差的優(yōu)化算法單獨(dú)作用于神經(jīng)網(wǎng)絡(luò),因此基于梯度差的優(yōu)化算法與改進(jìn)YOLOX-S 算法之間不存在耦合關(guān)系。

    同樣可以通過(guò)實(shí)驗(yàn)仿真來(lái)驗(yàn)證各改進(jìn)算法之間的耦合關(guān)系,針對(duì)不同的改進(jìn)算法可以通過(guò)分步驗(yàn)證,依次驗(yàn)證單個(gè)改進(jìn)算法是否有效。

    4.2 基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法

    使用梯度差的信息作為自適學(xué)習(xí)率的策略,同時(shí)將梯度分解的近似梯度去代替原損失函數(shù)的梯度信息,最后在算法的更新上使用了當(dāng)前梯度和近似梯度的不同權(quán)重進(jìn)行更新,梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法的詳細(xì)信息如算法1 所示。其中:f(θ)∈R ,?θ∈Rd,f為最小化的損失函數(shù),θ為屬于Rd的參數(shù);t表示迭代次數(shù);h(θt)=ln (f(θt)+1);gt=?f(θt)表示f(θt)的梯度;Δgt表示梯度差信息;α表示學(xué)習(xí)率,默認(rèn)為10-3;ε為為防止梯度差作為分母為零設(shè)置的參數(shù),默認(rèn)為10-2;β1、β2表示平滑參數(shù),分別設(shè)置為0.9和0.3。

    ?

    基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法結(jié)合了梯度分解和梯度差信息作為自適應(yīng)學(xué)習(xí)率調(diào)整的策略。AdaBelief[25]優(yōu)化算法中使用移動(dòng)指數(shù)加權(quán)平均的算法來(lái)計(jì)算當(dāng)前梯度與當(dāng)前梯度動(dòng)量項(xiàng)的差來(lái)作為學(xué)習(xí)率自適應(yīng)變化的計(jì)算算法,計(jì)算公式見式(20)。新算法直接使用了當(dāng)前梯度與上一次迭代的梯度的差作為梯度信息的變化,以實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng)。相比于AdaBelief算法,這樣的計(jì)算方法更加簡(jiǎn)單和更易于理解。

    DecGD[26]優(yōu)化算法中將損失函數(shù)的梯度分解為2 項(xiàng)的乘積,這2 項(xiàng)通過(guò)使用損失函數(shù)的復(fù)合函數(shù)來(lái)引入。新算法使用了相似的方法,但是使用了不同的復(fù)合函數(shù)來(lái)表示損失函數(shù)。DecGD 優(yōu)化算法使用表示損失函數(shù)的復(fù)合函數(shù),當(dāng)損失函數(shù)f(x)趨近于零時(shí),復(fù)合函數(shù)g(x)只會(huì)無(wú)限趨近于c,因此復(fù)合函數(shù)g(x)不具有與損失函數(shù)f(x)相同的極限,無(wú)法與損失函數(shù)f(x)的變化做到同步。使用對(duì)數(shù)函數(shù)h(x)=ln (f(x)+1)作為損失函數(shù)的復(fù)合函數(shù),當(dāng)損失函數(shù)f(x)趨近于零時(shí),復(fù)合函數(shù)h(x)與損失函數(shù)f(x)具有相同的極限,因此h(x)更能表達(dá)損失函數(shù)。通過(guò)梯度融合以達(dá)到梯度的近似性,從而使梯度更新的模型具有泛化性。

    4.3 收斂性分析

    使用在線學(xué)習(xí)框架分析基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法在凸情況下的收斂性,使用遺憾來(lái)評(píng)估優(yōu)化算法,即在線預(yù)測(cè)ft(θt)和在最優(yōu)點(diǎn)ft(θ*)之間的所有之前差異的總和,遺憾定義為

    在線凸優(yōu)化的標(biāo)準(zhǔn)假設(shè)如下:

    假設(shè)1①X?Rd是緊凸集;②ft是凸的下半連續(xù)函數(shù),其中g(shù)t=?ft(θt);③D=maxθ,λ∈X||θλ||∞,G=maxt||gt||∞。

    根據(jù)假設(shè)1 可以提出以下引理:

    引理1假設(shè)函數(shù)ft是有界的凸函數(shù),對(duì)?θ∈Rd,令ht(θ)=ln (ft(θ)+1)。如果ft具有有界的梯度,那么ht也具有有界梯度,并且在可行區(qū)域內(nèi)有界,證明過(guò)程參考AdaBelief[25]算法。

    根據(jù)假設(shè)1 和引理1,得出假設(shè)2。

    假設(shè)2①X?Rd是緊凸集;②ft是凸下半連續(xù)的函數(shù),ht=ln (ft+1),其中l(wèi)t=?ht(θt);③||θ-λ||≤D,||lt||≤H,||gt-gt||≤G,|exp(ht(θt))|≤L。

    定理1設(shè){θt}、{st}和{vt}為算法1 得到的序列,對(duì)?t∈[T],有0 ≤β1t≤β1<1,0 ≤β2<1,β11=β1,αt=,st-1≤st,0 <c≤。θ*表示域內(nèi)的最優(yōu)點(diǎn),對(duì)由基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法生成的任意θt,有以下遺憾界,參考AdaBelief[25]優(yōu)化算法的收斂證明思路可得:

    推論1設(shè)β1,t=β1λt,0 <λ<1,有:

    推論2在定理1 相同假設(shè)情況下,算法1 對(duì)所有的T≥1,可得算法的平均遺憾收斂:

    5 仿真實(shí)驗(yàn)

    進(jìn)行實(shí)驗(yàn)驗(yàn)證改進(jìn)后的YOLOX-S 目標(biāo)檢測(cè)算法在不同數(shù)據(jù)集的表現(xiàn),以及與其他目標(biāo)檢測(cè)算法在相同數(shù)據(jù)集上的比較,同時(shí)也將梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法與其他優(yōu)化算法在不同神經(jīng)網(wǎng)絡(luò)上使用相同的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)比較。

    5.1 改進(jìn)后的YOLOX-S 目標(biāo)檢測(cè)算法實(shí)驗(yàn)

    實(shí)驗(yàn)驗(yàn)證改進(jìn)后的YOLOX-S 目標(biāo)檢測(cè)算法的表現(xiàn),首先在標(biāo)準(zhǔn)的PASCAL VOC 07+12數(shù)據(jù)集[30]進(jìn)行實(shí)驗(yàn),使用的是PASCAL VOC 07+12 的評(píng)價(jià)標(biāo)準(zhǔn),實(shí)驗(yàn)設(shè)備使用的是NVIDIA A4000 顯卡。用未改進(jìn)的YOLOX-S 網(wǎng)絡(luò)[13]進(jìn)行實(shí)驗(yàn)得到一個(gè)基準(zhǔn)的實(shí)驗(yàn)結(jié)果,之后依次使用FocalLoss 函數(shù)、數(shù)據(jù)增強(qiáng)算法、SoftTanh 激活函數(shù)以及解耦頭去改進(jìn)YOLOX-S 并進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證改進(jìn)的方法對(duì)YOLOX-S 的作用,最后再使用基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法去替換原YOLOX-S 訓(xùn)練所使用的隨機(jī)梯度下降法去訓(xùn)練改進(jìn)的YOLOX-S 網(wǎng)絡(luò)。

    實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)是平均精度AP,從表2實(shí)驗(yàn)結(jié)果可以看出,使用FocalLoss 函數(shù)后,YOLOX-S 的AP 提升了1.02%,主要是因?yàn)镕ocalLoss 函數(shù)解決了目標(biāo)檢測(cè)任務(wù)中正負(fù)樣本數(shù)據(jù)不均衡的問(wèn)題,數(shù)據(jù)增強(qiáng)、新的激活函數(shù)和解耦頭結(jié)構(gòu)分別從數(shù)據(jù)和網(wǎng)絡(luò)結(jié)構(gòu)方面改進(jìn),分別從不同程度上提升了YOLOX-S 的AP。使用基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法使YOLOX-S 模型進(jìn)一步優(yōu)化,提升了YOLOX-S 的AP。改進(jìn)后的YOLXO-S 算法的AP 相比較于未改進(jìn)的YOLXO-S 算法的AP 提升明顯,雖然各改進(jìn)算法在精度方面對(duì)YOLOX-S 的提升效果大小各異,但總體上共同提升了算法的AP 表現(xiàn)。

    表2 改進(jìn)的YOLOX-S 在VOC 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果Table 2 Experimental results of improved YOLOX-S in VOC datasets

    使用相同的設(shè)備用改進(jìn)后的YOLOX-S 算法與YOLOv3[10]算法、YOLOv5s[12]、未改進(jìn)的YOLOX-S[13]算法以及最新由美團(tuán)開源的YOLOv6s[34]算法在RSOD[32]數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)比較,RSOD 數(shù)據(jù)集用于遙感圖像中的物體檢測(cè),其包含飛機(jī)、操場(chǎng)、立交橋和油桶4 類目標(biāo)共976張衛(wèi)星圖像,按照8∶2 隨機(jī)劃分為訓(xùn)練集和驗(yàn)證集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)使用COCO 評(píng)估標(biāo)準(zhǔn),不同目標(biāo)檢測(cè)算法在ROSD 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果如表3所示。

    表3 不同目標(biāo)檢測(cè)算法在RSOD 的實(shí)驗(yàn)結(jié)果Table 3 Experimental results of different object detection algorithms in RSOD

    從表3 可以看到改進(jìn)后的YOLOX-S 算法在RSOD 數(shù)據(jù)集的不同評(píng)價(jià)指標(biāo)都有提升,這也表明了,通過(guò)對(duì)YOLOX-S 從數(shù)據(jù)增強(qiáng)、激活函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化算法方面的改進(jìn)針對(duì)不同的數(shù)據(jù)集也可提升AP。其中AP50和AP75是算法預(yù)測(cè)框與真實(shí)框IOU>0.5 和0.75 的平均精度,IOU 越大預(yù)測(cè)的越準(zhǔn)確,APS、APM和APL分別表示不同大小目標(biāo)的平均精度,S、M 和L 分別表示小、中和大目標(biāo)。在表3 的實(shí)驗(yàn)結(jié)果可以看到改進(jìn)后的YOLOX-S 在RSOD 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果的大部分指標(biāo)都要優(yōu)于其他算法,其中AP50和AP75的實(shí)驗(yàn)結(jié)果比原YOLOX-S 的實(shí)驗(yàn)結(jié)果分別提升了1.5%和3.1%,精度提升效果明顯。改進(jìn)后的YOLOX-S 在RSOD 數(shù)據(jù)集上APM和APL的實(shí)驗(yàn)結(jié)果要優(yōu)于原YOLOX-S,其中改進(jìn)后的YOLOX-S 的大目標(biāo)檢測(cè)中的精度提升明顯,其平均精度提升了2.8%。而且改進(jìn)后的YOLOX 算法與最新的YOLOv6-s 目標(biāo)檢測(cè)算法相比較,在各項(xiàng)評(píng)價(jià)指標(biāo)中都有更好的表現(xiàn)。

    通過(guò)對(duì)RSOD 驗(yàn)證集的目標(biāo)檢測(cè)結(jié)果可視化后,可以發(fā)現(xiàn)改進(jìn)后的YOLOX-S 相比于原算法的具體優(yōu)勢(shì)在于可以降低圖像中目標(biāo)的漏檢和誤檢問(wèn)題,具體的情形如圖10[32]所示。對(duì)于圖10(a)中的2 個(gè)操場(chǎng)只檢測(cè)到一個(gè),圖10(b)中2 個(gè)操場(chǎng)都檢測(cè)到,改進(jìn)后的YOLOX-S 降低了圖像中目標(biāo)的漏檢。圖10(c)中,原YOLOX-S目標(biāo)檢測(cè)結(jié)果誤將類似飛機(jī)形狀的草坪檢測(cè)為飛機(jī),圖10(d)為改進(jìn)后的YOLOX-S 的目標(biāo)檢測(cè)結(jié)果,很明顯改進(jìn)后的YOLOX-S 可以減低目標(biāo)的誤檢。

    圖10 原算法(左)與改進(jìn)后算法(右)目標(biāo)檢測(cè)結(jié)果圖[32]Fig.10 Object detection result of original(left), and improved algorithm(right)[32]

    5.2 梯度差優(yōu)化算法的性能驗(yàn)證實(shí)驗(yàn)

    為驗(yàn)證新的優(yōu)化算法的優(yōu)化效果,使用相同的實(shí)驗(yàn)設(shè)備,分別使用SGDM[16]、Adam[22]、Ada-Belief[25]優(yōu)化算法以及梯度差優(yōu)化算法在RSOD數(shù)據(jù)集訓(xùn)練改進(jìn)后的YOLOX-S 網(wǎng)絡(luò),其中各優(yōu)化器的參數(shù)設(shè)置都為默認(rèn)參數(shù),實(shí)驗(yàn)結(jié)果如表4所示

    表4 相同網(wǎng)絡(luò)不同優(yōu)化算法的實(shí)驗(yàn)結(jié)果Table 4 Experimental results of the same network and different optimization algorithms

    從表4的實(shí)驗(yàn)結(jié)果可以看到,在使用RSOD 數(shù)據(jù)集和相同的網(wǎng)絡(luò)模型條件下,梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法較其他優(yōu)化算法在AP 上有一定的提升,這也表明基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法具有更好的優(yōu)化效果。采用SGDM 訓(xùn)練改進(jìn)后的YOLOX-S 算法相較于Adam 和AdaBelief 算法有一定的優(yōu)勢(shì),但是與基于梯度差自適應(yīng)優(yōu)化算法訓(xùn)練改進(jìn)后的YOLOX-S 網(wǎng)絡(luò)相比較,基于梯度差自適應(yīng)優(yōu)化算法具有更好的AP 提升。

    為驗(yàn)證基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法在其他神經(jīng)網(wǎng)絡(luò)的優(yōu)化結(jié)果,使用該優(yōu)化算法與其他主流的優(yōu)化算法在圖像分類任務(wù)上進(jìn)行實(shí)驗(yàn)比較。在圖像分類任務(wù)中使用CIFAR10 數(shù)據(jù)集[35],分別使用VGG11[36]、ResNet34[37]和DenseNet121[38]經(jīng)典網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),其中各優(yōu)化器的參數(shù)都為默認(rèn)參數(shù),實(shí)驗(yàn)結(jié)果如圖11 所示。

    圖11 CIFAR10 數(shù) 據(jù) 集 在 VGG11、ResNet34 和DenseNet121 的精度曲線Fig.11 Accuracy curves of CIFAR10 datasets in VGG11, ResNet34 and DenseNet121

    從圖11 的精度曲線可以看到不同優(yōu)化算法在CIFAR10 數(shù)據(jù)集和各圖像分類網(wǎng)絡(luò)模型的條件下,本文優(yōu)化算法都具有更好的優(yōu)化表現(xiàn),這也表明本文優(yōu)化算法在不同神經(jīng)網(wǎng)絡(luò)中的優(yōu)化都是有效的。本文優(yōu)化算法在VGG11 網(wǎng)絡(luò)中的表現(xiàn)要明顯優(yōu)于其他優(yōu)化算法,在ResNet34 網(wǎng)絡(luò)中本文的優(yōu)化算法也要優(yōu)于SGDM 和Adam優(yōu)化算法,與AdaBelief 優(yōu)化算法的表現(xiàn)不相上下,在DenseNet121 網(wǎng)絡(luò)中本文的優(yōu)化算法的表現(xiàn)也優(yōu)于SGDM 和Adam 優(yōu)化算法,與AdaBeief優(yōu)化算法相比效果也要好一點(diǎn)。

    6 結(jié) 論

    本文針對(duì)最新的YOLOX 目標(biāo)檢測(cè)算法從3方面做出改進(jìn),設(shè)計(jì)出基于梯度差自適應(yīng)學(xué)習(xí)率的優(yōu)化算法用于改進(jìn)后的YOLOX 網(wǎng)絡(luò)的訓(xùn)練任務(wù),并通過(guò)實(shí)驗(yàn)驗(yàn)證了改進(jìn)后的YOLOX-S 在不同數(shù)據(jù)集的表現(xiàn)要優(yōu)于原YOLOX-S 算法。同時(shí)將基于梯度差自適應(yīng)學(xué)習(xí)率的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法用于其他神經(jīng)網(wǎng)絡(luò)的訓(xùn)練任務(wù),并在不同任務(wù)中進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)驗(yàn)證了基于梯度差自適應(yīng)學(xué)習(xí)率優(yōu)化算法的優(yōu)化表現(xiàn)要優(yōu)于現(xiàn)有的優(yōu)化算法,最后對(duì)本文提出的優(yōu)化算法做出了收斂性證明。未來(lái)將會(huì)在不同大小尺寸的YOLOX 網(wǎng)絡(luò)上進(jìn)行改進(jìn),使用更大的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),并將改進(jìn)的算法應(yīng)用到實(shí)際的目標(biāo)檢測(cè)任務(wù)中去。

    猜你喜歡
    梯度損失神經(jīng)網(wǎng)絡(luò)
    少問(wèn)一句,損失千金
    一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
    胖胖損失了多少元
    一種自適應(yīng)Dai-Liao共軛梯度法
    神經(jīng)網(wǎng)絡(luò)抑制無(wú)線通信干擾探究
    電子制作(2019年19期)2019-11-23 08:42:00
    一類扭積形式的梯度近Ricci孤立子
    玉米抽穗前倒伏怎么辦?怎么減少損失?
    基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
    復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
    一般自由碰撞的最大動(dòng)能損失
    亚洲 国产 在线| 美女午夜性视频免费| 国产精品,欧美在线| 精品免费久久久久久久清纯| 特大巨黑吊av在线直播 | 国产不卡一卡二| 国产精品九九99| 国产精华一区二区三区| 国产又黄又爽又无遮挡在线| 亚洲 欧美 日韩 在线 免费| 久久精品影院6| 久久亚洲真实| 久久精品成人免费网站| 成年人黄色毛片网站| 18禁黄网站禁片午夜丰满| 麻豆av在线久日| 1024手机看黄色片| 非洲黑人性xxxx精品又粗又长| 老司机午夜十八禁免费视频| www国产在线视频色| 日本三级黄在线观看| 夜夜躁狠狠躁天天躁| 在线国产一区二区在线| 亚洲一区中文字幕在线| 精品国产亚洲在线| 久久久久亚洲av毛片大全| 男人舔女人下体高潮全视频| 19禁男女啪啪无遮挡网站| 欧美在线一区亚洲| 国产高清videossex| 老司机在亚洲福利影院| 欧美午夜高清在线| 制服诱惑二区| 精品久久久久久久人妻蜜臀av| 老汉色∧v一级毛片| 99精品欧美一区二区三区四区| 1024视频免费在线观看| www.熟女人妻精品国产| 亚洲成人免费电影在线观看| 国产欧美日韩一区二区三| 男女视频在线观看网站免费 | 亚洲av成人一区二区三| 精品久久久久久,| 日韩视频一区二区在线观看| 91麻豆av在线| 侵犯人妻中文字幕一二三四区| 午夜a级毛片| 免费人成视频x8x8入口观看| 日韩欧美国产在线观看| 精品国产亚洲在线| 欧美性猛交黑人性爽| 在线观看日韩欧美| 国产激情欧美一区二区| 亚洲真实伦在线观看| 国产精品自产拍在线观看55亚洲| 老司机午夜福利在线观看视频| 久久精品亚洲精品国产色婷小说| 两个人免费观看高清视频| 亚洲黑人精品在线| 国产人伦9x9x在线观看| 悠悠久久av| 99在线人妻在线中文字幕| 真人一进一出gif抽搐免费| 久久久久久久久免费视频了| 亚洲专区中文字幕在线| 女生性感内裤真人,穿戴方法视频| 中文字幕人妻熟女乱码| 91九色精品人成在线观看| av中文乱码字幕在线| 国产一区二区三区在线臀色熟女| 婷婷丁香在线五月| 国产亚洲精品久久久久久毛片| 免费av毛片视频| 在线观看午夜福利视频| 中文字幕av电影在线播放| 18禁观看日本| 欧美日韩乱码在线| 亚洲精品国产一区二区精华液| 亚洲av五月六月丁香网| 一区二区日韩欧美中文字幕| 黄频高清免费视频| 午夜成年电影在线免费观看| 在线观看免费视频日本深夜| 亚洲国产欧洲综合997久久, | 波多野结衣av一区二区av| 18禁美女被吸乳视频| 99久久综合精品五月天人人| 国产亚洲av高清不卡| 亚洲第一青青草原| 亚洲成av人片免费观看| 久久久久国产一级毛片高清牌| 老司机福利观看| 亚洲国产精品久久男人天堂| 丁香六月欧美| 国产在线观看jvid| 一本久久中文字幕| 精品卡一卡二卡四卡免费| 国产亚洲精品第一综合不卡| 久久天躁狠狠躁夜夜2o2o| 成熟少妇高潮喷水视频| 亚洲熟女毛片儿| 欧美黑人欧美精品刺激| 美女 人体艺术 gogo| 9191精品国产免费久久| 精品久久久久久,| cao死你这个sao货| 欧美一级a爱片免费观看看 | 好男人电影高清在线观看| 国产精品影院久久| netflix在线观看网站| 婷婷亚洲欧美| 欧美又色又爽又黄视频| 黄片小视频在线播放| 两个人视频免费观看高清| bbb黄色大片| 国产又黄又爽又无遮挡在线| 亚洲国产精品合色在线| 神马国产精品三级电影在线观看 | 亚洲精品国产精品久久久不卡| 视频在线观看一区二区三区| 亚洲第一欧美日韩一区二区三区| 99久久综合精品五月天人人| 九色国产91popny在线| 亚洲va日本ⅴa欧美va伊人久久| 国产真人三级小视频在线观看| 一级片免费观看大全| 中文字幕最新亚洲高清| 男人舔奶头视频| 51午夜福利影视在线观看| 国产久久久一区二区三区| 午夜两性在线视频| 免费高清在线观看日韩| 久久久久精品国产欧美久久久| 亚洲国产高清在线一区二区三 | 一本精品99久久精品77| 亚洲av成人不卡在线观看播放网| 老鸭窝网址在线观看| 久久人妻av系列| 成人av一区二区三区在线看| cao死你这个sao货| 久久 成人 亚洲| 亚洲国产毛片av蜜桃av| 99riav亚洲国产免费| 中文字幕久久专区| 国产一区在线观看成人免费| 丝袜人妻中文字幕| bbb黄色大片| 日本三级黄在线观看| 国产1区2区3区精品| 色老头精品视频在线观看| av天堂在线播放| 国产av不卡久久| 久久久久国内视频| 亚洲欧美精品综合久久99| 99久久99久久久精品蜜桃| 国产高清视频在线播放一区| 88av欧美| 视频在线观看一区二区三区| 色av中文字幕| 香蕉久久夜色| 嫩草影视91久久| 久久香蕉国产精品| 最近在线观看免费完整版| 欧美久久黑人一区二区| 成人国产一区最新在线观看| 这个男人来自地球电影免费观看| 一本综合久久免费| 久久中文看片网| 无人区码免费观看不卡| 又紧又爽又黄一区二区| 国产精品av久久久久免费| 亚洲男人的天堂狠狠| 妹子高潮喷水视频| 日韩av在线大香蕉| 中文字幕久久专区| 日韩欧美一区视频在线观看| 在线看三级毛片| 日韩精品中文字幕看吧| 国产精品日韩av在线免费观看| 亚洲第一欧美日韩一区二区三区| 国产爱豆传媒在线观看 | 成人国语在线视频| 亚洲成人免费电影在线观看| 亚洲七黄色美女视频| 最近最新中文字幕大全电影3 | 18禁裸乳无遮挡免费网站照片 | 日韩 欧美 亚洲 中文字幕| 给我免费播放毛片高清在线观看| 99国产精品一区二区三区| 亚洲,欧美精品.| 免费在线观看亚洲国产| 日本黄色视频三级网站网址| av视频在线观看入口| 人人澡人人妻人| 国产av在哪里看| 久久天躁狠狠躁夜夜2o2o| 成人精品一区二区免费| 亚洲男人天堂网一区| 桃色一区二区三区在线观看| 日韩欧美 国产精品| 国产伦人伦偷精品视频| 精品第一国产精品| www日本黄色视频网| 国产亚洲av嫩草精品影院| 黑人操中国人逼视频| 日韩欧美一区视频在线观看| 国产精品亚洲av一区麻豆| 亚洲国产高清在线一区二区三 | 免费一级毛片在线播放高清视频| 久久精品国产清高在天天线| 91麻豆av在线| 人人妻,人人澡人人爽秒播| 中亚洲国语对白在线视频| 国产1区2区3区精品| 久久精品aⅴ一区二区三区四区| 在线观看免费午夜福利视频| 国产精品亚洲一级av第二区| 国产伦人伦偷精品视频| 怎么达到女性高潮| 国产一卡二卡三卡精品| 好男人在线观看高清免费视频 | 国内少妇人妻偷人精品xxx网站 | 老司机福利观看| 欧美精品啪啪一区二区三区| 搡老岳熟女国产| 99国产精品一区二区蜜桃av| 国产片内射在线| 久久国产精品影院| 国产欧美日韩一区二区三| 在线观看午夜福利视频| 91大片在线观看| 亚洲电影在线观看av| 亚洲av美国av| 欧美色视频一区免费| 成人欧美大片| 神马国产精品三级电影在线观看 | 亚洲第一欧美日韩一区二区三区| 神马国产精品三级电影在线观看 | 日韩欧美在线二视频| 免费无遮挡裸体视频| 美女午夜性视频免费| 99精品欧美一区二区三区四区| 国内精品久久久久精免费| 亚洲中文字幕日韩| 亚洲av美国av| 欧美日韩一级在线毛片| 波多野结衣巨乳人妻| 18禁观看日本| 淫秽高清视频在线观看| 日本撒尿小便嘘嘘汇集6| 9191精品国产免费久久| 波多野结衣av一区二区av| 最近最新中文字幕大全免费视频| 婷婷丁香在线五月| 麻豆成人av在线观看| 国产成年人精品一区二区| 中出人妻视频一区二区| 一进一出抽搐gif免费好疼| 亚洲五月天丁香| 91在线观看av| 国产午夜精品久久久久久| 亚洲第一电影网av| 欧美在线黄色| 欧美中文日本在线观看视频| 此物有八面人人有两片| 久久久国产成人免费| 亚洲色图av天堂| 99国产综合亚洲精品| 啦啦啦观看免费观看视频高清| avwww免费| 老司机午夜十八禁免费视频| 老熟妇仑乱视频hdxx| 成在线人永久免费视频| 亚洲男人的天堂狠狠| 精品国产亚洲在线| 欧美日本亚洲视频在线播放| 天堂动漫精品| 欧美色视频一区免费| 久久 成人 亚洲| 午夜福利18| 成人午夜高清在线视频 | av欧美777| 给我免费播放毛片高清在线观看| 国产99久久九九免费精品| 欧美+亚洲+日韩+国产| 午夜亚洲福利在线播放| 日韩欧美在线二视频| 久久久久久免费高清国产稀缺| 91成年电影在线观看| 精品午夜福利视频在线观看一区| 自线自在国产av| 青草久久国产| 欧美三级亚洲精品| 色综合站精品国产| 真人一进一出gif抽搐免费| 黄色视频,在线免费观看| 国产成人一区二区三区免费视频网站| 亚洲av中文字字幕乱码综合 | cao死你这个sao货| 久久久久精品国产欧美久久久| 久久婷婷成人综合色麻豆| 久久中文字幕一级| www.精华液| 999精品在线视频| av在线天堂中文字幕| 精品日产1卡2卡| 国产午夜福利久久久久久| 亚洲狠狠婷婷综合久久图片| 国产精品 欧美亚洲| 18禁观看日本| 日本一区二区免费在线视频| 国产爱豆传媒在线观看 | 看免费av毛片| 国产精品二区激情视频| xxx96com| 免费在线观看完整版高清| 99热这里只有精品一区 | 日韩精品中文字幕看吧| av视频在线观看入口| 久久精品亚洲精品国产色婷小说| 免费观看人在逋| 日日夜夜操网爽| 久久精品aⅴ一区二区三区四区| 最近最新免费中文字幕在线| 制服人妻中文乱码| 嫩草影视91久久| 女性生殖器流出的白浆| 色综合欧美亚洲国产小说| 亚洲国产高清在线一区二区三 | 亚洲免费av在线视频| 精品不卡国产一区二区三区| 亚洲精品美女久久av网站| 国产亚洲欧美98| 欧美成人午夜精品| 欧美性猛交黑人性爽| √禁漫天堂资源中文www| 久久久久久人人人人人| 性色av乱码一区二区三区2| 国产人伦9x9x在线观看| 国产野战对白在线观看| 大香蕉久久成人网| 一本综合久久免费| 在线免费观看的www视频| www.精华液| 午夜a级毛片| 国产亚洲欧美精品永久| 久久精品aⅴ一区二区三区四区| 成人三级做爰电影| 日韩 欧美 亚洲 中文字幕| 久久精品国产99精品国产亚洲性色| 男人舔奶头视频| 99久久国产精品久久久| 国产精品久久久久久亚洲av鲁大| 欧美色欧美亚洲另类二区| 神马国产精品三级电影在线观看 | 午夜久久久在线观看| 91字幕亚洲| 欧美激情高清一区二区三区| 熟女少妇亚洲综合色aaa.| 亚洲精品中文字幕在线视频| 黄频高清免费视频| 精品第一国产精品| 国产爱豆传媒在线观看 | 久久性视频一级片| 久久精品亚洲精品国产色婷小说| 亚洲第一青青草原| 在线av久久热| 国产一区二区三区视频了| av视频在线观看入口| 成人欧美大片| 男女做爰动态图高潮gif福利片| 99热6这里只有精品| 精品少妇一区二区三区视频日本电影| 欧美激情高清一区二区三区| 啦啦啦观看免费观看视频高清| 精品国产一区二区三区四区第35| 欧洲精品卡2卡3卡4卡5卡区| 91麻豆精品激情在线观看国产| 日本在线视频免费播放| 亚洲,欧美精品.| 亚洲人成网站高清观看| 天堂动漫精品| 一级毛片高清免费大全| 亚洲人成77777在线视频| 亚洲国产欧美网| 国产精品自产拍在线观看55亚洲| 免费在线观看视频国产中文字幕亚洲| 性色av乱码一区二区三区2| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲av美国av| 日日夜夜操网爽| 国产亚洲欧美在线一区二区| 韩国av一区二区三区四区| av在线天堂中文字幕| 久久久久九九精品影院| 女同久久另类99精品国产91| 国产色视频综合| 999久久久精品免费观看国产| 久久性视频一级片| 老熟妇仑乱视频hdxx| 国产成人一区二区三区免费视频网站| 国产亚洲精品第一综合不卡| 亚洲精品国产一区二区精华液| 男女做爰动态图高潮gif福利片| 天堂影院成人在线观看| 日本精品一区二区三区蜜桃| 看免费av毛片| 天天添夜夜摸| 色婷婷久久久亚洲欧美| 亚洲五月天丁香| 精品不卡国产一区二区三区| 后天国语完整版免费观看| 色哟哟哟哟哟哟| 最近在线观看免费完整版| 亚洲专区中文字幕在线| 男人的好看免费观看在线视频 | 91麻豆精品激情在线观看国产| 色播亚洲综合网| 观看免费一级毛片| 大型黄色视频在线免费观看| 国产亚洲精品久久久久5区| 国产成人av激情在线播放| 午夜福利欧美成人| aaaaa片日本免费| 动漫黄色视频在线观看| 亚洲黑人精品在线| 国产伦在线观看视频一区| 变态另类丝袜制服| 黄色丝袜av网址大全| 日韩成人在线观看一区二区三区| 麻豆国产av国片精品| 日本成人三级电影网站| 国产成人精品久久二区二区91| 看黄色毛片网站| 亚洲av美国av| svipshipincom国产片| 国产成人系列免费观看| 日韩一卡2卡3卡4卡2021年| 麻豆久久精品国产亚洲av| 日韩大码丰满熟妇| 欧美激情久久久久久爽电影| 亚洲国产精品成人综合色| 久久国产精品影院| 欧美日韩一级在线毛片| 亚洲国产毛片av蜜桃av| 中文字幕最新亚洲高清| 琪琪午夜伦伦电影理论片6080| 国产伦一二天堂av在线观看| 久久精品91无色码中文字幕| 国产精品综合久久久久久久免费| 欧美日韩精品网址| 欧美成人一区二区免费高清观看 | 色老头精品视频在线观看| 亚洲精品久久国产高清桃花| 国产高清视频在线播放一区| 欧美中文日本在线观看视频| 久久精品国产清高在天天线| 真人做人爱边吃奶动态| 久久精品国产亚洲av高清一级| 精品少妇一区二区三区视频日本电影| 精品熟女少妇八av免费久了| 搡老岳熟女国产| 级片在线观看| 亚洲中文av在线| 国产亚洲精品一区二区www| 欧美zozozo另类| 一区二区三区激情视频| 久久这里只有精品19| 啦啦啦免费观看视频1| 国产久久久一区二区三区| 亚洲国产欧洲综合997久久, | 最近最新免费中文字幕在线| 日韩欧美 国产精品| 午夜激情福利司机影院| 国产一区在线观看成人免费| 黑人欧美特级aaaaaa片| 黄色视频,在线免费观看| 国产乱人伦免费视频| 1024手机看黄色片| 亚洲国产毛片av蜜桃av| 观看免费一级毛片| 天堂√8在线中文| xxx96com| 国产一卡二卡三卡精品| 亚洲国产精品久久男人天堂| 国产高清激情床上av| 可以免费在线观看a视频的电影网站| 亚洲真实伦在线观看| 国产麻豆成人av免费视频| 欧美亚洲日本最大视频资源| 成人手机av| 亚洲中文字幕日韩| 日韩大码丰满熟妇| 色婷婷久久久亚洲欧美| 香蕉丝袜av| 人人妻人人看人人澡| 亚洲成av片中文字幕在线观看| 丰满人妻熟妇乱又伦精品不卡| 免费看a级黄色片| 久久这里只有精品19| 天天躁夜夜躁狠狠躁躁| 欧美人与性动交α欧美精品济南到| 亚洲精品在线美女| 这个男人来自地球电影免费观看| 免费无遮挡裸体视频| 黄频高清免费视频| 中文字幕精品免费在线观看视频| 亚洲av电影在线进入| 黄色毛片三级朝国网站| 亚洲成av片中文字幕在线观看| 中文在线观看免费www的网站 | 黄片小视频在线播放| 成人18禁高潮啪啪吃奶动态图| 亚洲激情在线av| 中文字幕最新亚洲高清| 在线永久观看黄色视频| 欧美国产日韩亚洲一区| 草草在线视频免费看| 亚洲第一电影网av| 久久久水蜜桃国产精品网| 欧美绝顶高潮抽搐喷水| 男人的好看免费观看在线视频 | 国产亚洲精品久久久久5区| 女同久久另类99精品国产91| 在线看三级毛片| 香蕉av资源在线| 国产亚洲精品综合一区在线观看 | 天堂影院成人在线观看| 90打野战视频偷拍视频| 黄色成人免费大全| 99久久国产精品久久久| 亚洲片人在线观看| 成人一区二区视频在线观看| 精品免费久久久久久久清纯| 国产一级毛片七仙女欲春2 | 国产蜜桃级精品一区二区三区| 午夜免费鲁丝| 51午夜福利影视在线观看| 夜夜看夜夜爽夜夜摸| av片东京热男人的天堂| 亚洲成人国产一区在线观看| 成人永久免费在线观看视频| 午夜精品在线福利| 美女午夜性视频免费| 可以在线观看毛片的网站| 欧美zozozo另类| 国内少妇人妻偷人精品xxx网站 | e午夜精品久久久久久久| 久久中文看片网| 久久精品亚洲精品国产色婷小说| 成年人黄色毛片网站| 亚洲第一av免费看| 可以在线观看毛片的网站| 国产精品久久久久久人妻精品电影| 欧美亚洲日本最大视频资源| 久久久久国产一级毛片高清牌| 国产精品二区激情视频| 又黄又爽又免费观看的视频| 久久久国产成人免费| 99re在线观看精品视频| 窝窝影院91人妻| 亚洲国产精品成人综合色| 欧美一区二区精品小视频在线| 成人三级做爰电影| 国产精品九九99| 老司机在亚洲福利影院| 久久久久九九精品影院| 身体一侧抽搐| 操出白浆在线播放| 精品久久久久久,| 国产激情久久老熟女| 久久精品国产清高在天天线| 亚洲欧美日韩高清在线视频| 久久久水蜜桃国产精品网| 亚洲中文日韩欧美视频| 久久中文字幕人妻熟女| 日本熟妇午夜| 丝袜人妻中文字幕| 久久久久久人人人人人| 国产区一区二久久| 日本 av在线| 看免费av毛片| 制服丝袜大香蕉在线| 欧美日韩精品网址| 大香蕉久久成人网| 老熟妇仑乱视频hdxx| 天天添夜夜摸| 免费在线观看视频国产中文字幕亚洲| 国产高清有码在线观看视频 | 日本一本二区三区精品| 19禁男女啪啪无遮挡网站| 91在线观看av| 99久久无色码亚洲精品果冻| 国产午夜福利久久久久久| 中文字幕精品亚洲无线码一区 | 国产精品久久久久久人妻精品电影| 亚洲三区欧美一区| 国产熟女午夜一区二区三区| 欧美又色又爽又黄视频| 国产成人欧美在线观看| 色综合亚洲欧美另类图片| 国产熟女xx| 亚洲色图 男人天堂 中文字幕| 一a级毛片在线观看| 亚洲中文日韩欧美视频| 久久久久九九精品影院| 国产在线观看jvid| 成人欧美大片| 欧美成人一区二区免费高清观看 | 亚洲av成人不卡在线观看播放网| xxx96com| 亚洲国产精品成人综合色| 男女午夜视频在线观看| 成人一区二区视频在线观看| www.www免费av|