[发明专利]图像显著区域检测的嵌入式并行优化方法在审
申请号: | 201410788426.8 | 申请日: | 2014-12-16 |
公开(公告)号: | CN104504696A | 公开(公告)日: | 2015-04-08 |
发明(设计)人: | 白瑞林;马敏锐 | 申请(专利权)人: | 江南大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06T7/60;G06K9/46;G06F9/46 |
代理公司: | 无 | 代理人: | 无 |
地址: | 214122江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图像 显著 区域 检测 嵌入式 并行 优化 方法 | ||
1.本发明的目的在于提供一种针对嵌入式机器视觉系统的图像显著区域检测并行优化方法,其特征是:采用最大稳定极值区域算法实现图像中的显著区域特征的提取;基于NEON单元的并行处理结构优化极值区域变化率的计算,加速最大稳定极值区域的检测;基于NEON单元的并行处理结构优化区域几何一阶矩与中心矩阵的计算,简化椭圆长短半轴、长轴方向角以及中心坐标的计算,加速特征区域椭圆的拟合;设计程序级优化使程序更适合编译器向量化处理,减少程序冗余开支,提升程序运行效率;包含如下几个步骤:
(1)灰度图像像素的排序
第一步:灰度图像分等级排序
第二步:等级排序序列合并
(2)极值区域的检测
(3)最大稳定极值区域的判定
第一步:区域变化率计算
第二步:排除不稳定最大稳定极值区域
第三步:最大稳定极值区域像元有序存储
(4)最大稳定极值区域的拟合
第一步:几何零阶矩和几何一阶矩的计算
第二步:中心矩阵的计算
第三步:椭圆长短半轴以及长轴方向计算
(5)算法语言级优化 。
2.根据权利要求1所述一种针对嵌入式机器视觉系统的图像显著区域检测优化方法,其特征是:所述极值区域的检测(2)中建立连续存储区域描述分支区域和最大稳定极值区域的判定(3)第一步中区域变化率的计算,当区域树建好后,对每一个分支进行逆向搜索计算出区域变化率q(i)=|Qi+Δ/Qi-Δ|/|Qi|在邻域[i-Δ,i+Δ]内的极小值点:
(1)在区域树的每一个分支形成过程中建立连续存储空间area[256]描述分支中的区域,以便于区域变化率的并行计算以及最大稳定极值区域的像元搜索,记录形成的区域面积值area[GrayValue].number以便区域面积变化率的并行计算,记录子节点信息area[GrayValue].child以便最大稳定极值区域的像元索引,记录区域根节点信息area[GrayValue].root以便查找区域在图像中的位置;
(2)使用q(i)=|Qi/Qi-Δ|/|Qi-Δ|来代替q(i)=|Qi+Δ/Qi-Δ|/|Qi|的计算;
(3)采用128位Q寄存器Q0~Q4设计并行处理结构实现q(i)=|Qi/Qi-Δ|/|Qi-Δ|的并行计算,即区域面积area[GrayValue].number变化率的计算:
a.将区域树的分支Q0,…,Qi,Qi+1,…划分成四个区域一组的结构即Q0,Q1,Q2,Q3;…;Qi-Δ,Qi+1-Δ,Qi+2-Δ,Qi+3-Δ;…;Qi,Qi+1,Qi+2,Qi+3;…,以便NEON寄存器使用,并将数据区的区域面积值Qi,Qi+1,Qi+2,Qi+3和Qi-Δ,Qi+1-Δ,Qi+2-Δ,Qi+3-Δ四组一次加载到寄存器Q0和Q1中;
b.求取Q0中向量Qi,Qi+1,Qi+2,Qi+3的倒数估值,存入寄存器Q3,为1/Qi,1/Qi+1,1/Qi+2,1/Qi+3;
c.对Q0与Q1进行并行减法运算结果存入Q2,为Qi-Qi-Δ,Qi+1-Qi+1-Δ,Qi+2-Qi+2-Δ,Qi+3-Qi+3-Δ;
c.对Q3与Q2中向量进行并行乘法操作得到四组区域变化率q(i)的计算结果,存入Q4寄存器,为q(i),q(i+1),q(i+2),q(i+3);
d.对Q4中的区域变化率计算结果进行极小值判断,将四组区域面积变化率结果q(i),q(i+1),q(i+2),q(i+3)进行相邻比较,得到的较小值存入寄存器Q5,即min(q(i),q(i+1)),min(q(i+2),q(i+3)),然后将Q5比较结果存储到数据区。
3.根据权利要求1所述一种针对嵌入式机器视觉系统的图像显著区域检测优化方法,其特征是:所述最大稳定极值区域的判定(3)第三步中最大稳定极值区域像元的有序存储和最大稳定极值区域的拟合(4)第一步中几何零阶矩和几何一阶矩的计算和最大稳定极值区域的拟合(4)第二步中中心矩阵的计算,几何一阶矩m01和m10为:
第一步:检测出最大稳定极值区域后,对每个最大稳定极值区域像元坐标值进行有序存储:
(1)建立一块连续的存储空间msers[RegionNumber]对应每一个最大稳定极值区域;
(2)根据区域描述子area[i]中的根节点参数area[i].root,在区域树的分支链表中遍历出相同灰度值的像元,将像元坐标值存储到连续存储空间msers[RegionNumber]中;
(3)根据区域描述子area[i]中的子节点参数area[i].child,遍历区域树的每一条分支,得到该区域的所有子节点,根据子节点的分支链表,依次遍历出子节点区域中相同灰度像元的坐标值,将像元坐标值存储到msers[RegionNumber]中,直到遍历完所有子节点,完成对最大稳定极值区域中所有像元坐标的有序存储;
第二步:基于NEON单元的并行处理结构实现一阶矩的并行求取,设计采用64位的D寄存器D0~D2实现:
a.将msers[RegionNumber]中x坐标值划分成八个数据一组的结构,即x0,x1,x2,x3,x4,x5,x6,x7;…;xi,xi+1,xi+2,xi+3,xi+4,xi+5,xi+6,xi+7;…,然后将x0,x1,x2,x3,x4,x5,x6,x7从数据区一次加载到寄存器D0与D1中,D0为x0,x1,x2,x3,D1为x4,x5,x6,x7;
b.对D0与D1中的x坐标值进行相邻求和运算,结果存入D2寄存器,为x0+x1,x2+x3,x4+x5,x6+x7,然后将D2寄存器中结果存储到数据区,y坐标值计算同之;
第三步:中心矩阵的主对角线元素μ20和μ02为:
基于NEON的并行处理结构实现上述两式的并行计算,采用64位寄存器D3~D7实现:
a.将msers[RegionNumber]中x坐标值分成四个数一组的结构,即x0,x1,x2,x3;…;xi,xi+1,xi+2,xi+3;…,然后将x0,x1,x2,x3从数据区加载到寄存器D3中,将xc存入寄存器D4的每个单元;
b.对D3与D4进行并行减法运算,结果存入D5,为x0-xc,x1-xc,x2-xc,x3-xc,然后复制D5中数据存入到寄存器D6;
c.对D5中x0-xc,x1-xc,x2-xc,x3-xc与D6中x0-xc,x1-xc,x2-xc,x3-xc进行并行乘法运算,结果存入寄存器D7,为(x0-xc)2,(x1-xc)2,(x2-xc)2,(x3-xc)2,然后将D7中结果存储到数据区,y坐标值计算同之;
第四步:中心矩阵的次对角线元素μ11为:
基于NEON的并行处理结构实现上述算式的并行计算,采用64位寄存器D8~D14实现:
a.将msers[RegionNumber]中x或y坐标值划分成四个数据一组的结构,即x0,x1,x2,x3;…;xi,xi+1,xi+2,xi+3;…与y0,y1,y2,y3;…;yi,yi+1,yi+2,yi+3;…,然后将x或y坐标值分别从数据区分别加载到寄存器D8~D11中,分别为D8中x0,x1,x2,x3、D9中xc,xc,xc,xc、D10中y0,y1,y2,y3,D11中yc,yc,yc,yc;
b.分别对D8与D9、D10与D11进行并行减法运算,运算结果存入寄存器D12与寄存器D13中,D12中为x0-xc,x1-xc,x2-xc,x3-xc,D13中为y0-yc,y1-yc,y2-yc,y3-yc;
c.对D12与D13进行并行乘法运算,运算结果存入寄存器D14,为(x0-xc)(y0-yc),(x1-xc)(y1-yc),(x2-xc)(y2-yc),(x3-xc)(y3-yc),然后将D14中数据存储到数据区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学;,未经江南大学;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410788426.8/1.html,转载请声明来源钻瓜专利网。
- 彩色图像和单色图像的图像处理
- 图像编码/图像解码方法以及图像编码/图像解码装置
- 图像处理装置、图像形成装置、图像读取装置、图像处理方法
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
- 图像形成设备、图像形成系统和图像形成方法
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序