人脸识别 SeetaFace2

SeetaFace2
Qt 5.12
CMake

0. SeetaFace2库

SeetaFace2 是一个开源的、全栈的人脸识别引擎,由SeetaFace公司开发。它包含了构建一套全自动人脸识别系统所需的三个核心模块:人脸检测模块(FaceDetector)、面部关键点定位模块(FaceLandmarker)以及人脸特征提取与比对模块(FaceRecognizer)。此外,还提供了两个辅助模块:FaceTracker 用于人脸跟踪,QualityAssessor 用于人脸质量评估。

SeetaFace2 采用标准 C++ 开发,所有模块均不依赖任何第三方库,支持 x86 架构(Windows、Linux)和 ARM 架构(Android)。它适用于人脸门禁、无感考勤、人脸比对等多种应用场景。

下载:github 链接

在这里插入图片描述

seeta::ModelSetting::Device device = seeta::ModelSetting::GPU;
int id = 0;
seeta::ModelSetting FD_model( "D:/Program/SeetaFace/model/fd_2_00.dat", device, id );
seeta::ModelSetting PD_model( "D:/Program/SeetaFace/model/pd_2_00_pts5.dat", device, id );
seeta::ModelSetting FR_model( "D:/Program/SeetaFace/model/fr_2_10.dat", device, id );
seeta::FaceEngine engine( FD_model, PD_model, FR_model, 2, 16 );

//
seeta::ModelSetting::Device device = seeta::ModelSetting::GPU;
int id = 0;
seeta::ModelSetting FD_model( "./model/fd_2_00.dat", device, id );
seeta::ModelSetting FL_model( "./model/pd_2_00_pts81.dat", device, id );
seeta::FaceDetector faceDetector(FD_model);
seeta::FaceLandmarker faceLandmarker(FL_model);

faceDetector->set(seeta::FaceDetector::PROPERTY_VIDEO_STABLE, 1);

1. 人脸检测

  • 人脸检测:采用级联卷积神经网络(Cascaded CNN)技术,具有良好的召回率,能够在多种环境下准确检测人脸。
void FaceDetectionThread::detectAndExtract(const cv::Mat &frame) {    
	cv::Mat rgbFrame;
    cv::cvtColor(frame, rgbFrame, cv::COLOR_BGR2RGB);
    SeetaImageData seetaImage = {rgbFrame.cols, rgbFrame.rows, rgbFrame.channels(), rgbFrame.data};

    // 人脸检测
    auto faces = faceDetector->detect(seetaImage);
    if (faces.size==0) {
        return; // 无人脸检测到
    }
}

2. 人脸对比

(1)人脸检测

(2)面部关键点定位模块

std::vector<SeetaPointF>FaceDetectionThread::getImageMarker(const QImage &frame){
    std::vector<SeetaPointF> facePoints;
    cv::Mat img = Common
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热衷技术的尼古拉斯

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值