關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 證件圖像信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

證件圖像信息采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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

隨著信息技術(shù)的不斷發(fā)展,社會(huì)各項(xiàng)規(guī)章制度不斷完善,人們需要用各種各樣的證件來(lái)表征有關(guān)個(gè)人的信息。對(duì)這些證件進(jìn)行信息采集識(shí)別是必要的個(gè)人信息獲取和安全的手段,有利于相關(guān)部門(mén)對(duì)社會(huì)進(jìn)行監(jiān)管和提供服務(wù)。一個(gè)完善的證件信息采集系統(tǒng)由證件信息采集設(shè)備及相應(yīng)的配套軟件組成。采集設(shè)備通過(guò)接口與PC機(jī)連接,利用運(yùn)行在PC機(jī)上配套的軟件實(shí)現(xiàn)證件資料信息的自動(dòng)提取、錄入,并通過(guò)信息管理系統(tǒng)實(shí)現(xiàn)信息的管理與維護(hù)。它可以廣泛應(yīng)用于公安、銀行、電信、酒店、交通、證券、民政、教育、出入境等部門(mén)和行業(yè)中,節(jié)省大量的人力和物力,保障公共場(chǎng)所的安全。證件信息采集常用的技術(shù)包括光學(xué)文字識(shí)別(OCR)技術(shù)和射頻標(biāo)簽識(shí)別(RFID)技術(shù)。目前僅我國(guó)第二代居民身份證采用了RFID技術(shù),如護(hù)照、駕駛證等其他證件并沒(méi)有采用RFID技術(shù),因此證件的光學(xué)文字識(shí)別或圖像信息采集識(shí)別是通用證件信息采集系統(tǒng)不可缺少的組成部分。
一個(gè)優(yōu)秀的證件圖像信息采集系統(tǒng)(以下簡(jiǎn)稱(chēng)證件系統(tǒng))要具備較短的獲取時(shí)間、較高的信息采集準(zhǔn)確率、較高的成像質(zhì)量、較長(zhǎng)的使用壽命和人性化的系統(tǒng)與外觀設(shè)計(jì)。綜合以上因素,本文采用微距廣角鏡頭拍攝的方式對(duì)證件圖像進(jìn)行采集,在證件圖像信息采集硬件系統(tǒng)中對(duì)采集圖像進(jìn)行初步處理后,通過(guò)USB2.0這一目前獲得最廣泛使用的高速外設(shè)接口,將數(shù)據(jù)傳送至PC機(jī)上位機(jī),由主機(jī)中相關(guān)處理軟件系統(tǒng)對(duì)圖像信息進(jìn)行提取和分類(lèi)。這是一種數(shù)據(jù)采集設(shè)備與基于PC機(jī)端應(yīng)用軟件相結(jié)合的系統(tǒng)開(kāi)發(fā)模式,它能夠利用日常生活中通用PC機(jī)高速、強(qiáng)大的計(jì)算能力,對(duì)需要高算法復(fù)雜度的圖像進(jìn)行快速處理計(jì)算,為實(shí)現(xiàn)復(fù)雜的信息處理算法提供了保障,而且在響應(yīng)速度及實(shí)時(shí)性方面也能夠滿足許多應(yīng)用領(lǐng)域的要求。本證件系統(tǒng)包括硬件部分和軟件部分。鏡頭采用了焦距為1.8 mm、可視角大于140°的微距廣角鏡頭,使得證件在鏡頭前方約45 mm處可以得到完整取景,以實(shí)現(xiàn)系統(tǒng)裝置的小型化。證件系統(tǒng)的擴(kuò)展性和復(fù)用性主要表現(xiàn)在能夠識(shí)別更多類(lèi)型的證件(如身份證、護(hù)照、戶口本等)和通用性的圖像數(shù)據(jù)處理算法。針對(duì)擴(kuò)展性和復(fù)用性問(wèn)題,本文采用MVC(Model View Controller)架構(gòu)[1]設(shè)計(jì)證件系統(tǒng)軟件部分,在軟件架構(gòu)上實(shí)現(xiàn)了各模塊之間的松耦合。
1 系統(tǒng)總體框架
證件系統(tǒng)自身是一套獨(dú)立的數(shù)據(jù)采集及信息獲取系統(tǒng),由其特有硬件和軟件共同組成。硬件部分包括攝像頭模塊、數(shù)據(jù)傳輸模塊、LED燈模塊和電源供應(yīng)模塊。如果再加上第二代身份證的RFID卡射頻感應(yīng)獲取信息的功能,還有一個(gè)RFID感應(yīng)模塊。由于身份證RFID模塊的使用需要經(jīng)過(guò)公安部門(mén)的認(rèn)證,因而本文中描述的系統(tǒng)不包含RFID模塊功能的具體實(shí)現(xiàn),但是該系統(tǒng)在設(shè)計(jì)時(shí),已經(jīng)預(yù)留了相應(yīng)的接口。軟件部分主要包含運(yùn)行在PC機(jī)上的攝像頭驅(qū)動(dòng)子程序,圖像采集子程序,圖像畸變補(bǔ)償、色彩增強(qiáng)、分割等處理子程序,信息提取子程序和數(shù)據(jù)庫(kù)存儲(chǔ)、管理子程序。整個(gè)系統(tǒng)框架如圖1所示。

