趙瑩瑩
(廣西工業(yè)職業(yè)技術(shù)學院,廣西 南寧 530001)
食品包裝作為現(xiàn)代食品產(chǎn)業(yè)的重要組成部分,不僅具有包裝和保護食品的功能,還扮演了關(guān)鍵的市場宣傳和品牌傳遞的角色。然而,在食品包裝的生產(chǎn)過程中,由于各種因素的影響,可能會出現(xiàn)各種缺陷,如破損、污漬、印刷不良等問題,這不僅會損害產(chǎn)品的外觀質(zhì)量,還可能對產(chǎn)品的安全性產(chǎn)生不利影響[1-2]。因此,對食品包裝的缺陷進行及時而有效的檢測變得尤為重要[3-4]。隨著計算機視覺和機器學習技術(shù)的快速發(fā)展,機器視覺檢測成為自動化生產(chǎn)過程中廣泛應(yīng)用的技術(shù)之一[5-7]。機器視覺系統(tǒng)能夠高速和高精度地對產(chǎn)品進行檢測,為制造商提供了一種強有力的工具,以確保產(chǎn)品的質(zhì)量和一致性。在這一背景下,針對食品包裝的機器視覺檢測方法的研究變得至關(guān)重要。
本文旨在探討針對食品包裝的機器視覺檢測方法,以提高食品包裝缺陷的檢測效率和準確性。首先,介紹構(gòu)建食品包裝缺陷檢測系統(tǒng)的基本框架;然后,詳細描述基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的缺陷檢測方法,該方法已被廣泛用于計算機視覺任務(wù),具有強大的特征提取和分類能力;最后,對所提出方法進行了實驗,驗證其在實際應(yīng)用中的有效性。
食品包裝缺陷檢測的機器視覺系統(tǒng)由圖像采集模塊和上位機兩大部分組成,如圖1所示。系統(tǒng)工作時,在檢測區(qū)域,光源照亮食品包裝,工業(yè)相機捕捉圖像數(shù)據(jù),這些圖像數(shù)據(jù)傳輸?shù)缴衔粰C。上位機的圖像識別模塊對圖像進行處理和特征提取,然后傳遞給缺陷檢測模塊。缺陷檢測模塊運用預(yù)訓練的模型來判斷圖像中是否存在食品包裝缺陷,并對缺陷進行分類。最后,系統(tǒng)可以根據(jù)檢測結(jié)果采取相應(yīng)的控制措施,如自動拒絕有缺陷的包裝或進行進一步的質(zhì)量控制。
圖1 系統(tǒng)框架
CNN[8-10]是一種深度學習模型,包括輸入層、卷積層、特征圖、降采樣層、全連接層和輸出層,如圖2所示。輸入層接收原始圖像數(shù)據(jù)。通常,輸入圖像被表示為多通道的矩陣,其中每個通道對應(yīng)于圖像的不同特征。輸入層的輸出是一個三維張量,其維度由圖像的高度、寬度和通道數(shù)決定。卷積層是CNN的核心部分,用于提取圖像中的特征:
圖2 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
(1)
其中,I為輸入圖像;K為卷積核;(x,y)為輸出特征圖中的位置;(i,j)為卷積核的坐標;a和b分別為卷積核的高度和寬度。卷積層的輸出被稱為特征圖,每個特征圖對應(yīng)一個卷積核,捕捉輸入圖像的不同特征。降采樣層用于減小特征圖的空間分辨率,減少計算復(fù)雜度,并提高模型的泛化能力。常用的降采樣操作是池化(Pooling):
P(x,y)=maxi,jF(x+i,y+j)
(2)
其中,P為池化后的特征圖;F為輸入特征圖;(x,y)為輸出特征圖中的位置;(i,j)為池化區(qū)域的坐標。全連接層將降采樣后的特征圖轉(zhuǎn)換為一個向量,然后通過一個全連接的神經(jīng)網(wǎng)絡(luò)層進行分類或回歸等任務(wù):
Z=WX+b
(3)
其中,Z為輸出向量;W為權(quán)重矩陣;X為輸入向量;b為偏置向量。輸出層生成CNN的最終輸出,通常用于分類問題,它可以采用 softmax 函數(shù)將輸出轉(zhuǎn)化為類別概率分布:
(4)
其中,P(y=i|X)為輸入樣本屬于第i類的概率;Zi為全連接層的輸出中的第i個元素;N為類別總數(shù)。
要使用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)食品包裝的缺陷檢測,可以遵循以下步驟。
(1)數(shù)據(jù)采集和標注:收集包括正常和缺陷食品包裝的圖像數(shù)據(jù)集。
(2)數(shù)據(jù)預(yù)處理:對數(shù)據(jù)進行預(yù)處理,包括調(diào)整圖像大小、歸一化像素值和數(shù)據(jù)增強。數(shù)據(jù)增強可以通過隨機旋轉(zhuǎn)、翻轉(zhuǎn)和裁剪等方法增加數(shù)據(jù)集的多樣性,提高模型的泛化能力。
(3)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò):確保網(wǎng)絡(luò)能夠適應(yīng)輸入圖像的尺寸和通道數(shù),并具有足夠的深度以提取特征。
(4)模型訓練:使用數(shù)據(jù)集訓練卷積神經(jīng)網(wǎng)絡(luò),并通過優(yōu)化損失函數(shù)來更新模型的權(quán)重。
(5)模型評估:對訓練后的模型進行評估,使用獨立的測試數(shù)據(jù)集來測量模型的性能。
(6)缺陷檢測:將訓練好的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于實際的食品包裝圖像以進行缺陷檢測。
(7)調(diào)整和優(yōu)化:根據(jù)實際應(yīng)用的需求,可以對模型進行微調(diào)和優(yōu)化,以提高檢測的性能和魯棒性,包括調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)、超參數(shù)和數(shù)據(jù)增強策略。
為了對模型進行測試,本文構(gòu)建了產(chǎn)品包裝數(shù)據(jù)集:首先,收集包括正常和缺陷食品包裝的圖像數(shù)據(jù),這些圖像為在線資源,確保數(shù)據(jù)涵蓋各種包裝類型、形狀、大小和缺陷類型;其次,對收集的圖像進行標注,以明確每個圖像是否存在缺陷以及缺陷的類型和位置;最后,將數(shù)據(jù)集分成訓練集和測試集。
當使用食品包裝數(shù)據(jù)集進行缺陷檢測實驗時,實驗分為訓練和測試2個階段。
3.2.1 訓練階段
(1)數(shù)據(jù)準備。將數(shù)據(jù)集的70%劃分為訓練集,30%劃分為測試集。
(2)數(shù)據(jù)預(yù)處理。對數(shù)據(jù)進行預(yù)處理,包括圖像大小調(diào)整、像素歸一化和數(shù)據(jù)增強。
(3)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)。設(shè)計卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括卷積層、池化層、全連接層和輸出層。
(4)模型訓練。使用訓練數(shù)據(jù)集訓練卷積神經(jīng)網(wǎng)絡(luò),通過優(yōu)化損失函數(shù)來更新模型參數(shù)。
3.2.2 測試階段
(1)模型評估。使用測試集對訓練好的模型進行評估,計算準確度、召回率、精確度和F1分數(shù)等性能指標。
(2)缺陷檢測。將訓練好的模型應(yīng)用于新的未見數(shù)據(jù)(即真實食品包裝圖像),以檢測缺陷并輸出檢測結(jié)果。
(3)模型優(yōu)化。根據(jù)測試結(jié)果,對模型進行微調(diào)和優(yōu)化,以提高性能和魯棒性。
本文采用準確度、召回率、精確度和F1分數(shù)對模型進行綜合性評估,結(jié)果如表1所示。模型在整個測試數(shù)據(jù)集上的準確率為94.0%,表示模型正確分類了94.0%的樣本,包括正常和缺陷的食品包裝。模型在檢測缺陷食品包裝方面表現(xiàn)良好,召回率為93.8%,意味著模型成功捕獲了93.8%的實際缺陷樣本;精確度為95.4%,表示模型在預(yù)測為缺陷的樣本中,有95.4%的預(yù)測是正確的;模型的F1分數(shù)為94.6%,綜合考慮了召回率和精確度,可用于衡量模型的整體性能。綜合來看,模型在食品包裝缺陷檢測任務(wù)中表現(xiàn)出較高的準確度和F1分數(shù),這表明其在對正常和缺陷樣本的分類中都取得了良好的結(jié)果。
表1 實驗結(jié)果
本研究構(gòu)建了一個機器視覺系統(tǒng),利用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)了食品包裝缺陷的自動化檢測。該系統(tǒng)的核心部分包括圖像采集模塊和上位機,協(xié)同工作,以高效、準確地檢測食品包裝的缺陷。通過詳細的數(shù)據(jù)準備、模型訓練和測試流程,本文獲得了有關(guān)模型性能的評估結(jié)果,表明模型在分類和檢測正常和缺陷食品包裝方面表現(xiàn)出良好的性能。
這項研究成果具有廣泛的實際應(yīng)用前景,不僅可以用于食品包裝質(zhì)量控制,還可以應(yīng)用于其他制造業(yè)領(lǐng)域的缺陷檢測任務(wù)。此外,隨著深度學習和機器視覺技術(shù)的不斷發(fā)展,相信這個研究能為未來的自動化質(zhì)量控制提供有益的基礎(chǔ),有望推動工業(yè)生產(chǎn)的提質(zhì)增效。