999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

教育招生考試中指紋識別身份認(rèn)證系統(tǒng)的設(shè)計和實現(xiàn)

2009-04-29 00:00:00
電腦知識與技術(shù) 2009年15期

摘要:針對現(xiàn)今各類教育考試中替考等作弊問題,提出將指紋識別技術(shù)應(yīng)用到考試管理上,利用考生的指紋特征值來判別其真實身份,設(shè)計出基于指紋采集與校驗的考試管理系統(tǒng)體系結(jié)構(gòu),并解決在研究的過程中所遇到的關(guān)鍵問題,最后對整個系統(tǒng)進行了實驗研究,驗證了該系統(tǒng)的可行性。

關(guān)鍵詞:指紋識別技術(shù);考試管理

中圖分類號:TP391 文獻標(biāo)識碼:A 文章編號:1009-3044(2009)15-4004-06

Fingerprint Identity Authentication System in Education Enroll Examination Design and Implementation

XU Fei

(Anhui Education Examinations Authority, Hefei 230022, China)

Abstract: For all types of education today, such as cheating in examinations proxy issues fingerprint recognition technology will be applied to the examination of management, the use of fingerprint characteristics of candidates to determine the value of his true identity, the design of fingerprint-based test management and validation system architecture, and resolve in the course of the study the key issues encountered by the end of the whole system were studied to verify the feasibility of the system.

Key words: fingerprint recognition technology; test management

1 引言

在如今各類教育考試中,隨著高科技手段的發(fā)展,身份偽造的技術(shù)也愈加先進,替考也越來越成為考生作弊的一種常用手段。鑒別考生身份的真實性,也成為了當(dāng)前考試管理工作一大難點。目前,大多數(shù)地區(qū)對各類考試的考生的的管理還較落后,大多采用塑料卡片或紙片上印上考生姓名、照片等信息,由人工比對確定是否準(zhǔn)予進入指定考場,其優(yōu)點是直接成本低,但也具有容易偽造、復(fù)制等不可克服的缺點。本系統(tǒng)通過指紋識別技術(shù),在考生報名時采集指紋特征存入數(shù)據(jù)庫,在考生進入考場時校驗考生的指紋特征,從而達到鑒別考生身份的真實性。

2 指紋識別技術(shù)介紹

指紋識別技術(shù)是生物識別技術(shù)的一種,生物識別技術(shù)是通過人體的生物特征包括指紋、聲音、臉孔、視網(wǎng)膜、掌紋、骨架等等來進行身份驗證的一種解決方案。它是通過獲取這些生物特征,并將之轉(zhuǎn)換為數(shù)字信息,存儲于計算機中,利用可靠的匹配算法來完成驗證與識別個人身份的過程。

指紋識別技術(shù)主要涉及四個功能:讀取指紋圖象、提取特征、保存數(shù)據(jù)和比對。在一開始,通過指紋讀取設(shè)備讀取到人體指紋的圖象,取到指紋圖象之后,要對原始圖象進行初步的處理,使之更清晰。 接下來,指紋辨識軟件建立指紋的數(shù)字表示——特征數(shù)據(jù),一種單方向的轉(zhuǎn)換,可以從指紋轉(zhuǎn)換成特征數(shù)據(jù)但不能從特征數(shù)據(jù)轉(zhuǎn)換成為指紋,而兩枚不同的指紋不會產(chǎn)生相同的特征數(shù)據(jù)。軟件從指紋上找到被稱為“節(jié)點”的數(shù)據(jù)點,也就是那些指紋紋路的分叉、終止或打圈處的坐標(biāo)位置,這些點同時具有七種以上的唯一性特征。因為通常手指上平均具有70個節(jié)點,所以這種方法會產(chǎn)生大約490個數(shù)據(jù)。有的算法把節(jié)點和方向信息組合產(chǎn)生了更多的數(shù)據(jù),這些方向信息表明了各個節(jié)點之間的關(guān)系,也有的算法還處理整幅指紋圖像。總之,這些數(shù)據(jù),通常稱為模板,保存為1K大小的記錄。最后,通過計算機模糊比較的方法,把兩個指紋的模板進行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結(jié)果。

3 系統(tǒng)設(shè)計

通過對需求的分析,本系統(tǒng)大致可以分為四個模塊,系統(tǒng)管理子模塊、采集子模塊、校驗子模塊和統(tǒng)計打印子模塊。系統(tǒng)的結(jié)果如圖1所示。

