面试题:计算机视觉图像处理CV、人脸识别

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


Faster rcnn怎么筛选正负anchor

问题解析

Faster rcnn 在生成目标候选框的过程中,会产生大量的非目标区域候选框,通过计算候选框与标注框的iou,来标定正负候选框,即为筛选正负anchor。

Rpn 正负样本标记:

  1. 正样本:与ground truth(GT)的iou大于0.7的anchor,注意一个GT可能分配正标签给多个anchor
  2. 负样本:与ground truth(GT)的iou小于0.3的anchor,非正非负的anchor对训练目标没有作用
  3. 训练时:正样本 128个,负样本128个,比例 1:1

后续分类的正负样本标记:

  1. 正样本:与ground truth(GT)的iou大于0.5的anchor
  2. 负样本:与ground truth(GT)的iou小于0.5的anchor
  3. 训练时:正样本 32个,负样本96个,比例 1:3

​​​​​​​答案:Faster rcnn通过生成的anchor与gt的iou大小,标定正负样本


one-stage和two-stage目标检测方法的区别和优缺点

​​​​​​​问题解析

两者的主要区别在于two stage算法需要先生成proposal(一个有可能包含待检物体的预选框),然后进行细粒度的物体检测,如Faster R-CNN算法会先生成候选框(region proposals,可能包含物体的区域),然后再对每个候选框进行分类(也会修正位置)。这类算法相对就慢,因为它需要多次运行检测和分类流程,但是模型检测精度高。

而one stage算法会直接在网络中提取特征来预测物体分类和位置。其特点是一步到位,仅仅需要送入网络一次就可以预测出所有的边界框,速度相对较快,非常适合移动端,单模型检测精度低于two-stage,典型的one-stage检测算法包括YOLO,SSD,SqueezeDet以及DetectNet。

​​​​​​​答案

One stage: 目标框的预测与分类一步到位,速度快,精度略低

Two stage: 先产生目标框,然后基于框的分类,两步走,速度慢,精度高


人脸识别系统有可能受到的攻击有哪些​​​​​​​

​​​​​​​问题解析

近年来,随着网络的发达导致的个人信息泄露,生物特征信息的获取与伪造变得越来越容易,这就使得人脸认证系统仍存在被伪造面部攻击欺骗的高可能性的致命缺点,人脸识别正在经受这类照片人脸攻击的严峻挑战。

​​​​​​​答案

  1. 照片人脸攻击:通过被假冒者的电子或纸质照片来假冒用户进行伪造;
  2. 视频人脸攻击:通过记载有用户的五官运动,如眨眼、吐舌头等表情的视频,表现出类似真人脸活动的动态效果的生物特征。
  3. 三维模型人脸攻击:利用3D打印技术或其他三维构造技术,模拟真人3D人脸模型或面具。

​​​​​​​问题拓展

通常人类的生理特征主要有视网膜、掌纹、手形、语音、人脸、指纹、虹膜等,行为特征主要有步态、笔迹等。人脸识别的非常重要且常见的一种生物识别技术,通过采集到的人脸图像与数据库中的图像进行对比,从而确定被采集者的身份。


工作中或你所知的常用的的人脸欺骗数据库有哪些

​​​​​​​问题解析

目前针对照片欺骗的数据库主要有三个:

南京航空航天大学(NUAA)照片欺骗数据库、中国科学院自动化研究所(CASIA)人脸反欺骗数据库,瑞士 IDIAP 研究所的人脸照片攻击数据库。

以NUAA为例,它的照片欺骗数据库的样本采集设备是从电子市场上购买的普通网络摄像头。数据库的样本是在三个场景中拍摄的,所有三个场景的样本的采集地点和光线条件都是不同的。该数据库的制作邀请了 15 个对象(编号从 1 到 15)进行拍摄。每个场景中都拍摄了各个对象的活体人脸和对象的人脸照片。

​​​​​​​答案

NUAA 人脸欺骗数据库以每秒 20 帧的速率,通过普通网络摄像头为每个场景中的对象捕捉约 500 张人脸图像。在图像捕捉期间,要求每个对象正视摄像头,并且表情自然,没有特意的多余动作,如眨眼或头部运动。换而言之,数据库的设计者试图让真人尽可能地模仿照片,让照片尽可能地模仿真人。

​​​​​​​问题拓展

