• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于嵌入式平臺的航拍目標(biāo)智能識別

      2022-12-01 02:05:20田祥瑞賈茚鈞
      計算機(jī)測量與控制 2022年11期
      關(guān)鍵詞:嵌入式卷積深度

      田祥瑞,賈茚鈞,羅 欣,尹 婕,徐 鵬

      (1.南京航空航天大學(xué) 自動化學(xué)院,南京 210016;2.中國電子科技南湖研究院,浙江 嘉興 314001)

      0 引言

      無人機(jī)具有成本低、靈活性高等優(yōu)點(diǎn),通過無人機(jī)航拍,可以彌補(bǔ)衛(wèi)星和載人航空遙感技術(shù)對近地低空小目標(biāo)進(jìn)行偵測監(jiān)控的不足[1]。因此無人機(jī)在民用領(lǐng)域和軍事領(lǐng)域得到了廣泛應(yīng)用。在軍事領(lǐng)域,無人機(jī)智能識別可以用于對地面軍事目標(biāo)進(jìn)行偵察跟蹤,也可以負(fù)載武器對目標(biāo)進(jìn)行自主打擊。無人機(jī)通過識別算法發(fā)現(xiàn)目標(biāo)后,保持安全距離對目標(biāo)進(jìn)行隱蔽跟蹤偵察,和傳統(tǒng)的使用車輛或人員進(jìn)行跟蹤的方式相比,無人機(jī)可以實(shí)現(xiàn)低成本、零傷亡的智能識別。在民用領(lǐng)域,融合目標(biāo)識別算法后,無人機(jī)可以用于監(jiān)測農(nóng)作物生長情況,搶險救災(zāi),對被困人員進(jìn)行搜救,加快救援速度,在罪犯逃逸時也可以使用無人機(jī)進(jìn)行追蹤搜捕等,具有非常好的應(yīng)用前景。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)、人工智能的拓展方向,通過模仿人類思想,自適應(yīng)處理數(shù)據(jù),探尋數(shù)據(jù)信息的內(nèi)在規(guī)律、表述形式等,為系統(tǒng)運(yùn)行提供數(shù)據(jù)支撐。在此背景下,目標(biāo)識別技術(shù)的實(shí)現(xiàn)可依靠深度學(xué)習(xí)技術(shù),對目標(biāo)進(jìn)行精細(xì)化辨別,提高目標(biāo)識別與處理的精確性,為系統(tǒng)操作提供可靠性依據(jù)?;谏疃葘W(xué)習(xí)的目標(biāo)識別技術(shù)已經(jīng)成為當(dāng)下研究熱點(diǎn),但基于深度學(xué)習(xí)的方法對硬件計算能力要求高,由于無人機(jī)帶負(fù)載能力有限,無人機(jī)機(jī)載計算機(jī)通常采用功耗低、可靠性高的嵌入式設(shè)備[2]。常見的無人機(jī)機(jī)載計算機(jī)如樹莓派、NVIDIA Jetson Nano、NVIDIA Jetson TX2等設(shè)備。其中,性能最強(qiáng)的NVIDIA Jetson TX2包含兩個CPU,配有256個NVIDIA CUDA核心的GPU,主頻最高1.12 GHz,而搭載NVIDIA GeForce GTX 1080 GPU的臺式服務(wù)器,就擁有256個CUDA核心,主頻最高2.8 GHz。因此,嵌入式平臺性能遠(yuǎn)遠(yuǎn)低于實(shí)驗(yàn)室中的服務(wù)器,對深度學(xué)習(xí)算法推理速度有直接的影響[3]。現(xiàn)有算法大都在實(shí)驗(yàn)室中以達(dá)到最高準(zhǔn)確率為目的,而在嵌入式平臺上直接使用現(xiàn)有深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行快速識別實(shí)時性較差,需要對網(wǎng)絡(luò)進(jìn)行輕量化改進(jìn)以提高推理速度。

      雖然傳統(tǒng)的目標(biāo)檢測算法運(yùn)算速度快,如SIFT、SURF和HOG等,但需要人工設(shè)計特征,將設(shè)計的特征在圖像上以滑動窗口的方式,進(jìn)行特征提取,然后對每類物體單獨(dú)訓(xùn)練淺層分類器,完成目標(biāo)的識別,這樣的方式導(dǎo)致傳統(tǒng)算法檢測精度和適應(yīng)性較差[4]。2012年Hinton教授所帶領(lǐng)的團(tuán)隊(duì)利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)設(shè)計了AlexNet網(wǎng)絡(luò)[5],在2012年的ImageNet競賽中取得冠軍,CNN遂成為熱點(diǎn)研究方向。目前,CNN在圖像分類、目標(biāo)識別、目標(biāo)跟蹤等計算機(jī)視覺領(lǐng)域取得了重大應(yīng)用[6],其基本原理是利用圖像卷積進(jìn)行深層次特征的提取,進(jìn)而實(shí)現(xiàn)目標(biāo)分類與定位?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法主要分為兩大類,一類是先通過Selective Search、Edge Boxes[7]等算法進(jìn)行候選區(qū)域的搜索,再進(jìn)行特征提取與目標(biāo)檢測,代表算法有R-CNN、Fast R-CNN及Faster R-CNN[8-10]等,該類算法精度較高,但速度慢,難以應(yīng)用于無人機(jī)嵌入式計算平臺進(jìn)行實(shí)時目標(biāo)檢測。另一類是直接進(jìn)行特征提取來實(shí)現(xiàn)目標(biāo)的分類與邊界框回歸,代表算法有YOLO(you only look once, YOLO)[11]系列算法及SSD[12]算法等,該類算法速度相比兩階段算法得到了提升,與對實(shí)時性要求較高的無人機(jī)目標(biāo)檢測較為契合。目前的目標(biāo)識別在人臉識別、行人檢測這些面向自然場景圖像的任務(wù)中,應(yīng)用已經(jīng)非常成熟。但由于近地低空的無人機(jī)成像視角不同,無人機(jī)機(jī)載計算機(jī)算力低,無人機(jī)圖像中的目標(biāo)尺度變化大,且小目標(biāo)的比例遠(yuǎn)高于自然場景圖像,直接將現(xiàn)有算法應(yīng)用于無人機(jī)航拍目標(biāo)識別效果較差。同時現(xiàn)有算法應(yīng)用無人機(jī)進(jìn)行俯視小目標(biāo)進(jìn)行偵測時,存在精度不高、在嵌入式平臺上運(yùn)行速度慢等缺點(diǎn)。因此,研究適用于無人機(jī)的小目標(biāo)識別算法有著重要意義。

      本文首先介紹了YOLO系列算法基本原理[13],然后針對在嵌入式平臺上的實(shí)時運(yùn)行,對YOLOv4進(jìn)行了網(wǎng)絡(luò)優(yōu)化分析與改進(jìn),在機(jī)載嵌入式平臺上進(jìn)行了改進(jìn)算法的驗(yàn)證。

      1 YOLO系列算法原理

      兩階段算法由于需要先生成候選區(qū)域,使得算法實(shí)時性差,為改善該問題,基于回歸理念,對圖像目標(biāo)位置和類別直接進(jìn)行回歸預(yù)測。YOLOv1直接將輸入圖片分為S*S的小塊,每個小塊預(yù)測B個邊界框(bounding box,BBox),采用BBox的置信度confidence反映模型對該BBox的預(yù)測的準(zhǔn)確率,計算公式如式(1),其中,Pr(Object)代表是否存在目標(biāo),若存在,則confidence為真實(shí)值(truth)和預(yù)測值(pred)的交并比(IOU),若不存在,則置信度為0。

      (1)

      在推理階段,每個BBox都要預(yù)測目標(biāo)位置、置信度和C個類別信息,輸出S*S(5*B+C)的張量。類別信息與置信度相乘,按式(2)計算得分csc,將得分低于設(shè)置閾值的結(jié)果直接濾除,對剩余的預(yù)測結(jié)果進(jìn)行非極大值抑制(NMS)處理,得到識別結(jié)果。

      (2)

      (3)

      (4)

      YOLOv2設(shè)計了一個新的骨干網(wǎng)絡(luò)結(jié)構(gòu)Darknet-19,通過前后特征融合,增強(qiáng)了網(wǎng)絡(luò)對小目標(biāo)的識別能力[14]。借鑒Faster R-CNN的anchor機(jī)制,使用Kmeans聚類算法得到大小合適的anchor。YOLOv2將輸入圖像提取為13*13大小的特征圖,對特征圖的每個網(wǎng)格進(jìn)行預(yù)測BBox,如圖1所示,每個BBox預(yù)測邊界框的位置信息(tx,ty,tw,th)和置信度to,tx,ty經(jīng)Sigmoid函數(shù)映射到0到1之間,將預(yù)測中心固定在cell內(nèi),使得模型更加穩(wěn)定,cx,cy表示該cell距離特征圖左上角坐標(biāo)的距離,pw,ph代表anchor的寬高,bx,by,bw,bh代表最后基于anchor得到的預(yù)測結(jié)果。計算公式如(4)所示,式中σ代表Sigmoid函數(shù)。

      圖1 基于anchor的位置預(yù)測示意圖

      YOLOv3借鑒深度殘差網(wǎng)絡(luò)和特征圖金字塔的思想,使用了FPN[15],用不同尺度的特征圖來檢測目標(biāo),設(shè)計了主干網(wǎng)絡(luò)Darknet-53,Darknet-53比ResNet-101[16]準(zhǔn)確率提高了0.1%,速度提高了1.47倍[17],在理論上,YOLOv3沒有太多的改進(jìn)。

      YOLOv4由Alexey Bochkovskiy在2020年改進(jìn)完成,是一個端到端的一階段網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。YOLOv4設(shè)計了新的骨干網(wǎng)絡(luò)CSPDarknet53,該骨干網(wǎng)絡(luò)與Darknet53相比,在每個Resblock中,增加了新的跨層連接,提高了網(wǎng)絡(luò)準(zhǔn)確率。與YOLOv3一樣,融合了前后特征圖的信息,并用多個尺度特征圖來識別目標(biāo),如圖2中PANet部分所示,最后,增加了空間金字塔(spatial pyramid pooling,SPP)模塊,擴(kuò)展了模型的感受野[18],進(jìn)一步提高識別準(zhǔn)確率。在數(shù)據(jù)增強(qiáng)方面采用了CutMix,提出了Mosaic等數(shù)據(jù)增強(qiáng)方法,CutMix通過將兩張圖按隨機(jī)比例進(jìn)行混合,可有效改善密集目標(biāo)識別中的目標(biāo)重疊導(dǎo)致識別率低的問題[19];Mosaic則通對4張圖片按照隨機(jī)縮放、隨機(jī)裁剪和隨機(jī)排布的方式進(jìn)行拼接,增強(qiáng)小目標(biāo)識別效。此外,融合了目標(biāo)檢測領(lǐng)域最新的定位損失函數(shù)CloU loss,有效指導(dǎo)網(wǎng)絡(luò)訓(xùn)練[20],采用了Mish激活函數(shù),增強(qiáng)了網(wǎng)絡(luò)的非線性表達(dá)能力[21]。融合多種方法的YOLOv4在精度上得到了極大的提高,但由于網(wǎng)絡(luò)模型更大,對硬件的要求也進(jìn)一步提高,在嵌入式平臺上存在推理速度慢,計算資源占用率高的問題。

      圖2 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)圖

      2 YOLOv4骨干網(wǎng)絡(luò)優(yōu)化設(shè)計

      YOLOv4主要應(yīng)用于平視視角下常規(guī)尺寸的目標(biāo)識別,無人機(jī)俯視目標(biāo)較小,使用YOLOv4直接檢測,存在浪費(fèi)計算資源用于檢測大目標(biāo)、容易丟失小目標(biāo)細(xì)節(jié)信息的問題。分別從網(wǎng)絡(luò)深度和網(wǎng)絡(luò)寬度兩個方面,改進(jìn)設(shè)計適用于小目標(biāo)識別的YOLOv4骨干網(wǎng)絡(luò),以提高網(wǎng)絡(luò)準(zhǔn)確率和速度。

      2.1 網(wǎng)絡(luò)輕量化分析

      卷積神經(jīng)網(wǎng)絡(luò)通過使用卷積核對圖像特征進(jìn)行提取,在深度學(xué)習(xí)中,卷積核的參數(shù)通過訓(xùn)練得到,將得到合適參數(shù)的卷積核對輸入圖像進(jìn)行處理。如圖3所示,對相同輸入,不同參數(shù)的卷積核會產(chǎn)生不同的特征圖(feature map),有的卷積核類似高通濾波器,通過銳化后可以增強(qiáng)細(xì)節(jié)信息的圖像;有的卷積核類似低通濾波器,通過模糊圖像,減少圖像細(xì)節(jié)突出重要信息,有的對水平或豎直的紋理信息敏感,而有的對顏色信息敏感。

      圖3 不同卷積核提取的特征圖

      單層卷積核的數(shù)量稱為卷積層的通道數(shù),也叫網(wǎng)絡(luò)寬度,網(wǎng)絡(luò)的寬度越寬可以提取到更多的特征,幫助算法更好的進(jìn)行決策。任何勒貝格可積函數(shù)不能被寬度小于n的ReLU(rectifiedLinear units,ReLU)網(wǎng)絡(luò)逼近[22],如式(5)所示:

      (5)

      因此,網(wǎng)絡(luò)需要保證一定的寬度,才能實(shí)現(xiàn)對復(fù)雜問題的求解,但隨著網(wǎng)絡(luò)寬度增加計算量呈指數(shù)增加,使得算法實(shí)時性變差。所以,需要對特定問題,設(shè)計與其復(fù)雜度相匹配的網(wǎng)絡(luò),以實(shí)現(xiàn)速度與精度的平衡。

      單層網(wǎng)絡(luò)雖然可以提取到豐富的特征,但無法完成信息的整合,并且由于單層神經(jīng)網(wǎng)絡(luò)不具備處理非線性問題的能力,因此需要采用深度神經(jīng)網(wǎng)絡(luò)。理論上,一個兩層的網(wǎng)絡(luò)可以擬合任意有界連續(xù)函數(shù),但該變換過于復(fù)雜,使得網(wǎng)絡(luò)難以收斂,且需要非常寬的網(wǎng)絡(luò),所以,需要通過加深網(wǎng)絡(luò)深度,將復(fù)雜問題逐層分解,降低每一層的變換難度,使網(wǎng)絡(luò)更加容易訓(xùn)練。研究發(fā)現(xiàn)深度網(wǎng)絡(luò)中的淺層卷積神經(jīng)網(wǎng)絡(luò)先對圖像簡單的邊緣等信息進(jìn)行學(xué)習(xí),中間層則學(xué)習(xí)到了簡單形狀,高層學(xué)習(xí)目標(biāo)的具體形狀,深度越深,可以提取到更高級的語義信息。但由于通過卷積層不斷的對信息的提煉,會造成位置等細(xì)節(jié)信息的丟失,尤其在針對小目標(biāo)時,網(wǎng)絡(luò)過深會導(dǎo)致目標(biāo)定位信息丟失,從而難以進(jìn)行目標(biāo)識別。所以,網(wǎng)絡(luò)并不是越深越好,同樣需要針對特定問題設(shè)計網(wǎng)絡(luò)的深度。

      深度和寬度會影響最終的模型大小和推理速度,可根據(jù)公式(6)進(jìn)行測算:

      (6)

      其中:Co、Ci分別為輸出輸入特征圖通道數(shù),k為卷積核大小,W、H為特征圖寬與高,各卷積層的參數(shù)量(params)決定了模型的大小,推理速度則主要由各卷積層的計算量(FLOPs)決定。因此,針對特定應(yīng)用場景,通過對網(wǎng)絡(luò)深度與寬度進(jìn)行優(yōu)化設(shè)計,可在確保精度的前提下提升網(wǎng)絡(luò)的運(yùn)算速度。

      2.2 針對小目標(biāo)識別的網(wǎng)絡(luò)深度改進(jìn)

      無人機(jī)通過俯視拍攝目標(biāo),由于距離較遠(yuǎn),使得目標(biāo)在圖像中所占像元較少,若采用較深的卷積神經(jīng)網(wǎng)絡(luò)雖然可提取到更高級的語義信息,但會造成小目標(biāo)空間信息的丟失。YOLOv4在提取圖像的過程中,先將640*640的原始圖像提取為20*20的特征圖,即縮小了32倍,網(wǎng)絡(luò)難以識別32*32像素及以下尺寸的目標(biāo),對近似尺寸的小目標(biāo)即使能進(jìn)行類別預(yù)測,也不能對目標(biāo)位置進(jìn)行準(zhǔn)確回歸。

      針對目標(biāo)細(xì)節(jié)信息丟失導(dǎo)致算法準(zhǔn)確率低的問題,首先,對圖2中原始骨干網(wǎng)絡(luò)進(jìn)行分析,圖2中原始骨干網(wǎng)絡(luò)最后兩個Resblock主要用于中型尺寸目標(biāo)的特征提取,這是造成小目標(biāo)信息丟失的主要原因,所以將殘差塊Resblock4舍去。其次,由于原網(wǎng)絡(luò)中路徑聚合網(wǎng)絡(luò)(PANnet)中特征圖經(jīng)三次降采樣再上采樣,該過程雖最終將特征圖恢復(fù)為原大小,但在恢復(fù)過程中采用線性插值完成,使得特征圖變模糊,影響網(wǎng)絡(luò)檢測小目標(biāo),因此將檢測器適當(dāng)提前。然后,為提高識別精度,在網(wǎng)絡(luò)中加入SPP模塊,并在之后使用10個卷積層進(jìn)行特征的提取。最后,通過三個尺度的檢測器完成檢測,改進(jìn)后的網(wǎng)絡(luò)如圖4所示。

      圖4 深度改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)

      將改進(jìn)后的網(wǎng)絡(luò)在公開數(shù)據(jù)集VisDrone[23]上進(jìn)行訓(xùn)練,VisDrone由天津大學(xué)的AISKYYE團(tuán)隊(duì)進(jìn)行搜集制作,是一個包含了目標(biāo)識別、目標(biāo)跟蹤、人群計數(shù)等多個方向的數(shù)據(jù)集。該數(shù)據(jù)集標(biāo)注了超過260萬個邊界框,其中目標(biāo)識別方向共有10209張圖像,包含了10個類別,分別為:行人、人、汽車、面包車、公共汽車、卡車、摩托車、自行車、遮陽篷三輪車和三輪車。采用的訓(xùn)練平臺為Inter Core i7-8700CPU,NVIDIA GeForce GT 1080,Ubuntu18.04 TS。網(wǎng)絡(luò)框架基于Darknet。采用CUDA、cuDNN對計算進(jìn)行加速,安裝OpenCV環(huán)境實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)。搭建好軟件環(huán)境后,對神經(jīng)網(wǎng)絡(luò)超參數(shù)進(jìn)行設(shè)置。首先,有關(guān)權(quán)重更新方式,批量梯度下降每次更新都需要把所有樣本輸入,得到誤差后對網(wǎng)絡(luò)權(quán)重進(jìn)行一次更新,兼顧了所有樣本的情況,可以得到全局最優(yōu)解,但當(dāng)訓(xùn)練樣本很多的時候,由于每一次迭代都需要對所有樣本進(jìn)行計算,訓(xùn)練會很慢。小批量梯度下降對多個樣本,只更新一次權(quán)重,這樣的更新方式可以使網(wǎng)絡(luò)大致朝著全局最優(yōu)的方向迭代,也可以解決批量梯度下降訓(xùn)練慢的問題。本文選擇了小批量算法作為權(quán)重更新方式,批量(batch)設(shè)置為64,分解系數(shù)(subdivision)設(shè)置為64。采用動量法,將動量法中的momentum設(shè)置為0.9。其次,對訓(xùn)練樣本進(jìn)行數(shù)據(jù)增強(qiáng),數(shù)據(jù)增強(qiáng)可以增加訓(xùn)練樣本,得到更好的訓(xùn)練效果,同時還能防止模型過擬合問題。主要包含把圖片隨機(jī)旋轉(zhuǎn)-90度到+90來增加訓(xùn)練樣本的數(shù)量,將saturation設(shè)置為1.5,exposure設(shè)置為1.5,hue設(shè)置為0.1,分別對原始圖像做飽和度、曝光度和色調(diào)進(jìn)行隨機(jī)調(diào)整,采用了mosaic數(shù)據(jù)增強(qiáng),該方法通過將多張圖片進(jìn)行裁剪再拼接到一張圖上作為訓(xùn)練數(shù)據(jù),有利于豐富目標(biāo)背景和小目標(biāo)檢測。最后,使用預(yù)訓(xùn)練權(quán)重對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,學(xué)習(xí)率設(shè)置為0.001 3,并將最大訓(xùn)練輪數(shù)設(shè)置為20 000,學(xué)習(xí)率分別在第12 000、18 000輪時降低為原來的十分之一。訓(xùn)練完成后,在大疆機(jī)載計算機(jī)Manifold-2G上對算法進(jìn)行測試,Manifold-2G的處理器是英偉達(dá)研發(fā)的Jetson TX2,擁有256個CUDA計算核心的GPU,CPU復(fù)雜部分由兩個ARM v8 64位CPU集群組成。軟件系統(tǒng)為Ubuntu 16.04,安裝了CUDA9、OpenCV3.0。本文測試都是在Manifold-2G上進(jìn)行,后續(xù)不再加以說明。對算法基于默認(rèn)參數(shù)進(jìn)行測試,深度改進(jìn)測試結(jié)果如表1所示。

      表1 深度改進(jìn)實(shí)驗(yàn)結(jié)果

      測試結(jié)果表明在針對俯視視角小目標(biāo)進(jìn)行網(wǎng)絡(luò)改進(jìn)后,準(zhǔn)確率提高了3.2%,網(wǎng)絡(luò)參數(shù)量減少為原網(wǎng)絡(luò)的15%,表明了算法改進(jìn)的有效性。但其計算量僅降低36 BFLOPs,改進(jìn)算法運(yùn)行速度提升依然較小,需要在網(wǎng)絡(luò)寬度方面繼續(xù)改進(jìn)。

      2.3 網(wǎng)絡(luò)寬度改進(jìn)

      在2.2節(jié)對網(wǎng)絡(luò)深度的改進(jìn)中,計算量僅降低36 BFLOPs,改進(jìn)算法運(yùn)行速度提升較小。通過分析,這是由于將檢測器關(guān)聯(lián)層提前,在降低模型大小的同時,使得通道數(shù)較多的卷積層用于處理較大的特征圖。根據(jù)公式(7)可知這將使模型的計算量大大增加,使得網(wǎng)絡(luò)加速并不明顯。由于俯視視角目標(biāo)特征相對一致,在保證一定精度的同時,可通過適當(dāng)減少網(wǎng)絡(luò)寬度,實(shí)現(xiàn)網(wǎng)絡(luò)的加速。

      寬度改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,首先將圖4中最后的Resblock通道數(shù)由512降低為256,可降低該Resblock的4倍計算量;其次,因?yàn)镾PP模塊使通道數(shù)增大四倍,導(dǎo)致SPP模塊后的卷積層計算量和參數(shù)量增大。因此,在SPP模塊之前先通過一次下采樣(downsample),將特征圖大小由原來的80*80變?yōu)?0*40,使得downsample到上采樣(upsample)之間的計算量降低4倍;最后,通過一次上采樣將特征圖恢復(fù)為原大小,由于下采樣操作僅將特征圖大小變?yōu)?0*40,并不影響小目標(biāo)識別,且有效減少了計算量和參數(shù)量。

      圖5 寬度改進(jìn)后網(wǎng)絡(luò)結(jié)構(gòu)

      將改進(jìn)后的網(wǎng)絡(luò)再次在數(shù)據(jù)集VisDrone上進(jìn)行了相關(guān)測試,測試結(jié)果如表2所示。從測試結(jié)果看出,改進(jìn)后的骨干網(wǎng)絡(luò)在無人機(jī)視角小目標(biāo)識別任務(wù)中,參數(shù)量減少為原網(wǎng)絡(luò)的10.4%,精度提高了2.7%,推理速度是原網(wǎng)絡(luò)的1.8倍。但由于網(wǎng)絡(luò)改進(jìn)時僅通過對整個Resblock進(jìn)行通道數(shù)設(shè)計,網(wǎng)絡(luò)存在冗余,仍需對單個卷積層通道數(shù)進(jìn)行進(jìn)一步精簡。

      表2 寬度改進(jìn)實(shí)驗(yàn)結(jié)果

      3 網(wǎng)絡(luò)剪枝與量化加速

      無人機(jī)帶負(fù)載能力有限,且由于無人機(jī)帶由多種傳感器,使得無人機(jī)周圍電磁環(huán)境復(fù)雜,另一方面,為保證系統(tǒng)的精簡,通常使用無人機(jī)的電池對機(jī)載計算機(jī)進(jìn)行供電,所以,無人機(jī)機(jī)載計算機(jī)通常采用功耗低、可靠性高的嵌入式設(shè)備,該類設(shè)備算力較低。本文采用了DJI Manifold-2G作為機(jī)載計算平臺,該設(shè)備搭載了NVIDIA jetson TX2核心,與搭載NVIDIA GeForce GT 1080的臺式服務(wù)器相比,1080擁有2560個CUDA核心,CUDA核心數(shù)反映了硬件的算力,對深度學(xué)習(xí)算法推理速度有直接的影響,TX2僅僅擁有256個CUDA核心,因此,直接在TX2等嵌入式平臺上進(jìn)行使用深度學(xué)習(xí)網(wǎng)絡(luò)是不切實(shí)際的,需要對網(wǎng)絡(luò)進(jìn)行剪枝量化,以提高推理速度。采用對網(wǎng)絡(luò)的剪枝與量化以提高網(wǎng)絡(luò)實(shí)時性進(jìn)行了相關(guān)工作。

      3.1 網(wǎng)絡(luò)剪枝

      為提高算法在嵌入式設(shè)備上運(yùn)行的實(shí)時性,通過對模型進(jìn)行剪枝可進(jìn)一步提高推理速度?;贐N層γ系數(shù)對冗余通道進(jìn)行剪枝[24],BN層將網(wǎng)絡(luò)的每一層的輸入做標(biāo)準(zhǔn)化處理,使數(shù)據(jù)分布向整體數(shù)據(jù)的均值方差方向轉(zhuǎn)移,從而使得網(wǎng)絡(luò)更容易初始化,并可以加速網(wǎng)絡(luò)訓(xùn)練[25]。

      (7)

      表3 網(wǎng)絡(luò)剪枝實(shí)驗(yàn)結(jié)果

      通過剪除冗余通道,網(wǎng)絡(luò)參數(shù)量降低為原來的32.1%,計算量降低為原本的4.3%,網(wǎng)絡(luò)僅在損失0.9%的準(zhǔn)確率的情況下,網(wǎng)絡(luò)推理速度提高到剪枝前的1.9倍。

      3.2 使用TensorRT量化加速

      為充分利用硬件平臺的計算資源,使用TensorRT對網(wǎng)絡(luò)進(jìn)行硬件加速。首先,因?yàn)槟P屯评頃r主要由GPU啟動CUDA進(jìn)行運(yùn)算操作,CUDA核心的啟動對每一層輸入輸出張量的讀寫操作造成大量的時間和計算資源浪費(fèi),帶來了內(nèi)存帶寬的瓶頸問題。因此,通過層間融合將橫向的卷積層、偏置層、激活函數(shù)層融合為一個CBN層,可加速推理過程。另一方面,由于推理過程不需要反向傳播,在推理過程中,相比使用32位浮點(diǎn)數(shù)的存儲的權(quán)重文件,使用16位浮點(diǎn)數(shù)存儲的權(quán)重文件對模型精度可以達(dá)到近似的精度,所以將權(quán)重文件中參數(shù)量化為16位浮點(diǎn)數(shù),減小計算復(fù)雜度從而提高推理速度。

      模型測試結(jié)果如表4所示,對使用TensorRT加速后,由于權(quán)重文件格式與原YOLOv4權(quán)重文件格式不同,不對計算量與參數(shù)量進(jìn)行對比。采用TensorRT加速后,網(wǎng)絡(luò)精度僅降低0.3%,但推理速度提高了26%,極大地增強(qiáng)了算法在嵌入式平臺上的實(shí)時性能。

      表4 硬件加速實(shí)驗(yàn)結(jié)果

      4 軍事目標(biāo)數(shù)據(jù)集構(gòu)建與算法測試

      4.1 軍事目標(biāo)數(shù)據(jù)集的構(gòu)建

      與傳統(tǒng)算法人為設(shè)計特征不同,深度學(xué)習(xí)算法可以自主學(xué)習(xí)特征,自主學(xué)習(xí)一般需要大量的監(jiān)督數(shù)據(jù)。對同一個深度學(xué)習(xí)算法,用于指導(dǎo)學(xué)習(xí)的數(shù)據(jù)越多、數(shù)據(jù)質(zhì)量越好,訓(xùn)練出來的網(wǎng)絡(luò)性能越好,所以數(shù)據(jù)集在目標(biāo)檢測中具有非常重要的作用。另一方面,軍事目標(biāo)由于安全性和保密性,鮮有開源數(shù)據(jù)集,因此為了驗(yàn)證改進(jìn)算法對軍用目標(biāo)的有效性,解決軍用目標(biāo)數(shù)據(jù)集缺失的問題,制作了一個小型的軍用目標(biāo)數(shù)據(jù)集。

      通過網(wǎng)上搜索符合俯視軍事目標(biāo)的圖片,主要來源為各大搜索引擎,由于無人機(jī)視角下的軍用目標(biāo)圖片在角度、目標(biāo)大小以及目標(biāo)種類方面都有著限制,軍用目標(biāo)的特殊性和保密性要求,使得在國內(nèi)外搜索引擎上直接檢索得到的符合要求的圖片較少,遠(yuǎn)遠(yuǎn)滿足不了數(shù)據(jù)集的要求。為此,從公開實(shí)戰(zhàn)演習(xí)的視頻中,截取符合要求的圖片。選取士兵、坦克、裝甲車、軍艦、導(dǎo)彈發(fā)射車五類目標(biāo)作為數(shù)據(jù)集制作對象,最終收集到符合要求的圖片3582張。對搜集到的圖片進(jìn)行重命名、格式修改等初始化處理,然后,為方便YOLOv4的訓(xùn)練,采用PASCAL VOC標(biāo)準(zhǔn)制作數(shù)據(jù)集,PASCAL VOC在目標(biāo)識別檢測領(lǐng)域是一套標(biāo)準(zhǔn)化數(shù)據(jù)集格式,為數(shù)據(jù)集的制作提供了標(biāo)準(zhǔn)的文件格式。按照VOC標(biāo)準(zhǔn)使用Labelimg完成數(shù)據(jù)集的標(biāo)注,標(biāo)注結(jié)果如圖6所示。

      圖6 軍事數(shù)據(jù)集標(biāo)注

      最后,對標(biāo)注好的數(shù)據(jù)集進(jìn)行訓(xùn)練集、驗(yàn)證集和測試集之間的比例分配。由于數(shù)據(jù)集規(guī)模不是太大,測試集不宜分配太多數(shù)據(jù),將大部分?jǐn)?shù)據(jù)分配到訓(xùn)練和驗(yàn)證集中,最終分配結(jié)果為訓(xùn)練集:驗(yàn)證集:測試集=7.2:1.8:1。

      4.2 軍用目標(biāo)數(shù)據(jù)集測試分析

      采用標(biāo)注的數(shù)據(jù)集分別對原YOLOv4和改進(jìn)算法進(jìn)行訓(xùn)練,訓(xùn)練采用的電腦配置為Inter Core i7-8700CPU,NVIDIA GeForce GT 1080,系統(tǒng)版本Ubuntu18.04,深度學(xué)習(xí)框架采用Darknet,并將其移植到嵌入式系統(tǒng)Manifold-2G上進(jìn)行測試,實(shí)驗(yàn)效果如圖7所示。

      圖7 改進(jìn)算法對軍用目標(biāo)的識別效果

      實(shí)驗(yàn)結(jié)果如表5所示,通過對YOLOv4進(jìn)行了適用于小目標(biāo)的改進(jìn),并采用了剪枝量化等方法,改進(jìn)算法在精度上提高2.3%的同時,推理速度提高了3.3倍。展現(xiàn)了改進(jìn)算法對軍事航拍小目標(biāo)識別的有效性,提升了航拍目標(biāo)識別的精度與速度。單類目標(biāo)識別精度如表6所示,在單類目標(biāo)識別測試結(jié)果中,改進(jìn)算法與原算法相比,對坦克、裝甲車、軍艦、導(dǎo)彈發(fā)射車、士兵5類目標(biāo)的識別精度分別提高了4%、2%、1%、2%、6%,對士兵識別精度提升最大,而士兵相對其他類別尺寸較小,表明針對小目標(biāo)識別的算法改進(jìn)是有效的。

      表5 算法對比結(jié)果

      表6 單類目標(biāo)識別精度

      5 結(jié)束語

      嵌入式平臺算力資源有限,難以運(yùn)行大型的深度網(wǎng)絡(luò),且現(xiàn)有目標(biāo)識別網(wǎng)絡(luò)并不是針對航拍小目標(biāo)的實(shí)時識別設(shè)計的。本文基于現(xiàn)有YOLOv4算法,對其在網(wǎng)絡(luò)深度、寬度方面進(jìn)行了骨干網(wǎng)絡(luò)的優(yōu)化設(shè)計,并采用剪枝和硬件加速技術(shù)進(jìn)一步提升網(wǎng)絡(luò)的推理速度。在制作的軍用目標(biāo)數(shù)據(jù)集上,改進(jìn)算法比原算法準(zhǔn)確率提高了2.3%,推理速度提高了4.3倍,驗(yàn)證了采用的網(wǎng)絡(luò)優(yōu)化改進(jìn)的有效性。雖然在嵌入式平臺上提高了算法的推理速度,但依然達(dá)不到實(shí)時性,仍需在硬件和算法方面進(jìn)行改進(jìn)。由于YOLOv4采用錨框?qū)δ繕?biāo)進(jìn)行粗略的預(yù)測,大多數(shù)錨框都是負(fù)樣本,造成訓(xùn)練中正負(fù)樣本不均衡,未來可以基于無錨框的方式對小目標(biāo)進(jìn)行識別,提高算法效率。此外,通過引入自注意力機(jī)制,對可能存在目標(biāo)的位置進(jìn)行重點(diǎn)處理,從而進(jìn)一步提升算法的準(zhǔn)確率和實(shí)時性。

      猜你喜歡
      嵌入式卷積深度
      基于3D-Winograd的快速卷積算法設(shè)計及FPGA實(shí)現(xiàn)
      深度理解一元一次方程
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      深度觀察
      深度觀察
      深度觀察
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
      东光县| 都匀市| 滨海县| 龙山县| 旬邑县| 伊川县| 巨鹿县| 炉霍县| 金湖县| 离岛区| 吉林省| 吴旗县| 长宁区| 玉树县| 龙游县| 九江市| 蒲城县| 深州市| 壤塘县| 海原县| 文水县| 临泉县| 溆浦县| 汨罗市| 东安县| 乐昌市| 南华县| 柞水县| 收藏| 平乡县| 灌阳县| 巫山县| 雅江县| 喀喇| 治多县| 临西县| 鄂伦春自治旗| 辽阳县| 承德县| 沙雅县| 南投市|