DSP指紋識別裝置算法實現研究_第1頁
DSP指紋識別裝置算法實現研究_第2頁
DSP指紋識別裝置算法實現研究_第3頁
DSP指紋識別裝置算法實現研究_第4頁
DSP指紋識別裝置算法實現研究_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽工業大學碩士學位論文dsp指紋識別裝置算法實現研究姓名:張永輝申請學位級別:碩士專業:檢測技術與自動化裝置指導教師:苑瑋琦20070608獨創性說明本人鄭重聲明:所呈交的論文是我個人在導師指導下進行的研究工 作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝的地方 外,論文中不包含其他人已經發表或撰寫的研究成果,也不包含為獲得 沈陽工業大學或其他教育機構的學位或證書所使用過的材料。與我一同 工作的同志對本研究所做的任何貢獻均己在論文中做了明確的說明并表 示了謝意。簽名:日期:幽:!:芒關于論文使用授權的說明本人完全了解沈陽工業大學有關保留、使用學位論文的規定,即:學校有權保留送交論文

2、的復印件,允許論文被查閱和借閱;學校可以公布論文的全部或部分內容,可以采用影印、縮印或其他復制手段保存論 文。(保密的論文在解密后應遵循此規定)簽名:導師簽名:弛聾鶴日期:五理>:!:壁沈陽i:業人學碩士學位論文1緒論1. 1課題來源木課題為自選課題,課題題目為:d s p指紋識別裝黃算法實現研究。1 . 2課題研究目的設計一個指紋識別模塊,并能在此指紋識別模塊中高效率的實現指紋算法。我們可以借助所設計的模塊應川到很多的需要身份驗證的場合,對人物對像進行身份驗證。13指紋識別的現實意義對身份的認證基本上在所有的場合都是必不可少的,而且在很多的情況下人們都必 須要借助自己的身份信息才能完成

3、一些工作。當今的社會已經被廣泛地定義為信息社會,各種事物都被定義成信息,而我們的身份證明也是一種信息。在人多數情況下,我 們要利川我們的身份信息與外界交流;而外界則利川這種信息來對我們進行身份核實, 例如我們辦理身份證(用自己的照片),在網上中請電子郵箱,去銀行存款或取款(用 帳號和密碼)等。外界之所以能利用我們的身份信息來確定我們的身份,主要是因為這些信息在很人程度上具有唯一性。當然如果一種信息失去了這種唯一性,它就不再可能被用作為身份的驗證信息。隨著信息的發展及科技的普及,一些原有的技術逐漸被個人所掌握,所以建立在原有技術z上的傳統的身份驗證方法受到證件偽造和密碼被盜等的嚴巫威脅,而使其原

4、有的身份信息的唯一性得不到保障。啟發于人的身體特征具有不可復制,具有絕對唯一性的特點,人們開始把目光轉向 了生物識別技術。人類的身體上有很多特征可川以區別自身與其他人,女th人臉,虹膜, 指紋,掌紋等等。其中,人臉識別是我門人類用以識別出其他人身份的最常見的手段。但是,對于自動系統的應川來說,由于人臉的相似性和可化妝,因而最常見的計算機識 別方式是指紋識別。生物識別技術【卜4 1是利用人體生物特征進行身份認證的一種技術,生物特征是唯一的、可以測量或可口動識別和驗證的牛理特性或行為方式。牛物識別系統對生物特征進行取樣,提取其唯一的特征并且轉化成數字代碼,并將這些代碼組成特征模板。人們用 識別系統

5、進行身份認證時,識別系統獲取其特征并與數據庫中的特征模板進行比對,以 確定是否匹配,從而決定接受或拒絕該人。用丁生物識別的牛理特征有虹膜、面容、指紋等,行為特征有簽字、聲音等。基于 這些特征,人們開發了虹膜識別、面部識別、指紋識別、簽名識別、發音識別等多種生 物識別技術。指紋識別技術己經有很長的歷史了,通過分析指紋的局部特征如脊、谷、終點、分叉點等,可以從中抽取詳盡的特征點,從而可靠地確認個人身份。指紋識別的優點是指 紋為人體獨一無二的特征,它們的復雜度可以提供用于鑒別的足夠特征。進行指紋識別 時,用戶只需將手指與采集儀接觸即可,使用非常的方便。指紋識別的缺點是某些人的 指紋特征很少難以識別。

6、相對丁 其它牛物識別認證技術而言,自動指紋識別是一種更為理想的身份確認技術,因為指紋相對于其它幾種生物特征具有以下一些獨特的性質:(1)互異性;世界上兩個指紋完全相同的概率小于1 0 9,兒乎為零。(2 )不變性;人的指紋特征不隨年齡的增長和胖瘦或其他情況的改變而改變。(3 )具有和主體永不分離性;這樣對主體身份的識別更具真實性。(4 )指紋的使用比起具它證卡來說更快捷、安全準確、無干擾,可實現快速登錄注 冊。(5 ) 一個人的十指指紋皆不相同,這樣可以方便地利用多個指紋構成多垂口令,提 高系統的安全性。(6)指紋識別中使用的模板并非最初的指紋圖,而是由指紋圖中提取的關鍵特征, 這樣使系統對模

