侍國(guó)忠,陳 明,張重陽(yáng)
(1.上海海洋大學(xué) 信息學(xué)院,上海 201306;2.農(nóng)業(yè)部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室,上海 201306)
河蟹隸屬于甲殼綱、十足目、方蟹科、絨螯蟹屬,俗稱大閘蟹、螃蟹;其肉味鮮美、營(yíng)養(yǎng)價(jià)值高,具有較高的經(jīng)濟(jì)價(jià)值,是優(yōu)質(zhì)水產(chǎn)養(yǎng)殖品種[1]。但是,近年來(lái),隨著河蟹養(yǎng)殖業(yè)的快速發(fā)展,相繼而來(lái)的河蟹質(zhì)量安全問(wèn)題也逐漸增多,影響著河蟹行業(yè)的可持續(xù)發(fā)展。一方面,在河蟹養(yǎng)殖過(guò)程中存在亂用、濫用藥物的現(xiàn)象,嚴(yán)重影響商品河蟹的品質(zhì)和食用安全[2]。另一方面由于陽(yáng)澄湖大閘蟹的知名度和高價(jià)位,其他湖泊的蟹也順著攀上高枝,太湖、揚(yáng)州、蘇北等江蘇地區(qū)的湖蟹、塘蟹在上市前運(yùn)送至陽(yáng)澄湖里泡上一個(gè)月,搖身一變就成了正宗陽(yáng)澄湖出產(chǎn)的大閘蟹,其身價(jià)也翻了數(shù)倍[3]。為解決上述問(wèn)題,目前商品河蟹溯源的途徑主要有3種,即生物溯源、化學(xué)溯源、信息溯源[4]。生物溯源主要包括DNA溯源技術(shù),它可以從本質(zhì)上實(shí)現(xiàn)溯源,具有準(zhǔn)確性高的特點(diǎn),但操作復(fù)雜、鑒定時(shí)間長(zhǎng)?;瘜W(xué)溯源包括質(zhì)譜技術(shù)、光譜技術(shù)和分離技術(shù),相比生物溯源,它具有較快速、較準(zhǔn)確的特點(diǎn),但局限于實(shí)驗(yàn)室環(huán)境無(wú)法大規(guī)模推廣。信息溯源主要有標(biāo)簽溯源技術(shù),如條形碼、二維碼、電子標(biāo)簽、防偽蟹扣等[5-6],使得消費(fèi)者可以通過(guò)移動(dòng)端直接進(jìn)行驗(yàn)證并溯源,具有方便、準(zhǔn)確、可移動(dòng)性高的特點(diǎn),是今后溯源的主要發(fā)展方向。陸軍等[7]采用為每只河蟹生成一個(gè)二維碼的方式開發(fā)了基于Web的河蟹養(yǎng)殖質(zhì)量安全信息可追溯系統(tǒng)源平臺(tái)。周興國(guó)等[8]結(jié)合RFID和二維碼技術(shù),實(shí)現(xiàn)了海參的防偽溯源。張炳良等[9]提出一種結(jié)合二維碼和河蟹甲殼圖像相結(jié)合的雙重防偽體系,但是僅提出了思路,并未給出結(jié)果和驗(yàn)證。從上述文獻(xiàn)可知,雖然信息溯源技術(shù)已經(jīng)取得了一些研究成果,但驗(yàn)證的并非河蟹本體,而是綁縛在蟹螯上的可移動(dòng)標(biāo)識(shí)物,存在人為偽造、回收可移動(dòng)標(biāo)識(shí)物等問(wèn)題,使得假蟹冒充真蟹驗(yàn)證后賣出,造成真假蟹混淆而無(wú)法溯源。
特征提取是圖像識(shí)別最重要的步驟,提取特征的好壞將直接影響識(shí)別效果。主要有幾何特征方法[10]、局部特征描述方法[11-12]、子空間方法[13]、和深度學(xué)習(xí)方法[14],近年來(lái)隨著深度學(xué)習(xí)的不斷發(fā)展,其在人臉識(shí)別領(lǐng)域以99.7%的識(shí)別精度取得了巨大成功[15],此外相關(guān)研究表明,一方面,蟹殼表面分布著豐富的凸起、溝、脊、紋理等性狀且并不會(huì)受生活場(chǎng)景的影響,表現(xiàn)出較高的穩(wěn)定性[16];另一方面,河蟹無(wú)論是在自然條件下還是在養(yǎng)殖環(huán)境中,喜歡攀爬、掘洞、潛伏于沙或泥中,但因?yàn)閭€(gè)體生活習(xí)性的不同而出現(xiàn)蟹殼圖案不同程度的磨損,進(jìn)而增大河蟹個(gè)體蟹殼圖案的差異性[17]。但如果直接使用深度殘差網(wǎng)絡(luò)提取蟹殼特征進(jìn)行識(shí)別溯源,存在特征維度大,識(shí)別時(shí)間長(zhǎng),無(wú)法實(shí)時(shí)溯源的問(wèn)題。因此本文提出基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹精準(zhǔn)溯源系統(tǒng)。
該溯源系統(tǒng)的總體架構(gòu)如圖1所示,由養(yǎng)殖環(huán)節(jié)、檢測(cè)環(huán)節(jié)、銷售環(huán)節(jié)、溯源環(huán)節(jié)4部分組成。養(yǎng)殖環(huán)節(jié)是指河蟹準(zhǔn)備上市時(shí),養(yǎng)殖戶先通過(guò)攝像機(jī)采集每一只河蟹的蟹殼圖片,再將蟹殼圖片、養(yǎng)殖環(huán)境數(shù)據(jù)、水質(zhì)數(shù)據(jù)、河蟹生長(zhǎng)數(shù)據(jù)、藥物使用數(shù)據(jù)等養(yǎng)殖相關(guān)信息提交到溯源系統(tǒng),溯源系統(tǒng)收到養(yǎng)殖信息后,首先使用訓(xùn)練后改進(jìn)深度殘差網(wǎng)絡(luò)提取蟹殼圖片的156維特征,再將蟹殼圖片,156維特征、養(yǎng)殖相關(guān)信息保存到溯源數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)后返回每只河蟹唯一的編號(hào)和批號(hào),最后將返回的編號(hào)和批號(hào)以自鎖式扎帶作為載體附著在河蟹蟹螯上。檢測(cè)環(huán)節(jié)是指檢測(cè)中心對(duì)每一批河蟹進(jìn)行質(zhì)量抽檢,再將抽檢河蟹蟹螯上的編號(hào)、批號(hào),檢測(cè)結(jié)果、檢測(cè)單位等檢測(cè)相關(guān)信息存入溯源數(shù)據(jù)庫(kù)。銷售環(huán)節(jié)是指河蟹批發(fā)商或者經(jīng)銷商將銷售河蟹蟹螯上的編號(hào)、批號(hào),商家信息、銷售去向、銷售時(shí)間等銷售信息存入溯源數(shù)據(jù)庫(kù)。溯源環(huán)節(jié)是指養(yǎng)殖者、監(jiān)管者、消費(fèi)者將使用手機(jī)或攝像機(jī)拍攝的蟹殼圖片通過(guò)溯源APP或者在線溯源網(wǎng)站提交到溯源系統(tǒng),溯源系統(tǒng)使用基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別技術(shù),識(shí)別溯源數(shù)據(jù)庫(kù)中是否存在待溯源河蟹。如果存在則輸出溯源數(shù)據(jù)庫(kù)中對(duì)應(yīng)河蟹在養(yǎng)殖、檢測(cè)、銷售環(huán)節(jié)的信息,否則輸出該河蟹不屬于本系統(tǒng)。最終實(shí)現(xiàn)河蟹從養(yǎng)殖者、監(jiān)管者、消費(fèi)者到養(yǎng)殖場(chǎng)的追溯跟蹤。
圖1 溯源系統(tǒng)總體架構(gòu)Fig.1 Tracing system overall architecture
上述系統(tǒng)的關(guān)鍵是基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別技術(shù),識(shí)別流程如圖2所示,由特征提取模型訓(xùn)練和識(shí)別兩部分組成。特征提取模型訓(xùn)練指使用91 000張蟹殼圖像數(shù)據(jù)集訓(xùn)練采用增加一層全連接和Dropout層的改進(jìn)深度殘差網(wǎng)絡(luò),提取具有泛化能力且能區(qū)分每只河蟹的蟹殼特征。河蟹識(shí)別由圖像預(yù)處理、特征提取、相似度計(jì)算、相似度判定4部分組成。圖像預(yù)處理指將待溯源河蟹蟹殼圖像尺寸縮小為128×128;特征提取指使用訓(xùn)練后改進(jìn)深度殘差網(wǎng)絡(luò)提取預(yù)處理后蟹殼圖像的156維特征向量;相似度計(jì)算指使用余弦相似度計(jì)算待溯源河蟹蟹殼圖像特征向量和溯源數(shù)據(jù)庫(kù)中河蟹蟹殼圖像特征向量相似度,相似度判定指如果相似度大于90%,輸出兩幅蟹殼圖片屬于同一只河蟹,識(shí)別成功,否則繼續(xù)搜索,直至遍歷完溯源數(shù)據(jù)庫(kù)也沒(méi)有找到相似度大于90%的蟹殼圖片特征向量,輸出識(shí)別失敗。
圖2 基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別流程Fig.2 Crab identification process based on improved depth residual network
深度殘差網(wǎng)絡(luò)(Resnet網(wǎng)絡(luò))由何凱明等于2015年提出,解決了神經(jīng)網(wǎng)絡(luò)隨著層數(shù)增加而帶來(lái)的梯度消失和梯度爆炸問(wèn)題,使得網(wǎng)絡(luò)的性能隨著深度的增加同時(shí)得到提升[18]。圖3所示為Resnet101結(jié)構(gòu)圖,其中包含100個(gè)卷積層和1個(gè)全連接層,第二至第五階段中的IDBLOCK×n表示n個(gè)具有相同維度的殘差塊,CONVBLOCK表示卷積核設(shè)置為固定尺度的殘差塊,每個(gè)殘差塊包含3個(gè)卷積層,所以卷積層個(gè)數(shù)為1+3×(3+4+23+3)=100。
圖3 Resnet101網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Resnet101 network structure
卷積層的主要功能是對(duì)輸入圖像提取特征。如圖4所示,輸入蟹殼圖像的尺寸為128×128,經(jīng)過(guò)第一階段7×7卷積核與輸入圖像卷積后得到一幅64×64的特征圖,并輸入到后續(xù)階段繼續(xù)提取高層特征,將各階段部分特征圖可視化,如圖4所示,第一階段卷積層類似于邊緣檢測(cè)的功能,隨著層數(shù)加深提取的特征抽象程度越高,識(shí)別精度越高。
圖4 卷積特征可視化Fig.4 Convolution feature visualization
雖然深度殘差網(wǎng)絡(luò)能自動(dòng)學(xué)習(xí)具有泛化能力的河蟹蟹殼特征,但存在提取的特征,類間間距不足夠小,從而導(dǎo)致錯(cuò)誤接受或者錯(cuò)誤拒絕。因此張楓等[19]提出采用結(jié)合中心損失函數(shù)[20]與交叉熵?fù)p失函數(shù)共同監(jiān)督網(wǎng)絡(luò)訓(xùn)練,使同一只河蟹蟹殼圖像提取的特征盡可能聚集,而不同只河蟹蟹殼圖像提取的特征盡可能遠(yuǎn)離。中心損失函數(shù)與交叉熵?fù)p失函數(shù)結(jié)合的定義,如式(1)所示:
(1)
式中:xi為第i個(gè)樣本的特征,屬于yi類,Wj是全連接層權(quán)重參數(shù),n和m分別為類別數(shù)和樣本數(shù)。
如圖5所示,如果直接將Flatten層輸出的2 048維特征向量作為提取的蟹殼特征,設(shè)溯源數(shù)據(jù)庫(kù)中蟹殼圖片數(shù)量為1 000,則識(shí)別一只待溯源河蟹需要1 000×2 048的計(jì)算量,當(dāng)溯源數(shù)據(jù)庫(kù)非常大時(shí),無(wú)法達(dá)到實(shí)時(shí)性要求。因此本文提出在Flatten層[21]后增加一層全連接層和Dropout層,全連接層,不僅能增強(qiáng)網(wǎng)絡(luò)的非線性映射能力,同時(shí)可以降低特征維度,提高識(shí)別速度和精度。Dropout層,訓(xùn)練時(shí)按照20%舍棄部分神經(jīng)元,利用這種方式不僅可以防止模型過(guò)擬合,也可以提高模型泛化能力。最后將新增全連接層輸出的156維特征向量作為提取的蟹殼特征記為C:
C=[c1,…,c156].
(2)
圖5 改進(jìn)后Resnet101網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Improved Resnet101 network structure
如圖5所示,F(xiàn)latten層神經(jīng)元個(gè)數(shù)為2 048記為n,新增全連接層神經(jīng)元個(gè)數(shù)為156記為l,輸出層神經(jīng)元個(gè)數(shù)為訓(xùn)練集螃蟹個(gè)數(shù)記為m。Flatten層與新增全連接層的權(quán)重為wij,新增全連接層到輸出層的權(quán)重為wjk,Flatten層與新增全連接層間的偏置為aj,新增全連接層與輸出層間的偏置為bk,新增全連接層取ReLU激活函數(shù),如式(3)所示:
(3)
(4)
輸出層取Softmax激活函數(shù),如式(5)所示:
(5)
則輸出Ok可表示為式(6):
(6)
最后使用中心損失與交叉熵計(jì)算Ok的損失并用梯度下降算法對(duì)整個(gè)改進(jìn)后Resnet網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
設(shè)兩幅蟹殼圖像經(jīng)過(guò)Resnet網(wǎng)絡(luò)提取后的特征表示為二元組(x1,x2),使用余弦相似可以得到兩幅蟹殼圖像的相似度,如式(7)所示:
(7)
式中:d表示特征向量的維度,x1,x2表示提取的特征向量。
實(shí)驗(yàn)材料為養(yǎng)殖的河蟹,其中雄蟹46只,雌蟹45只共91只。雌蟹體質(zhì)量130.0 ~ 150.0 g,殼長(zhǎng)74.0 ~100.0 mm,殼寬70.0 ~120.0 mm;雄蟹體質(zhì)量180.0~205.0 g,殼長(zhǎng)85.0 ~115.0 mm,殼寬98.0 ~130.0 mm。將上述河蟹以1~91順序編號(hào)并將編號(hào)牌統(tǒng)一固定在右側(cè)蟹螯上。隨即開始下一步相關(guān)的圖像采集。
(a)同一只河蟹不同分辨率圖片(a)Same river crab different resolution pictures
(b)同一只河蟹不同角度圖片(b)Same river crab different angle pictures
(c)同一只河蟹不同尺度圖片(c)Same river crab different scale pictures圖6 測(cè)試庫(kù)部分蟹殼圖片集Fig.6 Picture set of test library part crab shell
將上述91只河蟹,用SONY-ILCE-6000相機(jī)為每只河蟹采集1張蟹殼圖像并按河蟹編號(hào)命名共91張組成樣本庫(kù)。使用5種主流相機(jī)分辨率的手機(jī)(3 876×2 584、3 072×2 304、2 580×1936、1 600×1 200、1 200×1 100)為每只河蟹采集5種不同分辨率蟹殼圖像并按河蟹編號(hào)加流水號(hào)命名共455張組成不同分辨率蟹殼圖像庫(kù)。將手機(jī)以72度為單位旋轉(zhuǎn)5次,為每只河蟹采集5種不同角度蟹殼圖像并按河蟹編號(hào)加流水號(hào)命名共455張組成不同角度蟹殼圖像庫(kù)。將手機(jī)從不同高度,為每只河蟹采集原圖像不同倍數(shù)的5種不同尺度(0.1,0.2,0.3,0.4,0.5)蟹殼圖像并按河蟹編號(hào)加流水號(hào)命名共455張組成不同尺度蟹殼圖像庫(kù)。將不同分辨率、角度、尺度蟹殼圖像庫(kù)合并,共1 365張組成測(cè)試庫(kù),為提取魯棒性更強(qiáng)的蟹殼特征以適應(yīng)用戶拍攝時(shí)的復(fù)雜環(huán)境,使用翻轉(zhuǎn)、隨機(jī)修剪、色彩抖動(dòng)、平移變換、尺度變換、對(duì)比度變換、噪聲擾動(dòng)、旋轉(zhuǎn)變換、反射變換進(jìn)行圖片擴(kuò)充,擴(kuò)充后測(cè)試庫(kù)包含91 000張圖片,其中每只螃蟹1 000張,部分測(cè)試庫(kù)蟹殼圖片如圖6所示。
4.3.1 改進(jìn)深度殘差網(wǎng)絡(luò)訓(xùn)練
從測(cè)試庫(kù)中選取81只河蟹的81 000張蟹殼圖片集,并按8∶2拆分為訓(xùn)練集和驗(yàn)證集,訓(xùn)練改進(jìn)深度殘差網(wǎng)絡(luò)。實(shí)驗(yàn)設(shè)定學(xué)習(xí)率為0.05,優(yōu)化器為SGD,大小2 000,迭代次數(shù)為5 000,得到訓(xùn)練結(jié)果如圖7、8所示。
圖7 改進(jìn)深度殘差網(wǎng)絡(luò)準(zhǔn)確率變化曲線Fig.7 Improved depth residual network accuracy curve
圖8 改進(jìn)深度殘差網(wǎng)絡(luò)損失值變化曲線Fig.8 Improved depth residual network loss value curve
由圖7、8知,訓(xùn)練集迭代1 100次時(shí)開始收斂并穩(wěn)定在100%,驗(yàn)證集隨著訓(xùn)練集損失的不斷下降,迭代3 000次時(shí)開始收斂并穩(wěn)定在98%。該實(shí)驗(yàn)結(jié)果達(dá)到了河蟹識(shí)別對(duì)提取蟹殼特征的高可區(qū)分性要求。
4.3.2 訓(xùn)練后改進(jìn)深度殘差網(wǎng)絡(luò)提取蟹殼特征泛化性測(cè)試
將測(cè)試庫(kù)中剩余10只河蟹的10 000張蟹殼圖片,使用訓(xùn)練后改進(jìn)深度殘差網(wǎng)絡(luò)提取蟹殼156維特征向量。再使用T-SNE流形學(xué)習(xí)[22]通過(guò)降維實(shí)現(xiàn)特征向量分布可視化,繪制出提取蟹殼特征分布情況,其中數(shù)字為河蟹編號(hào),不同顏色代表不同只河蟹。如圖9所示,從10只河蟹10 000張蟹殼圖片中提取的蟹殼特征,較好地聚成了10類,類內(nèi)緊湊,類間差異明顯,因此訓(xùn)練后改進(jìn)深度殘差網(wǎng)絡(luò)提取的蟹殼特征具有很好的辨識(shí)和泛化能力。
圖9 蟹殼特征分布Fig.9 Crab shell feature distribution
4.3.3 識(shí)別結(jié)果對(duì)比
使用本文提出的基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別技術(shù)將測(cè)試庫(kù)中的蟹殼圖片在樣本庫(kù)中進(jìn)行匹配識(shí)別實(shí)驗(yàn),得到的結(jié)果如表1所示。由表1知基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別技術(shù)與改進(jìn)前相比,雖然識(shí)別正確率相差不大,只提高了0.3%,但識(shí)別耗時(shí)降低了92%,更加符合溯源系統(tǒng)對(duì)實(shí)時(shí)性的要求。
表1 測(cè)試庫(kù)與樣本庫(kù)識(shí)別結(jié)果
Tab.1 Identification results of test library and sample library
螃蟹編號(hào)識(shí)別正確數(shù)/%識(shí)別次數(shù)正確率耗時(shí)/s深度殘差網(wǎng)絡(luò)83 58891 00091.8%4.3改進(jìn)深度殘差網(wǎng)絡(luò)83 81191 00092.1%0.33
本文針對(duì)深度殘差網(wǎng)絡(luò)提取特征維度大的問(wèn)題,提出在Flatten層后新增一層全連接和Dropout層,將提取的蟹殼特征向量從2048維降至156維,使得識(shí)別時(shí)間降低了92%,識(shí)別準(zhǔn)確率為92.1%。由于蟹殼表面存在大量特征且無(wú)法偽造,因此提出基于改進(jìn)深度殘差網(wǎng)絡(luò)的河蟹識(shí)別技術(shù),以替代傳統(tǒng)的通過(guò)驗(yàn)證可移動(dòng)的條形碼、二維碼或防偽蟹扣等標(biāo)識(shí)物進(jìn)行溯源,實(shí)現(xiàn)每一只商品河蟹從消費(fèi)者到養(yǎng)殖場(chǎng)的精準(zhǔn)溯源追蹤,解決了人為偽造、回收標(biāo)識(shí)物,造成真假蟹混淆而無(wú)法溯源的問(wèn)題。