面像识别ic卡个人身份识别认证系统的制作方法

文档序号:6573118阅读:777来源:国知局
专利名称:面像识别ic卡个人身份识别认证系统的制作方法
技术领域
本发明涉及面像识别IC卡个人身份识别认证系统,能自动检测与计算机相连的读卡器状态,并读出IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,作出是否通过或拒绝判断,以进行控制后续报警器或开关等应用终端的动作。适应各种不同应用场合,如银行ATM,公司考勤,大楼屋业管理等。
已有技术中国专利申请号95190389,公开号1128006,名称用于鉴别身份证、信用卡、鉴证、护照和面部识别的生物统计安全过程,主要用于鉴别身份证、信用卡等,以及身份证、信用卡的制作。缺点是不能对活人进行面像识别。
本发明的目的在于提供一种面像识别IC卡个人身份识别认证系统的装置。
本发明的另一目的在于提供一种面像识别IC卡个人身份识别认证系统的方法。
面像识别IC卡个人身份识别认证系统的装置一台带Windows 95/98/NT操作系统的计算机,一个彩色或黑白的摄像头,与计算机联结,用于将人的面部特征抓取后传给计算机,一个高分辨率的显示器,与计算机联结,用于显示人的头像,一个接于计算机输出端的控制器,用于根据计算机发出的指令控制后续报警器或开关等应用终端的动作。
一个图形捕捉卡,安装在计算机中,使计算机具有图形捕捉功能,一张“IC卡个人身份识别认证系统”光盘,使用时放在光躯中,使计算机按照光盘中预先设置的程序工作,一个读/写卡器,与计算机联结,用于从预先收集的图片库中的图片或从摄像头捕捉的头像读取,并且写入IC卡中,一个可读写IC卡,其中有写入的图片、头像、个人资料如代号、姓名、密码等。
面像识别IC卡个人身份识别认证系统的方法面像识别IC卡个人身份识别认证系统,自动检测与计算机相连的读写卡器状态,并读取IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言,整个系统具体工作流程如下当操作人员选取并点击“开始”键后,系统开始从摄像头抓取的图像中自动不停地搜索头部,当一个类似头部形状的物体出现时,自动使用多种类型的匹配算法来判断该位置是否有一张脸,并确定面部的准确位置;
一旦搜索到一幅面部的图像,这幅图像就被从背景中分离出来,经过计算机一系列专门的处理,恢复其正常的面部特征;恢复的面部图像在系统内部被通过一种被称作“局部特征分析(Local Feature Analysis)”的技术转换成一种被叫作“面纹(Faceprint)”的数字编码,这种数字编码包含了个人面部的特征信息;通过把实时取得的“面纹”数字编码和IC卡中已有的“面纹”数字编码进行识别比较,并按系统设定的接受值作出“通过或拒绝”的断言,向接于计算机输出端的控制器发出控制指令,控制后续报警器或开关等应用终端的动作。
本发明的优点面像识别IC卡个人身份识别认证系统,自动检测与计算机相连的读卡器状态,并读出IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,作出是否通过或拒绝判断,以进行控制后续报警器或开关等应用终端的动作。
本系统发扬和继承了IC卡方便、灵活的特点,同时又采用活人面像识别技术,具有不便复制,起到防伪的作用,使IC卡的使用具有更高的保密性能。
适用于Windows 95/98NT等操作系统,定位面部时间为50-300毫秒,识别判断时间≤1秒,识别精确度≥99%,对人物背景、光线、人的姿态等运行条件有良好的宽容性,可调整面部头像捕获精度和识别精度,以及捕获/识别时间等参数,以适应各种不同应用场合,如银行ATM,公司考勤,大楼屋业管理等。