7、板庫的存儲量較小。另外,對輸入的指紋圖提取關鍵特征后,可以人人 減少網絡傳輸的負擔,便于實現異地確認,支持計算機的網絡功能。1 . 4指紋識別的發展歷程及研究現狀利用指紋進行身份認證已有很長一段歷史了。考古證實,公元前7 0 0 0年到公元前6 0 0 0年,指紋作為身份鑒別已在古中國和古敘利亞使用。從那時出十的粘土陶器上留有 的陶藝匠人的指紋,紙稿上印有的起草者的人拇指指紋,古城市的房屋留下的磚匠一對沈陽i:業人學碩十學位論文人拇指指紋的卬記中可以看出,指紋認證已被應用丁當時社會的許多領域里。早在18 8 0 年英國人亨利.福茲就提出了用指紋識別系統識別罪犯。1 9世紀末到2 0世紀初,阿根

8、廷、 蘇格蘭等國相繼將指紋識別技術應用于罪犯鑒別。到2 0世紀7 0年代,由于計算機的廣 泛應用以及模式識別理論和微電子技術的快速發展會社推出出入口指紋識別器;在英國 政府的重耍部門,指紋識別儀已被廣泛釆用;在澳人利亞,指紋識別儀己被廣泛用在atm 機上;在美國,除軍事設施外說角大樓、政府實驗室、銀行、監獄和商業部門也廣泛使 用了口動指紋識別系統;1 9 9 6年在美國亞特蘭大舉辦的第2 6屆奧運會上已廣泛釆用了 指紋自動識別系統。進入9 0年代,我國指紋識別系統開始迅速發展,深圳攀登電子有 限公司研制了活體指紋身份識別系統;深圳紅光奧康光電有限公司推出自動指紋識別監 控器;西安交大、清華大學

9、、北京大學等也推出了各自的指紋自動識別系統;北京大學 與上海、珠海公安局合作建立了大容量指紋自動識別系統。國內有上百家從事指紋識別 技術應用的金業多以代理國外產品為主,但擁有自主知識產權的核心技術并不多。近年來,有關指紋自動識別技術的研究已成為模式識別、圖像處理以及在計算機視 覺等領域中廣泛關注的熱點。目前,世界各國都在研究和開發各種指紋自動識別系統。與此同時,隨著指紋口動識別技術的不斷發展和成熟,以其高度的精確性應用到有關個 人身份認證的各個領域。不僅用它可以開發出帶有身份識別和防偽的很多產品,如指紋 身份證、畢業證、準考證、獻血證、社會保障卡、銀行儲值卡等,另外還可以用于需要 身份識別和加

10、密的設備,如手機、碩盤、門禁系統和登錄較保密的網絡系統等。目前的指紋自動識別系統是采川先進的光電識別辦法采集一個指紋信息,并把它變 成可以和己由計算機處理過的喑碼相比對的代碼。這些代碼都經過加密處理,然后經獨 特的相關算法進行識別判斷,在算法上有的采川是一個指紋的全部圖案,而有的是指紋 的特殊細節。隨著i c產業的發展,指紋自動識別系統逐漸脫離計算機朝靈活性、方便性、實時性等方向發展。特別值得提出的是,dsp在作為指紋識別的核心方面得到了廣泛的應用。可以這么說,基木上所有的脫機指紋識別系統的cpu都是用d s p來做的。而其中在d s p 的選擇上,美國的徳州儀器公司(t t )所產的d s

11、p在世界范圍內得到最為廣泛的應用。隨著越來越多的指紋識別產品的開發生產,指紋識別技術的應用己不在局限于公安、金融、證券、保險等領域。它已經開始進入民用市場并且發展迅猛,這一技術的普及已 經指口可待,人們開始研究使用計算機進行指紋的自動識別。目前世界各國那在爭先研 究和開發實用指紋識別系統。到2 0世紀7 0年代末,一些實用系統己經出現。據報到:7 0年代末加拿大警方首次應用激光進行指紋檢驗;日木立石電機公司8 0年代研制出了指紋核對機;美國人福勒8 0年代設計出了電子指紋檢驗系統;日本nec在1 9 8 2年首次向警方提供口動指紋識別系統(af i s);比利時刑爭鑒定局在1 9 9 0年開始

12、使用af i s; 瑞士一公司研制成功指紋碼智能卡。15目前存在的問題上屆同學的研究存在的問題主要有以下兒點:(1 )外擴空間分配不合理,造成了空間的浪費。(2 )缺少圖彖質量評估算法,當指紋圖象較差時,無法拒絕注冊和給予提示。(3)預處理效果欠佳,給后續的特征點提取帶來干擾。(4 )預處理時間太長,超過了 5 s。(5 )匹配算法時間復雜度高,不適合低端微處理器系統。16課題研究設想和預期目標在上屆同學的基礎上,要完成以下幾個方而工作:(1)通過合理分配來減少外擴空間。(2 )加入圖象質量評估算法。(3 )改進欲處理算法,改善預處理效果,使特征點能夠準確提取。(4 )優化算法,縮短預處理時間

