999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的多條形碼檢測與實現*

2018-10-13 02:21:16劉秉瀚
網絡安全與數據管理 2018年9期
關鍵詞:分類檢測方法

周 勉,劉秉瀚

(福州大學 數學與計算機科學學院,福建 福州 350108)

0 引言

條形碼技術[1]在日常生活中應用廣泛,比如物流管理、智能倉庫、圖書館自動借閱等。雖然條形碼相關技術發展至今已然相當成熟,但在多個條碼同時出現的應用場景中(比如物流),由于背景復雜,定位難度相對較大,目前主要還是依賴人工逐個完成,費時費力,效率低下。為此,研究復雜背景中的多條形碼具有極大應用前景。

目前常見的方法是借助條形碼的灰度、條紋特征進行檢測,文獻[2]提出了一種基于窗口直方圖的算法,實現了條碼的方向不變性,但需要選取與條碼規格接近的窗口才能取得較好的效果;文獻[3]采用Max-Min和Canny算子相結合的方法過濾背景噪聲,通過投影的方式定位目標區域實現快速定位,但在多條碼場景下,投影區域往往存在重疊部分,導致檢出失敗;文獻[4-5]提出了基于傳統神經網絡的定位算法,這種方法需要預先提取候選塊的特征,然后將特征作為神經網絡的輸入。一方面特征提取步驟繁瑣,另一方面候選塊的選取也將影響檢測效果。總的來看,傳統的檢測條形碼的方法應用在復雜背景的多條碼檢測中存在魯棒性較差、步驟繁瑣、閾值選取困難等弊端。

相比于傳統方法,基于深度學習的目標檢測不僅可以自動地提取豐富的特征,同時可以將特征提取、選擇、分類融合在同一個網絡模型中進行優化,具有極大的優勢。文獻[6]提出了一種基于卷積神經網絡的QR碼定位方法。該方法首先對二值化后的圖像按照固定的寬、高劃分候選cell,然后通過卷積神經網絡對cell進行分類,過濾掉不含QR碼的部分。最后根據cell的邊緣數、紋理等信息進行合并得到檢測結果。該方法在復雜背景下有較好的QR碼定位效果,但這種需要預處理和后處理的檢測方式,要設置多項閾值,檢測效果受先驗知識影響較大。

為了避免復雜閾值設定帶來的困擾,同時降低條碼被分段檢出的風險,本文借鑒深度學習領域流行的目標檢測思想,提出一種可在復雜背景中直接提取條形碼位置、傾斜角度以及掃描線的端對端檢測算法。本文算法具有檢測步驟簡單、人工干預少、魯棒性好等優點。

1 目標檢測深度學習模型

目前用于目標檢測的深度學習模型大致可以分為以下兩類:

(1)兩步檢測法。這類方法將目標檢測過程分為區域推薦和區域分類兩個過程。區域推薦過程的目的是從原始圖片信息中得到多個可能存在目標的區域;區域分類過程的目的是對第一步所產生的區域進行逐個分類、甄別。兩步法的優點是準確率高,但缺點是需要大量計算、速度慢,候選區較多的情況下問題尤為明顯,難以滿足實時檢測的要求。這類算法包括R-CNN[7]、Faster-RCNN[8]等。

(2)端到端檢測法。相比起兩步法這類方法舍棄了區域推薦,采用單個神經網絡,通過擬合的方式直接從待檢測的圖片中計算出目標區域。此類方法的典型代表包括YOLO[9]和SSD[10],兩者均為“特征提取網絡+分類回歸”的設計思路,這種模型僅采用一個神經網絡完成目標檢測,具有訓練過程簡單、檢測速度快的優點。相比起SSD,YOLO的設計更為簡潔,易于實現。

YOLO的模型結構采用了24個卷積層+2個全連接層的模型設計,卷積層用于提取物體的特征,全連接層用于分類和預測。