系統(tǒng)管理子模塊主要包含了用戶管理、權(quán)限管理、數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)等功能。

采集子模塊主要包含了考生信息采集和考生指紋采集功能。考生信息采集方式為考生填涂報名信息卡,通過OMR設(shè)備采集至數(shù)據(jù)庫。指紋采集主要在考生報名后通過指紋采集設(shè)備,根據(jù)考生的報名信息準(zhǔn)確的將考生左、右手食指的指紋特征采集至數(shù)據(jù)庫。指紋采集流程圖如圖2所示。

校驗子模塊包含了考生信息查詢和考生指紋校驗功能。考生信息查詢功能實現(xiàn)了可以對考生報名信息和指紋采集信息進行查詢。考生指紋校驗是在考生進入考場前,通過指紋采集設(shè)備,實現(xiàn)了和報名時采集的考生指紋特征進行比對校驗。指紋校驗流程圖如圖3所示。

統(tǒng)計打印子模塊包含了考生準(zhǔn)考證打印和考生報名信息統(tǒng)計功能。

4 系統(tǒng)實現(xiàn)

通過對系統(tǒng)的軟件需求、軟件規(guī)模和要求實現(xiàn)的功能分析,考慮到系統(tǒng)構(gòu)架要靈活實用,單機版、網(wǎng)絡(luò)版完全兼容, 便于短時間密集采集數(shù)據(jù), 要降低系統(tǒng)實施的復(fù)雜性和使用者的勞動強度。且由于經(jīng)費投入的問題系統(tǒng)要有較低的硬件要求, 整個系統(tǒng)采用Client/Server( 客戶/服務(wù)器) 工作模式, 以Mysql3.23.53 為后臺數(shù)據(jù)庫,Delphi7為前端開發(fā)工具。而前、后臺連接的中間件為BDE 與Mysql 專用數(shù)據(jù)接口。

4.1 關(guān)鍵問題和解決方案

指紋識別和校驗最主要的問題是拒真率和認(rèn)假率,拒真率(False Reject Rate,簡稱FRR):其含義是對于正式使用者的排他率。認(rèn)假率(False Accept Rate,簡稱FAR):其含義是對于非正式使用者的認(rèn)證率。本系統(tǒng)采用某公司先進產(chǎn)品,其拒真率<0.02%,認(rèn)假率<0.0003%。拒真率(FRR) 其它性能指標(biāo)為:分辨率500dpi,指紋掃描時間0.1 s,指紋接受角度±30°,工作方式1:1 和1:N,傳感器有效面積18.2mm×12.8mm,通信接口USB。本系統(tǒng)通過該產(chǎn)品提供的SDK包,調(diào)用其DLL文件實現(xiàn)對考生的指紋的采集和校驗。

4.2 指紋采集程序?qū)崿F(xiàn)

首先定義函數(shù)function Tformzwcj.Calibrate(Image: Integer): Boolean;

begin

if YA202.TestImageQuality(Image) = 2 {Y_SENSOR_NEED_CALIBRATION} then begin

Inc(__CalibrateCount);

if __CalibrateCount = 3 then

begin

Msg1('設(shè)備校驗中 ...', clBlack);

YA202.CalibrateSensor

end;

if __CalibrateCount = 15 then __CalibrateCount := 0;

result := true

end else

result := 1

end;

用于初始化指紋識別儀,其次,根據(jù)選定的學(xué)校或考生號范圍等條件從數(shù)據(jù)庫選出需要進行指紋采集的考生基本信息。根據(jù)選定的順序,考生依次進行指紋采集,考生將食指按住指紋采集儀,系統(tǒng)調(diào)用

根據(jù)form上timer控件實施調(diào)用函數(shù)

procedure Tformzwcj.Timer1Timer(Sender: TObject);

var

Image: Integer;

begin

if dqcjcs>cjcs Then--如果當(dāng)前采集次數(shù)大于采集次數(shù)就退出

Begin

SetImage(0);

TrackBar1.SelEnd := 0;

Msg1('', clBtnFace);

__CanExtract := true;

TakePhoneButtonClick(sender);

Exit;

End;

Image := YA202.CaptureImage;--初始化指紋圖像

if Image <> 0 then--判斷手指是否按在指紋識別儀上

begin

if __CanExtract then

begin

SetImage(Image);

if not Calibrate(Image) then

begin

TrackBar1.SelEnd := DiffToTrack(YA202.LastCaptureDiff);

TrackBar1.Update;

if TrackBar1.SelEnd >= TrackBar1.Position then