證件圖像信息采集設(shè)備與PC機(jī)之間通過(guò)USB2.0接口進(jìn)行通信。PC上位機(jī)運(yùn)行的應(yīng)用軟件能夠通過(guò)該接口向USB攝像頭發(fā)送控制命令,從而捕獲相應(yīng)的圖像或者視頻數(shù)據(jù)。若存在RFID感應(yīng)模塊,則感應(yīng)后的數(shù)據(jù)也通過(guò)該接口傳送到應(yīng)用程序中進(jìn)行處理。
2 系統(tǒng)硬件
證件圖像信息采集設(shè)備主要由圖像獲取模塊、傳輸接口模塊、電源模塊、LED光源模塊4部分構(gòu)成(不考慮RFID感應(yīng)模塊)。硬件框圖如圖2所示。

2.1 CMOS圖像采集模塊
采用CMOS攝像頭進(jìn)行圖像采集,圖像清晰,功耗較低。利用短焦距廣角鏡頭進(jìn)行物體成像,在擴(kuò)大視場(chǎng)的同時(shí)還能有效地減小物體與CMOS傳感器之間的距離,從而有效地減小了儀器的體積,使產(chǎn)品更為便攜,甚至可以裝配到通用PC機(jī)的機(jī)箱中。本文實(shí)現(xiàn)的系統(tǒng)中采用了焦距為1.8 mm、可視角大于140°的微距廣角鏡頭,使得證件在鏡頭前方約45 mm處可以得到完整取景。加上鏡頭高度,總厚度在60 mm左右。采用廣角鏡頭將帶來(lái)桶形失真,此問(wèn)題將在主機(jī)程序中通過(guò)軟件算法進(jìn)行補(bǔ)償,盡可能復(fù)原圖像。
2.2 傳輸接口模塊
系統(tǒng)采用480 Mb/s的USB2.0接口進(jìn)行高速傳輸。采集模塊在完成數(shù)據(jù)采集以后通過(guò)該接口可以快速地傳送到上位機(jī)中??紤]到系統(tǒng)最后還必須擴(kuò)展RFID感應(yīng)模塊,以通過(guò)感應(yīng)方式獲取第二代身份證的信息,因而同一USB接口還需要傳輸來(lái)自RFID模塊的信息。這只需要增加一個(gè)USB的Hub芯片,實(shí)現(xiàn)接口的復(fù)用功能。使用比較常見(jiàn)的GL850A[2]的USB Hub芯片即可以對(duì)兩路信號(hào)進(jìn)行選通,達(dá)到系統(tǒng)的要求。
2.3 LED光源組模塊
由于證件的圖像采集是在一個(gè)類(lèi)似于暗室的環(huán)境中進(jìn)行的,因此需要提供照明光源。LED色溫范圍比較廣,而且色溫的高低對(duì)圖像的成像質(zhì)量有著直接的影響,因而選用了方向性相對(duì)較弱、發(fā)光顏色接近白光的LED,設(shè)計(jì)了兩個(gè)LED光源組。從系統(tǒng)實(shí)際拍攝的效果來(lái)看,這種設(shè)計(jì)能夠使最終的成像不會(huì)因?yàn)楣庠吹姆较蛐詥?wèn)題而產(chǎn)生人為的亮點(diǎn),也不會(huì)因?yàn)楣庠吹纳珳剡^(guò)于偏離正常范圍而導(dǎo)致色彩過(guò)度失真。
2.4 電源模塊
該系統(tǒng)采用了一個(gè)AC-DC變換器,通過(guò)對(duì)220 V的市電進(jìn)行轉(zhuǎn)換,產(chǎn)生供應(yīng)LED光源組所需的12 V電壓。至于CMOS圖像傳感器模塊的供電,則通過(guò)USB連接線直接提供,其工作電壓為5 V。
3 系統(tǒng)軟件
3.1 系統(tǒng)軟件組成

