计算机视觉常用算法
计算机视觉算法在图像识别方面的一些难点:
1)视角变化:同一物体,摄像头可以从多个角度来展现;
2)大小变化:物体可视的大小通常是会变化的(不仅是在图片中,在真实世界中大小也是由变化的);
3)形变:很多东西的形状并非一成不变,会有很大变化;
4)遮挡:目标物体可能被遮挡。有时候只有物体的一部分(可以小到几个像素)是可见的; 5)光照条件:在像素层面上,光照的影响非常大;
6)背景干扰:物体可能混入背景之中,使之难以被辨认;
7)类内差异:一类物体的个体之间的外形差异很大,如椅子。这一类物体有许多不同的对象,每个都有自己的外形
人脸识别算法主要包含三个模块:
人脸检测(Face Detection):确定人脸在图像中的大小和位置,也就是在图像中预测anchor;
人脸对齐(Face Alignment):它的原理是找到人脸的若干个关键点(基准点,如眼角,鼻尖,嘴角等),然后利用这些对应的关键点通过相似变换(Similarity Transform,旋转、缩放和平移)将人脸尽可能变换到标准人脸;
人脸特征表征(Feature Representation):它接受的输入是标准化的人脸图像,通过特征建模得到向量化的人脸特征,最后通过分类器判别得到识别的结果。关键点是怎样得到不同人脸的有区分度的特征,比如:鼻子、嘴巴、眼睛等。
早期算法:
子空间(线性降维)
PCA(主成成分分析) :尽量多地保留原始数据的保留主要信息,降低冗余信息;
LDA(线性判别分析):增大类间差距,减小类内差距。
非线性降维: 流形学习、加入核函数。
ICA(独立成分分析):比PCA效果好,比较依赖于训练测试场景,且对光照、人脸的表情、姿态敏感,泛化能力不足。
HMM(隐马尔科夫) : 和前面这些算法相比,它对光照变化、表情和姿态的变化更鲁棒。
早期:数据和模型结构;
后期:loss,从而得到不同人脸的有区分度的特征。
常用算法总结
计算机视觉中的相关算法的源代码
计算机视觉常用算法博客
特征提取(找到若干个关键点)
(1) SIFT (尺度不变特征变换) 具有尺度不变性,可在图像中检测出关键点。
(2) SURF(加速稳健特征,SIFT加速版)
核心:构建Hessian矩阵,判别当前点是否为比邻域更亮或更暗的点,由此来确定关键点的位置。
优:特征稳定;
缺:对于边缘光滑的目标提取能力较弱。
(3) ORB
结合Fast与Brief算法,并给Fast特征点增加了方向性,使得特征点具有旋转不变性,并提出了构造金字塔方法,解决尺度不变性。
ORB算法的速度是sift的100倍,是surf的10倍。
经显示观察到,ORB算法在特征点标记时数量较少,如图:
SIFT、SURF、ORB实现
(4) FAST角点检测
FAST的方法主要是考虑像素点附近的圆形窗口上的16个像素
如果要提高检测速度的话,只需要检测四个点就可以了,首先比较第1和第9个像素,如果两个点像素强度都在中心像素强度t变化范围内(及都同中心点相似),则说明这不是角点,如果接下来检测第5和13点时,发现上述四点中至少有三个点同中心点不相似,则可以说明这是个角点。
非极大值抑制:如果存在多个关键点,则删除角响应度较小的特征点。
(5) HOG (方向梯度直方图)
(6) LBP(局部二值特征)论述了高维特征和验证性能存在着正相关的关系,即人脸维度越高,验证的准确度就越高。
(7)Haar
计算机视觉有哪些分类
人类视觉所具有的强大功能和完美的信息处理方式引起了智能研究者的极大兴趣,人们希望以生物视觉为蓝本研究一个人工视觉系统用于机器人中,期望机器人拥有类似人类感受环境的能力。机器人要对外部世界的信息进行感知,就要依靠各种传感器。就像人类一样,在机器人的众多感知传感器中,视觉系统提供了大部分机器人所需的外部相界信息。因此视觉系统在机器人技术中具有重要的作用。
依据视觉传感器的数量和特性,目前主流的移动机器人视觉系统有单目视觉、双目立体视觉、多目视觉和全景视觉等。
单目视觉,单目视觉系统只使用一个视觉传感器。单目视觉系统在成像过程中由于从三维客观世界投影到N维图像上,从而损失了深度信息,这是此类视觉系统的主要缺点(尽管如此,单目视觉系统由于结构简单、算法成熟且计算量较小,在自主移动机器人中已得到广泛应用,如用于目标跟踪、基于单目特征的室内定位导航等。同时,单目视觉是其他类型视觉系统的基础,如双目立体视觉、多目视觉等都是在单目视觉系统的基础上,通过附加其他手段和措施而实现的。
双目立体视觉。双目视觉系统由两个摄像机组成,利用三角测量原理获得场景的深度信息,并且可以重建周围景物的三维形状和位置,类似人眼的体视功能,原理简单。双目视觉系统需要精确地知道两个摄像机之间的空间位置关系,而且场景环境的3D信息需要两个摄像机从不同角度,同时拍摄同一场景的两幅图像,并进行复杂的匹配,才能准确得到立体视觉系统能够比较准确地恢复视觉场景的三维信息,在移动机器人定位导航、避障和地图构建等方面得到了广泛的应用用。然而,立体视觉系统的难点是对应点匹配的问题,该问题在很大程度上制约着立体视觉在机器人领域的应用前景。
多目视觉系统。多目视觉系统采用三个或三个以上摄像机,三目视觉系统居多,主要用来解决又目立体视觉系统中匹配多义性的问题,提高匹配精度。多目视觉系统最早由莫拉维克研究,他为“StanfordCart”研制的视觉导航系统采用单个摄像机的“滑动
立体视觉”来实现,雅西达提出了三目立体视觉系统解决对应点匹配的问题,真正突破了《目立体视觉系统的局限,并指出以边界点作为匹配特征的三目视觉系统中,其三元的配的准确率比较高,艾雅湜提出了用多边形近似宕的边界点段作为特征的三目匹配算法,并用到移动机器人中,取得了较好的效果,三目视觉系统的优点是充分利用了第三个摄像机的信息,减少了错误匹配,解决了双目视觉系统匹配的多义性,提高了定位精度,但三目视觉系统要合理安置三个摄像机的相对位置,其结构配置比双目视觉系统更烦琐,而且匹配算法更复杂需要消耗更多的时间,实时性更差
全景视觉,全景视觉系统是具有较大水平视场的多方向成像系统,突出的优点是有较大的视场,可以达到360度,这是其他常规镜头无法比拟的,全景视觉系统可以通过图像拼的方法或者通过折反射光学元件实现。图像拼接的方法使用单个或多个相机旋转,对场景进行大角度扫描,获取不同方向上连续的多帧图像,再用拼接技术得到全景图。折反射全景视觉系统由CCD摄像机、折反射光学元件等组成,利用反射镜成像原理,可以观察360度场景,成像速度快,能达到实时要求,具有十分重要的应用前景,可以应用在机器人导航中。全景视觉系统本质上也是一种单目视觉系统,也无法得到场景的深度信息。其另一个特点是获取的图像分辨率较低,并且图像存在很大的畸变,从而会影响图像处理的稳定性和精度。在进行图像处理时首先需要根据成像模型对畸变图像进行校正,这种较正过程不但会影响视觉系统的实时性,而且还会造成信息的损失。另外这种视觉系统对全景反射镜的加工精度要求很多,若双曲反射镜面的精度达不到要求,利用理想模型对图像校正则会存在较大偏差。
混合视觉系统,混合视觉系统吸收各种视觉系统的优点,采用两种或两种以上的视觉系统组成复合视觉系统,多采用单目或双目视觉系统,同时配备其他视觉系统。全景视觉系统由球面反射系统组成,其中全景视觉系统提供大视角的环境信息,双目立体视觉系统和激光测距仪检测近距离的障碍物,清化大学的朱志刚使用一个摄像机研制了多尺度视觉传感系统POST,实现了双目注视、全方位环视和左右两侧的时代全景成像,为机器人提供了导航。全景视觉系统具有全景视觉系统视场范围大的优点,同时又具备双目视觉系统精度高的长处,但是该类系统配置复杂,费用比较高。
在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!
-
人脸识别
+关注
关注
76文章
4011浏览量
81844 -
计算机视觉
+关注
关注
8文章
1698浏览量
45965
发布评论请先 登录
相关推荐
评论