13、。(5 )改進匹呢算法,提高識別率。沈陽【:業大學碩十學位論文2系統整體設計方案從工作方式角度而言,自動指紋識別系統可以分成兩類:一類是用專門的硬件設備來釆集指紋圖像,然后將釆集到的圖像傳送給上位機,通過上位機強人的運算能力和海 量的指紋特征庫,來實現指紋的識別。典型的應川是在銀行儲蓄系統和公安機關案例分 析屮。另一類是將指紋的采集與識別在一個脫機系統屮完成,通常這類系統是川dsp這 類具有高速運算能力的器件來構建的。這類系統大多應用在民用系統中如:考勤系統, 指紋門禁等。本系統使用dsp作為核心器件,一方面是因為dsp的工作頻率、穩定性和 功耗性能等方面耍比單片機好的多,由它所搭建的硬件系統

14、更能滿足應用的耍求;另一 方面當將指紋識別算法嵌/ x. nd s p中后,就可以實現脫機系統從而應用在更為廣闊的民 用系統中。2. 1工作流程木系統的工作流程如圖2 . 1所示。指紋按在取指儀上后,取指儀開始對指紋圖像進行釆集;同時通知dsp,讓dsp通過其低八位數據線將取指儀采集進來的指紋圖像讀入 其數據ram中;然后在d s p中調用flashro 1 d中已經編制且被固化好的指紋識別程序對 采入的指紋的特征點信息與原有的源指紋信息進行比對,如果采集進來的指紋圖像特征 與原有的源指紋特征完全相同或非常相似,就判斷為采集進來的指紋與原有的源指紋屬 丁同一指紋,即兩個指紋匹配;反之,則判斷為

15、兩個指紋不匹配(可以在指紋識別裝置 上設置報警裝置,在兩指紋不匹配時啟動報警)。另外,為了在對系統調試時能同時通 過計算機屏幕監測d s p運行程序的每一階段對數據處理的悄況,需耍在裝置上設計出與 計算機通信的接口。出丁對簡化系統設計難度的考慮,木人利用串口芯片將ds p的八位 并行口改造成能lpc機通信的出口。經過最后的系統的軟碩件調試證明,在碩件上: 指紋芯片丁作良好,能采集到清晰且脊谷分明的指紋圖像;d s p能正常少外|韋i通信;d s p 與pc機串口能正常通信。在軟件上:經過對程序的改編以及對算法的改進,能實現圖 像采集、圖像預處理、指紋特征提取、指紋特征匹配。系統的硬件結構f 5

16、 4 1框圖如圖2. 2所示。圖2 1系統的工作流程圖fig 2. lsystcmworkingflowchbft沈陽:【業人學碩十學位論文圖2. 2硬件系統框圖fig 2. 2sy s t emha rdwa redi a g ram2 2指紋識別算法流程由于指紋采集設備本身會給指紋圖像帶來一些噪聲,指紋本身有可能被污染,太干 或太濕,也會給指紋圖像帶來噪聲。為了保證后續處理特征提取的可靠性,必須對獲取 的指紋圖像進行預處理,以減少噪聲或其他干擾,圖像預處理的質量決定了后續處理的 魯棒性。圖像預處理有以f兒個步驟:圖像的分割,圖像的增強,圖像的二值化,圖像細化以及細化后處理。各部分處理效果如

17、圖2. 3。(1)去毛孔噪聲:由于傳感器的精度很高,在采集指紋時也會采集到紋線上的毛孔。如杲不先將毛孔噪聲去除,細化z后會出現大量的小圈,影響特征點提取。所以第一步 就是要去除毛孔噪聲。本文使用的是用4方向的5*5大小的模板對圖像平滑來去除毛孔 噪聲。(2 )指紋增強:細節特征提取算法的性能在很大程度上要依賴丁指紋圖像的質量。在理想的指紋圖像中,從細化圖像中叮以比較容易地檢測到紋線,特征點可以精確的定 位。然而,在實際應用中,由丁釆集條件和采集設備的因素,釆集到的指紋圖像有不少 是質量比較差的。所以,為了確保細節特征提取算法的性能對指紋圖像的質量具有足夠 的魯棒性,研究指紋增強算法是i分必要的

18、。指紋增強技術的實質是提高圖像紋線結構的清晰程度。本文所使用的魁基于方向圖的空域增強算法。(3)圖像二值化:二值化的目的是把灰度指紋圖像變成0. 1取值的二值圖像。對一 幅圖像進行二值化,傳統的方法是采用閡值法。閾值法乂分為固定閡值法和浮動閾值法。很明顯,由丁不同圖像的灰度差異變化很人,甚至同一指紋圖像的不同區域深淺不一, 如杲對整幅圖像使用同一個閾值去分割,會造成大量有用信息的丟失,在實際應用中是 行不通的。因此,要將整幅指紋圖像分塊,結合各塊圖像的白身特點,為每塊圖像選取 不同的閾值,分別進行分割處理。這就是局部閡值選取的概念。典型的算法有區域中值、 區域均值和口適應局部閡值二值化算法,其

