人脸识别的技术面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像处理技术面试
Q1, 特征脸技术方面,训练时把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”即“特征脸”。
识别的过程是把一副新的图像投影到特征脸子空间,进行匹配。
训练时,针对10种人脸,总共500张100X100的人脸图像,原始图像可以看成10000维的向量,500张原始图像中心化后组成1000X500的矩阵X乘以它的转置矩阵得到10000X10000的协方差矩阵Ω。
如何快速求解协方差矩阵Ω的k个非零特征值?
Q2,Viola-Jones多级级联分类器识别人脸方法:
是人脸识别领域的一种经典方法。
概念意义上的解释参考wikipedia;个人理解是:对于提取的图像haar-like特征,先用弱分类器分类,再把弱分类器训练提升为强分类器,多个强分类器级联起来就可以达到任意检测率的人脸图像识别。
haar-like特征,目前常用的Haar-like特征可以分为三类:线性特征、边缘特征、点特征(中心特征)、对角线特征。
一个24*24的图像窗口,这样的特征就存在高达16万个。
利用积分图的方法可以快速计算得到这样的特征。
Q3,目标跟踪算法:KLT( Kanade–Lucas–Tomasi) 是一种特征跟踪算法,也叫(Lucas光流法),它利用灰度信息直接搜索最匹配的位置。
KLT算法的三个假设条件:
a. 亮度恒定
b. 时间连续或者运动是“小运动”
c. 空间一致,临近点有相似运动,保持相邻。
其他跟踪算法:
粒子滤波pf:能够较好搜索到全局最优解,但其求解速度相对较慢,因基于颜色直方图的计算,所以对相同颜色东西不太能够区别。
均值漂移meanshift:容易陷入局部最优,不好跟踪小目标和快速移动目标,但运算量小速度快。
光流法用于目标跟踪的原理:
(1)对一个连续的视频帧序列进行处理;
(2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;
(3)如果某一帧出现了前景目标,找到其具有代表性的关键特征点(可以随机产生,也可以利用角点来做特征点);
(4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;
(5)如此迭代进行,便可实现目标的跟踪;
遇到的问题:
1: 图像预处理以消除或减少光照不均匀的影响,解决方案:图像预处理时,利用同态滤波可解决此问题。
这对光照条件不好(KLT三个假设前提中的a条件不满足)的情况下尤为重要。
2,跟踪目标丢失,解决方案:应该再初始化。
针对KLT跟踪算法的缺陷(三个假设前提中的b不满足),在遇到大运动或者out-of-plane大旋转的时候会丢失目标,重新初始化识别人脸,同时重新计算角点(待跟踪点)
3,帧与帧之间的异常检测:前帧确定的待跟踪点和当前帧跟踪点个数是个重大参考,提出当前后帧图像中跟踪点个数出现较大波动时,作为异常检测动作的发生条件之一
Q6,Matlab 中读、写及显示一幅图像的命令各是什么?imread,imwrite,imshow。
Q7,Matlab矩阵运算中A. *B 和A*B 的区别?
Q8, 简述BP神经网络,AdBoost的基本原理?了解深度学习吗?
Q,彩色图像、灰度图像、二值图像和索引图像区别?
Q9, 关键字static的作用是什么?
解:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数,是一个本地的全局变量。
3)在模块内,一个被声明为静态的函数只可被这一模块的它函数调用。
即这个函数被限制在声明它的模块的本地范围内使用。
Q10,简述C,C++程序编译的内存分配情况?
解:C、C++程序编译时内存分为5大存储区:堆区,栈区,全局区,文字常量区和程序代码区C,C++中内存分配方式可以分为三种:
从静态存储区域分配:内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在。
速度快,不容易出错,因有系统自行管理。
在栈上分配:在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。
栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
从堆上分配:即运态内存分配。
程序在运行时候用malloc或new申请任意大小的内存,程序员自己负责在何进用free 和delete释放内存。
Q,谈谈您这些年最有成就的科研项目?应用前景?进展情况?分工?收获?科研最大优势?创新点?
Q,目前为什么换工作?将来职业规划?
Q,我们招人原则是,第一,具备一定的基本专业知识,第二,更看重个人的主观能动性。
举例说明具备强烈的主观能动性?
我们认为基本专业知识可以一般般,稍微弱点没关系,可以学习,但主观能动性方面决定了个人的上升高度,可以弥补专业知识不足的弱点,但如果基本专业知识很优秀,能动性不行,那发展不了多远,上不了一定的层面。
尤其是算法研发职位,平时需要查阅大量的文献,尝试不同方法,很多时候在尝试人家的方法同时,取长补短,开发出适合自己的算法。
这些都需要科研人员具备较强的能动性,积极主动的去尝试和优化算法。
Q,对工作环境有什么要求? 比如如何看待加班?某些人愿意自愿加班,你如何看待?
Q,对公司还有什么疑问?尽管提出来,以增加双方相互了解。
以免将来入职后对公司某些方面没达到自己预期而产生心理上失衡,导致心理不愉快而影响工作,甚至最终导致大家分手。
这样对你和对公司都是不愉快的事情。
所以双方尽量多了解清楚,达成一致,合作起来才愉快。