国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學習的核桃外殼缺陷檢測

2022-02-18 02:50余思黔趙麒榮林嘉晨賈雁飛陳廣大
吉林化工學院學報 2022年9期
關鍵詞:馬爾科夫外殼核桃

余思黔,趙麒榮,林嘉晨,賈雁飛,陳廣大

(北華大學 電氣與信息工程學院,吉林 吉林 132013)

核桃外殼對核桃仁起到保護作用,一旦核桃外殼發(fā)生破損,核桃仁很容易受到外界污染,而且核桃仁長時間暴露在空氣中,容易引起受潮、滋生黃曲霉菌等情況,影響核桃仁的食用安全.因此,在核桃生成加工過程中,需要及時發(fā)現(xiàn)和篩選出外殼有缺陷的核桃,提高核桃產(chǎn)品質(zhì)量.傳統(tǒng)人工篩選核桃耗時費力,漏檢率較高,而且速度較慢.為了解決這一問題,近年來隨著人工智能技術的發(fā)展,基于機器視覺的核桃篩選已經(jīng)逐漸應用于實際,逐漸代替人工篩選,對核桃外殼缺陷識別的性能直接影響基于機器視覺的核桃外殼篩選性能.

核桃外殼缺陷檢測可以采用傳統(tǒng)的目標檢測方法[1],即利用特征提取方法對核桃外殼缺陷特征進行提取,然后利用支持向量機或者相關向量機等分類方法[2]從已提取的特征中識別出有外殼缺陷的核桃.傳統(tǒng)方法需要人為設計特征提取方法,受人為因素影響較大,而且識別精度較低.近年來,基于深度學習的目標檢測方法已經(jīng)被大量應用于農(nóng)業(yè)、交通和電力等領域[3-5].現(xiàn)有基于深度學習的目標檢測方法可以分為兩類,一類是R-CNN類檢測方法[6-7],一類是YOLO類檢測方法[8-10].前者檢測精度相對較高,但是檢測速度相對較慢;后者檢測精度相對較低,但是檢測速度相對較快,主要用于實時性較高的檢測場景.現(xiàn)有方法雖然對核桃外殼缺陷有較高的識別準確率,但是檢測方法結(jié)構(gòu)比較復雜,需要部署在計算能力較高的設備上,檢測速度較慢,影響核桃外殼缺陷檢測速度.為此,首先提出利用深度可分離卷積代替YOLOv5s模型中的殘差網(wǎng)絡中卷積核大小為3的卷積,構(gòu)建改進的CBL模塊,并用于YOLOv5s模型中,提高核桃外殼缺陷檢測速度.其次,提出利用改進的均值聚類對改進的YOLOv5s模型檢測框進行初始化,提高生成檢測框的質(zhì)量,進而提高核桃外殼缺陷檢測精度.基于改進后的YOLOv5s模型的核桃外殼缺陷檢測,雖然檢測精度有一定的降低,但是極大地提高了檢測速度,實現(xiàn)了核桃外殼缺陷檢測速度和精度之間的均衡.

1 YOLOv5s算法

YOLOv5是繼YOLOv3之后提出的YOLO類目標檢測方法,雖然在YOLOv5提出的前幾個月就提出了YOLOv4,但是YOLOv5和YOLOv4是不同的團隊提出的,所以YOLOv5不是YOLOv4的改進版本,YOLOv5和YOLOv4都可以看作是對YOLOv3的改進.YOLOv5的網(wǎng)絡框架結(jié)構(gòu)和YOLOv3的類似,同樣繼承了檢測速度較快的優(yōu)點.在圖像預處理方面,YOLOv5和YOLOv4一樣都采用了Mosaic數(shù)據(jù)增強方法,也就是將訓練集中的4張圖像先進行隨機旋轉(zhuǎn),然后再拼接到1張圖像上,作為訓練圖像對模型進行訓練,提高目標檢測能力.在網(wǎng)絡結(jié)構(gòu)方面,YOLOv5主干網(wǎng)絡由Focus結(jié)構(gòu)和CSP結(jié)構(gòu)組成,YOLOv5首次引入了Focus結(jié)構(gòu),其主要作用就是對圖像進行切片操作,將1張圖像中每隔1個像素取1個值,然后得到4個圖像,接著將4張圖像在通道上進行連接,最后利用卷積操作,在沒有信息丟失的情況下進行二倍下采樣,提高了檢測速度.YOLOv4只有主干網(wǎng)絡中使用了CSP結(jié)構(gòu),而YOLOv5中設計了兩種CSP結(jié)構(gòu),CSP1_X應用于主干網(wǎng)絡,另一種CSP_2X結(jié)構(gòu)則應用于頸部網(wǎng)絡中.在頸部網(wǎng)絡中,同樣采用了和YOLOv4類似的FPN+PAN結(jié)構(gòu),不同之處就是設計了CSP2_X結(jié)構(gòu),加強了網(wǎng)絡特征融合能力.在損失函數(shù)方面,Yolov5采用其中的GIoU作為檢測框回歸損失函數(shù),提高檢測框定位精度.

