基于近红外与可见光双目摄像头的活体人脸检测,文末附Demo
基于近红外与可见光双目摄像头的活体人脸检测原理
人脸活体检测(Face Anti-Spoofing)是人脸识别系统中的重要一环,它负责验证捕捉到的人脸是否为真实活体,以抵御各种伪造攻击,如彩色纸张打印的人脸图、电子设备屏幕中的人脸数字图像及面具等。这些攻击手段若得逞,将对金融安全、门禁管理等造成严重威胁。
基于近红外与可见光双目摄像头的活体人脸检测利用红外摄像头下视频和大部分纸张不能呈现图像的特性,有效的防止了视频中伪造人脸的攻击;同时利用近红外摄像头和可见光摄像头下真实人脸与照片人脸纹理差异和颜色差异,可以有效地区分人脸是来自真实人脸还是照片中的伪造人脸。

Android实现双目红外活体检测
首先建议使用上图1 的USB 双目摄像头,能支持双头Type-C 接口UVC协议的,现在的手机平板大部分都是TypeC 接口了,千万别整公头USB口,需要特定的开发板才能开发调试。
然后 打通UVC协议摄像头预览,能正常预览才能取数据进行AI分析人脸识别等,目前Android 平台的UVC协议摄像头库最有名的就是日本大神的 saki4510t/UVCCamera,但是很久不维护了,文章最后的源码会集成到Demo 中
最后 就可以拿双目摄像头中的RGB和IR 图像进行活体检测人脸识别了。
/**
* 初始化IR 摄像头
*
*/
private void initIRCamara() {
irCameraManager.initCameraHelper();
irCameraManager.setOpeningMultiCamera(true);
irCameraManager.setCameraView(binding.irCameraTextureView,true);
irCameraManager.selectUsbCamera(UsbCameraEnum.IR);
irCameraManager.setOnDeviceStatuesCallBack(new UsbCameraManager.OnDeviceStatuesCallBack() {
@Override
public void onAttach(UsbDevice device) {
}
@Override
public void onDeviceOpen(UsbDevice device, boolean isFirstOpen) {
}
});
irCameraManager.setPreviewHeight(PREVIEW_HEIGHT);
irCameraManager.setFrameCallback(frame -> {
Size currentPreviewSize = irCameraManager.getCurrentPreviewSize();
int width = PREVIEW_WIDTH;
int height = PREVIEW_HEIGHT;
if (currentPreviewSize != null) {
width = currentPreviewSize.width;
height = currentPreviewSize.height;
}
Bitmap bitmap = DataConvertUtils.NV21Data2Bitmap(frame, width, height, 0, 0, false);
if (bitmap != null) {
faceVerifySetBitmap(bitmap, FaceVerifyUtils.BitmapType.IR);
}
}, UVCCamera.PIXEL_FORMAT_NV21);
}
初始化RGB和IR 数据后把数据转为Bitmap 后送入引擎开始人脸识别,双目活体检测了
faceVerifyUtils.goVerifyWithIR(irBitmap, rgbBitmap);
注意事项
- 目前的USB双目摄像头的带宽普遍不足,但好在人脸识别,双目活体检测不需要太高分辨率,1280*720 足够了
- 需要宽动态抗逆光摄像头,调试的时候经常经常用手触摸镜头需要保持镜头整洁
- 确保两个摄像头都正常稳定同步的输出了影像画面
演示接入代码Demo 和体验App 下载
上述的UVC 协议摄像头管理已经放在工程目了libs 下面了打包成了AAR 文件,整个项目代码GitHub 搜索AnyLifeZLB/FaceVerificationSDK
或者点击: https://github.com/AnyLifeZLB/FaceVerificationSDK
手上有双目摄像头的连接设备可以立马体验效果

基于近红外与可见光双目摄像头的活体人脸检测,文末附Demo的更多相关文章
- [C#][Windows]]基于ArcFace2.0+红外双目摄像头的活体检测
废话不多说 直接上图 这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红 ...
- [Windows][C#][.NET][WPF]基于ArcFace2.0+红外双目摄像头的活体检测
废话不多说 直接上图这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红外 ...
- 基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别
AdaBoost 算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高. 系统在技术上的三个贡献: 1.用简单的Haa ...
- 基于cyusb3014的usb3.0双目摄像头开发测试小结(使用mt9m001c12stm)
测试图像 摄像头分辨率为1280*1024,双目分辨率为2560*1024 ps:时钟频率太高,时序约束还得进一步细化,图像偶尔会出现部分雪花,下一步完善
- 基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天. 理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行 ...
- 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)
在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框 ...
- 30分钟玩转Net MVC 基于WebUploader的大文件分片上传、断网续传、秒传(文末附带demo下载)
现在的项目开发基本上都用到了上传文件功能,或图片,或文档,或视频.我们常用的常规上传已经能够满足当前要求了, 然而有时会出现如下问题: 文件过大(比如1G以上),超出服务端的请求大小限制: 请求时间过 ...
- 基于MTCNN多任务级联卷积神经网络进行的人脸识别 世纪晟人脸检测
神经网络和深度学习目前为处理图像识别的许多问题提供了最佳解决方案,而基于MTCNN(多任务级联卷积神经网络)的人脸检测算法也解决了传统算法对环境要求高.人脸要求高.检测耗时高的弊端. 基于MTCNN多 ...
- 基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型
前言 随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问 ...
- 爬坑!OpenCV打开双目摄像头
1.首先找到双目摄像头的VideoCapture的设备号,记住定义时要采用降序的方法定义:cv::VideoCapture Rcap(1); cv::VideoCapture Lcap(0); 2.分 ...
随机推荐
- qemu/kvm
<domain type="kvm"> <name>win7</name> <uuid>e31c1621-b3c3-42ed-be3 ...
- Springboot 指定外部配置文件启动
<resources> <resource> <directory>src/main/resources</directory> <filteri ...
- Qt编写物联网管理平台49-设备模拟工具
一.前言 本系统专门配备了设备模拟工具,用来在没有外接真实设备的时候,模拟modbus协议数据,支持多个设备,支持串口和网络方式,可切换正常数据和报警数据,反应到主程序上.对应主程序中两种端口,一种是 ...
- 三步把asp.net core 3.1应用部署到centos7
一.编译发布Asp.net core 应用 直接使用vs2019编译发布后,通过ftp上传到centos的 /www/ 目录下,不再赘述. 二.centos安装asp.net core runtime ...
- 小程序获取定位完整的封装js(uniapp)
1.小程序获取定位,首先需要在微信公众平台,申请getLocation接口(开发管理->接口设置) 2.在manifest.json打开源码视图,增加代码 "mp-weixin&quo ...
- Mac_工具使用汇总
Mac安装低版本的Xcode后会出现各种问题,现汇总如下: 1. python3: error: unable to find utility "python3", not a ...
- CSS JS 自适应菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MS Speech/ azure
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- cpa-会计
会计整体介绍 1.总结 2.会计政策.会计估计及其变更和差错更正 3.存货 4.固定资产 5.无形资产 6.投资性房地产 7.长期股权投资与合营安排 8.资产减值 9.负债 10.职工薪酬 11.借款 ...
- w3cschool-MyBatis 教程
参考 https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html MyBatis 入门 SqlSessionFactoryBuilder用 SqlSe ...