XLD 全称extended line descriptions 即扩展线描述 ,也叫亚像素轮廓线。
当用像素 表示 时候,区域边缘是锯齿形态,因为每个像素 我们用一个小方格 表示 。
因此斜着的直线不会是光滑的直线,当月拟合后,测量时就会有较大误差。如果 采用亚像素,
也就是每个点用几分 之一个像素 来表示,这样做会更加精准,可以比较准确的描述 物体轮廓。
其实亚像素拟合 一般都是为了更准确 地得到物体的轮廓参数。
传统的像素 来描述 物体轮廓,每个点间是一个像素 间距,轮廓 可以封闭,也可以相交,组成 轮廓 的基本元素是这些像素 点。
当图像 放大时就可以看到在像素级别时,斜着线条 轮廓 的波浪呈锯齿图形。
亚像素一般可以在像素 级别间进行插值计算,得到光滑 轮廓 的像素 值,更加精准的描述轮廓。同时可以看到像素级别是浮点类型,
这就是用亚像素 在描述 图像轮廓 。在halcon中遇到的各种几何图形 的拟合 ,都是基于亚像素 的,这样得到的几何参数 更加准确。
在halcon实例 中会经常遇到 XLD级别的特征检测,饰物 面积 ,周长 ,圆度等,这些特征和我们前面像素级别区域 特征差不多,
只是XLD点都是浮点类型。插值得到的数据 ,XLD有时是封闭,有时打开,封闭时可以看成一个整体,不封闭时可以看成是点的集合。
接下来的操作可以看作是点的处理就可以了。另外 当基于亚像素 进行计算后,一般不会基于求最小外接矩形,或外接 圆等,
同时再结合 几何变换 进行运算。
在得到亚像素 轮廓 后,接下来就是要进行拟合,一般对轮廓常用 的有直线拟合,椭圆拟合 ,圆拟合 。拟合算法有很多,常见的有最小二乘法,
其实就是根据 已知点拟合 出一条连续直线或者曲线,只是我们可以采用不同的拟合 方法。最小二乘法是最常用 的方法。
所谓的最小二乘,是一种数学优化技术。它通过 最小差误差的平方和寻找数据 的最佳函数匹配。使用最小二乘法可以简便 地求得未知数据,
并使得这些求得的数据与实际 数据 间误差的平方和为最小。最小二乘法还可以用于曲线 的拟合 。
其他 一些优化问题也可以通过 最小化能量 或最大化熵最小二乘法法来表示。
以最简单的一无线性模型来解释最小二乘法,什么是一元线性模型?如果预测 的变量是离散的,我们称为分类(如决策树,支持向量机等),
如果预测 的变量连续的,称其为回归。回归分析中,如果 只包括 一个自变量和一个因变量,且二者 的关系可以用一条直线近似表示,
这种回归分析 称为一元线性回归分析。如果 回归分析 中包括 两个 或多个自变量,且因变量和自变量间是线性关系,则称为多元线性回归分析。
对于 二维空间线性是一条直线;对于三维空间线性是一个平面;对于多维空间线性是一个超平面。
对于 一元线性回归模型,假设从总体中获取 了N组观察值(X1,Y1)(X2,Y2)...(Xn,Yn),对于平面中这n个点,可以使用无数 条曲线 来拟合 。
要求样本回归函数尽可能好地拟合 这组值,综合来看,这条直线处于样本数据 的中心位置最合理。选择最佳拟合 曲线 的标准可以确定 为:
使总的拟合 误差(总残差)达到最小。有以下三个标准可以使用:
1 用‘残差和最小’确定 直线位置是一个途径。但很快发现计算‘残差 和’相互抵消问题。
2 用'残差绝对值和最小'确定直线位置也是一个途径,但绝对值的计算比较麻烦。
3最小二乘法是原则是以'残差平方和最小'确定 直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。
最常用 的是普通最小二乘法(ordinary least square,ols):所选择的回归模型应该使所有观察 值 的残差平方和达到 最小。Q为残差平方和,也就是采用平方损失函数。
样本回归模型:
其中ei为样本(Xi,Yi)的误差。
平方损失函数
通过Q确定这条直线,即确定 B0,B1,以两都为变量,把它们看成作是Q的函数,
就变成 了一个求极值的问题,可以通过 求导数得到。
求Q对两个 代估参数 的偏导数:
根据 数学 知识 知道,函数 的极值点为偏导为0的点。
解得:
这就是最小二乘法的解法,就是求得平方损失函数的极值点。
直线,圆,椭圆拟合用最小二乘其实就是求平方和最小,
也就是要求拟合 出来 直线,圆或椭圆,与轮廓 上的每个点距离 最近,
舍弃异常点值,这就是核心 思想。
在halcon中处理几何的拟合,先是提取亚像素 轮廓,进行轮廓 的合并或分割处理等,
再进行拟合 得到几何参数,然后根据几何参数 进行创建 ,最后 进行几何度量,
同时还要配合测量相关的内容 进行联合处理。
后面几个帖子会介绍具体的几何测量实例。
|