續(xù)曉麗 ,劉從峰 ,范廣宇
1.中國科學院 上海技術物理研究所 紅外成像材料與器件重點實驗室,上海 200083
2.中國科學院 上海技術物理研究所 傳感技術國家重點實驗室,上海 200083
3.中國科學院大學,北京 100049
4.常州光電技術研究所,江蘇 常州 213100
標識和感知是物聯(lián)網(wǎng)實現(xiàn)的關鍵環(huán)節(jié),目前二維碼和RFID技術是信息識別領域的關鍵技術,雖然RFID具有容量高、可重復讀寫、可作用于高速運動物體以及可同時識別多個標簽的技術優(yōu)勢,但與RFID相比,二維碼具有發(fā)布快捷和成本低廉的優(yōu)勢[1],目前使用的二維條碼標準有二十幾種,比較常用的有QR Code、Data Matrix Code 等[2],這些二維條碼都是采用黑白色塊來存儲信息,這種編碼方式的特點在于編碼本身即是一幅圖像,其本身是不透明的,因而無法將編碼與可以表示編碼所包含內容的圖像相融合,編碼適合機器讀識,但不適合人進行讀識和理解,為了達到二維碼與圖像同時顯示的目的,目前采用的方法是利用二維碼的容錯能力,將圖像嵌入二維碼當中,此種方法嵌入的圖像很小,一般只能用于顯示如圖標之類的一些簡單圖形。為實現(xiàn)二維編碼圖像相結合的目標,先后有Content Idea of ASIA公司的CL code 技術、韓國延世大學的彩碼技術、微軟公司的Microsoft tag 技術以及以色列Visualead 的公司開發(fā)的二維碼美化技術等技術被提出。綜上所述,人們對于二維編碼圖像結合方案有著強烈的需求并一直在尋求更好的解決方案,以達到機器和人均適合識讀的二維編碼圖像結合的最佳效果。
以上二維編碼方案的共同特點是采用色塊來存儲編碼信息,這也是導致編碼本身會對背景圖像造成全部或部分遮擋的主要原因,由于此類編碼方案均是開發(fā)于幾年甚至幾十年以前,當時便攜設備的拍攝能力仍然較弱,考慮到十萬像素級別的攝像頭的編碼識別能力,必須采用易于識別的色塊編碼方式,而如今隨著硬件水平的飛速發(fā)展,幾百萬甚至千萬像素的攝像頭已經在移動設備上普及,這使得基于線條或圖像邊緣的編碼方法具備了技術上的可行性。本文主要工作如下:
(1)提出了基于圖像邊緣的二維編碼方案。將信息編碼于標簽的邊緣形狀當中,適用于機器和人同時識別。
(2)將深度學習應用于編碼圖像識別。與QR 碼等編碼不同,基于圖像邊緣的二維編碼圖像沒有定位標記,在復雜背景中定位二位編碼圖像比較困難,因此提出將深度學習應用到二維編碼圖像相結合的新技術當中,通過采用改進的SSD算法,利用多尺度特征復用,在復雜的背景中將二維編碼圖像識別出來。
(3)數(shù)據(jù)集創(chuàng)建與增廣。由于深度學習是建立在大量數(shù)據(jù)的基礎上,本文提出通過電腦生成相應的數(shù)據(jù)集,利用生成的數(shù)據(jù)集去訓練網(wǎng)絡,通過合成的數(shù)據(jù)集進行驗證,最后用真實的圖片去測試。在數(shù)據(jù)集中,除了包括將二維編碼圖像旋轉粘貼在背景圖上生成的數(shù)據(jù)集圖片,還有在背景圖上直接粘貼無編碼的二維圖像的數(shù)據(jù)集圖片作為負樣本以及直接在背景圖上加入相應的編碼部分特征的數(shù)據(jù)集圖片作為正樣本,從而增加了網(wǎng)絡的適應性和魯棒性。
主流圖像識別和定位的方法大概可以分為兩類,其一是基于濾波的圖像特征提取,常用的濾波算法有小波變換、傅里葉變換、加博變換等;其二是基于人工智能類的學習算法,通過對已有的圖像特征學習來完成圖像識別,常用算法有SVM(支持向量機)和深度學習[3]。為了在復雜的大背景下識別無傳統(tǒng)定位標識的二維編碼圖像,提出將深度學習中的目標識別算法應用到二維編碼圖像結合的新技術當中。目標識別是指一個特殊目標(或一種類型的目標)從其他目標(或其他類型的目標)中被區(qū)分出來的過程,它既包括兩個非常相似目標的識別,也包括一種類型的目標同其他類型目標的識別[4]。目前主流的基于深度學習模型的目標檢測算法,可以分成兩大類[5]:(1)二階段檢測算法,其將檢測問題劃分為兩個階段,首先產生候選區(qū)域,然后對候選區(qū)域進行分類和位置修正,這類算法的典型代表是基于候選區(qū)域的R-CNN[6]系算法,如R-CNN、Fast R-CNN、Faster RCNN 等[7];(2)一階段檢測算法,其不需要候選區(qū)域階段,直接產生物體的類別概率和位置坐標值,比較典型的算法如YOLO和SSD[8]。
本文采用SSD 目標識別算法,利用多尺度特征復用,在復雜的背景中將二維編碼圖像識別出來。
SSD(Single Shot Multibox Detector)算法是一階段端到端的圖像目標檢測方法,和兩階段目標檢測模型對比,最明顯的區(qū)別是不再需要在一階段生成候選區(qū)域然后再進行分類,SSD 算法從訓練數(shù)據(jù)輸入開始,會直接在網(wǎng)絡中提取特征來預測物體分類和位置,降低了網(wǎng)絡訓練成本,能夠很好地提高檢測速度[9]。針對不同大小的目標檢測,傳統(tǒng)的做法是先將圖像轉換成不同大小(圖像金字塔),然后分別檢測,最后將結果用非極大值抑制的方法綜合起來。而SSD 算法能夠利用不同卷積層的特征層進行綜合檢測,并能達到同樣的效果。
如圖1所示,SSD算法的主網(wǎng)絡結構是VGG16,前5層為VGG16的基礎網(wǎng)絡,并將VGG16最后兩個全連接層FC6和FC7改成卷積層,做空洞卷積,增大感受視野,并隨后增加了4個卷積層來構造網(wǎng)絡結構,生成不同尺寸的特征圖[10]。對其中5種不同卷積層的輸出(特征層)分別用兩個不同的3×3 的卷積核進行卷積,分別為:一個輸出分類用的置信度(每個默認框生成類別置信度),一個輸出回歸用的位置,每個默認框生成4 個坐標值(x,y,w,h)[11]。
在圖像分割領域,圖像輸入到卷積神經網(wǎng)絡中,會先對圖像進行卷積操作然后再池化[12],可以在降低圖像尺寸的同時達到增強感受野的效果,但是由于圖像分割預測是基于像素級的輸出,所以要將池化后較小的圖像尺寸上采樣到原始的圖像尺寸進行預測(一般采用反卷積操作),之前的池化操作使得每個像素預測都能看到較大感受野信息[13]。因此,圖像分割中有兩個關鍵,一個是池化減小圖像尺度,增大感受野,另一個是上采樣擴大圖像尺度。在先減小再增大圖像尺度的過程中,會損失掉圖像的一部分信息,為解決上述過程中信息丟失的問題,提出了空洞卷積[14]??斩淳矸e就是在標準的卷積核里注入空洞,不需要通過池化以及上采樣就能達到增加感受野的效果,減少信息的損失[15],有利于較大目標的識別。但是,空洞卷積并不能完全地保留原始信息,也會導致局部信息丟失。主要原因是由于空洞卷積的計算方式類似于棋盤格式,某一層得到的卷積結果來自上一層獨立的集合,這些集合之間沒有相互依賴,導致該層的卷積結果之間也就沒有相關性。此外,空洞卷積是一種稀疏采樣,這使得底層的卷積與高層空洞卷積之間的信息沒有相關性,信息受損,影響分類結果[16]。由于本次檢測目標的特征都是局部小特征,因此,此次的網(wǎng)絡框架去掉了原來第六層空洞卷積層。
圖1 SSD框架圖[8]
淺層的特征圖感受視野較小,圖像的細節(jié)信息保留較好,深層特征圖感受視野較大,更適合于大目標的檢測[17]。本次檢測要求目標是具有編碼邊框特征的二維編碼圖像,關注的是編碼邊框的特征,該特征只占二維編碼圖像本身的10%,并且在實際應用情況下,二維編碼圖像占據(jù)整張檢測圖片的比例不會過大,所以只是選擇了淺層的圖層Con4-3、FC7以及Conv8-2進行特征融合。改進的SSD模型框架如圖2,為了驗證該模型的有效性,本文研究了改進前后的SSD模型以及網(wǎng)絡深度的選擇對二維編碼圖像識別準確性的影響。
目標檢測常用的數(shù)據(jù)集有Pascal VOC[18]、ImageNet[19]以及Microsoft公司建立的MS COCO[20](Common Objects in Context)數(shù)據(jù)集。為獲得適用于本次編碼識別網(wǎng)絡訓練的數(shù)據(jù)集,采用Visual Studio 2017 為工具,基于MFC和opencv設計了批量生成二維編碼圖像與背景合成圖像的軟件,并采用VOC 標記模式生成訓練集和驗證集。
圖2 改進的SSD模型框
2.3.1 邊框顏色選擇
在二維編碼圖像生成的過程中,需要考慮復雜背景對識別的影響,由于生成的二維編碼圖像中只有邊緣部分作為特征,因此二維編碼圖像的顏色對有效識別是至關重要的。對于二維編碼圖像顏色的選取,要與圖像本身的顏色有明顯差異,這樣二維編碼圖像的信息才能避免被圖像侵蝕和掩蓋,從而達到更好的識別效果。通過直方圖統(tǒng)計方法對如圖3(a)所示的圖像邊緣1/10 寬度內的局部顏色信息進行分析,由于圖像原始的RGB 顏色空間過多,在直方圖統(tǒng)計以及二維編碼圖像邊框顏色選取上會導致信息的冗余,而二維編碼圖像邊框的顏色只要達到與該二維編碼圖像內部的顏色存在明顯差異的效果即可,所以在分析圖像顏色信息時采用降維的思想將原有的256×256×256 色變成按照0~15,16~31,…,240~255進行分組降維成16×16×16色,然后統(tǒng)計出每個通道顏色值最少的顏色,并生成如圖4 所示的直方圖,從圖中可以看出,顏色值最少的區(qū)間為RGB(128~143,0~16,0~16),取區(qū)間中間值RGB(136,8,8)為二維編碼圖像的顏色值,最終所生成的二維編碼圖像如圖3(b)所示。
圖3 數(shù)據(jù)集顏色選取
圖4 顏色分布直方圖
與傳統(tǒng)的二維碼如QR 碼不同的是,所生成的二維編碼圖像僅在圖像邊緣10%的范圍內有編碼信息,圖像本身的信息并沒有被掩蓋,不影響人對圖像內容的理解,適用于機器和人同時識別。
2.3.2 數(shù)據(jù)集生成
由于需要在復雜場景下有效識別生成的二維編碼圖像,并且考慮到實際應用情況,本次用于訓練和驗證的數(shù)據(jù)集圖片是將經過縮放及旋轉的二維編碼圖像疊加至背景圖相應位置所生成的,同時也生成了相應的XML標記文件。具體的數(shù)據(jù)集生成流程如圖5所示,所得到的數(shù)據(jù)集樣本如圖6所示。在圖7所示的生成數(shù)據(jù)集的界面中,批處理界面下的加邊框選項是指批次生成二維編碼圖像,再通過旋轉加插入背景選項可以將生成的二維編碼圖像旋轉并插入到相應的背景圖中,在如圖8所示的彈出對話框選項中進行設置,可以實現(xiàn)對二維編碼圖像的任意角度旋轉以及相應位置的疊加,最終生成的xml標記文件如圖9所示。
圖5 數(shù)據(jù)集生成流程圖
圖6 數(shù)據(jù)集圖片
圖7 批處理界面
圖8 旋轉加插入背景對話框
圖9 XML標記文件
2.3.3 數(shù)據(jù)增廣
識別帶有邊框的二維編碼圖像與圖像內容無關,在建立數(shù)據(jù)集時,需考慮如何抵消內部圖片特征對識別二維編碼圖像的影響,因此在數(shù)據(jù)集的背景圖上人為嵌入了無邊框的圖片作為負樣本背景圖(圖10(a))以及直接在背景圖上加框(圖10(b))作為正樣本圖片,以此增加網(wǎng)絡的適應性和魯棒性。
圖10 增廣數(shù)據(jù)集圖片
3.1.1 實驗環(huán)境
硬件配備:Intel i7-8700k,Nvidia Titan X。
軟件配備:ubantu Linux,Tensorflow 1.9。
3.1.2 錨框
改進模型的錨框是由圖2 所示的Conv4_3、FC7、Conv8_2 這3 個特征層卷積層輸出的特征圖所產生,特征圖的大小分別為38×38、19×19、10×10。每個n×n大小的特征圖中有n×n個中心點,每個中心點產生k個錨框,每層的k值分別為4、6、6,最終生成了7 098個錨框。
每層錨框的尺度列表可由公式(1)獲得,由于實際計算過程中需要進行取整,所以采用公式(2)。其中Sk為錨框與原始圖片的大小之比,該原始圖片是指經過預處理輸入到網(wǎng)絡的圖片,大小為300×300[8]。Smax和Smin分別為最大和最小的比值,本次二維編碼圖像的最大與最小比值分別為0.90和0.15,m為網(wǎng)絡特征層的層數(shù),本次模型的特征層數(shù)為3層。其中第一層特征圖的錨框尺度比例一般設置為Smin/2=0.07 ,最大為S1=Smin=0.15,故第一層預設尺寸最小值為300×0.07=21,最大尺寸為300×0.15=45。同理可得第二層錨框的尺度最小為45,最大為157,第三層的尺度最小為157,最大為270。但是,本次檢測的目標是二維編碼圖像,其特征只在目標的邊緣部分,且考慮到后續(xù)編碼提取等實際問題,目標不宜過小,且目標的整體部分特征基本在第一層特征圖上有所體現(xiàn),故第一層特征圖如果按照上述公式計算,錨框偏小,會集中檢測目標中間的特征,故將錨框尺度列表改為:[(21,91),(91,161),(161,231)]。
3.2.1 顏色測試結果及分析
本次網(wǎng)絡訓練共使用訓練集圖片53 581張,由用來生成二維編碼圖像的原始圖片以及原始背景圖合成,標記的目標包括二維編碼圖像以及直接在背景圖上生成的二維編碼圖像邊框,如圖10所示。測試集由8 043張圖片組成,在背景以及生成的二維編碼圖像的選擇上,測試集與訓練集具有完全不同的圖像內容,以保證測試效果的準確性。其中圖10的測試結果如圖11,1表示所屬類別,由于本次檢測的目標只有二維編碼圖像,即代表所識別的二維編碼圖像,1.000 為其置信度。圖12 為圖10(a)經過神經網(wǎng)絡各個卷積層的輸出結果。圖13為神經網(wǎng)絡訓練的收斂曲線。
圖11 圖10測試結果
圖12 圖10(a)經過各個卷積層的輸出
圖13 神經網(wǎng)絡的收斂曲線
在目標識別中,利用多尺度的特征進行融合是提高識別的一個重要手段[21-22]。其中位于低層的特征,其分辨率更高,包含更多位置、細節(jié)信息,但是由于經過的卷積更少,其語義性更低,噪聲更多,如圖12(a)、(b)、(c)所示,低層的特征圖除了提取了所需識別目標圖像的邊緣信息、位置信息以外,還提取了不需要識別部分的信息,雖然細節(jié)信息多,但是信息過于冗雜,不適合做特征提取層。高層特征具有更強的語義信息,但是分辨率很低,對細節(jié)的感知能力較差,如圖12(f)、(g),特征圖準確地提取了所標記位置二維編碼圖像的整體特征,但是對于二維編碼圖像邊緣的局部特征并不敏感。因此本次改進的SSD 算法選擇了淺層的圖層Con4-3,與較深層的圖層FC7和Conv8-2進行特征融合,也即如圖12(d)以及(f)、(g)所示,是特征提取層的輸出圖像,其中Conv4-3 提取二維編碼圖像的細節(jié)信息,如邊緣輪廓的細粒信息等等,F(xiàn)C7 和Conv8-2 提取了二維編碼的整體信息,而更高圖層的特征由于其分辨率更低,丟失的信息更多,對于識別該類具有邊緣細節(jié)信息的目標不適用。
對改進的網(wǎng)絡進行訓練,由圖13收斂曲線可知,該網(wǎng)絡能夠很好地收斂,達到穩(wěn)定的效果。測試結果表明,標準mAP(mean Average Precision)為70%,低于預期水平。其中mAP 為所有類別AP(Average Precision)的平均,AP是PR曲線下覆蓋的面積,其中P為Precision,計算方法如公式(3)所示。R為Recall,計算方式如公式(4)所示。其中TP為正樣本又被預測為正樣本的個數(shù),F(xiàn)P為負樣本被預測為了正樣本的個數(shù),F(xiàn)N為正樣本被預測為了負樣本的個數(shù)。
為了分析其原因,將如圖14 所示的無法識別的二維編碼圖像篩選出來,統(tǒng)計未識別二維編碼圖像邊緣10%的顏色信息表如表1 所示,發(fā)現(xiàn)所選取的顏色值(88,88,88)雖然在RGB 通道上統(tǒng)計出來最少,但是仍會出現(xiàn)二維編碼圖像邊框的顏色與圖像邊緣處顏色相近的情況,如B通道上所示,最少的顏色值為降維后的5,最多的顏色值為降維后的顏色值6,兩個顏色值在空間上相鄰,顏色信息相近,從而導致了網(wǎng)絡無法對該二維編碼圖像有效識別。因此,在二維編碼圖像邊框的顏色選取上需要額外考慮相近顏色值的干擾,避免此類情況的發(fā)生。改進后的顏色選取流程如圖15所示。
圖14 初始測試集中未識別的二維編碼圖像
圖15 改進后的顏色選取流程圖
顏色值相近意味著在顏色空間上距離相近,所以在統(tǒng)計顏色直方圖時,不僅要統(tǒng)計出RGB 每個通道顏色最少的顏色值,還要統(tǒng)計出每個通道顏色值最多的顏色值,對于圖14 中的二維編碼圖像邊緣10%區(qū)域,由表1可知其RGB 最少值和最多值分別為(5,5,5)和(10,3,6)。通過計算分別得出R、G、B三個通道中最多與最少的顏色值之間的距離,當顏色差值小于3 時,意味著該通道上兩個顏色值相近,則直接選取在距離上與最多顏色值相差為3的顏色值為新的顏色值。由于此區(qū)域中B通道與G 通道計算所得顏色差值均小于3,故新的顏色值選定為(5,0,3),從而保證該顏色值與圖像邊緣處最多顏色值之間具有顯著差異,有利于網(wǎng)絡對二維編碼圖像的有效識別。此外,為了便于人眼識別,以及考慮到二維編碼圖像的實際應用場景,應避免在顏色空間上選取在R、G、B三個通道上顏色值相等或相近的顏色。當出現(xiàn)顏色值相等或相近情況時,直接將其中兩個通道的顏色值在距離上加5(避免與前面排除選取顏色相近的值抵消)重新生成易于識別的二維編碼圖像,新選取的顏色值并未出現(xiàn)上述情況,故最終選取的顏色值為(5,0,3),對應到256×256×256 顏色空間中,顏色值為(88,8,56),重新生成二維編碼圖像如圖16所示。對于采用該方法重新生成的測試集,所測得的標準mAP 達到100%,表明二維編碼圖像的顏色對有效識別是至關重要的,改進后的顏色選取方法能夠有效提高機器對二維編碼圖像的識別率。
圖16 重新生成的二維編碼圖像
3.2.2 模型驗證結果及分析
為了進一步驗證改進模型的有效性,本文研究了改進前后的SSD 模型以及網(wǎng)絡深度的選擇對二維編碼圖像識別準確性的影響。圖17給出了改進前后的SSD模型對不符合上述編碼規(guī)則的二維編碼圖像的識別結果,該類圖像的絕大部分與所要識別的目標一致,只有邊框不連通。其中,四層特征圖所選取的特征層是Conv4_3、FC7、Conv8_2和Conv9_2。結果表明,除無空洞卷積的三層特征圖網(wǎng)絡外,其余三種網(wǎng)絡模型對該類圖像均存在誤識別現(xiàn)象。為進一步研究改進前后的模型對此類圖像的誤識別情況,使用由1 000 張該類圖像組成的驗證集圖片進行驗證。
表1 圖14中未能識別二維編碼圖像邊緣10%顏色信息表
圖17 不同模型對不符合編碼規(guī)則的二維編碼圖像識別結果
由表2 四種不同網(wǎng)絡對不符合編碼規(guī)則的二維編碼圖像的誤識別率可知,帶有空洞卷積的網(wǎng)絡對于邊框處存在較小差異的二維編碼圖像易出現(xiàn)誤識別情況,尤其是四層特征圖帶空洞卷積的網(wǎng)絡的誤識別率高達96.04%,這說明使用空洞卷積會使局部信息丟失,尤其是在小目標的檢測當中,如本文檢測目標的特征只占本體的10%,且集中在目標的邊緣部分,因此帶有空洞卷積的網(wǎng)絡不適用于所設計二維編碼圖像的檢測。此外,與三層特征圖的網(wǎng)絡相比,增加一層更深的網(wǎng)絡特征圖Conv9_2會增大誤識別率,不利于目標的識別。綜上,改進后的SSD 模型能夠有效避免對不符合二維編碼規(guī)則圖像的誤識別,同時減少了網(wǎng)絡參數(shù),提高了檢測效率。
表2 不同模型對不符合編碼規(guī)則二維編碼圖像誤識別率
3.2.3 改進SSD模型與其他模型對比分析
為了進一步地表征改進SSD 模型對二維編碼圖像識別的可靠性以及有效性,對其他現(xiàn)有的重要改進模型進行訓練、測試對比分析,其中訓練集為改進SSD 模型的訓練集,測試集為重新生成的12 187張與訓練集完全不同的圖片(背景圖以及二維編碼圖像均不同),其中在430張背景圖上增加了不符合編碼規(guī)則的二維編碼圖像作為負樣本處理,得到的對比結果如表3所示。
由表3可知,經過改進SSD網(wǎng)絡訓練出來的模型在測試集上的召回率明顯高于Yolov3、SSD_Mobilenet 在測試集上的召回率,其高達100%,達到了預期效果。而其中SSD_Mobilenet 的召回率最低,僅為62.03%,其選擇的特征圖層是基于Conv11 開始的,特征圖的大小為19×19,分辨率為改進SSD 模型特征圖開始選擇的Conv4-3 的38×38 的一半,低分辨率的特征圖不利于小目標的識別,尤其是針對二維編碼圖像類的特征集中在目標的邊緣部分的小目標,其特征只占目標的很小部分,當提取的特征圖分辨率過低時,細節(jié)信息提取不充分,從而無法達到較好的識別效果。而Yolov3 采用Darknet-53網(wǎng)絡結構,特征圖最大的為52×52,針對只存在輪廓等特征的小目標,如飛機、風箏等,檢測效果顯著,但是針對二維編碼圖像,其特征只在邊緣部分,且內部圖像為整體的干擾特征,過大的特征圖會帶來特征信息的冗余,不利于二維編碼圖像的識別。與改進前的SSD 相比,由于只增加了430 個負樣本去計算其準確率,但是可以看到,改進后的SSD 模型的準確率有顯著增強。綜上,本文通過去掉原有SSD 模型的空洞卷積層,減少了細節(jié)信息的損失,使深層特征提取層能夠保留更多的細節(jié)信息,有利于細節(jié)信息豐富的圖像識別。此外,通過對所要識別的目標進行分析,發(fā)現(xiàn)目標所占整張照片的比例不會太大,且目標的特征集中在目標的邊緣部分,去掉了視野范圍更廣深層的特征圖,選取合適的淺層特征圖提取細節(jié)進行特征融合,可以更加準確地提取目標的特征。通過與其他重要改進模型的對比分析可知,本文的改進方法適用于特征集中在目標邊緣且局部小特征占比很大,目標較小的二維編碼圖像的識別。
表3 改進SSD模型與其他模型在測試集上的對比結果%
3.2.4 真實圖片測試結果與分析
將彩印的二維編碼圖像放到多個真實場景中進行拍攝,所獲取的真實照片構成了本文的驗證集。圖18給出了正常視角和傾斜視角下拍攝的二維編碼圖像,與正常視角相比,傾斜視角下的二維編碼圖像具有明顯的形變。結果表明,由改進后SSD模型對真實場景中兩種視角的二維編碼圖像均能有效識別,達到了理想的識別效果。
圖18 真實場景中的二維編碼圖像
為實現(xiàn)機器和人眼均適讀二維碼,提出了一種二維編碼圖像結合的新型二維圖像編碼技術,并介紹了用來識別此類二維編碼的方法——SSD 算法。前期通過Visual studio 2017 來創(chuàng)建數(shù)據(jù)集,在創(chuàng)建的過程中,將直接粘貼于背景圖上的無編碼二維圖像的數(shù)據(jù)集圖片作為負樣本,直接在背景圖上加入相應的編碼部分特征的數(shù)據(jù)集圖片作為正樣本,原始的數(shù)據(jù)集得到增廣,以此增加網(wǎng)絡的適應性和魯棒性。后期在模型的改進、驗證與測試中發(fā)現(xiàn)二維編碼圖像邊框的顏色、空洞卷積以及網(wǎng)絡的深度對二維編碼圖像的識別有很大的影響,并最終改進SSD算法讓其適用于二維編碼圖像的識別,使其對具有良好拍照條件的真實圖片的編碼識別準確率達到100%。