YOLO將待檢測的圖片分為S×S個區域(cell),目標中心點所在的cell負責預測該目標的“邊框(bounding-box,bbox)”。因此網絡訓練目標就是對S×S個cell進行分類,找出那些目標中心點所在的cell并計算目標區域的bbox。每個cell首先要預測B個bbox,同時給出每個bbox的置信,理想情況下與目標完全貼合的bbox其置信度為1,如果一個bbox不含任何目標其置信度為0。除此之外每個cell還需給出C個條件概率,用于說明該cell所屬的物體類別。置信度與條件概率的乘積即可認為是某個bbox屬于具體類別的可能性,這么設計的目的是希望經過訓練可以讓特定大小的bbox與某些特定的類別產生一定的關聯。在YOLO模型中,B=2,S=7,C=20,所以最終的網絡輸出為7×7×30。

2 基于深度學習的多條形碼檢測

考慮到條形碼的使用場景多為實時檢測,對檢測速度有較高的要求,本文借鑒了YOLO “特征提取+分類回歸”的設計思路,構建一個針對多條形碼檢測且設計更加精簡的深度學習模型。由于存在大小不一、角度不同的多條碼目標,基于bbox的檢測模式不僅不能提供角度信息,而且多個條碼的bbox相互干擾可能導致小目標無法檢出。為此本文提出一個針對多條形碼的檢測模式,同時,為了達到快速檢測的目的,本文以“卷積+maxpool”的結構設計神經網絡,并行地完成條形碼多特征的檢測。另外,本文模型采用卷積的方式替代全連接層,以減少模型的參數量。

2.1 檢測模型設計思想

由于實際中條形碼解碼過程并不需要獲取完整的圖片信息,只需要沿著條形碼長度延伸的方向(掃描線)讀取完整的條形信息即可,因此,本文將條形碼的中心位置、掃描線以及傾斜角作為條形碼的代表性特征。

本文借鑒YOLO思想將待檢測圖片分為S×S個cell,每個cell負責檢測條形碼代表性特征。為便于區分,本文把目標中心點所在的cell稱為rcell。設計思路如下:

(1)bbox的置信度評估方面,為避免閾值選取問題,本文設計每個bbox輸出兩個預測值,分別表示為rcell和非rcell的置信度,通過softmax函數映射成概率分布后采用交叉熵進行loss評估。

(2)條形碼首尾顛倒對后續識別影響不大,因此傾斜角只需考慮第一象限和第二象限(180°范圍)。由于bbox的置信度采用了交叉熵,傾斜角loss評估如果采用平方差估算可能導致loss不均衡。為了降低角度預測的誤差,本文將傾斜角分為兩個部分進行預測(見圖1):①傾斜角所屬象限,分為2個類別(0:第一象限;1:第二象限);②傾斜角在象限中的角度(以10°為間隔將90°的象限角分為10個類別)。這樣共計12個輸出,與直接將180°按10°間隔分成19個分類相比,減少了參數量。

圖1 傾斜角分類

(3)出于與傾斜角預測相同的考慮,對條碼掃描線歸一化長度l/w(l為條碼長度,w為圖片寬度)的預測也采用了分部預測方式:十分位a的預測以及剩余位b的預測,如式(1)所示:

l/w=a×0.1+b×0.01

(1)

其中,a為[0,9]之間的任意整數,本文采用分類方法進行預測,并用交叉熵作為loss評估函數;b為[0,10)之間任意實數,采用均方誤差評估。因為在a正確的情況下誤差就已經得到了有效的控制,b在這部分并不是很重要,采用均方誤差評估有利于減少運算量。

(4)在中心點預測方面,由于條形碼由平行的線條組成,為此對中心的定位要求并不是很高,這部分采取與YOLO相同的方式進行預測。

(5)在S的選取方面,設置太小將無法有效地檢出目標,設置太大將大幅增加運算量,根據待檢測圖片中條碼與圖像的實際比例,本文S設置為7。由于本文僅涉及“條碼”與“非條碼”的二分類問題,而這個問題與cell的二分類是一致的,為此本文中C=0,B=1。根據上述思路,本文提出的模型結構中,每個cell的輸出包含27個值,含義如表1所示。

