CN1126066C - 面像识别ic卡个人身份识别认证系统及其识别方法 - Google Patents

面像识别ic卡个人身份识别认证系统及其识别方法 Download PDF

Info

Publication number
CN1126066C
CN1126066C CN 00112976 CN00112976A CN1126066C CN 1126066 C CN1126066 C CN 1126066C CN 00112976 CN00112976 CN 00112976 CN 00112976 A CN00112976 A CN 00112976A CN 1126066 C CN1126066 C CN 1126066C
Authority
CN
China
Prior art keywords
card
camera
head portrait
long
face
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 00112976
Other languages
English (en)
Other versions
CN1291763A (zh
Inventor
吕敦林
江宁
胡纲
陈军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Isvision Intelligent Recognition Technology Co.,Ltd.
Yinchen Network Information Technology Co.,Ltd.
Original Assignee
Chengdu Yinchen Network Communication Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Yinchen Network Communication Science & Technology Co Ltd filed Critical Chengdu Yinchen Network Communication Science & Technology Co Ltd
Priority to CN 00112976 priority Critical patent/CN1126066C/zh
Publication of CN1291763A publication Critical patent/CN1291763A/zh
Application granted granted Critical
Publication of CN1126066C publication Critical patent/CN1126066C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

面像识别IC卡个人身份识别认证系统及其识别方法,能自动检测与计算机相连的读卡器状态,并读出IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,作出是否通过或拒绝判断,以进行控制后续报警器或开关等应用终端的动作。适应各种不同应用场合,如银行自动取款机ATM,公司考勤,大楼屋业管理等。

Description

面像识别IC卡个人身份识别认证系统及其识别方法
技术领域:本发明涉及面像识别IC卡个人身份识别认证系统及其识别方法,能自动检测与计算机相连的读卡器状态,并读出IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态地捕捉人员头像,与IC卡中读出的个人面部头像比较,作出是否通过或拒绝判断,以进行控制后续报警器或开关等应用终端的动作。适应各种不同应用场合,如银行ATM,公司考勤,大楼屋业管理等。
背景技术:
已有技术中国专利申请号95190389,公开号1128006,名称:用于鉴别身份证、信用卡、鉴证、护照和面部识别的生物统计安全过程,主要用于鉴别身份证、信用卡等,以及身份证、信用卡的制作。缺点是不能对活人进行面像识别。
发明内容:
本发明的目的在于提供一种面像识别IC卡个人身份识别认证系统的装置。
本发明的另一目的在于提供一种面像识别IC卡个人身份识别认证系统的方法。
一种面像识别IC卡个人身份识别认证系统的装置,该装置包括:
一台带Windows操作系统的计算机,
一个高分辨率的显示器,与计算机联结,用于显示人的头像,
一个接于计算机输出端的控制器,用于根据计算机发出的指令控制后续报警器或开关应用终端的动作,
一个图形捕捉卡,安装在计算机中,使计算机具有图形捕捉功能,
一张“IC卡个人身份识别认证系统”光盘,使用时放在光驱中,使计算机按照光盘中预先设置的程序工作,
一个读/写卡器,与计算机联结,用于从预先收集的图片库中的图片或从摄像头捕捉的头像读取,并且写入IC卡中,
一个可读写IC卡,其中有写入的图片、头像、个人资料如代号、姓名、密码,
一个彩色或黑白的摄像头,与计算机联结,在系统的发卡端,摄像头用于在将人的面部特征抓取后传给计算机,系统将头像数据写入IC卡;
其特征在于:在系统的识别端有摄像头,摄像头用于实时动态的捕捉人员头像,与计算机从IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言。
面像识别IC卡个人身份识别认证系统的方法:面像识别IC卡个人身份识别认证系统,自动检测与计算机相连的读写卡器状态,并读取IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言,整个系统具体工作流程如下:
当操作人员选取并点击“开始”键后,系统开始从摄像头抓取的图像中自动不停地搜索头部,当一个类似头部形状的物体出现时,自动使用多种类型的匹配算法来判断该位置是否有一张脸,并确定面部的准确位置;
一旦搜索到一幅面部的图像,这幅图像就被从背景中分离出来,经过计算机一系列专门的处理,恢复其正常的面部特征;
恢复的面部图像在系统内部被通过一种被称作“局部特征分析(LocalFeature 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_INCLUDES()
#include″faceitimage.h″
//}}AFX_INCLUDES
#if!defined(AFX_CARDOPRDLG_ll__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 ClassView
class CCardOprDlg:public CDialog
{
//Construction
public:
  CCardOprDlg(CWnd*pParent=NULL);//standard constructor
//Dialog Data
  //{{AFX_DATA(CCardOprDlg)
  enum{IDD=IDD_CARDOPRAPP_DIALOG};
  CFaceItImagc m_FaceImage;
  CString m_strName;
  CString m_strCode;
  BOOL m_bOrigin;
  //}}AFX_DATA
  //ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CCardOprDlg)
  public:
  virtual void OnFinalRelease();
  virtual BOOL PreTranslateMessage(MSG*pMsg);
  protected:
  virtual void DoDataExchange(CDataExchange*pDX);//DDX/DDV support
  //}}AFX_VIRTUAL
public:
  BYTE 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=″″;
   };
 public:
   CString strCodc;
   CString strName;
   CString strLx;
   CString strLy;
   CString strRx;
   CString strRy;
   CString strFile;
 public:
   operator=(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();
 //Implementation
protected:
  HICON 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 OnRetrieveData();
  afx_msg void OnFromGrab();
  afx_msg void OnOptionSet();
  afx_msg void OnAbout();
  afx_msg void OnSourceChange(UINT nID=0);
  afx_msg void OnNameLostFocus();
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++will insert additional declarations immediately before the prcvi
ous line.
#endif//!defined(AFX_CARDOPRDLG_H__D5789157_F0E2_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++
//NOTE:Do not modify the contents of this file.If this class is regenerated by
//Microsoft Visual C++,your modifications will be overwritten.
/////////////////////////////////////////////////////////////////////////////
//CFaceItImage wrapper class
class CFaceItImage:public CWnd
{
protected:
  DECLARE_DYNCREATE(CFaceItImage)
public:
  CLSID const & GetClsid()
  {

  static CLSID const clsid

    ={0xeeb79086,0x7168,0x11d1,{0xa4,0x7,0x0,0x60,0x97,0x6b,0xf2,0x9 5}}
;

  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,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 CreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID,

  pPersist,bStorage,bstrLicKey);}
//Attributes
public:
  BOOL GetConstantAspectRatio();
  void SetConstantAspectRatio(BOOL);
  BOOL GetCenterImage();
  void SetCenterImage(BOOL);
//Operations
public:
  long 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 GetJPEG(long Quality);
  void ShowCropped(long X0,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 prcvi
ous 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_MSC_VER>1000
#pragma once
#endif //_MSC_VER>1000
//Machine generated IDispatch wrapper class(es)created by Microsoft Visual C++
//NOTE:Do not modify the contents of this file.If this class is regenerated by
//Microsoft Visual C++,your modifications will be ovcrwritten.
////////////////////////////////////////////////////////////////////////////
//CFaceItX wrappcr class
class CFaceItX:public CWnd
{
protected:
  DECLARE_DYNCREATE(CFaceItX)
public:
  CLSID 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,pParcntWnd,nID);}

  BOOL Create(LPCTSTR lpszWindowName,DWORD dwStyle,

  const RECT& rect,CWnd*pParentWnd,UINT nID,

  CFile*pPersist=NULL,BOOL bStorage=FALSE,

  BSTR bstrLicKcy=NULL)
  {return CreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID,

  pPersist,bStorage,bstrLicKey);}
//Attributes
public:
  long 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 SetLocateUsesExtraChcck(BOOL);
  BOOL GetColorEnabled();
  void SetColorEnabled(BOOL);
  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 GetRecognizeScaleRange();
  void SctRecognizeScaleRange(long);
  long GetRecognizeSearchRange();
  void SetRecognizeSearchRange(long);
  BOOL GetVideoOverlayVisible();
  void SetVideoOverlayVisible(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);
//Operations
public:
  void Terminate();
  BOOL StartVideoGrab();
  BOOL SetEyePositions(long LeftEyeX,long LeftEyeY,long RightEyeX,long RingtEyeY);
  BOOL GetEyePositions(long*LeftEyeX,long*LftEyeY,long*RingtEyeX,long*RightEyeY)
;
  BOOL UnloadPcrson(LPCTSTR PersonId);
  BOOL UnloadAllPeople();
  long PersonImageCount(LPCTSTR PersonId);
  BOOL GetVideoImage(VARIANT*ImageData,long*Width,long*Heiht,long*ColorFormat);
  BOOL GetVideoImagcCanonical(VARIANT*ImageData,long*Width,long*Height,long*Color
Format);
                     IC卡个人身份识别认证系统
  long PersonCount();
  float LocateConfidence();
  void VideoDisable();
  BOOL VideoEnable();
  void VideoCameraDialog();
  void VideoDigitizerDialog();
  long VideoDriverCount();
  CString VideoDriverName(long driver);
  BOOL RecognizeConfidence(LPCTSTR PersonId,float*Lcvel);
  BOOL LocateMotionDetected();
  BOOL LocateInitTracking();
  BOOL UnloadImage(long ImageIndex);
  long LoadPerson(LPCTSTR PersonId,VARIANT*ImageData,long ImageWidth,long ImageHeigh
t,long ColorFormat,long LeftEyeX,long LeftEyeY,long RightEyeX,long RightEyeY);
  long LoadPersonFromFile(LPCTSTR PersonId,LPCTSTR FileName,long LeftEyeX,long LeftEy
eY,long RightEyeX,long RightEyeY);
  BOOL XSetFaceItX(long flag,VARIANT*varg0);
  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*PassedInterferenc
e);
  BOOL LocateFoundFace();
  BOOL StartLocate();
  BOOL StartRecognize(LPCTSTR PersonId);
  BOOL IsAlive();
  void VideoSettingsDialog();
  BOOL GetVideoImageBigCanonical(VARIANT*ImageData,long*Width,long*Height,long*Co
lorFormat);
  void ColorAutoSetModel();
  void ColorManualSetModel(long LMean,long RMean,long GMean,long LSig,long RSig,lon
g GSig,long RGSig);
  void ColorGetModel(long*LMean,long*RMcan,long*GMean,long*LSig,long*RSig,long
*GSig,long*RGSig);
  BOOL IsStill();
  void GetLocateCroppedRegion(long*x0,long*y0,long*x1,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 previ
ous llne.
#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 dialog
class CGrabHdDlg:public CDialog
{
//Construction
public:
  int 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_DATA
public:
  BOOL m_bTimeOut;
  CString m_strCode;
//Overrides
  //ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CGrabHdDlg)
  public:
  virtual void OnFinalRclease();
  protected:
  virtual void DoDataExchange(CDataExchange*pDX);//DDX/DDV support
  //}}AFX_VIRTUAL
//Implementation
protected:
  //Genera ted message map functions
  //{{AFX_MSG(CGrabHdDlg)
  virtual BOOL OnInitDialog();
  afx_msg void OnStart();
  afx_msg void OnEnd();
                           IC卡个人身份识别认证系统
  afx_msg void 0nVideoGrabFinished();
  afx_msg void OnClose();
  DECLARE_EVENTSINK_MAP()
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++will insert additional declarations immediately before the prcvi
ous line.
#endif//!defined(AFX_GRABHDDLG_H__11A99BA1_F3B3_11D3_8B41_D9084E1ACA48__INCLUDED_)
                          IC卡个人身份识别认证系统 6、IC卡识别应用窗口:
//CardRecView.h:interface of the CCardRecView class
//
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INCLUDES()
#include″faceitx.h″
#include″faceitimage.h″
//}}AFX_INCLUDES
#if!defined(AFX_CARDRECVIEW_H__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>1000
class CCardRecView:public CFormView
{
protected://create from serialization only
  CCardRecView();
  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
//Attributes
public:
  CCardRecDoc*GetDocument();
//Operations
public:
//Overrides
  //ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CCardRecView)
  public:
  virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  virtual void OnFinalRelease();
  virtual BOOL PreTranslateMessage(MSG* pMsg);
  protected:
  virtual void DoDataExchange(CDataExchange*pDX);//DDX/DDV support
  virtual void OnInitialUpdate();//called first time after construct
  //}}AFX_VIRTUAL
//Implementation
public:
  BOOL 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_DEBUG
  virtual void AssertValid()const;
  virtual void Dump(CDumpContext& dc)const;
#endif
protected:
//Generated message map functions
protected:
  //{{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 OnShowResuIt();
  afx_msg void OnTimer(UINT nIDEvent);
  afx_msg void OnCloseButton();
  DECLARE_EVENTSINK_MAP()
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
};
#ifndef_DEBUG//debug version in CardRecView.cpp
inline CCardRecDoc*CCardRecView::GetDocument()
  {return(CCardRecDoc*)m_pDocument;}
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++will insert additional declarations immediately before the previ
ous line.
#endif//!defined(AFX_CARDRECVIEW_H__5AEF8AD0_F53B_11D3_8B41_00D009128979__INCLUDED_)

Claims (3)

1、一种面像识别IC卡个人身份识别认证系统的装置,该装置包括:
一台带Windows操作系统的计算机,
一个高分辨率的显示器,与计算机联结,用于显示人的头像,
一个接于计算机输出端的控制器,用于根据计算机发出的指令控制后续报警器或开关应用终端的动作,
一个图形捕捉卡,安装在计算机中,使计算机具有图形捕捉功能,
一张“IC卡个人身份识别认证系统”光盘,使用时放在光驱中,使计算机按照光盘中预先设置的程序工作,
一个读/写卡器,与计算机联结,用于从预先收集的图片库中的图片或从摄像头捕捉的头像读取,并且写入IC卡中,
一个可读写IC卡,其中有写入的图片、头像、个人资料如代号、姓名、密码,
一个彩色或黑白的摄像头,与计算机联结,在系统的发卡端,摄像头用于在将人的面部特征抓取后传给计算机,面像识别IC卡个人身份识别认证系统将头像数据写入IC卡;
其特征在于:在系统的识别端有摄像头,摄像头用于实时动态的捕捉人员头像,与计算机从IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言。
2、面像识别IC卡个人身份识别认证系统的方法:
面像识别IC卡个人身份识别认证系统,自动检测与计算机相连的读或写卡器状态,并读取IC卡中个人面部头像,然后通过与计算机相连的摄像头实时动态的捕捉人员头像,与IC卡中读出的个人面部头像比较,按系统设定的接受值作出“通过或拒绝”断言,整个系统具体工作流程如下:
当操作人员选取并点击“开始”键后,系统开始从摄像头抓取的图像中自动不停地搜索头部,当一个类似头部形状的物体出现时,自动使用多种类型的匹配算法来判断该位置是否有一张脸,并确定面部的准确位置;
一旦搜索到一幅面部的图像,这幅图像就被从背景中分离出来,经过计算机一系列专门的处理,恢复其正常的面部特征;
恢复的面部图像在系统内部被通过一种被称作“局部特征分析(LocalFeature 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)结束。
CN 00112976 2000-05-31 2000-05-31 面像识别ic卡个人身份识别认证系统及其识别方法 Expired - Fee Related CN1126066C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 00112976 CN1126066C (zh) 2000-05-31 2000-05-31 面像识别ic卡个人身份识别认证系统及其识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 00112976 CN1126066C (zh) 2000-05-31 2000-05-31 面像识别ic卡个人身份识别认证系统及其识别方法

Publications (2)

Publication Number Publication Date
CN1291763A CN1291763A (zh) 2001-04-18
CN1126066C true CN1126066C (zh) 2003-10-29

Family

ID=4582796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 00112976 Expired - Fee Related CN1126066C (zh) 2000-05-31 2000-05-31 面像识别ic卡个人身份识别认证系统及其识别方法

Country Status (1)

Country Link
CN (1) CN1126066C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4686153B2 (ja) * 2004-09-10 2011-05-18 日立オムロンターミナルソリューションズ株式会社 情報処理装置、不正者検出方法および現金自動預け払い装置
CN100454978C (zh) * 2005-03-17 2009-01-21 佳能株式会社 摄像装置以及控制显示装置和摄像装置的方法
JP4324170B2 (ja) 2005-03-17 2009-09-02 キヤノン株式会社 撮像装置およびディスプレイの制御方法
JP2006268614A (ja) * 2005-03-25 2006-10-05 Sony Corp 情報処理システム、情報処理装置および方法、プログラム、並びに記録媒体
CN101216973B (zh) * 2007-12-27 2011-08-17 北京中星微电子有限公司 一种自动柜员机监控方法、系统与监控装置
WO2010031213A1 (zh) * 2008-09-16 2010-03-25 Chen Hong 一种智能身份识别方法及其实现该方法的识别终端
CN101887600A (zh) * 2009-05-14 2010-11-17 汉王科技股份有限公司 身份认证方法及装置
CN101833829A (zh) * 2010-03-12 2010-09-15 秦小枢 带图像监控识别分析系统的取款机或存取款机
CN101894416A (zh) * 2010-07-30 2010-11-24 秦小枢 带图像监控识别分析系统的取款机或存取款机
CN109756673B (zh) * 2013-02-13 2022-02-08 华为技术有限公司 一种控制显示状态的方法和终端
JP5561418B1 (ja) * 2013-08-09 2014-07-30 富士ゼロックス株式会社 画像処理装置及びプログラム
CN103425919A (zh) * 2013-08-11 2013-12-04 杭州易欣安实业有限公司 生物特征信息识别管理系统
CN105046789A (zh) * 2015-08-13 2015-11-11 宝鸡市交通信息工程研究所 基于面部特定标识的人脸识别门禁系统及实现方法
CN105139470B (zh) * 2015-09-30 2018-02-16 杭州海康威视数字技术股份有限公司 基于人脸识别的考勤方法、装置及系统
TWI630583B (zh) * 2016-04-15 2018-07-21 泰金寶電通股份有限公司 動態門禁控制系統及動態門禁控制方法
CN106485820B (zh) * 2016-09-30 2019-01-29 甘肃万华金慧科技股份有限公司 智能实名认证发卡通道控制终端系统
CN106934896A (zh) * 2017-03-16 2017-07-07 安庆师范大学 一种具有图像采集的门禁系统
CN107358667A (zh) * 2017-05-23 2017-11-17 合肥众耀信息科技有限公司 一种用于会议签到的考勤管理系统
CN108198261A (zh) * 2018-02-01 2018-06-22 上海胜战科技发展有限公司 一种企业服务平台
CN114038105A (zh) * 2021-11-11 2022-02-11 浩云科技股份有限公司 一种身份信息安全监控方法及装置

Also Published As

Publication number Publication date
CN1291763A (zh) 2001-04-18

Similar Documents

Publication Publication Date Title
CN1126066C (zh) 面像识别ic卡个人身份识别认证系统及其识别方法
JP3974375B2 (ja) 人物認識装置、人物認識方法および通行制御装置
AU2004271639B2 (en) Systems and methods for biometric identification using handwriting recognition
US8818034B2 (en) Face recognition apparatus and methods
JP5801601B2 (ja) 画像認識装置、画像認識装置の制御方法、およびプログラム
Khairosfaizal et al. Eyes detection in facial images using circular hough transform
US20080253659A1 (en) Systems and methods for biometric identification using handwriting recognition
JP2007206833A (ja) 生体照合方法および生体照合装置
CN101038686A (zh) 一种基于信息融合的机读旅行证件识别方法
JP2872776B2 (ja) 顔画像照合装置
JP4303191B2 (ja) 画像認識システム、画像認識方法、及び画像認識プログラム
WO2022213396A1 (zh) 猫的面部个体识别装置、方法、计算机设备及存储介质
JP2007179569A (ja) 人物認識装置、人物認識方法および通行制御装置
CN109657627A (zh) 身份验证方法、装置及电子设备
CN1801178A (zh) 基于生物护照的快速通关方法
Hu et al. XFace: a face recognition system for android mobile phones
JP2005084980A (ja) 顔画像付きカード用データ生成装置および方法並びにプログラム
Salihbašić et al. Development of android application for gender, age and face recognition using opencv
JP2013008093A (ja) 画像認識装置、画像認識方法及びプログラム
JP2012221053A (ja) 画像認識装置、画像認識方法、及びプログラム
CN112101293A (zh) 人脸表情的识别方法、装置、设备及存储介质
Schneider et al. Feature based face localization and recognition on mobile devices
KR100217045B1 (ko) 인감 자동 대조 시스템 및 그의 제어방법
JP2005084979A (ja) 顔認証システムおよび方法並びにプログラム
Reddy et al. Face Recognition Based Attendance Management System By Using Embedded Linux

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHANGHAI YINGCHENG NTELLIGENT RECOGNITION TECHNOL

Free format text: FORMER OWNER: YINCHEN NETWORK INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20040423

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: YINCHEN NETWORK INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER NAME OR ADDRESS: YINCHEN NETWORK COMMUNICATION SCIENCE AND TECHNOLOGY CO LTD, CHENGDU

CP01 Change in the name or title of a patent holder

Patentee after: Yinchen Network Information Technology Co.,Ltd.

Patentee before: CHENGDU YINCHEN NETWORK COMMUNICATION SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20040423

Address after: Jing Shanghai Zhangjiang High Tech Park of Pudong New Area No. 498 Building 9 Room 401 Chen Chao

Patentee after: Shanghai Isvision Intelligent Recognition Technology Co.,Ltd.

Address before: Floor 5, block B, World Trade Center, No. 117 Gulou Street South, Sichuan, Chengdu

Patentee before: Yinchen Network Information Technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031029

Termination date: 20150531

EXPY Termination of patent right or utility model