YOLOv5網(wǎng)絡結(jié)構(gòu)有4個版本,分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,4個版本的網(wǎng)絡深度和網(wǎng)絡寬度逐漸增加,參數(shù)量和平均精度也同樣逐漸增加,YOLOv5s雖然精度最低,但是檢測速度最快,更適合對檢測速度要求較高的場景.

2 改進的YOLOv5s算法

2.1 改進的CBL模塊

YOLOv5s雖然網(wǎng)絡結(jié)構(gòu)比YOLOv5其他版本以及YOLOv4的完整版本網(wǎng)絡結(jié)構(gòu)都要簡單,計算速度相對也更快,但是比起其他輕量化的目標檢測算法,其網(wǎng)絡結(jié)構(gòu)相對復雜,計算速度有待提高.為了提高基于YOLOv5s的核桃外殼缺陷檢測方法的檢測速度,考慮到Y(jié)OLOv5s中大量采用CBL模塊,CBL模塊含有卷積核為3的卷積,其計算量較大.為此,利用深度可分離卷積替換卷積核為3的卷積,改進后的CBL模塊如圖1所示.

圖1 改進后的CBL模塊

在使用標準卷積的卷積層中,其參數(shù)量和計算量計算如下:

params=Cin×k2×Co,

(1)

F=Cin×k2×Co×H×W,

(2)

式中:Cin是輸入通道數(shù);C0是輸出通道數(shù);k2是卷積核的寬和高的乘積.F表示浮點運算量即乘運算和加運算的總和;H和W分別是輸入圖像的高和寬.

在使用深度可分離卷積的卷積層中,其參數(shù)和計算量的計算公式如下:

params=Cin×k2+Cin×1×1×Co,

(3)

F=Cin×k2×H×W+Cin×1×1×Co×H×W,

(4)

式中:Cin是輸入通道數(shù);C0是輸出通道數(shù);k2是卷積核的寬和高的乘積;H和W分別是輸入圖像的高和寬.深度卷積中的卷積核只對同維度通道中的特征圖進行卷積運算,輸出通道數(shù)與輸入通道數(shù)相等.逐點卷積在深度卷積之后由1×1的標準卷組成,用來融合深度卷積中的特征信息.深度可分離卷積與標準卷積的計算量之比如下:

(5)

2.2 改進的聚類方法

在YOLOv5s算法中,采用K均值聚類的方法在標記的真值框?qū)捄透叩募仙暇垲惓鰇個中心,將這k個聚類中心作為預測邊界框的初始寬和高,以避免模型在調(diào)整邊界框的寬和高時花費大量的時間.k-均值聚類方法的復雜度是Ο(nkd),其中使用了d維的數(shù)據(jù),k個聚類中心,數(shù)據(jù)集的數(shù)量是n.因此,對于大規(guī)模的檢測數(shù)據(jù)集,需要花費更多的時間進行模型處理,并且它對于初始聚類中心很敏感.k均值聚類方法存在的問題會影響算法在檢測過程中生成的預測邊界框的質(zhì)量,導致預測邊界框與真值框不能很好地對齊,從而影響了算法的檢測性能.

為了解決這些問題,采用一個改進的聚類方法,它借鑒了Afkmc2方法中通過構(gòu)建馬爾科夫鏈的思想來確定初始聚類中心,完成了聚類中心初始點的選取[11].因此,改進的聚類方法通過構(gòu)建馬爾科夫鏈,并將馬爾科夫鏈的最后一個點作為初始聚類中心,進而完成初始聚類中心的選取,其中,使用交并比(IoU)的方法來計算每個候選點與已選初始聚類中心之間的距離.之后從整個數(shù)據(jù)集合中選取部分元素來“微調(diào)”選定的聚類中心,將最終確定的聚類中心作為預測邊界框的初始寬和高.改進的聚類方法的具體步驟如下.

為了方便表示,假設真值框?qū)捄透叩募鲜铅?{(w1,h1),(w2,h2),…,(wn,hn)}.首先從集合中隨機選取一對寬和高作為第1個初始聚類中心c1.然后是選取其他k-1個初始聚類中心,它們是通過迭代k-1次構(gòu)建出k-1條長度為m的馬爾科夫鏈,并選取每條馬爾科夫鏈的最后一個點作為初始聚類中心來完成.構(gòu)建馬爾科夫鏈的過程如下:

