周宇博,沈 岳,匡迎春
(湖南農(nóng)業(yè)大學(xué)信息與智能科學(xué)技術(shù)學(xué)院,長(zhǎng)沙 410128)
竹筷缺陷檢測(cè)在竹筷生產(chǎn)過程中具有重要的意義[1]。竹筷是日常餐桌上常用的餐具之一,質(zhì)量直接關(guān)系到用戶的使用體驗(yàn)和健康安全。及時(shí)發(fā)現(xiàn)和篩選出存在缺陷的竹筷,確保符合質(zhì)量標(biāo)準(zhǔn)的竹筷進(jìn)入市場(chǎng)流通,保障用戶的飲食安全至關(guān)重要。竹筷作為一種可再生資源,生產(chǎn)需要消耗大量的竹子。而竹子的生長(zhǎng)需要較長(zhǎng)的時(shí)間,在資源有限的情況下,竹筷的質(zhì)量和可用性變得尤為重要。通過缺陷檢測(cè)減少不合格竹筷的生產(chǎn)和浪費(fèi),提高資源利用效率,降低對(duì)環(huán)境的影響。此外,竹筷的生產(chǎn)規(guī)模龐大,傳統(tǒng)的人工檢測(cè)效率低下且存在主觀性,采用自動(dòng)化的竹筷缺陷檢測(cè)系統(tǒng),尋求精準(zhǔn)高效的竹筷實(shí)時(shí)檢測(cè)為目標(biāo),探索新的方法和途徑。
近年來,基于機(jī)器視覺的圖像檢測(cè)技術(shù)得到了巨大發(fā)展[2]。傳統(tǒng)的機(jī)器視覺方法用于缺陷識(shí)別,通常涉及灰度變換[3]、平滑濾波[4]、閾值分割、邊緣檢測(cè)[5]和輪廓提取等步驟。然而,這種傳統(tǒng)方法在準(zhǔn)確率、穩(wěn)定性和實(shí)時(shí)性方面存在著一些限制,導(dǎo)致其識(shí)別效果不理想且無法滿足實(shí)時(shí)性要求。隨著傳統(tǒng)目標(biāo)檢測(cè)算法的發(fā)展,性能提升也遇到了瓶頸。
算法主要存在以下問題:檢測(cè)圖像的同時(shí)會(huì)生成大量冗余的候選區(qū)域,從復(fù)雜的圖像中提出具有豐富語義信息的區(qū)域十分困難。因此,在面對(duì)復(fù)雜背景、光照不足、缺陷較小的場(chǎng)景時(shí),傳統(tǒng)目標(biāo)檢測(cè)算法容易出現(xiàn)漏檢和誤檢操作,導(dǎo)致檢測(cè)精度低、實(shí)時(shí)性差,并且泛化能力弱[6]。
為了解決這個(gè)問題,提出了一種多尺度加權(quán)特征融合網(wǎng)絡(luò),通過自適應(yīng)加權(quán)特征融合捕獲全局上下文信息,增加檢測(cè)網(wǎng)絡(luò)的感受野并提取高級(jí)缺陷特征。采用改進(jìn)的Retinex 圖像增強(qiáng)方法[7],學(xué)習(xí)從低光圖像到正常圖像的端到端映射,提升特征提取中的特征表示,獲得噪聲少的圖像,還能大幅度提升圖像的亮度,對(duì)于細(xì)節(jié)特征的提取有很大的優(yōu)勢(shì)。同時(shí)在模型中加入坐標(biāo)注意(CA)模塊[8],學(xué)習(xí)輸入圖像的通道間缺陷特征信息和位置信息,從而增強(qiáng)目標(biāo)特征并抑制無用特征。
通過學(xué)習(xí)輸入訓(xùn)練數(shù)據(jù)的固有特征,在沒有標(biāo)簽信息的情況下學(xué)習(xí)一些特征和聯(lián)系,并根據(jù)無標(biāo)簽數(shù)據(jù)的模式自動(dòng)對(duì)輸入訓(xùn)練數(shù)據(jù)進(jìn)行分類[9]。將正樣本對(duì)的距離最小化以及負(fù)樣本對(duì)的距離最大化,獲取具有較強(qiáng)區(qū)分性的正負(fù)樣本內(nèi)在表示,依賴數(shù)據(jù)本身的固有特征和關(guān)系,以自動(dòng)對(duì)未標(biāo)記的數(shù)據(jù)進(jìn)行分類。新的竹筷圖片輸入到模型當(dāng)中時(shí),將原始特征分布投影到低維特征,以擴(kuò)大缺陷和噪聲背景之間的距離,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)序列的前幾個(gè)表示,并進(jìn)行后續(xù)表示的預(yù)測(cè)。當(dāng)序列的表示屬于相同類別(正時(shí)),預(yù)測(cè)與真實(shí)表示的距離被期望保持較?。蝗绻罄m(xù)的片段被其他類別的數(shù)據(jù)隨機(jī)替換(負(fù)時(shí)),則預(yù)測(cè)與真實(shí)表示的距離被期望保持較大。模型從中抽取序列中的關(guān)鍵特征,并在訓(xùn)練中使得正樣本的表示更為接近,負(fù)樣本的表示更為遠(yuǎn)離。與傳統(tǒng)的檢測(cè)方法相比,該方法對(duì)于數(shù)據(jù)集樣本的限制更少,計(jì)算的復(fù)雜度更低,為實(shí)際應(yīng)用提供了更好的選擇。
EfficientNet[10]對(duì)CNN 的維度進(jìn)行縮放,包括深度、寬度,以及圖像分辨率,以實(shí)現(xiàn)網(wǎng)絡(luò)的高效性。采用了復(fù)合縮放方法,使用移動(dòng)倒瓶頸卷積(MB-Conv)作為基線網(wǎng)絡(luò),并將其擴(kuò)展為EfficientNet,在各個(gè)維度上實(shí)現(xiàn)網(wǎng)絡(luò)的擴(kuò)展。EfficientNetv2[11]進(jìn)一步優(yōu)化了該架構(gòu),動(dòng)態(tài)調(diào)整正則化方法,以適應(yīng)訓(xùn)練圖像的大小,在訓(xùn)練速度和參數(shù)數(shù)量上超越了EfficientNet。EfficientNetv2 的核心結(jié)構(gòu)包括移動(dòng)翻轉(zhuǎn)瓶頸卷積結(jié)構(gòu)(MBConv)和融合移動(dòng)翻轉(zhuǎn)瓶頸卷積結(jié)構(gòu)(Fused_MBConv)模塊,這些模塊共同構(gòu)成了高效的網(wǎng)絡(luò)設(shè)計(jì)。其結(jié)構(gòu)如圖1所示。
圖1 MBConv和Fused-MBConv結(jié)構(gòu)圖
將輸入的圖片做一次線性變換降維,同時(shí)嵌入位置信息,再輸入到主干網(wǎng)絡(luò)中進(jìn)行特征提取,以獲得特征映射。特征金字塔網(wǎng)絡(luò)[12]在主干網(wǎng)絡(luò)當(dāng)中融合了輸入圖像的多層次特征,增強(qiáng)了特征的多尺度表達(dá)。通過多通道的處理,將這些特征映射整合在一起,形成多通道的特征表示,模型可以更全面地捕捉圖像的局部和全局特征。提高對(duì)圖像內(nèi)容的抽象和理解,并為后續(xù)的任務(wù)(如目標(biāo)檢測(cè)、分類等)提供更具信息豐富的輸入。利用候選區(qū)域網(wǎng)絡(luò)(RPN)生成候選框[13],框是由特征映射上提出的。形成了候選框架,使用預(yù)定義的區(qū)域提取網(wǎng)絡(luò)和由主干網(wǎng)絡(luò)生成的特征映射。特征映射被發(fā)送到候選框網(wǎng)絡(luò),以生成所需的候選框,將ROI 池化層的特征映射傳遞到完全連接層和激活層,得到坐標(biāo)回歸參數(shù)和模型損失。模型能夠?qū)W習(xí)如何準(zhǔn)確地定位和分類目標(biāo),調(diào)整坐標(biāo)參數(shù)實(shí)現(xiàn)檢測(cè)任務(wù),其整體架構(gòu)如圖2所示。
圖2 整體架構(gòu)圖
坐標(biāo)注意力機(jī)制對(duì)輸入特征圖在水平和垂直方向進(jìn)行平均池化,生成兩個(gè)一維向量。兩個(gè)向量在空間維度上拼接,并通過1*1 的卷積層減少通道數(shù)。對(duì)得到的特征向量進(jìn)行批量歸一化和非線性激活操作[14],以捕捉垂直和水平方向的空間信息。兩個(gè)1 × 1 的卷積操作,將編碼后的向量分別調(diào)整為與輸入特征圖相同的通道數(shù)。最終,通過歸一化加權(quán)的方式,融合了水平和垂直方向的信息,生成最終的輸出特征圖。
SE 注意力機(jī)制關(guān)注于通過建模通道關(guān)系重新評(píng)估每個(gè)通道的重要性,卻忽視了位置信息的關(guān)鍵性。在生成空間選擇性的注意力圖時(shí),位置信息具有重要意義。坐標(biāo)注意力機(jī)制捕獲位置信息和通道信息,全局池化方法用于通道注意力編碼空間信息的全局編碼,但是由于全局空間信息壓縮到通道描述符當(dāng)中,很難保存位置信息。為了使注意力機(jī)制能夠捕獲具有準(zhǔn)確位置信息的遠(yuǎn)程空間交互,全局池化轉(zhuǎn)為一對(duì)一維特征編碼,增強(qiáng)特征的表達(dá)能力。對(duì)于給定的輸入X,每個(gè)通道使用維度(H,1)和(1,W)的池化內(nèi)核沿水平和垂直坐標(biāo)方向進(jìn)行編碼。高度為h的第c個(gè)通道的輸出為
寬度為w的第c個(gè)通道的輸出為
在兩個(gè)空間方向上,分別進(jìn)行兩種變換聚合特征,獲得一對(duì)方向感知的特征圖。使得注意力模塊能夠捕獲沿一個(gè)空間方向的長(zhǎng)期依賴關(guān)系,同時(shí)在另一個(gè)空間方向上保持準(zhǔn)確的位置信息。這種方式有助于網(wǎng)絡(luò)更加準(zhǔn)確地定位感興趣的目標(biāo)。
坐標(biāo)Attention 生成是為了更好地利用上述變換獲取全局感受野,并編碼準(zhǔn)確的位置信息生成的表示。將模塊生成的兩個(gè)特征圖級(jí)聯(lián)起來,然后使用1 × 1 共享的卷積進(jìn)行變換,生成f∈RC/r×(H+W)是水平和垂直方向空間信息的中間特征圖。r代表下采樣率,與SE 模塊一樣用來控制模塊的大小。接下來,沿著空間維度劃分f為兩個(gè)獨(dú)立的張量f h∈RC/r×H和f W∈RC/r×W,復(fù)用兩個(gè)1 × 1 卷積Fh和Fw變換特征圖f h和f w到與輸入X相同數(shù)量的通道。公式為
其中,σ是一個(gè)sigmoid 函數(shù)。為了降低網(wǎng)絡(luò)復(fù)雜度,采用適當(dāng)?shù)南虏蓸颖萺來減少通道數(shù)。gh和gw被擴(kuò)展為注意力權(quán)重。最后,坐標(biāo)注意力塊的輸出表示如下:
坐標(biāo)注意力模塊將位置信息嵌入通道注意力,并將通道注意力分解為兩個(gè)并行的一維特征碼,將空間坐標(biāo)信息有效地整合到生成的特征圖中。每個(gè)特征圖捕獲輸入特征圖沿空間方向的遠(yuǎn)程依賴性。將CA 嵌入到Fused-MBConv和MBConv模塊中,其結(jié)構(gòu)如圖3所示。
圖3 引入CA的Fused-MBConv和MBConv模塊
光照不足通常導(dǎo)致圖像質(zhì)量下降,表現(xiàn)為噪聲和偽影。這類圖像無法滿足高級(jí)視覺任務(wù)需求,為解決低亮度和低對(duì)比度問題,提出了一種利用Retinex 理論增強(qiáng)弱光圖像的改進(jìn)方法,改進(jìn)的Retinex 圖像增強(qiáng)方法主要由Decom-Net 和Enhance-Net 兩部分組成,Decom-Net接受低照度圖像作為輸入,其輸出包括光照?qǐng)D像和反射圖像。兩個(gè)分解出的圖像分別輸入Enhance-Net,以獲取增強(qiáng)的照度圖像,此過程通過Enhance-Net提升圖像亮度。經(jīng)過增強(qiáng)的照度圖像與分解后的反射圖像進(jìn)行合并,形成最終的增強(qiáng)結(jié)果。通過分解-增強(qiáng)-融合的流程,系統(tǒng)能夠有效處理低照度條件下的圖像,提高圖像質(zhì)量和細(xì)節(jié)。這種復(fù)合方法不僅能夠應(yīng)對(duì)低照度挑戰(zhàn),同時(shí)確保光照和反射信息得到充分優(yōu)化。一個(gè)分解損失函數(shù)由三個(gè)分量組成:重建損失、反射分量一致性損失和照明平滑度損失。分解函數(shù)的公式如下:
其中:LReconstruction表示重建損失項(xiàng),LReflectance表示反射分量一致性損失項(xiàng),LIllumination表示照明平滑度損失項(xiàng),λ1,λ2,λ3是權(quán)衡不同損失項(xiàng)的系數(shù)。
實(shí)驗(yàn)所用GPU 為NVIDIA GeForce RTX 3090 GPU,顯存大小為24 GB,所用操作系統(tǒng)為Ubuntu 20.04 LTS,深度學(xué)習(xí)框架為PyTorch 1.8.1,Python 3.8 版本。訓(xùn)練網(wǎng)絡(luò)時(shí),Batch_size為16,初始學(xué)習(xí)率為0.0001,迭代總批次為2000,權(quán)重衰減設(shè)置為0.00001,學(xué)習(xí)率每100輪進(jìn)行一次衰減來保證模型更好地收斂。
根據(jù)竹筷缺陷檢測(cè)實(shí)驗(yàn),采用PLC、變頻器、彈出機(jī)構(gòu)等,搭建一次性竹筷檢測(cè)平臺(tái),實(shí)現(xiàn)竹筷上料、智能檢測(cè)、次品剔除等操作環(huán)節(jié),搭建的實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)如圖4所示。
圖4 檢測(cè)實(shí)驗(yàn)平臺(tái)
本實(shí)驗(yàn)圖像采集使用工業(yè)攝像頭對(duì)一次性竹筷進(jìn)行拍攝,數(shù)據(jù)集圖像尺寸統(tǒng)一為60×1500像素大小,按照一次性竹筷分級(jí)標(biāo)準(zhǔn)GB 19790.2—2005,一共六類缺陷,分為彎曲、長(zhǎng)短、蟲蛀、霉變、腐朽、破裂。每類缺陷樣本約800張,所含正常竹筷圖像約5000 張,按照7∶2∶1 的比例劃分訓(xùn)練集、測(cè)試集和驗(yàn)證集。
表1 一次性竹筷表面缺陷檢測(cè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果(%)
為進(jìn)一步為驗(yàn)證CA 機(jī)制在本文改進(jìn)的一次性竹筷缺陷檢測(cè)模型中的有效性,將CA 機(jī)制和SE、GAM 注意力機(jī)制進(jìn)行對(duì)比實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果見表2。
表2 一次性竹筷表面缺陷檢測(cè)數(shù)據(jù)集消融實(shí)驗(yàn)(%)
實(shí)驗(yàn)采用準(zhǔn)確率(Accuracy)作為驗(yàn)證集的評(píng)價(jià)指標(biāo),表示所有正確分類的缺陷樣本占總被測(cè)樣本的比例。F1指標(biāo)(F1-score,F(xiàn)1)兼顧分類模型的精確率(Precision,P)和召回率(Recall,R),是一種調(diào)和平均值,與混淆矩陣一起作為評(píng)價(jià)模型學(xué)習(xí)性能的指標(biāo)。
式中:TP(True Positive)為正樣本被正確識(shí)別為正樣本的數(shù)量,F(xiàn)P(False Positive)為負(fù)樣本被錯(cuò)誤識(shí)別為正樣本的數(shù)量,TN(True Negative)為負(fù)樣本被正確識(shí)別為負(fù)樣本的數(shù)量,F(xiàn)N(False Negative)為正樣本被錯(cuò)誤識(shí)別為負(fù)樣本的數(shù)量,sum代表所有被檢測(cè)數(shù)據(jù)例的個(gè)數(shù)。
以一次性竹筷為檢測(cè)對(duì)象,針對(duì)基于機(jī)器視覺中對(duì)一次性竹筷檢測(cè)識(shí)別困難、對(duì)特征提取不敏感、且缺陷樣本不足、檢測(cè)效率低等問題,提出了一種多尺度加權(quán)特征融合網(wǎng)絡(luò),通過對(duì)原始圖像進(jìn)行Retinex 分解、光照調(diào)整和反射率恢復(fù)來提升對(duì)圖像中紋理和顏色細(xì)節(jié)的特征提取能力;在訓(xùn)練階段充分利用大量正常樣本進(jìn)行特征學(xué)習(xí),更好地捕捉正常狀態(tài)下的復(fù)雜紋理和結(jié)構(gòu)特征,面對(duì)具有不同缺陷類型的測(cè)試圖片時(shí)表現(xiàn)出更高的鑒別能力;在架構(gòu)中加入了坐標(biāo)注意力機(jī)制(CA),學(xué)習(xí)輸入圖像通道間的特征信息和位置信息,以增強(qiáng)對(duì)復(fù)雜相似背景下特征的表示,更加關(guān)注缺陷特征信息。實(shí)驗(yàn)結(jié)果表明,本文所提出的方法在一次性竹筷缺陷檢測(cè)任務(wù)中展現(xiàn)出較好的魯棒性,為實(shí)際應(yīng)用提供了可靠而有效的解決方案。