VS2017+QT5.11.2+SeetaFace1.0/SeetaFace2.0的简单实现
一、1.0版本和2.0版本简介:
- 1.0版本中与之对应的分别是:FaceDetection、FaceAlignment、FaceIdentification;
- 2.0版本中与之对应的分别是:FaceDetector、FaceLandmarker、FaceRecognizer,另外2.0版本还提供了两个辅助模块 FaceTracker 和 QualityAssessor用于人脸跟踪和质量评估。除此之外,2.0版本还引入了一个FaceDataBase对象,用于管理注册的人脸库,方便进行1v1或者1vN的人脸比对。

二、SeetaFace1.0的编译
三、SeetaFace2.0的编译







四、VS2017+OpenCV+SeetaFace1.0项目属性配置
五、VS2017+OpenCV+SeetaFace2.0项目属性配置






六、SeetaFace1.0实例
七、SeetaFace2.0实例


seeta::ModelSetting::Device device = seeta::ModelSetting::CPU; //初始化模型,需要注意的是,模型文件同一时刻只能打开一次, //并且加载模型时需要一定的时间, //所以如果想多线程使用,需要对模型的导入进行加锁处理 this->myMutex.lock(); seeta::ModelSetting FD_model("./model/fd_2_00.dat", device, 0); //关于81点定位之后,得到的人脸相似度结果不理想的原因猜想: //图片的尺寸太小,导致81点都挤在了一起,然后进行人脸比对时误差变大 //seeta::ModelSetting FL_model("./model/pd_2_00_pts81.dat", device, 0); seeta::ModelSetting FL_model("./model/pd_2_00_pts5.dat", device, 0); this->myMutex.unlock(); seeta::FaceDetector FD(FD_model); seeta::FaceLandmarker FL(FL_model); //设置人脸框的最小尺寸,不能小于20 FD.set(seeta::v2::FaceDetector::PROPERTY_MIN_FACE_SIZE, 20);
seeta::FaceDatabase* FDB; FDB = new seeta::FaceDatabase(seeta::ModelSetting("./model/fr_2_10.dat", seeta::ModelSetting::CPU, 0)); //清除之前导入的人脸 this->FDB->Clear();

//加载待检测的图片; //mat是传入的cv::Mat类型的图片 seeta::cv::ImageData image = mat.clone(); //进行人脸检测,获取所有的人脸信息; //FD是FaceDetector对象的实例 //SeetaFaceInfoArray是SeetaFaceInfo数组 //该数组中存储的是检测出的人脸框 SeetaFaceInfoArray facesArr = FD.detect(image); //对该脸进行5点或81点定位 //FL是FaceLandmarker对象实例 //vector<SeetaPointF>是二维特征点的数组 std::vector<SeetaPointF> currentFace81Points = FL.mark(image, facesArr.data[i].pos); //Compare的四个参数分别为: //SeetaImageData类型的图片,SeetaPointF*类型的特征点数组 FDB->Compare(face1Data, face1Points.data(), face2Data, face2Points.data());
VS2017+QT5.11.2+SeetaFace1.0/SeetaFace2.0的简单实现的更多相关文章
- Windows7 + OSG3.6 + VS2017 + Qt5.11
一.准备工作 下载需要的材料: 1. OSG稳定版源代码, 3.6.3版本 2. 第三方库,选择VS2017对应的版本 https://download.osgvisual.org/3rdParty ...
- qt5.11.2+vs2017环境下配置pcl1.8.1以及第三方依赖库vtk的编译
1.准备工作 我所用的开发环境是win10下的qt5.11.2配置了vs2017的编译器,根据自己所用的VS的版本去官网下载对应版本的pcl库,如下 PCL-1.8.1-AllInOne-msvc20 ...
- 关于本电脑qt5.11+vs2017+opencv3.4的配置问题
本人想用qt5.11+vs2017+opencv3.4开发程序,配置了很久才成功,现在把配置后的环境变量记录一下,以供自己以后参考,同时也供大家参考. qt5.11+vs2017+opencv3.4的 ...
- Oracle Database 11g Release 2(11.2.0.3.0) RAC On Redhat Linux 5.8 Using Vmware Workstation 9.0
一,简介 二,配置虚拟机 1,创建虚拟机 (1)添加三块儿网卡: 主节点 二节点 eth0: 公网 192.168.1.20/24 NAT eth0: 公网 192.168.1 ...
- Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)
Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...
- uninstall 11.2.0.3.0 grid & database in linux 5.7
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0
解决方法: 下载ojdbc6对应版本号的包.把下载的包放到: 然后dos命令: -Dpackaging=jar -Dfile=ojdbc6.jar 主:必须确保已经配置了你maven,如何配置mave ...
- 单机Oracle+asm(11.2.0.3.0) Patch Set Update(11.2.0.3.7 )
之前写过一篇关于PSU升级的案例,参考如下: http://blog.csdn.net/jyjxs/article/details/8983880 但是,感觉有些地方理解的不是很透彻明白,照猫画虎的比 ...
- hive 0.10 0.11新增特性综述
我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...
随机推荐
- hdu 4128 Running relay (线性规划转半平面交)
Problem - 4128 对偶线性规划转半平面交,这题的正解O(nlogn)解法,目前网上没有找到这样的正解. 原来的不等式组, sigma{-si*xi}>=-W+d*sigma{si} ...
- css3制作动画性能问题
这篇文章主要讲的是怎样制作流畅动画,特别是针对移动端.在这里我首先介绍制作动画的几种方法的优缺点:接着会着重介绍用css3制作动画的注意事项. 1.用canvas.css3.jquery制作动画 Ca ...
- linux扫盲之CPU模式
相信研究linux的大大都知道linux有实模式.保护模式.虚拟模式三种. 不多说,拷贝黏贴! 80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式.只有在刚刚启动的时候是rea ...
- nginx简单使用(windows)
本篇文章对术语不作讲解 下载nginx 首先,进入nginx官网http://nginx.org/en/download.html. 找到Stable version,此处的版本是稳定版本: 下载完成 ...
- ccf-201703-4-地铁修建
二分+并查集 发现了一个很奇怪的问题,二分的上界设置错了,结果是运行错误...只有95分.后来改了上界就100了,百思不得其解 #include<cstdio> #include<c ...
- HTML静态网页--JavaScript-DOW操作
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 一.属性和方法: 属性(值或者子对象): o ...
- Adam那么棒,为什么还对SGD念念不忘 (2)—— Adam的两宗罪
在上篇文章中,我们用一个框架来回顾了主流的深度学习优化算法.可以看到,一代又一代的研究者们为了我们能炼(xun)好(hao)金(mo)丹(xing)可谓是煞费苦心.从理论上看,一代更比一代完善,Ada ...
- axis2 wsdl2java工具
wsdl2java工具使用方法描述: C:\Users\Administrator>wsdl2java -h Using AXIS2_HOME: E:\Apache_Projects\axis2 ...
- tensorflow学习笔记(二十五):ConfigProto&GPU
tensorflow ConfigPrototf.ConfigProto一般用在创建session的时候.用来对session进行参数配置 with tf.Session(config = tf.Co ...
- Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里
reduce函数:在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里 用的话要 先引入:>>> from functool ...