19、中口適應局部閾值二值化算法被廣泛接受。 該算法的核心思想是:對每塊圖像,選取的閾值應盡量使該塊圖像內人丁該閾值的像素 點數和小于該閾值的像素點數相等,而這一思想和指紋圖像脊線、谷線間隔均勻出現的 征正好吻合。(4)圖像的細化:圖像細化在口動指紋識別技術中繪圖像預處理的一個基木環節。 圖像細化操作應該在經過閥值分割后的二值圖像上進彳亍。一幅二值圖像的細化結果往往 被稱為“骨架對圖像進行細化處理的主要日的是為后繼的后處理算法和細節特征提取算法做準備。在口動指紋識別技術中,一般要求細化后的圖像必須是單像素寬的,而 凡細化總體效果一定要好,否則將無法使用常規的特征提取算法提取細節特征信息。所 以,深入

20、研究指紋圖像的細化算法對口動指紋識別技術是很有意義的。盡管細化的概念沒有精確的數學定義,人們通常認為細化處理是在不影響紋線連通 性的基礎上刪除紋線上的兀余信息直到紋線為單像素寬為止。理想狀態時,細化斤的紋 線“骨架”應該是保留的原始紋線的中間位置。對丁圖像細化問題,一般來講并沒有嚴 格的規則和統一的標準,細化結果的評價只是根據具體的需要而定。只要細化結果能夠 滿足應用需耍,就認為細化操作是成功的。但圖像細化操作也有一些基木的準則,好的 細化算法應該保持原有圖像的拓撲結構、形狀和連通性。具體地講,好的細化算法應該 具有以f特性:1 )細化結杲應保持原圖像的基本結構特性;2)細化后的骨架應該盡量

21、是原目標的中心線;3)要保持目標與背景的連通性,細化操作不能破壞目標與背景各 自的連通性;4)細化后的結果圖像最好是單像素寬的:5)對邊緣上小的毛刺或鋼齒狀 的噪聲不敏感;6 )對像素點的刪除,最好是對稱進行,以避免在某方向上引起偏差。沈陽i:業人學碩士學位論文(5 )細化厲處理:細化厲的指紋圖像總會存在一些不應有的毛刺、小孔,相鄰的兩 條紋線間產生的粘連,這些情況都會造成偽特征點的出現,嚴重影響口動指紋識別結果 的可靠性。所以,在進行指紋細節特征提取z前,必須對細化指紋圖像進行修復處理, 稱為細化圖像后處理。本文主要采用紋線跟蹤法來去除毛刺和小孔。d)b)c)e)圖2. 3指紋處理流程圖fi