在收集照片样本的过程中,数据库设计者用普通佳能照相机为每个对象拍摄一张高分辨率的照片,照片中的人脸区域必须占照片总大小的 67%以上。然后用两种方式处理照片。第一种方式是用传统的照片冲印方式得到两种普通尺寸的照片:6.8cm x 10.2cm(较小)和 8.9cm x 12.7cm(较大)。第二种方式是将拍摄的照片用普通惠普打印机彩印到 70g 的 A4 纸上。


活体人脸检测的常用方法有哪些​​​​​​​

​​​​​​​问题解析

傅里叶频谱方法

对于活体与非活体人脸通过摄像头采集到的数据,其清晰程度也是不同的,转换到频域下,图像的清晰度也就对应了频谱中高频低频分量的占比,从而通过高频分量的占比可以得出是否为活体。该理论依以下两个方法为支撑:(1)通过频域下图像高频分析的占比来区分是否为活体。(2)对于照片在验证过程中面目表情无变化,故而频率分量的标准差偏小。

三维深度分析:

现实中活体人脸相比于非活体照片,脸部是三维的,并随面部表情的变化各不相同。而非活体人脸是二维的,故人眼可以很快辨明二者区别。而在机器视觉中,可以通过摄像头采集回来的脸部数据,快速得到活体与非活体的脸部的三维深度特征点坐标大小。

脸部光流分析法 

在运动跟踪领域中,光流跟踪是其比较重要的基本概念,光流跟踪是利用图像序列在时域变化过程中,图像的相关性来找到图像变化前后的对应的位置关系。脸部光流分析法,则是利用这一原理,利用脸部图像在时间域中,前后帧变化过程中面部特征点的位置关系不同,产生不同的光流信息都是二维的,而活体对象是三维结构,产生的三维光流信息与二维光流信息有非常大的区别。因此光流分析是活体人脸检测识别的重要分析方法。

随机动作如眨眼、张嘴等

系统先识别待测人脸,确定眼睛及嘴巴的位置,当待测对象产生如张嘴、眨眼等生理活动时,对这一活动进行主成分分析,经过一系列算法处理后可判断待测对象是否为活体。这个方法可以较好的应对图片伪造的攻击,但对高清视频检测的意义不高。因为视频与活体都具有运动特征,都可以产生眨眼和张嘴等生理动作行为。

​​​​​​​答案

目前主流的对活体人脸的检测方法是:

活体人脸具有特征属性和生理行为,针对以上两个特点进行检测可以得到良好的检测效果。其中,人脸属性特征进行检测的常用方式为傅里叶频谱方法、三维深度信息方法、以及多光谱成像方法等,这类方法理论简明且操作便捷;与此同时,对人脸面目表情等生理行为进行检测的方法是动态人脸检测的基本原理,通过预先设定好的随机动作如眨眼、张嘴等,让行为人做出特定动作来进行活体验证,此类方法可以有效的检测出是否为活体,但必须访问者实时配合。

​​​​​​​问题拓展

Maciej Smiatacz 的方法是:收集待测对象的人脸活动情况,如转头,点头等生理活动,这些活动会产生不同光流数据,且该数据随待测对象的变化而变化,具有唯一性,利用支持向量分析器 SVM 对收集到的数据进行分类训练,经过多次分类训练后,SVM 对数据进行分级处理,系统根据捕获的不同待测对象的数据匹配相应的级别,以此来判别待测对象是否为活体。


Viola-Jones 人脸检测器(Adaboost级联人脸检测器)原理是什么​​​​​​​

​​​​​​​问题解析

人脸的某些区域可以用矩形特征来描述。如图所示,第二列中人眼区域的颜色通常比人眼下方的颜色要更深,所以可以使用一个上黑下白的矩阵特征来描述。第三列中人鼻梁区域的颜色通常较鼻子两侧的区域颜色更浅,所以可以使用一个中间白两边黑的矩形特征来描述。类似的,人脸的其他部位也可以用一些矩形特征来表示。

Viola 和 Jones 共使用了 3 种类型(2 矩形特征、3 矩形特征、4 矩形特征):

​​​​​​​答案

Viola-Jones 人脸检测算法是一种基于 Haar 特征、积分图、AdaBoost 算法的人脸检测方案。算法主要分为三个部分:

1)使用 Haar 特征表示人脸图像的灰度变化信息,使用积分图对特征值进行快速计算。

