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亿搜索量

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

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

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

  2. seetaface6JNI ,windows和linux环境自适应,支持GPU

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

  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. C Primer Plus (第五版) 第十章 数组和指针 编程练习
  2. 漫谈“外来的和尚会念经”
  3. PHP面试中常见的字符串与文件操作题目
  4. Sublime Text 无法使用Package Control或插件安装失败的解决方法【转】
  5. 启动tomcat遇到的问题整理
  6. Ubuntu 8.04 Linux系统下面编译更新内核版本
  7. Java中间MD5加密算法完整版
  8. 20155330 第十一周课堂练习(20170503)
  9. 2012浙江大学光华法学院毕业典礼教师发言
  10. SCSI代码分析(0)SCSI层框架
  11. RTE 2020 实时互联网大会参会指南——明天我们线上见!
  12. 控制面板Plesk, cPanel, DirectAdmin, whmcs,WDCP, AMH比较
  13. win10连接filco蓝牙键盘
  14. 短信验证码被盗刷了怎么办?
  15. 记录DBeaver报SQL 错误 [1064] [42000]: #42000的一个坑
  16. ArcGIS批量导出图片
  17. 关于numpy中的一维行向量、列向量的理解
  18. RuntimeError: CUDA error: no kernel image is available for execution on the driver
  19. luogu P1979 华容道
  20. Course2-week3-hyperparameterTuning - BatchNormalization - Framework

热门文章

  1. Redis缓存预热 缓存雪崩 缓存击穿 缓存穿透
  2. webpack之Scope Hoisting
  3. B=1400可伸缩皮带机 DTII型输送机改向滚筒 电动给料机 动力滚筒提升输送机 B650X8500轻型带式输送机 板链式提升机起重机 td400提升机图纸 90度皮带输送机 …设计
  4. gdb 如何调用函数?
  5. 服务器维护取费标准,服务器代维取费方式
  6. R语言实战小案例-画相关矩阵图案例
  7. 关于 react 中 swiper 版本过高(7.0.x)导致的问题
  8. 我要玩石器多开的攻与防和外挂 ④
  9. Android(9) 环信sdk手动集成(非添加easeui依赖快速集成)
  10. php 微信小程序sdk,带你深入了解微信小程序集成环信SDK