侯玉坤,李功燕
(1.中國科學(xué)院微電子研究所,北京 100029;2.中國科學(xué)院大學(xué)電子電氣與通信工程學(xué)院,北京 100049)
當(dāng)前環(huán)境下,QR碼技術(shù)的普及,使其在日常生活中得到大范圍應(yīng)用,使用場景不在僅僅局限于網(wǎng)站信息標(biāo)識(shí)、移動(dòng)支付等,同樣物流快遞面單也多已采用這種技術(shù)。因?yàn)镼R碼具有信息儲(chǔ)存量大、多角度識(shí)別、應(yīng)用成本低等特點(diǎn),非常適合在物流分揀系統(tǒng)中存儲(chǔ)包裹信息,同時(shí)隨著國內(nèi)外電商規(guī)模的不斷擴(kuò)大,快遞投送量也成倍的增長,市場對(duì)于快遞包裹的分揀速度和準(zhǔn)確率提出了更高的要求。
通常,物流分揀系統(tǒng)復(fù)雜環(huán)境下QR碼的識(shí)別需要經(jīng)過相機(jī)捕獲包裹全局圖片、QR碼目標(biāo)檢測即位置的精確定位、QR碼信息讀取等步驟。無論是傳統(tǒng)的特征點(diǎn)檢測定位方法還是基于深度學(xué)習(xí)的目標(biāo)檢測算法,都是在得到位置后將QR碼分割出來提供給后續(xù)信息識(shí)別部分。所以QR碼目標(biāo)的精確定位極大地影響著分揀系統(tǒng)整體的性能。
文獻(xiàn)[4]利用圖像處理提取QR碼三個(gè)特征點(diǎn)同時(shí)結(jié)合掃描算法檢測位置。文獻(xiàn)[4]考慮QR碼中黑白模塊數(shù)相近,然后計(jì)算輸入的LBP特征獲得目標(biāo)區(qū)域。文獻(xiàn)[4]采用級(jí)聯(lián)的AdaBoost分類器訓(xùn)練檢測QR碼。文獻(xiàn)[4]提出一種基于背景灰度估計(jì)的校正算法,優(yōu)化QR碼區(qū)域檢測。一般地,這些算法僅在特定物理環(huán)境下具有較好的檢測效果。然而,現(xiàn)實(shí)中,在物流包裹自動(dòng)分揀場景下,由于光照條件、現(xiàn)場環(huán)境等影響,采集到的圖片質(zhì)量參差不齊,比如光照變化劇烈、背景干擾復(fù)雜、QR碼扭曲形變、QR碼目標(biāo)占比較小等容易造成誤檢和漏檢,導(dǎo)致QR碼檢測難度提升。因此,研究快速、高可靠性的QR碼目標(biāo)檢測方法,對(duì)實(shí)現(xiàn)復(fù)雜條件下物流包裹的自動(dòng)分揀具有重要的意義。
近年來,深度學(xué)習(xí)促進(jìn)計(jì)算機(jī)視覺及圖像不同研究領(lǐng)域進(jìn)一步的發(fā)展,和傳統(tǒng)的圖像算法需要設(shè)計(jì)者根據(jù)不同任務(wù)特點(diǎn)去手工設(shè)計(jì)特征相比,深度學(xué)習(xí)模型可以省去這些繁雜的過程,通過模型訓(xùn)練自動(dòng)從訓(xùn)練數(shù)據(jù)中提取特征信息,并且參數(shù)調(diào)整及模型優(yōu)化更加方便,具備著更加顯著的優(yōu)勢。所以在本文借鑒經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)的思想,面向智能物流分揀環(huán)境下QR碼檢測定位問題,設(shè)計(jì)一種基于One-Stage模型的QR碼快速檢測算法,以滿足工業(yè)現(xiàn)場實(shí)際應(yīng)用的要求。
目前,基于深度學(xué)習(xí)的目標(biāo)檢測任務(wù)主要有兩種通行的解決方案:一種是兩階段(Two-Stage)目標(biāo)檢測,另一種是單階段的(One-Stage)。對(duì)于兩階段目標(biāo)檢測,通常需要經(jīng)過特征提取及區(qū)域選擇、分類回歸器兩個(gè)階段。例如經(jīng)典的Faster-RCNN[4],首先利用卷積神經(jīng)網(wǎng)絡(luò)獲得輸入數(shù)據(jù)的特征圖,然后經(jīng)過區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN)[4]生成待定的候選框,最后利用分類器、回歸器以及后續(xù)非極大值抑制算法確定最終結(jié)果。而對(duì)于以YOLO[4]和SSD[4]為代表的單階段檢測算法而言,直接通過主干網(wǎng)絡(luò)提取不同尺度的特征信息,直接進(jìn)行分類以及坐標(biāo)位置回歸的任務(wù)。與兩階段最大的不同是省略了使用RPN網(wǎng)絡(luò)生成候選框的過程,節(jié)省了計(jì)算資源,使得算法運(yùn)行速度更快,但是精度相對(duì)于兩階段目標(biāo)檢測模型略低。
一般而言,YOLO和SSD等單階段檢測模型作為普適的算法,設(shè)計(jì)的目的都是面向于COCO、VOC等類別豐富且數(shù)據(jù)量大的公共數(shù)據(jù)集,雖然在檢測速度上相較于兩階段算法有了較大的提升,可以輕易的在高性能GPU上實(shí)現(xiàn)實(shí)時(shí)檢測,但所需的計(jì)算資源仍然較多,無法滿足當(dāng)前階段工業(yè)現(xiàn)場部署的要求。考慮到本課題所面對(duì)的數(shù)據(jù)是智能物流分揀中包裹QR圖片(如圖1所示為物流分揀現(xiàn)場采集的圖片)目標(biāo)種類單一,且待檢測的目標(biāo)物體尺度變化范圍有限。使用經(jīng)典SSD及YOLO等將會(huì)有大量冗余,影響檢測效率,所以本文結(jié)合QR圖片數(shù)據(jù)特點(diǎn)將基于單階段檢測模型進(jìn)行設(shè)計(jì)和改進(jìn),構(gòu)建一種快速、魯棒性高的QR目標(biāo)檢測算法。

