李興科,宋建熙,李西兵
(福建農林大學,福建 福州 350108)
皮革是由動物皮通過一系列物理、化學加工方法獲取的[1]。在加工過程中難免會產生各種缺陷,如劃痕、孔洞和污點等。為了提高皮料的利用率,得到更高的皮革制品生產經濟效益,對其表面缺陷的檢測和分類不可或缺。
傳統的圖像缺陷分類方案是首先對圖像進行特征提取和描述,再采用模式識別相關技術對分類器進行訓練,最后對目標進行分類[2-4]。在皮革缺陷檢測的方案中,紋理特征和直方圖特征能夠有效地表征皮革缺陷和表面的差異。
近年來,深度學習神經網絡發展迅速,通過對大量數據圖像的學習,能夠很好地獲取對數據圖像進行分類所需的特定特征[5-6]。比如卷積神經網絡能夠通過訓練獲取圖像的一般特征,并在多次的卷積、池化處理后,獲取圖像更復雜和抽象的特征,能夠很好地滿足特定圖像的識別分類。
然而深度學習對數據量的要求很高,隨著訓練數據量的增大,圖像分類任務的性能將呈對數增長[7],需要有大量的標記數據集來滿足深度學習分類任務的要求?,F有的各類皮革缺陷圖像數據集很少,獲取大型數據集的難度很大。在這種情況下,通過紋理圖像特征描述方法進行特征提取,將得到更能表現皮革缺陷的特征,再通過多層感知器神經網絡訓練特征,可以得到更好的訓練效果。
本文采用的圖像獲取平臺由一個CMOS 工業相機、可調節支架以及兩個線型光源組成。通過相機采集的皮革表面圖像分辨率為2592×1944,通過圖像分割,將圖像以大小為200×150像素的非重疊塊進行分割,以此建立皮革表面圖像數據庫,其中包括180 張有缺陷圖像和60 張無缺陷圖像。
圖像增廣是一種對圖像進行處理,產生相似但不相同的樣本,以擴大數據規模的圖像處理方法。對神經網絡訓練樣本進行圖像增廣可以提高分類模型的泛化能力,降低模型對特定位置的敏感程度。本文通過垂直鏡像翻轉,水平鏡像翻轉以及對角鏡像翻轉的形式進行圖像增廣。圖像增廣處理后皮革數據包括劃痕缺陷圖像為240 張,孔洞缺陷圖像為240 張,污點缺陷圖像為240張,無缺陷圖像為240 張,共960 張樣本圖像。
由于皮革圖像中缺陷顏色變化不規律,難以提供關鍵信息,而灰度化處理后圖像矩陣的維數下降,后續的運算速度會有很大提升,并且梯度等重要信息仍然保留,因此對皮革圖像進行灰度化處理。
皮革圖像的灰度強度變化三維圖如圖1 所示,皮革圖像中背景存在不均勻紋理。Gabor 濾波器已廣泛運用于紋理材料的缺陷檢測,可以有效獲取紋理圖像的局部空間和頻率域信息。因此對皮革灰度圖像進行Gabor 濾波處理,Gabor 濾波處理后的圖像如圖2 所示。可以看到Gabor 濾波處理后圖像灰度更平滑的同時保留了皮革表面的紋理特性。
灰度直方圖通過對皮革圖像中的灰度級分布進行統計,能夠有效地描述豐富的皮革表面信息,因此可以通過圖像灰度分布的特征描述皮革圖像缺陷[8]。將預處理后的皮革圖像轉換成向量,計算其六個統計特征,包括偏度(Skew)、峰度(Kurt)、均值(Mean)、方差(Var)、上四分位數(Q3)和下四分位數(Q1)。根據計算結果,四類皮革圖像樣本灰度分布特征中上四分位數與下四分位數分布區間相似,為了減少特征數據冗余,不采用上四分位數(Q3)作為圖像灰度分布統計特征描述。
灰度共生矩陣能夠利用灰度的空間相關性對紋理進行描述,其統計特征對紋理圖像有良好的鑒別能力[9]。將預處理后的皮革圖像轉換成灰度共生矩陣,計算其八個統計特征,包括熵(Entropy)、對比度(Contract)、能量(Energy)、同質性(Homogeneity)、相異性(Dissimilarity)、x 軸方向均值(Mean_x)、x 軸方向方差(Variance_x)、相關性(Correlation)。
本文構造了一個三層全連接神經網絡即多層感知器神經網絡,兩個隱藏層分別有20 個神經元,其典型架構如圖3 所示。多層感知器神經網絡級聯多個變換來實現輸入到輸出的映射,經過對訓練集樣本數據的學習后,神經網絡可以實現對樣本數據的非線性分類。
其中輸出層有4 個神經元,對應4 類皮革缺陷圖像,通過One-Hot 編碼方式對四種類別進行“二進制化”編碼。采用One-Hot 編碼方式,將離散型特征映射到歐式空間,能夠更好地計算特征之間的距離。兩個隱藏層采用的激活函數為ReLU,如式(1)所示。ReLU 激活函數相較logistic 激活函數和tanh 激活函數具有更高效的梯度下降和反向傳播。
輸出層后接SoftMax 函數,如式(2)所示。因此輸出層不設激活函數,采用恒等函數,如式(3)所示。
式中:x為輸出層輸入向量的第i個分量,Ii為輸出層的第i個神經元的仿射值。
將訓練樣本x作為輸入,得到的輸出是多分類概率分布(p1、p2...pi)T,對這個概率分布應用交叉熵損失,交叉熵損失函數如式(4)所示。
式中:yi是標簽向量y的第i分量,標簽向量y只有一個分量為1,其余分類為0,表示訓練樣本的類別,本文對4 類皮革樣本進行分類。
權值矩陣以0 均值、0.001 標準差的正態分布初始化,偏置向量以0 值初始化,采用反向傳播算法與Adam 算法更新權值矩陣和偏置向量,Adam 算法更新規則由式(5)-(9)給出。
式中:gt為當前參數的梯度,mt、vt為更新后的一階動量和二階動量,ηt為當前時刻的下降梯度,θt+1為更新后的權值或偏置,一次取M個訓練樣本計算梯度平均值,M取經典默認值32,超參數β1、β2取經典默認值0.9、0.99,初始學習率α取0.001。
實驗采用Windows 平臺,基于Python 編程語言實現特征提取和多層感知器神經網絡框架的搭建。配置為IntelCorei5-9600KF 3.70GHzCPU 處理器,NVIDIAGeForceGTX1050Ti 顯卡。
實驗中皮革圖像樣本共960 張,包含劃痕缺陷圖像240 張,孔洞缺陷圖像240 張,污點缺陷圖像240 張,無缺陷圖像240 張。根據上文的多種特征提取方法提取皮革圖像特征,以該特征組合描述皮革表面圖像,并對不同特征組合的樣本進行分類標記,其中劃痕為H、空洞為K、污點為W、無缺陷為N,如表1 所示。