第一,先計算每個點的提案分布q(φj),其中,提案分布的作用是為每個點分配一個概率,該概率是點被選為馬爾科夫鏈候選點的可能性,它的表達式如公式(6)所示.

(6)

式中:φj∈φ,j=1,2,…,n;c1是第初始聚類中心,點到聚類中心之間的距離是通過交并比來計算,這樣得到的聚類中心可以獲得更好的分數(shù),并且它們與框的大小沒有關系.點φj到聚類中心c1之間的距離d(φj,c1)的計算表達式如公式(7)所示.

d(φj,c1)=1-IoU(φj,c1) ,

(7)

式中:IoU(φj,c1)是第j個邊界框φj=(wj,hj)與第1個初始聚類中心c1=(wi,hi)的相交集的面積除以相并集的面積(交并比),它被用來衡量φj與c1的重疊情況.如果IoU(φj,c1)越大,意味著φj與c1重疊程度越高.

第二,依據(jù)提案分布q(φ)從數(shù)據(jù)集中選擇一對寬和高φi作為馬爾科夫鏈的初始點.對于同一條馬爾科夫鏈的其他點,可以通過提案分布q(φ)從集合φ中選擇候選點φt,并計算候選點φt的采樣分布p(φt),其中,采樣分布的作用是為候選點分配一個概率,該概率是候選點被選為馬爾科夫鏈上點的可能性,它的表達式如公式(8)所示.

(8)

式中,C是已經(jīng)選擇的初始聚類中心的集合;d(φt,C)是d(φt,ci)(i=1,2,…,k)中的最小值,它的表達式如公式(9)所示.

(9)

式中:d(φt,C)是候選點φt與已選聚類中心的集合C之間的距離,它通過計算候選點φt與集合C中的每個初始聚類中心之間的距離,選擇出最小值作為候選點φt與集合C之間的距離.

第三,基于φt的采樣分布和提案分布,可以計算φt被選擇作為馬爾科夫鏈的下一點的接受概率,它的表達式如公式(10)所示.

(10)

式中:φt-1是馬爾科夫鏈的當前點.如果接受概率α(φt,φt-1)大于閾值N∈Unif(0,1),則φt可以被接受作為馬爾科夫鏈的下一點,否則,φt-1繼續(xù)作為馬爾科夫鏈的下一點.這樣就可以構(gòu)建出長度為m的馬爾科夫鏈.基于上面的過程就可以構(gòu)建出k-1條長度為m的不同的馬爾科夫鏈,并且使用馬爾科夫鏈的最后一個點作為初始聚類中心.在計算候選點的接受概率時,避免了計算候選點采樣分布的分母部分,這樣可以減少許多計算時間.將選擇的第1個初始聚類中心和通過構(gòu)建馬爾科夫鏈來選取的k-1個初始聚類中心組成了k個初始聚類中心C=[c1,c2,…ck].

在構(gòu)建馬爾科夫鏈中,每一個候選點要求去計算與每個已選初始聚類中心之間的距離,如果選擇的候選點是已經(jīng)被選為初始聚類中心的點,則該點與已選初始聚類中心的距離是0,即候選點的接受概率是0,這樣候選點將不會作為馬爾科夫鏈上的點.因此,在構(gòu)建不同的馬爾科夫鏈時,避免了將已經(jīng)選擇的初始聚類中心作為馬爾科夫鏈上的點,因此,改進的聚類方法選擇出了k個不同的初始聚類中心.

最后,從集合φ中隨機選擇S個點組成集合Φ,計算在集合Φ中每個點與k個初始聚類中心之間的距離.如果一個點接近那個初始聚類中心,就將這個點分配給那個初始聚類中心,這樣就可以構(gòu)建出k個簇,然后再計算每個簇里所有點的平均值作為新的聚類中心,計算公式如下所示:

(11)

(12)

式中:(pwi,phi)是新的聚類中心;|H|是新簇中點的數(shù)量;wi,j和hi,j分別是新簇中的真值框?qū)捄透?之后,繼續(xù)從集合φ中隨機選擇S個點,計算每個點與k個新的聚類中心之間的距離.通過彼此之間的距離來構(gòu)建新的簇,使用公式(11)和(12)可以獲得新的聚類中心,直到新的聚類中心不再變化或達到最大迭代次數(shù),這樣就可以構(gòu)建出最終的聚類中心,將最終選定的聚類中心作為預測邊界框的初始寬和高來完成檢測任務.

相比于k均值聚類方法,改進的聚類方法需要更少的運行時間,尤其是對于大規(guī)模的檢測數(shù)據(jù)集.因此,在YOLOv5s檢測算法中,可以將改進的聚類方法所得到的聚類中心用作預測邊界框的初始寬和高,來實現(xiàn)對目標邊界框的預測.