圖1 物流分揀現(xiàn)場采集的待檢測QR碼圖片樣例
考慮到物流分揀現(xiàn)場環(huán)境以及待檢測目標(biāo)QR碼的特殊性,本文以單階段檢測算法作為基礎(chǔ)框架,設(shè)計(jì)一種針對(duì)QR碼目標(biāo)的輕量化檢測模型。可以直接通過級(jí)聯(lián)卷積層提取特征信息,繼而回歸定位QR碼位置。模型的整體框架結(jié)構(gòu)如圖2所示,主要包括多尺度特征提取網(wǎng)絡(luò)以及后續(xù)檢測分類模塊。

圖2 QR碼檢測網(wǎng)絡(luò)整體框架圖
本文使用的特征提取網(wǎng)絡(luò)模塊主要類似于VGG下采樣特征提取過程,由卷積模塊和跳轉(zhuǎn)連接組成,目的在于高效地提取輸入圖片特征及捕捉語義信息。其中MyBlock模塊借鑒ResNet的跳轉(zhuǎn)連接思想來保留一定程度原始特征圖的信息,同時(shí)嵌入優(yōu)化的深度可分離卷積降低參數(shù)計(jì)算量。模塊主干網(wǎng)絡(luò)的結(jié)構(gòu)如表1所示,在提取特征信息的過程中,網(wǎng)絡(luò)進(jìn)行了5次的尺度收縮,最終末端特征圖尺寸13×13。同時(shí),類似于YOLO v3的結(jié)構(gòu),本文選取序號(hào)6、8、10三個(gè)不同尺度的中間特征作為輸出,接著經(jīng)過特征拼接以及少量的3×3和1×1卷積,最終得到對(duì)應(yīng)13×13×18、26×26×18、52×52×18三個(gè)尺度的輸出。其中,代表網(wǎng)絡(luò)淺層信息的特征輸出不僅由同尺度的特征圖得到,而且還融合了深層網(wǎng)絡(luò)特征的信息。另外,特征提取模塊中,參考注意力機(jī)制的優(yōu)越性,添加了全連接注意力宏結(jié)構(gòu)的模塊(Fully-connected Attention,F(xiàn)CA),整合了多通道的信息,使得網(wǎng)絡(luò)進(jìn)一步精簡化。

