当前位置: 首页 > 专利查询>吉林大学专利>正文

一种基于粒子群算法的亚像素定位方法技术

技术编号:26421467 阅读:28 留言:0更新日期:2020-11-20 14:17
本发明专利技术涉及一种基于粒子群算法的亚像素定位方法,属于计算机视觉领域,包括:使用matlab仿真出数字散斑图像作为原图,对原图进行平移得到目标图;在原图中选择一个待测点,计算相关系数,使用粒子群算法找到变形后的散斑图像中整像素坐标点,根据定位到的整像素坐标点,求解出整像素位移;以整像素坐标点为中心,使用双三次插值算法对该区域进行插值,然后使用粒子群算法找到插值后的该区域中相关系数最大的点;对于上一步找到的相关系数最大的点,使用二次多项式拟合算法计算出亚像素坐标。本发明专利技术使用了粒子群搜索算法,为了提高亚像素搜索精度本发明专利技术结合了二元多项式拟合算法和双三次插值法最终精度达到了0.01‑0.02个像素。

【技术实现步骤摘要】
一种基于粒子群算法的亚像素定位方法
本专利技术涉及计算机视觉领域,具体地为一种基于粒子群算法的亚像素定位方法。
技术介绍
近年来,基于数字图像相关的变形测量方法已经成为现代光测力学领域引人瞩目的测试方法,其应用领域越来越广泛。自数字图像相关法(DIC)出现以来,它广泛应用于多个学科的研究,如材料力学、生物力学、断裂力学、微观纳米应变测量、宏观大尺寸变形测量、各种新材料性能测试等。相比传统接触式应变测量技术速度慢、量程受限制、操作不灵活,数字图像相关测量方法具有非接触、精度高、全场测量、易于自动化的优点。在早期的研究中,大都采用逐点搜索法,这会花费大量时间。后来经过不断的改进,提出了许多基于经典数学理论的相关搜索方法例如,粗-细搜索法、十字搜索法、爬山法、Newton-Raphson迭代算法等。粗-细搜索法对位移及位移导数同时搜索,计算量很大;十字搜索法只进行位移搜索,必要时再进行相关修正,它的计算速度比粗-细搜索法快;Newton-Raphson迭代算法相对于粗-细搜索法比较省时,但当计算目标函数的Hessian矩阵以及其逆矩阵的维数较高时计算量也很大。如果相关系数分布有多个峰值,这些传统的相关搜索方法容易陷入局部最优。
技术实现思路
为了解决传统方法在整像素搜索时容易陷入局部最优的情况,提供了一种基于粒子群算法的亚像素定位方法。本专利技术采用如下的技术方案:一种基于粒子群算法的亚像素定位方法,包括以下步骤:S1:使用matlab仿真出数字散斑图像作为原图,对原图进行平移得到目标图;S2:在原图中选择一个待测点,并记录下待测点的坐标(x,y),在变形后的散斑图中以坐标(x,y)为中心,划分出一个2R*2R大小的矩形区域,作为目标区域,其中R为搜索半径,在原图中,以待测点为中心,划分出一个2r*2r的矩形区域作为样本子区用于计算相关系数,其中r为样本子区半径;S3:在目标区域中,随机初始化n个点,作为粒子群算法中随机初始化的n个粒子,针对每个粒子,以该粒子为中心划分出一个2r*2r的矩形区域作为目标子区,使用粒子群算法找到变形后的散斑图像中整像素坐标点,根据定位到的整像素坐标点,求解出整像素位移;S4:针对步骤S3得到的整像素坐标点,以该点为中心,划分一个10*10的矩形区域作为待插值区域,使用双三次插值算法对该区域进行插值,然后使用粒子群算法找到插值后的该区域中相关系数最大的点;S5:对于上一步找到的相关系数最大的点,使用二次多项式拟合算法计算出亚像素坐标。进一步地,步骤S2中在目标图中选取的样本子区半径大小为10个像素。进一步地,所述步骤S3中的粒子群算法初始种群大小为400,每个粒子的起点坐标随机初始化,随机初始化飞行速度,迭代次数150,算法收敛后停止搜寻。进一步地,步骤S4中,双三次插值算法对待插值区域进行插值包括:通过对该区域的x方向和y方向分别进行一次三次插值获得双三次插值,在图像插值过程中,采用sinc函数进行灰度插值。进一步地,步骤S4中使用双三次插值算法对目标点周围选取16个点作为驻点,然后将插值区域放大20倍,在放大后的子区域中使用粒子群算法找到相关系数最大的点。进一步地,步骤S5中,得到目标图中的整像素点坐标之后,使用该点周围的8个点来计算二元多项式拟合中的参数,该8个点的坐标分别为(x0,y0)、(x0,y1)、(x0,y2)、(x1,y0)、(x2,y0)、(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2),对于拟合之后求出的坐标,计算出的位移除以20,得到最终的亚像素位移。进一步地,二元多项式中拟合函数为:f(x,y)=a00+a10x+a01y+a20x2+a11xy+a02y2取3×3的拟合窗口,则有:f(x0,y0)=a00+a10x0+a01y0+a20x02+a11x0y0+a02y02f(x0,y1)=a00+a10x0+a01y1+a20x02+a11x0y1+a02y12f(x0,y2)=a00+a10x0+a01y2+a20x02+a11x0y2+a02y22f(x1,y0)=a00+a10x1+a01y0+a20x12+a11x1y0+a02y02f(x2,y0)=a00+a10x2+a01y0+a20x22+a11x2y0+a02y02f(x1,y1)=a00+a10x1+a01y1+a20x12+a11x1y1+a02y12f(x1,y2)=a00+a10x1+a01y2+a20x12+a11x1y2+a02y22f(x2,y1)=a00+a10x2+a01y1+a20x22+a11x2y1+a02y12f(x2,y2)=a00+a10x2+a01y2+a20x22+a11x2y2+a02y22其中,a00、a01、a10、a20、a11、a02为待求解的系数,利用最小二乘法,求得上述方程组中的6个系数,在拟合曲面的极值点处,满足:求解得亚像素坐标:根据求出的亚像素坐标可求得亚像素位移。本专利技术剧具有如下的优点及有益效果:本专利技术使用了粒子群搜索算法,为了提高亚像素搜索精度本专利技术结合了二元多项式拟合算法和双三次插值法最终精度达到了0.01-0.02个像素。附图说明图1为:sinc函数图像。图2为:matlab仿真生成的原图(a)和位移后(b)的图片。图3为:数字图像相关亚像素定位算法中粒子群算法结构图。图4为:整个数字图像相关亚像素定位方法流程图。具体实施方式参见图4所示,一种基于粒子群算法的亚像素定位方法,包括以下步骤:S1:使用matlab仿真出数字散斑图像作为原图,对原图进行平移(小数个单位)得到目标图(参见图2所示);S2:在原图中选择一个待测点,并记录下待测点的坐标(x,y),在变形后的散斑图中以坐标(x,y)为中心,划分出一个2R*2R大小的矩形区域,作为目标区域,其中R为搜索半径,在原图中,以待测点为中心,划分出一个2r*2r的矩形区域作为样本子区用于计算相关系数,其中r为样本子区半径;S3:在目标区域中,随机初始化n个点,作为粒子群算法中随机初始化的n个粒子,针对每个粒子,以该粒子为中心划分出一个2r*2r的矩形区域作为目标子区,使用粒子群算法找到变形后的散斑图像中整像素坐标点,根据定位到的整像素坐标点,求解出整像素位移;S4:针对步骤S3得到的整像素坐标点,以该点为中心,划分一个10*10的矩形区域作为待插值区域,使用双三次插值算法对该区域进行插值,然后使用粒子群算法找到插值后的该区域中相关系数最大的点;S5:对于上一步找到的相关系数最大的点,使用二次多项式拟合算法计算出亚像素坐标。步骤S2中在目标图中选取的样本子区半径大小为10个像素。参见图3所示,所述步骤本文档来自技高网...