2)采用 AdaBoost 算法筛选出一些最能反映人脸特征的 Haar 特征对应的弱分类器,然后迭代训练不同的弱分类器,按加权投票的思想将这些弱分类器整合成一个强分类器。

3)将上一步训练得到的多个强分类器串接,组成一个级联结构的分类器。

​​​​​​​问题拓展

为了在计算大量的矩形特征的过程中可以减少计算时间,提高计算效率,需要引入积分图的概念。积分图是一个快速高效计算矩形子区域像素值之和的算法。


请举例说明疲劳判定及检测系统的常见原理

​​​​​​​问题解析

一般使用了人眼睁开度、眨眼频率、打哈欠频率三个生理特征参数来作为驾驶者疲劳驾驶判断的依据,相较于单一生理特征,这样更能提高判定结果的可信性以及准确度。

​​​​​​​答案

疲劳检测系统,将疲劳状态的判定分成为3 个模块:基于人眼睁开度的疲劳判定模块、基于眨眼频率的疲劳判定模块以及基于哈欠频率的疲劳判定模块,三者共同依赖于人脸检测模块。在对驾驶者疲劳度的判定过程中,三个判定模块并行工作,也就是说,对于同一幅输入视频帧,分别进行人眼的定位和睁开度的计算、眨眼的检测以及哈欠的检测,当三者中有一个触发了各自的疲劳判定临界值,那么就将驾驶者当前的状态判定为疲劳

​​​​​​​问题拓展

在正常状态下,人的眨眼频率为 10~15 次/分钟。检测驾驶者是否发生眨眼,检测是否眨眼可以 30 分钟为一周期,计算驾驶者在每一个周期内眨眼频率,单位为次/分钟。


人脸图像预处理常用哪些方法

​​​​​​​问题解析

由于图片的实际拍摄环境和拍摄设备等条件的限制,人脸图像处理系统所要处理的图片的质量好坏是有很大差异的。通过对图像进行预处理,可以缩小这些外部干扰所带来的图像差异,并提高图像的质量,使图像中的相关信息更明显。在整个识别系统中,预处理起到了承上启下的作用。

直方图均衡化是提高图像质量的重要手段之一。由于实际使用情况的限制,从数码设备获得的数字图像灰度分布往往集中在很窄的区域内,造成了整体图像颜色相近,目标信息与非目标信息区分度不明显。直方图均衡化就是把原始图像的灰度直方图进行非线性拉伸,使原来在某一个灰度区间分布的图像变成在整个灰度区间上都有分布的图像。

数字图像中常见的噪声干扰有两种:一种是幅值基本相同,但出现的位置很随机的椒盐噪声。另一种是每一点都存在,但幅值随机分布的随机噪声。为了抑制噪声、改善图像质量,要对图像进行平滑处理。高斯滤波是一种用来消除高斯噪声的线性平滑滤波。高斯滤波的过程就是利用二维高斯函数计算出一个确定权值的高斯模版,并用这个模版对图像中每一个像素点与其周围模版内的点进行加权平均的过程。

二值化是一种常用的基于阈值的图像分割方法。这种方法的实质是通过阈值将原灰度图像的像素点进行分类,最终用黑色和白色分别表示两个类中的像素,使图像由灰度图转化为二值图标准的人脸图像由大面积灰度接近的皮肤和少量毛发、五官组成,整体色彩结构并不复杂,且毛发和五官边缘等处与肤色有较大差异,由于这些特性,对人脸进行二值化可以提取出人脸的一些特征信息,二值化分割图像的效果完全由阈值决定。

对于一幅灰度图像,边缘是指图像中与周围灰度有明显变化的像素点。这些点虽然只占整幅图像中很小的一部分,但却包含了重要的信息。对于人脸图像来说,边缘检测通过边缘信息我们可以知道人脸整体轮廓,和眼睛、嘴巴等器官所处的位置及大小等诸多特征信息。其中具有代表性的算子有:Robert 算子、Prewitt算子、Laplacian 算子等。通过这些算子求出的图像边缘往往较粗且对噪声敏感。

​​​​​​​答案

人脸图片的预处理主要包括:人脸图像增强、降噪、边缘检测,二值化,直方图均衡化等

​​​​​​​问题拓展