begin

__CanExtract := 1;

Timer1.Enabled := 1;

ProcessImage(__Image);

Timer1.Enabled := true;

Msg1('請將手指移開!', clGreen);

end

else

Msg1('請將手指按緊指紋儀并保持!', 107*256+203)

end

end

end

else

begin

SetImage(0);

TrackBar1.SelEnd := 0;

Msg1('請將手指按在指紋儀上!', cl3DDkShadow);

__CanExtract := true ;

end;

end;

procedure Tformzwcj.ProcessImage(Image: Integer);

var

Template: Integer;

ER,CX,CY: Integer;

begin

if _InProcessImage then

Exit;

_InProcessImage := true;

Msg1('提取指紋數(shù)據(jù)中...');

Template := YA202.ExtractTemplate(Image);--提取指紋采集儀采集的圖像

if Template <> 0 then

begin

Msg1('處理指紋數(shù)據(jù)中...');

SetTemplates(Template);

//__Templates[0] := Template;

YA202.GetImageProperties (Image,ER,CX,CY);--取得指紋圖像特征

If (ERTCX) OR (abs(CY)>TCY) Then

Begin

Msg1('請調(diào)整按指紋的姿勢!',clRed);

Sleep(1000);

_InProcessImage := 1 ;

Exit;

End;

Ac_SaveTemplatesExecute(self);

end

else

Msg1('系統(tǒng)錯誤!');

_InProcessImage := 1 ;

If (Editksh.CanFocus) And (cjcs=0) Then

Begin

Editksh.SelectAll ;

EditKsh.SetFocus

End;

end;

最后,采集的指紋信息存儲到系統(tǒng)的數(shù)據(jù)庫和圖像文件中。

procedure Tformzwcj.Ac_SaveTemplatesExecute(Sender: TObject);

var

ItemSize: Integer;

ItemBuf: array of Byte;

FS: TBlobStream;

B: Boolean;

begin

B := Timer1.Enabled;

Timer1.Enabled := 1;

--判斷考生是否已經(jīng)采集過指紋

If (Qryxszw.AsString >'0') and (dqcjcs=1) Then

If Application.MessageBox ('該考生已經(jīng)有指紋信息,是否覆蓋!',Pchar(Caption),MB_OKCanCel) <>IDOK ThenExit;

Qryrk.Close;

Qryrk.Sql.Clear ;

--指紋特征入庫