3 仿真實驗

從網(wǎng)絡上搜集整理了1 500張含有核桃外殼破損的圖片,選擇1 200張圖片作為訓練集,300張圖片作為測試集,采用Labelme軟件對數(shù)據(jù)集樣本進行標注.采用了召回率和準確率作為算法精度指標,召回率和準確率越大,表示算法的檢測誤差越小.圖2是利用算法對測試集中隨機選取的圖像進行測試,從圖中可以看出,算法成功地實現(xiàn)了對破損核桃外殼的檢測,證明了算法的有效性.

圖2 基于算法的檢測結(jié)果

為了驗證提出的基于改進的CBL模塊和均值聚類方法的YOLOv5s模型在核桃外殼破損檢測中的有效性,分別用原YOLOv5s模型,基于改進的CBL模塊的YOLOv5s模型,基于改進的聚類方法的YOLOv5s模型以及基于改進的CBL模塊和聚類方法的YOLOv5s模型對核桃外殼破損進行檢測.采用IoU閾值為0.5的平均精度(mAP_0.5)和召回率(Recall)來衡量不同算法模型的檢測準確度性能,采用幀每秒(FPS)來衡量不同算法的檢測速度,各種算法對核桃外殼破損檢測性能結(jié)果如圖1所示.在平均檢測精度和召回率方面,基于改進的CBL模塊的YOLOv5s精度和召回率均為最低,其次是基于改進的CBL和均值聚類的YOLOv5s以及原YOLOv5s,基于改進的均值聚類的YOLOv5s的精度和召回率均為最高.在檢測速度方面,原YOLOv5s的FPS最低,其次是基于改進的均值聚類的YOLOv5s和基于改進的CBL模塊的YOLOv5s,基于改進的CBL和均值聚類的YOLOv5s的FPS值最高,也就是檢測速度最快.

圖3 各種算法性能比較

從上述分析可以看出:基于改進的CBL模塊的YOLOv5s相對原YOLOv5s算法雖然檢測精度和召回率降低了,但是檢測速度提高了;基于改進的均值聚類的YOLOv5s相對原YOLOv5s算法檢測精度,召回率和檢測速度都有所提高;基于改進的CBL模塊的YOLOv5s相對基于改進的均值聚類的YOLOv5s計算量更小,因此檢測速度更快;基于改進的CBL和均值聚類的YOLOv5s的檢測精度和召回率介于基于改進的CBL模塊的YOLOv5s和基于改進的均值聚類的YOLOv5s之間,但是檢測速度最快.此外,相對于原YOLOv5s,基于改進CBL和均值聚類YOLOv5s的精度和召回率分別降低了0.2%和0.5%,但是檢測速度提高了大約20%,基于改進的CBL和均值聚類的YOLOv5s實現(xiàn)了核桃外殼缺陷檢測的速度和精度之間的均衡.

4 結(jié) 論

提出了基于改進的CBL模塊和均值聚類的YOLOv5s的核桃缺陷檢測方法.基于改進的CBL模塊的YOLOv5s檢測精度和召回率相對原方法分別降低了大約2.4%和2.3%,但是檢測速度提高了大約16.8%.基于改進的均值聚類的YOLOv5s的檢測精度和召回率相對原方法分別提高了大約1.5%和1.7%,檢測速度提高了大約3.3%.基于改進的均值聚類的YOLOv5s方法相對基于改進的CBL模塊的YOLOv5s方法,有效地提高了檢測精度和召回率,但是檢測速度提高相對較小.為了實現(xiàn)檢測精度、召回率與檢測速度之間的均衡,將改進的CBL模塊和均值聚類方法同時用于YOLOv5s中,完整的改進的YOLOv5s方法相對原YOLOv5s方法,雖然精度和召回率分別降低了0.2%和0.5%,但是檢測速度提高了大約20%,在保證精度和召回率滿足要求的同時,極大地提高了核桃外殼缺陷檢測的實時性.

猜你喜歡
馬爾科夫外殼核桃
基于三維馬爾科夫模型的5G物聯(lián)網(wǎng)數(shù)據(jù)傳輸協(xié)議研究
小核桃變身“致富果”
基于疊加馬爾科夫鏈的邊坡位移預測研究
基于改進的灰色-馬爾科夫模型在風機沉降中的應用
外殼層最近鄰交換相互作用對Blume-Capel模型相變行為的影響
U盾外殼組件注塑模具設計
塑料外殼注射模設計
可賞可食可入藥的核桃
黃龍核桃
隔爆外殼水壓試驗工藝探討