由于絕大多數(shù)圖像數(shù)據(jù)處理要通過(guò)運(yùn)行在PC機(jī)上的配套軟件實(shí)現(xiàn),因此軟件系統(tǒng)設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)一個(gè)運(yùn)行高效、功能上易擴(kuò)展、適合Windows系統(tǒng)的軟件系統(tǒng)。本系統(tǒng)主要分為圖像采集模塊、圖像處理模塊和信息提取模塊,實(shí)現(xiàn)對(duì)圖像采集、處理以及信息的提取和回顯、編輯。由于整個(gè)系統(tǒng)最終是在Windows操作系統(tǒng)上運(yùn)行的,針對(duì)圖像采集模塊,利用DirectX中的DirectShow[3]進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)了在Windows平臺(tái)上高效獲取圖像/視頻信息的功能;對(duì)于圖像畸變補(bǔ)償及增強(qiáng)等處理算法設(shè)計(jì),應(yīng)用了Intel公司高效且可靠開(kāi)源的OpenCV圖像處理庫(kù)[4];對(duì)于圖像信息提取,采用了內(nèi)嵌在Office 2003中的MODI識(shí)別控件[5],該組件中漢字的文字識(shí)別引擎就是清華紫光的OCR引擎;對(duì)于圖形用戶界面設(shè)計(jì),使用了微軟的MFC[6]。圖3展示了以上所描述的關(guān)系。

鑒于DirectX是基于組件對(duì)象模型(COM)的技術(shù),OpenCV庫(kù)主要亦是用C/C++開(kāi)發(fā),MODI和MFC之類(lèi)的部件也都是基于C++描述等技術(shù)因素,軟件系統(tǒng)采用Visual Studio 6.0作為開(kāi)發(fā)工具,選擇C++進(jìn)行程序設(shè)計(jì)。利用支持C++的編譯器,可以生成執(zhí)行效率很高的程序,而且面向?qū)ο蟪绦虻脑O(shè)計(jì)能夠?qū)崿F(xiàn)很好的數(shù)據(jù)封裝。
3.2系統(tǒng)的可擴(kuò)展性設(shè)計(jì)
MVC軟件架構(gòu)可實(shí)現(xiàn)各模塊之間最大程度的松耦合,保證系統(tǒng)擴(kuò)展性和復(fù)用性[1]。圖4是系統(tǒng)的UML主體類(lèi)框圖。設(shè)計(jì)方案分別通過(guò)擴(kuò)展模型、視圖及控制器三個(gè)部分實(shí)現(xiàn)證件系統(tǒng)的擴(kuò)展。