22、g 2. 3finge rpf improcessflowchaa )原圖像”去毛噪聲c )平滑a ) fi ngc rpf imlmagcb) clcanporcnoimc) smoothd )銳化二值化e )細化f)特征點提取和去偽msha rpandbina rycol orcltl 1 inf) e ) ( t ractfcaturcandel i m i n a t e f a 1 s e2. 3系統設計和優化要點在本系統設計中的主要設計要點為:(1)指紋圖像采集設備(即取指儀)的選取。正如前而所敘述的那樣這是一個很關鍵的步驟,以后所有的硬件和軟件都要為所采集到的指紋圖像所服務。如果

23、采集設備不理想,因而采集到的指紋圖像也不理想,則將給后續的設計(包括碩件利軟件)帶來很大的不便,從而增加系統的設計難度。因此對目前市場上所存在的取指設備進行充分的了 解和對不同的設備z間進行優劣比較是相當必要的。在通過對日前存在的取指儀充分分析后,本人采用富士通公司生產的性能優異的壓敏式指紋芯片mbf 2 0 0 o(2 ) cpu的選擇上,應當選取運算速度快、存儲空間較大r價格適度(考慮到成本問題)的芯片。因為通常要求釆集的指紋圖像應達到2 5 6 x 2 5 6: 6 4 k字節人小,所以耍求處理器應具有較大空間的尋址能力;同時因為本系統要求具有實時處理的能力,則這乂要求處理器要具有很快的

24、運算速度。dsp (數字信號處理器)正是能很好地滿足所系統所提出要求。正是因為其具有其它處理器所達不到的快速運算的能力,d s p逐漸被廣泛地應用到各種耍求實時處理的場合當中9 14。其中美國的t i公司是研制生產d s p芯片公司的權威之一。它生產的d s p品質優越、性能穩定,受到廣大消費者的好評,得到的應用也最廣泛;絲毫不夸張地說,ti公司生產的d s p已經成為了 dsp的代名詞。故本人在系統硬件設計中選擇了t t公司的型號為tms 3 2 0 vc 5 4 0 2的d s p處理器。(3)flashrom的程序燒寫及d s p的bo o t l o a d e r o眾所周知,通用單

25、片機的程序是通過把單片機放入專用的燒寫器中將程序燒入其中的e e prom中,然后將單片機裝入功能版上工作。d s p增加了軟件下載的靈活性,將e e p rom放到片外。d s p內部的rom中固化了一個稱為e o o t的程序,在d s p上電硬復位后(mp / mc = o) , dsp自動執行這個b o o t程序,將 外部flash的程序讀入d s p內部的高速ram程序區中。所以,所謂的bo otloader就是dsp 上電后口動將固化在flash中程序讀入至u d s p的片上ram或片外ram影射成的存儲區問的 一個過程。對flash rom (木系統中擬用s s t公司的s

26、s t 3 9 vf 4 0 0芯片)的擦除和燒寫都耍 遵循嚴格的控制字來進行的,同時還要滿足flash芯片的時序要求,只有這樣才能完成對flash芯片的操作。(4)系統存儲空間的分配。指紋圖像的采集以及在后續的算法處理過程中(例如對預處理的結杲的保附及特征提取)需要開辟兒倍于指紋原圖像的存儲空間。任何脫機系 統的存儲空間還是相當有限的,特別是相對于圖像數據采集處理(算法不一定會占很大 的空間,主要是數據的保昭需要相當大的存儲空間)。由于d s p所能尋址的空間相對(例 如相對tpc機)有限,所以在設計及調試過程中,對tds p所能尋址的數據空i、日j進行有效分配是很必要且璽要的一步。沈陽丁業

27、大學碩士學位論文(5 )程序的移植及優化。由于原始程序是在p c機上基于v c +環境編制的,當在p c機 上調試通過且達到期望的識別效果后再將其移植到d s p中。應用于d s p的編譯壞境c c s具 有一些特殊應用規則具有特殊的庫函數。另外由于指紋識別算法對于時間的嚴格要 求,這乂耍求設計者必須將算法進行優化,盡量減少算法中的沉兀環節,捉高算法的執 行效率,達到系統所要求的實時性。2 . 3本章小結本章小結:木章闡述了系統的構成、設計要點、系統工作流程,后面的工作主耍是 圍繞這幾個問題來進行詳細論述的。3數據空間優化設計與實現v c 5 4 0 2系列d s p的數據空問64kwfl 5

28、-20 1,對于處理256*256, 6 4 k大小指紋遠 遠不夠,要用6 4 kw的尋址能力來實現對2 5 6 kw空間的尋址,這就需要采取有效可行的方法。上屆同學提出了一種用hp i 口做地址線的數據空間分頁尋址的方法。將sram的16根數據線與dsp對應的16根數據線直接相連;sram的低16位地址ao a 1 5與ds p對應的地址線連接,而將ds p的hp i 口通過將hp i ena接地設置成為通用i / o 口,將ii d 0 hd 1通過寄存器g p i o c r編程設置成輸出從而作為s ram的a 1 6 -a 1 7的地址發生信號。這樣在算法程序運行當中,實時根據需要改變

29、ii d 0-iid 1的狀態來滿足數據尋址的要求。d s p和sram的連接方法如圖5. 1所示。很顯然按照這樣對數據空間的擴展方法,因為在實際尋址過程當中對丁高1 9 2 k(0xffff0xfffff)范圍的地址的尋址是不能直接找到的,需要人為地控制h d 0-hd 1來參尋址 2 1 2 s oh d”h d 1、/ * 濰m/am 1m礎腳y 2 5讎w / r s r枷,/ l_ do q ) 1 5 / d o d 1 5圖3. 1 d s p與sra m連接簡圖f i g 3. ldspandsr am connect iondiagpam在實際對外擴空間操作時,還遇到了以下問

30、題:如何定義一個全局變量并將其分配在外部空間;如何合理編寫空間配置文件即.cmd文件等。下曲便對這些問題做詳細的補 充說叨。沈陽j:業人學碩十學位論文31對擴展空間的尋址實現除了以上所提的z外,地址可以根據算法的要求靈活調整。例如在本文中,若要尋fjf: 0 x 1 8 0 0 0單元,可設置h d 1 h d 0為:0 1,地址為:0 x 8 0 0 0 ;但是為了更好理解,也可以這樣做:設置hd i -hdo為:0 1 ,地址為:0 x 1 8 0 0 0 (最前面的1不起作用,這樣做的 目的是為了更直觀)。在對d s p程序進行調試中,設計者一般都是通過調試環境c c s來查看寄存器或數

