苗宇杰 祝詩平 普 京 李俊賢 馬羚凱 黃 華
(西南大學工程技術學院 重慶 400716)
家具是日常工作和生活中的必備物品,且隨著人們生活水平不斷提高和居住環(huán)境逐漸改善,人們越來越傾向購買實木家具。涂飾木蠟油不僅可以滋養(yǎng)木材,防止木材開裂,增強木材表面硬度、光澤度和耐磨性,防水防污,對木材起到良好的防護和裝飾作用(趙暢等,2016),而且也使得木材紋理能夠更加完美地展示出來。然而,木材品種繁多、價格相差懸殊,經木蠟油涂飾后的木材表面與一些昂貴木材類似(陳宏偉等,2021),導致實木家具市場上經常出現(xiàn)以假亂真、以次充好的現(xiàn)象,嚴重損壞消費者利益。
傳統(tǒng)木材種類識別主要通過肉眼或借助放大鏡(10 倍)進行觀察,還可通過年輪、木射線和髓心的形態(tài)做出判斷,同時分析木材的物理特征,如顏色、質量和氣味等(Wheeleret al.,1998),該方法主觀性強,且費時、費力、效率低。在木材種類自動化識別領域中,一些學者基于木材顯微圖像展開研究,如Martins 等(2013)提出一種基于圖像分割和多特征集的分類方法,用于識別數據庫中112 種木材顯微圖像。也有一些學者基于光譜展開探索,如Nisgoski 等(2017)應用人工神經網絡對近紅外光譜不同波段進行檢測,實現(xiàn)了對4 種木材的分類識別;Zhao 等(2016) 提出一種基于木材表面光譜特征的木材識別方案,對東北地區(qū)5種常見木材進行分類,準確率達95%?;陲@微圖像和光譜的識別技術,雖然取得了不錯效果,但是設備昂貴、操作復雜,尤其在制作顯微切片時會損壞木材,因此,這些方法更適合用于實驗室分析,實際生活中對成品家具木材的種類識別并不合適。
近年來,基于宏觀圖像的木材種類識別,因其靈活性和可操作性受到越來越多關注,很多學者通過提取木材顏色特征(Zhao,2013)或紋理特征(Barmpoutiset al.,2018)識別木材種類。Souza 等(2020)在實驗室利用砂紙打磨木材表面并使用Zeiss Discovery V 12 顯微鏡獲取46 種放大10 倍的高分辨率(150 dpi)圖像,提取圖像局部二值模式(local binary patterns,LBP)紋理特征,通過支持向量機(support vector machine,SVM)分類器識別木材,準確率達97.67%。
上述方法提取木材特征均需人工完成,圖像預處理和特征選擇會消耗大量時間,而以卷積神經網絡(convolutional neural networks,CNN)為代表的深度學習方法可自動提取特征并進行概率預測,目前已在圖像識別、自然語言處理和文本分析等方面取得了不錯效果;但CNN 需要大量的標記樣本進行訓練以及強大的圖像處理器(graphics processing unit,GPU)加速學習(Hanet al.,2018),且復雜的CNN 深層網絡還要花費大量時間調參。無論是訓練一個大的網絡模型還是收集大量數據都是一個耗時的過程,而遷移學習可以很好解決上述問題。在農業(yè)領域,已有很多學者將CNN 用于諸多方面(李鑫然等,2021;鮑烈等,2020),結果表明CNN 能夠提供更好的性能,優(yōu)于傳統(tǒng)機器學習方法。
也有不少學者將CNN 用于木材缺陷檢測(崔明光,2019;劉英等,2019;陳龍現(xiàn)等,2018)以及木材微觀圖像的種類識別(Heet al.,2020;Geuset al.,2020;李楠,2018),但基于木材宏觀圖像的種類識別研究還較少,尤其是經木蠟油涂飾后的家具木材種類識別未見報道。鑒于此,本研究基于AlexNet、ResNet34、MobileNetv2和MobileNetv3 這4 種比較成熟的CNN 對木材宏觀圖像的種類進行識別,與SVM 和人工神經網絡(artificial neural network,ANN)識別結果進行比較,分析不同模型性能以及涂飾木蠟油后木材數據對模型性能的影響,并選擇識別效果最好的模型設計木材宏觀圖像種類識別系統(tǒng),有效提高木材種類識別速度和精度,以期為木材資源的合理利用、木材進出口貿易管理及消費者確定家具木材種類提供一種科學有效的方法。
圖1a-d 為2020 年11 月21 日于重慶市九龍坡某家具廠拍攝,主要采集木材徑切面和弦切面,未涂飾木蠟油木材(以下統(tǒng)稱素材)紅橡(Quercusspp.)、水曲柳(Fraxinus mandshurica)、欖仁木(Terminaliaspp.)和欒葉蘇(Hymenaea cunrbaril)圖像共2 914 張。于重慶北碚某家具賣場拍攝的涂飾木蠟油紅橡和欖仁木圖像(圖1e、f)共966 張。
圖1 木材圖像示例Fig. 1 Examples of wood image
神經網絡需要固定維度的圖像,故所有圖像調整為224 像素×224 像素×3 通道。各類別圖像數據如表1所示。將RGB 圖像轉化為灰度圖像,提取圖像的LBP 和灰度共生矩陣(gray level co-occurrence matrix,GLCM)紋理特征,采用主成分分析(principal component analysis,PCA)對特征數據降維,獲取99.9%的有效特征信息,特征由272 維降至44 維,建立木材圖像特征數據庫,作為SVM(核函數為徑向基函數)和結構為44-100-4(輸入層為44 個神經元、隱含層為100 個神經元、輸出層為4 個神經元)ANN 的輸入數據。
表1 不同木材圖像數據數量Tab. 1 Number of different wood image data
硬件環(huán)境為Intel(R)Core(TM)i5-10200H CPU,主頻2.40 GHz, 運行內存 16 G, GPU 為 GeForce GTX1650Ti,顯存4 G。軟件環(huán)境為CUDA Toolkit 10.0, CUDNN V7.4.1.5;Python 3.7.1;Torch1.9.0;使用PyTorch 深度學習框架在PyCharm 平臺上構建模型。PyTorch 是一個高層神經網絡API,提供各種激活函數、損失函數和優(yōu)化器,可快速構建神經網絡模型,操作簡單,易于調試。
卷積神經網絡(CNN)是深度學習的代表算法之一,其通過權值共享與局部進行連接,可降低網絡模型復雜度。目前,CNN 已在圖像識別、自然語言處理等方面取得了成功,并陸續(xù)出現(xiàn)AlexNet、ResNet34、MobileNetV2 和MobileNetV3 等多種經典卷積神經網絡架構。
AlexNet(Krizhevskyet al.,2012)是計算機視覺領域首個被廣泛關注的深度卷積神經網絡模型,為LeNet 網絡的進階版,主要由5 個卷積層和3 個全連接層組成,還包括局部響應歸一化層Dropout 層。
ResNet34(Heet al.,2016)是由34 個卷積層組成的深度神經網絡模型,包括32 個卷積層和2 個全連接層。與傳統(tǒng)深度網絡結構不同,ResNet34 利用殘差學習思想,可訓練更深的網絡結構,同時避免梯度消失問題,能夠極大提高訓練效率和模型性能。
MobileNetV2(Sandleret al.,2018)引入deep-wise卷積替代ResNet34 的標準卷積方式,可大大減少卷積核的冗余表達,相較傳統(tǒng)深度神經網絡,具有更小的模型大小和更快的推理速度,同時保持較高的準確率。
MobileNetV3(Howardet al.,2020)在MobileNetV2的基礎上引入注意力機制,通過該機制,網絡可以學習使用全局信息選擇性地強調信息性特征、抑制不太有用的特征,且引入能有效改進網絡精度的h-swish激活函數(Howardet al.,2020):
另外,在網絡末端使用平均池化操作更改計算量大的層,降低計算量的同時不造成精度損失。MobileNetV3 的基本網絡結構單元(Howardet al., 2020)如圖2 所示。
圖2 MobileNetV3 bneck 結構Fig. 2 Structure of MobileNetV3 bneck
在木材種類圖像識別領域,難以獲取大規(guī)模數據集,CNN 模型在大型圖像數據集ImageNet 上得到充分訓練,擁有較好的圖像分類識別能力(張瑞青等,2020)。本研究基于遷移學習,利用AlexNet、ResNet34、MobileNetV2 和MobileNetV3 預訓練模型在ImageNet數據集上學到的大量知識,用于優(yōu)化木材種類圖像識別問題。
神經網絡遷移學習主要有2 個應用場景:特征提取和參數遷移(吳茂貴等,2019)。特征提取指在經ImageNet 數據集訓練好的網絡模型上,修改或添加1個新分類器,新任務訓練過程中,只訓練新分類器,網絡參數未進行訓練,故訓練速度較快,但識別精度較低。參數遷移則指在新任務訓練過程中,對網絡參數和分類器均進行訓練。經ImageNet 數據集訓練好的網絡模型,針對多分類問題已經可以達到較高的識別準確率,所以使用自己的數據集通過訓練調整網絡模型的特征參數,能夠很快適應新分類任務并獲得較好的識別效果。本研究采用ImageNet 數據集訓練好的多分類網絡模型,并將模型最后一個分類器輸出改為4,使用家具木材數據對網絡模型進行訓練,在訓練過程中優(yōu)化網絡特征參數和分類器,以更好適應家具木材種類識別問題。
對樣本進行測試后分別計算精度(Precision)和召回率(Recall),以綜合指標F1 得分作為精度和召回率的評估值,其中平均準確率=分類正確的數量/測試總數量,其他指標計算公式(Fabijańskaet al.,2021)如下:
式中:TP 為真陽性樣本數量;FP 為假陽性數量;FN 為假陰性樣本數量。
采用 AlexNet、 ResNet34、 MobileNetV2 和MobileNetV3 對素材圖像進行建模,并將素材數據集按6∶2∶2 分為訓練集、驗證集和測試集。提取素材圖像的LBP 和GLCM 紋理特征,經PCA 降維后,使用SVM 和ANN 進行分類。各模型分類結果如表2 所示。
表2 基于素材圖像的不同網絡模型學習結果Tab. 2 Learning results of different network models based on wood images coated without wood wax oil
結果顯示,SVM 和ANN 的訓練速度快于卷積神經網絡,但其準確率均未超過80%。Souza 等(2020)采用立體顯微鏡得到放大10 倍的高分辨率木材宏觀圖像,能夠獲取更為細微的木材紋理信息,識別準確率較高。在深度學習網絡模型中,AlexNet 訓練速度最快,一次迭代時間僅21.69 s,但驗證集準確率相對較低(82.61%),且模型較大(217 M)。ResNet34 的驗證集準確率最高(90.45%),但訓練時間較久,一次迭代用時74.13 s。MobileNetV2 與MobileNetV3 的訓練時間較接近,其中MobileNetV3 的驗證集準確率更高(89.25%),且模型較小,方便后期布置到嵌入式設備中。綜合考慮準確率和訓練時間,本研究選擇MobileNetV3 作為識別模型,并在此基礎上進行遷移學習和參數優(yōu)化。
基于素材圖像的MobileNetV3 結構不同參數訓練及驗證結果如表3 所示,在試驗1-12 中,將2 914 張素材圖像數據按6∶2∶2 和2∶6∶2 分為訓練集、驗證集和測試集,對訓練集數據進行擴充,并基于遷移學習優(yōu)化模型。為驗證遷移學習下數據集擴充對模型的影響,在試驗13-18 中未對訓練集進行擴充,將模型學習率分別設為0.01、0.001 與0.000 1 進行訓練。不同學習率下2 種學習方式的驗證集準確率與訓練損失如圖3 所示。
3.2.1 學習率對模型的影響 由表3 和圖3 可知,學習率對各模型訓練結果具有較大影響。試驗9 中,學習率為0.000 1,基于遷移學習,模型識別準確率最高、訓練損失最小、性能最優(yōu)。在全新學習方式下,學習率為0.01 時,試驗1 和4 的訓練損失和驗證集準確率均未得到有效收斂,且震蕩幅度較大;學習率為0.000 1時,模型驗證集準確率最低,較小的學習率容易使模型在訓練過程中陷入局部最優(yōu);學習率為0.001 時,試驗2 模型識別準確率最高達89.25%。在遷移學習方式下,隨著學習率降低,模型驗證集準確率反而升高。
3.2.2 遷移學習對模型的影響 在遷移學習方式下,因加載了預訓練模型,模型前端各層網絡均可獲得較好的訓練參數,模型剛開始訓練時就能得到較好的訓練結果。由圖3 可知,遷移學習對加速網絡收斂和提高驗證集準確率均有明顯促進作用。在全新學習方式下,試驗3 學習率為0.000 1 時,訓練初始階段驗證集準確率僅25%,訓練損失0.92。經約100 個epoch后,訓練損失得到收斂。在遷移學習方式下,試驗9模型訓練之初就已得到較低的損失值和較高的識別準確率,且網絡收斂迅速,經5 個epoch 后,模型平均準確率達到峰值。
3.2.3 數據擴充對模型的影響 由表3 和圖3 可知,數據擴充對模型訓練結果具有較大影響。在全新學方式下,按照不同比例劃分數據集,訓練集包含數據集越多模型識別準確率越高,網絡收斂效果越好。在試驗1-6 中,按照6∶2∶2 劃分數據集的模型識別效果較好,驗證集準確率和訓練損失均有效收斂。在試驗7-12 中,按照不同比例劃分數據集,并進行遷移學習。按照6∶2∶2 劃分數據集,試驗9 的識別效果最好,識別準確率達98.13%。在試驗13-18 中,按照不同比例劃分數據集,但未對訓練集進行數據擴充,與試驗7-12 相比,訓練速度得到有效提升,但驗證集準確率有所下降。在試驗15 中,驗證集準確率為96.56%,與試驗9 相比,準確率降低1.57%。按照2∶6∶2 劃分數據集,驗證集識別準確率均較低。在遷移學習中,訓練集數據量對識別準確率有較大影響,訓練集數據量越多模型識別效果越好。
為驗證涂飾木蠟油木材圖像對模型識別性能的影響,將涂飾木蠟油的紅橡和欖仁木與素材紅橡和欖仁木按1∶1 分別混合,并與剩下的2 種素材圖像共同組成新的數據集。為避免因訓練集數量改變對識別結果的影響,該數據集與未涂飾木蠟油時的數據一樣,其中涂飾木蠟油的紅橡和欖仁木均為362 張。將該數據集按6∶2∶2 分為訓練集、驗證集和測試集,并對訓練集進行擴充。選用學習率為0.000 1 的MobileNetV3 網絡模型,將涂飾木蠟油的木材圖像與素材圖像數據混合在一起進行訓練,并進行遷移學習。結果(表4)表明,混有涂飾木蠟油的木材圖像數據,在驗證集上的準確率為97.25%,僅降低0.88%,模型識別準確率未有較大影響,準確率仍很高,且可準確識別出涂飾木蠟油的木材。
表4 不同數據類型的試驗結果對比Tab. 4 Comparison of experimental results with different data types
使用經遷移學習、學習率為0.000 1 訓練得到的模型對混有涂飾木蠟油的木材圖像測試集進行分類識別,通過混淆矩陣計算得到準確率、召回率和F1。由表5 可知,該模型對4 種家具木材分類的平均準確率為94.16%,準確率較高。分類性能(按F1 得分)從高到底依次為欖仁木、紅橡、水曲柳、欒葉蘇。由混淆矩陣可知,欒葉蘇和水曲柳識別錯誤較多,主要是因為2 種木材在不同位置時顏色和紋理有些類似,低分辨率圖像下較難區(qū)分。
表5 模型的混淆矩陣與分類性能Tab. 5 Confusion matrix and classification performance of model
為便于操作,應用Python 語言將腳本程序開發(fā)為圖形用戶界面。本研究采用2 種圖像獲取方式,一是調用OpenCV 攝像頭拍照獲取圖像數據,二是利用PyQt5 的文件選擇功能選擇本地圖像文件。載入圖像后,在組件中顯示,即可進行識別,使用訓練好的網絡模型進行檢測。選擇一張素材中的紅橡木材圖像進行檢測,識別概率為100%,如圖4a 所示;再選一張涂飾木蠟油的紅橡木材圖像進行檢測,識別概率也為100%,如圖4b 所示。
圖4 可視化界面檢測結果Fig. 4 Visual interface detection results
1) 為快速識別常見家具木材圖像種類,本研究對AlexNet、 ResNet34、 MobileNetV2 和MobileNetV3經典卷積神經網絡與SVM 和ANN 傳統(tǒng)機器學習模型進行建模分析。綜合考慮模型性能,選用MobileNetV3 并基于遷移學習提出一種木材圖像種類識別模型,該模型對素材的識別準確率達98.13%,為木材圖像種類的自動識別提供了一種技術手段。但本研究只對4 種木材圖像進行研究,種類相對較少,后續(xù)研究應補充木材種類獲得更多的木材類別。
2) 本研究對混有涂飾木蠟油的木材數據進行訓練并進行遷移學習,結果發(fā)現(xiàn)在素材中混入涂飾木蠟油的木材圖像進行訓練,驗證集準確率為97.25%,對網絡模型影響較小,驗證集準確率僅降低0.88%,能夠準確識別素材材種以及涂飾木蠟油的木材材種,這為木材加工過程中的工作人員以及購買實木家具的消費者確定木材種類、防止上當受騙提供了可能。
本研究模型在材種識別過程中僅適用于木材紋理清晰的圖像,對涂飾封閉性油漆的家具木材圖像并不能有效識別,因此對不同涂飾情況下的家具木材圖像識別仍需進一步探索。