表1 網(wǎng)絡(luò)主要結(jié)構(gòu)組成
本文提出的方法主要目標(biāo)應(yīng)用于物流自動(dòng)分揀系統(tǒng)環(huán)境下的QR碼圖片檢測,考慮到實(shí)際工業(yè)現(xiàn)場中嵌入式設(shè)備的計(jì)算資源相對(duì)匱乏,故為滿足實(shí)時(shí)檢測要求,必須對(duì)整體模型作相應(yīng)改進(jìn),提升處理速度,主要從優(yōu)化卷積方式以及添加全連接宏結(jié)構(gòu)入手。
3.2.1 深度可分離卷積及改進(jìn)
在標(biāo)準(zhǔn)卷積計(jì)算中,參數(shù)量的大小取決于卷積尺度以及通道數(shù),例如圖3(a)中,輸入特征通道數(shù)為C1,卷積核尺度為與輸入相匹配則為K×K×C1,期望輸出通道數(shù)為C2,意味著需要C2個(gè)卷積核,最終的參數(shù)量即為K×K×C1×C2。通常深度學(xué)習(xí)算法的輸入圖片維度相對(duì)較大,若一個(gè)網(wǎng)絡(luò)模型中均采用標(biāo)準(zhǔn)卷積,則會(huì)產(chǎn)生大量的計(jì)算,嚴(yán)重拖累計(jì)算速度,這對(duì)硬件資源較為匱乏的場景是不可接受的。

圖3 標(biāo)準(zhǔn)卷積核和深度可分離卷積核示意圖
而深度可分離卷積(Depthwise Separable Convolution)[4]可以在幾乎不損失模型性能的情況之下,將卷積的參數(shù)量大幅度降低(一般降低為3*3卷積的八分之一左右),提高計(jì)算資源利用效率以及模型運(yùn)行速度。主要思想是將標(biāo)準(zhǔn)卷積拆分為深度卷積(Depthwise Convolution)以及點(diǎn)乘卷積(Pointwise Convolution)。其中,一個(gè)深度卷積核只對(duì)輸入的某一層進(jìn)行獨(dú)立卷積操作,剝離了標(biāo)準(zhǔn)卷積中跨通道計(jì)算的特性,只關(guān)注特征圖空間維度特征的提取,所以尺度為K×K×1,輸入特征通道為C1,則相應(yīng)的應(yīng)有K×K×1×C1的參數(shù)量。相對(duì)應(yīng)地,點(diǎn)乘卷積則1×1卷積實(shí)現(xiàn)跨通道信息的融合,最終的輸出特征尺度與標(biāo)準(zhǔn)卷積一致。
一般而言,深度可分離卷積計(jì)算中,由于通道數(shù)的數(shù)目C1和C2較大(通常為64,128,256等),卷積核大小以3×3為主,所以根據(jù)前面計(jì)算可知,深度可分離卷積的計(jì)算量主要集中在點(diǎn)乘卷積這一步。采用分組卷積0方式可以進(jìn)一步優(yōu)化1×1點(diǎn)乘卷積,首先將C2個(gè)卷積核分成G組,分別對(duì)輸入進(jìn)行卷積操作,然后將得到的結(jié)果重組成通道數(shù)為C2的輸出,從而使得點(diǎn)乘卷積的計(jì)算量減少G倍。相應(yīng)地,分組卷積方式會(huì)造成通道間信息相互獨(dú)立,這一定程度上會(huì)影響網(wǎng)絡(luò)性能,因此需要在分組卷積后添加通道重組(Channel Shuffle)[4],已達(dá)到混合不同分組特征圖的效果。最終利用此類卷積有效地降低模型復(fù)雜度,提高檢測效率。修改后的深度可分離卷積組成的卷積模塊結(jié)構(gòu)如圖4所示。