31、據ram中的數據的。對丁數據空間來說,因為tms320vc5402只有6 4 kw的尋址能力,所以在ccs中只能看到6 4 kw的范圍。但只要清楚ccs提取數據ram (包括內部和外擴的)的原理,設計者就能通過其查看遠遠超過64kw的范圍。ccs對ram的數據的提取同樣是通過ds p對ram的尋址來實現的,然后再通過ds p將數據通過仿真口上傳給pc機的。在本系統中,編制以卜程序:口木出半設leul6)gplocr=0x07: / / 將hd 1 h d 0 設置成輸1 e u 1 6術)gpiosr = oxoi: / /將hdihdo (高位地址線)的輸出值成:0x01for (1=0:1

32、 < 1 0 0 ;i + + )書(i n t ¥) (0x8000+i)=0 x a a a a ;)木(v olatileul6 木)gpiosr= 0x02for ( i = 0 : i < 1 0 0 :i + + )傳(int 木)(0x8000 + i)=0xb b b b;)/ /將口 0x18 0 0 0后的1 0 0中的數都設為:0 x a a 從/ /將hd 1 hd 0 (高位地址線)的輸出值設置成:0x02/ /將口 0x28 0 0 0后的1 0 0中的數都設為:0 x b b b b木(v olati leul6¥)gpiosr =

33、0x02:將程序編譯、裝載、執行后,通過c c s查看0 x 8 0 0 0,便可看到:口 0 x 8 0 0 0起1 0 0個地址單元中的數據都為0 x b b b b。但是,如果將以上程序雖后一彳亍的0x02改為0x01,執行程序后再來查看0x8 0 0 0,這時候1 0 0個數據則為0 x a a a a。 顯然,設計者雖然只能直接看到6 4 k地址單元的范圍,但照以上的原理,則能間接觀察到更大的地址范圍。這種對d s p數據空間尋址范圍的擴展的方法的原理類似t ds p對程序空間尋址的原理;對iid 1 hdo的狀態的改變,相當丁程序空間中的頁碼的改變。而對于在木文的低1 6 k地址也

34、與程序空間的低1 6k樣是公共空問,不同頁面間的數據交互是利用此公共空間來進行的。系統的算法是用c語言編制的,在d s p編譯環境下,c語言對涉及地址的操作分為兩種方法【2 6 3 0 1 :方法一,直接尋址法,例如要往地址o x 4 0 0 0處寫數據o x 0 0 0 0,方法為:豐(int) (0x4000)=0x0000:方法二:數據指針尋址法,利用偽指令# pragmadata s e c t i on把變量分配在口定義的數據空間地址段中,例:#pragmadat a_s ect ion (image, i m ag e”)int image 128x128: / / 1 6 k 字

35、然后在系統呢置文件中,寫命令:.image: ox8000pagel (已經把數據空間命名為:p ag e 1 )這樣就把1 6 k數組變量分配在了從o x 8 0 0 0開始人小為1 6 k的單元中。如果耍往image i 單元中寫數0 x 0 0 0 0 ,程序命令為:image i=oxoooo:(或十(image + i)=oxoooo)(這跟定義了一個扌旨針一樣)對于總是涉及到變量操作的c語言,用上述的方法二進行尋址,是相當方便fl直觀的。但乂因為vc 5 4 0 2的尋址能力是6 4 k, #pragmadatasecti on偽指令僅對于本系統 的低6 4 k字有效。通過實驗,本

36、文找到了利用偽指令# pragma datas ect i 0n將數組分 配進高1 9 2 k字空間的方法。通過實驗得知:# pragmadat a s ection (image, i m ag e”)i n t image 1 28x1 28: image: oxsooopagel與以f命令行:¥t pragmadat a s ection(figure,v. f i gu r e ”)沈陽f:業大學碩士學位論文i n t f i g u r e 1 2 8 x 1 2 8 ;.figure: oxlsooopage1它們作用是一樣的:數組都指向0 x 8 0 0 0單元。如果要

37、將f i g u r e數組指向0 x 1 8 0 0 0單元,只需要保留上述的偽指令說明,在程序 尋址figure的時候,將ii d 1 h d 0設置為:0x01即可實現。例,往f i g u r e i 單元中寫 數據0 x 0 0 0 0的程序命令為:幸(v olatileint 女)gpiosr = ox01: / /hd 卜ii do 設置為:0x01figure i = 0 x 0 00 0 ;此外還有一點應該特別值得注意:dsp在尋址內部低端的數據ram的時候,外部地址線里高阻狀態;在vc 5 4 0 2內部有占據低端1 6 kw (0x0000 -0 x3fff)地址的dra

38、m,所 以如果對外部擴展的s ram尋址的低位的地址值在0 x 0 0 0 0 -0 x 3 f f f之間,例:0 x 1 2 0 0 0 (設 置hd 1 - hdo為:0 10)。尋址將達不到實際目的的,此時相當丁尋址o x 2 0 0 0單元。故在 程序編寫過程中一定要注意這個問題。以上所論述的擴展方法應用到木系統中,能完全滿足了系統所需求的人數據空間。系統的配簧文件.cmd的編寫如下:m s y s t e mrr)8p/ /生成空間分配農-stack0x0300/設置堆棧大小memoryp a g e 0 :prog:0r i> *1 g 1i n = ox0 100 ,1

