• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CNN的二維碼識(shí)別算法研究

      2023-01-11 13:23:18蘇瑞芳陸明海陳鑫輝
      關(guān)鍵詞:識(shí)別率鼠標(biāo)攝像頭

      蘇瑞芳 ,陸明海 ,陳 拓 ,陳鑫輝

      (1.金華市婦幼保健院,浙江 金華321000;2.金華職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,浙江 金華 321007)

      1 引言

      隨著物聯(lián)網(wǎng)、云計(jì)算技術(shù)的迅速發(fā)展,移動(dòng)支付在日常生活中越發(fā)重要,人們對(duì)于信息提取和處理效率有了更高的要求[1]。二維碼利用不同編碼方式能快速準(zhǔn)確的存儲(chǔ)大量信息[2],主流編碼類型為矩陣式(Quick Response Code,QR Code)。傳統(tǒng)二維碼識(shí)別技術(shù)較為簡(jiǎn)單[3-4],在下雨天、灰塵等復(fù)雜環(huán)境下的識(shí)別率較低,且移動(dòng)手機(jī)平穩(wěn)拍攝受制于人體肢體,造成掃描的二維碼圖片模糊,扭曲和歪斜。

      當(dāng)前存在多種二維碼識(shí)別技術(shù),朱癑[5]等提出一種利用OpenCV實(shí)現(xiàn)機(jī)器視覺的方法。初炳旭[6]采用不同算法在復(fù)雜環(huán)境下進(jìn)行試驗(yàn),但二維碼尺寸、位置等發(fā)生變化時(shí),識(shí)別技術(shù)結(jié)果均不盡如人意。其中特別需要說(shuō)明的是微信和支付寶的二維碼識(shí)別技術(shù),兩種識(shí)別算法在多重二維碼以及二維碼尺寸不確定時(shí)的安全性有待考量。此外,在手機(jī)端識(shí)別算法時(shí)有額外的閃光燈補(bǔ)足光源,回避了光照條件不確定的問(wèn)題,但此類方法遷移至電腦端則無(wú)法適用。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)作為專用圖像處理算法[7],能較好地解決此類環(huán)境干擾對(duì)于二維碼識(shí)別的影響。在多種環(huán)境下二維碼識(shí)別的技術(shù)突破難點(diǎn)在于:在變化的、復(fù)雜的環(huán)境下,找到屬于二維碼不“變”的地方即二維碼特征因子。圖像特征因子的質(zhì)量直接影響著神經(jīng)網(wǎng)絡(luò)訓(xùn)練和識(shí)別成功率。通過(guò)對(duì)CNN網(wǎng)絡(luò)進(jìn)行多次訓(xùn)練學(xué)習(xí),最終得到的特征因子比人工定制的圖像特征,在識(shí)別速率、準(zhǔn)確率上具有較大的提升。

      因此,本文提出一種基于CNN算法的二維碼識(shí)別方案,通過(guò)對(duì)二維碼圖像優(yōu)化處理,提高圖像可識(shí)別度,實(shí)現(xiàn)更高精度的二維碼識(shí)別。

      2 算法架構(gòu)

      本算法功能主要為二維碼識(shí)別以及信息內(nèi)容讀取。算法結(jié)構(gòu)如圖1所示,首先二維碼圖片轉(zhuǎn)化為二進(jìn)制像素矩陣,然后利用鼠標(biāo)監(jiān)聽事件選擇感興趣區(qū)域(Region of Interest,ROI),進(jìn)一步聚焦待識(shí)別區(qū)域;最后采用線性變換方法突顯圖片細(xì)節(jié),利用神經(jīng)網(wǎng)絡(luò)和OpenCV實(shí)現(xiàn)二維碼識(shí)別功能。信息內(nèi)容讀取通過(guò)對(duì)所獲得的二維碼信息取模后輸出在液晶屏。

      圖1 算法結(jié)構(gòu)框圖

      算法整體流程為:首先,設(shè)計(jì)攝像頭調(diào)用函數(shù)獲取原始圖片,鼠標(biāo)監(jiān)聽事件選取ROI和圖片降噪,提升識(shí)別效率;其次,利用二維碼識(shí)別器構(gòu)建訓(xùn)練集和測(cè)試集,采用CNN算法進(jìn)行訓(xùn)練和學(xué)習(xí);最后,采用OpenCV設(shè)計(jì)二維碼識(shí)別算法。算法整體流程如圖2所示。為避免二維碼內(nèi)容為空,以識(shí)別內(nèi)容長(zhǎng)度作為判定值,當(dāng)識(shí)別后沒(méi)有信息時(shí),顯示二維碼錯(cuò)誤。

      圖2 算法流程圖

      3 識(shí)別算法子程序設(shè)計(jì)

      3.1 輸入捕獲程序

      視頻顯示的原理是通過(guò)短時(shí)間內(nèi)連續(xù)快速地顯示圖像內(nèi)容,從而在視覺上形成視頻的效果。VideoCapture函數(shù)可以實(shí)時(shí)捕捉圖片內(nèi)容,也能類似地實(shí)現(xiàn)上述視頻拍攝功能。視頻捕獲程序流程大致為用戶設(shè)備攝像頭逐幀讀取圖片,通過(guò)幀的快速處理實(shí)現(xiàn)視頻的實(shí)時(shí)捕獲,最后釋放攝像頭資源。如圖3所示,在循環(huán)中對(duì)目標(biāo)二維碼進(jìn)行捕獲。當(dāng)待識(shí)別對(duì)象符合二維碼識(shí)別值標(biāo)準(zhǔn)時(shí),進(jìn)入后續(xù)識(shí)別過(guò)程,否則返回上一步,進(jìn)行重新識(shí)別。

      圖3 鼠標(biāo)監(jiān)聽事件選擇ROI區(qū)域

      3.2 ROI和鼠標(biāo)監(jiān)聽事件程序

      鼠標(biāo)監(jiān)聽事件有鼠標(biāo)移動(dòng)、鼠標(biāo)點(diǎn)擊、鼠標(biāo)經(jīng)過(guò)等,鼠標(biāo)點(diǎn)擊包含左擊、右擊和雙擊。ROI待識(shí)別對(duì)象區(qū)域可以剔除圖片中冗余和不相關(guān)內(nèi)容,實(shí)現(xiàn)更高效率的圖片識(shí)別[8]。本文中ROI區(qū)域通過(guò)鼠標(biāo)左鍵、釋放和拖動(dòng)等監(jiān)聽事件實(shí)現(xiàn)。在二維碼識(shí)別過(guò)程中,使用左鍵和移動(dòng)事件進(jìn)行ROI區(qū)域選取,ROI區(qū)域即為待識(shí)別對(duì)象所在區(qū)域,如圖3所示。ROI區(qū)域可以縮小輸入圖片尺寸,減少冗余和干擾像素聚焦待識(shí)別區(qū)域。

      3.3 線性變換程序

      圖片的預(yù)處理在二維碼識(shí)別算法中起著至關(guān)重要的一步,提前進(jìn)行圖像降噪、清晰度提高處理,有利于后續(xù)圖像特征因子提取。首先對(duì)待識(shí)別圖片做線性變化處理,輸入圖片的像素點(diǎn)矩陣與特定閾值進(jìn)行逐一比較。當(dāng)像素點(diǎn)超過(guò)閾值時(shí)對(duì)該像素點(diǎn)進(jìn)行放大運(yùn)算,反之則進(jìn)行縮小運(yùn)算,通過(guò)強(qiáng)化對(duì)比值突出圖片細(xì)節(jié),原理如式(1)所示:

      其中,O(x,y)為輸出圖片像素值,I(x,y)為輸入圖片像素值,γ為放大比例系數(shù),定值。

      目標(biāo)圖片經(jīng)過(guò)線性運(yùn)算后,圖像矩陣中像素值均發(fā)生改變。該程序通過(guò)對(duì)目標(biāo)圖片進(jìn)行平滑處理,降低了環(huán)境因素干擾引起的識(shí)別失敗概率。圖像模糊和歪斜是常見的兩種干擾因素,雨水是極端天氣下的典型干擾物。為驗(yàn)證算法的抗干擾性,本文分別對(duì)模糊、歪斜和在雨水環(huán)境中的圖像進(jìn)行測(cè)試。如圖4所示,圖片處于模糊的情況下經(jīng)過(guò)線性變化處理后,二維碼區(qū)域清晰度明顯增強(qiáng)。當(dāng)圖片處于歪斜和雨水的干擾下,通過(guò)后處理技術(shù)使得圖片中雨滴影響減小,同時(shí)對(duì)歪斜的二維碼進(jìn)行相應(yīng)幅度的修正,如圖5所示。圖4和圖5中的圖像預(yù)處理方法,均采用的是線性變換技術(shù),該技術(shù)利用圖像起始灰度映射關(guān)系調(diào)整圖像灰度,能有效增強(qiáng)圖像特征使二維碼更加清晰。

      圖4 圖片在模糊情況下線性變化的效果對(duì)比

      圖5 圖片在歪斜和雨天干擾下線性變化的效果對(duì)比

      3.4 二維碼識(shí)別算法

      CNN網(wǎng)絡(luò)架構(gòu)如圖6所示,對(duì)在復(fù)雜環(huán)境下的目標(biāo)二維碼集進(jìn)行訓(xùn)練。輸入圖片經(jīng)過(guò)兩層卷積核(3×3)和池化層(2×2)后,隱藏層分別學(xué)習(xí)二維碼局部特性,得到輸入圖像的多個(gè)局部特性,全連接層將各個(gè)神經(jīng)元學(xué)習(xí)的特征相關(guān)聯(lián)。訓(xùn)練過(guò)程中通過(guò)實(shí)際輸出與訓(xùn)練集標(biāo)簽進(jìn)行比較驗(yàn)證,若識(shí)別錯(cuò)誤,則根據(jù)反向迭代算法計(jì)算識(shí)別誤差,更新神經(jīng)網(wǎng)絡(luò)權(quán)重值,然后重新推斷識(shí)別。識(shí)別正確則進(jìn)行下一張圖片的訓(xùn)練識(shí)別,直至完成訓(xùn)練集中全部二維碼識(shí)別。

      圖6 CNN網(wǎng)絡(luò)架構(gòu)

      識(shí)別過(guò)程需要對(duì)圖片進(jìn)行定位和信息解碼。本文識(shí)別程序以Zbar庫(kù)為函數(shù)基礎(chǔ),其豐富的基礎(chǔ)函數(shù)可以完成圖像掃描、濾波、邊緣梯度等功能,調(diào)用其中的OpenCV函數(shù)實(shí)現(xiàn)定位和解碼功能[9]。定位過(guò)程通過(guò)檢測(cè)二維碼四個(gè)直角邊實(shí)現(xiàn),當(dāng)確定其中三個(gè)定點(diǎn)位置即可推出二維碼的具體位置。解碼過(guò)程為加載二維碼圖像和四個(gè)頂點(diǎn)坐標(biāo),從而提取二維碼的信息內(nèi)容,具體過(guò)程如圖7所示。

      圖7 二維碼定位和解析過(guò)程

      4 識(shí)別算法測(cè)試

      4.1 輸入提取測(cè)試

      攝影分為啟用、運(yùn)行和關(guān)閉攝像頭三個(gè)階段。如圖8所示,測(cè)試時(shí)所調(diào)用攝像頭正常啟動(dòng)并處于工作狀態(tài),實(shí)時(shí)拍攝圖片直至按下鍵盤“q”,程序成功釋放攝像頭資源并結(jié)束運(yùn)行,測(cè)試結(jié)果表明設(shè)備調(diào)用和釋放功能均正常。

      圖8 攝像頭調(diào)用

      啟用階段:開啟程序能快速響應(yīng),窗口建立反應(yīng)及時(shí)并穩(wěn)定,無(wú)延時(shí)或窗口不協(xié)調(diào)等問(wèn)題。運(yùn)行階段:攝像及其視頻平穩(wěn)運(yùn)行,實(shí)時(shí)傳遞,無(wú)花屏,程序崩潰等。

      關(guān)閉階段:鍵盤“q”鍵作為指令,程序響應(yīng)迅速,無(wú)殘留進(jìn)程,說(shuō)明該程序成功關(guān)閉。

      圖8中的視頻窗口清晰展示了攝像設(shè)備攝影的內(nèi)容,其圖片像素足夠,圖片尺寸滿足

      尋找圖像特征的要求,不僅是成功的攝像設(shè)備調(diào)用和測(cè)試,也是證明圖像對(duì)于特征描述的基本滿足。

      4.2 識(shí)別率測(cè)試

      識(shí)別率是驗(yàn)證算法正確性以及性能的重要指標(biāo)之一,通常以一定數(shù)量的數(shù)據(jù)集進(jìn)行測(cè)試,計(jì)算識(shí)別正確圖片數(shù)占測(cè)試數(shù)據(jù)集的比例。識(shí)別率影響因素眾多,除了算法自身以外,圖像噪聲等外界干擾也會(huì)影響所采集的圖像質(zhì)量,導(dǎo)致算法識(shí)別準(zhǔn)確率降低。本文共構(gòu)建100張二維碼,分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集60張,測(cè)試集40張。測(cè)試結(jié)果如圖9所示,隨著CNN網(wǎng)絡(luò)的不斷深化學(xué)習(xí),對(duì)于測(cè)試數(shù)據(jù)的成功率達(dá)98%以上,錯(cuò)誤率為2%以下,損失函數(shù)值低于0.1。相比傳統(tǒng)二維碼識(shí)別算法,實(shí)驗(yàn)結(jié)果表明,采用突觸權(quán)重多態(tài)特性構(gòu)建權(quán)重與圖像像素的映射關(guān)系所設(shè)計(jì)的CNN網(wǎng)絡(luò)學(xué)習(xí),具有在線學(xué)習(xí)和抗環(huán)境干擾的優(yōu)勢(shì)。類似大腦中神經(jīng)元之間以及突觸前后膜傳輸和處理信息的工作原理,程序識(shí)別可自動(dòng)小幅過(guò)濾環(huán)境干擾、對(duì)環(huán)境干擾采取降噪、截取等優(yōu)化方式。

      圖9 二維碼圖片識(shí)別率

      5 結(jié)語(yǔ)

      本文設(shè)計(jì)了一種用于終端智能設(shè)備的二維碼識(shí)別算法,利用ROI和線性函數(shù)優(yōu)化待識(shí)別圖片,提高識(shí)別效率,卷積神經(jīng)網(wǎng)絡(luò)解決傳統(tǒng)識(shí)別算法在極端環(huán)境下二維碼識(shí)別率低的問(wèn)題。實(shí)驗(yàn)結(jié)果表明所設(shè)計(jì)算法識(shí)別準(zhǔn)確率高達(dá)98%,損失函數(shù)收斂值接近0,具有一定的工程應(yīng)用價(jià)值。

      猜你喜歡
      識(shí)別率鼠標(biāo)攝像頭
      浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
      攝像頭連接器可提供360°視角圖像
      Progress in Neural NLP: Modeling, Learning, and Reasoning
      Engineering(2020年3期)2020-09-14 03:42:00
      基于類圖像處理與向量化的大數(shù)據(jù)腳本攻擊智能檢測(cè)
      基于真耳分析的助聽器配戴者言語(yǔ)可懂度指數(shù)與言語(yǔ)識(shí)別率的關(guān)系
      提升高速公路MTC二次抓拍車牌識(shí)別率方案研究
      高速公路機(jī)電日常維護(hù)中車牌識(shí)別率分析系統(tǒng)的應(yīng)用
      奔馳360°攝像頭系統(tǒng)介紹
      安裝攝像頭后為何無(wú)法使用耳麥?等
      45歲的鼠標(biāo)
      交口县| 驻马店市| 浙江省| 荆门市| 乾安县| 台前县| 灵寿县| 泌阳县| 扶风县| 泸定县| 石家庄市| 鸡东县| 开化县| 襄城县| 孙吴县| 阜平县| 滦南县| 南和县| 青河县| 汕尾市| 咸阳市| 沈丘县| 广东省| 玉门市| 习水县| 开封市| 武汉市| 富蕴县| 九江市| 唐山市| 武宁县| 上思县| 宝兴县| 柳河县| 湟源县| 灵璧县| 满城县| 无为县| 巴青县| 车险| 宜城市|