張鵬 孫曦 崔鵬飛 公安部第一研究所
根據(jù)2011年10月29日修訂的《中華人民共和國居民身份證法》的規(guī)定,公民在申領(lǐng)居民身份證時應當采集并登記指紋信息。居民身份證申領(lǐng)受理以人口信息管理系統(tǒng)為依托,考慮到人口信息管理系統(tǒng)大規(guī)模升級的復雜性,短期內(nèi)難以實現(xiàn),因此,提出了開發(fā)居民身份證指紋信息采集前端系統(tǒng)[1,2]的方案,作為確保2013年1月1日起實施法律的應急措施。
作為人口信息管理系統(tǒng)正式改造前的應急措施,系統(tǒng)集合了指紋信息采集功能和人口信息管理系統(tǒng)的部分功能,導致系統(tǒng)開發(fā)的復雜度和難度大大增加,具體表現(xiàn)在以下幾個方面:
指紋信息采集系統(tǒng)既要遵循指紋采集的設備、算法和操作技術(shù)要求等相關(guān)方案和標準的規(guī)定[3-6],也應符合人口信息管理系統(tǒng)相關(guān)技術(shù)方案和標準的要求[2,6,7],系統(tǒng)需遵循的標準有20多個。此外,最大的困擾是這些標準在系統(tǒng)開發(fā)時仍在制定過程中,具體要求多有變化,導致系統(tǒng)的需求分析遲遲不能定稿。
該系統(tǒng)與人口信息管理系統(tǒng)相比,除在業(yè)務功能上不同外,在系統(tǒng)管理、用戶管理、日志管理、字典維護管理、設備管理、信息備案、查詢統(tǒng)計等方面別無二致[7]。圖1顯示了系統(tǒng)的拓撲結(jié)構(gòu):
在接口方面,系統(tǒng)需具備與管理員、與操作員、系統(tǒng)與居民身份證申領(lǐng)人等人機接口以及與人口信息管理系統(tǒng)、與指紋采集器、與指紋算法和與省級指紋信息管理系統(tǒng)/人口信息管理系統(tǒng)等的系統(tǒng)、軟件或設備接口。
圖2顯示了系統(tǒng)的主要接口:
為確保居民身份證指紋信息的應用,在申領(lǐng)登記時,必須確保登記質(zhì)量,防止應用中出現(xiàn)較高比例的指紋比對不成功,影響證件指紋信息的應用。因此,在系統(tǒng)設計中,必須充分考慮指紋信息的采集質(zhì)量控制,體現(xiàn)指紋采集操作規(guī)程的要求[5]。
根據(jù)標準規(guī)定,指紋采集有六種結(jié)果,且指位選擇順序復雜[4],需考慮兩只手的切換、十個手指切換順序,這些切換順序需根據(jù)三種注冊結(jié)果確定,流程相當復雜。圖3顯示了總體流程:
考慮到指紋信息采集前端系統(tǒng)的應用用戶廣泛,即包括各級管理人員,也包括基層派出所身份證申領(lǐng)受理的基層民警,因此,系統(tǒng)整體選擇B/S架構(gòu)開發(fā),便于部署和后期維護,系統(tǒng)和數(shù)據(jù)管理、維護完全基于瀏覽器,而指紋采集以及指紋采集器與算法的調(diào)用以ActiveX控件的形式加載到瀏覽器??紤]到系統(tǒng)涉及的眾多接口及其遵循的標準在設計開發(fā)階段尚在制定中帶來的不確定性,系統(tǒng)采用基于J2EE架構(gòu)的模塊化設計,分為數(shù)據(jù)訪問層、業(yè)務邏輯層、功能表現(xiàn)層三層架構(gòu),并按照功能進行模塊化劃分,實現(xiàn)各層之間和業(yè)務功能模塊之間相對對立,便于系統(tǒng)開發(fā)過程中的修改與優(yōu)化。系統(tǒng)體系結(jié)構(gòu)如圖4所示。
1.數(shù)據(jù)訪問層
該層主要實現(xiàn)數(shù)據(jù)庫訪問并將數(shù)據(jù)庫中對應的表映射為實體類提供給業(yè)務邏輯層調(diào)用。系統(tǒng)針對居民身份證指紋采集的特點設計了指位、指紋采集質(zhì)量、指紋采集結(jié)果等實體類。在處理多個數(shù)據(jù)庫連接時采用Session Factory,創(chuàng)建多個Dao,并連接不通的Session Factory。查詢結(jié)果反饋給對應的實體類的List,返回給調(diào)用者??梢酝ㄟ^對List的起始行數(shù)與頁面展示的單頁最大行數(shù)控制,動態(tài)分配查詢結(jié)果。
2.業(yè)務邏輯層
該層主要處理系統(tǒng)對應的業(yè)務,通過調(diào)用數(shù)據(jù)訪問層得到的查詢結(jié)果,并為功能表現(xiàn)層所調(diào)用。完成處理指紋采集過程中的業(yè)務邏輯。其中包括:調(diào)用指紋信息管理系統(tǒng)的許可證驗證以及數(shù)據(jù)接收等服務接口。對離線采集所得到的指紋信息進行有效性、數(shù)據(jù)歸屬、數(shù)據(jù)格式數(shù)據(jù)質(zhì)量等的判定。對在線指紋采集流程的控制。對設備的管理,操作員的管理,對數(shù)據(jù)的查詢與統(tǒng)計。
3.功能展現(xiàn)層
表示層主要處理客戶端的展示,是人機交互的窗口。為了增強用戶體驗,表示層采用富客戶端設計,頁面使用XHTML編寫,結(jié)合多種展示方式來豐富展現(xiàn)內(nèi)容。在頁面里增加了3D圖表,可以將業(yè)務數(shù)據(jù)通過統(tǒng)計圖表的方式直觀的展示給用戶。報表使用滾動表格,該表格可以鎖定部分列不隨滾動條滾動,更方便查看數(shù)據(jù)項多的報表數(shù)據(jù)。使用Ajax技術(shù)的局部刷新功能結(jié)合以上3種數(shù)據(jù)展現(xiàn)方式,使用戶操作系統(tǒng)如同操作C/S系統(tǒng)一樣方便。
1.影響指紋采集質(zhì)量的因素分析
除圖像清晰無重影等一般要求外,居民身份證指紋采集有以下四個質(zhì)量要求:
(1)指紋圖像中心點應與指紋的中心花紋保持一致;
(2)確保實際指位與記錄指位一致;
(3)每個手指取三幅圖像且每次取圖應抬起重新按捺,不可同一按捺姿勢多次取圖;
(4)圖像質(zhì)量分值符合預設值的要求。
目前,指紋算法能夠根據(jù)特征提取情況給出質(zhì)量分,但對于指紋中心花紋識別尚不完全可靠,也不能自動識別指位。因此,在指紋采集操作過程中,系統(tǒng)設計時一方面應充分應用算法的技術(shù)性能,用于系統(tǒng)的自動識別,從而提高指紋采集效率,另一方面,必須考慮必要的質(zhì)量控制措施,以確保指紋采集圖像質(zhì)量,在確保質(zhì)量的基礎(chǔ)上提高采集效率。
2.指紋圖像質(zhì)量檢測方法及其在系統(tǒng)中的實現(xiàn)
針對指紋采集的四個專門要求,系統(tǒng)設計了以下三種指紋圖像質(zhì)量檢測方法:
(1)動態(tài)實時預覽功能。通過指紋采集圖像動態(tài)實時預覽,操作員可以及時發(fā)現(xiàn)申領(lǐng)人不正確的按捺方式予以糾正,也可以對算法不能識別的圖像質(zhì)量瑕疵進行人工識別并加以干預。配合使用雙屏顯示,申領(lǐng)人也可以方便的實時查看指紋采集效果,從而自動調(diào)整按捺姿勢,以獲取最佳圖像。與僅依賴算法判斷質(zhì)量相比,算法能夠從已獲取指紋圖像中選取最佳圖像且不能排除按捺姿勢不符合要求的圖像,而動態(tài)預覽功能則能夠指引操作員和申領(lǐng)人調(diào)整按捺姿勢以獲取最理想指紋圖像,并且排除安排姿勢不符合要求的圖像。
(2)十字星與口字框輔助定位功能。在動態(tài)預覽窗口,設計了位于預覽窗口中心的十字星定位標和口字框,如圖5所示,十字星的交叉點位于動態(tài)預覽窗口的中心,理想的指紋圖像是中心花紋對準十字星的交叉點,這為獲取最佳指紋圖像提供了指引??谧挚騽t表示了指紋采集圖像所允許的最大偏差,一旦指紋的中心花紋偏離的這個框,則表示指紋圖像不符合要求。
(3)手指抬起自動檢測功能。按照指紋采集要求,每獲取一幅圖像應抬起重新按捺,不允許保持同一按捺姿勢獲取三幅圖像。因此,在采集過程中,確保每次獲取圖像都重新按捺。指紋算法能夠?qū)χ讣y圖像進行評價并給出質(zhì)量分,當圖像中完全沒有指紋時,圖像質(zhì)量分為0,因此可以在采集中對連續(xù)獲取的圖像進行質(zhì)量評判,當一幅指紋圖像采集完成后,圖像質(zhì)量分如歸零則證明手指已完全抬起,此后,可允許進行下一幅圖像的獲取。然而,實踐中,由于連續(xù)指紋采集后,指紋采集圖像窗口不能完全避免出現(xiàn)殘留指紋現(xiàn)象,這時通過指紋采集器獲取的圖像中將有一定的指紋,試驗中發(fā)現(xiàn),對于殘留的指紋圖像,算法并不能完全識別,仍然能夠給出一定的質(zhì)量分,完全依賴指紋圖像質(zhì)量分歸零是不可取的。因此,通過算法判斷手指是否抬起應考慮以下三個因素:
A.按捺圖像(Fingerpint Picture)質(zhì)量分的最低值,記為fw(FP)。
B.殘留圖像(Residual Picture)質(zhì)量分的最高值,記為fb(RP)。
C.指紋采集器初始化時窗口的潔凈度,可以轉(zhuǎn)化為初始化時未按指紋前圖像(Initialingzing Picture)的質(zhì)量分,記為f(IP)。
可以認為,如果存在fw(FP)>fb(RP),則能夠?qū)崿F(xiàn)應用質(zhì)量分判斷手指是否抬起。經(jīng)對90000幅圖像計算質(zhì)量分的結(jié)果進行分析,除有指定含義的1~10分外,無指紋的圖像符合預期要求,且10~19分的指紋圖像數(shù)量為0,無指紋圖像質(zhì)量值為0,如圖6所示:
因此,如果能夠?qū)埩糁讣y圖像質(zhì)量分控制在10~19分,則能夠運用圖像質(zhì)量分判斷手指是否抬起??紤]到90000張的樣本量,這個數(shù)據(jù)置信度是比較高的,為了進一步防止誤判,將殘留圖像質(zhì)量檢測值設定為10~16,同時,采取每開始對一申領(lǐng)人進行指紋采集,首先檢驗初始化窗口的潔凈度的方式,確保f(IP)=0,然后,每獲取一幅指紋圖像后,持續(xù)獲取圖像判斷其質(zhì)量值是否為10~16分,流程如圖7所示:
居民身份證指紋信息采集前端系統(tǒng)定位決定了相對于人口信息管理系統(tǒng)具有麻雀雖小、五臟俱全的特點,既包括指紋信息的采集功能又包含了豐富的管理及統(tǒng)計分析功能。系統(tǒng)設計開發(fā)中遵循的標準、接口的不斷修改變化是系統(tǒng)設計開發(fā)中最大的困擾,分層和模塊化的設計較好地應對了這個問題;系統(tǒng)設計中最復雜的是指紋采集流程設計,兩只手、十個手指、三種注冊結(jié)果、六種采集結(jié)果構(gòu)成了極為復雜的組合,每一種組合都必須體現(xiàn)在系統(tǒng)中且能夠自動切換;指紋采集的質(zhì)量和效率則是最難以平衡的,然而沒有質(zhì)量的效率是不但無效而且有害的,因此,系統(tǒng)設計中強化了指紋采集質(zhì)量的控制,采用系統(tǒng)自動判斷、人工預覽干預、輔助定位等多種措施,確保指紋采集質(zhì)量,此外,本系統(tǒng)中給出了自動和手動兩種模式,可謂集成了“傻瓜相機”和“單反相機”兩種模式,可以根據(jù)操作員水平、指紋申領(lǐng)人的配合程度靈活選擇。
目前系統(tǒng)已應用于全國居民身份證指紋信息采集技術(shù)培訓和河南省指紋信息采集試點工作,正在河南全省逐步推開應用。在這些應用及示范中,出色的完成了指紋信息采集工作,系統(tǒng)的可靠性、易用性和靈活性得到了驗證。由于指紋采集的對象覆蓋所有領(lǐng)證人口,前期的分析與設計中收集到所有的需求是不現(xiàn)實的,即使已經(jīng)收集到的需求,受系統(tǒng)整體的制約,在系統(tǒng)設計中也難免有所取舍,因此,下步系統(tǒng)設計開發(fā)中的重點是根據(jù)實際采集情況進一步全面收集系統(tǒng)需求,平衡系統(tǒng)采集質(zhì)量、適用性和效率。
[1]居民身份證登記指紋信息總體技術(shù)方案.公安部居民身份證登記指紋信息領(lǐng)導小組辦公室, 2011(12).
[2]人口信息管理系統(tǒng)居民身份證指紋信息管理總體框架.公安部居民身份證登記指紋信息領(lǐng)導小組辦公室, 2012(11).
[3]居民身份證指紋采集比對技術(shù)方案.公安部居民身份證登記指紋信息領(lǐng)導小組辦公室, 2012(1).
[4]GA/T 1011-2012 居民身份證指紋采集器通用技術(shù)要求.
[5]GA 1012-2012 居民身份證指紋采集和比對技術(shù)規(guī)范.
[6]GA/T1046-2013居民身份證指紋采集基本規(guī)程.
[7]人口信息管理系統(tǒng)指紋信息采集管理相關(guān)技術(shù)標準匯編.公安部居民身份證登記指紋信息領(lǐng)導小組辦公室, 2012(10).