人脸拥有眼角嘴角等明显的角点特征点。这些角点特征具有计算量小、匹配简单且对旋转、缩放等变化都具有不变的性质,在人脸识别中可以起到重要的作用。常见角点检测算法有 Kitchen-Rosenfeld 角点检测算法,Harris 角点检测算法、KLT 角点检测算法及 SUSAN 角点检测算法。和其他角点检测算法相比,SUSAN 角点检测算法具有算法简单、位置准确、抗噪声能力强等特点。


Canny 边缘检测算法原理是什么

​​​​​​​问题解析

Canny 边缘检测算法是由 John F.Canny 在 1986 年提出的一种多级的最佳边缘检

测算法,在实际使用中具有良好的边缘检测效果。由于 Canny 算子对噪声敏感,在应用 Canny 边缘检测前,应先对原图像进行高斯滤波。高斯滤波是一种线性平滑滤

波,可以较好的保留原始图像的边缘,选择的滤波函数如下式所示,其中s 为高斯函数的标准差,它决定了整个函数曲线的平滑程度:

​​​​​​​答案

接下来用 Canny 算子计算出图像所有像素点的梯度值,以及对应的梯度方向。Canny 算子由 x 方向和 y 方向上的两个卷积模版组成(如式 2-8 所示)。设 f(x,y)表示点 (x,y)的灰度值,则 x 方向和 y 方向上的一阶偏导数由式 2-9 和 2-10 可以算出。梯度值即为梯度向量的模,由式 2-11 求出,梯度方向可根据式 2-12 求出。

最后对梯度幅值进行非极大值抑制,并用双阈值算法检测和连接边缘。最终可以

得出单线的、较准确的图像边缘。

​​​​​​​问题拓展

非极大值抑制是进行边缘检测的重要步骤,图像梯度幅值矩阵中的元素值越大,说明图像中该点的梯度值越大,但这不不能说明该点就是边缘点。只有像素点的梯度幅值在梯度方向上局部最大,才能把该点列为候选边缘点,通过非极大值抑制可以排除一大部分非边缘点。在用双阈值算法检测和连接边缘时,选用的两个阈值往往是人为设定的常量,对不同光照条件和拍摄条件产生的图片适应性有限,对于图像状况复杂的图片库,选用合适的自适应阈值才能生成良好的边缘。


如何对人脸特征进行增强

​​​​​​​问题解析

人脸特征区域主要是指五官区域和轮廓曲线,它们具有明显的灰度特征:灰度值较周围皮肤低且大多具有边缘特征。目前常见的定位特征区域的方法是直接对人脸部图片做灰度投影或边缘检测。五官区域和轮廓曲线都存在水平方向上的梯度特征和垂直方向上的梯度特征,增强这些梯度特征就可以达到增强人脸特征的效果。

1)增强人脸水平方向上的梯度特征。通过观察可以发现,双眼上下眼眶的轮廓是两条在近似水平方向上分布的边缘曲线。嘴巴的部分轮廓,也是近似水平分布的边缘曲线。这些特征都可以用水平方向梯度来描述,通过构造增强水平方向梯度的卷积模版来提取特征。增强水平方向梯度的卷积模版如式 3-5,3-6 所示。

设 F (x,y)为灰度化后人脸图像,则增强水平方向梯度后的图像 G1(x,y) 可以由式3-7 计算。处理后的 F (x,y)与G1(x,y)对比图如图 3.1 所示。

增强人脸垂直方向上的梯度特征。垂直方向上的梯度特征主要有:瞳孔与眼白的分界线,脸边缘近似垂直部分轮廓,鼻子部分轮廓。增强垂直方向梯度的卷积模版如式 3-8 和 3-9 所示。

由式 3-10 可以计算增强垂直方向梯度后的图像G2(x,y)。其对应的效果图片如图3.2 所示。

​​​​​​​答案

增强的水平方向梯度很好的保留了原图像近似水平的轮廓特征,能清晰的分辨出人脸五官区域,并在很大程度上消除了阴影和噪声的干扰。增强的垂直方向梯度突出了原图像中人脸的近似垂直方向上的轮廓以及眼白和瞳孔的分界线,达到了增强特征区域的效果。

​​​​​​​问题拓展

传统图像处理中,定位眼角需要经过多个步骤来实现:


人脸识别系统的结构设计常见的模块有哪些

​​​​​​​问题解析

人脸库图片通常是基于标准人脸图片建立的用于研究或者实际应用的数据库。所以人脸库图片通常不需要经过图片的人脸检测和定位就可以直接进行后续处理。

