李若塵,朱悠翔,孫衛(wèi)民,龔思源,錢 鑫,業(yè) 寧
(1.南京林業(yè)大學(xué)信息技術(shù)學(xué)院,南京,210037;2.江蘇省住建廳住宅與房地產(chǎn)業(yè)促進(jìn)中心,南京,210009;3.南京市金陵中學(xué),南京,210005)
天然木材具有易加工,可再生,保護(hù)環(huán)境等優(yōu)點(diǎn),廣泛應(yīng)用于社會生產(chǎn)中。我國對木材的需求量巨大,但人均木材占有量少,因此高效地提高木材的利用率具有十分重要的經(jīng)濟(jì)意義。在實(shí)際生產(chǎn)中,不同品種的木材,加工方式是不同的。如何最優(yōu)化加工,一方面需要鑒別木材品種[1],另一方面需要對木材缺陷進(jìn)行檢測。木材缺陷一般包括木材天然缺陷、干燥缺陷和加工缺陷。人工提取木材缺陷不僅消耗大量人力,而且精準(zhǔn)度低,經(jīng)濟(jì)效益差。傳統(tǒng)的木材缺陷檢測包括X 射線[2]、超聲波[3]、微波[4]、核磁共振[5]等無損檢測技術(shù)[6]。這些基于物理設(shè)備的檢測技術(shù)由于成本過高,并不適用于大規(guī)模木材缺陷識別。近年來,由于計(jì)算機(jī)技術(shù)的快速發(fā)展,由物理設(shè)備的缺陷檢測研究逐漸向計(jì)算機(jī)圖像自動缺陷檢測研究方向發(fā)展[7],基于計(jì)算機(jī)圖像的木材缺陷識別技術(shù)的方法主要有圖像塊百分位顏色直方圖[8]、支持向量機(jī)(Support vector machine, SVM)[9-12]、卷積神經(jīng)網(wǎng)絡(luò)[13]、灰度共生矩陣[14]、凸優(yōu)化[15]等,常見方法見表1 。Xie 等[14]針對木材本身特點(diǎn)進(jìn)行研究,通過對木材的紋理特征,采用灰度共生矩陣方法,對木材缺陷進(jìn)行定位。Pham 等[15]利用蜜蜂算法優(yōu)化支持向量機(jī),改進(jìn)木材缺陷檢測技術(shù)。Zhang 等[16]利用通過主成分分析(Principal component analysis, PCA)與壓縮感知對木材圖片進(jìn)行處理。Qi[17]利用Hu不變矩陣以及BP 神經(jīng)網(wǎng)絡(luò),對木材缺陷進(jìn)行定位識別。文獻(xiàn)[18]利用Ostu 算法對木材數(shù)據(jù)進(jìn)行處理。文獻(xiàn)[19]通過聚類算法和灰度共生矩陣(Grey-level co-occurence matrix, GLCM),自動找出并正確識別木材表面缺陷位置,比較分析不同木材表面缺陷的識別效率。
表1 不同的木材檢測方法Table 1 Different wood detection methods
以上針對木材缺陷定位的研究均取得了較好的結(jié)果。但是這些方法都需要有木材知識背景的專家在前期對圖片手工設(shè)置特征,工作量十分巨大。并且這些方法的模型依賴于算法和已有的木材特征,只能對特定的數(shù)據(jù)集進(jìn)行識別和定位。而實(shí)際生產(chǎn)中拍攝燈光的不同,木材品種的不同均會對實(shí)驗(yàn)結(jié)果產(chǎn)生影響。
本文采用基于深度學(xué)習(xí)的自動缺陷定位模型方法(Automatic defect location model, ADLM):自動提取木材特征并生成熱力圖,通過聚類缺陷特征,實(shí)現(xiàn)對木材單缺陷與多缺陷的定位功能。此方法無須人工定位木材缺陷與范圍,只需標(biāo)注有無缺陷即可,大大減小了前期人工成本,木材缺陷的檢測更高效。并且,由于前期使用ImageNet 進(jìn)行預(yù)訓(xùn)練,訓(xùn)練時(shí)無須大量數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,該模型只需要少量數(shù)據(jù)集進(jìn)行特征提取,就可以很好地實(shí)現(xiàn)對木材缺陷的檢測和定位功能。
木材缺陷識別一般包含兩部分,一是對木材缺陷特征的學(xué)習(xí)與提取,二是對木材缺陷的定位。雖然卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力越來越強(qiáng),但是隨著其規(guī)模越來越大,耗時(shí)也越來越多。復(fù)雜的網(wǎng)絡(luò)并不適用于實(shí)際生產(chǎn),因此,采用輕量級網(wǎng)絡(luò)MobileNet[21]對木材缺陷特征進(jìn)行學(xué)習(xí)與提取。MobileNet 不僅具有精度高、模型小等特點(diǎn),還可以減少參數(shù)數(shù)量,提升運(yùn)算速度。
MobileNet 模型基于深度可分離卷積,是一種分解卷積的形式。它將標(biāo)準(zhǔn)卷積分解為深度卷積和1×1 點(diǎn)態(tài)卷積。對于MobileNet,深度卷積對每個(gè)輸入通道使用一個(gè)單獨(dú)的濾波器。點(diǎn)態(tài)卷積通過1×1 卷積將輸出和深度卷積結(jié)合起來。標(biāo)準(zhǔn)卷積在同一步中過濾并將輸入組合為新的輸出。而深度可分離卷積將這個(gè)步驟分為兩層,一層單獨(dú)用于過濾,另一層單獨(dú)用于組合輸入。這種因子分解的方法大大減少了計(jì)算量和模型大小。圖1—3 展示了如何將標(biāo)準(zhǔn)卷積(圖1)分解為深度卷積(圖2)和1×1 點(diǎn)態(tài)卷積(圖3)。
圖1 標(biāo)準(zhǔn)卷積過濾器Fig.1 Standard convolution filter
圖2 深度卷積過濾器Fig.2 Depthwise convolution filter
圖3 1×1 點(diǎn)態(tài)卷積過濾器Fig.3 Pointwise convolution filter
這里簡單分析一下深度級可分離卷積在計(jì)算量上與標(biāo)準(zhǔn)卷積的差別。假定輸入特征圖大小是DF×DF×M,而輸出特征圖大小是DF×DF×N,其中DF是特征圖的寬度和高度,這里假定兩者是相同的,M為輸入通道數(shù)(輸入深度),N是輸出通道的數(shù)量(輸出深度)。這里也假定輸入與輸出特征圖大小是一致的。采用的卷積核大小盡管是特例,但是不影響下面分析的一般性。標(biāo)準(zhǔn)卷積層由卷積核K參數(shù)化,對于標(biāo)準(zhǔn)的卷積DK×DK,其計(jì)算量將為
對于深度卷積(Depthwise convolution, DW)其計(jì)算量為
點(diǎn)態(tài)卷積(Pointwise convolution, PW)計(jì)算量為
所以深度級可分離卷積總計(jì)算量為
可以比較深度級可分離卷積和標(biāo)準(zhǔn)卷積為
一般情況下N比較大,在一定范圍內(nèi),如果采用k×k卷積核的話,深度級可分離卷積相較標(biāo)準(zhǔn)卷積可以降低大約k2倍的計(jì)算量。
標(biāo)準(zhǔn)卷積和MobileNet 中使用的深度分離卷積結(jié)構(gòu)對比如圖4 所示。
圖4 結(jié)構(gòu)對比Fig.4 Structure contrast
深度學(xué)習(xí)里的注意力模型是模擬人腦注意力的模型,當(dāng)人觀賞一幅畫時(shí),人的大腦主要關(guān)注在某一小塊圖案上,對整幅圖的關(guān)注并不均衡,是有一定權(quán)重區(qū)分的。注意力模型在圖像處理領(lǐng)域取得了非常好的效果。因此使用注意力模型對木材圖片進(jìn)行特征處理與提取,生成熱力圖。處理步驟如下:
(1)預(yù)訓(xùn)練(圖5)。①建立MobileNet 卷積網(wǎng)絡(luò)模型,用公開數(shù)據(jù)集ImageNet 來訓(xùn)練MobileNet,得到其backbone(神經(jīng)網(wǎng)絡(luò)中除全連接層外的整個(gè)網(wǎng)絡(luò)骨架)的權(quán)值A(chǔ)。②經(jīng)過backbone 后輸出特征圖,通過Global Average Pooling(GAP)進(jìn)行降維。③將特征圖輸入權(quán)值為ω的全連接層,得到預(yù)測的分類輸出。④將各輸出用softmax 函數(shù)進(jìn)行數(shù)值處理,得到不同類別之間的相對概率。⑤通過最小化交叉熵loss 函數(shù)對MobileNet 不斷更新A'與ω',直到收斂為止。記訓(xùn)練好的MobileNet 的backbone 的權(quán)值為A,全連接層的權(quán)值為ω。
softmax 函數(shù)為
式中:Vi為分類器前級輸出單元的輸出,i表示類別索引,總的類別個(gè)數(shù)為C(此模型C=1 000);y'i表示的是當(dāng)前元素的指數(shù)與所有元素指數(shù)和的比值。
Loss 函數(shù)為
式中:yi為當(dāng)前元素的標(biāo)簽,i表示類別索引,總的類別個(gè)數(shù)為n(此模型n=1 000);y'i表示的是當(dāng)前元素的相對概率。
圖5 預(yù)訓(xùn)練流程圖Fig.5 Pre-training flow chart
(2)訓(xùn)練(圖6)。①隨機(jī)初始化預(yù)訓(xùn)練完成后的MobileNet 中的ω,使全連接層輸出類別個(gè)數(shù)為2個(gè)。②輸入已手動標(biāo)記好有無結(jié)疤的圖片進(jìn)行訓(xùn)練,用預(yù)訓(xùn)練完成后的MobileNet 模型對訓(xùn)練集進(jìn)行特征提取,得到特征圖。③通過GAP 降維,全連接層由權(quán)值ω進(jìn)行輸出分類。④將各輸出用softmax 函數(shù)進(jìn)行數(shù)值處理,得到不同類別之間的相對概率。⑤用loss 函數(shù)(損失函數(shù))進(jìn)行優(yōu)化度的評價(jià),最小化loss 函數(shù)不斷更新A'與ω',直到收斂為止。由于經(jīng)過預(yù)訓(xùn)練的MobileNet 具有高效的特征提取能力,對于二分類問題,其只需要提供少量數(shù)據(jù)集進(jìn)行訓(xùn)練,就能很好地對木材圖片進(jìn)行判斷與特征提取。
此訓(xùn)練模型的softmax 函數(shù)與loss 函數(shù)模型同上,但類別數(shù)不同。此模型C=2,n=2。
圖6 訓(xùn)練流程圖Fig.6 Training flow chart
(3)生成熱力圖(圖7)。①對(2)中模型做修改(去除GAP 處理步驟并把全連接層改成1×1 卷積層,保留權(quán)值ω')。②輸入測試圖片,訓(xùn)練好的MobileNet 進(jìn)行特征提取,通過1×1 卷積生成兩張熱力圖(根據(jù)文獻(xiàn)[16]提出的卷積網(wǎng)絡(luò)可視化發(fā)現(xiàn),用1×1 卷積層替代全連接層,生成的熱力圖可以很好地表示特征),一張是標(biāo)記為有缺陷的,一張是標(biāo)記為無缺陷的。此時(shí),經(jīng)過1×1 卷積層后的特征圖分辨率不變,只是深度改變。
(4)分類與取舍。①將(3)得到的熱力圖進(jìn)行GAP 降維操作。②用softmax 函數(shù)得到有無缺陷的可能性,對上述熱力圖進(jìn)行分類與取舍。
此模型的softmax 函數(shù)模型同上。
圖7 生成熱力圖與分類取舍步驟Fig.7 Generating thermodynamic diagram and selection steps of classification
本節(jié)主要介紹自動缺陷定位模型的兩種模型,單缺陷定位模型與多缺陷定位模型。這兩種模型都是基于上述注意力模型所生成的熱力圖,采用不同的算法對其進(jìn)行處理,從而精確定位木材缺陷。
單缺陷定位模型是基于注意力模型生成的熱力圖對木材的缺陷進(jìn)行精準(zhǔn)定位(圖8)。步驟如下:(1)熱力圖預(yù)處理。①將生成的熱力圖進(jìn)行二值化處理。②去除無效數(shù)據(jù)(降低噪聲),例如遠(yuǎn)離中心,較零碎的點(diǎn)等。③對所有特征點(diǎn)進(jìn)行聚類。
圖8 單缺陷定位模型算法Fig.8 Single defect location model algorithm
(2)定位。經(jīng)過二值化的熱力圖只包含0 和255 兩個(gè)值,其中0 代表提取的特征點(diǎn)(x,y)(特征點(diǎn)為有缺陷特征的點(diǎn))。①循環(huán)遍歷熱力圖各點(diǎn),判斷其是否為特征點(diǎn),若為特征點(diǎn)且左右相鄰兩格有特征點(diǎn),則該點(diǎn)被放入特征集(V)中。由于木材缺陷形狀多為規(guī)則圓形或橢圓,因此可用矩形框?qū)ζ涿枋?。根?jù)特征集中的點(diǎn),采用式(8),對缺陷進(jìn)行定位(x,y,width,height)。其中,(x,y)為缺陷的中心點(diǎn),width 表示矩形框的寬度,height 表示矩形框的高度。此模型尋找的缺陷為范圍最大的缺陷,即矩形框面積最大的缺陷。
單缺陷定位模型只能定位圖片中最明顯,范圍最大的單個(gè)缺陷,而真實(shí)環(huán)境下的木材缺陷往往如圖9 所示,一塊木板上擁有多個(gè)缺陷,因此改進(jìn)單缺陷定位模型,提出了多缺陷定位模型,該模型可對木材圖片中的多個(gè)缺陷進(jìn)行定位。
圖9 多缺陷木板Fig.9 Multi-defect wood board
與單缺陷定位模型類似,該模型同樣是基于注意力模型生成的熱力圖并二值化。在單缺陷模型中,所有特征點(diǎn)都是描述同1 個(gè)缺陷特征的,但是在多缺陷定位模型中,不同的特征點(diǎn)往往屬于不同的缺陷特征。因此,在原有基礎(chǔ)上,改進(jìn)特征點(diǎn)的聚類方法,實(shí)現(xiàn)了多缺陷定位。在循環(huán)遍歷熱力圖時(shí),對所有點(diǎn)加一個(gè)訪問判斷參數(shù)visited,若訪問過,則為1,未訪問則為0。若當(dāng)前點(diǎn)為特征點(diǎn)且未被訪問,循環(huán)遍歷該點(diǎn)所有相鄰特征點(diǎn),并加入該缺陷特征棧中,通過不斷插入,刪除特征棧中的節(jié)點(diǎn),建立完整的缺陷表(相當(dāng)于滑動框掃描)。當(dāng)最終遍歷結(jié)束時(shí),每一個(gè)特征表都代表一個(gè)缺陷特征。特征表的個(gè)數(shù)就是該木材圖片中缺陷的個(gè)數(shù),再根據(jù)式(8),求出每一個(gè)缺陷的具體位置。具體算法如圖10所示。
圖10 多缺陷定位模型算法Fig.10 Multi-defect location model algorithm
公開數(shù)據(jù)集Wood Defect Database 中共包含兩組子數(shù)據(jù)集,第1 組數(shù)據(jù)集是單木材缺陷圖片,共有438 張,第2 組數(shù)據(jù)集是多缺陷木材圖片,共有839 張。由于Mobilenet 網(wǎng)絡(luò)訓(xùn)練需要提供有缺陷與無缺陷兩組數(shù)據(jù)集,因此從多缺陷木材圖片中人工進(jìn)行切割,共得到20 張無缺陷木材圖片與20 張有缺陷木材圖片,并手動標(biāo)記是否有缺陷,如圖11 所示。
圖11 木材訓(xùn)練集Fig.11 Wood training set
將選取的訓(xùn)練集輸入注意力模型中,經(jīng)過200 輪訓(xùn)練,得到99.7%的判別率,其中訓(xùn)練權(quán)重僅占12.5 MB。再將單數(shù)據(jù)集與多數(shù)據(jù)集分別輸入注意力模型中進(jìn)行測試,得到86.1%的識別率。
由實(shí)驗(yàn)可知,MobileNet 具有強(qiáng)大的特征提取能力,特別是在二分類學(xué)習(xí)中,僅需少量訓(xùn)練集,就可高效率地判別木材有無缺陷,較為精準(zhǔn)地識別缺陷。
將438 張單缺陷的木材圖片作為輸入,由圖12 可知,首先對圖片進(jìn)行處理,將圖片輸入注意力模型中,得到木材缺陷的特征熱力圖,然后根據(jù)熱力圖,運(yùn)用SDLM 單缺陷定位模型進(jìn)行處理,最終可以得到單個(gè)缺陷的定位圖。
在438 張圖片中,427 張缺陷圖片能夠十分精確地定位,精確率為97.5%,定位效果如圖13 所示。在剩下的11 張圖片中,有7 張定位了部分缺陷,定位率為99.1%,如圖14 所示。還有4 張由于其背景紋路復(fù)雜、對比度低,因此定位困難,錯(cuò)誤率在0.9%~1.0%。
同時(shí),用不同品種的木材缺陷圖作為對照組測試,模擬實(shí)際情況下,木材圖像的不同色溫與不同缺陷種類,均取得了較高的精準(zhǔn)率,如圖15 所示。其中,活節(jié)(a,e)、死節(jié)(c,d,f)、裂紋(b)均可以實(shí)現(xiàn)較為準(zhǔn)確的識別與定位。
圖12 SDLM 訓(xùn)練結(jié)果Fig.12 SDLM training results
圖13 SDLM 定位結(jié)果Fig.13 SDLM localization results
圖14 SDLM 定位錯(cuò)誤結(jié)果Fig.14 SDLM location error results
圖15 不同品種木材SDLM 定位結(jié)果Fig.15 Results of SDLM localization of different wood species
單缺陷在數(shù)據(jù)集Wood Defect Database 上取得了很好的定位識別率,但是單缺陷模型并不適用于真實(shí)生產(chǎn)實(shí)踐中,因此通過使用多缺陷定位模型對多缺陷圖片進(jìn)行缺陷定位。以圖16 為測試集,其中包含若干缺陷。將其代入多缺陷定位模型當(dāng)中,最終共定位20 張圖片,其中18 張是包含缺陷。由于在實(shí)驗(yàn)過程中通過覆蓋原圖,使這18 張缺陷圖片互不相同,最終定位率達(dá)到90%。實(shí)驗(yàn)結(jié)果如圖17所示。
圖16 多缺陷木材圖片F(xiàn)ig.16 Picture of multi-defect wood
圖17 多缺陷木材實(shí)驗(yàn)結(jié)果Fig.17 Experimental results of multi-defect wood
本文利用深度學(xué)習(xí)的方法,運(yùn)用注意力模型自動提取木材特征,無須人工定位木材缺陷與范圍,只需通過少量已標(biāo)注是否有缺陷的數(shù)據(jù)集進(jìn)行訓(xùn)練,就可以高精度、高效率地判別木材有無缺陷并生成對應(yīng)的熱力圖。針對木材缺陷的不同特征,提出了單缺陷定位模型(SDLM)與多缺陷定位模型(MDLM),可以滿足實(shí)際生產(chǎn)中對木材缺陷處理的不同需求。在木材識別問題中,采用MobileNet 對木材特征進(jìn)行提取,最終可以得到86.1%的正確率,且權(quán)重僅占12.5 MB。在單缺陷木材圖片中,單缺陷定位模型取得97.5%的精確定位率,定位率在99.1%,錯(cuò)誤率為0.9%~1.0%。在多缺陷數(shù)據(jù)中,定位率為90.0%。因此基于注意力模型的單缺陷定位模型與多缺陷定位模型方法可以很好地適用于生產(chǎn)實(shí)踐中,具有檢測速度快、精度高、適用性更廣等優(yōu)點(diǎn)。下一步,將繼續(xù)研究如何利用少量數(shù)據(jù)集,提高木材缺陷的識別率,以及在復(fù)雜背景下,如何保持木材缺陷的識別與定位的更高精準(zhǔn)度,使木材缺陷定位能夠更好地適用于復(fù)雜的生產(chǎn)實(shí)踐過程當(dāng)中,為木材最優(yōu)化分割做準(zhǔn)備。同時(shí),也將基于木材的自動缺陷定位模型,進(jìn)行有關(guān)木材缺陷分類與最優(yōu)化木材分割的研究。這有助于“對癥下藥”地處理木材缺陷,提高珍貴木材的利用率。這項(xiàng)技術(shù)不僅可以減小木材加工過程中的損耗,降低成本,提高經(jīng)濟(jì)效益,還可以總體上減少木材的砍伐量,有助于森林木材的可持續(xù)發(fā)展。