摘 要:針對(duì)像素較低的攝像頭對(duì)條形碼進(jìn)行拍攝識(shí)別時(shí),需要靠近條形碼并保持較久的時(shí)間,且存在一定的掃描結(jié)果錯(cuò)誤率等問(wèn)題,利用卷積神經(jīng)網(wǎng)絡(luò)技術(shù)SRCNN對(duì)單幅低清晰度條形碼圖片進(jìn)行超分辨率重建,將低分辨率圖片轉(zhuǎn)換為高分辨率圖片。通過(guò)實(shí)驗(yàn)驗(yàn)證,SRCNN相對(duì)于傳統(tǒng)超分方法,在圖像處理和評(píng)價(jià)指標(biāo)方面取得了更好的效果,實(shí)現(xiàn)了條形碼圖像的超分辨率重建,獲得了更為清晰的圖片。
關(guān)鍵詞:條形碼圖像;超分辨率重建;雙三次插值法;卷積神經(jīng)網(wǎng)絡(luò);SRCNN;圖像處理
中圖分類(lèi)號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)03-0-03
0 引 言
在無(wú)人監(jiān)督的藥品庫(kù)進(jìn)行藥品抓取任務(wù)中,通常以機(jī)械臂抓取為首選,搭配機(jī)器視覺(jué)進(jìn)行手眼標(biāo)定抓取。由于成像設(shè)備的局限性、藥品盒標(biāo)識(shí)條形碼小,得到的圖像分辨率較低,不利于藥品的識(shí)別。提高條形碼圖像的分辨率,不僅便于提高機(jī)械臂抓取藥品的準(zhǔn)確率,也對(duì)生產(chǎn)生活中條形碼的識(shí)別有一定的幫助。
為提高圖像分辨率,常采用圖像超分辨率(SR)法,即將圖像從低分辨率恢復(fù)到高分辨率。傳統(tǒng)圖像超分辨率方法常用雙三次插值(BiCubic)法、基于稀疏表示法[1-3]、基于局部嵌入法[4-6]、基于樣例(Example-Based)法[7],這些經(jīng)典的方法在提高圖像分辨率上取得了一定的效果,但均是在插值過(guò)程中加入銳化的流程,本質(zhì)上是通過(guò)人工觀察、總結(jié)和試驗(yàn)得出來(lái)的方法,具有一定的局限性,在處理?xiàng)l形碼圖像后常常出現(xiàn)模糊、銳化過(guò)度的現(xiàn)象。
針對(duì)以上傳統(tǒng)超分方法存在的問(wèn)題,本文提出基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的超分辨率卷積神經(jīng)網(wǎng)絡(luò)(SRCNN)[8]的條形碼超分辨率重建方法。SRCNN是基于深度學(xué)習(xí),旨在實(shí)現(xiàn)一種端對(duì)端的網(wǎng)絡(luò)模型,它具有結(jié)構(gòu)簡(jiǎn)單且失真度低的特點(diǎn),其被用于將低分辨率的圖像轉(zhuǎn)換為高分辨圖像,證明深度學(xué)習(xí)在超分領(lǐng)域的應(yīng)用可以超越傳統(tǒng)的插值等算法,取得較高的表現(xiàn)力和良好的處理效果。
結(jié)合圖像亮度增強(qiáng)技術(shù)、傳統(tǒng)超分方法中的雙三次插值法以及零填充技術(shù),對(duì)條形碼圖像進(jìn)行增亮、放大;然后通過(guò)加入零填充的SRCNN,實(shí)現(xiàn)低分辨率到高分辨率的非線性映射,得到相較于傳統(tǒng)超分方法處理后效果更好的條形碼圖像及更高的PSNR值。
1 SRCNN模型分析
1.1 數(shù)據(jù)預(yù)處理
在將圖像輸入SRCNN前,需要進(jìn)行圖像的預(yù)處理:將獲得的高分辨率圖像X通過(guò)采樣處理成低分辨率圖像Y1,再使用雙三次(BiCubic)插值法將低分辨率圖像Y1放大至與輸出高分辨率圖片尺寸相同的低分辨率圖像Y,如圖1所示。
1.2 SRCNN模型結(jié)構(gòu)
SRCNN的特點(diǎn)是僅使用三層網(wǎng)絡(luò),就取得相較于傳統(tǒng)超分方法更好的結(jié)果,能夠解決圖像重建速度慢、計(jì)算量大的問(wèn)題,其三層卷積的結(jié)構(gòu)可以被解釋為:圖像子塊的提取和特征表示、特征矩陣非線性映射和最終的特征重建。接著通過(guò)三層卷積網(wǎng)絡(luò)擬合非線性映射,最后重建并輸出高分辨率圖像結(jié)果。其結(jié)構(gòu)示意圖如圖2所示。
由于SRCNN的特性,三個(gè)部分的操作均可使用卷積完成。因此,雖然針對(duì)模型結(jié)構(gòu)的解釋與傳統(tǒng)方法類(lèi)似,但SRCNN卻在數(shù)學(xué)上擁有更加簡(jiǎn)單的表達(dá),以下為每層的操作內(nèi)容:
(1)特征提取層
從輸入的低分辨率圖像中提取多個(gè)圖像塊,通過(guò)CNN以及ReLU層將圖像塊提取成向量,令所得的向量組成特征矩陣F1(Y):
(1)
式中:W1、B1分別是卷積核的參數(shù)和偏置量;窗口大小為f1×f1;通道數(shù)為Y,有n1個(gè)濾波器。
(2)非線性映射層
將特征矩陣再次使用卷積核過(guò)濾及ReLU層激活實(shí)現(xiàn)非線性映射,變成另一組維度不同的特征矩陣F2(Y),加深網(wǎng)絡(luò)層數(shù),表達(dá)式為:
(2)
式中:W2、B2分別是卷積核的參數(shù)和偏置量;采用1×1的卷積核;通道數(shù)為n1,有n2個(gè)濾波器。
在該層后可以繼續(xù)增加非線性層,但在SRCNN構(gòu)建時(shí)為推出一種通用性SR框架,所以選擇只有一層非線性層的網(wǎng)絡(luò)模型。
(3)圖像重建層
本層借鑒傳統(tǒng)超分方法的插值法,不使用ReLU層,直接對(duì)圖像局部進(jìn)行平均化,使用反卷積的方式做圖像重建,將非線性層得到的特征矩陣還原為高分辨圖像,表達(dá)式為:
(3)
式中,卷積核大小為n2×c×f3×f3。
1.3 加入零填充的SRCNN
在SRCNN中,通常會(huì)使用過(guò)濾器(卷積核)來(lái)實(shí)現(xiàn)圖像的卷積,從而實(shí)現(xiàn)圖像的降維,即圖像縮?。划?dāng)使用多個(gè)過(guò)濾器實(shí)現(xiàn)多層的卷積,那么輸出圖像會(huì)持續(xù)縮小,很容易造成圖像邊緣有意義的信息丟失。
因此,為更好地實(shí)現(xiàn)圖像超分辨率重建效果,本文在卷積層中加入零填充(zero-padding)[9-10],以保持輸入和輸出的空間維度相同,在水平軸和垂直軸的開(kāi)始和結(jié)束處都添加0,即在卷積的時(shí)候,降低圖像變小的速度,并防止圖像邊緣的信息丟失。加入零填充的SCRNN操作示意圖如圖3所示。
使用零填充時(shí),對(duì)輸出特征尺寸大小的影響通過(guò)式(4)計(jì)算。
(4)
式中:x為輸出特征圖的邊長(zhǎng);a為輸入邊長(zhǎng);b為步長(zhǎng),不能整除時(shí)向上取整。
2 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)在使用Python3.9、PyTorch框架及具有以下規(guī)格的計(jì)算機(jī)上運(yùn)行:Windows 10、CPU采用AMD Ryzen 74800H with Radeon Graphics、GPU采用NVIDIA GeForce GTX 1650、16 GB RAM。
2.1 數(shù)據(jù)集及評(píng)價(jià)指標(biāo)
(1)數(shù)據(jù)集
訓(xùn)練集采用91-image作為SRCNN的實(shí)驗(yàn)數(shù)據(jù)集,模糊條形碼圖像集作為測(cè)試數(shù)據(jù)集,數(shù)據(jù)集在訓(xùn)練或測(cè)試前會(huì)進(jìn)行修正處理,過(guò)程主要為高斯去噪、亮度提高、輻射校正和幾何校正。
(2)SRCNN參數(shù)配置
模型的參數(shù)設(shè)置為:f1=9、f2=1、f3=5、n1=64、n2=32,SRCNN一共3層,前兩層配置的學(xué)習(xí)率為10-4,最后一層的學(xué)習(xí)率配置為10-5,這樣可以讓最后一層取得較小的學(xué)習(xí)率,有利于網(wǎng)絡(luò)收斂。
(3)損失函數(shù)
在實(shí)驗(yàn)中,選取MSE用作損失函數(shù),該統(tǒng)計(jì)參數(shù)是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差的平方和的均值,表達(dá)式為:
(5)
式中:Y和X分別表示對(duì)應(yīng)的低分辨率(LR)圖像和高分辨率(HR)圖像;i表示不同的通道;θ={Wi, Bi}表示網(wǎng)絡(luò)的卷積參數(shù);F(Yi; θ)表示網(wǎng)絡(luò)的輸入結(jié)果;n表示訓(xùn)練樣本的數(shù)量。
(4)評(píng)價(jià)指標(biāo)
峰值信噪比(PSNR)表示信號(hào)的最大可能功率與影響其精度的噪聲之比,選取PSNR為評(píng)價(jià)指標(biāo),表達(dá)式為:
(6)
式中,MAX2為圖片可能的最大像素值。
2.2 實(shí)驗(yàn)結(jié)果
采用像素為320×340的攝像頭拍攝多種藥品條形碼,得到大量的低像素下較模糊的條形碼圖片,分別使用傳統(tǒng)超分方法下的BiCubic法和加入零填充的SRCNN進(jìn)行處理,取數(shù)據(jù)集中藥品蒙脫石散的條形碼圖像展示,如圖4、圖5所示。可以看到SRCNN相對(duì)于傳統(tǒng)超分BiCubic法在超分辨率重建效果上有直觀的提升,能夠體現(xiàn)更豐富的細(xì)節(jié)。
2.3 實(shí)驗(yàn)分析
針對(duì)圖4和圖5,在不同條形碼圖像輸入規(guī)模上,使用評(píng)價(jià)指標(biāo)公式(6)對(duì)其進(jìn)行評(píng)價(jià),可得到表1。由表1可以看出,在2、3、4三種圖像規(guī)模下, SRCNN都具有更好的重構(gòu)效果,擁有更高的PSNR值。
同時(shí),在SRCNN處理?xiàng)l形碼圖像時(shí)可以測(cè)得模型的處理時(shí)間,見(jiàn)表2所列。由表1、表2可以發(fā)現(xiàn),SRCNN在處理速度方面仍然不夠理想,在圖像重建上沒(méi)有特別明顯的效果,主要是存在兩個(gè)固有的限制因素:首先,在圖像預(yù)處理時(shí)使用雙三次插值法將LR圖像放大至所需圖像的尺寸大小時(shí),其計(jì)算復(fù)雜度為放大后圖像的空間尺寸的平方;其次,在非線性映射層進(jìn)行非線性映射時(shí),采用更大的映射層可以提高映射的圖像精準(zhǔn)度,但運(yùn)行時(shí)間也會(huì)相對(duì)增加。
因此,可以考慮采取相應(yīng)的措施進(jìn)行后續(xù)的改進(jìn):使用反卷積層在最后進(jìn)行升采樣,以代替雙三次插值法;在非線性映射層前后分別添加收縮層和擴(kuò)展層。改進(jìn)后的SRCNN即為緊湊的沙漏型結(jié)構(gòu)FSRCNN,它能夠達(dá)到SRCNN處理速度的40倍以及更好的圖像恢復(fù)效果,但SRCNN模型更為簡(jiǎn)單,在低分辨率藥品條形碼上進(jìn)行超分辨率重建的處理效果已經(jīng)可以達(dá)到預(yù)期,能明顯提高識(shí)別條形碼的速度和掃描讀取的準(zhǔn)確率。
3 結(jié) 語(yǔ)
針對(duì)成像設(shè)備的低分辨率的條形碼圖像,本文提出基于SRCNN對(duì)條形碼圖像進(jìn)行超分辨率重建,通過(guò)圖像的預(yù)處理和SRCNN,并加入零填充操作,將低分辨率圖像非線性映射為高分辨率圖像,得到更高的PSNR值和更清晰的圖像,保證條形碼在識(shí)別時(shí)的正確率和識(shí)別速度,提高了信息傳遞的速率和可靠度。
注:本文通訊作者為袁小平。
參考文獻(xiàn)
[1] YANG J C,WRIGHT J,HUANG T,et al. Image super-resolution as sparse representation of raw image patches [C]// 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage,AK,USA:IEEE,2008:1-8.
[2]朱彥穎,賴芝岑,李凡,等.基于人臉識(shí)別的實(shí)驗(yàn)室考勤系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2023,13(1):14-16.
[3] ADLER A,HEL-OR Y,ELAD M. A shrinkage learning approach for single image super-resolution with overcomplete representations [M]// DANIILIDIS K,MARAGOS P,PARAGIOS N. Computer Vision—ECCV 2010 Lecture Notes in Computer Science. Berlin,Heidelber:Springer,2010:622-635.
[4]李紅巖,梁紫璇,趙峰,等.圖像識(shí)別智能門(mén)禁[J].物聯(lián)網(wǎng)技術(shù),2023,13(1):104-106.
[5] GAO X,ZHANG K,TAO D,et al. Image super-resolution with sparse neighbor embedding [J]. IEEE transactions on image processing,2012,21(7):3194-3205.
[6] CHANG H,YEUNG D Y,XIONG Y M. Super-resolution through neighbor embedding [C]// Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington,DC,USA:IEEE,2004.
[7] ZHANG Y F,F(xiàn)AN Q L,BAO F X,et al. Single-image super-resolution based on rational fractal interpolation [J]. IEEE transactions on image processing,2018,27(8):3782-3797.
[8] DONG C,LOY C C,HE K,et al. Image super-resolution using deep convolutional networks [J]. IEEE transactions on pattern analysis and machine intelligence,2016,38(2):295-307.
[9]呂響,張書(shū)玉,宋英楠,等.基于深度學(xué)習(xí)下的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)學(xué)習(xí)[J].渤海大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,42(4):369-375.
[10]胡伏原,李林燕,尚欣茹,等.基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法綜述[J].蘇州科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,37(2):1-10.
作者簡(jiǎn)介:孫天?。?002—),男,本科生,研究方向?yàn)闄C(jī)器視覺(jué)。
袁小平(1966—),男,博士,教授,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)、機(jī)器學(xué)習(xí)、智能硬件加速。
房鴻超(2001—),男,本科生,研究方向?yàn)閳D像處理。
陳思宇(2002—),男,本科生,研究方向?yàn)闄C(jī)器視覺(jué)。