图像算法面试汇总

SIFT

主要步骤

  SIFT(Scale-invariant feature transform尺度不变特征转换)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,

 

  1)、尺度空间的生成;(尺度空间理论目的是模拟图像数据的多尺度特征。为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space)。利用不同尺度的高斯差分核与图像卷积生成。)

   2)、检测尺度空间极值点;(每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小)

  3)、精确定位极值点;(通过拟和三维二次函数以精确确定关键点的位置和尺度(达到亚像素精度),同时去除低对比度的关键点和不稳定的边缘响应点)

  4)、为每个关键点指定方向参数;(给特征点赋值一个128维方向参数)

5)、关键点描述子的生成 

 

6) 根据SIFT进行Match (生成了A、B两幅图的描述子,(分别是k1*128维和k2*128维),就将两图中各个scale(所有scale)的描述子进行匹配,匹配上128维即可表示两个特征点match上了。)

 

Harris角点算法

当一个窗口在图像上移动,在平滑区域如图(a),窗口在各个方向上没有变化。在边缘上如图(b),窗口在边缘的方向上没有变化。在角点处如图(c),窗口在各个方向上具有变化。Harris角点检测正是利用了这个直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。

 

NCC算法

NCC(normalized cross correlation)算法,归一化互相关匹配法,是基于图像灰度信息的匹配方法。

  图像匹配的方法主要有三种:基于灰度,基于特征,基于变换域。

RANSAC算法随机抽样一致算法(Random sample consensus)

1)假定模型2)找出距离拟合曲线容差范围内的点,并统计点的个数3)每一次拟合后,容差范围内都有对应的数据点数,找出数据点个数最多的情况,就是最终的拟合结果

Canny算子求边缘点具体算法步骤如下:

1. 用高斯滤波器平滑图像.

2. 用一阶偏导有限差分计算梯度幅值和方向

3. 对梯度幅值进行非极大值抑制

4. 用双阈值算法检测和连接边缘.

混合高斯模型

用GMM对背景建模的基本思想是把每一个像素点所呈现的颜色用K个高斯分布的叠加来表示,通常K取3-5之间。将像素点所呈现的颜色X认为是随机变量,则在每时刻t=1,…,T所得到视频帧图像的像素值只是随机变量X的采样值(观值)。

在进行前景检测前,先对背景进行训练,对每一帧图像中每个背景采用一个混合高斯模型进行模拟,背景一旦提取出来,前景的检测就简单了,检查像素是否与背景的高斯模型匹配,匹配是背景,不匹配就是前景。

所以关键就是混合高斯背景模型的建立。

GMM之所以能够将前景和背景分开是基于如下两点事实的:

(1)在长期观测的场景中,背景占大多数时间,更多的数据是支持背景分布的

(2)即使是相对颜色一致的运动物体也会比背景产生更多变化,况且一般情况下物体都是带有不同颜色的

算法大致这样:

首先初始化预先定义的几个高斯模型,对高斯模型中的参数进行初始化,并求出之后将要用到的参数。其次,对于每一帧中的每一个像素进行处理,看其是否匹配某个模型,若匹配,则将其归入该模型中,并对该模型根据新的像素值进行更新,若不匹配,则以该像素建立一个高斯模型,初始化参数,代替原有模型中最不可能的模型。最后选择前面几个最有可能的模型作为背景模型,为背景目标提取做铺垫。

图像去模糊

不同原因导致的模糊往往需要不同的处理方法。从技术方面来向,模糊图像处理方法主要分为三大类,分别是图像增强、图像复原和超分辨率重构。

 

对于运动引起的图像模糊,最简单的方法是直接做逆滤波,但是逆滤波对加性噪声特别敏感,使得恢复的图像几乎不可用。最小均方差(维纳)滤波用来去除含有噪声的模糊图像,其目标是找到未污染图像的一个估计,使它们之间的均方差最小,可以去除噪声,同时清晰化模糊图像。

 

图像分割

1)阈值分割 2)区域分割 a. 区域生长 b. 区域分裂合并 3) 边缘分割4) 直方图法

 

分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近(求梯度)的像素点互相连接起来构成一个封闭的轮廓。分水岭算法常用的操作步骤:彩色图像灰度化,然后再求梯度图,最后在梯度图的基础上进行分水岭算法,求得分段图像的边缘线。

分水岭算法的计算过程是一个迭代标注过程。分两个步骤,一个是排序过程,一个是淹没过程。首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影响域采用先进先出(FIFO)结构进行判断及标注。

 

Criminisi算法

基于样例的图像修复算法的精髓在于采用小块填补的方法,相对于点填补的方法来说提高了填补速度和精度,使用小块的数据值和置信度值来定义各小块的优先级,从而使填补过程有序地进行,最终使填补出来的结构和纹理都不失流畅感。

置信度值C(p)反应了以p点为中心的小块所含有效点的多少,其值越大,表示p点周围的有效点越多。数据值D(p)体现了p点周围线性结构信息的强弱,其值越大,表示p点周围具有更强的线性结构,即从ψ p开始修复能更好地保持这种结构信息,减少修复的误差。

 

无监视学习下的加强人脸关键点检测器

http://qy.nongcun5.com/news/20180626/42558.html

posted @ 2018-12-03 15:22  moonpie_sun  阅读(2269)  评论(0编辑  收藏  举报