文/游康 任忻生 張水清 鄭碩 洪世光 陳曉昕 吳垠峰 黃昱
水產(chǎn)品貿(mào)易在中國農(nóng)產(chǎn)品貿(mào)易中有非常重要的地位。改革開放以來,隨著人們收入水平的提升,保健意識的加強,以及冷鏈物流的發(fā)展,我國的水產(chǎn)品消費市場持續(xù)擴大,水產(chǎn)品國際貿(mào)易發(fā)展迅速。據(jù)2022中國漁業(yè)統(tǒng)計年鑒顯示,2021年,中國水產(chǎn)品進口數(shù)量為574.74萬t,進口金額為180.23億美元,出口數(shù)量為380.07萬t,出口金額為219.26億美元,水產(chǎn)品貿(mào)易涉及約200個國家或地區(qū)。
2018年,海關機構改革,關檢業(yè)務領域?qū)崿F(xiàn)全面融合,水產(chǎn)品進出口監(jiān)管涉及單證審核、現(xiàn)場查驗、取樣送檢、合格評定等多個環(huán)節(jié)。但進出口水產(chǎn)品種類和數(shù)量增長快,國際貿(mào)易環(huán)境復雜多變,給海關與企業(yè)對水產(chǎn)品的認定和歸類帶來較大困難,對海關一線執(zhí)法人員商品知識掌握的全面性提出了更高要求。
隨著機器學習尤其是深度學習技術的迅速發(fā)展,圖像識別技術已在植物識別、人臉識別、交通標志識別和醫(yī)學圖像識別等方面展開了廣泛的研究應用。本文提出一種基于深度學習的水產(chǎn)品智能識別輔助系統(tǒng)設計方案,將圖像識別技術與海關關稅業(yè)務相結(jié)合,貼合海關歸類業(yè)務,切實解決水產(chǎn)品歸類中識魚難的問題,并有效提高進出口水產(chǎn)品通關便利程度。
圖像識別技術是人工智能的一種,通過計算機模擬人類的認知活動,從大量數(shù)據(jù)中學習到泛化規(guī)律,從而對新的樣本做出識別或者利用規(guī)律對未來作出預測。機器學習的卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)是一種目標分類識別方法,使用該識別方法可以實現(xiàn)自動化圖像特征提取,與分類識別過程融為一體,實現(xiàn)水產(chǎn)品圖像自動識別。
Inception-ResNet網(wǎng)絡是一種深度學習結(jié)構,從微軟的殘差網(wǎng)絡(ResNet)中得到啟發(fā),由Inception V3模型變化而來,在Inception模塊中引入ResNet的殘差結(jié)構,殘差連接(Residual Connections)可以讓Shortcuts存在于模型中,從而簡化Inception塊,可以讓更深的神經(jīng)網(wǎng)絡訓練成為可能,該網(wǎng)絡集成了Inception檢測準和ResNet訓練速度快的優(yōu)勢。2016年,Google團隊發(fā)布Inception-ResNet-V2卷積神經(jīng)網(wǎng)絡,在ILSVRC圖像分類基準測試中拿下了最好成績。
商品歸類是指在《商品名稱及編碼協(xié)調(diào)制度公約(HS)》商品分類目錄體系下,以《中華人民共和國進出口稅則》(以下簡稱“《稅則》”)為基礎,按照《進出口稅則商品及品目注釋》《中華人民共和國進出口稅則本國子目注釋》以及總署發(fā)布的關于商品歸類的行政裁定、商品歸類決定的要求,確定進出口貨物商品編碼的活動。
水產(chǎn)品主要指《稅則》第三章所列的魚、甲殼動物、軟體動物及其他水生無脊椎動物。
《稅則》第三章按照魚—甲殼動物—軟體動物及其他水生無脊椎動物的順序列目,主要包括所有活的或死的魚、甲殼動物、軟體動物及其他水生無脊椎動物,這些動物可供直接食用、工業(yè)用(罐頭工業(yè)等)、產(chǎn)卵或觀賞用。《稅則》第三章產(chǎn)品允許的加工程度為鮮(含用鹽臨時保藏)、冷、凍、鹽腌、鹽漬、干制、熏制、在表面撒糖或糖水的。另外,熏制前或熏制過程中烹煮過的熏魚及蒸過或用水煮過的帶殼甲殼動物,無論是否冷凍都歸入本章。
歸類思路為:各品目按門、綱、目、科、屬、種分別歸入不同子目。歸類過程中,應根據(jù)商品學名(通常為拉丁文表示)判斷屬、種,再根據(jù)歸類總規(guī)則依次確定品目、子目及本國子目。
前端將配合海關總署在建知識庫平臺,根據(jù)海關總署在建知識庫平臺的需求,選擇使用安卓、IOS或者微信小程序進行開發(fā),待系統(tǒng)建成后,服務器將提供識別接口,海關總署在建知識庫平臺調(diào)用服務器接口,傳對應的參數(shù)到服務器,然后服務端識別后回傳結(jié)果,由海關總署在建知識庫平臺進行展示。后端采用Express框架+Redis內(nèi)存數(shù)據(jù)庫+PostgreSQL后臺存儲用數(shù)據(jù)庫的模式。
在對比當前深度學習主流分類網(wǎng)絡VGG、Inception-ResNet-V2、ResNet和DenseNet后,采用Inception-ResNet-V2模型對水產(chǎn)品圖像進行實驗,通過試驗對比,探討如何提高其識別水產(chǎn)品圖像的能力。
采用Keras深度學習框架,實驗環(huán)境支持多GPU并行運算,操作系統(tǒng)采用Linux,開發(fā)語言是Python3.6,在訓練和測試過程中使用CUDA和CUDNN進行并行加速計算。
實驗數(shù)據(jù)挑選了13種水產(chǎn)品,包括中國鯧、銀鯧、刺鯧,白帶魚、沙帶魚,魷魚、墨魚,巴浪魚、竹莢魚、鯖魚、秋刀魚,黃鰻、青鰻。
其中,中國鯧、銀鯧、刺鯧雖然都叫鯧魚,但商品歸類各不相同,在進出口申報時經(jīng)常出現(xiàn)錯誤;白帶魚、沙帶魚、黃鰻、青鰻外觀很難區(qū)分,歸類也不相同;巴浪魚、竹莢魚、鯖魚、秋刀魚非專業(yè)人士也很難區(qū)分;魷魚、墨魚是軟體動物代表。
實驗數(shù)據(jù)由宏東漁業(yè)、馬尾口岸進出口水產(chǎn)品公司現(xiàn)場拍照提供,并結(jié)合索羅特公司前期收集的圖冊,13種水產(chǎn)品,共計2128張照片,其中凍品照片984張。
將13種水產(chǎn)品的凍品照片和非凍品照片作為不同種類分開,合計26種類別。采用img_to_array函數(shù)對圖像進行預處理,并將其劃分成2個部分,80%作為訓練集,20%作為測試集。
用預先在K e r a s中訓練好的Inception-ResNet-V2模型。修改該模型的最后一層全連接層的參數(shù),即將模型最終的密集層舍棄,采用平均池化,將最終的類別改成26類,激活函數(shù)選用Softmax函數(shù)。設置Model Checkpoint,按照驗證集的準確率進行保存。設置loss(訓練集損失值)、accuracy(訓練集準確率)、val_loss(測試集損失值)、val_accruacy(測試集準確率)并實時監(jiān)控訓練過程。
為了探究更好的準確率,對Batch-size進行了重新設置。在一定的范圍內(nèi)增大Batch-size,可以使內(nèi)存的使用率提高,跑一輪的迭代次數(shù)減少,模型確定的下降方向變準,減小訓練震蕩從而達到提高準確率的效果。將Batch-size的數(shù)值分別設置為8、16、24、32、40,因為Batch變大要達到相同準確率必須要增大Epoch。所以學習輪數(shù)分別設置為5、10、15、20、25。
1.實驗方案
分別設置每步的Batch-size(單次傳遞給程序用以訓練的參數(shù)個數(shù))為8、16、24、32、40,epoch(學習的輪數(shù)設置)為5、10、15、20、25,輸入全部數(shù)據(jù),80%作為訓練集,20%作為測試集,開始訓練。
2.實驗數(shù)據(jù)
當Batch-size為40,Epoch為25時,訓練只進行到第22輪,準確率和損失值就已達到極高的水平,系統(tǒng)就自動判定完成訓練,不再繼續(xù)訓練。
3.實驗結(jié)論
從表1可以看出,當Batch-size為32,Epoch為20,Loss值降至0.0087,準確率可達到99.74%。同時可以看到,在訓練集中,當Batch-size為40時,測試集準確率相較于Batch-size為32時并沒有得到提升,反而還下降了,雖然Loss值也變小了,但訓練輪次在第22輪就終止了,所以不是Batch-size越大越好??梢酝茰yBatch-size的最優(yōu)解在32左右,此時準確率達到最大。
表1 不同Batch-size下模型的準確率統(tǒng)計
以此圖像識別訓練模型參數(shù)設置為基礎,設計整個進出口水產(chǎn)品智能識別輔助系統(tǒng)。
為滿足水產(chǎn)品進出口場景的需求,將圖像識別技術與海關關稅業(yè)務相結(jié)合,貼合海關歸類業(yè)務,解決水產(chǎn)品歸類中識魚難的問題,設計本系統(tǒng)需包含水產(chǎn)品查詢模塊、識魚模塊、展示模塊及專家識魚模塊等四大主要模塊。
水產(chǎn)品查詢模塊是在已明確水產(chǎn)品物種的情況下,查詢海關進出口商品歸類、進出口稅率、進出口準入條件等信息的窗口,為進出口水產(chǎn)品企業(yè)提供一站式的信息查詢服務,也是進出口水產(chǎn)品智能識別輔助系統(tǒng)在“智能識魚”模塊訓練尚不完善,無法識別情況下的補充。
對于水產(chǎn)品進出口企業(yè)而言,在進出口報關前僅掌握了商品名稱,但報關所需要的商品編碼、規(guī)范申報要素、監(jiān)管條件等信息需通過多個渠道才能獲得,查詢模塊可以幫助進出口水產(chǎn)品企業(yè)通過該模塊一次性獲取以上信息,并可根據(jù)獲取的進出口稅率信息,計算進口稅費成本。
該模塊的核心在于通過拉丁文名這個世界統(tǒng)一的命名來對應水產(chǎn)品的ID,然后根據(jù)水產(chǎn)品進出口商品編碼對應的ID,從而將水產(chǎn)品進出口信息與所查詢的商品進行對應關聯(lián)。如中國鯧、斗鯧、華鯧對應的拉丁文名都是,在選擇不同的報驗狀態(tài)后,匹配對應的商品編碼,展示相關水產(chǎn)品進出口信息。
識魚模塊是本系統(tǒng)的核心之一,目的是輔助進出口企業(yè)和現(xiàn)場執(zhí)法人員在面對未知水產(chǎn)品時,通過拍照或上傳圖片,能夠自動識別出水產(chǎn)品物種的拉丁文名。
前端上傳過來的圖片保存在本地后,用keras加載模型的函數(shù),加載已經(jīng)訓練好的模型對此圖片進行卷積處理。
再調(diào)用model.predict(image),將卷積結(jié)果與訓練好的模型文件進行比對,從而計算出屬于某個水產(chǎn)品的概率。概率越大,屬于該種魚類的可能性越高,準確度越高,出于提高進出口水產(chǎn)品識別準確率要求的目的,去除概率值低于0.9的識別結(jié)果。
經(jīng)過識別服務器給出結(jié)果后,導出一條識別記錄到數(shù)據(jù)庫,分為兩個表,識別recognise表和識別日志recogniselog表。
識別出水產(chǎn)品的拉丁文名后,通過選擇報驗狀態(tài)自動確定HS編碼,根據(jù)HS編碼對應水產(chǎn)品進出口信息,進出口信息需要包含水產(chǎn)品進出口報關申報所需要的所有信息,從而實現(xiàn)信息查詢一體化的目的。
在研究水產(chǎn)品通關全流程后,選擇商品名稱、HS編碼、對應的進口稅率、協(xié)定稅率、出口退稅率、商品圖片、申報要素、進口準入條件、進出口檢驗檢疫要求等信息作為展示信息。
在系統(tǒng)建設早期,由于數(shù)據(jù)庫圖片不夠完善,機器訓練程度不夠,會出現(xiàn)無法識別或識別錯誤的情況。系統(tǒng)不完善可能導致現(xiàn)場執(zhí)法不便,無法獲取用戶的信任,不利于推廣。
為了盡量確保識別的準確率,防止因使用本系統(tǒng)導致的執(zhí)法歧義,本系統(tǒng)將識別的概率值提高到0.9,對于概率值低于0.9的圖片,將返回“很抱歉,我們暫時無法識別該水產(chǎn)品”界面。在反饋無法識別后,為解決這個問題,用戶可選擇將圖片上傳至“專家識魚”模塊,由后臺人工對水產(chǎn)品進行識別,但人工識別無法做到實時答復。由于人工識別也有局限性,也無法百分百做出答復,對人工無法識別的圖片將回復“很抱歉,我們暫時無法識別該水產(chǎn)品”。
為不斷豐富數(shù)據(jù)庫,提高系統(tǒng)識別率和識別精度,應鼓勵用戶上傳圖片,并利用新圖片定期對全部數(shù)據(jù)進行訓練,不斷完善機器訓練模型,發(fā)揮集聚的效應。由于用戶上傳信息的準確性會影響最終數(shù)據(jù)庫的準確性,在用戶上傳圖片信息后,后臺還需進行審核,并對數(shù)據(jù)進行處理。同時由于卷積神經(jīng)網(wǎng)絡模型訓練,在數(shù)據(jù)量大的情況下,小部分錯誤圖片不會對訓練結(jié)果造成影響,所以不用擔心小部分錯誤信息進入訓練庫從而影響識別準確率的問題。
本文通過研究進出口水產(chǎn)品智能識別輔助系統(tǒng),并嘗試運用圖像這個非結(jié)構化的數(shù)據(jù)庫,提出使用“智能識魚”模塊拍照識別水產(chǎn)品,探索出一種全新的水產(chǎn)品歸類方式,降低水產(chǎn)品歸類的“門檻”,這是當前海關信息系統(tǒng)在大數(shù)據(jù)運用上的一個突破,也為下一步建設海關總署知識庫平臺“水產(chǎn)品智能模塊”提供方案。
通過建設推廣進出口水產(chǎn)品智能識別輔助系統(tǒng),將有利于降低水產(chǎn)品進出口企業(yè)報關差錯率,減少企業(yè)報關差錯帶來的經(jīng)濟損失,營造良好營商環(huán)境;進一步提升海關執(zhí)法人員水產(chǎn)品商品知識水平,培養(yǎng)水產(chǎn)品專家,提高執(zhí)法水平,防范稅收風險;有效提升防范準入風險能力、打擊走私瀕危水產(chǎn)品能力;快速識別入侵物種,守護國門生物安全,促進進出口水產(chǎn)品貿(mào)易良性發(fā)展。