seetaface6SDK

项目地址

seetaface6SDK项目

介绍

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

演示真假人脸识别

  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 活体检测识别器 全局检测模型

压力测试:

  1. 很多seetaface6JNI开源项目存在多线程环境下内存泄露问题,本项目做了一层对象池封装,解决了多线程环境下内存泄漏问题。

特技

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

QQ群

(0)seetaface6 SDK封装,windows和linux环境自适应,支持GPU相关推荐

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

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

  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. ELK系列:新版ELK安装(windows与linux环境)

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

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

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

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

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

  9. E22 SX1268 LoRa模块传输测试(定点模式)发送接收串口消息 windows与linux环境下C语言代码

    前言 近期因项目需求,对LoRa透传模块进行测试学习. 本次测试的模块是成都ebyte公司的LoRa模块,型号为SX1268.该模块采用串口透传模式. 本博客主要记录了模块的定点传输模式,透传模式相对 ...

最新文章

  1. 认识Java Core和Heap Dump
  2. Ceph 的用户管理与认证
  3. python爬虫requests-Python爬虫---requests库快速上手
  4. CentOS 5.5升级网卡驱动
  5. 7 个让您需要渐进式 Web 应用程序做项目开发的理由
  6. 微信小程序--家庭记账本开发--01
  7. 公需科目必须学吗_要考电工证吗?电工技术必须学的33招,电工技术知识
  8. 数据库和 MIDP,第二部分:数据映射
  9. halcon窗体的移动和缩放_halcon与C#联合编程之鼠标控制图片缩放,拖动,roi
  10. 剑指offer--面试题10
  11. leetcode 336. Palindrome Pairs
  12. matlab的clear函数,[转载]matlab学习笔记(一)之clear,clc,close劝函数
  13. Autorun风暴专杀工具
  14. 科研工具篇|看完之后能提高你80%的科研工作效率
  15. 一流的匠人,必有一流的心性:工作是人生最尊贵、最重要、最有价值的行为
  16. Excel保存文件不能直接打开,打开之后显示灰屏,从左上角的文件中,再找到要打开的文件才能打开?
  17. Nginx防止大流量攻击,限制流量访问(limit_req_zone模块)以及进行网站压力测试
  18. Ubuntu 编译 ZBar
  19. 解压tar.xz方法
  20. JD消费者行为分析——漏斗转化

热门文章

  1. java factorial_[Java]函数求阶乘n!(factorial)(四种方法)
  2. 【Java】设计模式之单例模式(Singleton Pattern)
  3. C语言——简单的五子棋小游戏开发设计
  4. strongswan libipsec
  5. 柚子不幼稚--4th
  6. A - 熊猫病毒的攻击
  7. MyEclipse快捷键大全(Z)
  8. esaypoi导出excel后office打开报错
  9. CVT-SLR: Contrastive Visual-Textual Transformation for Sign Language Recognition with Variational Al
  10. 神策军丨我申请转正……