圖4 利用優(yōu)化的深度可分離卷積設(shè)計(jì)的MyBlock結(jié)構(gòu)圖
3.2.2 全連接注意力宏架構(gòu)
同時(shí)在模型的特征提取模塊中引入輕量級(jí)的全連接注意力結(jié)構(gòu),與文獻(xiàn)[4]相似,F(xiàn)CA主要由兩個(gè)全連接的層組成,將輸入特征圖經(jīng)過壓縮(Squeeze)、激活(Excitation)以及比例映射(Scale)后,生成調(diào)制的權(quán)值向量,然后利用通道乘法對(duì)通道進(jìn)行重新加權(quán)賦值。使用基于全局信息動(dòng)態(tài)校準(zhǔn)的FCA結(jié)構(gòu)可以讓網(wǎng)絡(luò)更加關(guān)注重要的信息,從而允許設(shè)計(jì)者在降低網(wǎng)絡(luò)計(jì)算復(fù)雜度和模型表征能力之間達(dá)到平衡,F(xiàn)CA詳細(xì)的結(jié)構(gòu)如圖5所示。

圖5 FCA模塊詳細(xì)結(jié)構(gòu)圖
圖中,F(xiàn)CA(input,x),Input 為特征輸入,x為超參數(shù),表示C1:C2的比例,通常設(shè)為8。
通常在得到每個(gè)預(yù)測框的坐標(biāo)回歸系數(shù)及分類置信度之后,都需要執(zhí)行非極大值抑制(Non-Maximum Suppression,NMS)來減少重復(fù)預(yù)測。但是以前的許多工作中[4],NMS都是順序執(zhí)行的。即對(duì)于數(shù)據(jù)集中的每個(gè)類,根據(jù)置信度對(duì)檢測到的預(yù)測框降序排列,然后按照順序考察每個(gè)預(yù)測框,刪除所有比其置信度低且IOU重疊較多的預(yù)測框。
為了提升整體模型檢測速度,考慮結(jié)合GPU并行處理數(shù)據(jù)的特性,將傳統(tǒng)NMS修改為快速NMS[4]的版本。主要思想為將傳統(tǒng)方式下順序執(zhí)行并逐步刪減預(yù)測框的方式替換成矩陣形式,利用Python庫矩陣計(jì)算的便利達(dá)到加速的目的。
首先,對(duì)于網(wǎng)絡(luò)檢測置信度得分最高的n個(gè)預(yù)測目標(biāo)框按照降序排列,然后計(jì)算一個(gè)大小為n×n的IOU矩陣X,取出矩陣X的上三角部分,下三角以及對(duì)角線均置為0,后續(xù)只用考慮每一列中最大的IOU值,該值大于設(shè)定的閾值則丟棄該列對(duì)應(yīng)的預(yù)測目標(biāo)框。例如圖6的示意,圖(a)表示待確定的5個(gè)置信度得分最高的預(yù)測框IOU矩陣,圖(b)為IOU矩陣的上三角部分,圖(c)表示最終每一列對(duì)應(yīng)最大的IOU值,可以看到Bbox3和Bbox4的IOU值較大(一般閾值設(shè)為0.5),表示前面有和其重合度較大的預(yù)測框,且置信度得分比其更高(Bbox1~Bbox5是按照置信度降序排列的),所以刪除Bbox3和Bbox4,最終結(jié)果保留Bbox1、Bbox2以及Bbox5。