(1) 模型部分
模型部分表現(xiàn)為圖像的采集、處理、文字識(shí)別等與數(shù)據(jù)相關(guān)的處理操作。系統(tǒng)設(shè)計(jì)時(shí)將與圖像數(shù)據(jù)處理相關(guān)的處理操作進(jìn)行封裝,實(shí)現(xiàn)了CDibImage類(lèi)。該類(lèi)描述了所有與證件圖像相關(guān)的數(shù)據(jù)處理。在對(duì)此類(lèi)系統(tǒng)中證件圖像的特點(diǎn)進(jìn)行分析和歸納總結(jié)的基礎(chǔ)上,提出了一組合理、有效的處理流程方案,并用OpenCV的圖像庫(kù)實(shí)現(xiàn)自動(dòng)白平衡色彩補(bǔ)償、失真樣條曲線建?;冄a(bǔ)償[7]、基于輪廓信息和Hough變換的傾斜角檢測(cè)完成傾斜矮正、結(jié)合圖像先驗(yàn)知識(shí)的粗分割與細(xì)分割以及文字信息識(shí)別。該方案是一種通用的處理流程和解決方案,實(shí)現(xiàn)證件圖像各個(gè)信息圖塊的正確分割,適用于所有的證件圖像處理,因而能夠適應(yīng)日后擴(kuò)展的新型證件識(shí)別的需要。模型的擴(kuò)展包括增加模型的功能集和擴(kuò)展模型的應(yīng)用對(duì)象。前者諸如增加圖像伽瑪值校正算法等操作,通過(guò)增加新的數(shù)據(jù)處理函數(shù)或者通過(guò)一些特定類(lèi)進(jìn)行封裝便可實(shí)現(xiàn)。后者諸如利用已有的模型處理新型的證件,此時(shí)僅需要針對(duì)該證件上相應(yīng)的信息段分布規(guī)律按以上流程進(jìn)行簡(jiǎn)單再設(shè)計(jì)即可實(shí)現(xiàn)。
(2) 控制器部分
為了保證邏輯的一致性,在采用MVC設(shè)計(jì)的系統(tǒng)中通常僅設(shè)計(jì)單控制器[9]。顯然,單控制器需要在系統(tǒng)中被多次調(diào)用。為此,系統(tǒng)對(duì)控制器專(zhuān)門(mén)采用單件模式(Singleton) [8]設(shè)計(jì)。將單件模式應(yīng)用于MVC模式中的控制器設(shè)計(jì),能夠使系統(tǒng)開(kāi)發(fā)過(guò)程更具有安全性,免除了控制器的作用域全局化(即相當(dāng)于全局變量)帶來(lái)的潛在不安全性,利于軟件規(guī)模的擴(kuò)展設(shè)計(jì)。通常情況下,單件類(lèi)自身負(fù)責(zé)保存它的唯一實(shí)例,并且使用一個(gè)靜態(tài)成員函數(shù)提供全局的訪問(wèn)點(diǎn)[9]。
定義一個(gè)控制器類(lèi)Controller,為該類(lèi)定義一個(gè)靜態(tài)成員函數(shù)GetInstance,以提供這個(gè)類(lèi)操作的全局訪問(wèn)點(diǎn)。Controller類(lèi)還定義了一個(gè)表態(tài)成員變量static Controller* singleton,用于保存一個(gè)指向它的唯一實(shí)例的指針。客戶僅通過(guò)Controller::GetInstance函數(shù)訪問(wèn)這個(gè)單件。指針變量Singleton初始化為0,而靜態(tài)成函數(shù)GetInstance返回該變量值。如果其值為0,則用唯一的實(shí)例初始化它。Singleton使用惰性(Lazy)初始化,它的返回值直到第一次訪問(wèn)時(shí)才被創(chuàng)建和保存。Controller類(lèi)的構(gòu)造函數(shù)是私有類(lèi)型的,試圖直接實(shí)例化Controller類(lèi)的程序?qū)⒃诰幾g時(shí)得到一個(gè)錯(cuò)誤信息,這就保證了僅可以創(chuàng)建一個(gè)實(shí)例。
(3) 視圖部分
軟件系統(tǒng)的視圖部分表現(xiàn)為與用戶交互的圖形用戶界面。軟件設(shè)計(jì)中采用CTabCtrl頁(yè)表容器控件,用以容納各種證件顯示頁(yè)面。為此設(shè)計(jì)了一個(gè)類(lèi)CTabSheet,其UML的類(lèi)屬性如圖5所示。

