一种自适应区域运动统计的特征点匹配筛选方法

文档序号:30983149发布日期:2022-08-03 01:02阅读:65来源:国知局
1.本发明涉及一种自适应区域运动统计的特征点匹配筛选方法,属于计算机视觉领域。
背景技术
::2.自适应区域运动统计是通过图像的灰度值信息,自适应的将图像划分为互不相交的区域,对各区域间特征点匹配的数量统计后,利用各区域的特征点运动一致性的约束进行特征点匹配的筛选。特征点是能够在其他含有相同场景或目标的相似图像中以一种相同的或至少非常相似的不变形式表示图像或目标的像素点。特征点匹配为对两幅图中已得到的特征点依据其描述符找到对应关系。初始得到的特征匹配存在较多的错误匹配,必须对其进行特征点匹配的筛选提高其精确度,达到特征点匹配在图像拼接、视觉跟踪、三维重建等应用场景中的准确使用。3.常用的特征点匹配筛选的方案使用ransac方法,将特征点匹配的约束条件设为如基础矩阵或单应性矩阵这类几何关系,迭代计算进行特征点匹配的筛选。这类约束条件计算复杂且常用严格的几何约束,降低了特征点匹配筛选的效率。4.针对传统方案的缺点,bianjw提出了一种网格运动统计的方法[bianjw,linwy,matsushitay,etal.gms:grid-basedmotionstatisticsforfast,ultra-robustfeaturecorrespondence[c].honolulu:proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2017:4181-4190.],采用较几何约束更为简洁的网格运动统计,大大缩短方法的运行时间且筛选结果的精确度不弱于其他特征点匹配筛选方法,但网格运动统计的方法基于网格化划分图像的方法虽普遍性较好,但缺少了区域信息及网格不能体现该区域内的图像灰度、纹理或几何形状等信息,大大限制了筛除特征点匹配的精确度。技术实现要素:[0005]为了解决目前特征点匹配筛选方法的精确度较低的问题,本发明提供了一种自适应区域运动统计的特征点匹配筛选方法,包括如下步骤:[0006]步骤1:通过特征点匹配所在的图像中像素灰度值关系,使用分水岭算法将图像划分为若干个区域;[0007]步骤2:对步骤1所得出的区域,利用最大稳定极值区域的约束条件,筛选出因像素灰度阈值变化导致的区域面积变化较小的最大稳定极值区域;[0008]步骤3:去除最大稳定极值的区域中重合部分,并标记区域序号;[0009]步骤4:统计各区域中特征点匹配数量及对应关系;[0010]步骤5:通过区域运动统计的约束条件,筛选出正确的区域对应,并保留其中的特征点匹配。[0011]可选的,所述的步骤1具体为:[0012]步骤11:初始化数据结构,包括:区域栈、历史栈和边界堆,所述区域栈为存储不同灰度阈值下的图像区域像素信息的数据结构,所述历史栈为记录区域栈中阈值提高过程的数据结构,所述边界堆是存储区域边界像素合集的数据结构;[0013]所述区域栈内首先会放入标记组块,标记组块弹出时所述步骤1结束,所述标记组块对应的灰度阈值设为256;[0014]步骤12:将起始像素设为当前像素,所述起始像素的灰度值即为当前灰度阈值,标记已访问;[0015]步骤13:所述区域栈中加入一个空组块,所述空组块的值为当前像素灰度值;[0016]步骤14:按顺序访问当前像素的四邻域,对未被访问过的邻域像素标注为已访问,若像素灰度值不小于当前灰度阈值,则放入存放至所述边界堆中;若像素灰度值低于当前灰度阈值,则将当前像素放入区域栈顶中,将此邻域像素设为当前像素,回到步骤13;[0017]步骤15:将当前像素累加到区域栈顶的组块中,弹出边界堆像素,若堆为空则结束;[0018]步骤16:若弹出边界灰度值等于当前区域栈顶组块灰度值,将弹出像素作为当前像素,返回步骤14;若弹出边界灰度值高于当前区域栈顶组块灰度值,则处理区域栈中所有组件,直到区域栈中所有组块的灰度值高于当前弹出边界灰度值;[0019]步骤17:若所弹出的边界灰度值小于区域栈顶第二组块的灰度值,记录该栈顶组块,将栈顶组块的灰度值设为该边界的灰度值,并将边界像素设为当前像素回到步骤14;反之所弹出的边界灰度值不小于区域栈顶第二组块的灰度值,则将区域栈顶的组块加入到所述历史栈中,合并区域栈顶组块与区域栈顶第二组块,返回步骤16。[0020]可选的,所述步骤2具体为:[0021]当步骤1结束后就得到各个阈值下的区域,使用如下公式判断区域是否为最大稳定极值区域:[0022][0023]其中,i为灰度值阈值,qi为阈值为i时的某一区域,delta为灰度阈值的变化,q(i)为阈值为i时区域qi的变化率,当其小于设置的最大变化率时,则认为该区域为最大稳定极值区域。[0024]可选的,所述灰度阈值的变化delta为2。[0025]可选的,所述步骤3具体为:[0026]基于所述步骤1和步骤2得知,某一阈值的区域是由该区域内比其阈值小的区域逐步扩张而成,对此进行保留最大区域的操作如下:[0027]初始化图像尺寸的矩阵,将矩阵内数值均标记为-1,对区域集合倒序遍历,标号从0开始时,通过遍历区域内像素坐标对应在矩阵中是否已被标记,判断该区域是否为较小区域,若矩阵坐标已被标记,则表示是已有比该区域更大的区域被标记,则去除该区域,进行下一区域的遍历。[0028]可选的,所述步骤4具体为:[0029]特征点所在的两幅图像ia,ib经由所述步骤1、2、3已得到划分区域后的图像矩阵ma,mb,待筛选的特征点匹配集为matches,其中第i个匹配matchesi={fia,fib},fia,fib分别对应第i个特征点匹配在图像ia,ib上对应特征点坐标;[0030]初始化映射关系mapab和mapba,以mapab[α][β]表示ia中标号为α的区域对应ib中标号为β的区域的特征点匹配数量;[0031]遍历所述特征点匹配集matches,对所述特征点匹配集matches中fia,fib分别查看在图像矩阵ma,mb所对应标号,若为对应数值为-1,则舍去该对匹配;若ma,mb所对应标号α,β,则将mapab[α][β]和mapba[β][α]对应的数值均加1,若无该对应关系,需对mapab和mapba新增映射,赋初值为1;遍历完后,即得区域对应的特征统计。[0032]可选的,所述步骤5具体为:[0033]在经步骤4后已得到两幅图中各区域的特征点匹配映射关系mapab和mapba,该阶段对其进行区域运动统计的约束,筛选出正确的对应区域,并保留区域内的特征点匹配;[0034]遍历映射mapab,找到其中图ia中区域对应图ib中区域所含特征点匹配最多的映射,再验证是否该映射关系在mapba中是否也为图ib中区域对应图ia中区域所含特征点匹配最多的映射。[0035]可选的,所述步骤5利用双重关联容器,包括:[0036]mapab遍历时,若键为α,值对应的映射为mapab[α],找到其中值最大的映射,记为mapab[α][β],同时求出mapab[α]的值总和,即区域α中特征点匹配数目记为sumα;[0037]验证mapba[β][α]这组映射是否是在mapba[β]中也为最大,若满足,判断mapab[α][β]的值是否大于下述所设阈值τ:[0038][0039]其中,average为图ia中区域所含平均特征点匹配个数。[0040]可选的,所述当前像素的四邻域为右、下、左、上邻域。[0041]本发明有益效果是:[0042]本发明使用分水岭思想的最大稳定极值区域划分的方法,辅以区域合并的步骤,实现图像区域的自适应划分;经统计两幅图像中各区域内对应的特征点匹配数目,并基于网格运动统计的核心思想,提出了区域运动统计约束方案,对不同特征点匹配数目的区域进行分情况设置相应阈值。不同数据集下的仿真结果证明,本发明可更精确的筛选出正确的特征点匹配,且更有利于特征匹配之后环节的计算。附图说明[0043]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0044]图1为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的自适应区域划分实例图。[0045]图2为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的运动一致性分析。[0046]图3为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的正确/错误区域对应概率质量函数图。[0047]图4为本发明实施例二的未使用特征点匹配筛选的结果图。[0048]图5为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的结果图。[0049]图6为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的视角变化数据集的算法对比折线图。[0050]图7为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的模糊变化数据集的算法对比折线图。[0051]图8为本发明实施例二的自适应区域运动统计的特征点匹配筛选方法的亮度变化数据集的算法对比折线图。具体实施方式[0052]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。[0053]实施例一:[0054]本实施例提供一种自适应区域运动统计的特征点匹配筛选方法,包括如下步骤:[0055]步骤1:通过特征点匹配所在图像中像素灰度值关系,使用分水岭算法将图像划分为若干个区域;[0056]步骤2:对步骤1所得出的区域,利用最大稳定极值区域的约束条件,筛选出因像素灰度阈值变化导致的区域面积变化较小的区域;[0057]步骤3:去除最大稳定极值的区域中重合部分,并标记区域序号;[0058]步骤4:统计各区域中特征点匹配数量及对应关系;[0059]步骤5:通过区域运动统计的约束条件,筛选出正确的区域对应,并保留其中的特征点匹配。[0060]实施例二:[0061]本实施例提供一种自适应区域运动统计的特征点匹配筛选方法,包括如下步骤:[0062]步骤1:通过特征点匹配所在的图像中像素灰度值关系,使用分水岭方法[vincentl,soillep.watershedsindigitalspaces:anefficientalgorithmbasedonimmersionsimulations[j].ieeetransactionsonpatternanalysis&machineintelligence,1991,13(06):583-598.]将图像划分为不同阈值下的区域。具体步骤如下:[0063]步骤11:初始化数据结构,包括:区域栈、历史栈和边界堆,所述区域栈为存储不同灰度阈值下的图像区域像素信息的数据结构,所述历史栈为记录区域栈中阈值提高过程的数据结构,所述边界堆是存储区域边界像素合集的数据结构;[0064]所述区域栈内首先会放入标记组块,标记组块弹出时所述步骤1结束,所述标记组块对应的灰度阈值设为256;[0065]步骤12:将起始像素设为当前像素,所述起始像素的灰度值即为当前灰度阈值,标记已访问;[0066]步骤13:所述区域栈中加入一个空组块,所述空组块的值为当前像素灰度值;[0067]步骤14:按顺序访问当前像素的四邻域,对未被访问过的邻域像素标注为已访问,若像素灰度值不小于当前灰度阈值,则放入存放至所述边界堆中;若像素灰度值低于当前灰度阈值,则将当前像素放入区域栈顶中,将此邻域像素设为当前像素,回到步骤13;[0068]步骤15:将当前像素累加到区域栈顶的组块中,弹出边界堆像素,若堆为空则结束;[0069]步骤16:若弹出边界灰度值等于当前区域栈顶组块灰度值,将弹出像素作为当前像素,返回步骤14;若弹出边界灰度值高于当前区域栈顶组块灰度值,则处理区域栈中所有组件,直到区域栈中所有组块的灰度值高于当前弹出边界灰度值;[0070]步骤17:若所弹出的边界灰度值小于区域栈顶第二组块的灰度值,记录该栈顶组块,将栈顶组块的灰度值设为该边界的灰度值,并将边界像素设为当前像素回到步骤14;反之所弹出的边界灰度值不小于区域栈顶第二组块的灰度值,则将区域栈顶的组块加入到所述历史栈中,合并区域栈顶组块与区域栈顶第二组块,返回步骤16。[0071]步骤2:当步骤1结束后就得到各个阈值下的区域,使用最大稳定极值区域约束[nistérd,stewéniush.lineartimemaximallystableextremalregions[c].berlin:proceedingsofeuropeanconferenceoncomputervision.2008:183-196.]进行区域筛选出因像素灰度阈值变化导致的区域面积变化较小的区域,公式如下,其中i为灰度值阈值,qi为阈值为i时的某一区域,delta为灰度阈值的微小变化,q(i)为阈值为i时区域qi的变化率,当其小于设置的最大变化率时,则认为该区域为最大稳定极值区域。此处为适应整体算法,一般设delta为2。[0072][0073]步骤3:去除最大稳定极值的区域中重合部分,并标记区域序号。基于步骤1、2流程可以得知,某一阈值的区域是由该区域内比其阈值小的区域逐步扩张而成,对此进行保留最大区域的操作如下。[0074]初始化图像尺寸的矩阵,将矩阵内数值均标记为-1,对区域集合倒序遍历,标号从0开始时,通过遍历区域内像素坐标对应在矩阵中是否已被标记,判断该区域是否为较小区域,若矩阵坐标已被标记,则表示是已有比该区域更大的区域被标记,则去除该区域,进行下一区域的遍历。最终可得到例如图1所示的图像自适应划分效果图。[0075]步骤4:统计各区域中特征点匹配数量及对应关系。特征点所在的两幅图像ia,ib经由步骤1、2、3已得到划分区域后的图像矩阵ma,mb,待筛选的特征点匹配集为matches,其中第i个匹配matchesi={fia,fib},fia和fib分别对应第i个特征点匹配在图像ia,ib上对应特征点坐标。初始化映射关系mapab和mapba,在此处方便表达,以mapab[α][β]表示ia中标号为α的区域对应ib中标号为β的区域的特征点匹配数量,但实现此处映射关系,建议使用双重关联容器实现,而不是类似二维数组实现。[0076]遍历matches,对matchesi中fia,fib分别查看在ma,mb所对应标号,若为对应数值为-1,则舍去该对匹配。若ma,mb所对应标号α,β,则将mapab[α][β]和mapba[β][α]对应的数值均加1,若无该对应关系,需对mapab和mapba新增映射,赋初值为1。遍历完后,即得区域对应的特征统计。[0077]步骤5:在经步骤4后已得到两幅图中各区域的特征点匹配映射关系mapab和mapba,该阶段对其进行区域运动统计的约束,筛选出正确的对应区域,并保留区域内的特征点匹配。[0078]区域运动统计约束认为运动一致性会使得正确匹配周围邻域内的其它匹配会有相似的运动。如图2所示将左右两幅图像进行特征点匹配后,选择其中一块区域进行展示,图中黑色线框的区域中错误匹配个数为10,正确匹配个数为68,其中正确匹配是聚集的,错误匹配分散在图像的各个区域,只需保留聚集的区域内特征匹配即可达到剔除错误匹配目的。[0079]遍历映射mapab,找到其中图ia中区域对应图ib中区域所含特征点匹配最多的映射,再验证是否该映射关系在mapba中是否也为图ib中区域对应图ia中区域所含特征点匹配最多的映射。具体在双重关联容器中的做法:mapab遍历时,若键为α,值对应的映射为mapab[α],找到其中值最大的映射,记为mapab[α][β],同时求出mapab[α]的值总和,即区域α中特征点匹配数目记为sumα。验证mapba[β][α]这组映射是否是在mapba[β]中也为最大,若满足判断mapab[α][β]的值是否大于所设阈值τ。[0080]阈值划分基于结论:区域内所含匹配数目越多,则正确与错误的匹配可区分度越强,该结论可被概率推算支撑。由于每个特征点的匹配是独立的,可用二次分布近似两对应区域内所含正确的特征点匹配数。假设匹配算法的准确率为0.6,当图ia某区域中的一个特征点匹配错误,但仍匹配到图ib区域的概率设为0.1,此时依据二次分布的概率质量函数,可得出图3中显示结果,其中图3(a)设置了区域内特征点匹配数目为100,图3(b)设置了区域内特征点匹配数目为1000,图中虚线为网格对应为错误的概率质量函数曲线,实线为网格对应为正确的概率质量函数曲线。可知整体概率曲线是呈双峰,两者曲线之间是有一定距离且只有当两个对应区域内特征数达到阈值时,才会出现区域对应正确事件。因此可看出当区域区域内所含匹配数目越多,则正确与错误的匹配可区分度越强。[0081][0082]在上述阈值τ设置中,其中average为图ia中区域所含平均特征点匹配个数。阈值分为三种:一种为该区域的特征匹配数目远小于平均数,此时特征点匹配数较少时,正确区域对应与错误区域对应的可区分度较弱,则需要更严格的阈值设定,且即使对应判断错误,所损失的特征点匹配也较少;另一种为该区域的特征匹配数目远大于平均数,即大于average*4,此时区域特征点较多时,正确区域对应与错误网格区域的可区分度较大,设置较为宽松的阈值,既能保证方法的可靠,又使得该区域的特征点不被轻易的剔除;除上述两种情况外,则阈值设定为上述两种情况之间范围。[0083]本实施例的自适应区域运动统计的特征点匹配筛选方法的具体使用效果如下:[0084]实现系统环境如下,表1为系统硬件配置表,表2为系统软件配置表。[0085]表1:系统硬件配置表[0086][0087]表2:系统软件配置表[0088]软件相关信息操作系统windows1064位visualstudio2019opencv4.5.5[0089]实现效果比对:[0090]图4展示了未使用特征点匹配筛选方法的结果图。[0091]图5展示了使用本发明自适应区域运动统计的特征点匹配筛选方法的效果图,可看出,未使用前的特征点匹配中存在许多无规律的、混乱的错误匹配,经本发明方法后,可看出特征点匹配变得更为有序,且匹配存在运动一致性。[0092]图6展示了在一个视点角度变化的序列图像上,图像发生由小变大的仿射情况下,无筛选方法作为参照,比较本发明方法和经典的gms方法的筛选匹配点特征的精确度及通过筛选特征点匹配后计算得出的单应性精确度,可以看出在绝大部分图像对上本发明略优于经典的gms方法,且更有利于用于特征匹配之后单应性矩阵的计算。[0093]图7展示了因相机对焦变化而得到的模糊序列图像上,无筛选方法作为参照,比较本发明方法和经典的gms方法的筛选匹配点特征的精确度及通过筛选特征点匹配后计算得出的单应性精确度,可以看出在绝大部分图像对上本发明略优于经典的gms方法,且更有利于用于特征匹配之后单应性矩阵的计算。[0094]图8展示了因改变相机光圈的到的亮度序列图像上,无筛选方法作为参照,比较本发明方法和经典的gms方法的筛选匹配点特征的精确度及通过筛选特征点匹配后计算得出的单应性精确度,可以看出在绝大部分图像对上本发明略优于经典的gms方法,且更有利于用于特征匹配之后单应性矩阵的计算。[0095]本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。[0096]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1