视觉理论学习(更新ing)

Fast算法(用于角点检测)https://blog.****.net/candycat1992/article/details/22285979
设定一个像素点p和一个阈值t,若阈值内的像素点满足条件,则接受p为角点FAST核心思想就是找出那些卓尔不群的点,即拿一个点跟它周围的点比较,如果它和其中大部分的点都不一样就可以认为它是一个特征点。)


BRIEF算法BRIEF:Binary Robust Independent Elementary Features

https://blog.****.net/hujingshuang/article/details/46910259

BRIEF算法的核心思想是在关键点P的周围以一定模式选取N个点对,把这N个点对的比较结果组合起来作为描述子

由于BRIEF仅仅是特征描述子,所以事先要得到特征点的位置,可以利用FAST特征点检测算法Harris角点检测算法SIFTSURF等算法检测特征点的位置。接下来在特征点邻域利用BRIEF算法建立特征描述符。


ORB特征https://www.cnblogs.com/zhubaohua-bupt/p/7182793.html

https://blog.****.net/zouzoupaopao229/article/details/52625678

ORB算法分为两部分,分别是特征点提取和特征点描述。特征提取是由FASTFeaturesfrom Accelerated Segment Test)算法发展来的,特征点描述是根据BRIEFBinaryRobust IndependentElementary Features)特征描述算法改进的。

ORB算法在尺度方面效果较差,其使用二进制串作为特征描述,这就造成了高的误匹配率。ORBsift100倍,是surf10

SiftScale-invariantfeature transform)尺度不变特征转换

SIFT四部曲之——高斯滤波

Sift算法可以将一幅图像映射(变换)为一个局部特征向量集;特征向量具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影变换也有一定的不变性。----尺度不变性

SIFT算法的实质是在不同的尺度空间上查找关键点,并计算出关键点的方向。所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

SURF


SVO半直接视觉测量(semi-directVO只对稀疏的特征点进行直接跟踪,能达到很高的效率.


KinectFusion

kinectfusion3D重建基本算法https://blog.****.net/xiaohu50/article/details/51592503

https://blog.****.net/viewcode/article/details/8426846

视觉理论学习(更新ing)

视觉理论学习(更新ing)


TSDF截断符号距离场(truncatedsigned distance function)

表达三维场景,算法在重建的三维物体上叠加一个均匀的三维网格,每个网格体素存储其中心到最近的三维物体表面间的距离.



ICP算法



稀疏重建http://www.cnblogs.com/zhubaohua-bupt/p/7182784.html

通常是重建一些图像特征点的深度,这个在基于特征的视觉SLAM里比较常见,得到的特征点的深度可以用来计算相机位姿。稀疏重建在实际应用,比如检测,避障,不能满足需求。

半稠密重建:

通常是重建图像纹理或梯度比较明显的区域,这些区域特征比较鲜明。半稠密重建在直接法视觉SLAM里比较常见。重建的三维点云相对稠密,可以满足部分应用需求。

稠密重建

稠密重建是对整个图像或者图像中的绝大部分像素进行重建。与稀疏、半稠密相比,稠密重建对场景的三维信息理解更全面,更能符合应用需求。但是,由于要重建的点云数量太多,相对耗时。



视觉理论学习(更新ing)


RANSAC简化版的思路就是:
第一步:假定模型(如直线方程),并随机抽取Nums个(以2个为例)样本点,对模型进行拟合:
第二步:由于不是严格线性,数据点都有一定波动,假设容差范围为:sigma,找出距离拟合曲线容差范围内的点,并统计点的个数:
第三步:重新随机选取Nums个点,重复第一步~第二步的操作,直到结束迭代:
第四步:每一次拟合后,容差范围内都有对应的数据点数,找出数据点个数最多的情况,就是最终的拟合结果:

至此:完成了RANSAC的简化版求解。


这个RANSAC的简化版,只是给定迭代次数,迭代结束找出最优。如果样本个数非常多的情况下,难不成一直迭代下去?其实RANSAC忽略了几个问题:
每一次随机样本数Nums的选取:如二次曲线最少需要3个点确定,一般来说,Nums少一些易得出较优结果;
抽样迭代次数Iter的选取:即重复多少次抽取,就认为是符合要求从而停止运算?太多计算量大,太少性能可能不够理想;
容差Sigma的选取:sigma取大取小,对最终结果影响较大;
这些参数细节信息参考:*。

RANSAC的作用有点类似:将数据一切两段,一部分是自己人,一部分是敌人,自己人留下商量事,敌人赶出去。RANSAC开的是家庭会议,不像最小二乘总是开全体会议。

视觉理论学习(更新ing)

RANSAC算法讲解(形象解释)


卡尔曼滤波:
卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。  
数据滤波是去除噪声还原真实数据的一种数据处理技术, Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态. 由于, 它便于计算机编程实现, 并能够对现场采集的数据进行实时的更新和处理, Kalman滤波是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用.
Kalman滤波算法的本质就是利用两个正态分布的融合仍是正态分布这一特性进行迭代而已。
卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。在很多工程应用(如雷达、计算机视觉)中都可以找到它的身影。同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要课题。例如,对于雷达来说,人们感兴趣的是其能够跟踪目标。但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。



相机标定原理介绍(一)--标定原理&标定实例链接&期盘标定内幕&齐次坐标理解