图1面像识别IC卡个人身份识别认证系统----发卡端流程图。
图2面像识别IC卡个人身份识别认证系统——识别端流程图。
图3面像识别IC卡个人身份识别认证系统的装置。
实施例1工作流程分“发卡端”和“识别端”两部分图1;“发卡端”实现从“图片库或摄像头”读取头像并写入IC卡中,在IC卡中记录头像信息,包括以下步骤(1)开始,由操作员从键盘输入个人资料(代号,姓名等),(2)进入“从文件或摄像头读取头像”,(3)选择头像来源为“摄像头”,启动摄像头,(4)摄像头捕获一系列面部图像,(5)进入“捕捉到否”判断,如果为“否”,返回(4),(6)如果为“是”,保存图象,并记录下可信度,(7)“到捕捉图像时限否”判断,如果为“否”,返回(4),(8)如果为“是”,排序并取出可信度最高的头像,显示在显示器上,关闭摄像头;(9)或打开图片文件对话框,从图片库选取图片并显示在显示器上;
(10)系统从(8、9)自动取得面部特征;将头像数据写入IC卡,(11)终止程序。
图2“识别端”实现从摄像头捕捉持卡人员头像并与IC卡中存放的图像识别比较,并得出结果,向后续控制器发出“通过”或“拒绝”指令。
(1)开始,持卡人员把IC卡插入读卡器中,(2)启动摄像头,摄像头捕获持卡人员的面部头像,(3)“系统自动检测读卡器中有无卡”判断,如果为“无”,返回(3),(4)如果为“有”,读卡器读出IC卡中个人信息和面部头像,并显示在显示器上,(5)系统从摄像头抓头像,系统用捕获的头像和IC卡取得的头像比较,(6)“若达到设定可接受值否”的判断,如果为“是”进入,(7)返回“通过”,并且向控制器发出“通过”指令,(8)若达不到可接受的值,并且末到设定时限,转(5),(9)若达不到可接受值,而设定时限已到,返回“拒绝”,并且向控制器发出“拒绝”指令,(10)结束。
本发明的源程序分为以下部分1、摄像头参数设置,2、IC卡操作窗,3、面部图象显示构件,4、面部头像捕捉构件,5、捕捉头像窗口,把上一步的构件用窗口显示和处理,6、IC卡识别应用窗口,7、IC卡操作设置及参数,8、IC卡识别设置,9、识别结果显示。
IC卡个人身份识别认证系统2、IC卡操作窗//CardOprDlg.h header file////{{AFX_INCLUDESO#include “faceitimage.h”//}}AFX_INCLUDES#if!defined(AFX_CARDOPRDLG_H__D5789157_F0E2_11D3_8B41_00D009128979__INCLUDED_)#define AFX_CARDOPRDLG_H__D5789157_F0E2_11D3_8B41_00D009128979__INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000////////////////////////////////////////////CCardOprDlg dialog#include <comdef.h>#include <AfxDB. h>#include “ICCard. h”//Added by ClassView#include “PersonImage.h”#include “GrabHdDlg.h”//Added by ClassViewclass CCardOprDlg public CDialog{//ConstructionpublicCCardOprDlg(CWnd* pParent = NULL);//standard constructor//Dialog Data//{{AFX_DATA(CCardOprDlg)enum{IDD=IDD_CARDOPRAPP_DIALOG };CFace It Image m_FaceImage;CString m_strName;CString m_s trCode;BOOL m_bOrigin;//}}AFX_DATA//ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CCardOprDlg)publicvirtual void OnFinalRelease();virtual BOOL PreTranslateMessage(MSG* pMsg);protectedvirtual void DoDataExchange(CDataExchange* pDX);//DDX/DDV support//}}AFX_VIRTUALpublicBYTE m_iIndex;BOOL WriteCard();BOOL ReadCard();BOOL m_bImgIsOpen;SEyes m_stEyes;struct SRecord{public
IC卡个人身份识别认证系统SRecord(){strName =“”;strLx =“28”;strLy =“50”;strRx =“53”;strRy =“50”;strFile =“”;};publicCString strCode;CString strName;CString strLx;CString strLy;CString strRx;CString strRy;CString strFile;publicoperator=(const SRecord& r){strCode=r.strCode;strName=r.strName;strLx =r.strLx;strLy =r.strLy;strRx =r.strRx;strRy =r.strRy;strFile=r.strFile;};}m_pData[3];void ShowRecord();CString m_strDBPath;void ReOpenDB(CString filter=“”);int m_nRecCount;int m_nRecNo;void ShowImage();CRecordset m_rs;CDatabase m_pDB;SCardParm m_pCP;void SetCtrlStatus ();UINT m_nSeg,m_nOff,m_nLen;unsigned char *m_pBuf;BOOL NewCard();BOOL CloseCard();//ImplementationprotectedHICON m_hIcon;//Generated message map functions//{{AFX_MSG(CCardOprDlg)virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID,LPARAM 1Param);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();
IC卡个人身份识别认证系统afx_msg void OnWriteCard();afx_msg void OnReadCard();afx_msg void OnOriginBtnCheck();afx_msg void OnReadFromFile();afx_msg void OnRecordMove(UINT nID);afx_msg void OnCodeChange();afx_msg void OnRetrievData();afx_msg void OnFromGrab();afx_msg void OnOptionSet();afx_msg void OnAbout();afx_msg void OnSourceChange(UINT nID=O);afx_msg void OnNameLostFocus();//}}AFX_MSGDECLARE_MESSAGE_MAP()};//{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before the previous line。#endif//!defined(AFX_CARDOPRDLG_H__D5789157_FOE2_11D3_8B41_00D009128979__INCLUDED_)
IC卡个人身份识别认证系统3、面部图象显示构件#if!defined(AFX_FACEITIMAGE_H__188FDCB8_E9DA_11D3_B597_00D009128979__INCLUDED_)#define AFX_FACEITIMAGE_H__188FDCB8_E9DA_11D3_B597_00D009128979__INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000//Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++//NOTEDo not modify the contents of this file。If this class is regenerated by//Microsoft Visual C++, your modifications will be overwritten。//////////////////////////////////////////CFace It Image wrapper classclass CFace It Image public CWnd{protectedDECLARE_DYNCREATE(CFace It Image)publicCLSID const& GetClsid(){static CLSID const clsid={0xeeb79086,0x7168,0x11d1,{0xa4,0x7,0x0,0x60,0x97,0x6b,0xf2,0x95}};return clsid;}virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID,CCreateContext* pContext=NULL){return CreateControl(GetClsid(),lpszWindowName,dwStyle,reet,pParentWnd,nID);}BOOL Create(LPCTSTR lpszWindowName,DWORD dwStyle,const RECT& reet,CWnd* pParentWnd,UINT nID,CFile* pPersist=NULL,BOOL bStorage=FALSE,BSTR bstrLicKey=NULL){return CreateControl(GetClsid(),lpszWindowName,dwStyle,reet,pParentWnd,nID,pPersist,bStorage,bstrLicKey);}//AttributespublicBOOL GetConstantAspectRatio();void SetConstantAspectRatio(BOOL);BOOL GetCenterImage();void SetCenterImage(BOOL);//Operationspubliclong GetImageWidth();long GetImageHeight();long GetImageColorFormat();BOOL ConvertColorFormat(long ColorFormat);BOOL GetImageData(VARIANT* ImageData);BOOL Read(LPCTSTR FileName);
IC卡个人身份识别认证系统BOOL WriteTIF (LPCTSTR FileName);BOOL WriteJPG(LPCTSTR FileName,short Quality);void Flip();BOOL WriteBMP (LPCTSTR FileName);void GetClickPosition(long* X,long* Y);BOOL LoadRaw(VARIANT* ImageData,long Width,long Height,long ColorFormat,BOOL Flip);void Refresh();void Clear();void GetMovePosition(long* X,long* Y);void GetImageScale(float* ScaleX,float* ScaleY);void GetImageOffset(long* OffX,long* OffY);VARIANT GetData();VARIANT GctJPEG(long Quality);void ShowCropped(long XO,long Y0,long X1,long Y1);long SetBorder (long Type);void SetBackColor(unsigned long Color);};//{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before the previous line。#endif//!defined(AFX_FACEITIMAGE_H__188FDCB8_E9DA_11D3_B597_00D009128979__INCLUDED_)
IC卡个人身份识别认证系统4、面部头像捕捉构件#if!defined(AFX_FACEITX_H__11A99BA2_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_)#define AFX_FACEITX_H__11A99BA2_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_#if_MSG_VER>1000#pragma once#endif//_MSC_VER>1000//Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++//NOTEDo not modify the contents of this file。If this class is regenerated by//Microsoft Visual C++,your modifications will be overwritten。//////////////////////////////////////////CFaceItX wrapper classclass CFaceItX public CWnd{protectedDECLARE_DYNCREATE(CFaceItX)publicCLSID const& GetClsid(){static CLSID const clsid={0x553e2de6,0x158f,0x11d1,{0xa4,0x4,0x0,0x60,0x97,0x6b,0xf2,0x95;return clsid;}virtual BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName,DWORD dwStyle,const RECT& rect,CWnd* pParentWnd, UINT nID,CCreateContext* pContext=NULL){return CreateControl(GetClsid(),lpszWindowNamc,dwStyle,rect,pParentWnd,nID);}BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID,CFile* pPersist=NULL,BOOL bStorage=FALSE,BSTR bstrLicKey=NULL){return CrcateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID,pPersist,bStorage,bstrLicKey);}//Attributcspubliclong GetVideoRate();void SetVideoRate(long);long GetLocateThreshold();void SetLocateThreshold(long);BOOL GetLocateUsesMotion();void SetLocateUsesMotion(BOOL);long GetLocateMotionThreshold();void SetLocateMotionThreshold(long);BOOL GetLocateUsesLowRes();void SetLocateUsesLowRes(BOOL);long GetLocateMaxFaces();void SetLocateMaxFaces(long);BOOL GetLocateUsesExtraCheck();
IC卡个人身份识别认证系统void SetLocateUsesExtraCheck(BOOL);BOOL GetColorEnabled();void SetColorEnabled(BO0L);long GetRecognizeThreshold();void SetRecognizeThreshold(long);BOOL GetRecognizeUsesMoreFeatures();void SetRecognizeUsesMoreFeatures(BOOL);long GetVideoDriver();void SetVideoDriver(long);long GetVideoRotate90();void SetVideoRotate90(long);BOOL GetVideoFixAspectRatio();void SetVideoFixAspectRatio(BOOL);BOOL GetVideoCentered();void SetVideoCentered(BOOL);BOOL GetLocateSingleFrameMode();void SetLocateSingleFrameMode(BOOL);long Get_VideoDriver();void Set_VideoDriver(long);BOOL GetLocateIsTracking();void SetLocateIsTracking(BOOL);BOOL GetRecognizeUsesInterference();void SetRecognizeUsesInterference(BOOL);long GetRccognizeScaleRange();void SetRecognizeScaleRange(long);long GetRecognizeSearchRange();void SetRecognizeSearchRange(long);BOOL GetVideoOverlayVisible();void SotVideoOverlayVisible(BOOL);long GetVideoOverlayCircleThickness();void SetVideoOverlayCircleThickness(long);long GetLocateHeadRadiiCount();void SetLocateHeadRadiiCount(long);long GetLocateMinHeadRadius();void SetLocateMinHeadRadius(long);long GetLocateMaxHeadRadius();void SetLocateMaxHeadRadius(long);BOOL GetColorAutoSetOnLocate();void SetColorAutoSetOnLocate(BOOL);BOOL GetLocateUsesCropping();void SetLocateUsesCropping(BOOL);//Operationspublicvoid Terminate();BOOL StartVideoGrab();BOOL SetEyePositions(long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);BOOL GetEyePositions(long* LeftEyeX,long* LeftEyeY,long* RightEyeX,long* RightEyeY);BOOL UnloadPerson(LPCTSTR PersonId);BOOL UnloadAllPeople();long PersonImageCount(LPCTSTR PersonId);BOOL GetVideoImage(VARIANT* ImageData,long* Width,long* Height,long* ColorFormat);BOOL GetVideoImageCanonical(VARIANT* ImageData,long* Width,long* Height,long* ColorFormat);
IC卡个人身份识别认证系统long PersonCount();float LocateConfidence();void VideoDisable();BOOL VideoEnable();void VideoCameraDialog();void VideoDigitizerDialog();long VideoDriverCount();CString VideoDriverName(long driver);BOOL RecognizeConfidence(LPCTSTR PersonId,float* Level);BOOL LocateMotionDetected();BOOL LocateInitTracking();BOOL UnloadImage(long ImageIndex);long LoadPerson(LPCTSTR PersonId,VARIANT* ImageData,long ImageWidth,long ImageHeight,long ColorFormat,long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);long LoadPersonFromFile(LPCTSTR PersonId,LPCTSTR FileName,long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);BOOL XSetFaceItX(long flag,VARIANT* vargO);CString PersonId(long PersonIndex);BOOL FindEyes(VARIANT* ImageData,long ImageWidth,long ImageHeight,long ColorFormat,long* LeftEyeX,long* LeftEyeY,long* RightEyeX,long* RightEyeY);BOOL Locate();BOOL Recognize (LPCTSTR PersonId);BOOL StartFindAndRecognize (LPCTSTR PersonId);CString RecognizeBestMatch(float* Level, BOOL* AboveThreshold, BOOL* PassedInterference);BOOL LocateFoundFace();BOOL StartLocate();BOOL StartRecognize(LPCTSTR PersonId);BOOL IsAlive();void VideoSettingsDialog();BOOL GetVideoImageBigCanonical(VARIANT* ImageData,long* Width,long* Height,long* ColorFormat);void ColorAutoSetModel();void ColorManualSetModel(long LMean,long RMean,long GMean,long LSig,long RSig,long GSig,long RGSig);void ColorGetModel(long* LMean,long* RMean,long* GMean,long* LSig,long* RSig,long* GSig,long* RGSig);BOOL IsStill();void GetLocateCroppedRegion(long* x0,long* y0,long* xl,long* y1);void SetLocateCroppedRegion(long x0,long y0,long x1,long y1);void SetVideoOverlayColor(long ColorIndex);BOOL LocateInitLiveness(long NoiseThreshold,long BlinkThreshold,long SmileThreshold);CString GetAllSettings();void SetAllSettings(LPCTSTR SettingsString);float RecognizeImageConfidence(long ImageIndex);BOOL SaveAsFID(LPCTSTR FileName,VARIANT* ImageData,long ImageWidth,long ImageHeight,long ColorFormat,long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);VARIANT GetFID(VARIANT* ImageData,long ImageWidth,long ImageHeight,long ColorFormat,long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);void SetLicense(LPCTSTR Lic);void AboutBox();};//{{AFX_INSERT_LOCATION}}
IC卡个人身份识别认证系统//Microsoft Visual C++ will insert additional declarations immediately before the previous line。#endif//!defined(AFX_FACEITX_H__11A99BA2_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_)
5、捕捉头像窗口,把上一步的构件用窗口显示和处理//{{AFX_INCLUDES()#include“faceitx. h”#include“faceitimage. h”//}}AFX_INCLUDES#if!defined(AFX_GRABHDDLG_H__11A99BA1_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_)#define AFX_GRABHDDLG_H__11A99BA1_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_#if _MSC_VER>1000#pragma once#endif//_MSC_VER>1000#include “CardOprApp. h”#include“ICCard. h”#include “PersonImage. h”//GrabHdDlg.h header file//////////////////////////////////////CGrabHdDlg dialogclass CGrabHdDlg public CDialog{//Constructionpublicint m_nHdNum;CLevelArray m_arLevels;CGrabHdDlg(CWnd* pParent=NULL);//standard constructor//Dialog Data//{{AFX_DATA(CGrabHdDlg)enum{IDD=IDD_GRABHD_DIALOG};CFaceItX m_pFaceIt;//}}AFX_DATApublicBOOL m_bTimeOut;CString m_strCode;//Overrides//ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CGrabHdDlg)publicvirtual void OnFinalRelease();protectedvirtual void DoDataExchange(CDataExchange* pDX);//DDX/DDV support//}}AFX_VIRTUAL//Implcmcntationprotectcd// Generated message map functions//{{AFX_MSG(CGrabHdDlg)virtual BOOL OnInitDialog();afx_msg void OnStart();afx_msg void OnEnd();
IC卡个人身份识别认证系统afx_msg void OnVideoGrabFinished();afx_msg void OnClose();DECLARE_EVENTSINK_MAP()//}}AFX_MSGDECLARE_MESSAGE_MAP()};//{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before the previous line。#endif//!defined(AFX_GRABHDDLG_H__11A99BA1_F3B3_11D3_8B41_D9084E1ACA48_INCLUDED_)
IC卡个人身份识别认证系统6、IC卡识别应用窗口//CardRecView.hinterface of the CCardRecView class////////////////////////////////////////////{{AFX_INCLUDES()#include“faceitx.h”#include “faceitimage.h”//}}AFX_INCLUDES#if!defined(AFX_CARDRECVIEW_ll__5AEF8AD0_F53B_11D3_8B41_00D009128979__INCLUDED_)#define AFX_CARDRECVIEW_H__5AEF8AD0_F53B_11D3_8B41_00D009128979__INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000class CCardRecVicwpublic CFormView{protected//create from serialization onlyCCardRecView();DECLARE_DYNCREATE(CCardRecView)public//{{AFX_DATA{CCardRecView)enum{IDD=IDD_CARDRECAPP_FORM};CProgressCtrl m_pgrIdensity;CFaceItX m_fixGrab;CFaceItImage m_fiiSrc;CFaceItImage m_fiiFnd;CFaceItImage m_fiiHead;CString m_strName;CString m_strCode;//}}AFX_DATA//AttributespublicCCardRccDoc* GetDocument();//Operationspublic//Overrides//ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CCardRecView)publicvirtual BOOL PreCreateWindow(CREATESTRUCT& cs);virtual void OnFinalRelease();virtual BOOL PreTranslateMessage(MSG* pMsg);protectedvirtual void DoDataExchange(CDataExchange* pDX);//DDX/DDV supportvirtual void OnInitialUpdate();//called first time after construct//}}AFX_VIRTUAL//ImplementationpublicBOOL m_bAutoRecognize;BOOL m_bViewShow;
IC卡个人身份识别认证系统BOOL ReadCard();CLevelArray m_arLevel;int m_nFound;BOOL m_bTimeOut;SCardParm m_pCP;BOOL m_bRecognized;int m_nRecTime;virtual-CCardRecView();#ifdef_DEBUGvirtual void AssertValid()const;virtual void Dump(CDumpContext& dc) const;#endifprotected//Generated message map functionsprotected//{{AFX_MSG(CCardRecView)afx_msg void OnOptionSet();afx_msg void OnReadCard();afx_msg void OnStart();afx_msg void OnRecognizeFinished();afx_msg void OnVideoGrabFinished();afx_msg void OnShowResult();afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnCloseButton();DECLARE_EVENTSINK_MAP()//}}AFX_MSGDECLARE_MESSAGE_MAP()#ifndef_DEBUG//debug version in CardRecView.cppinline CCardRecDoc* CCardRecViewGetDocument(){return(CCardRecDoc*)m_pDocument;}#endif//////////////////////////////////////////////{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before the previous line。#endif//!defined(AFX_CARDRECVIEW_H__5AEF8AD0_F53B_11D3_8B41_00D009128979__INCLUDED_)
权利要求
1.面像识别IC卡个人身份识别认证系统的装置一台带Windows操作系统的计算机,操作系统的计算机,一个彩色或黑白的摄像头,与计算机联结,用于将人的面部特征抓取后传给计算机,一个高分辨率的显示器,与计算机联结,用于显示人的头像,一个接于计算机输出端的控制器,用于根据计算机发出的指令控制后续报警器或开关等应用终端的动作。一个图形捕捉卡,安装在计算机中,使计算机具有图形捕捉功能,一张“IC卡个人身份识别认证系统”光盘,使用时放在光躯中,使计算机按照光盘中预先设置的程序工作,一个读/写卡器,与计算机联结,用于从预先收集的图片库中的图片或从摄像头捕捉的头像读取,并且写入IC卡中,一个可读写IC卡,其中有写入的图片、头像、个人资料如代号、姓名、密码等。
2.面像识别IC卡个人身份识别认证系统的方法面像识别IC卡个人身份识别认证系统,自动检测与计算机相连的读或写卡器状态,并读取IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言,整个系统具体工作流程如下当操作人员选取并点击“开始”键后,系统开始从摄像头抓取的图像中自动不停地搜索头部,当一个类似头部形状的物体出现时,自动使用多种类型的匹配算法来判断该位置是否有一张脸,并确定面部的准确位置;一旦搜索到一幅面部的图像,这幅图像就被从背景中分离出来,经过计算机一系列专门的处理,恢复其正常的面部特征;恢复的面部图像在系统内部被通过一种被称作“局部特征分析(Local Feature Analysis)”的技术转换成一种被叫作“面纹(Faceprint)”的数字编码,这种数字编码包含了个人面部的特征信息;通过把实时取得的“面纹”数字编码和IC卡中已有的“面纹”数字编码进行识别比较,并按系统设定的接受值作出“通过或拒绝”的断言,向接于计算机输出端的控制器发出控制指令,控制后续报警器或开关等应用终端的动作。
3.根据权利要求2所述的面像识别IC卡个人身份识别认证系统的方法,其特征包括“发卡端”和“识别端”“发卡端”实现从“图片库或摄像头”读取头像并写入IC卡中,在IC卡中记录头像信息,包括以下步骤(1)开始,由操作员从键盘输入个人资料(代号,姓名等),(2)进入“从文件或摄像头读取头像”,(3)选择头像来源为“摄像头”,启动摄像头,(4)摄像头捕获一系列面部图像,(5)进入“捕捉到否”判断,如果为“否”,返回(4),(6)如果为“是”,保存图象,并记录下可信度,(7)“到捕捉图像时限否”判断,如果为“否”,返回(4),(8)如果为“是”,排序并取出可信度最高的头像,显示在显示器上,关闭摄像头;(9)或打开图片文件对话框,从图片库选取图片并显示在显示器上;(10)系统从(8、9)自动取得面部特征;将头像数据写入IC卡,(11)终止程序。“识别端”实现从摄像头捕捉持卡人员头像并与IC卡中存放的图像识别比较,并得出结果,向后续控制器发出“通过”或“拒绝”指令。(1)开始,持卡人员把IC卡插入读卡器中,(2)启动摄像头,摄像头捕获持卡人员的面部头像,(3)“系统自动检测读卡器中有无卡”判断,如果为“无”,返回(3),(4)如果为“有”,读卡器读出IC卡中个人信息和面部头像,并显示在显示器上,(5)系统从摄像头抓头像,系统用捕获的头像和IC卡取得的头像比较,(6)“若达到设定可接受值否”的判断,如果为“是”进入,(7)返回“通过”,并且向控制器发出“通过”指令,(8)若达不到可接受的值,并且末到设定时限,转(5),(9)若达不到可接受值,而设定时限已到,返回“拒绝”,并且向控制器发出“拒绝”指令,(10)结束。
全文摘要
面像识别IC卡个人身份识别认证系统,能自动检测与计算机相连的读卡器状态,并读出IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,作出是否通过或拒绝判断,以进行控制后续报警器或开关等应用终端的动作。适应各种不同应用场合,如银行自动取款机ATM,公司考勤,大楼屋业管理等。
文档编号G06K9/46GK1291763SQ0011297
公开日2001年4月18日 申请日期2000年5月31日 优先权日2000年5月31日
发明者吕敦林, 江宁, 胡纲, 陈军 申请人:成都银晨网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1