韓 爽,呂 軍,丁志平,趙劍鋒,陳旭東,周 強,張哲宇,姚 青
(1.浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018;2.張家港海關(guān),江蘇 張家港 215600;3.杭州籜草科技有限公司,浙江 杭州 311500)
中國作為瀕危野生動植物種國際貿(mào)易公約(CITES)的締約國,對瀕危木材國際貿(mào)易有著嚴(yán)格的控制及監(jiān)督要求,進出口瀕危木材需要辦理相關(guān)證明,并接受海關(guān)監(jiān)管。但在進出口貿(mào)易中,高價低報、多進少報、夾帶藏匿、瀕危木材偽報成普通木材等現(xiàn)象屢見不鮮。由于木材種類繁多,且不同材種之間物理化學(xué)性質(zhì)差異很大,因此對海關(guān)的木材鑒定能力提出了極高要求。通常人們會通過花朵、果實和樹葉形態(tài)識別樹木種類,但當(dāng)樹木被砍伐成為木材后,對樹木種類的識別則變得異常困難,此時需要依靠宏觀結(jié)構(gòu)及微觀結(jié)構(gòu)特征等進行辨認。因每種木材具有特定的宏觀及微觀結(jié)構(gòu),木材分類專家首先利用放大鏡、體視顯微鏡和生物顯微鏡觀察木材結(jié)構(gòu),然后通過不同木材宏觀及微觀結(jié)構(gòu)特征的對比及木材自身特征鑒定木材種類。然而,由于國內(nèi)木材分類專家稀缺,而木材種類繁多,在日益增長的木材進出口交易中,基于專家人工的木材鑒定手段已無法滿足快速、實時鑒定的需求,因此亟需構(gòu)建一個快速自動識別木材種類的系統(tǒng),以輔助海關(guān)檢查人員快速鑒定木材種類。隨著圖像處理與機器學(xué)習(xí)技術(shù)在多個領(lǐng)域的深入應(yīng)用,利用木材宏觀及微觀結(jié)構(gòu)圖像識別木材種類成為了可能。如Mallik等利用掃描電鏡獲得7 種放大1 500 倍的木材橫截面圖像,提取木材紋理、管胞形狀、數(shù)量及分布等特征,并訓(xùn)練多種分類器對其進行分類,結(jié)果表明,支持向量機和神經(jīng)網(wǎng)絡(luò)模型在7 種樹種分類上獲得了最高準(zhǔn)確率,分別為81.0%和80.0%;Khalid 等利用紋理特征與神經(jīng)網(wǎng)絡(luò)模型對20 種熱帶木材解剖圖像進行分類研究,獲得了95.0%的準(zhǔn)確率;周書仁等和Ojala 等使用局部二值模式(LBP)提取木材橫截面圖像局部紋理特征,相比于均值、方差等方式,局部二值模式可獲得分布更均勻的特征值,從而獲得更好的分類效果。但以上方法大多借助顯微攝影獲取木材圖像信息,需要在實驗室中進行操作,且研究停留在算法階段,實時性與便攜性較差,無法應(yīng)用于實際場景中。
為提高海關(guān)木材鑒定效率及準(zhǔn)確率,本文在張家港海關(guān)國家材種鑒定與木材檢疫重點實驗室拍攝的木材橫截面宏觀結(jié)構(gòu)圖像基礎(chǔ)上,結(jié)合基于深度學(xué)習(xí)的圖像識別技術(shù),構(gòu)建基于Web 的木材圖像遠程自動鑒定系統(tǒng),從而為海關(guān)木材檢測人員提供遠程、快速的木材種類智能鑒定輔助工具。
木材遠程鑒定系統(tǒng)主要包括Web 端、木材數(shù)據(jù)庫和服務(wù)器端3 部分,其中服務(wù)器端包括應(yīng)用服務(wù)器與算法服務(wù)器。海關(guān)檢查人員通過Web 端上傳木材橫截面放大圖像,并通過網(wǎng)絡(luò)協(xié)議傳輸?shù)椒?wù)器。為提高系統(tǒng)承載能力,本文將數(shù)據(jù)先經(jīng)過一層負載均衡器,將數(shù)據(jù)請求均勻分布在多個服務(wù)器上。服務(wù)器端接收到請求后先通過Spring Security安全框架驗證請求是否合法,以提高系統(tǒng)安全性。安全驗證通過后,服務(wù)器調(diào)用木材識別模型對圖像進行識別,針對識別結(jié)果在木材數(shù)據(jù)庫中查詢相關(guān)信息,最后將結(jié)果返回給Web 端用戶。該系統(tǒng)還提供了專家在線技術(shù)支持功能,海關(guān)檢查人員可通過圖片、文字、語音、視頻等多種方式尋求專家的遠程指導(dǎo)。
Fig.1 Structure framework of remote identification system of wood images圖1 木材圖像遠程鑒定系統(tǒng)架構(gòu)
系統(tǒng)Web 服務(wù)平臺前端利用HTML、CSS 和JavaScript等技術(shù)開發(fā)系統(tǒng)Web 服務(wù)平臺,采用Vue-CLI 搭建系統(tǒng)框架,以及Element UI 設(shè)計界面,將前端各功能模塊化。系統(tǒng)使用ES2015+標(biāo)準(zhǔn),并向下兼容ES5,適配所有主流瀏覽器。使用Vue Router 作為路由管理器,支持路由∕視圖表嵌套、模塊化組件配置、導(dǎo)航細粒度控制等功能。網(wǎng)絡(luò)請求使用基于HTTP 協(xié)議的Axios 網(wǎng)絡(luò)請求,支持XMLHttpRequests、轉(zhuǎn)換請求數(shù)據(jù)與響應(yīng)數(shù)據(jù)、自動轉(zhuǎn)換JSON 數(shù)據(jù)及防止XSRF 攻擊等功能。通過Token 保存識別信息,并減少不必要的交互信息,以提升系統(tǒng)健壯性。前端開發(fā)時使用Mock.js 模擬數(shù)據(jù)響應(yīng),使前、后端開發(fā)完全分離,實現(xiàn)整個系統(tǒng)高度解耦。
圖2 給出了系統(tǒng)Web 端設(shè)計路線圖。用戶登錄成功后,服務(wù)器將根據(jù)用戶權(quán)限返回對應(yīng)功能列表和Token。管理員可對所有用戶信息、權(quán)限等進行操作,普通用戶則無法操作。Token 利用服務(wù)器對每個用戶單獨生成一個專屬字符串,Web 端發(fā)起請求時將Token 封裝在HTTP 請求頭,服務(wù)器通過Token 信息對用戶信息進行安全與權(quán)限驗證。圖像識別時用戶通過Form 表單形式將圖像封裝入HTTP 請求體中,服務(wù)器接收圖片,識別完成后返回木材信息、相關(guān)走私案例與海關(guān)資訊信息,將信息渲染在網(wǎng)頁上供用戶參考。若用戶需要瀏覽木材信息,Web 向服務(wù)器發(fā)起請求。因木材信息數(shù)量較多,需要對信息進行分頁查詢?yōu)g覽,且在請求參數(shù)中需要攜帶pageNum 和pageSize 字段,分別代表當(dāng)前頁號和一頁包含的信息條目數(shù),服務(wù)器返回對應(yīng)數(shù)據(jù)供用戶瀏覽與參考。若對識別結(jié)果有疑問,可通過專家在線支持功能向?qū)<姨釂枺釂柗绞椒譃閳D文和音視頻兩種。圖文方式中,用戶填寫問題描述及上傳相關(guān)圖像,Web 將信息封裝入HTTP 請求體中并上傳至服務(wù)器,服務(wù)器存儲數(shù)據(jù)到數(shù)據(jù)庫,專家查看問題后給出指導(dǎo)意見,用戶可在自己的提問記錄中查看專家意見。如果用戶需要在短時間內(nèi)獲得專家支持,可選擇音視頻方式與專家面對面交流遇到的問題。
Fig.2 Design route of system Web client圖2 系統(tǒng)Web 端設(shè)計路線
目前常用的關(guān) 系型數(shù)據(jù)庫有MySQL、Oracle、SQLite等。其中,MySQL 具有開源、免費、適配度高、性能較好等特點,是目前使用最廣泛的關(guān)系型數(shù)據(jù)庫,因此本文使用MySQL 構(gòu)建木材遠程鑒定系統(tǒng)數(shù)據(jù)庫。
木材遠程鑒定系統(tǒng)數(shù)據(jù)分為用戶信息和木材信息兩部分。用戶信息數(shù)據(jù)存儲采用RBAC(Role-Based Access Control)模型,通過角色關(guān)聯(lián)用戶,利用角色關(guān)聯(lián)權(quán)限方式管理用戶相關(guān)信息。圖3 展示了系統(tǒng)中用戶相關(guān)信息表結(jié)構(gòu),sys_user 表中存儲用戶信息,包括用戶ID、工號、用戶名、密碼等,sys_role 表中存儲角色權(quán)限信息,如權(quán)限名稱、權(quán)限關(guān)鍵字等,sys_menu 表中存儲系統(tǒng)中所有功能接口,通過與sys_role 表關(guān)聯(lián)確定用戶所屬權(quán)限信息。
木材信息存儲參考RBAC 模型,木材信息表包括木材名稱、分類、產(chǎn)地等信息,走私案例信息與海關(guān)內(nèi)部資訊信息分別存儲在其它兩張表中,再通過兩張關(guān)聯(lián)表關(guān)聯(lián)木材與查發(fā)案例及咨訊信息。同時,采用Redis作為緩存數(shù)據(jù)庫,將熱點信息存儲在Redis 中可提升系統(tǒng)處理高并發(fā)用戶請求的能力,從而提升系統(tǒng)穩(wěn)定性。
后臺服務(wù)是基于Spring Boot 框架實現(xiàn)的,Spring Boot在Spring 基礎(chǔ)上實現(xiàn)了很多框架的自動配置,同時內(nèi)置Tomcat 服務(wù)器,極大地簡化了開發(fā)與部署工作量。Web 與服務(wù)端交互使用RESTFul 格式請求,用戶請求通過HTTP協(xié)議發(fā)送至服務(wù)器端。請求首先通過Nginx進行負載均衡,然后通過輪詢方式轉(zhuǎn)發(fā)到后臺服務(wù)。接收到用戶請求后,使用Spring Security 并結(jié)合JWT進行用 戶認證與授權(quán)。Spring Security 是Spring 提供的一個安全管理框架,可用來過濾非法請求及驗證用戶信息是否正確,驗證成功后再進行相關(guān)業(yè)務(wù)處理并返回至Web 端。在用戶進行木材圖像識別時,后臺接收到木材圖像,先對圖像合法性進行驗證,確認沒有問題后轉(zhuǎn)發(fā)到Django 服務(wù)器。Django 是Python 的一個Web 框架,本系統(tǒng)使用Django 框架,以避免語言直接互相轉(zhuǎn)換帶來的性能損耗。Django 服務(wù)器接收到圖像,調(diào)用木材圖像識別模型得到預(yù)測結(jié)果,并返回給Spring服務(wù)器。Spring 接收到識別結(jié)果,提取相關(guān)信息并從數(shù)據(jù)庫中查詢該木材對應(yīng)的拉丁文名、木材產(chǎn)地、分類地位等信息,將這些信息封裝后以JSON 格式返回至Web 端,用戶即可在Web 端看到識別結(jié)果,整個過程耗時約1~2s。
Fig.3 User information table structure of remote identification system of wood images圖3 木材圖像遠程鑒定系統(tǒng)用戶信息表結(jié)構(gòu)
Fig.4 Flow of wood image identification in the Web client圖4 Web 端木材圖像識別流程
2.4.1 木材圖像數(shù)據(jù)
木材橫截面圖像來自張家港海關(guān)國家材種鑒定與木材檢疫重點實驗室中通過手機拍攝的120 種木材橫截面放大圖像,共計55 594 幅圖像,按照9∶1 的比例隨機分配訓(xùn)練樣本及測試樣本數(shù)量。
2.4.2 圖像預(yù)處理
為提高模型的魯棒性和泛化能力,對木材圖像進行水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)及亮度調(diào)整3 種數(shù)據(jù)增強處理操作(見圖5),以增加模型的訓(xùn)練樣本量。
Fig.5 Data enhancement results of wood cross-sectional images圖5 木材橫截面圖像數(shù)據(jù)增強結(jié)果
2.4.3 基于ResNet101 的木材識別模型
目前,圖像識別效果較好的卷積神經(jīng)網(wǎng)絡(luò)模型有AlexNet、VGGNet、GoogLeNet等,但這些網(wǎng)絡(luò)在訓(xùn)練時會產(chǎn)生精度退化問題。He 等提出深度殘差網(wǎng)絡(luò)ResNet,通過Residual Block 的設(shè)計,調(diào)整殘差塊內(nèi)的輸出通道數(shù)量與堆疊的殘差數(shù)量,以及網(wǎng)絡(luò)寬度和深度,解決了深層網(wǎng)絡(luò)的退化問題。本文采用ResNet101 訓(xùn)練木材識別模型。
ResNet101 網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示,輸入層是一個卷積核大小為7×7、步長為2、通道數(shù)為64 的卷積層,然后是不同數(shù)量的殘差塊(Residual Block)堆疊組成的4 部分:[1×1,64;3×3,64;1×1,256]×3,[1×1,128;3×3,128;1×1,512]×8,[1×1,256;3×3,256;1×1,1 024]×36 和[1×1,512;3×3,512;1×1,2 048]×3,輸出層為7×7 的平均池化層與Softmax全連接分類層,其中Conv3_1、Conv4_1 和Conv5_1為下采樣層。
Fig.6 Architecture of ResNet101 network圖6 ResNet101 網(wǎng)絡(luò)結(jié)構(gòu)
圖7 給出了ResNet101 中Residual Block 的結(jié)構(gòu),由3個卷積層組成。第一層卷積核大小為1×1,第二層為3×3,第三層為1×1,輸入特征經(jīng)過3個卷積層與原始輸入特征疊加,這種跳躍連接方式可提高模型泛化能力。
Fig.7 Structure of Residual Block圖7 Residual Block 結(jié)構(gòu)
在模型訓(xùn)練中設(shè)置初始學(xué)習(xí)速率為0.001,采用隨機梯度下降法,每次只隨機選擇一個樣本來更新模型參數(shù)。速率衰減策略為multistep,設(shè)置gamma 為0.1,步長為50 000和80 000,動量為0.9,權(quán)重衰減量為0.000 5,迭代次數(shù)為100 000 次,輸入圖像預(yù)處理大小為224×224。最后為softmax 輸出層輸出相應(yīng)種類進行木材圖片分類。
木材遠程鑒定系統(tǒng)Web 端功能包括用戶登錄、木材圖像智能識別、知識字典、專家在線支持、部門與人員管理等功能。圖8(a)展示了Web 端木材圖像智能識別界面,圖8(b)為知識字典中的材種圖文庫概覽界面,圖8(c)為詳細木材圖文信息界面。若用戶對木材識別結(jié)果存在疑問,可在線提交圖文信息,專家將在線進行指導(dǎo)與鑒定,如圖8(d)所示。
為評價ResNet101 模型對120 種木材的識別效果,利用平均準(zhǔn)確率和平均召回率作為評價指標(biāo)。準(zhǔn)確率表示識別為某種木材中正確識別的比例,召回率表示某種木材被正確識別的數(shù)量占該木材總量的比例。平均準(zhǔn)確率表示120 種木材準(zhǔn)確率的平均值,平均召回率表示120 種木材召回率的平均值。
采用數(shù)據(jù)增強前后獲得的兩個ResNet101 模型對120種木材進行識別,平均準(zhǔn)確率和召回率如表1 所示。
Fig.8 Web interface of remote identification system of wood images圖8 木材圖像遠程鑒定系統(tǒng)Web 端界面
Table 1 Recognition results of 120 kinds of wood cross-sections by ResNet101 model表1 ResNet101 模型對120 種木材橫截面的識別結(jié)果
經(jīng)過數(shù)據(jù)增強,ResNet101 模型的平均準(zhǔn)確率和召回率分別提高了7.5%與9.1%。
在被誤判的木材圖像中,紫檀屬中刺猬紫檀、大果紫檀、染料紫檀在樣本總量分別為495、479、502 的情況下平均識別率分別為72.4%、71.3%、75.5%,低于平均識別率,主要因為這幾種木材的紋理與顏色特征相似(見圖9),難以識別。因此,對于相似木材的種類識別,需要采集更多木材圖像,擴充訓(xùn)練集以提高識別準(zhǔn)確率。
Fig.9 Wood images of 3 kinds of Pterocarpus species圖9 3 種紫檀屬木材圖像
基于Web 的木材圖像遠程鑒定系統(tǒng)包括Web 端、數(shù)據(jù)庫、后臺服務(wù)器及深度學(xué)習(xí)識別模型,具有木材圖像智能識別、木材信息瀏覽查詢、專家遠程在線支持、用戶識別歷史瀏覽等功能。當(dāng)工作人員遇到難以辨別的木材時,可將采集的木材橫截面圖像上傳至服務(wù)器,服務(wù)器在1~2s 內(nèi)即可將識別結(jié)果反饋給用戶。對于有疑問的地方,還可申請專家進行遠程在線鑒定。
由于珍稀與瀕危木材樣本難以獲得,存在部分木材圖像數(shù)量不足的問題,本文通過圖像增強的方法擴充訓(xùn)練樣本量,以提高木材識別率與模型泛化能力,最終120 種木材的平均識別率為95.7%。后續(xù)隨著該系統(tǒng)的推廣與應(yīng)用,將進一步增加相關(guān)木材圖像的樣本量,從而進一步提高木材識別率。但該系統(tǒng)僅作為海關(guān)工作人員查驗進出境木材的輔助工具,為木材檢測人員快速提供木材種類信息作為參考,從而提升海關(guān)工作效率,若對識別結(jié)果存在疑問或發(fā)現(xiàn)未在數(shù)據(jù)庫中的木材種類,需要通過專家作進一步鑒定,確保無誤才能通關(guān)。
本文只針對海關(guān)中常見的120 種木材建立木材圖像遠程鑒定系統(tǒng),但在實際場景中,木材種類很多。因此,下一步將收集更多木材圖像,完善木材圖文數(shù)據(jù)庫,以識別更多種類的木材。