表1 模型輸出定義

2.2 模型損失函數

本文所設計模型為多任務模型,因此loss由多個部分組成。

(1)cell分類loss(式(2)):

(2)

(3)

(4)

(2)角度預測loss:

(5)

(3)條碼長度loss:

(6)

(4)目標bbox中心點的回歸loss:

(7)

最終模型的loss函數為:

(8)

2.3 模型結構設計

本文所設計的模型結構如表2所示。

表2 本文的模型結構

本文模型的基本設計思路是通過控制卷積核的移動步長以及采用max_pool結構將448×448圖像輸入映射為7×7×27模型輸出。由于條形碼主要由平行的線條組成,為此即便在“條”與“空”之間缺失部分像素,也不會對條碼的整體形態有太大影響。因此在模型的第一個卷積層,本文設置卷積的步長為4,進行“跳躍式”的卷積。在YOLO的設計中,一個邏輯上的卷積層由多個子卷積過程組成,期間通過1×1的卷積核進行壓縮,以減少運算。一方面條碼的特征更為簡單,同時為了減少運算量,本文并未采用這種卷積結構。

對于每層卷積核數的設置,參照YOLO的模型設計方法:隨著網絡深度的加大,逐漸減小特征圖大小,并增加卷積核個數。因此,本文以N為增量逐層遞增卷積核,設第一層的核數為N,則其后卷積層的核數分別為2N、3N…。

本文通過一系列實驗確定N的取值。顯然卷積核越多,則需要越多的運行時間和越多的迭代周期。

為了簡化實驗,本文將所有模型的訓練周期固定設為20,僅從召回率和精確率入手考察N的不同取值對實驗結果的影響,實驗結果如圖2所示。

圖2 不同N值對比圖

圖4 模擬場景實驗效果圖

相比起誤檢,漏檢將造成更大的損失,為此優先考慮召回率較高的模型。從圖2可以看出,當N取16時,在提升模型精確率的同時沒有引起召回率的下降。為此,本文選擇N=16作為模型第一層的卷積核個數。

3 實驗分析

3.1 數據集

由于網絡上可用于進行訓練的條形碼樣本稀少,而完全人工標注的方式進行數據集制作,工作量巨大,其數量也很難滿足實驗需求,為此,本文設計算法自動生成訓練、測試數據集。

數據集制作步驟如下:

(1)采集背景圖片。其途徑包括上網下載和人工采集兩種。上網下載的圖片其題材、分辨率不限,盡可能多樣。人工采集的圖片主要源于日常拍攝、人工繪制(如網格、條紋)等。共得到背景圖片約5 000張。將這些圖片隨機分為兩個集合,其中較小的集合含圖片約100張。較大的集合用于制作訓練數據,較小的集合用于制作測試數據。

圖3 真實場景實驗效果圖

(2)生成目標背景圖片。如果只采用原始的圖片作為目標圖片的背景,在大量生成樣本后難免出現背景重復的情況。為此,需要采用剪裁、縮放、加入隨機文字、平行線條、翻轉等手段為每一個樣本獨立地生成背景圖片。

(3)通過程序生成大量條形碼圖片,將這些條形碼進行不同程度的旋轉、模糊后,不重疊地隨機置于背景圖片中,并詳細記錄它們的位置信息,如旋轉角、寬、高等。

經過上述步驟理論上可產生任意多的訓練數據,雖然不能夠完全模擬現實場景,但足以用作理論驗證。

3.2 實驗結果

為驗證模型效果,通過機器隨機生成1 000張測試圖片,每張圖片包含2~4個大小不等的條形碼,圖片大小為448×448,每張圖片包含2~4個目標。

經過試驗,本文方法檢出成功率約為96%,每張圖片耗時約150 ms。

