seetaface6,windows和linux环境自适应,支持GPU
seetaface6SDK
项目地址
seetaface6SDK地址
介绍
- 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目
- windows和linux环境自适应。
- 支持GPU
- 使用方便:(1)导入jar包;(2)配置模型文件路径即可使用;无需自己配置dll,so这些东西
演示真假人脸识别
- spoof为攻击人脸,real为真人脸
测试代码
- 攻击人脸检测,返回FaceAntiSpoofing.Status,spoof为攻击人脸,real为真人脸
public class AntiSpoofingTest {public static String CSTA_PATH = "D:\\face\\models";public static String TEST_PICT = "D:\\face\\image\\me\\00.jpg";/*** 初始化加载dll*/static {LoadNativeCore.LOAD_NATIVE(SeetaDevice.SEETA_DEVICE_AUTO);}public static void main(String[] args) {//三个模型文件String[] detector_cstas = {CSTA_PATH + "/face_detector.csta"};// 这里传两个模型才能准确得出结果 (fas_first和fas_second)String[] fas_first = {CSTA_PATH + "/fas_first.csta"};String[] landmarker_cstas = {CSTA_PATH + "/face_landmarker_pts5.csta"};try {//人脸检测器FaceDetector detector = new FaceDetector(new SeetaModelSetting(0, detector_cstas, SeetaDevice.SEETA_DEVICE_AUTO));//关键点定位器face_landmarker_pts5 就是五个关键点,face_landmarker_pts68就是68个关键点,根据模型文件来的FaceLandmarker faceLandmarker = new FaceLandmarker(new SeetaModelSetting(0, landmarker_cstas, SeetaDevice.SEETA_DEVICE_AUTO));//攻击人脸检测器FaceAntiSpoofing faceAntiSpoofing = new FaceAntiSpoofing(new SeetaModelSetting(0, fas_first, SeetaDevice.SEETA_DEVICE_AUTO));SeetaImageData image = SeetafaceUtil.toSeetaImageData(TEST_PICT);SeetaRect[] detects = detector.Detect(image);for (SeetaRect seetaRect : detects) {//face_landmarker_pts5 根据这个来的SeetaPointF[] pointFS = new SeetaPointF[5];int[] ints = new int[5];faceLandmarker.mark(image, seetaRect, pointFS,ints);FaceAntiSpoofing.Status predict = faceAntiSpoofing.Predict(image, seetaRect, pointFS);System.out.println(predict);}} catch (Exception e) {e.printStackTrace();}}
}
功能
- 人脸检测和关键点定位
- 人脸特征提取和对比
- 人脸特征提取
- 人脸特征对比
- 活体检测
- 人脸跟踪
- 质量评估
- 年龄识别
- 性别识别
- 口罩检测
- 口罩人脸识别
- 眼睛状态检测
软件架构
- 基于seetaface6 c++源码编译,基于JNI技术,通过编译c++ 得到dll和so。
- 使用起来超级简单,打成jar包,导入项目就可以用了,不需要配置jni路径之类的。
安装教程
- (必做)window10 环境需要安装 visual_studio(安装时注意选择c++环境,不知道就百度),jdk8-jdk14任选。
- (必做)linux 环境需要安装 cmake-3.12.4.tar.gz,jdk8-jdk14任选。
- 可以跟着test代码包里面的代码走一遍,了解使用方法,再自己引入自己项目中。
- 本项目可以直接打包成jar,导入本地maven仓库或是私服,其他项目直接引用jar就可以了。
- 只有windows10和centos7(8没试过)这两种so,乌班图和mac是运行不了的,so只编译了这两种。
- GPU环境有点复杂,建议先试试CPU的,GPU环境的配置后面再提交说明。
- 模型文件自己去下载了,这里不提供,下载地址请到官网去看,本项目也是官网源码编译而来。
- 建了个Q企鹅Q群:290690355
- 觉得好的是不是可以点个star?
使用说明
模型介绍:模型自己去官网下载
模型 | 模型说明 | 备注 |
---|---|---|
face_recognizer.csta | 高精度人脸识别人脸向量特征提取模型,建议阈值:0.62 | 返回1024长度向量特征 |
face_recognizer_mask.csta | 戴口罩人脸向量特征提取模型,建议阈值:0.48 | 返回512长度向量特征 |
face_recognizer_light.csta | 轻量级人脸向量特征提取模型,建议阈值:0.55 | 返回512长度向量特征 |
age_predictor.csta | 年龄预测模型 | 返回int[0] |
face_landmarker_pts5.csta | 5点人脸标识模型, 确定 两眼、两嘴角和鼻尖 | SeetaPointF[] 即 x,y坐标数组 |
face_landmarker_pts68.csta | 68点人脸标识模型, 人脸68个特征点 | SeetaPointF[] 即 x,y坐标数组 |
pose_estimation.csta | 人脸姿态评估 | |
eye_state.csta | 眼睛状态评估 | 打开 关闭状态 |
face_detector.csta | 人脸检测器,检测到的每个人脸位置,用矩形表示 | |
face_landmarker_mask_pts5.csta | 遮挡评估,判断的遮挡物为五个关键点,分别是左右眼中心、鼻尖和左右嘴角 | 1:遮挡, 0:没遮挡 |
mask_detector.csta | 口罩检测器 | false:0.0089 或 true:0.985 |
gender_predictor.csta | 性别识别 | |
quality_lbn.csta | 清晰度评估模型 | |
fas_first.csta | 活体检测识别器 局部检测模型 | |
fas_second.csta |
活体检测识别器 全局检测 模型
|
压力测试:
测试类FaceRecognizerProxyTest ,可以尝试自己加多线程测试,本项目通过代码通过对象池调用,本地测试不存在内存泄露问题。
特技
- 可以做人脸跟踪
- 真假人脸判断
- 年龄,性别判断
- 质量检测
- 后续会开放docker
- 后续做1:N 用opensearch,能够达到10亿搜索量
seetaface6,windows和linux环境自适应,支持GPU相关推荐
- (0)seetaface6 SDK封装,windows和linux环境自适应,支持GPU
seetaface6SDK 项目地址 seetaface6SDK项目 介绍 1. 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目 2. windo ...
- seetaface6JNI ,windows和linux环境自适应,支持GPU
seetaface6SDK 项目地址 seetaface6SDK地址 介绍 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目 windows和lin ...
- Windows、linux环境下neo4j下载教程梳理
Windows.linux环境下neo4j下载,无需注册 安装好java 后,要下载 neo4j ,但是官网打不开,下载不了.虽然网上那么多教程,但是小白的我试了N多命令,很多教程是关于 neo4j- ...
- Java练习-----2.对Windows和Linux环境下输入的文件路径格式进行校验
1.需求 Windows环境下路径格式只能为 D:\Desktop\source Linux环境下路径格式只能为 /data/source 2.结果展示 Linux环境下运行成功,懒得开虚拟机,就不展 ...
- r语言和metawin_如何创建R的HelloWorld包(Windows或Linux环境下)
1.Windows环境下 1.2安装完后,配置系统的path 1.2.1假定R的安装路径在:D:\Program Files\R\R-2.5.0\bin:Rtools的安装路径在:c:\Rtools\ ...
- windows、linux环境中javacv视频抓图
踩过不少坑,特此记录一下.遇到的问题基本是在windows运行没问题,然后在linux环境下各种报错 比如这样的: 这样的 废话少说. 据了解到有两种方法能实现视频抓图 1.ffmpeg 下载地址:h ...
- ELK系列:新版ELK安装(windows与linux环境)
目录 ELK简介 ELK的组成 windows环境安装ELK 6.3.0版本 linux环境运行ELK 6.3.0版本 一.ELK安装 二.ELK关闭 ELK简介 一套成熟的系统日常运作过程中会产生各 ...
- 查看python库的版本(本质原因、Windows和Linux环境下的操作方法)
文章目录 1. 潜在误区 2. 本质原因及正确查看方法 2.1 Linux环境下的操作方法 2.2 Windows环境下的操作方法 3. 总结 1. 潜在误区 新来的实习生又让我帮忙解决一个新问题 ...
- 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
文章目录 Nginx下载安装 Nginx-windows安装 下载 安装 启动 Nginx-Linux安装 下载 准备 安装 启动 检查 Nginx常用命令 Nginx下载安装 Nginx跨平台,在w ...
最新文章
- C Primer Plus (第五版) 第十章 数组和指针 编程练习
- 漫谈“外来的和尚会念经”
- PHP面试中常见的字符串与文件操作题目
- Sublime Text 无法使用Package Control或插件安装失败的解决方法【转】
- 启动tomcat遇到的问题整理
- Ubuntu 8.04 Linux系统下面编译更新内核版本
- Java中间MD5加密算法完整版
- 20155330 第十一周课堂练习(20170503)
- 2012浙江大学光华法学院毕业典礼教师发言
- SCSI代码分析(0)SCSI层框架
- RTE 2020 实时互联网大会参会指南——明天我们线上见!
- 控制面板Plesk, cPanel, DirectAdmin, whmcs,WDCP, AMH比较
- win10连接filco蓝牙键盘
- 短信验证码被盗刷了怎么办?
- 记录DBeaver报SQL 错误 [1064] [42000]: #42000的一个坑
- ArcGIS批量导出图片
- 关于numpy中的一维行向量、列向量的理解
- RuntimeError: CUDA error: no kernel image is available for execution on the driver
- luogu P1979 华容道
- Course2-week3-hyperparameterTuning - BatchNormalization - Framework
热门文章
- Redis缓存预热 缓存雪崩 缓存击穿 缓存穿透
- webpack之Scope Hoisting
- B=1400可伸缩皮带机 DTII型输送机改向滚筒 电动给料机 动力滚筒提升输送机 B650X8500轻型带式输送机 板链式提升机起重机 td400提升机图纸 90度皮带输送机 …设计
- gdb 如何调用函数?
- 服务器维护取费标准,服务器代维取费方式
- R语言实战小案例-画相关矩阵图案例
- 关于 react 中 swiper 版本过高(7.0.x)导致的问题
- 我要玩石器多开的攻与防和外挂 ④
- Android(9) 环信sdk手动集成(非添加easeui依赖快速集成)
- php 微信小程序sdk,带你深入了解微信小程序集成环信SDK