• 
    

    
    

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

      ?

      一種基于改進(jìn)SSD網(wǎng)絡(luò)的豬個(gè)體目標(biāo)檢測方法研究

      2022-08-05 02:41:10靜,張
      軟件工程 2022年8期
      關(guān)鍵詞:卷積個(gè)體樣本

      黃 靜,張 健

      (浙江理工大學(xué)信息學(xué)院,浙江 杭州 310018)

      syhj_sy@163.com;gxzj126@126.com

      1 引言(Introduction)

      隨著我國農(nóng)業(yè)轉(zhuǎn)向高質(zhì)量發(fā)展階段,畜牧養(yǎng)殖業(yè)也向著標(biāo)準(zhǔn)化、專精化、信息與智能化的發(fā)展方向轉(zhuǎn)變,出現(xiàn)了智能化養(yǎng)殖的新理念。畜禽的健康養(yǎng)殖要求養(yǎng)殖人員對其養(yǎng)殖的每一只畜禽要有及時(shí)和準(zhǔn)確的了解,以實(shí)現(xiàn)智能化的管理。與此相關(guān)的自動(dòng)化和智能化既是相關(guān)產(chǎn)業(yè)發(fā)展的迫切需求,也是相關(guān)科研人員研究的重點(diǎn)之一。生豬養(yǎng)殖業(yè)就是這種情況的典型代表,通過圖像進(jìn)行豬個(gè)體的目標(biāo)檢測,為后續(xù)實(shí)現(xiàn)豬養(yǎng)殖過程的精細(xì)化管理提供了技術(shù)支持。

      對于豬個(gè)體目標(biāo)檢測這樣的問題,近年來,深度學(xué)習(xí)技術(shù)應(yīng)用于該領(lǐng)域的算法發(fā)展很快,各種優(yōu)秀的網(wǎng)絡(luò)模型被提出來?;谏窠?jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法又可以分為兩種:Onestage目標(biāo)檢測算法與Two-stage目標(biāo)檢測算法。Onestage目標(biāo)檢測算法事先預(yù)設(shè)候選框,因此其計(jì)算速度比較快,計(jì)算量相對較低,缺點(diǎn)是準(zhǔn)確度相對較低。YOLO系列目標(biāo)檢測算法是其代表,目前已經(jīng)有YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5。Two-stage目標(biāo)檢測算法的過程則是在輸入后,第一步確定候選框,然后對這些候選框進(jìn)行識(shí)別,以確定其類別。因此,這些算法得到的檢測結(jié)果往往比較精確,但是計(jì)算量較大,目標(biāo)檢測的速度比較慢。其代表網(wǎng)絡(luò)算法則為RCNN系列,包括R-CNN、Fast R-CNN、Faster R-CNN及Mask R-CNN等。

      目前,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)用于豬個(gè)體目標(biāo)檢測問題。例如,PSOTA等和宋偉先都利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行豬個(gè)體目標(biāo)檢測;房俊龍等搭建了改進(jìn)的CenterNet網(wǎng)絡(luò);孫東來等搭建了改進(jìn)的YOLOv3網(wǎng)絡(luò)等。

      上述模型采集的數(shù)據(jù)圖像大多采集于大型養(yǎng)殖場,圖像質(zhì)量較高,未能充分考慮復(fù)雜豬舍環(huán)境中光照較暗,豬易被遮擋導(dǎo)致的圖像區(qū)域面積較小、特征匱乏的問題。同時(shí),實(shí)際豬個(gè)體目標(biāo)檢測出現(xiàn)漏檢錯(cuò)檢問題也大都與這兩個(gè)原因有關(guān)。

      針對該問題,本文通過在原始SSD算法的基礎(chǔ)上引入FPN結(jié)構(gòu)和CBAM注意力機(jī)制,并引入Focal Loss損失函數(shù),在不顯著降低原始算法計(jì)算實(shí)時(shí)性的同時(shí),提高算法的豬個(gè)體目標(biāo)檢測精度和對豬遮擋及光線不足情況的適應(yīng)性,更好地實(shí)現(xiàn)在實(shí)際豬舍環(huán)境下的豬個(gè)體目標(biāo)檢測。

      2 SSD算法模型(The model of SSD algorithm)

      SSD算法是一種經(jīng)典的目標(biāo)檢測算法,也是目前目標(biāo)檢測算法一種重要的檢測框架。原始的SSD算法性能相對平均,其與以精準(zhǔn)度見長的Faster R-CNN算法相比檢測速度快,與以速度著稱的YOLO系列算法相比精準(zhǔn)性更好。

      2.1 SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)

      SSD網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。

      圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Diagram of SSD network structure

      SSD的網(wǎng)絡(luò)模型使用VGG網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),與VGG16網(wǎng)絡(luò)一樣有16 層,包含五組卷積。其中,有兩組卷積都分別由兩個(gè)卷積層組成,剩下的三組卷積則分別由三個(gè)卷積層以及三個(gè)全連接層構(gòu)成。但是和原始的VGG16網(wǎng)絡(luò)不同的是,起初為全連接層的FC6和FC7轉(zhuǎn)為卷積層,還一并擯棄了全部的Dropout層與FC8層。此外,在VGG16的特征提取層后又新增了Conv6、Conv7、Conv8、Conv9四個(gè)卷積層。

      2.2 SSD算法的目標(biāo)預(yù)測和分類過程

      SSD算法使用六個(gè)卷積層對應(yīng)的大小各異的特征圖作為預(yù)測部分的輸入,分別是第四卷積層中的最后一次卷積的特征圖、FC7中卷積的特征圖、第六和第七以及第八和第九卷積層中的中間的卷積對應(yīng)的特征圖。SSD默認(rèn)框從這六張?zhí)卣鲌D中生成先驗(yàn)框。先驗(yàn)框由兩部分組成:先驗(yàn)框中心位置信息和尺寸信息。先驗(yàn)框中心能夠把特征圖劃分為許許多多尺寸固定的網(wǎng)格,其數(shù)量的多少與特征圖的大小成正相關(guān),這就相當(dāng)于將原始的輸入圖像根據(jù)特征圖的尺寸分別分割成網(wǎng)格。

      SSD算法會(huì)在每個(gè)特征圖中生成四個(gè)或者六個(gè)先驗(yàn)框,然后進(jìn)入先驗(yàn)框的微調(diào)和篩選過程。在一張?zhí)卣鲌D中,SSD算法會(huì)先根據(jù)交并比選出和真實(shí)框重合度超過某個(gè)事先確定的閾值的先驗(yàn)框,這些先驗(yàn)框被稱為正樣本。而其他的先驗(yàn)框則被稱為負(fù)樣本。在這種情況下,可能會(huì)產(chǎn)生正樣本的數(shù)量遠(yuǎn)遠(yuǎn)少于負(fù)樣本的問題。因此,SSD采用了和R-CNN網(wǎng)絡(luò)同樣的難例挖掘方法,也就是首先使用正樣本和負(fù)樣本的一個(gè)子集去訓(xùn)練SSD網(wǎng)絡(luò),然后立即用這個(gè)網(wǎng)絡(luò)模型進(jìn)行預(yù)測并將那些被錯(cuò)誤預(yù)測的負(fù)樣本(這些負(fù)樣本的正確的分類應(yīng)該是正樣本)收集起來,形成難樣本集,最后再使用這個(gè)難樣本集去訓(xùn)練網(wǎng)絡(luò)模型,如此反復(fù)。在整個(gè)過程中,保持正負(fù)樣本的數(shù)量比例接近1∶3。完成后,SSD算法使用非極大值抑制的方法進(jìn)行先驗(yàn)框的篩選,將不合適的先驗(yàn)框去掉,留下的即為檢測結(jié)果。

      2.3 SSD算法的損失函數(shù)

      SSD算法的損失函數(shù)包含預(yù)測類別置信度損失和位置回歸損失兩部分。損失函數(shù)是通過這兩者的結(jié)合產(chǎn)生的,具體如式(1)所示:

      3 SSD算法的改進(jìn)(Improvement of SSD algorithm)

      由于豬圖像的光照條件差、豬個(gè)體被遮擋等造成檢測困難的直接原因是圖像中的目標(biāo)區(qū)域較小,特征不夠明顯。為了解決這個(gè)問題,需要加強(qiáng)算法的特征提取能力,增強(qiáng)其對較小目標(biāo)和困難目標(biāo)的檢測能力。同時(shí),通過改進(jìn)損失函數(shù),可以使網(wǎng)絡(luò)更加專注于這些難以檢測的目標(biāo),提高該類目標(biāo)的檢測成功率。基于此,本文做了如下改進(jìn)。

      3.1 CBAM注意力機(jī)制

      在算法中加入注意力機(jī)制可以使其無視無足輕重的特征信息,著重注意重要的特征信息,增強(qiáng)算法的表征能力,進(jìn)而提高算法的目標(biāo)檢測能力。

      CBAM作為混合域注意力機(jī)制,將通道和空間這兩種因素結(jié)合在一起構(gòu)建注意力模塊,使其更加全面,也更加高效。同時(shí),作為一種輕量化模塊,加入CBAM模塊不會(huì)顯著增加卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量,卻可以提高目標(biāo)檢測的準(zhǔn)確性。

      CBAM模塊的流程是:首先在卷積神經(jīng)網(wǎng)絡(luò)中選出特定的特征圖送入通道注意力模塊中,將通道注意力結(jié)果和初始的特征圖進(jìn)行乘法操作;將所得到的中間結(jié)果送入空間注意力模塊中,然后將空間模塊的輸出結(jié)果與原來的中間結(jié)果相乘,即可得出最后的輸出結(jié)果。

      3.2 特征金字塔結(jié)構(gòu)

      SSD目標(biāo)檢測算法是一款經(jīng)典的目標(biāo)檢測算法,既擁有較快的計(jì)算速度,滿足大多數(shù)場景下實(shí)時(shí)性的需求,又可以擁有不錯(cuò)的準(zhǔn)確率,而且與Faster R-CNN相比,其訓(xùn)練過程無須中間權(quán)重的存儲(chǔ)過程,降低了訓(xùn)練成本。SSD網(wǎng)絡(luò)所采用的多特征圖檢測方式當(dāng)時(shí)較為先進(jìn),但從當(dāng)下看仍有較大的改進(jìn)空間。

      單從算法結(jié)構(gòu)方面來說,SSD算法通過改進(jìn)VGG16網(wǎng)絡(luò),提取其中六個(gè)特征圖,分別對這些特征圖進(jìn)行直接識(shí)別和分類,可能會(huì)出現(xiàn)多個(gè)特征圖識(shí)別到同一個(gè)語義信息的問題,造成重復(fù)和浪費(fèi)。由于不同尺度的特征圖對不同目標(biāo)的表征能力不同,而SSD算法又沒有當(dāng)下已經(jīng)應(yīng)用很普遍的多特征融合,造成了其目標(biāo)的檢測能力有較大進(jìn)步空間。

      特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(FPN)是一種常常被用來解決目標(biāo)多尺度檢測問題的重要手段,是多特征融合的主要結(jié)構(gòu)之一。其在YOLOv3以來的YOLO系列算法中與PAN結(jié)構(gòu)相結(jié)合的應(yīng)用已經(jīng)十分成熟。

      FPN結(jié)構(gòu)只需在已經(jīng)成熟的網(wǎng)絡(luò)模型基礎(chǔ)上更改網(wǎng)絡(luò)層之間連接的方式,在盡量降低對算法計(jì)算量和實(shí)時(shí)性的影響的情況下,有效提高網(wǎng)絡(luò)模型對小目標(biāo)的檢測能力。

      特征金字塔結(jié)構(gòu)將深層特征圖(包含豐富的語義特征信息)和淺層特征圖(包含豐富的紋理信息)通過三種連接方式(自上而下、自下而上和橫向連接)進(jìn)行相互結(jié)合,使得各不同尺度特征圖都擁有豐富的特征信息,然后再在這些不同層級的特征圖上進(jìn)行檢測。

      將特征金字塔、CBAM模塊和原始的SSD算法進(jìn)行有機(jī)結(jié)合,得到改進(jìn)的SSD算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

      圖2 改進(jìn)后的SSD網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Diagram of improved SSD network structure

      3.3 Focal Loss損失函數(shù)

      對于因?yàn)楣饩€條件較差,豬被遮擋導(dǎo)致的難以識(shí)別的豬個(gè)體,其檢測網(wǎng)絡(luò)模型應(yīng)該進(jìn)行重點(diǎn)關(guān)注。同時(shí),豬個(gè)體目標(biāo)檢測問題只需分辨豬個(gè)體和背景這兩種類別,目標(biāo)數(shù)量較少,這樣就會(huì)造成正負(fù)樣本的數(shù)量不平衡。雖然SSD算法事先設(shè)定了正負(fù)樣本的比例,避免被過多的負(fù)樣本在訓(xùn)練時(shí)浪費(fèi)掉模型分辨樣本的能力,但還需要進(jìn)一步改進(jìn)。

      為此,引入Focal Loss損失函數(shù)。該損失函數(shù)可以有針對性地解決這個(gè)問題。

      Focal Loss損失函數(shù)如式(10)所示:

      初步改進(jìn)后的Focal Loss損失函數(shù)如式(11)所示:

      這樣就既能夠解決正負(fù)樣本數(shù)量不平衡問題,也能夠使得模型更加注重難分類的樣本。在本次實(shí)驗(yàn)中,這些樣本就是因?yàn)楣庹?、遮擋等問題造成的難以檢測到的樣本。

      將Focal Loss損失函數(shù)置換原本的預(yù)測類別置信度損失函數(shù),得到的改進(jìn)SSD網(wǎng)絡(luò)結(jié)構(gòu)的損失函數(shù)如式(13)所示:

      4 實(shí)驗(yàn)分析(Experimental analysis)

      4.1 數(shù)據(jù)集制作

      本次實(shí)驗(yàn)通過網(wǎng)絡(luò)爬蟲程序獲得網(wǎng)絡(luò)上公開的豬目標(biāo)圖片,以及從互聯(lián)網(wǎng)公開視頻和自己實(shí)地拍攝的視頻中截取的豬目標(biāo)圖片共5,122 張,其中特別加入含有豬被遮擋、光照條件差的圖片約1,000 張組成實(shí)驗(yàn)數(shù)據(jù)集。每張圖片至少包含一個(gè)目標(biāo),可能包含多個(gè)目標(biāo)。整個(gè)數(shù)據(jù)集按照Pascal VOC 2007數(shù)據(jù)集格式制作,在統(tǒng)一將圖片尺寸縮放為416×416后,利用Imglabel軟件對圖片中的目標(biāo)進(jìn)行標(biāo)注,并將結(jié)果保存為XML文件。標(biāo)注完成后,隨機(jī)按8∶1∶1將其劃分成訓(xùn)練集、驗(yàn)證集和測試集。

      4.2 實(shí)驗(yàn)平臺(tái)條件

      本次實(shí)驗(yàn)的軟硬件條件及其相關(guān)配置如表1所示。

      表1 實(shí)驗(yàn)環(huán)境及配置Tab.1 Experimental environment and configuration

      4.3 評價(jià)指標(biāo)

      結(jié)合本次實(shí)驗(yàn)的實(shí)際情況,決定采用平均精度指標(biāo)作為評價(jià)標(biāo)準(zhǔn),其是精確率關(guān)于召回率的積分。兩者分別如式(14)和式(15)所示:

      其中,表示正樣本被正確檢測的個(gè)數(shù);表示正樣本被錯(cuò)誤檢測成負(fù)樣本的個(gè)數(shù);表示負(fù)樣本被錯(cuò)誤檢測成正樣本的個(gè)數(shù)。精確率表示的是正確分類的樣本占所有樣本的比重;召回率則表示的是檢測正確的正樣本占所有正樣本的比重。

      另外三個(gè)評價(jià)指標(biāo)為檢測速度、誤檢率、漏檢率。檢測速度指其在數(shù)據(jù)集或者視頻流中每一秒檢測的圖像張數(shù)或者幀數(shù)。誤檢率為將不是目標(biāo)的圖像檢測為目標(biāo)的數(shù)目占總應(yīng)檢出目標(biāo)數(shù)目的比值。漏檢率為本應(yīng)是目標(biāo)的圖像檢測為不是目標(biāo)的數(shù)目占總應(yīng)檢出目標(biāo)數(shù)目的比值。

      4.4 實(shí)驗(yàn)結(jié)果分析

      分別對原始SSD算法和改進(jìn)后的SSD算法進(jìn)行訓(xùn)練,待兩者的損失函數(shù)收斂后完成訓(xùn)練。分別使用測試集對這兩個(gè)已經(jīng)訓(xùn)練好的模型進(jìn)行對比驗(yàn)證,得到的結(jié)果如表2所示。

      表2 SSD網(wǎng)絡(luò)模型改進(jìn)前后性能指標(biāo)對比表Tab.2 Comparison table of performance indicators before and after the improvement of SSD network model

      為了驗(yàn)證改進(jìn)后的SSD算法模型的實(shí)際效果,取存在光照較差、豬被遮擋情況的豬舍視頻進(jìn)行視頻檢測。檢測過程中,檢測平均速度為21.6 FPS,典型檢測結(jié)果截圖如圖3所示。

      圖3 視頻檢測結(jié)果圖Fig.3 Diagram of video detection results

      為了定量對改進(jìn)后的SSD算法模型的檢測效果進(jìn)行分析,將兩種算法模型對上述視頻的檢測結(jié)果隨機(jī)進(jìn)行截取,獲得約800 張圖像。隨機(jī)選取其中292 張含有豬目標(biāo)的圖像進(jìn)行計(jì)數(shù),計(jì)算出兩種算法對該視頻的誤檢率和漏檢率結(jié)果,如表3所示。

      表3 SSD網(wǎng)絡(luò)模型改進(jìn)前后實(shí)際視頻檢測結(jié)果對比表Tab.3 Comparison table of actual video detection results before and after the improvement of SSD network model

      從表2和表3可以看出,改進(jìn)的SSD算法有96.38%的平均精度,相較于原始SSD算法,其FPS指標(biāo)降低了1.7%,但平均精度卻提高了2.97%。平均精度的提高得益于改進(jìn)的SSD算法通過FPN結(jié)構(gòu)與CBAM機(jī)制的聯(lián)合應(yīng)用,提高了網(wǎng)絡(luò)對豬個(gè)體目標(biāo)的特征提取能力。同時(shí),漏檢率降低了3.65%,誤檢率降低了1.45%,兩者的降低不僅與上述網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)有關(guān),改進(jìn)的損失函數(shù)使網(wǎng)絡(luò)模型更加關(guān)注這類目標(biāo)也起了一定作用。整體改進(jìn)后雖然算法的實(shí)時(shí)性略有降低,但在進(jìn)行視頻檢測時(shí)仍能有21.6 FPS,基本可以滿足可能的視頻實(shí)時(shí)監(jiān)測需求。同時(shí),從圖3中可以發(fā)現(xiàn),對于左側(cè)光線較暗且豬個(gè)體存在一定的相互遮擋的情況,以及右側(cè)豬大部分被遮擋的情況,改進(jìn)后的SSD算法均可以對其進(jìn)行有效識(shí)別,但部分豬目標(biāo)的檢測框與實(shí)際個(gè)體之間的空隙稍大。綜上說明,改進(jìn)后的SSD算法對于光線較暗和豬遮擋情況均有良好的適應(yīng)性,對因此造成的豬目標(biāo)難以檢測問題有一定的改善。

      5 結(jié)論(Conclusion)

      本文基于SSD目標(biāo)檢測算法,對豬個(gè)體目標(biāo)檢測問題進(jìn)行探究。首先,通過廣泛收集數(shù)據(jù),構(gòu)建了較為全面的數(shù)據(jù)集,同時(shí)對訓(xùn)練集、驗(yàn)證集和測試集進(jìn)行了劃分。然后,為了提高原始算法對豬個(gè)體目標(biāo)的檢測能力,使用FPN結(jié)構(gòu)和CBAM模塊對網(wǎng)絡(luò)進(jìn)行改進(jìn),使用Focal Loss損失函數(shù)對原有損失函數(shù)進(jìn)行改進(jìn)。在對改進(jìn)后的網(wǎng)絡(luò)完成訓(xùn)練后,使用測試集數(shù)據(jù)和豬舍視頻進(jìn)行了測試,最終的實(shí)驗(yàn)結(jié)果表明,相較于原算法,改進(jìn)后的SSD網(wǎng)絡(luò)模型在豬個(gè)體目標(biāo)檢測問題上有96.38%的平均精度,檢測平均速度為21.6 FPS,并對光線變化和目標(biāo)遮擋情況有更好的適應(yīng)性。但同時(shí)也發(fā)現(xiàn),部分檢測框與實(shí)際個(gè)體之間的空隙稍大,需要進(jìn)一步探究和改進(jìn)。

      猜你喜歡
      卷積個(gè)體樣本
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      用樣本估計(jì)總體復(fù)習(xí)點(diǎn)撥
      關(guān)注個(gè)體防護(hù)裝備
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      推動(dòng)醫(yī)改的“直銷樣本”
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      隨機(jī)微分方程的樣本Lyapunov二次型估計(jì)
      村企共贏的樣本
      個(gè)體反思機(jī)制的缺失與救贖
      How Cats See the World
      荃湾区| 库伦旗| 福清市| 兴义市| 合肥市| 马关县| 保康县| 淳安县| 余干县| 安阳县| 彝良县| 镇安县| 邹城市| 望都县| 六安市| 县级市| 沙田区| 徐汇区| 靖江市| 长兴县| 虎林市| 轮台县| 恩施市| 鸡东县| 邵阳市| 林西县| 大化| 武隆县| 西林县| 东安县| 青阳县| 福清市| 黄浦区| 平顶山市| 临沂市| 宁乡县| 尼木县| 涞源县| 昭苏县| 永福县| 罗甸县|