圖6 Fast-NMS矩陣加速計(jì)算示例
實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù)來源于工業(yè)線現(xiàn)場采集得到的包裹圖片,經(jīng)過手工篩選及標(biāo)注后得到11042張的訓(xùn)練數(shù)據(jù)。為保證實(shí)驗(yàn)效果,豐富訓(xùn)練數(shù)據(jù)以及提高泛化性,所有圖片統(tǒng)一進(jìn)行數(shù)據(jù)預(yù)處理,主要包括輸入歸一化、隨機(jī)裁剪、平移變換、隨機(jī)角度旋轉(zhuǎn)、飽和度、對(duì)比度拉伸等。
網(wǎng)絡(luò)模型輸入圖片大小為416×416,初始學(xué)習(xí)率為10-4。從數(shù)據(jù)集中隨機(jī)抽取80%的圖片作為訓(xùn)練集,其余作為驗(yàn)證集,訓(xùn)練120個(gè)Epoch,每10個(gè)Epoch過后學(xué)習(xí)率衰減為的之前的0.9倍。整個(gè)訓(xùn)練過程中使用自適應(yīng)優(yōu)化算法Adam作為優(yōu)化器,Batch_Size設(shè)置為4,評(píng)價(jià)標(biāo)準(zhǔn)選擇平均精度(Average Precision,AP)。
此外,對(duì)于One-Stage目標(biāo)檢測算法而言,預(yù)設(shè)錨框(Anchor)作為超參數(shù),其合理的設(shè)置對(duì)檢測效果有著重要的作用。針對(duì)本文訓(xùn)練數(shù)據(jù)集而言,現(xiàn)場工業(yè)相機(jī)拍攝的QR碼圖片會(huì)因?yàn)榕臄z角度傾斜或者包裹表明不平整造成目標(biāo)的比例有一定浮動(dòng),但主要的長寬比集中于1:1。最終選擇將Anchor的面積大小設(shè)置為{242,322,482,642},長寬比設(shè)置為{1:1,1:2,2:1},這樣的Anchor超參數(shù)設(shè)置可以有效覆蓋數(shù)據(jù)集中所有QR碼目標(biāo)尺寸范圍,提升檢測效果。
首先,本文在實(shí)驗(yàn)中重新基于Python 寫了Fast-NMS的代碼,經(jīng)過將傳統(tǒng)NMS代碼替換后,得到如表2的數(shù)據(jù)結(jié)果,可以看到在幾乎不犧牲模型檢測性能的情況下各模型的速度均有小幅度提升。

表2 FAST NMS與常規(guī)NMS效果對(duì)比
模型對(duì)比實(shí)驗(yàn)中,為達(dá)到最好的數(shù)據(jù)對(duì)比效果,所采用的對(duì)比模型均為公開數(shù)據(jù)中表現(xiàn)較好的實(shí)現(xiàn)。具體的結(jié)果如表3所示,本文采用的網(wǎng)絡(luò)模型在平均精度指標(biāo)上與YOLO v3以及SSD這些One-Stage模型相比表現(xiàn)相差不大,與Faster RCNN差距較為明顯,但速度上本文模型遠(yuǎn)遠(yuǎn)優(yōu)于其它基于深度學(xué)習(xí)的模型。

表3 模型對(duì)比實(shí)驗(yàn)結(jié)果
綜合來說,在針對(duì)物流包裹分揀場景下的QR碼檢測任務(wù)中,除去圖片傳輸通信、預(yù)處理和后處理等耗時(shí),QR碼檢測算法耗時(shí)需控制在 60ms 以內(nèi),并考慮到設(shè)計(jì)裕量和未來移植到嵌入式平臺(tái)中,實(shí)際算法運(yùn)行速度越快越好。本文提出的模型完全滿足速度要求,對(duì)于物流分揀環(huán)境下的QR碼檢測算法的部署是極為重要地。圖7展示了基于本文端到端深度網(wǎng)絡(luò)的QR碼檢測效果,待檢測目標(biāo)都能夠很好的被檢測出來,可滿足實(shí)際物流分揀場景的需求。

圖7 QR碼檢測效果圖
本文在智能物流分揀環(huán)境下,設(shè)計(jì)了一種針對(duì)QR碼目標(biāo)的快速檢測算法。該算法以經(jīng)典One-Stage檢測模型作為基礎(chǔ)框架,通過設(shè)計(jì)特征精簡的特征提取網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)QR碼特征的充分抽取,同時(shí),結(jié)合優(yōu)化后深度可分離卷積以及全連接注意力宏模塊,提升模型的表現(xiàn)能力和檢測速度,最后通過實(shí)驗(yàn)驗(yàn)證了該算法的有效性和可行性。相較于經(jīng)典模型在保持檢測精度同一水平的情況下,大幅度提升檢測速度,方便物流分揀現(xiàn)場有限的計(jì)算資源環(huán)境下部署并獲得快速準(zhǔn)確地檢測效果。