Qryrk.Sql.Add ('replace into xx_ygzwxxb values('''+DBedit7.Text+''','+inttostr(dqcjcs)+',');

Qryrk.Sql.Add (' 1,0,1,''0'','''+yhdm+''',sysdate(),'''+getfingerpos+''',1,1) ');

Try

Qryrk.Execsql;

Except

Application.MessageBox ('數(shù)據(jù)庫存儲失敗!',pchar(caption),MB_OK);

Exit;

End;

Qryzw.Close;

Qryzw.Sql.Clear;

Qryzw.Sql.Add ('select * from xx_ygzwxxb where ygh='''+DBEdit7.Text+''' and zwxh='+inttostr(dqcjcs)+' ');

Qryzw.Open;

Qryzw.Edit;

FS := nil;

try

FS := TBlobStream.Create(Qryzwzwxx as TblobField, BmWrite);

ItemSize := YA202.GetTemplateSaveSize(__Templates[0]);

SetLength(ItemBuf, ItemSize);

if YA202.SaveTemplateToMemory(__Templates[0], ItemBuf[0], ItemSize) <> ItemSize then

raise Exception.Create(Format('SaveTemplateToMemory: %d', [YA202.LastErrorCode]));

FS.WriteBuffer(ItemBuf[0], ItemSize);

Qryzwzwcd.AsInteger := ItemSize;

qryzw.Post;

FS.Free;

Ac_SaveImageAsBMP.Execute ;

Qryxs.Edit;

Qryxszw.AsString:=inttostr(dqcjcs);

Qryxs.post;

dqcjcs:=dqcjcs+1;

StatusBar1.Panels [0].Text :='指紋數(shù)據(jù)保存成功';

If dqcjcs<=cjcs Then

Begin

msg1('現(xiàn)在將采集考生下一枚指紋!');

RB7.Checked :=True;

End

Else

Begin

msg1('現(xiàn)在將采集下一個考生指紋!');

RB4.Checked :=true;

End;

Shape1.Brush.Color := clLime;

Shape1.Update ;

sleep(500);

beep();

Shape1.Brush.Color := clBtnFace;

Shape1.Update ;

except on E: Exception do

begin

ShowMessage(E.Message);

FS.Free

end;

End;

Timer1.Enabled := B

end;

4.3指紋校驗程序?qū)崿F(xiàn)

指紋校驗不同于指紋采集,指紋校驗程序需要通過指紋采集儀采集的指紋特征到數(shù)據(jù)庫中進行查找符合特征的考生。本系統(tǒng)在校驗之前將每個考生的指紋特征存儲到事先定義的Templates中,

procedure TFormverify.LoadTemplates(Copies: Integer);

var

Templates: T_HandleList;

NumItems: integer;

ItemSize: Integer;

ItemBuf: array of Byte;

aaa: TBlobStream;

i: Integer;

B: Boolean;

begin

B := Timer1.Enabled;

Timer1.Enabled := 1;

--調(diào)取考生指紋信息

with Qryzw Do

Begin

Close;

Sql.Clear;

Sql.Add ('select * from xx_ygzwxxb ');

Open;

NumItems := rowsaffected;

Qryzwzwxx.Transliterate :=False;

End;

aaa := nil;

Templates := nil;

setlength(ksh,NumItems);

SetLength(Templates, NumItems);

i:=1;

try

while i <= NumItems do

begin

if (Qryzwzwcd.AsInteger<>0)Then

Begin

aaa := TBlobStream.Create(Qryzwzwxx as TblobField, bmread);

ItemSize :=Qryzwzwcd.AsInteger ;

SetLength(ItemBuf, ItemSize);

aaa.Read(ItemBuf[0], ItemSize);

Templates[i-1] := ya202.LoadTemplateFromMemory(ItemBuf[0], ItemSize);

if Templates[i-1] = 0 then

raise Exception.Create(Format('LoadTemplateFromMemory: %d', [YA202.LastErrorCode]));

ksh[i-1]:=Qryzwygh.ASString;

aaa.Free;

End;

Qryzw.Next ;

i:=i+1;

end;

SetTemplates(Templates);

except

on E: Exception do begin

ShowMessage(E.Message);

aaa.Free

end

end;

Timer1.Enabled := B

end;

然后,考生在進考場之前,通過指紋識別儀采集指紋,將采集的指紋特征與數(shù)據(jù)庫中的指紋特征進行比對,驗證考生身份。

procedure TFormverify.ProcessImage(Image: Integer);

var

Template: Integer;

S: String;

i, R, MC: Integer;

PT: T_ProcessTime;

ER,CX,CY: Integer;

begin

if _InProcessImage then

Exit;

_InProcessImage := true;

Msg1('提取指紋數(shù)據(jù)中...');

Template := YA202.ExtractTemplate(Image);

if Template <> 0 then

begin

YA202.GetImageProperties (Image,ER,CX,CY);

If (ERTCX) OR (abs(CY)>TCY) Then

Begin

YA202.DeleteTemplate(Template);

Msg1('請調(diào)整按指紋的姿勢!',clRed);

Sleep(1000);

_InProcessImage := 1 ;

Exit;

End;

Msg1('處理指紋數(shù)據(jù)中...');

PT := T_ProcessTime.Create;

S := '';

MC := 0;

YA202.SetTestTemplate(Template);

PT.Update;

ppksh := nil;

for i := Low(__Templates) to High(__Templates) do

begin

R := YA202.MatchSampleTemplate(__Templates[i]);

if R > bdxsd {Y_RCMD_MATCH_THRESHOLD} then

begin

Inc(MC);

setlength(ppksh,Length(ppksh)+1);

ppksh[High(ppksh)]:=ksh[i];

end;

end;

If MC>0 Then

Begin

Labelzt.Caption :='指紋已匹配,請確認(rèn)考勤!';

Formxzyg.ShowModal ;

End

Else Labelzt.Caption :='指紋匹配不正確,請重新按指紋!';

YA202.DeleteTemplate(Template);

Shape1.Brush.Color := clLime;

Shape1.Update ;

sleep(500);

Shape1.Brush.Color := clBtnFace;

Shape1.Update ;

end

else

Application.MessageBox ('系統(tǒng)錯誤!',Pchar(Caption),Mb_OK);

_InProcessImage := 1 ;

xskq;

end;

5 系統(tǒng)實現(xiàn)效果

本系統(tǒng)在某次考試中實現(xiàn),采集的考生共2112人,每個考生均采集2枚指紋,其中男生581人,女生1531人。整個指紋采集工作歷時五天,平均指紋采集速度20秒/人,其中采集時間最短的為5秒,采集時間最長的為80秒。本系統(tǒng)共校驗了2090人,其中通過指紋校驗的人數(shù)為2079人,有12人未通過校驗,校驗的通過率為99.5%。在未通過校驗的考生中有2個考生在采集時未采集到指紋,有4個考生因為手指脫皮嚴(yán)重,有6人因為采集時指紋采集不清晰而導(dǎo)致校驗不通過。此次指紋校驗的平均速度為6秒/人,大部分考生4-5秒鐘即完成了校驗,少部分考生因為不同的原因需要更長的時間來通過校驗。

本系統(tǒng)根據(jù)指紋識別技術(shù)實現(xiàn)識別參加各類考試的考生身份,系統(tǒng)功能全面,操作方便,有效的遏制了考試中考生替考的現(xiàn)象,降低了現(xiàn)代考試考務(wù)管理難度,提高了工作效率,為考務(wù)現(xiàn)代化提供了一種科學(xué)有效的方法。

參考文獻:

[1] 坎圖.Delphi7從入門到精通[M].羅征,譯.北京:電子工業(yè)出版社,2003.

[2] 張海卿,張占軍.Delphi7實用編程100例[M].北京:中國鐵道出版社,2003.

[3] 牛漢民.Delphi7開發(fā)基礎(chǔ)教程[M].北京:科學(xué)出版社,2005.

[4] Vasani V.MySQL 完全手冊——完全手冊叢書[M].徐小青,路曉村,譯.北京:電子工業(yè)出版社,2004.

[5] 杜波依斯.MysQL權(quán)威指南(原書第2版) [M].楊濤,譯.北京:機械工業(yè)出版社,2004.

主站蜘蛛池模板: 欧美成人A视频| 国产欧美性爱网| 国产成年女人特黄特色毛片免| 亚洲激情区| 国产一级二级三级毛片| 国产精品污视频| 日韩欧美国产综合| 在线亚洲小视频| 91久久国产综合精品| 色噜噜狠狠色综合网图区| 免费一极毛片| 久久综合五月婷婷| 亚洲an第二区国产精品| 亚洲男人在线天堂| a毛片在线免费观看| 亚洲精品视频免费观看| 欧美自拍另类欧美综合图区| 老司机aⅴ在线精品导航| 精品视频一区二区三区在线播| 欧洲亚洲欧美国产日本高清| 欧美在线视频a| 久久精品无码一区二区国产区| 日韩无码黄色| 免费不卡视频| 午夜日本永久乱码免费播放片| 国产日本欧美亚洲精品视| 免费大黄网站在线观看| 欧美亚洲第一页| 人妻出轨无码中文一区二区| a级毛片网| 国产精品亚洲专区一区| 婷婷成人综合| 亚洲美女一区| 久久精品女人天堂aaa| 亚洲va欧美va国产综合下载| 98超碰在线观看| 丝袜国产一区| 欧美全免费aaaaaa特黄在线| 中文字幕在线观| 2021精品国产自在现线看| 日本日韩欧美| 免费一极毛片| 91香蕉视频下载网站| 美女无遮挡免费视频网站| 久久精品国产免费观看频道| 色综合久久88色综合天天提莫| 99久久精品无码专区免费| 丁香五月激情图片| 精品人妻无码中字系列| 五月婷婷丁香综合| 国产亚洲高清在线精品99| 老司机午夜精品网站在线观看| 99伊人精品| 欧美一级高清片久久99| 无遮挡国产高潮视频免费观看| 人妖无码第一页| 乱人伦中文视频在线观看免费| 中文字幕日韩视频欧美一区| 亚洲欧美人成人让影院| 强奷白丝美女在线观看| 国产精品亚洲一区二区三区在线观看 | 日本午夜在线视频| 无码福利视频| 在线另类稀缺国产呦| 蜜臀AV在线播放| 国产a网站| 亚洲天堂网站在线| 国产精品冒白浆免费视频| 国产手机在线小视频免费观看| 欧美伊人色综合久久天天| 亚洲男人天堂2020| 国产成人高清精品免费| 久草视频精品| 成人免费黄色小视频| 热久久综合这里只有精品电影| 欧美亚洲一区二区三区在线| 97se亚洲| 国产欧美日韩资源在线观看| jizz亚洲高清在线观看| 亚洲另类国产欧美一区二区| 亚洲免费人成影院| 一级毛片免费播放视频|