项目地址
前期准备
人脸跟踪介绍
- 人脸跟踪也是基于人脸的基本模块,其要解决的问题是在进行识别之前就利用视频特性,首先就确认在视频序列中出现的那些人是同一人。
- 这里只做了单张照片的,视频需要把贞传入。
人脸跟踪代码
package com.seeta.sdk;
import com.seeta.sdk.util.LoadNativeCore;
import com.seeta.sdk.util.SeetafaceUtil;
/**
* 人脸跟踪
* 人脸跟踪也是基于人脸的基本模块,其要解决的问题是在进行识别之前就利用视频特性,首先就确认在视频序列中出现的那些人是同一人。
* 这里只做了单张照片的,视频需要把贞传入。
*/
public class FaceTrackerTest {
//模型文件夹路径
public static String CSTA_PATH = "E:\\models";
//图片路径
public static String TEST_PICT = "E:\\111.jpg";
static {
LoadNativeCore.LOAD_NATIVE(SeetaDevice.SEETA_DEVICE_AUTO);
}
public static void main(String[] args) {
//人脸识别的模型
String face_detector = CSTA_PATH + "/face_detector.csta";
try {
//视频贞(这里用单张照片了,贞也是一样的传入)
SeetaImageData image = SeetafaceUtil.toSeetaImageData(TEST_PICT);
//人脸跟踪器
FaceTracker faceTracker = new FaceTracker( face_detector,image.width,image.height);
//跟踪到的人脸
SeetaTrackingFaceInfo[] track = faceTracker.Track(image);
System.out.println(track);
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出结果
1. SeetaTrackingFaceInfo[]: 一贞视频里面有多个人脸,每个人脸用PID来区分
结果:[SeetaTrackingFaceInfo{x=180, y=67, width=210, height=275, score=0.0, frame_no=0, PID=0}]
总结
1. 人脸识别过程复杂,但这个代码简单。
2. 精度高,这边的模型都是中科院商业开源的,比起社区的模型,用到的训练集多很多。
3. 功能齐全 :
人脸检测和关键点定位
人脸特征提取和对比
人脸特征提取
人脸特征对比
活体检测
人脸跟踪
质量评估
年龄识别
性别识别
口罩检测
口罩人脸识别
眼睛状态检测