表1 皮革圖像特征組合示例Tab.1 Sample of feature combination of leather image
將樣本隨機洗牌后,取前720 個樣本為訓練集,其余樣本為測試集。通過構造的多層感知器神經網絡對訓練集樣本進行訓練,迭代次數以200 次為梯度依次遞增,進行50 次實驗,不同迭代次數的測試準確率實驗結果如圖4 所示,在迭代次數達到8000 次以后測試集的平均分類準確率穩定在98%上下。
在進行迭代10000 次后對各類皮革圖像測試集樣本的識別準確率如表2 所示。由表2 可以看出經過訓練的感知器神經網絡能夠識別分類皮革缺陷,分類的總體準確率為98.8%。該方法對皮革表面圖像中不同缺陷的分類準確率高于現有的技術,如支持向量機[10]、殘差網絡[5]。這些結果表明該方法對四類皮革圖像的分類效果有所提升,能夠更好地應用于皮革產業自動化生產的皮革表面缺陷檢測分類環節中。
本文基于皮革表面存在不均勻紋理的特點構造出了多種皮革表面圖像的紋理和缺陷特征,將這些特征以特征組合的形式作為后續分類的數據集,并構造了基于多層感知器神經網絡的分類方法對皮革缺陷圖像進行分類,實驗結果表明,相較于現有的皮革表面圖像缺陷分類技術,采用本文構建的基于多層感知器和特征組合的分類方法的總體分類準確率有一定的提升,能夠滿足皮革生產過程中自動缺陷分類的需要。

表2 測試集樣本分類準確率Tab.2 The accuracy of test set samples