• 一种基于矩的椭圆目标的亚像素级边缘定位方法


    1.  亚像素级边缘定位的前期步骤

    (1)     椭圆目标几何参数的初步提取

    求取物体几何形状参数的方法有很多,应用最为广泛的是采用最小二乘法对物体的边界进行拟合,在求取几何形状参数之前,需要对图像进行预处理、二值化、边界提取等必要环节,其中,图像预处理滤波环节中采用的方法是自适应平滑滤波,自适应平滑滤波能在较好的消除随机噪声的情况下,保持边缘的原有特性。

    (2)     ROI(感兴趣区域,region of interest)提取及边缘检测

    由于椭圆目标往往只占图像的小部分,若只提取包含该椭圆目标的一个小区域作为ROI,后续步骤的处理可以大量减少像素点,进而提高算法的快速性。ROI的提取可以根据上述初步求取的几何参数获得,具体方法为:选取一个正方形区域作为ROI,该正方形区域的中心为椭圆目标的中心,边长长度为椭圆目标的长轴长度加上2~4pixel裕量。

    由于sobel算子不仅具有较快的检测速度,还有一定的噪声平滑能力,边缘检测采用sobel算子来检测图像边缘,基本思想是:首先采用sobel边缘检测模板对图像进行卷积,得到图像的梯度图像,然后将图像的梯度均值近似为信噪比,根据噪声的均方来自动确定阈值,用该阈值进行图像二值化,最后用基于邻域分析的细化算法来细化边缘。

    2.边缘模型参数的求取及边缘的亚像素级边缘定位

    以连续的二维边缘模型为例(先看边缘模型方便后续参数理解),S1,S2分别代表背景区域和目标区域在边缘模型内的面积,由三种矩的定义式可知,三种矩的零阶矩都相同,不妨用零阶空间矩M00表示,则连续二维边缘模型的零阶矩为

    ${M_{00}} = int!!!int fleft( {x,y} ight)dxdy = {S_1}{h_1} + {S_2}{h_2}$

    设边缘模型为一个单位圆

    ${M_{00}} = left( {{ m{pi }} - {{ m{S}}_2}} ight){h_1} + {S_2}{h_2}$

    (1)     边缘参数q的求取

    SGM,ZOM,OFMM三种基于矩的方法求取边缘角度q的原理和结果相同。其原理都是利用旋转过后的边缘沿y方向,进而有

    $int!!!int fleft( {x,y} ight)ydxdy = 0$  (2.1)

    式2.1可以转化为包含各阶矩或其组合以及边缘角度q的表达式。由于采用数字化的矩模板,灰度采样、边缘过度区域以及参与模板计算的像素点个数都会影响边缘角度θ的获取准确度。

    根据初步求取的几何参数,利用边缘像素点的梯度方向为该点法向量方向的性质,简单方便的获取边缘角度θ。

    等高线(边缘模型)上P点的法线方向(即切线方向,一阶导数)与该点的梯度方向相同,等值面的法线方向为梯度方向。

    由于几何形状参数已知,利用几何知识,容易求出其法线方向斜率k,进而求出边缘角度θ。

    对于椭圆G(x,y)=x2+Axy+By2+Cx+Dy+E=0,在边缘像素点(xp,yp)的梯度方向的斜率为

    ${ m{k}} = frac{{frac{{partial Gleft( {x,y} ight)}}{{partial y}}}}{{frac{{partial Gleft( {x,y} ight)}}{{partial x}}}} = frac{{A{x_p} + 2B{y_p} + D}}{{2{x_p} + A{y_p} + C}}$

    边缘像素点(xp,yp)的边缘角度为q=arctan(k)

    (2)     边缘参数h1,h2的求取

    单独求取背景灰度和目标灰度时经常对整幅图用直方图的方法求取双峰值,这种方法有以下局限性:(a)由于要统计直方图且要经过多次比较,耗时较大,(b)如果目标图像的灰度直方图不满足明显的双峰分布,最终结果会受到影响,(c)如果图中有多个目标,求出的仅仅是针对整幅图的背景和目标灰度图,由于光照等其他元素,必然使得某些背景和目标的区分不准。

    我们根据椭圆目标的灰度分布特性,在ROI内选取分别包容椭圆目标和被椭圆目标包容的内外周线上像素分布均值作为该几何目标的目标灰度值和背景灰度值。内外周线的选择如图2.1所示

    图2.1

    如图所示,满足

    $left{ {egin{array}{*{20}{c}}
    {{L_1} = 2left( {short - {C_2}} ight)}\
    {{L_2} = 2left( {long + {C_1}} ight)}
    end{array}} ight.$

    C1,C2为考虑到实际图像边缘存在过度区域选取的裕量,一般选为三像素。

    在实际图像中,由于噪声的存在,所选内外正方形上的像素灰度可能存在噪声。可以先选取内外正方形线上的一段灰度值居中的像素,然后取这段像素的灰度均值作为目标灰度值和背景灰度值。此外,对于椭圆目标,当边缘模型沿着圆周移动时,椭圆左半平面的背景、目标灰度和椭圆右半平面的背景、目标灰度相反,如果椭圆目标的灰度值较大,对于左半平面,背景,目标灰度满足边缘参数模型;对于右半平面应将上述要求的目标和背景灰度互换。

     

    3.边缘参数l的求取及边缘点的亚像素级边缘定位

    对于理想边缘模型,需将其离散为Nc×Nc的图像,其中,Nc为模板的维数,一般选取3,5,7。模板维数Nc的大小视具体情况而定,Nc越大,最终计算精度越高,但由模板运算带来的复杂度会相应增加。在离散的情况下,矩的计算为相关运算,即模板与图像灰度相乘。由于四个边缘参数已经求出三个,因此求亚像素级边缘位置只需要采用一个矩模板M00.

    将连续理想边缘模型经顺时针旋转θ,旋转后的连续理想边缘模型俯视图如图2.2所示,其中,l为实际边缘到原点的距离,阴影部分为上述目标区域

    ${S_2} = eta  - frac{1}{2}sinleft( {2eta } ight)$

    [{ m{l}} = { m{coseta }}]   (3.1)

    图2.2

    用单位圆模型对边缘模型进行Nc×Nc离散化

    [{{ m{S}}_2} in left[ {0,{ m{pi }}} ight]]

    [{ m{L}} in left[ { - 0.5,0.5} ight]{ m{pixel}}]

    当圆为单位圆,Nc=3,即阴影(S2)取值范围[0.9176,2.2249]

    将S2与b函数关系近似看做直线(间隔取0.001,近似误差在10-5数量级,可近似用线性关系替代),则

    b=0.5114 S2+0.7674   (3.2)

    根据3.1和3.2可求出边缘参数L。

    根据边缘模型,亚像素级边缘模型单位圆圆心坐标(X,Y)为

    X=X_p+Lcos(q),Y=Y_p+Lsin(q)

    X_p,Y_p为像素级别圆心坐标

    考虑放大效应亚像素级边缘模型单位圆圆心坐标(X,Y)改写为

    X=X_p+(Nc/2)Lcos(q),Y=Y_p+(Nc/2)Lsin(q)

  • 相关阅读:
    windows下安装部署RocketMQ
    Windows安装RabbitMQ
    HttpClient工具类
    Docker部署Spring Boot项目
    在Docker中安装Redis以及主从环境搭建
    df命令得到一个诡异的现象
    一个“稍后再读”的软件 POCKET
    也是关于 Stay Hungry. Stay Foolish.
    改用thebrain做思维导图
    文件系统只读,一个没有解决的问题(续)
  • 原文地址:https://www.cnblogs.com/fujj/p/9764201.html
Copyright © 2020-2023  润新知