摘要本文針對在線考試和身份驗證的需求,設(shè)計了一個基于指紋識別的通用在線考試系統(tǒng),系統(tǒng)采用C/S和B/S的混合結(jié)構(gòu);介紹了系統(tǒng)總體結(jié)構(gòu)以及指紋識別的關(guān)鍵算法、試卷的實時保存等,試驗表明系統(tǒng)具有較好的通用性。
關(guān)鍵詞在線考試 指紋識別 J2EEAjax
中圖分類號:G424文獻標識碼:A
1 前言
隨著信息技術(shù)的飛速發(fā)展,考試方式已經(jīng)從計算機輔助考試發(fā)展到了基于網(wǎng)絡(luò)的在線考試,目前,常見的在線考試,采用用戶名和密碼進行登陸,由監(jiān)考人員根據(jù)相關(guān)證件上的照片進行核實,很容易出現(xiàn)代考的現(xiàn)象,本文結(jié)合指紋識別技術(shù),結(jié)合C/S和B/S技術(shù),設(shè)計一個通用的在線考試系統(tǒng),利用該系統(tǒng),完成對考試信息的管理和對考生指紋的識別。
2 系統(tǒng)簡介
為了使系統(tǒng)具有通用性,系統(tǒng)的要求為:一份試卷中可以有多個科目的題目,可以有多種題型,可以分配給不同的考生進行考試,試卷中的題目在考生進行考試的時候按照設(shè)定題型、科目、題量的約束隨機生成,對于單選、多選、判斷等客觀題,在考生提交試卷時,自動進行評分。系統(tǒng)主要功能如圖1所示。
圖1—系統(tǒng)功能結(jié)構(gòu)圖
(1)考生信息管理:錄入考生的基本信息,包含指紋的采集、指紋特征的保存。
(2)課程信息管理: 管理課程的信息,題目按課程進行分類。
(3)題庫管理: 題目分為客觀題(單選、多選、判斷)和主觀題(填空題、簡答題),支持單個題目的錄入和批量從word 中導(dǎo)入。
(4)試卷管理:設(shè)置試卷的基本信息(標題、試卷總分、時長、有效時間),分配題型、考試科目、考試人員、評分老師。
(5)在線考試:通過輸入指紋進行身份的驗證,通過后,隨機出題,考生交卷后,自動計算客觀題的分數(shù)。
(6)在線評分:對主觀題進行評分。
(7)成績統(tǒng)計與打印:統(tǒng)計考生的成績,導(dǎo)出到Excel表中,并能將考生的試卷打印。
(8)在線監(jiān)控:對當前登陸的考生進行監(jiān)控,列出在線考生,可以對舞弊的考生,強行踢出考試系統(tǒng)。
3 系統(tǒng)設(shè)計
該系統(tǒng)采用三層的C/S和B/S混合體系結(jié)構(gòu)設(shè)計如圖2所示。
圖2—系統(tǒng)主體結(jié)構(gòu)圖
第一層是數(shù)據(jù)層,采用獨立的兩臺服務(wù)器;第二層應(yīng)用層,是采用Web Service實現(xiàn)中間層的應(yīng)用服務(wù);第三層是用戶界面層,分別由B/S結(jié)構(gòu)的Web網(wǎng)站和C/S結(jié)構(gòu)的管理端與考場端組成。其中,考生指紋的注冊和考試時身份的驗證采用C/S結(jié)構(gòu),實現(xiàn)指紋的采集、特征識別和匹配;教師出題時的題庫管理和智能組卷、考完試后主觀題的人工改卷,以及考生查分數(shù)和分散式考試中的考生報名等,主要采用B/S結(jié)構(gòu)實現(xiàn)。
為了提高速度和并發(fā)能力,考生在線答題部分采用Ajax引擎,Web服務(wù)器部分基于MVC設(shè)計模式,由JSP負責生成動態(tài)網(wǎng)頁,JavaBean負責業(yè)務(wù)邏輯,Servlet負責流程控制。
4 系統(tǒng)關(guān)鍵技術(shù)的實現(xiàn)
4.1 指紋特征的提取
對于考生,預(yù)先提取指紋,將指紋特征模版存放到服務(wù)器中,當考生考試時,按下指紋,進行匹對,找出該考生的身份。指紋特征提取過程如圖3所示。
圖3—指紋特征提取過程圖
通過指紋采集儀獲取原始指紋圖像后,經(jīng)過分割、增強、二值化、細化、特征提取后獲得某指紋的特征點。本文指紋分割采用基于多級分割的算法,指紋圖象增強采用傳統(tǒng)的傅立葉變換, 在進行二值化時,通過對最大類間方差法(Otsu)的改進,采用局部遞歸分割算法,利用目標與背景的差異決定遞歸的次數(shù)和每次分割進行的局部區(qū)域,在閾值的選取時,為保持類間距離最大、類內(nèi)聚性好,獲得最佳的分割效果, 采用公式(1):
其中Pa代表目標部分的比例,Pb代表背景部分的比例,Wa代表目標灰度均值,Wb代表背景灰度均值。當式(2)取最大值時所對應(yīng)的灰度級即為所求的最佳閾值t*,即
然后,進行細化算法時采用經(jīng)典的OPTA算法。經(jīng)過上述處理后,生成只含指紋紋理的清晰的二值圖像,如圖4所示。
(a) 原始指紋(b)二值化(c)細化
圖4 指紋處理對比圖
最后,采用脊線跟隨算法最后得到該條脊線上的特征。
4.2 指紋識別
指紋識別就是根據(jù)從所采集到的指紋圖像中所提取的細節(jié)特征點集合P={p1,p2,…,pm}和模板中的細節(jié)特征點集合Q={q1,q2,…,qn},判斷該兩組特征點集合是否來自于同一枚手指。采用一種基于三角形全等的指紋特征點快速匹配算法,算法的基本思路如下:
(1)通過特征點坐標找出離指紋圖像中心較近的6個像素點,組成20個不同的三元組;
(2)在特征模板中逐個查找對應(yīng)的三元組,在采集到的指紋特征和待匹配的指紋模板之間查找全等三角形;
(3)根據(jù)查找到的兩個三角形的相對位置,通過平移和旋轉(zhuǎn)操作,使兩個三角形在誤差允許的范圍內(nèi)重疊,求出相應(yīng)的平移和旋轉(zhuǎn)參數(shù);
(4)根據(jù)前面所求出的平移和旋轉(zhuǎn)的相關(guān)參數(shù),對全部指紋特征點進行平移和旋轉(zhuǎn)操作,根據(jù)兩組指紋特征中所有特征點的在誤差允許的范圍內(nèi)重疊程度確定該兩組指紋是否來自同一手指。
4.3 試卷的定時保存
在考試過程中,當遇到交卷失敗、網(wǎng)絡(luò)中斷等意外情況時,通常會造成外導(dǎo)致考試中斷,考生也可以重新登錄繼續(xù)考試,原先 數(shù)據(jù)的丟失,實時保存考生的答題情況非常必要。該考試系統(tǒng)采用Ajax技術(shù)由JavaScript代碼在后臺為用戶定時存盤,一旦系統(tǒng)出現(xiàn)故障,再次進入考試系統(tǒng)時,可根據(jù)保存的信息在故障點處繼續(xù)進行考試,原來考試的信息可以從服務(wù)器端一次性加載。
5 系統(tǒng)實現(xiàn)與實驗分析
系統(tǒng)采用J2EE架構(gòu)實現(xiàn)考生基本信息的采集和系統(tǒng)管理員的管理模塊,指紋采集和識別模塊采用Delphi7.0編寫的客戶端,系統(tǒng)運行在HP ProLiant DL380 G6服務(wù)器(2GHz /2GB),服務(wù)器OS,采用Solarise 10 64位操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)采用Oracle 10g,WEB應(yīng)用服務(wù)器軟件采用Tomcat6.0.
系統(tǒng)在實驗環(huán)境下,使用了本學(xué)院近3000枚指紋樣本作為考生指紋進行測試,各個功能的具體測試結(jié)果數(shù)據(jù)如表1。
表1 系統(tǒng)測試結(jié)果
通過對測試結(jié)果分析,系統(tǒng)能正確完成考生指紋的采集,指紋模板庫的建立,考生指紋的匹配,性能指標都符合基本要求。
6 小結(jié)
本文利用指紋識別技術(shù)改進現(xiàn)有的在線考試系統(tǒng),系統(tǒng)綜合采用 C/S和B/S結(jié)構(gòu)的優(yōu)勢,考生只需手指在指紋采集儀器上輕輕劃過,即可確認用戶身份,而不需要傳統(tǒng)的出示一大堆證件等繁瑣步驟;本系統(tǒng)運行速度快,指紋采集驗證時間在1 s之內(nèi)完成, 實際運行結(jié)果證明本系統(tǒng)具有很強的實用價值。
題目源于:九江學(xué)院校級課題《基于生物特征識別的考試系統(tǒng)的研究與實現(xiàn)》
參考文獻
[1]王蓉,汪詩林.基于J2EE架構(gòu)的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2005(28):211~214.
[2] 丁振凡.Ajax技術(shù)在網(wǎng)絡(luò)考試分析中的應(yīng)用[J].華東交通大學(xué)學(xué)報,2007(5):75~76.
[3]蔡燕柳; 賈振紅.基于改進的Otsu準則的遞歸圖像分割算法.激光雜志[J].2008.4.
[4]梁廣民,蔡學(xué)軍.OPTA算法的改進及其在指紋圖像細化中的應(yīng)用.計算機工程與設(shè)計[J].2006.23.
[5]趙應(yīng)丁,劉金剛.基于嵌入式應(yīng)用的指紋處理模塊板的設(shè)計與實現(xiàn)[J].計算機工程,2006.4.