<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的光學(xué)指紋識(shí)別系統(tǒng)的設(shè)計(jì)方案

          基于ARM的光學(xué)指紋識(shí)別系統(tǒng)的設(shè)計(jì)方案

          作者: 時(shí)間:2014-08-04 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/256898.htm

          本文介紹了一種基于系統(tǒng)的設(shè)計(jì)方案。本方案采用處理器作為控制核心,構(gòu)建指紋識(shí)別算法的嵌入式系統(tǒng)的設(shè)計(jì)方法及過(guò)程。該系統(tǒng)采用光學(xué)指紋傳感器(內(nèi)建格科微電子有限公司的光學(xué)GC0307 CMOS圖像采集芯片)與 Cortex M3內(nèi)核的意法半導(dǎo)體公司32位高性能單片機(jī)STM32F205RE組成功能主體,采用Sobel邊緣檢測(cè)算子、Gabor濾波、圖像二值化等圖像采集與處理算法對(duì)指紋圖像進(jìn)行識(shí)別。經(jīng)過(guò)反復(fù)實(shí)踐證明,該方案適合嵌入式組件開(kāi)發(fā)中需要進(jìn)行生物指紋特征提取、識(shí)別,指紋身份認(rèn)證、比對(duì)等場(chǎng)合。系統(tǒng)具有高性價(jià)比且交互簡(jiǎn)易、識(shí)別率高、擴(kuò)展性強(qiáng),便于嵌入式應(yīng)用。

          0引言

          隨著電子信息技術(shù)應(yīng)用面日益拓展,不少場(chǎng)合需要對(duì)特定用戶群體進(jìn)行身份識(shí)別或身份記錄,如門(mén)禁系統(tǒng)、考勤系統(tǒng)、安全認(rèn)證系統(tǒng)等,在各種系統(tǒng)中運(yùn)用的技術(shù)形式多樣,如視網(wǎng)膜識(shí)別、面相識(shí)別、指紋識(shí)別、RFID射頻識(shí)別應(yīng)用等。其中,生物特征識(shí)別方式以其方便性強(qiáng)、安全性高等特點(diǎn)得到了越來(lái)越多人的認(rèn)可和接受,特別是指紋識(shí)別技術(shù)方式,現(xiàn)已發(fā)展成為應(yīng)用最廣泛的生物識(shí)別技術(shù)之一。因此,研究基于嵌入式架構(gòu)的指紋識(shí)別系統(tǒng)具有現(xiàn)實(shí)意義和廣闊的應(yīng)用前景。

          1系統(tǒng)整體結(jié)構(gòu)

          系統(tǒng)采用光學(xué)指紋傳感器(內(nèi)建格科微電子有限公司的光學(xué)GC0307 CMOS圖像采集芯片)與ARM Cortex M3內(nèi)核意法半導(dǎo)體公司的32位高性能單片機(jī)STM32F205RE組成功能主體,采用Sobel邊緣檢測(cè)算子、Gabor濾波、圖像二值化等圖像采集與處理算法對(duì)指紋圖像進(jìn)行識(shí)別,構(gòu)建了小體積的嵌入式指紋識(shí)別模塊,具有積木式嵌入、微功耗、程序接口簡(jiǎn)單易用、便于二次開(kāi)發(fā)、識(shí)別準(zhǔn)確度高、高性價(jià)比等特點(diǎn)。

          2系統(tǒng)硬件電路設(shè)計(jì)

          整個(gè)系統(tǒng)設(shè)計(jì)構(gòu)成了一體化模塊。模塊設(shè)計(jì)采用光學(xué)暗背景成像原理,加入特有活體檢測(cè)芯片,在解決干手指效應(yīng)的同時(shí)解決殘留指紋誤識(shí)別、橡膠假指紋等問(wèn)題。

          圖1所示為格科微電子有限公司的光學(xué)GC0307 CMOS圖像采集芯片應(yīng)用電路原理圖。該款CMOS圖像采集芯片是高精度、低功耗、微體積的高性能相機(jī)的內(nèi)置式組件,它把實(shí)現(xiàn)優(yōu)質(zhì)VGA影像的CMOS影像傳感器與高度集成的影像處理器、嵌入式電源和高質(zhì)量的透鏡組結(jié)合在一起,輸出JPEG圖像或圖像視頻流,支持8/10位數(shù)字傳輸JPEG圖像和YCbCr接口,提供了完整的影像解決方案。



          圖1 GC0307 CMOS圖像采集芯片電路原理圖


          CMOS圖像采集芯功能輸出串行數(shù)據(jù)引腳、時(shí)鐘信號(hào)引腳、復(fù)位引腳、串行總線引腳等都接入到STM32F205RE的GPIO口,通過(guò)GPIO口模擬時(shí)序讀取CMOS芯片采集到的圖像信息。由于STM32F205RE的GPIO口工作頻率可達(dá)120 MHz,因而可以非常準(zhǔn)確高效地模擬時(shí)序,實(shí)測(cè)640×480的原始圖像能以10幀/s的速度采集到主處理器STM32F205RE中進(jìn)行。

          3系統(tǒng)軟件功能設(shè)計(jì)

          本系統(tǒng)的指紋圖像采集過(guò)程如圖2所示。系統(tǒng)軟件設(shè)計(jì)部分則針對(duì)畸變糾正采用了四點(diǎn)轉(zhuǎn)正算法。



          圖2 指紋圖像的采集過(guò)程




          通過(guò)公式(1)和公式(2)可以得到從(x,y)到(u,v)的變換,其中,A ~ H由光路決定,可以由具體測(cè)定數(shù)據(jù)最終確定,通過(guò)實(shí)測(cè)可以獲得原始數(shù)據(jù)。圖3所示展示了原始圖像和畸變糾正前后圖像的效果差異。通過(guò)變換可見(jiàn),畸變糾正后的圖像通過(guò)變換可達(dá)500 DPI分辨率,為后續(xù)獲得高質(zhì)量數(shù)據(jù)奠定了基礎(chǔ)條件。



          圖3 畸變糾正前后的圖像


          然后送入算法處理。由于嵌入式系統(tǒng)的算法必須運(yùn)算量小、占用RAM存儲(chǔ)器空間小,才能在運(yùn)算性能有限的單片機(jī)系統(tǒng)中運(yùn)行,故而本系統(tǒng)通過(guò)小塊方向替代點(diǎn)方向,減小RAM占用。

          在圖像增強(qiáng)方面,可以將圖像以L為長(zhǎng)寬劃分為小塊,再按如下公式求取每一塊的均方差:



          根據(jù)實(shí)驗(yàn)數(shù)據(jù)測(cè)定和分析,當(dāng)Aver>36時(shí),可認(rèn)為該區(qū)域內(nèi)有圖像,否則認(rèn)為是背景。利用均方差區(qū)分出了前后景,還可以據(jù)此判斷圖像的對(duì)比度。根據(jù)對(duì)比度的差異分別來(lái)增強(qiáng)圖像,可以使得不同曝光亮度的圖像得到一致增強(qiáng)。對(duì)原始圖像進(jìn)行了算法處理,提取處理前后效果進(jìn)行比對(duì),具體效果如圖4所示。



          圖4 圖像增強(qiáng)前后的變化


          軟件算法中對(duì)于指紋處理中的求取圖像方向場(chǎng)問(wèn)題,采用了基于原改進(jìn)后的。

          如下:

          改進(jìn)后的Sobel算子為:

          改進(jìn)的Sobel算子能增加方向場(chǎng)的準(zhǔn)確性,實(shí)測(cè)通過(guò)率從采用標(biāo)準(zhǔn)Sobel算子的93.3%提高到95.8%.圖5所示為其變化情況。



          圖5 Sobel算子改進(jìn)前后的效果變化


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();