本文與其他方法進行了對比,部分效果如圖3(真實場景)、圖4(模擬場景)所示。

從實驗結果可看出,在背景較為復雜、條碼存在不同程度扭曲的情況下,文獻[11]的檢測效果較差(見圖4(d)),主要原因在于,在復雜背景中閾值選取較為困難,同時圖像的腐蝕、膨脹操作也在一定程度上增加了算法的誤差。

YOLO算法雖然能夠檢出條碼,但無法提供角度相關信息,且有一定概率將連續的條碼分為多個檢出(見圖3(c))。本文所述方法不僅可以定位出條碼的位置,同時還能給出條形碼的旋轉信息,且在復雜背景下能夠較好地完成條碼檢測任務。

在不使用GPU加速的情況下,三者的召回率及耗時對比如表3所示。

表3 性能對比

經對比可見,本文所述方法能較好地完成復雜背景下的條碼檢測任務,且有較好的實時性。

4 結論

針對復雜背景下的多條碼檢測問題,本文提出基于深度學習的檢測方法,不僅避免了復雜閾值設定帶來的困擾,同時可直接提取條形碼位置及掃描線,具有檢測步驟簡單、時效性好的特點。

猜你喜歡
分類檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分類算一算
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 国产中文一区a级毛片视频| 在线播放国产一区| 亚洲一区色| 婷婷综合色| 中文字幕人妻无码系列第三区| 毛片在线播放网址| 久久一本精品久久久ー99| 亚洲成人一区在线| 国产一级毛片在线| 国产精品亚洲综合久久小说| 就去色综合| 欧美一道本| 国产日韩精品欧美一区灰| 欧美自慰一级看片免费| 亚洲天堂在线免费| 国产精欧美一区二区三区| 亚洲国产精品久久久久秋霞影院| 精品久久高清| 无码福利视频| 国产aⅴ无码专区亚洲av综合网| 欧美性爱精品一区二区三区| 日韩精品成人网页视频在线| 日本影院一区| 日本亚洲国产一区二区三区| 国产丝袜第一页| 综合网天天| 青青青伊人色综合久久| 97在线公开视频| 亚洲天堂免费在线视频| 波多野结衣中文字幕一区| 99精品热视频这里只有精品7 | 日本一区高清| 亚洲A∨无码精品午夜在线观看| 国产综合欧美| 亚洲日韩Av中文字幕无码 | 欧美日韩另类国产| 真人高潮娇喘嗯啊在线观看| 日本欧美精品| 无码福利日韩神码福利片| 99久久99视频| 国产精品视频a| 日本一区二区三区精品视频| 亚洲男人天堂网址| 亚洲欧美在线综合一区二区三区| 亚洲AV成人一区国产精品| 中日韩一区二区三区中文免费视频| 日韩欧美国产区| 国内精品九九久久久精品| 精品视频在线观看你懂的一区| 亚洲黄色网站视频| 91探花在线观看国产最新| 波多野结衣在线se| 欧美国产日本高清不卡| 成人午夜视频网站| 亚洲视频影院| 色哟哟精品无码网站在线播放视频| 亚洲人成网站在线观看播放不卡| 免费观看成人久久网免费观看| 亚洲精品欧美重口| 狠狠色婷婷丁香综合久久韩国| 91无码人妻精品一区| 黄色成年视频| 国产精品一区二区在线播放| 国产无码性爱一区二区三区| 在线五月婷婷| 国产成人三级| 性69交片免费看| 国产精品久久久久久久伊一| 婷婷亚洲最大| 国产亚洲高清在线精品99| 一本一本大道香蕉久在线播放| 成人va亚洲va欧美天堂| 亚洲乱码视频| 在线欧美a| 黄色国产在线| 国产成人AV男人的天堂| 性欧美精品xxxx| 亚洲欧美色中文字幕| 91精品久久久无码中文字幕vr| 蜜芽国产尤物av尤物在线看| 福利在线不卡| 天堂成人av|