(0)seetaface6 SDK封装,windows和linux环境自适应,支持GPU
seetaface6SDK
项目地址
seetaface6SDK项目
介绍
1. 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目
2. windows和linux环境自适应。
3. 支持GPU
4. 使用方便:无需自己配置dll,so这些东西
(1)导入jar包;
(2)配置模型文件路径即可使用;
演示真假人脸识别
- 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();}}
}
支持功能
1. 人脸检测和关键点定位
2. 人脸特征提取和对比
3. 人脸特征提取
4. 人脸特征对比
5. 活体检测
6. 人脸跟踪
7. 质量评估
8. 年龄识别
9. 性别识别
10. 口罩检测
11. 口罩人脸识别
12. 眼睛状态检测
软件架构
- 基于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 |
活体检测识别器 全局检测 模型
|
压力测试:
- 很多seetaface6JNI开源项目存在多线程环境下内存泄露问题,本项目做了一层对象池封装,解决了多线程环境下内存泄漏问题。
特技
- 可以做人脸跟踪
- 真假人脸判断
- 年龄,性别判断
- 质量检测
- 后续会开放docker
- 后续做1:N 用opensearch,能够达到10亿搜索量
QQ群
(0)seetaface6 SDK封装,windows和linux环境自适应,支持GPU相关推荐
- seetaface6,windows和linux环境自适应,支持GPU
seetaface6SDK 项目地址 seetaface6SDK地址 介绍 本项目是基于seetaface6源码编译后,再编译seetaface6JNI源码得到的一个sdk项目 windows和lin ...
- 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\ ...
- ELK系列:新版ELK安装(windows与linux环境)
目录 ELK简介 ELK的组成 windows环境安装ELK 6.3.0版本 linux环境运行ELK 6.3.0版本 一.ELK安装 二.ELK关闭 ELK简介 一套成熟的系统日常运作过程中会产生各 ...
- 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
文章目录 Nginx下载安装 Nginx-windows安装 下载 安装 启动 Nginx-Linux安装 下载 准备 安装 启动 检查 Nginx常用命令 Nginx下载安装 Nginx跨平台,在w ...
- windows、linux环境中javacv视频抓图
踩过不少坑,特此记录一下.遇到的问题基本是在windows运行没问题,然后在linux环境下各种报错 比如这样的: 这样的 废话少说. 据了解到有两种方法能实现视频抓图 1.ffmpeg 下载地址:h ...
- E22 SX1268 LoRa模块传输测试(定点模式)发送接收串口消息 windows与linux环境下C语言代码
前言 近期因项目需求,对LoRa透传模块进行测试学习. 本次测试的模块是成都ebyte公司的LoRa模块,型号为SX1268.该模块采用串口透传模式. 本博客主要记录了模块的定点传输模式,透传模式相对 ...
最新文章
- 认识Java Core和Heap Dump
- Ceph 的用户管理与认证
- python爬虫requests-Python爬虫---requests库快速上手
- CentOS 5.5升级网卡驱动
- 7 个让您需要渐进式 Web 应用程序做项目开发的理由
- 微信小程序--家庭记账本开发--01
- 公需科目必须学吗_要考电工证吗?电工技术必须学的33招,电工技术知识
- 数据库和 MIDP,第二部分:数据映射
- halcon窗体的移动和缩放_halcon与C#联合编程之鼠标控制图片缩放,拖动,roi
- 剑指offer--面试题10
- leetcode 336. Palindrome Pairs
- matlab的clear函数,[转载]matlab学习笔记(一)之clear,clc,close劝函数
- Autorun风暴专杀工具
- 科研工具篇|看完之后能提高你80%的科研工作效率
- 一流的匠人,必有一流的心性:工作是人生最尊贵、最重要、最有价值的行为
- Excel保存文件不能直接打开,打开之后显示灰屏,从左上角的文件中,再找到要打开的文件才能打开?
- Nginx防止大流量攻击,限制流量访问(limit_req_zone模块)以及进行网站压力测试
- Ubuntu 编译 ZBar
- 解压tar.xz方法
- JD消费者行为分析——漏斗转化
热门文章
- java factorial_[Java]函数求阶乘n!(factorial)(四种方法)
- 【Java】设计模式之单例模式(Singleton Pattern)
- C语言——简单的五子棋小游戏开发设计
- strongswan libipsec
- 柚子不幼稚--4th
- A - 熊猫病毒的攻击
- MyEclipse快捷键大全(Z)
- esaypoi导出excel后office打开报错
- CVT-SLR: Contrastive Visual-Textual Transformation for Sign Language Recognition with Variational Al
- 神策军丨我申请转正……