SeetaFace人脸识别系统

简介

SeetaFace人脸识别解决方案已开源许久,一直拖到最近才看。它提供了一套完整的人脸检测,人脸对齐和人脸验证方案,比较适合做学习。由于开源的代码是DLL项,现编译完成之后,对其进了一定封装,,实现了人脸特征提取,入库保存,以及人脸识别等。
对该系统的介绍可以参见: SeetaFace开源人脸识别引擎介绍
本文主要参考: SeetaFace教程: 在 VS 中的编译安装和环境配置  并做了部分整合与修改。

准备

在这之前,请自行下载 SeetaFace源码,并编译出三个lib文件和三个dll文件。我编译出的是
FaceIdentification.lib  FaceIdentification.dll
FaceAlignment.lib   FaceAlignment.dll
FaceDetection.lib    FaceDetection.dll

编译时直接打开源码里面的example解决方案即可,编译dll文件时无需任何额外的依赖项,只有在测试时才需要opencv。如果不太明白,也可参考上面简介中给出的SeetaFace教程链接,不过我觉得他那有点多余。

项目

新建win32控制台项目,此时需要opencv,我在测试时使用的是opencv2.4.10,其他的应该也行。
① 将项目属性改为x64
② 在配置属性-VC++目录中,将opencv的包含目录和库目录修改好,记得使用x64的lib库
③ 链接器-输入,加入FaceIdentification.lib  FaceAlignment.lib  FaceDetection.lib  opencv_core2410.lib  opencv_highgui2410.lib  opencv_imgproc2410.lib
④ 与这6个lib文件相对于的dll文件放入可执行文件目录下即可。
⑤ 将seetaface源码中的三个model,放在一起,存于项目文件夹下即可。images文件夹中为一些测试图片
项目整体结构

源码

FeatureGroup.h

#ifndef FEATUREGROUP_H
#define FEATUREGROUP_H

#include <fstream>
#include <io.h>
#include <queue>
#include <string>
#include "FaceRecognition.h"
struct Feature
{
	std::string filename;
	float* data;
	float similarity_with_goal;
	friend bool operator < (Feature f1, Feature f2)
	{
		return f1.similarity_with_goal < f2.similarity_with_goal;
	}
};

class FeatureGroup
{
public:
	FeatureGroup(int feat_dims, FaceRecognition* fr);
	Featur
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值