评估图像处理算法时,一般会考虑是否具备亚像素精度。html
亚像素概念的引出:算法
图像处理过程当中,提升检测方法的精度通常有两种方式:一种是提升图像系统的光学放大倍数和CCD相机的分辨率能力;另外一种是引入亚像素细分技术来弥补硬件的不足以提升图像系统的分辨率。函数
如使用亚像素细分技术将精度提到到0.01像素,就至关于提升了100倍的图像系统分辨率。优化
[分辨率能够从显示分辨率与图像分辨率两个方向来分类。spa
优势:大大节省系统的硬件投入成本,下降技术应用的难度,扩大其应用范围。3d
亚像素细分技术最先是由Hueckel M F在a local visual operator which recognizes edges and lines中提出。目前此技术已取得了很好的成果。htm
像素是成像面的基本单位也是最小单位,一般被称为图像的物理分辨率。对象
如130万像素为1280*1024;blog
若是成像系统要显示的对象尺寸小于物理分辨率时,成像系统是没法正常辨识出来的。ci
实际上,亚像素细分算法是软件上对物理分辨率的近似优化结果。
例如:某CMOS成像芯片,其像素间距为4.5um。在成像时,对物理世界中连续的图像进行了离散化处理,这时成像面上每个像素点只表明其附近的颜色。
而两个像素之间有4.5um的距离,在宏观上能够看做是连在一块儿的,但在微观上它们之间还有无限更小的东西存在,是两个物理像素之间的“像素”,这些更小的东西就称为“亚像素”。
【注】:实际上,“亚像素”应该是存在的,只是硬件上没有比像素更细微的传感器把它检测出来而已,因而在软件上把它能够近似地计算出来。
以下图所示:
较大的点是真实的物理像素点,在物理像素点之间较小的点是亚像素点。
假设:在理想成像条件下,一个点通过数字化后,在数字图像上表现为四个物理像素点的矩形,下图所示,左上角的四个标记1,2,3,4围起来的矩形所示。
若是取整像素值做为目标的中心坐标,
则与采用亚像素方法求出的中心坐标相差0.5个物理像素。
亚像素定位算法的前提条件是:目标不是孤立的单个像素点,而必须是由必定灰度分布和形状分布的一系列像素点组成。
通常要通过三个步骤:
① 粗定位过程:
对检测的目标进行初步定位,获得像素的精度;
② 肯定搜索范围:
为了提升精度和下降运算量,在目标位置附近选择合适大小的小领域区域做为分析的搜索区域。
③ 细定位过程
根据区域特色,选择合适的亚像素算法进行细定位分析以获得亚像素的精度。
①:几何方法
利用图像中某一目标的几何特征获得亚像素的测量数据,通常是规则形状的目标,如圆,三角形、正方形等形状。
常见的几何方法有形心法和灰度重心法。
形心法是对图像中圆、椭圆和矩形等中心对称的目标进行高精度定位的最简单的亚像素算法。
因为形心法是根据被测目标的几何特性来肯定位置,因此须要对图像进行二值化运算,识别 出要处理的目标区域。同时,此算法也要求目标图像的干扰噪声尽量小,这样就不会产生 太大的偏差,通常可进行图像预处理来减小偏差的产生。当目标图像的对比度较好时,形心法的精度能够达到0.1个像素。
灰度重心法是基于形心法的基本原理而造成的经常使用亚像素算法。
在图像的亚像素级边缘提取中,它当作是以灰度或灰度的导数为权值的加权重心。它的好处在于算法充分利用了对称目标中每一点的灰度值,一般可得到比形心法更高的定位精度。
②:矩估计方法
矩估计方法是目前亚像素算法中研究最普遍,应用最多的方法。因为矩是基于积分的运算, 所以矩也被认为是对噪声不敏感的稳定特征,同时矩还具备被测目标的矩特性在成像先后 保持不变的性质。根据矩的这种显著特色能够采用模板运算的方式对物体形状的边缘进行 亚像素细分。常见的算法有空间矩、灰度矩和ZOM正交矩等。
③:插值法
线性插值是插值算法中最简单的一种。毫无疑问,它是经过等间隔的线性插值算法来实现对边缘过渡的细分。所以,其算法最为简单,速度快,但精度也不高。
多项式插值法则改善了线性插值的缺陷,它采用了多项式插值函数来对边缘进行亚像素细分。
实践中,
许多算法,都具备亚像素精度;对算法进行评估的一个指标是是否具备亚像素精度。
这是什么意思呢?
能够这样理解:图像采用某种算法,通常得出的像素坐标为整数int(x,y);可是若是得出的像素坐标不是整数如float(x,y);即数值计算的结果不为整数;能够说成算法具备亚像素精度(Sub Pixel Accuracy)的优势。
计算的数值比整数值更为精确,若是须要得出整数,能够把返回的小数值近似为最接近的整数。