39、e n g th=0 x2a 0 0v e c s :0r i:g ii n = 0x0080 ,1cngth=0x00 8 0p ag e 1 :data:0r ig ii n = 0x2b00 ,1cngth=0xd5 0 0)sections >progpageop 1 n 1 tvectorsstackconstb s sb 1 o c k 1> progpageo> v e c s p ageoqdatapage 1n >datapage 1n>datapage 1n >datapage 1 d i r e c i i o n_a r r a y

40、temp i e m p 2 bifdistantold bifdislanln > datapage 1n > datapage 1> datapage 1> datapage 1nf datapage 1/存放方向塊數據/存放每個小塊的方向值7伸闔結果/中間結果/以下為特征信息 ) >datapage 1e >d at ap ag e 1antold()>datapagelt a n t ) >datapag e 1end a ng i e 一 o i d ) >datapa g e 1 end _ ang i e > d ata

41、pa g e iimage: oxsooopagel/存放釆集圖像tempi: 0 x c 0 0 0 p age1/存放中間結果(c 5 4 1 0除外)。所以無論對程序對于5 4系列d s p, mc b s p 口也可被設置成g p i 0口尋址空間還對數據空間的擴展都可以借用h p i和mcbsp口,這將大大滿足設計中對數據以及程序尋址空間的需求。同時還可以不必因為cpu的尋址能力問題而選擇尋址能力強 但成本高的d s p,這樣又節省了系統的成本。在配置.cmd文件時應該注意盡量將常用數組放在片上1 6k空間,因為片上數據ram為雙存取ram,速度較外擴ram耍快一倍1 3 1_3 3

42、 1 o關于程序和常量的具體分配位置可查看空問映射表,即.map文件。沈阡11:業人學碩十學位論文32指紋圖像的分塊存儲與處理如上一節所論述的,經過數據空間擴展之后,vc 5 4 0 2的數據空間每一頁的尋址能力實際為4 8 kw。而在本系統上要求采集6 4 kw的圖像,本文對于這個問題的解決方法是對 指紋圖像進行分塊存儲和分塊處理。在本系統中擴展的2 5 6 kw的sram被分成了四頁,從指紋芯片mb f 2 0 0采集進來的指紋數據存儲在了第2頁和第3頁,每頁3 2kw。其中上半指紋存放在第2頁,下半部分指紋存放在第3頁。如圖3. 2所示。pag fa) page 1 page2page3

43、0 x 0 0 0 0 程序°x3°°°. stack b s snxsooo 處理存放存放指紋采集采集o x c 0 0 0中間特征點指紋指紋結果標志3 2 k 3 2 k圖3. 2指紋空間分配示意圖fig. 3. 2dataspaceass ignmentdi agram在進行圖像分塊處理的過程,每次搬運出1 /4塊,即1 6 k大小的指紋放到第0頁處理。由于圖像在增強過程中會損失邊界,所以在搬運每塊圖像的時候要把邊界部分預留出來,本文預附了 1 0個象素寬,如圖3. 3所示。黑框部分為實際處理的第一塊指紋,可見已經預留了邊界,而且同時也自動的去除了

44、部分背景。實現這個過程較為煩瑣,因為要分兩次從第三頁和第四頁搬運所需位置的圖像。圖3. 3指紋分塊示意圖f i g 3. 3fingerprintblockeddiagr a m處理第一個塊指紋的兩次搬運數據程序如下: (volatileul6豐)gpiosr = ox02; / /指向數據空間第2頁,即將上半個指紋存 在第2頁for ( r = 0 : r<imagehe i gh t ; r + + ) fdelay (20): / /每行采集間隔時間,參見數據手冊p 1 8。2 0f o r ( c = 0: cv2半imagewi dt h : c + + )de1ay ( 1)

45、/每個像索點釆集延時(v01 a t11e u 1 6 ) g p i 0 s r =0x02p1xe1 = p0rt o 0 01 : / /將傳感器輸出數據存放在變量p i x e 1中*(u16幸)(0x 8 0 00 + r 月:2術 i magewidth+c)=p ixe1 :(u16 )(0x 8 0 00 + r42yimagewi d t h + c) & =0x00f f;/格式化沈剛t業人學碩士學位論文*(vola ti leul6)gpiosr = ox03: / /指向數據空間第3頁,即將下半個指 紋存在笫3頁for ( r = 0 : r<imageh

46、e i g h t : r + + )delay (20)/行間隔延時for ( c = 0 : c<2imagewidt h ; c + + )delay ( 1 ) : / /像素點間隔延時半(v olat i 1 e u 1 6 木)gpiosr = 0x03;pixel=port0001:堆(u 16) (0x8000 + r2imagewid th+ c ) = p i x e 1 :半(u 16¥)(0x8000 + r*2*imagewidth + c)& =o x o o f f; / /格式化portoooo=oxoooa:port0001 = 0xo