待识别图片则是通过摄像头或者图像库获取。这些图像的采集环境往往非常复杂,图片不但会出现亮度、遮挡、噪声、姿态表情变化等诸多干扰因素,而且人脸在图片中的大小和位置也具有不确定性。因此待识别图片要先经过人脸检测和定位,提取出图片中的人脸部分再经后续步骤处理。

人脸图片的预处理的主要作用是尽可能去除原始图片中亮度、遮挡、噪声等干扰因素,最大程度提高图片的质量,使图片在被后续步骤处理后有更好的效果。人脸图片的预处理步骤主要包含图片增强变换、滤波消噪、人脸图像归一化等方法。

人脸特征的选择与提取是整个识别系统中最核心的部分。在这一步骤中,计算机通过算法抽取有效的人脸图像特征,并用这些有限的特征来表征原始的人脸图像进行识别匹配。所以,如何选择合适的特征和特征提取方法是人脸识别要面对的基本问题。一般来说,选择时要遵循一下原则:选择一种低维的特征向量,并使之能充分、鲁棒的表征人脸。还要求特征提取算法设计合理,尽可能降低运算时间和运算复杂性。对于提取的人脸特征,需要通过分类器把它们进行归类,即区分出匹配的人脸图片和不相干的人脸图片。分类器的种类很多,需要经过具体实验来确定一种差错率最低且效率较高的分类器。

​​​​​​​答案

基于几何特征的人脸识别系统结构设计一般包含如下模块:

​​​​​​​问题拓展

现今的人脸识别方法理论基础各不相同,适用范围也有很大差别,具体的人脸识别系统要根据所选择的方法来进行构建。方法中,基于几何特征的人脸识别方法是以人脸特征点或特征向量为基础的识别方法。并且它具有识别速度快,硬件适用性强等优点。


人脸识别分类器的设计中常见的选型有哪些,分别有什么优缺点

​​​​​​​问题解析

最近邻分类器算法时间复杂度与最小距离分类器相似,都具有分类速度快,错误率低的优点。且与最小距离分类器相比,最近邻分类器更适合分类未知分布的数据集,且对于每类中含有多元素的数据集有较高的分类准确率。

贝叶斯分类器时要先求出先验概率,所以类别的总体分布概率需要是已知的。同时,要决策分类的类数也要是一定的。

支持向量机算法它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。对于复杂的非线性分类问题,支持向量机有很好的分类效果,实际应用中也表现出了鲁棒性。缺点是在训练时,高维矩阵的运算需要耗费大量的机器内存和运算时间。

人工神经网络本质可以理解为函数逼近,所以可以应用到分类领域。在使用神经网络分类器时,先用大量对应的输入输出数据来训练整个网络,让其分析掌握其中潜在的规律。最终,在有新的输入数据时,网络就会以之前的规律来推算出最佳也即最相似的输出结果,从而完成分类过程。人工神经网络分类器是一种适应能力很强、分类效果很好的非线性分类器,并且可以通过训练更多的输入输出数据组来进一步提高性能,整个过程人工干预较少,分类速度较快。

​​​​​​​答案

人脸识别是一个典型的分类过程,分类器获得从待识别图像中提取出的特征向量,并根据训练好的人脸库图片进行分类,最终输出识别结果。在人脸识别领域,常用的分类器有:最小距离分类器,最近邻分类器,遗传算法(Genetic Algorithm),支持向量机(Support Vector Machine)贝叶斯分类器(Bayesian Classification),神经网络分类器(Neural Network Classification)等。

​​​​​​​问题拓展

对于最小距离分类器,相似度的判定标准是通过比较样本到类中心的距离大小,距离越小说明相似度越高。最小距离分类器是一种基于向量空间模型的分类算法,其相对一些其它的分类算法具有很明显的速度优势。最小距离分类器经常使用以下方法计算距离:

①欧式距离(Euclidean Distance)。

②加权欧式距离(Weighted Euclidean Distance)。

③马哈利诺贝斯距离(Mahalanobis Distance)。

三种距离计算方法中,欧式距离计算最为简单,但分类效果在很多情况下达不到要求,马哈利诺贝斯距离算法时间复杂度最高,但对特定数据有很好的分类效果。加权欧式距离在权值设定合适的情况下,分类效果最好,且时间复杂度最低,但是最佳权值不易确定,设置不合适的权值甚至会使分类效果不及普通欧式距离的分类效果。 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

あずにゃん

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值