李昊璇,閆新艷
(山西大學 物理電子工程學院,山西 太原 030006)
隨著生活水平的不斷提高,人們對于商品種類的需求也日漸多樣化. 零售超市作為大型超市的一種補充,更好地滿足了互聯(lián)網(wǎng)時代消費者的需求和偏好. 零售店相較于大型超市來說,商品種類少,利潤較低,但是其運營成本并不低,比如人工成本就是一大項支出,因此,無人零售超市的出現(xiàn)成為了一種趨勢. 其中,無人零售中需要應(yīng)用到的關(guān)鍵技術(shù)為商品識別. 實現(xiàn)基于深度學習的商品圖像識別,可以加快商品的流通速度,節(jié)約人們的時間,從而為人們提供更優(yōu)質(zhì)的服務(wù).
目前,商品識別中較為成熟的技術(shù)為RFID技術(shù),但該技術(shù)的成本比較高. 對于一些利潤空間較小的商品來說,RFID技術(shù)并不友好. 隨著深度學習技術(shù)的發(fā)展,商品識別技術(shù)也得到了飛速地發(fā)展. 將深度學習應(yīng)用到商品識別中,前人做出了很多研究. 2014年,郝騰[1]提出一種二次分類的方法對商品進行識別. 該方法將超橢球神經(jīng)網(wǎng)絡(luò)(HENN)[2]和糾錯支持向量機(EC-SVM)[3]兩種分類器各自的特點有效結(jié)合起來,實現(xiàn)對商品的識別,且達到了較好的識別分類效果; 2017年,曾志等[4]提出一種基于圖像內(nèi)容的多特征融合的深度學習分類算法,實現(xiàn)了大型網(wǎng)絡(luò)購物網(wǎng)站商品圖像的分類; 2018年,王曉超[5]提出了基于RGB-D多維信息深度學習的圖像識別算法; 梅啟成等[6]采用AlexNet網(wǎng)絡(luò)模型對商品圖像進行識別; 2019年,隨玉騰[7]提出了利用ResNet18實現(xiàn)對26種200多張商品圖像的識別.
由于日常商品圖像中往往存在許多與商品信息無關(guān)的東西,比如其他商品的一些信息,這些無關(guān)信息可以定義為噪聲. 而噪聲的出現(xiàn)會對商品圖像識別的準確率造成一定的影響. 因此,為了削弱噪聲對準確率的影響,本文提出將一種深度殘差收縮網(wǎng)絡(luò)應(yīng)用到商品圖像識別中的算法. 該算法將注意力機制與殘差網(wǎng)絡(luò)結(jié)合,生成一種新的神經(jīng)網(wǎng)絡(luò),命名為深度殘差收縮網(wǎng)絡(luò)(DRSN),以實現(xiàn)對商品圖像的識別.
無線射頻識別即射頻識別技術(shù)[8](Radio Frequency Identification,RFID),屬于自動識別的范疇,該技術(shù)使用無線電波實現(xiàn)對物體的識別,具有非接觸式的獨特優(yōu)勢. RFID技術(shù)使得閱讀器與標簽之間通過天線實現(xiàn)雙向數(shù)據(jù)傳輸,從而達到識別的目的. 但是根據(jù)市場定價可以得出,RFID識別碼的單價最低為0.1元. 在實際應(yīng)用中,對于利潤較低的商品來說,應(yīng)用該技術(shù)的可能性較小.
圖像識別是指借助計算機工具實現(xiàn)對圖像的處理、分析和理解,達到對不同模式下目標對象的識別分類,是將深度學習理論到實際的一種應(yīng)用[9].圖像識別技術(shù)的過程分為獲取目標信息、預處理圖像、對圖像特征進行提取和篩選、分類器設(shè)計和分類決策.
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別是一種較為新穎的圖像識別技術(shù),它是在傳統(tǒng)圖像識別的基礎(chǔ)上加入卷積神經(jīng)網(wǎng)絡(luò)的算法,使圖像識別領(lǐng)域邁向智能化[10]. 卷積神經(jīng)網(wǎng)絡(luò)是對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的改進,該網(wǎng)絡(luò)一般是對圖像的特征進行提取,然后將提取到的特征映射到神經(jīng)網(wǎng)絡(luò)中,從而實現(xiàn)圖像的識別及分類[11]. 輸入層、卷積計算、激勵層、池化層、全連接和輸出層6個部分可以組成一個簡單的卷積神經(jīng)網(wǎng)絡(luò). 在輸入層對圖像做一些簡單的預處理,隨后將其輸出給卷積層,使得卷積層對圖像的特征進行提??; 然后,將提出的特征輸出給激勵層,激勵層對其做一些非線性映射,再通過池化層將圖像的主要特征提取出來; 最后,通過全連接層將提取到的所有特征進行匯總,產(chǎn)生分類器,實現(xiàn)對圖像的識別分類. 神經(jīng)網(wǎng)絡(luò)憑借局部感知和參數(shù)共享兩大特點在圖像處理領(lǐng)域占有一定的地位,局部感知使得卷積核對輸入的空間局部模式有較好的響應(yīng),而參數(shù)共享降低了網(wǎng)絡(luò)模型復雜度和權(quán)值數(shù)量[12]. 兩者的結(jié)合不僅可以使網(wǎng)絡(luò)有效地從大量樣本中學習到想要的特征值,還降低了模型的復雜度,避免了復雜的特征提取過程.
殘差網(wǎng)絡(luò)[13]在卷積網(wǎng)絡(luò)中增加了直連通道,將原始輸入信息與后面層的輸出直接連接,形成殘差塊,極大地改善了網(wǎng)絡(luò)深度不斷增加帶來的梯度消失問題[14]. 深度殘差網(wǎng)絡(luò)是通過堆疊許多殘差塊形成的,其不僅增加了網(wǎng)絡(luò)深度,還減少了網(wǎng)絡(luò)的計算和參數(shù)值數(shù)量,緩解了網(wǎng)絡(luò)訓練的難度. 其中,殘差塊是殘差網(wǎng)絡(luò)的核心部分,其常見的結(jié)構(gòu)如圖 1 所示.
圖 1 殘差網(wǎng)絡(luò)基本模塊Fig.1 Basic module of residual network
注意力機制是根據(jù)人類視覺機制演變而來的[15]. 在人類視覺中,人們會對所看到的事物進行特點檢索,將有用的信息著重關(guān)注,而對其他的信息忽略. 注意力機制借鑒人類視覺的這一特性,提取輸入圖像中的有用信息,忽略其他不相關(guān)的信息.
近幾年對注意力機制應(yīng)用較為成功的是SENet(Squeeze-and-Excitation Networks),該算法主要通過嵌入一個小型網(wǎng)絡(luò),自動學習每個特征通道的重要度,然后提取重要特征并抑制一些相關(guān)性較小的特征. 該思想主要通過squeeze和excitation兩個關(guān)鍵操作實現(xiàn),其結(jié)構(gòu)如圖 2 所示.
squeeze操作在空間維度上對特征進行壓縮,將每個二維的特征通道變成一個實數(shù),使得該實數(shù)在某種程度上具有全局的感官野. Excitation操作通過參數(shù)w為每個特征通道生成權(quán)重. 最后通過一個reweight操作將excitation的輸出權(quán)重通過乘法逐通道加權(quán)到先前的特征上,以對原始特征的重新標定,實現(xiàn)對特征重要度的篩選.
圖 2 Squeeze-and-Excitation模塊Fig.2 Squeeze-and-Excitation module
圖像信息中難免會存在噪聲,軟閾值函數(shù)[12]則是降噪的核心步驟. 軟閾值函數(shù)表達式及對x的偏導函數(shù)為
(1)
(2)
假設(shè)τ的值為1,軟閾值函數(shù)及其偏導函數(shù)圖像如圖 3 所示.
(a) 軟閾值函數(shù)
(b) 偏導函數(shù)圖 3 軟閾值函數(shù)(a)及其偏導函數(shù)(b)Fig.3 Soft threshold function(a) and its partial derivative function(b)
根據(jù)表達式及其函數(shù)圖像可得出,該函數(shù)可以將部分區(qū)間的特征值設(shè)置為0,實現(xiàn)對部分特征信息的抑制. 根據(jù)其偏導函數(shù)表達式可以看出,該函數(shù)對x求偏導,值為0或1,這樣有利于梯度的反向傳播.
深度殘差收縮網(wǎng)絡(luò)將深度殘差網(wǎng)絡(luò)、注意力機制和軟閾值函數(shù)相結(jié)合,實現(xiàn)深度注意力機制下的軟閾值化,如圖 4 所示.
在圖 4 的子網(wǎng)絡(luò)中,先對輸入的所有特征求平均值; 然后,經(jīng)過全局均值池化和平均等操作得到一個特征A. 在另一條路徑,將全局均值池化之后的特征圖輸入到一個小型的全連接網(wǎng)絡(luò)中. 這個全連接網(wǎng)絡(luò)將輸出進行歸一化操作,使輸出保持在0和1之間并獲得一個系數(shù),記為α; 最后,將兩條路徑得到的系數(shù)相乘,得到一個自動學習到的閾值α×A. 從該表達式可以得出,該閾值的內(nèi)涵是一個0和1之間的數(shù)字×特征圖的絕對值的平均. 該閾值的意義在于使得不同的樣本有了不同的閾值,而且閾值為一個不大的正數(shù). 該子網(wǎng)絡(luò)的實現(xiàn)應(yīng)用了注意力機制的概念,如果與當前任務(wù)無關(guān)時,通過閾值化將它們置為0,實現(xiàn)對無關(guān)信息的抑制.
圖 4 深度殘差收縮網(wǎng)絡(luò)的子網(wǎng)絡(luò)Fig.4 Subnetworks of deep residual shrinkage networks
深度殘差收縮網(wǎng)絡(luò)由輸入層、卷積層、堆疊的基本模塊、激活函數(shù)、全局均值池化以及全連接輸出層等組成,如圖 5 所示.
3.1.1 圖像翻轉(zhuǎn)
本文利用python爬蟲工具,從百度圖片中爬取了51種商品的圖像,首先,對圖像進行預處理; 然后,對圖像進行鏡像處理以及加噪處理,擴充數(shù)據(jù)集,形成具有44 066張圖像的數(shù)據(jù)庫.
圖像鏡像分為水平鏡像、垂直鏡像和對角鏡像3 種. 其中,水平鏡像是指將圖像的左右部分以圖像垂直中軸線為中心進行鏡像對換. 在深度學習的訓練過程中,常常使用圖像水平鏡像變換的圖像增強方法以提高模型的泛化能力.
假設(shè)原圖像的高度為h,寬度為w,經(jīng)過水平鏡像變換后,原圖像中像素點P(x0,y0)的像素變?yōu)樾聢D像坐標P′(w-x0,y0)處的像素值.若用(x0,y0)表示原圖像坐標,(x1,y1)表示經(jīng)水平鏡像變換后圖像的坐標,那么兩張圖像的關(guān)系可表示為
(3)
(4)
圖 6 和圖 7 為部分原圖像及翻轉(zhuǎn)后的圖像.
圖 6 原圖像Fig.6 Original image
圖 7 水平鏡像翻轉(zhuǎn)后圖像Fig.7 Horizontal mirror image after flipping
3.1.2 圖像加噪
圖像噪聲是圖像在獲取或傳輸過程中受到的隨機信號的干擾,在圖像上出現(xiàn)的一些隨機的、離散的、孤立的像素點,這些點會干擾人眼對圖像信息的分析.圖像的噪聲通常是比較復雜的,很多時候?qū)⑵淇闯墒嵌嗑S隨機過程,因而可以借助于隨機過程描述噪聲,即使用概率分布函數(shù)和概率密度函數(shù).
本文所用算法在處理噪聲圖像時具有優(yōu)勢,因此,此次實驗對圖像數(shù)據(jù)進行了加噪處理,為圖像添加了高斯噪聲和椒鹽噪聲,這樣做不僅更好地模擬了現(xiàn)實中的圖像,也對數(shù)據(jù)集進行了擴充.
加性噪聲和圖像信號強度不相關(guān),這類噪聲可以看成理想無噪聲圖像f和噪聲的和,高斯噪聲和椒鹽噪聲都屬于加性噪聲. 其中,高斯噪聲是指服從高斯分布(即正態(tài)分布)的一類噪聲,在不良照明和高溫條件下引起的傳感器噪聲.
圖 8 為添加了高斯噪聲的部分圖像,高斯分布為
(5)
式中:μ,σ2為分布的參數(shù),分別為高斯分布的期望和方差.
圖 8 高斯噪聲下的圖像Fig.8 Image under Gaussian noise
椒鹽噪聲也稱為脈沖噪聲,是圖像中經(jīng)常見到的一種噪聲,它是指隨機出現(xiàn)的白點或者黑點,一種是鹽噪聲(salt noise),另一種是胡椒噪聲(pepper noise),鹽=白色(0),椒=黑色(255). 前者為高灰度噪聲,后者屬于低灰度噪聲,一般兩種噪聲同時出現(xiàn),呈現(xiàn)在圖像上就是黑白雜點. 椒鹽噪聲的成因可能是影像訊號受到突如其來的強烈干擾而產(chǎn)生,類比數(shù)位轉(zhuǎn)換器或位元傳輸錯誤等.
圖 9 為添加了椒鹽噪聲的部分圖像.
圖 9 椒鹽噪聲下的圖像Fig.9 Image under salt and pepper noise
本文的實驗環(huán)境配置如下: Inter酷睿i5-9400F處理器,16 G內(nèi)存,技嘉1660顯卡,CUDA 版本為 10.2.8,CUDNN 版本為8.0.3 ,OpenCV 版本為 4.4.0,操作系統(tǒng)為win10.
3.2.1 閾值化
對比不同閾值處理對圖像的特征提取效果,本實驗將對輸入的圖像分別使用全局閾值和自適應(yīng)平均閾值進行處理. 如圖 10 所示代碼處理,得到了如圖 11 的效果. 從實驗結(jié)果可以看出,自適應(yīng)平均閾值相對于全局閾值來說,其特征提取的效果更好,因此,在深度殘差收縮網(wǎng)絡(luò)中應(yīng)用了自適應(yīng)平均閾值處理.
圖 10 閾值化處理Fig.10 Thresholding
圖 11 閾值化處理的圖像Fig.11 Thresholding image
3.2.2 模型對比
1) DRSN與ResNet
將本文模型與深度殘差網(wǎng)絡(luò)進行了對比,實驗對比如圖 12 所示,從圖中可以看出,深度殘差收縮網(wǎng)絡(luò)準確率可以保持在97.02%左右,而深度殘差網(wǎng)絡(luò)準確率在95.24%左右. 從實驗結(jié)果可以看出,本文模型相較于深度殘差網(wǎng)絡(luò),具有更好的識別準確率. 該結(jié)果也證明了加入了軟閾值函數(shù)及注意力機制的網(wǎng)絡(luò)具有更好的性能,該模型對含噪聲圖像具有更好的識別效果.
圖 12 DRSN與ResNet準確率對比Fig.12 Comparison of accuracy between DRSN and ResNet
根據(jù)深度殘差網(wǎng)絡(luò)和深度殘差收縮網(wǎng)絡(luò)得到的訓練結(jié)果對選取的部分圖像進行了預測,得到如表 1 所示的結(jié)果,測試的圖像如圖 13 所示. 從表 1 數(shù)據(jù)可以看出,雖兩個網(wǎng)絡(luò)的測試結(jié)果都不是特別好,但DRSN測試結(jié)果的準確率相較于ResNet測試結(jié)果的準確率提高了2倍~3倍,這也說明了DRSN在圖像識別中的優(yōu)勢.
圖 13 測試的部分圖像Fig.13 Partial images of test
表 1 DRSN與ResNet測試結(jié)果對比Tab.1 Comparison of test results between DRSN and ResNet
2) DRSN與SENet
將本文模型與SENet網(wǎng)絡(luò)進行對比,對比結(jié)果如圖 14 和圖 15 所示. 從圖中可以看出,兩者的準確率在訓練過程中都可維持在97.02%,但是本文模型在訓練時導入一次訓練樣本所用的時間為3 ms,而SENet網(wǎng)絡(luò)在訓練時的導入時間大概為50 ms左右,兩者相差了大約17倍.
因此,深度殘差收縮網(wǎng)絡(luò)相較于SENet網(wǎng)絡(luò),不僅保證了訓練的準確率,還提高了模型的訓練速度.
圖 14 DRSN與SENet準確率對比
圖 15 樣本導入所用時間對比
本文將DRSN網(wǎng)絡(luò)分別與ResNet、SENet網(wǎng)絡(luò)進行對比,得出DRSN網(wǎng)絡(luò)具有更高的識別準確率和更快的運算效率. 實驗結(jié)果表明,注意力機制和軟閾值函數(shù)的結(jié)合對于帶有噪聲信息的信號有更好的效果. 由于噪聲信息存在于各種信號中,因此,深度殘差收縮網(wǎng)絡(luò)也有著更廣泛的應(yīng)用.