文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190828
中文引用格式: 陳志新,董瑞雪,劉鑫,等. 基于深度學習的復雜分揀圖像快速識別方法研究[J].電子技術(shù)應用,2020,46(2):71-75.
英文引用格式: Chen Zhixin,Dong Ruixue,Liu Xin,et al. Research on rapid recognition of complex sorting images based on deep learning[J]. Application of Electronic Technique,2020,46(2):71-75.
0 引言
物品在出入庫時往往會用到分揀系統(tǒng),而在多品種單元物料自動分揀系統(tǒng)中,基于機器視覺的智能識別技術(shù)應用比較普遍,相關(guān)領域的核心技術(shù)研究在不斷地深入,其中研究訓練速度更快、識別精準度更高的智能識別技術(shù)一直是智能技術(shù)的研究熱點及前沿技術(shù)。張娟[1]提出一種基于稀疏表示算法的三維多媒體視覺圖像人工智能識別方法。深度學習作為近來機器學習領域的最新研究成果,在圖像處理領域有著強大的建模與表征能力,取得了突破成果。在各種深度神經(jīng)網(wǎng)絡結(jié)構(gòu)中,卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)應用最為廣泛,在圖像識別領域受到極大關(guān)注。它通過卷積計算逐層抽象圖片不同層次的語義,通過數(shù)據(jù)集的訓練擬合調(diào)整各個卷積核的內(nèi)部參數(shù),從而在無監(jiān)督的條件下實現(xiàn)分類特征的抓取[2]。此后更深層次的AlexNet網(wǎng)絡[3]取得成功,此后卷積神經(jīng)網(wǎng)絡蓬勃發(fā)展,被廣泛用于各個領域,在很多問題上都取得了當前最好的性能。白帆[4]利用深度學習CNN對圖像進行目標識別;孫平安[5]提出一種融合CNN的改進型迭代深度學習算法;戴鵬[6]提出基于半監(jiān)督深度學習的扣件缺陷圖像識別方法;王貴槐[7]通過建立船只單次多重檢測深度學習框架并微調(diào)分類框架實現(xiàn)較高的內(nèi)河船舶檢測準確度;黃宏偉[8]提出一種基于全卷積網(wǎng)絡的隧道圖像識別算法;楊天祺[9]通過批量歸一化、改進卷積層結(jié)構(gòu)、添加冗余分類器改進了CNN,且增加圖片數(shù)量擴增了訓練集,從而提高分類精確度和速度;張慧娜[10]研究基于Haar小波變換-CNN的圖像特征提取用于自然場景圖像分類的問題;許少尉[11]采用卷積神經(jīng)網(wǎng)絡提出基于深度學習的圖像分類方法;蔣兆軍[12]通過卷積神經(jīng)網(wǎng)絡提出一種基于深度學習的無人機識別算法;周建凱[13]提出基于TensorFlow框架搭建卷積神經(jīng)網(wǎng)絡對電池片電致發(fā)光圖像進行缺陷識別。在實際應用中,2016年6月在京東集團固安智能物流中心落地的京東智能分揀中心系統(tǒng),引入了智能分揀機和龍門架,實現(xiàn)了可以脫離人工操作的智能收貨和發(fā)貨,保證包裹分揀正確率達到使用要求。由此可見,深度學習在分揀圖像快速識別領域有著很好的應用前景。而物流分揀倉庫環(huán)境復雜、照明度不高以及快遞外包裝區(qū)別不明顯,這些都對自動分揀正確率產(chǎn)生影響,因此有必要研究基于深度學習的復雜分揀圖像快速識別方法。
1 深度學習卷積神經(jīng)網(wǎng)絡
CNN是一種改進的神經(jīng)網(wǎng)絡,仍然是層級網(wǎng)絡,但是層的功能和形式有了變化。一個CNN結(jié)構(gòu)主要由3種類型層級組成:卷積層、池化層和全連接層。卷積層后緊跟著池化層,最后是全連接層。這些層級按照圖1所示,其中Ci代表卷積層,Si代表池化層。
(1)卷積層:是最重要的層,卷積計算是通過稀疏交互、參數(shù)共享、等變表示這3個重要的思想來改進機器學習的。
(2)池化層:卷積是為了解決前面無監(jiān)督特征學習計算復雜度的問題,而下采樣則是為了后面有監(jiān)督特征分類器學習特征圖中重要的分類特征,忽略無關(guān)的細節(jié)。另外也減小了需要訓練的特征參數(shù)的個數(shù),改善結(jié)果(不容易出現(xiàn)過擬合),使得特征保持旋轉(zhuǎn)、平移、縮放等不變性。在CNN模型中一般常用的下采樣方法包括Mean-pooling和Max-pooling兩種。
(3)全連接層:全連接層通常由sigmodal神經(jīng)元或者RBF神經(jīng)元組成。一般網(wǎng)絡最后幾層為全連接層。為了降低特征的維度,最后一層的神經(jīng)元個數(shù)和輸入圖像種類數(shù)量相同。
對于傳統(tǒng)的標定機器人,機器人本身位置的變動對智能識別正確率有很大影響,而且識別正確率需要進一步提高。AlexNet深度學習神經(jīng)網(wǎng)絡對被分揀物體進行識別,不僅可以提高識別正確率和訓練速度,對自身位置的變動也具有魯棒性。該網(wǎng)絡初始學習率較低會降低轉(zhuǎn)移層上的學習速度,本研究將完全連接層的學習速率因子設置為更高,以加快所設計的新的最終層的學習,這種組合能更快地對新的分揀物體進行識別,同時保持卷積層的架構(gòu)不變。AlexNet深度神經(jīng)網(wǎng)絡模型具有如圖2所示的8層結(jié)構(gòu):包括5個卷積層和3個全連接層,其中每一層又具有不同功能的子層。
2 基于深度學習的復雜分揀圖像快速識別方法
基于深度學習的復雜分揀圖像快速識別方法的流程如圖3所示。
2.1 復雜分揀圖像快速識別方法
為了針對物流分揀倉庫環(huán)境復雜、照明度不高以及噪聲影響大的特點,對采集到的訓練圖片數(shù)據(jù)進行了一系列圖像預處理,包括了用對偶樹復小波變換對其進行降噪處理、平滑、灰度化圖像、濾波和銳化等預處理。
對于要構(gòu)建一個卷積神經(jīng)網(wǎng)絡來識別圖片,前期大量的訓練數(shù)據(jù)是必不可少的,然后是構(gòu)建CNN網(wǎng)絡。CNN網(wǎng)絡包含以下圖層:
(1)imageInputLayer:圖像輸入層;
(2)convolutional2dLayer:CNN的2D卷積層;
(3)reluLayer:整流線性單元(ReLU)層;
(4)maxPooling2dLayer:最大池化層;
(5)fullyConnectedLayer:全連接層;
(6)softmaxLayer:Softmax層;
(7)classificationLayer:CNN的分類輸出層。
其中圖像輸入層的大小與訓練集的大小相同,隨后定義網(wǎng)絡的中間層,中間層由重復的卷積、ReLU(整流線性單位)和池化層組成。這3層構(gòu)成了卷積神經(jīng)網(wǎng)絡的核心構(gòu)建模塊,卷積層定義了濾波器的權(quán)重集合,在被訓練期間是會隨著訓練不斷更新的。
對卷積層參數(shù)進行設定,第一個卷積層有32個5×5×3的濾鏡,添加2個像素的對稱填充,以確保處理中包含圖像邊框,這對于避免在卷積層上過早消除邊界信息非常重要。其最終設計的卷積網(wǎng)絡如圖4所示。
使用標準偏差為0.000 1的正態(tài)分布隨機數(shù)初始化第一個卷積層權(quán)重,然后對設計的卷積神經(jīng)網(wǎng)絡進行訓練,訓練結(jié)束后可以得到第一層的權(quán)重可視化。通過數(shù)據(jù)集來對設計好的卷積神經(jīng)網(wǎng)絡進行訓練,再對測試數(shù)據(jù)集進行識別,得到的識別準確率為74.56%。當改變卷積核的大小時可以發(fā)現(xiàn)其對最終的識別準確率存在影響,如表1所示。由表可以看出,在測試數(shù)據(jù)集上分類準確率隨卷積核的增大而提高而后降低,原因可能是卷積核較大可能引起過擬合,對于池化區(qū)域,池化區(qū)域越大,采樣過程損失的信息就越多。
對于物流倉庫的特定環(huán)境以及需要識別的指定物體,對AlexNet做了修改。對于一個新的分類問題,AlexNet最后3層net配置為1 000個類,最后3層是全連接層、Softmax層和輸出分類層。這3層進行調(diào)整,從預培訓的網(wǎng)絡中提取出最后3個之外的所有層。根據(jù)新的數(shù)據(jù)指定新的完全連接的層的參數(shù)。將完全連接的層的輸出個數(shù)設置為與新數(shù)據(jù)中的類別數(shù)量相同。深度學習在進行訓練時,可能會導致過擬合狀態(tài)的出現(xiàn)。因此增大訓練集,同時在最后的全連接層添加dropout層,以0.5的概率將每個隱藏層神經(jīng)元的輸出設置為零。以這種“dropped out”方式的神經(jīng)元既不參與前向傳播,也不參與反向傳播。對該網(wǎng)絡每提出一個輸入,就對應一個不同的結(jié)構(gòu),而所有這些結(jié)構(gòu)之間又共享權(quán)重,神經(jīng)元又相對獨立,使得這種技術(shù)降低了神經(jīng)元復雜的互相適應關(guān)系,從而避免過擬合狀態(tài)的出現(xiàn)。
2.2 實驗結(jié)果與分析
利用訓練好的卷積神經(jīng)網(wǎng)絡來適應新的網(wǎng)絡分類任務,當面對不同倉庫或者不同的分揀任務時,需要大量的數(shù)據(jù)重新進行學習,在針對新的數(shù)據(jù)訓練時可以使用少量的數(shù)據(jù)訓練就能達到理想的效果。利用原有圖片訓練好的網(wǎng)絡來檢測新的分類任務,檢測被測試圖片是何種物體。圖5是用來訓練神經(jīng)網(wǎng)絡的新添加的訓練圖片。
利用訓練的圖片程序在運行的過程中,不斷地學習分類圖片中的圖片信息特征。然后利用卷積神經(jīng)網(wǎng)絡進行學習,并且改變卷積神經(jīng)網(wǎng)絡的最后分類輸出層,使其只能識別其輸入圖片類別。
經(jīng)過學習之后,利用測試集圖片來測試訓練后的卷積神經(jīng)網(wǎng)絡的識別效果,并且在圖片中標記識別區(qū)域。利用MATLAB進行仿真,結(jié)果如圖6所示。
由圖6結(jié)果可以看出,此深度學習的卷積神經(jīng)網(wǎng)絡能夠有效準確識別所規(guī)定的圖片,其識別準確率較高,能夠滿足物流中心機器人識別分揀物體的效率,達到了預期效果。并且在訓練數(shù)據(jù)足夠的情況下,準確率還能再一步提高。本文中由于訓練樣本和測試樣本均較少,只有數(shù)十張圖片,因此本文的測試結(jié)果均達到了100%的識別率。
3 結(jié)論
對于物流倉庫的特定環(huán)境以及需要識別的指定物體,本文先用對偶樹復小波變換對其進行降噪等預處理;然后在基于AlexNet神經(jīng)網(wǎng)絡的基礎上,設計了一個適用于物流圖像識別的卷積神經(jīng)網(wǎng)絡,對于卷積神經(jīng)網(wǎng)絡的卷積層、ReLU層和池化層參數(shù)重新進行定義來加快神經(jīng)網(wǎng)絡的學習速度;最后針對于新的圖像分類任務,對神經(jīng)網(wǎng)絡的最后3層全連接層、Softmax層和分類輸出層進行定義來適應新的圖像識別。該網(wǎng)絡在面對較為復雜的分揀圖像識別時,有較高的訓練速度和識別準確率。
參考文獻
[1] 張娟.三維多媒體視覺圖像人工智能識別方法仿真[J].計算機仿真,2018,35(9):435-438.
[2] HINTON G E,SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[3] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C].NIPS.Curran Associates Inc.,2012.
[4] 白帆,曹昭睿.基于深度學習的白光-熱成像雙通道圖像識別系統(tǒng)設計[J].科學技術(shù)與工程,2018,18(21):264-267.
[5] 孫平安,祁俊,譚秋月.利用卷積神經(jīng)網(wǎng)絡改進迭代深度學習算法的圖像識別方法研究[J].計算機應用研究,2019,36(7):2223-2227.
[6] 戴鵬,王勝春,杜馨瑜,等.基于半監(jiān)督深度學習的無砟軌道扣件缺陷圖像識別方法[J].中國鐵道科學,2018,39(4):43-49.
[7] 王貴槐,謝朔,初秀民,等.基于深度學習的水面無人船前方船只圖像識別方法[J].船舶工程,2018,40(4):19-22.
[8] 黃宏偉,李慶桐.基于深度學習的盾構(gòu)隧道滲漏水病害圖像識別[J].巖石力學與工程學報,2017,36(12):2861-2871.
[9] 楊天祺,黃雙喜.改進卷積神經(jīng)網(wǎng)絡在分類與推薦中的實例應用[J].計算機應用研究,2018,35(4):974-977.
[10] 張慧娜,李裕梅,傅鶯鶯.基于Haar-CNN模型的自然場景圖像分類的研究[J].四川師范大學學報(自然科學版),2017,40(1):119-126.
[11] 許少尉,陳思宇.基于深度學習的圖像分類方法[J].電子技術(shù)應用,2018,44(6):116-119.
[12] 蔣兆軍,成孝剛,彭雅琴,等.基于深度學習的無人機識別算法研究[J].電子技術(shù)應用,2017,43(7):84-87.
[13] 周建凱,許盛之,趙二剛,等.基于深度學習的電池片缺陷識別研究[J].電子技術(shù)應用,2019,45(5):66-69,77.
作者信息:
陳志新,董瑞雪,劉 鑫,王毅斌,梁世曉
(北京物資學院,北京101149)