动态人脸识别与身份证上的头像如何对比,看是不是同一个人?

动态人脸识别与身份证上的头像如何对比,然后识别出来是不是同一个人?... 动态人脸识别与身份证上的头像如何对比,然后识别出来是不是同一个人? 展开
 我来答
lixiaodaoaaa
2019-08-28 · 超过27用户采纳过TA的回答
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:52万
展开全部

【人脸实时比对与身份证比对判断是否是一个人的Android Demo】

关于此项目的需求

  经常有这种需求,比如住宾馆、开证明,银行卡提款等
要验证这个人跟身份证是同一个人的需求,我们暂且叫做《人证比对》需求。那么这里一定牵涉到人脸的识别,识别出人脸,然后实时的拿到人脸,再去跟身份证的头像做比对。比对出一个结果值来,如果这个结果值特别像一个人,那么我们就认为它是一个人。(本文用Android
程序实现)
实现身份证与人脸实时比对判断是否是一个人的Android Demo.

项目运行截图:

关于身份证读卡:

身份证读卡

第一个就是要读取到身份证信息。拿到照片数据、身份证数据(比如身份证号码、年龄、性别、出生年月等)。这个设备就叫做身份证读卡器(比如
我们这个项目用的是《云从科技》的机器,集成了身份证读卡器,实际上是买的华视读卡器设备(提供了AndroidDemo 我们在这里封装成了
读卡器Libarary也叫 读卡器单独的module 、或者叫sdk)。


项目结构:

请点击输入图片描述

项目解释:

app module 依赖libraries 目录下的FaceVerifyModel和ReadIDCardModel。我们对身份证读卡的sdk做了简单的封装。我们无需理会读卡的具体过程,我可以再本片文章做简单的解释,以便你更快的理解我封装的sdk运行原理读卡原理。

关于sdk的封装代码简单解释:

要一直读卡,那么一定会有一个子线程while(true)一直读卡,直到程序停止,app退出,那么这个线程结束。我们要用一个线程控制。。


private class AlwaysReadCardRunnable implements Runnable {        @Override
public void run() {
HSIDCardInfo icCardInfo;            while (isAutoReadCard) {                synchronized (hsOtgApi) {                    //读取成功阻塞3秒
SystemClock.sleep(4 * 100);                    if (hsOtgApi.Authenticate(200, 200) != 1) {
Log.i(TAG, "卡认证失败");                        //SystemClock.sleep(1 * 1000);
SystemClock.sleep(1 * 1000);
} else {
icCardInfo = new HSIDCardInfo();
ReadCardEvent cardEvent = new ReadCardEvent();                        if (hsOtgApi.ReadCard(icCardInfo, 200, 1300) == 1) {                            int ret = hsOtgApi.Unpack(filepath, icCardInfo.getwltdata());// 照片解码
if (ret != 0) {
Log.i(TAG, "unzip  success");
}
cardEvent.setCardInfo(icCardInfo);
EventBus.getDefault().post(cardEvent);
Log.i(TAG, "读卡成功");
SystemClock.sleep(5 * 100);
}                        else{
Log.i(TAG, "读卡shibai");
}                        //SystemClock.sleep(3 * 1000);
}
}
}
}
}

Demo使用方法:

Activity的创建后初始化此sdk

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        new VerifyPresenter((VerifyContract.View) fragment, new VerifyModel());        IDCardSDK.getInstance().initSDK(getHandler(), this);
}

关于IdCardBean


public class IdCardBean {    private String name;    private String gender;    private String people;//民族;
private String from;//
private String address;    private String idNumber;    private String department;    private String endDate;    private String birthDay;//生日

app项目中用 Eventbus 得到 身份证读卡信息。


@Subscribe
public void onEventMainThread(ReadCardEvent readCardEvent) {
isStartMatch = true;
startMatchTime = System.currentTimeMillis();

Log.i(TAG, "检测成功,并且读取到身份证信息");

HSIDCardInfo cardInfo = readCardEvent.getCardInfo();
idCardBean = IdCardConvertUtils.converToIdCardBean(cardInfo);
mPresenter.getRealItemBeanByIdCard(idCardBean);
Log.i("lixiaodaoaaa", "file path is " + FileConstant.ID_CARD_HEAD_FILE_PATH);
Bitmap bitmapFromPath = FileUtils.getBitmapFromPath(FileConstant.ID_CARD_HEAD_FILE_PATH);
ivPeopleHead.setImageBitmap(bitmapFromPath);

}

关于 IdCardConvertUtils

这个是类型转化类,实现类的转化 读取身份证信息。


/*
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
Author   :  lixiaodaoaaa
Date     :  2019-08-11
Time     :  17:13
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
*/public class IdCardConvertUtils {


public static IdCardBean converToIdCardBean(HSIDCardInfo cardInfo) {
IdCardBean idCardBean = new IdCardBean();        if (null != cardInfo) {            String name = cardInfo.getPeopleName();            String gender = cardInfo.getSex();            String people = cardInfo.getPeople();            String birthDay = DateFormatterUtils.toBirthDay(cardInfo.getBirthDay());            String address = cardInfo.getAddr();            String cardNumber = cardInfo.getIDCard();            String department = cardInfo.getDepartment();            String endDate = cardInfo.getEndDate();
idCardBean.setName(name);
idCardBean.setGender(gender);
idCardBean.setPeople(people);
idCardBean.setBirthDay(birthDay);
idCardBean.setAddress(address);
idCardBean.setIdNumber(cardNumber);
idCardBean.setDepartment(department);
idCardBean.setEndDate(endDate);            return idCardBean;
}        return null;
}
}

demo中概述

  • 实现实时图像(人脸图像)

  • 读取身份证信息。

Demo下载:联系v : lixiaodaoaaa

广州速推信息科技有限公司
2017-03-01 · 诚信经营,以人为本,客户致上!
广州速推信息科技有限公司
文芳阁传媒是一个专业在网络上承接企业,个人软文代写以及软文推广的平台。以低价格把新闻发布在新浪、网易、新华、凤凰、腾讯、央视等3000家门户及地方网站媒体,以塑造公司品牌的知名度和公信力.
向TA提问
展开全部
开放平台为企业提供了极大的商业想象空间,现场人脸和身份证头像人脸对比识别是一种尖端可靠的前沿科学技术。无论是从业务开发的广度和深度,人脸对比识别服务平台都代表着国内现场人脸和身份证头像人脸对比识别最专业、最精准的技术水平。同时,现场人脸和身份证头像人脸对比识别接口平台更以形式自由著称----不限语言、不限平台(支持浏览器、桌面)、不限使用场所,为企业创造了更为便利、更为广阔的应用领域。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2017-03-01 · 超过11用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:21.8万
展开全部
这个就是人脸识别软件啊?中安未来不仅可以做到人脸比对,还能提供身份证,护照等证件的识别核心,关键是单机版,服务器端都可以做。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兰漾漾0Jp
2021-04-19 · TA获得超过534个赞
知道小有建树答主
回答量:1618
采纳率:63%
帮助的人:58.4万
展开全部

       打开百度,搜索“通查”,点击打开通查网站,进入“全部产品”栏目,找到“身份证照片人脸验证”产品点击进入

上传照片,输入身份证号和姓名

通过“微信”或“支付宝”支付后即可获取相关信息

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-06-05
展开全部
动态的话是识别的范围要广一些,在某段距离内就可以识别并实现开门,而静态的话呢则是需要在指定的区域内范围内识别,相对较慢一些&成都熙南&%动态人脸识别系统。。。广泛应用于小区出入口,智慧工地,外接住键局
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式