OK ,可、以、操、作。1、论文题目:要求准确、简练、醒目、新颖。 2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录) 3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。 4、关键词或主题词:关键词是从论文的题名
是防止被攻击欺诈,提高安全性。
人脸活体检测主要是通过识别活体上的生理信息来进行,它把生理信息作为生命特征来区分用照片、硅胶、塑料等非生命物质假座的生物特征。
一旦虚假人脸攻击成功,极有可能对用户造成重大损失。人脸活体检测技术可以有效阻挡PS换脸、视频、三维人脸模型、高清人像照片等各种不同类型的攻击。通过动作指令验证前端活体有效,再获取一张操作者本人照片,将这张照片传送至服务器端,由机器进行活体的后验,防止被攻击欺诈,提高安全性。
防止人脸作弊:防止他人用照片、面具等工具在进行人脸检测的时候作弊。
虹软上就有免费的安卓版本的活体检测SDK啊,也有demo的,而且他们家及以上已内置活体的
屏管家人脸识别的活体检测,说白点就是判断设备抓拍到人的信息是不是活体,比如用照片或视频在摄像头来测试的话,是不可能通过的。,屏管家采用百度深度AI人脸识别就完全可以解决这个问题
活体检测一般是通过人脸做出的一些动作,比如抬头、点头、睁眼、闭眼、张嘴、摇头这些,然后再使用人脸关键点定位和追踪技术,验证是否是本人在操作。比如云脉的人脸识别门禁考勤系统,就是通过活体检测等技术来辨别用户真假与否的。
活体检测为人脸攻击是活体检测一般是通过人脸做出的一些动作,比如抬头、点头、睁眼、闭眼、张嘴、摇头这些,然后再使用人脸关键点定位和追踪技术,验证是否是本人在操作。
系统认为你录入的人脸和当时办卡的录入人脸信息不一致,存在伪造的可能性,所以出现这个提示,无法通过人脸认证。
检测方式:
立体性活体检测用Depth图像判断人脸的3D性,可以防御2D攻击如手机、电脑等显示屏和打印照片。
亚表面检测利用亚表面散射性不同判断人脸皮肤,可以防御非(类)人脸材质假体。
红外FMP检测在暗光环境下,基于红外摄像头及IR泛光图检测。
防止人脸作弊:防止他人用照片、面具等工具在进行人脸检测的时候作弊。
可以在云脉的SDK开发者平台下一个人脸识别活体检测的SDK,好像只要注册登录就能下载试用了。云脉的活体检测是配合张嘴、闭眼、点头、摇头等各种动作来完成的,准确率高,识别速度快,还不错的。
虹软上就有免费的安卓版本的活体检测SDK啊,也有demo的,而且他们家及以上已内置活体的
我记得虹软论坛有opencv的人脸识别demo有详细说明 下个SDK方便很多
我记得虹软新出的人脸识别SDK是的带有活体检测功能的,他们之前的SDK就有接入opencv的方案的,你可以虹软官方的开发者中心去看看具体有没有接入opencv的demo
人脸识别法学论文题目书写:人脸识别就是通过观察比较人脸来区分和确定人的身份的.不被察觉的特点会使识别方法不令人反感,而且不容易引起人注意
本科毕业设计做人脸情绪识别难度大。
一般来说还是挺大的,得看你想做到什么程度了,有这个想法挺好,看个人情况做吧。情绪识别原本是指个体对于他人情绪的识别,现多指AI通过获取个体的生理或非生理信号对个体的情绪状态进行自动辨别,是情感计算的一个重要组成部分。
注意事项:
情绪识别研究的内容包括面部表情、语音、心率、行为、文本和生理信号识别等方面,通过以上内容来判断用户的情绪状态。
情绪是综合了人的感觉、思想和行为的一种状态,在人与人的交流中发挥着重要作用。情绪是一种综合了人的感觉、思想和行为的状态,它包括人对外界或自身刺激的心理反应,包括伴随这种心理反应的生理反应。在人们的日常工作和生活中,情绪的作用无处不在。
姓名:张钰 学号:21011210154 学院:通信工程学院 【嵌牛导读】Frequency-aware Discriminative Feature Learning Supervised by Single-Center Loss for Face Forgery Detection论文阅读笔记 【嵌牛鼻子】Deepfake人脸检测方法,基于单中心损失监督的频率感知鉴别特征学习框架FDFL,将度量学习和自适应频率特征学习应用于人脸伪造检测,实现SOTA性能 【嵌牛提问】本文对于伪造人脸检测的优势在哪里体现 【嵌牛正文】 转自:
dlib的安装很头疼我自己折腾了好几星期才成功 要讲的话很多所以写在了word里
链接:
python使用dlib进行人脸检测与人脸关键点标记
Dlib简介:
首先给大家介绍一下Dlib
Dlib是一个跨平台的C++公共库,除了线程支持,网络支持,提供测试以及大量工具等等优点,Dlib还是一个强大的机器学习的C++库,包含了许多机器学习常用的算法。同时支持大量的数值算法如矩阵、大整数、随机数运算等等。
Dlib同时还包含了大量的图形模型算法。
最重要的是Dlib的文档和例子都非常详细。
Dlib主页:
这篇博客所述的人脸标记的算法也是来自Dlib库,Dlib实现了One Millisecond Face Alignment with an Ensemble of Regression Trees中的算法
这篇论文非常出名,在谷歌上打上One Millisecond就会自动补全,是CVPR 2014(国际计算机视觉与模式识别会议)上的一篇国际顶级水平的论文。毫秒级别就可以实现相当准确的人脸标记,包括一些半侧脸,脸很不清楚的情况,论文本身的算法十分复杂,感兴趣的同学可以下载看看。
Dlib实现了这篇最新论文的算法,所以Dlib的人脸标记算法是十分先进的,而且Dlib自带的人脸检测库也很准确,我们项目受到硬件所限,摄像头拍摄到的画面比较模糊,而在这种情况下之前尝试了几个人脸库,识别率都非常的低,而Dlib的效果简直出乎意料。
相对于C++我还是比较喜欢使用python,同时Dlib也是支持python的,只是在配置的时候碰了不少钉子,网上大部分的Dlib资料都是针对于C++的,我好不容易才配置好了python的dlib,这里分享给大家:
Dlib for python 配置:
因为是用python去开发计算机视觉方面的东西,python的这些科学计算库是必不可少的,这里我把常用的科学计算库的安装也涵盖在内了,已经安装过这些库的同学就可以忽略了。
我的环境是:
大家都知道Ubuntu是自带的,而且很多Ubuntu系统软件都是基于的,有一次我系统的python版本乱了,我脑残的想把卸载了重装,然后……好像是提醒我要卸载几千个软件来着,没看好直接回车了,等我反应过来Ctrl + C 的时候系统已经没了一半了…
所以我发现想要搞崩系统,这句话比rm -rf 还给力…
sudo apt-get remove
首先安装两个python第三方库的下载安装工具,好像是预装了easy_install
以下过程都是在终端中进行:
1.安装pip
sudo apt-get install python-pip1
2.安装easy-install
sudo apt-get install python-setuptools1
3.测试一下easy_install
有时候系统环境复杂了,安装的时候会安装到别的python版本上,这就麻烦了,所以还是谨慎一点测试一下,这里安装一个我之前在博客中提到的可以模拟浏览器的第三方python库测试一下。
sudo easy_install Mechanize1
4.测试安装是否成功
在终端输入python进入python shell
python1
进入python shell后import一下刚安装的mechanize
>>>import mechanize1
没有报错,就是安装成功了,如果说没有找到,那可能就是安装到别的python版本的路径了。
同时也测试一下PIL这个基础库
>>>import PIL1
没有报错的话,说明PIL已经被预装过了
5.安装numpy
接下来安装numpy
首先需要安装python-dev才可以编译之后的扩展库
sudo apt-get install python-dev1
之后就可以用easy-install 安装numpy了
sudo easy_install numpy1
这里有时候用easy-install 安装numpy下载的时候会卡住,那就只能用 apt-get 来安装了:
sudo apt-get install numpy1
不推荐这样安装的原因就是系统环境或者说python版本多了之后,直接apt-get安装numpy很有可能不知道装到哪个版本去了,然后就很麻烦了,我有好几次遇到这个问题,不知道是运气问题还是什么,所以风险还是很大的,所以还是尽量用easy-install来安装。
同样import numpy 进行测试
python>>>import numpy1234
没有报错的话就是成功了
下面的安装过程同理,我就从简写了,大家自己每步别忘了测试一下
6.安装scipy
sudo apt-get install python-scipy1
7.安装matplotlib
sudo apt-get install python-matplotlib1
8.安装dlib
我当时安装dlib的过程简直太艰辛,网上各种说不知道怎么配,配不好,我基本把stackoverflow上的方法试了个遍,才最终成功编译出来并且导入,不过听说更新之后有了,那真是极好的,我没有亲自配过也不能乱说,这里给大家分享我配置的过程吧:
1.首先必须安装libboost,不然是不能使用.so库的
sudo apt-get install libboost-python-dev cmake1
2.到Dlib的官网上下载dlib,会下载下来一个压缩包,里面有C++版的dlib库以及例子文档,Python dlib库的代码例子等等
我使用的版本是,大家也可以在我这里下载:
之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake
cd to 123
之后会得到一个,复制到dist-packages目录下即可使用
这里大家也可以直接用我编译好的.so库,但是也必须安装libboost才可以,不然python是不能调用so库的,下载地址:
将.so复制到dist-packages目录下
sudo cp /usr/local/lib/
最新的好像就没有这个bat文件了,取而代之的是一个setup文件,那么安装起来应该就没有这么麻烦了,大家可以去直接安装,也可以直接下载复制我的.so库,这两种方法应该都不麻烦~
有时候还会需要下面这两个库,建议大家一并安装一下
9.安装skimage
sudo apt-get install python-skimage1
10.安装imtools
sudo easy_install imtools1
Dlib face landmarks Demo
环境配置结束之后,我们首先看一下dlib提供的示例程序
1.人脸检测
源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See This example program shows how to find frontal human faces in an image. In# particular, it shows how you can take a list of images from the command# line and display each on the screen with red boxes overlaid on each human# face.## The examples/faces folder contains some jpg images of people. You can run# this program on them and see the detections by executing the# following command:# ./ ../examples/faces/*.jpg## This face detector is made using the now classic Histogram of Oriented# Gradients (HOG) feature combined with a linear classifier, an image# pyramid, and sliding window detection scheme. This type of object detector# is fairly general and capable of detecting many types of semi-rigid objects# in addition to human faces. Therefore, if you are interested in making# your own object detectors then read the example# program. ### COMPILING THE DLIB PYTHON INTERFACE# Dlib comes with a compiled python interface for python on MS Windows. If# you are using another python version or operating system then you need to# compile the dlib python interface before you can use this file. To do this,# run . This should work on any operating# system so long as you have CMake and boost-python installed.# On Ubuntu, this can be done easily by running the command:# sudo apt-get install libboost-python-dev cmake## Also note that this example requires scikit-image which can be installed# via the command:# pip install -U scikit-image# Or downloaded from . import sysimport dlibfrom skimage import iodetector = ()win = ()print("a");for f in [1:]:print("a");print("Processing file: {}".format(f))img = (f)# The 1 in the second argument indicates that we should upsample the image# 1 time. This will make everything bigger and allow us to detect more# = detector(img, 1)print("Number of faces detected: {}".format(len(dets))) for i, d in enumerate(dets):print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(i, (), (), (), ()))()(img)(dets)()# Finally, if you really want to you can ask the detector to tell you the score# for each detection. The score is bigger for more confident detections.# Also, the idx tells you which of the face sub-detectors matched. This can be# used to broadly identify faces in different (len([1:]) > 0):img = ([1])dets, scores, idx = (img, 1) for i, d in enumerate(dets):print("Detection {}, score: {}, face_type:{}".format(d, scores[i], idx[i]))1234567891011128192021222324252627282930337383940414243444546474849505575859606162636465666768697077778798081
我把源代码精简了一下,加了一下注释:
# -*- coding: utf-8 -*-import sysimport dlibfrom skimage import io#使用dlib自带的frontal_face_detector作为我们的特征提取器detector = ()#使用dlib提供的图片窗口win = ()#[]是用来获取命令行参数的,[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径for f in [1:]: #输出目前处理的图片地址print("Processing file: {}".format(f)) #使用skimage的io读取图片img = (f) #使用detector进行人脸检测 dets为返回的结果dets = detector(img, 1) #dets的元素个数即为脸的个数print("Number of faces detected: {}".format(len(dets))) #使用enumerate 函数遍历序列中的元素以及它们的下标#下标i即为人脸序号#left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离#top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离for i, d in enumerate(dets):print("dets{}".format(d))print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format( i, (), (), (), ())) #也可以获取比较全面的信息,如获取人脸与detector的匹配程度dets, scores, idx = (img, 1)for i, d in enumerate(dets):print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i])) #绘制图片(dlib的ui库可以直接绘制dets)(img)(dets) #等待点击()123456789101112819202122232425262728293033738394041424344454647484950
分别测试了一个人脸的和多个人脸的,以下是运行结果:
运行的时候把图片文件路径加到后面就好了
python ./data/
一张脸的:
两张脸的:
这里可以看出侧脸与detector的匹配度要比正脸小的很多
2.人脸关键点提取
人脸检测我们使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。
除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlib sourceforge库下载:
也可以从我的连接下载:
这个库支持68个关键点的提取,一般来说也够用了,如果需要更多的特征点就要自己去训练了。
源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See This example program shows how to find frontal human faces in an image and# estimate their pose. The pose takes the form of 68 landmarks. These are# points on the face such as the corners of the mouth, along the eyebrows, on# the eyes, and so forth.## This face detector is made using the classic Histogram of Oriented# Gradients (HOG) feature combined with a linear
URL: 论文pdf Google出品。亚毫秒级的移动端人脸检测算法。移动端可达200~1000+FPS速度。主要以下改进: 在深度可分离卷积中,计算量主要为point-wise部分,增加depth-wise部分卷积核大小并不会明显增加成本。因此本文在depth-wise部分采用了5x5的卷积核,已获得更大的感受野,故此可以降低在层数上的需求。 此外,启发于mobilenetV2,本文设计了一个先升后降的double BlazeBlock。BlazeBlock适用于浅层,double BlazeBlock适用于深层。 16x16的anchor是一样的,但本文将8x8,4x4和2x2的2个anchor替换到8x8的6个anchor。此外强制限制人脸的长宽为1:1。 由于最后一层feature map较大(相对于ssd),导致预测结果会较多,在连续帧预测过程中,nms会变导致人脸框变得更加抖动。本文在原始边界框的回归参数估计变为其与重叠概率的加权平均。这基本没有带来预测时间上的消耗,但在提升了10%的性能。 效果好速度快的方法想不想要?