47、003: / 1 e o點亮表示手指可以離 開。port0000 = 0xo009:port0001=0x0000: / / 關閉傳感器f o r ( r = 0 : r < 1 0 : r+ + )delay (10000); /設置燈閃爍延 時0 0 a:ooo:*(volatileul6)gpiosr = ox02; / /指向第2頁,開始從第2頁取出第一 塊指p= i ma g e: /設置圖像指針,以便用指針自加的方式傳遞數據for ( r = 1 0: r < 1 2 8 : r + + )for (c = 20: c < 1 4 8 : c + + )*(v 0

48、1at i1 eu1 6 ) gpi0sr =0x0 2p1x e1=* (u 16術)(0 x8000+ r *256 +c)術(v 01at i1 eu1 6神g pi0sr=0x00 :木(p + + ) = p i x e 1 :)木(v olatileul6)gpiosr = ox03: / /指向第3頁,取出第一塊指紋需要擴 展的邊界部分p=image + 128*l 1 8 :f o r ( r = 0 : r < 1 0 : r+ + )for (c = 20: c < 1 4 8 : c + + )(v 01ati 1e u 16術)g p i 0 s r =0x

49、0 3p1x e1*(u16)(0x8000 + r *256 +c)(v 01ati 1eu16 ¥)gpi0s r =0x00:木(p+ + ) = p i x e 1 :) (volat i leul6)gpiosr = oxoo: / /巫新指向第0頁,準備預處理第一塊 指紋這樣以來,對每個指紋的數據釆集就達到了6 4kw,分為4塊,每塊1 6 k,圖像清晰、細節特征豐富,單獨提取岀每一塊的特征點,最后再把四塊的特征點組合在一起進行匹 配識別。沈日1。【:業人學碩十學位論文33應用分時復用的方法減少外擴空間如圖3. 2所示,分配圖中有許多空白的未被使用的空間,其中特征點標記獨

50、口占據了第二頁的1 6k空間。特征點標記是用來標記該象素點是否為特征點,當該象素為特征點時,對應的特征點標記量為1,當該象素點為普通點的時,對應的特征點標記量為0。所以特征點標記要占據1 6 k的空間,但由于特征點標記是在特征提取時需要的空間,中間處理結果空間是預處理期間需耍的,所以可以讓兩者共同使用一個空間,分時復用。這樣就可以減少6 4 k的外擴空間。此外,可以將第一塊指紋圖像直接存入第0頁的待處理位置,省去從第2頁搬運的過程和占據的空間。經過優化,外擴空間可以從2 5 6 k減少到1 2 8 k。優化肩的分配示意圖如圖3.4。pageopage10x0000程序0 x 3 0 0 0.s

51、tack第二塊.b s s指紋0x8000處理第三塊指紋指紋o x c 0 0 0中間第四塊結果指紋圖3. 4指紋空間分配優化示意圖fig. 3 . 4dataspaceass igmnentopt imi za t iondi ag ram3 . 4本章小結本章小結:5 4系列的數據空間只能尋址6 4 kw,遠遠滿足不了指紋系統的數據存儲要求。對丁這個尋址瓶頸,木章具體敘述了擴展尋址和分塊的方法,并對尋址時應該注意的問題做了詳細說明,其中.cmd文件的空間配置是否正確和合理十分璽要,關鍵就足 要把常用的變量存放在片上1 6k空間,獲得較快的存取速度。分塊搬運的時候應該注意每塊須搬運兩次,口的

52、是擴展在處理中損失掉的邊界。最厲,給出了空間分配的優化設 計方案,使用分時復用的方法減少了空間的浪費。沈陽工業大學碩士學位論文4指紋圖像預處理算法優化預處理效果好壞是影響指紋匹配的最關鍵因素,本章通過加入圖象質量評估算法,提高了錄入指紋模板的質量;通過改進銳化濾波器參數布局,極大改善了銳化效果;改進去毛孔噪聲算法,加入了口動分塊和方向塊平滑算法,有效的改善了圖像預處理效果。與對丁-2 5 6 x 2 5 6大小的指紋圖像,在i oomiiz主頻下,用c語言編寫的算法求指紋方向耗時0 . 7 8 s,空間平滑和銳化耗時4 s ,細化耗時07 s的運算,基丁方向的特征點距離匹配算法耗時0 . 3

53、s ,整個算法運行時間大約6 s ,而正常指紋識別產品的指紋登記時間不超過2 s。本章從3個方面優化了算法運行速度:(1 )本文采川線性匯編和c語言混合編程的方法改寫了卷積算法,極大的提高了速度。(2)使用指針自加的方法尋址像素點。(3)在求紋線方向和特征點方向時,使用除法運算代替調用反止切函數。41圖象質量評估算法每個人的手指采集的圖象質量有很大差別,有些存在大量的斷痕,有的過于干燥,有的過于潮濕,這都會影響指紋的匹配精度。過于干燥的指紋在采集時,會出現對比不強,模糊,并且也會出現紋線斷斷續續的悄況,都會導致偽特征點的增多,影響匹配。當指紋過丁潮濕時,紋線會粘連,同樣會導致偽特征點的增多,以至最后匹配的失敗。潮濕指紋的圖象以及處理結杲如圖4 . 1所示。a ) b )圖4. 1潮濕指紋圖彖以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論