seetaface6SDK

项目地址

seetaface6SDK地址

介绍

  1. 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目
  2. windows和linux环境自适应。
  3. 支持GPU
  4. 使用方便:(1)导入jar包;(2)配置模型文件路径即可使用;无需自己配置dll,so这些东西

演示真假人脸识别

  1. spoof为攻击人脸,real为真人脸

测试代码

  1. 攻击人脸检测,返回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();}}
}

功能

  1. 人脸检测和关键点定位
  2. 人脸特征提取和对比
  3. 人脸特征提取
  4. 人脸特征对比
  5. 活体检测
  6. 人脸跟踪
  7. 质量评估
  8. 年龄识别
  9. 性别识别
  10. 口罩检测
  11. 口罩人脸识别
  12. 眼睛状态检测

软件架构

  1. 基于seetaface6 c++源码编译,基于JNI技术,通过编译c++ 得到dll和so。
  2. 使用起来超级简单,打成jar包,导入项目就可以用了,不需要配置jni路径之类的。

安装教程

  1. (必做)window10 环境需要安装 visual_studio(安装时注意选择c++环境,不知道就百度),jdk8-jdk14任选。
  2. (必做)linux 环境需要安装 cmake-3.12.4.tar.gz,jdk8-jdk14任选。
  3. 可以跟着test代码包里面的代码走一遍,了解使用方法,再自己引入自己项目中。
  4. 本项目可以直接打包成jar,导入本地maven仓库或是私服,其他项目直接引用jar就可以了。
  5. 只有windows10和centos7(8没试过)这两种so,乌班图和mac是运行不了的,so只编译了这两种。
  6. GPU环境有点复杂,建议先试试CPU的,GPU环境的配置后面再提交说明。
  7. 模型文件自己去下载了,这里不提供,下载地址请到官网去看,本项目也是官网源码编译而来。
  8. 建了个Q企鹅Q群:290690355
  9. 觉得好的是不是可以点个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 ,可以尝试自己加多线程测试,本项目通过代码通过对象池调用,本地测试不存在内存泄露问题。

特技

  1. 可以做人脸跟踪
  2. 真假人脸判断
  3. 年龄,性别判断
  4. 质量检测
  5. 后续会开放docker
  6. 后续做1:N 用opensearch,能够达到10亿搜索量

seetaface6JNI ,windows和linux环境自适应,支持GPU相关推荐

  1. seetaface6,windows和linux环境自适应,支持GPU

    seetaface6SDK 项目地址 seetaface6SDK地址 介绍 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目 windows和lin ...

  2. (0)seetaface6 SDK封装,windows和linux环境自适应,支持GPU

    seetaface6SDK 项目地址 seetaface6SDK项目 介绍 1. 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目 2. windo ...

  3. Windows、linux环境下neo4j下载教程梳理

    Windows.linux环境下neo4j下载,无需注册 安装好java 后,要下载 neo4j ,但是官网打不开,下载不了.虽然网上那么多教程,但是小白的我试了N多命令,很多教程是关于 neo4j- ...

  4. Java练习-----2.对Windows和Linux环境下输入的文件路径格式进行校验

    1.需求 Windows环境下路径格式只能为 D:\Desktop\source Linux环境下路径格式只能为 /data/source 2.结果展示 Linux环境下运行成功,懒得开虚拟机,就不展 ...

  5. 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\ ...

  6. windows、linux环境中javacv视频抓图

    踩过不少坑,特此记录一下.遇到的问题基本是在windows运行没问题,然后在linux环境下各种报错 比如这样的: 这样的 废话少说. 据了解到有两种方法能实现视频抓图 1.ffmpeg 下载地址:h ...

  7. ELK系列:新版ELK安装(windows与linux环境)

    目录 ELK简介 ELK的组成 windows环境安装ELK 6.3.0版本 linux环境运行ELK 6.3.0版本 一.ELK安装 二.ELK关闭 ELK简介 一套成熟的系统日常运作过程中会产生各 ...

  8. 查看python库的版本(本质原因、Windows和Linux环境下的操作方法)

    文章目录 1. 潜在误区 2. 本质原因及正确查看方法 2.1 Linux环境下的操作方法 2.2 Windows环境下的操作方法 3. 总结 1. 潜在误区   新来的实习生又让我帮忙解决一个新问题 ...

  9. 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤

    文章目录 Nginx下载安装 Nginx-windows安装 下载 安装 启动 Nginx-Linux安装 下载 准备 安装 启动 检查 Nginx常用命令 Nginx下载安装 Nginx跨平台,在w ...

最新文章

  1. 解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position错误
  2. 为什么把事情拖到最后做效率特别高?
  3. HP-UX B.11.31从安装到VG配置
  4. 关于浏览器和浏览器内核的解释
  5. Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!
  6. Readonly 与Const
  7. html搞笑注释,9个最有趣的代码注释
  8. PHPExcel用法有感
  9. Tricks(三十四)—— 判断某一属性列是数值型还是标称型
  10. Fragstats 4.2 批处理(geotiff格式)
  11. ArcGIS Engine中添加点、线、面元素
  12. PHP服务缓存加速软件
  13. Activiti7使用
  14. 判断一个数是否是素数
  15. 分析在各大考纲词汇中既没有词根也没有前缀和后缀的独立单词
  16. 解决OSS传输的文本文件网页打开乱码
  17. 一款网易云音乐歌词制作软件
  18. 技术人才的出路在哪里,5种选择和2种思路
  19. pumping lemma 泵引理
  20. python斗地主出牌算法_python模拟斗地主发牌

热门文章

  1. 运动员最佳匹配问题(详解)
  2. 前百度工程师出走后纷纷复制创业密码
  3. 清华大学刘知远:知识表示学习及其应用(附视频、PPT下载)
  4. Program design PACT analysis
  5. 电商全渠道秩序维护 八爪鱼大数据来帮忙
  6. linux创建定时任务命令,linux下添加定时任务
  7. 多用户 php源码_PHP多用户网络日记(青春日记) v1.0
  8. favicon.ico地址栏图标,随机背景图,压缩背景
  9. javaScript数据类型 转换方式
  10. 微信二次开发需要多少钱,不得不说的内幕!