[计算机视觉]算法
------------------------>不断更新中<------------------------
定义、原理、应用、优缺点
1.霍夫变换求直线,圆;
2.边缘检测:Canny边缘检测,sobel算子;
3.Ransac直线拟合,fitLine直线拟合;
4.间距扫描线算法,相当于图像算法中的暴力算法。将连续的图像数据(原图数据过大,相当于数据连续)转换为离散的数字信息,使其可用一般性的方法处理。间距取扫描线降低运算量;
5.若要判断,检测某一图像区域,可以先通过简单的采样数据筛选出可能的区域,再在数据量缩小后的筛选过的区域里做其他算法进行进一步的判断;
6.分类器:SVM;
7.神经网络:BP神经网络,CNN;
8.轮廓识别;
9.角点检测;
10.仿射变换,透视变换;
11.若要识别某图像区域,可以利用图像区域本身的特征(如果它有的话)。比如识别身份证时可以利用身份证上文字的分布特征进行识别;
12.图像结构相似度匹配算法SSIM;
13.降噪:模糊滤波cvSmooth,腐蚀,膨胀;
14.FFT
15.PSNR评价图像的保真性,是最普遍,最广泛使用的评鉴画质的客观量测法;
16.SIFT, SURF;
17.NC(normalized correlation)算法;
18.H-S直方图,Hue是色调,Saturation是饱和度;
机器学习:
1.马氏距离
2.Kmeans
3.朴素贝叶斯分类器
优点:超级简单,你只是在做一串计算。如果朴素贝叶斯(NB)条件独立性假设成立,相比于逻辑回归这类的判别模型,朴素贝叶斯分类器将收敛得更快,所以你只需要较小的训练集。而且,即使NB假设不成立,朴素贝叶斯分类器在实践方面仍然表现很好。如果想得到简单快捷的执行效果,这将是个好的选择。
缺点:不能学习特征之间的相互作用(比如,它不能学习出:虽然你喜欢布拉德·皮特和汤姆·克鲁斯的电影,但却不喜欢他们一起合作的电影)。
4.决策树
优点:易于说明和解释(对某些人来说—我不确定自己是否属于这个阵营)。它们可以很容易地处理特征间的相互作用,并且是非参数化的,所以你不用担心异常值或者数据是否线性可分(比如,决策树可以很容易地分辨某特征x的低端是类A,中间是类B,然后高端又是类A的情况)。
缺点:不支持在线学习,所以当有新样本时,你将不得不重建决策树。且容易过拟合,但这也正是诸如随机森林(或提高树)之类的集成方法的切入点。另外,随机森林往往是很多分类问题的赢家(我相信通常略优于支持向量机),它们快速并且可扩展,同时你不须担心要像支持向量机那样调一堆参数,所以它们最近似乎相当受欢迎。
训练速度:
识别速度:
5.Boosting
训练速度:
识别速度:
6.随机森林
训练速度:
识别速度:
7.Haar分类器(boost筛选式级联(cascade)分类器)
训练速度:较慢,十小时甚至一天
识别速度:0.5s级
8.期望最大化
9.K近邻
10.神经网络/多层感知器
优点:分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。
缺点:神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值;不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;学习时间过长,甚至可能达不到学习的目的。
11.SVM
优点:高准确率,为防止过拟合提供了好的理论保证,并且即使你的数据在基础特征空间线性不可分,只要选定一个恰当的核函数,它们仍然能够取得很好的分类效果。它们在超高维空间是常态的文本分类问题中尤其受欢迎。
缺点:它们内存消耗大,难于解释,运行和调参也有些烦人,因此,我认为随机森林正渐渐开始偷走它的“王冠”。
训练速度:非常快,分钟级
识别速度:非常快,ms级
图像特征:
FAST
STAR
SIFT
SURF
HoG
ORB
BRISK
Shape Context
MSER
Geometric Blur
PHOG
PHOW
GFTT
HARRIS
Dense
SimpleBlob
描述符提取:
SIFT
SURF
BRIEF
BRISK
ORB
FREAK