利用CTabSheet這個(gè)類(lèi),只需要在主界面中維護(hù)一個(gè)該類(lèi)的對(duì)象CTabSheet m_tabSheetCard,便可以實(shí)現(xiàn)對(duì)各個(gè)頁(yè)面的管理與控制。例如要增加頁(yè)面,則僅調(diào)用CTabSheet::AddPage()這個(gè)方法即可;要更換頁(yè)面,則只需要調(diào)用TabSheet::SetCurSel()方法設(shè)置當(dāng)前選中的新頁(yè)面即可。在系統(tǒng)中,所有的證件子對(duì)話框類(lèi)均繼承于CCertificate這個(gè)類(lèi),如圖6所示,而該類(lèi)又繼承于MFC中的CDialog類(lèi)。若要添加新的護(hù)照頁(yè)面,可以用MFC向?qū)上鄳?yīng)的CPassport類(lèi)。

4 實(shí)驗(yàn)
實(shí)驗(yàn)中硬件裝置的鏡頭采用前面所介紹的廣角鏡,PC采用Lenovo 奔騰雙核CPU的啟天M6900 PC機(jī)器。系統(tǒng)先對(duì)采集到的圖像進(jìn)行樣條函數(shù)畸變補(bǔ)償,校正處理后的身份證圖像如圖7所示;再對(duì)處理后的身份證圖像進(jìn)行識(shí)別,采集到證件的信息內(nèi)容如圖8所示。從整個(gè)采集識(shí)別情況來(lái)看,本方案設(shè)計(jì)的證件系統(tǒng)能有效地實(shí)現(xiàn)圖像的輸入、捕捉、處理以及證件信息識(shí)別等功能。

本文提出了一個(gè)證件信息采集系統(tǒng),并對(duì)整個(gè)系統(tǒng)的軟硬件部分進(jìn)行描述。系統(tǒng)采用焦距為1.8 mm、可視角大于140°的微距廣角鏡頭,使得證件在鏡頭前方約45 mm處可以得到完整取景。采用MVC架構(gòu)設(shè)計(jì)證件圖像信息采集軟件,在軟件架構(gòu)上實(shí)現(xiàn)了各模塊之間的松耦合,保證系統(tǒng)軟件部分的可擴(kuò)展性和可復(fù)用性。試驗(yàn)表明,本證件系統(tǒng)可以滿足實(shí)際證件信息采集使用要求,并具有良好的可擴(kuò)展性,為今后擴(kuò)大系統(tǒng)的證件識(shí)別種類(lèi)和加入更新的圖像處理算法提供了良好的軟件平臺(tái)。本證件信息采集系統(tǒng)亦是RFID型證件識(shí)別系統(tǒng)的一個(gè)有效功能補(bǔ)充。
參考文獻(xiàn)
[1] 孫衛(wèi)琴,李洪成. Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社, 2006.
[2] Genesys Logic, Inc. GL850A USB-2.0 Low Power Hub Controller DataSheet[M]. 2007.
[3] PESCE M D. Programming microsoft direct show for digital video and TV[M]. Washington: Microsoft Press, 2003.
[4] The open computer vision library[EB/OL]. http://sourceforge.net/projects/opencvlibrary/.
[5] OCR Images Using Microsoft Office2003 SDK [EB/OL].http://www.print-driver.com/sdk/postprin t/ocr_office2003_vc6.html.
[6] CORPORATION M. MFC library reference: CTabCtrl Class, Microsoft Visual Studio 2005 Documentation[M].
[7] 王占斌, 趙輝, 陶衛(wèi),等. 廣角鏡頭桶形畸變的樣條函數(shù)修正方法[J]. 光電工程, 2008,35(4):140-144.
[8] GAMMA E. 設(shè)計(jì)模式:可復(fù)用面向?qū)ο蟪绦虻幕A(chǔ)[M]. 李英軍,譯.北京:機(jī)械工業(yè)出版社,2000.
[9] 陸其明. DirectShow實(shí)務(wù)精選[M]. 北京:科學(xué)出版社,2004.

pid控制相關(guān)文章:pid控制原理


pid控制器相關(guān)文章:pid控制器原理


鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


評(píng)論


相關(guān)推薦

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

關(guān)閉