【技术保护点】
1.一种基于粒子群算法的亚像素定位方法,其特征在于,包括以下步骤:/nS1:使用matlab仿真出数字散斑图像作为原图,对原图进行平移得到目标图;/nS2:在原图中选择一个待测点,并记录下待测点的坐标(x,y),在变形后的散斑图中以坐标(x,y)为中心,划分出一个2R*2R大小的矩形区域,作为目标区域,其中R为搜索半径,在原图中,以待测点为中心,划分出一个2r*2r的矩形区域作为样本子区用于计算相关系数,其中r为样本子区半径;/nS3:在目标区域中,随机初始化n个点,作为粒子群算法中随机初始化的n个粒子,针对每个粒子,以该粒子为中心划分出一个2r*2r的矩形区域作为目标子区,使用粒子群算法找到变形后的散斑图像中整像素坐标点,根据定位到的整像素坐标点,求解出整像素位移;/nS4:针对步骤S3得到的整像素坐标点,以该点为中心,划分一个10*10的矩形区域作为待插值区域,使用双三次插值算法对该区域进行插值,然后使用粒子群算法找到插值后的该区域中相关系数最大的点;/nS5:对于上一步找到的相关系数最大的点,使用二次多项式拟合算法计算出亚像素坐标。/n

【技术特征摘要】
1.一种基于粒子群算法的亚像素定位方法,其特征在于,包括以下步骤:
S1:使用matlab仿真出数字散斑图像作为原图,对原图进行平移得到目标图;
S2:在原图中选择一个待测点,并记录下待测点的坐标(x,y),在变形后的散斑图中以坐标(x,y)为中心,划分出一个2R*2R大小的矩形区域,作为目标区域,其中R为搜索半径,在原图中,以待测点为中心,划分出一个2r*2r的矩形区域作为样本子区用于计算相关系数,其中r为样本子区半径;
S3:在目标区域中,随机初始化n个点,作为粒子群算法中随机初始化的n个粒子,针对每个粒子,以该粒子为中心划分出一个2r*2r的矩形区域作为目标子区,使用粒子群算法找到变形后的散斑图像中整像素坐标点,根据定位到的整像素坐标点,求解出整像素位移;
S4:针对步骤S3得到的整像素坐标点,以该点为中心,划分一个10*10的矩形区域作为待插值区域,使用双三次插值算法对该区域进行插值,然后使用粒子群算法找到插值后的该区域中相关系数最大的点;
S5:对于上一步找到的相关系数最大的点,使用二次多项式拟合算法计算出亚像素坐标。


2.根据权利要求1所述的基于粒子群算法的亚像素定位方法,其特征在于:步骤S2中在目标图中选取的样本子区半径大小为10个像素。


3.根据权利要求1所述的基于粒子群算法的亚像素定位方法,其特征在于:所述步骤S3中的粒子群算法初始种群大小为400,每个粒子的起点坐标随机初始化,随机初始化飞行速度,迭代次数150,算法收敛后停止搜寻。


4.根据权利要求1所述的基于粒子群算法的亚像素定位方法,其特征在于:步骤S4中,双三次插值算法对待插值区域进行插值包括:通过对该区域的x方向和y方向分别进行一次三次插值获得双三次插值,在图像插值过程中,采用sinc函数进行灰度插值。


5.根据权利要求1所述的基于粒子群算法的亚像素定位方法,其特征在于:步骤S4中使用双三次插值算法对目标点周围选取16个点作为驻点,然后将插值区域放大20倍,在放大后的子区域中使用粒子群算法找到相关系数最大的点。

...

【专利技术属性】
技术研发人员:王世刚高鹏赵运来玄玉波季成旺
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1