基于循环比较方法的时序特征点匹配方法

文档序号:6599556阅读:218来源:国知局

专利名称::基于循环比较方法的时序特征点匹配方法
技术领域
:本发明涉及计算机视觉领域,尤其涉及一种基于循环比较方法的时序特征点匹配方法。
背景技术
:时序特征点匹配是指将三维空间中不时间点所得到的点集合中的点进行对应的过程。这项技术经常被应用在在运动捕获系统(Motioncapture)中,在运动捕获的过程中我们会用多个相机搭建出一个场景,运动角色身上粘贴多个标记点(Marker)来记录运动角色的关键部位的运动信息。系统记录了这些标记点同一时刻在不同视角下的二维位置,并通过这些二维位置信息和相机的内外参数来重建出三维空间中的标记点,并记录它们的位置以达到运动捕获的目的。由于场景中一般存在的标记点数较多,在同一时刻可以看到十余个同样点,所以我们需要确定前一帧中的某一个点与后一帧中的某一个点是同一个三维标记点在不同时刻留下的轨迹,这里我们就需要应用到时序特征点匹配技术,匹配的结果鲁棒与否直接关系到基于多个相机的三维重建效果是否好。如果匹配不当经常会出现噪声、漏点、重建点位置频繁变化不稳定等结果。所以时序特征点匹配是运动捕获系统中的一个重要环节,直接关系到运动捕获的结果。
发明内容本发明的目的在于提供一种基于循环比较方法的时序特征点匹配方法。基于循环比较方法的时序特征点匹配方法包括如下步骤(1)获取在两个相邻时间点所得到三维场景中的所有特征点坐标集合时间点T。时刻的特征点集合{Pn}和时间点1\时刻的特征点集合{Qm},n=1,2,...,N,m=1,2,...,M:{Pn}中每一个元素表示时间点T。时刻在场景存在的三维点的坐标;{QJ中每一个元素表示时间点1\时刻在场景存在的三维点的坐标;(2)利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{Rs},以及点对中点的空间距离{DJ,s=min(N,M);(3)利用预设阈值对匹配点对集合{Rs}进行筛选,将被筛选出{Rs}的点对拆分组成从场景中消失的点集合{P'n}和新进入场景的点集合{Q'J,将{RJ经过筛选后剩余的点组成得到新的匹配点对集合{R'J,最后将{P'n}、{Q'm}、{R's}作为结果输出步骤包括对于{Rs}中的任意一个元素&进行筛选&=(Pi,Qj),6Di=IiPi-QjI,7预设阈值DT,若Di>DT则认为&为误判点对,将其删除,其中的Pi点作为从场景中消失的点加入集合(P'J,Qj作为新进入场景的点加入集合{Q'm};{RS}中的点对经过筛选删除误判的点对以后得到剩余的点对组成的新集合为{R's}"P,n}、{Q,J、{R's}即为最终的匹配结果;所述的利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合(!U,以及点对中点的空间距离{Ds},s=min(N,M):计算{Pn}中的一个点Pi与{Qj中任意一个点Qj的直线距离d,.:那么比较Q丄与Pi的距离Di和Q丄与Pk的距离Dk的大小,如果Di>Dk则Q丄继续与Pk匹配,取与Pi的距离次小的点作为Pi的匹配点;如果Di<Dk则与Pi匹配,重新取与Pk的距离次小的点作为Pk的匹配点;重复此过程直到{Pn}和{QJ两者中的任何一个的所有点都找到匹配点或者无法找到匹配点为止;循环结束时,若{Pn}中仍然有点未在{Qm}中找到匹配点,则认为这些剩余的点为从场景中消失的点,组成集合{P'n};循环结束时,若{QJ中仍然未被匹配中的点,则认为这些剩余的点为新进入场景的点,组成集合{Q'm};{P'n}和{Q'm}分别表示从场景中消失的点集合和新进入场景的点集合。本发明的优点在于能够快速准确将两个时间点T。时刻和1\时刻上在场景中检测到的三维点进行匹配,判断T。时刻中的任意一个点在1\时刻中的匹配点,并判断出T。时刻存在但1\时刻从场景中消失的三维点,以及T。时刻不存在在场景中而1\时刻新进入场景的点。在计算时间上可以做到实时,并具有较高的效率和准确率。图1是基于循环比较方法的时序特征点匹配方法的流程图2是特征点匹配的流程图。具体实施例方式本发明提出了一种基于循环比较方法的时序特征点匹配方法。本方法以时间间隔很小的两个相邻时间点上在同一场景中所获得的特征点三维坐标为输入,首先利用循环比较的方法寻找出最佳的匹配点,然后利用预设阈值判定新增加的点。下面介绍本发明的具体技术方案和实施步骤基于循环比较方法的时序特征点匹配方法包括如下步骤(1)获取在两个相邻时间点所得到三维场景中的所有特征点坐标集合时间点T。时刻的特征点集合{Pn}和时间点1\时刻的特征点集合{Qm},n=1,2,...,N,m=1,2,...,M:{Pn}中每一个元素表示时间点T。时刻在场景存在的三维点的坐标;{QJ中每一个元素表示时间点1\时刻在场景存在的三维点的坐标;(2)利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{Rs},以及点对中点的空间距离{DJ,s=min(N,M);(3)利用预设阈值对匹配点对集合{Rs}进行筛选,将被筛选出{Rs}的点对拆分组dj=llPi-Qjll,1取其中与Pi距离最小的点作为Pi的匹配点,组成点对成从场景中消失的点集合{P'n}和新进入场景的点集合{Q'J,将{RJ经过筛选后剩余的点组成得到新的匹配点对集合{R'J,最后将{P'n}、{Q'm}、{R's}作为结果输出步骤包括对于{Rs}中的任意一个元素Ri进行筛选Ri=(Pi,Qj),6Di=IIPi-Q丄II,7预设阈值DT,若Di>DT则认为&为误判点对,将其删除,其中的Pt点作为从场景中消失的点加入集合(P'J,Qj作为新进入场景的点加入集合{Q'm};{RS}中的点对经过筛选删除误判的点对以后得到剩余的点对组成的新集合为{R's}"P,n}、{Q,J、{R's}即为最终的匹配结果;所述的利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合(!U,以及点对中点的空间距离{Ds},s=min(N,M):计算{Pn}中的一个点Pi与{Qj中任意一个点Qj的直线距离dj:dj=IIP「QjII,1取其中与Pi距离最小的点作为Pi的匹配点,组成点对&=(Pi,Q》,2Di=IIPi-Q丄II,3若Q工已经与另一个点Pk组成匹配点对Rk=(Pk,Q》,4Dk=IiPk-QjI,5那么比较Q丄与Pi的距离Di和Q丄与Pk的距离Dk的大小,如果D丄>Dk则Q丄继续与Pk匹配,取与Pi的距离次小的点作为Pi的匹配点;如果Di<Dk则与Pi匹配,重新取与Pk的距离次小的点作为Pk的匹配点;重复此过程直到{Pn}和{QJ两者中的任何一个的所有点都找到匹配点或者无法找到匹配点为止;循环结束时,若{Pn}中仍然有点未在{Qm}中找到匹配点,则认为这些剩余的点为从场景中消失的点,组成集合{P'n};循环结束时,若{QJ中仍然未被匹配中的点,则认为这些剩余的点为新进入场景的点,组成集合{Q'm};{P'n}和{Q'm}分别表示从场景中消失的点集合和新进入场景的点集合。实施例1要对时间间隔很小的两个相邻时间点上在同一场景中所获得的特征点进行匹配。在第一个时间点T。时刻获取的特征点坐标{Pn}其中包含三个特征点,n=1,2,3,在第二个时间点1\时刻获取的特征点坐标{Qm}其中包含四个特征点,m=1,2,3,4。下面结合前面所述的具体技术方案说明该实例实施的步骤,如下1.获取在两个相邻时间点所得到三维场景中的所有特征点坐标集合时间点T。时刻的特征点集合{Pn}和时间点1\时刻的特征点集合{Qm},n=1,2,...,N,m=1,2,...,M:{Pn}中每一个元素表示时间点T。时刻在场景存在的三维点的坐标;{QJ中每一个元素表示时间点1\时刻在场景存在的三维点的坐标获取场景中若干三维点在时间间隔很小的两个相邻时间点上特征点三维坐标集合{Pn}禾卩{QJ,n=1,2,3,m=1,2,3,4。2.利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{Rs},以及点对中点的空间距离{DJ,s=min(N,M):(1)计算{Pn}中的一个点Pi与{Qm}中任意一个点Qj的直线距离d<formula>formulaseeoriginaldocumentpage6</formula>(2)取其中与Pi距离最小的点作为Pi的匹配点组成点对,并记录他们之间的距离对于Pp与其距离最小的点是点Q"它们组成了匹配点对Ri=(P"Q》,它们之间的距离D丄=0.45;对于P2,与其距离最小的点也是点Q"但Q工已经与P工组成了匹配点对&=(PpQ》,所以我们需要比较它们之间的距离IIP「Q丄II=0.45;IIII=0.50;P丄与Q丄之间的距离更小,&=(PpQ》保持不变,P2寻找与其距离次小的Q3点作为他的匹配点做成R2=(P2,Q3),它们之间的距离D2=0.54;对于P3,与其距离最小的点是点92,它们组成了匹配点对13=(P3,Q》,它们之间的距离D3=3.50;[OO57](3)独立点处理经过特征点匹配过程之后{Pn}的所有点都找到了匹配点,此时{QJ中的点94仍然没有任何点和它匹配,于是它被判定为新进入场景的点,放如集合{Q'm}中。3.利用预设阈值对匹配点对集合{RJ进行筛选,将被筛选出{Rs}的点对拆分组成从场景中消失的点集合{P'n}和新进入场景的点集合{Q'J,将{RJ经过筛选后剩余的点组成得到新的匹配点对集合{R'J,最后将{P,J、{Q,mMR,s}作为结果输出:对于{RJ中的任意一个元素Ri进行筛选,预设阈值DT=3.00;在{Rj中的所有元素之中R3的距离D3=3.50>3.OO,所以将其删除,其中的P3点作为从场景中消失的点加入集合(P'J,Q2作为新进入场景的点加入集合{Q'J;经过筛选后得到的新集合为{R'J;得到最终结果{P,n}={P3}{Q,m}={Q2,Q4}{R,s}==(P"Q》,R2=(P2,Q3)}实施例2要对时间间隔很小的两个相邻时间点上在同一场景中所获得的特征点进行匹配。在第一个时间点T。时刻获取的特征点坐标{Pn}其中包含三个特征点,n二1,2,3,4,在第二个时间点1\时刻获取的特征点坐标{Qm}其中包含四个特征点,m=1,2,3。下面结合前面所述的具体技术方案说明该实例实施的步骤,如下1.获取在两个相邻时间点所得到三维场景中的所有特征点坐标集合时间点T。时刻的特征点集合{Pn}和时间点1\时刻的特征点集合{Qm},n=1,2,...,N,m=1,2,...,M:{Pn}中每一个元素表示时间点T。时刻在场景存在的三维点的坐标;{QJ中每一个元素表示时间点1\时刻在场景存在的三维点的坐标获取场景中若干三维点在时间间隔很小的两个相邻时间点上特征点三维坐标集合{Pn}禾卩{QJ,n=1,2,3,4,m=1,2,3。3.利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{Rs},以及点对中点的空间距离{DJ,s=min(N,M):(4)计算{Pn}中的一个点Pi与{Qm}中任意一个点Qj的直线距离dj<table>tableseeoriginaldocumentpage7</column></row><table>(5)取其中与Pi距离最小的点作为Pi的匹配点组成点对,并记录他们之间的距离对于P"与其距离最小的点是点Qp它们组成了匹配点对Ri=Q》,它们之间的距离=0.87;对于P2,与其距离最小的点也是点Q"但Q工已经与P工组成了匹配点对&=(PpQ》,所以我们需要比较它们之间的距离IiP「QjI=0.87;IIP2—II=0.39;P2与Q丄之间的距离更小,&=(PpQ》删除,P丄寻找与其距离次小的Q2点作为他的匹配点做成&=(Pi,Q》,它们之间的距离D丄=1.45;P2与Q丄点组成R2=(P2,Q》,它们之间的距离02=0.39对于P3,与其距离最小的点是点93,它们组成了匹配点对13=(P3,Q》,它们之间的距离D3=3.50;[OO79](6)独立点处理经过特征点匹配过程之后{QJ的所有点都找到了匹配点,此时{Pn}中的点PJ乃然没有任何点和它匹配,于是它被判定为新进入场景的点,放如集合{P'n}中。3.利用预设阈值对匹配点对集合{RJ进行筛选,将被筛选出{Rs}的点对拆分组成从场景中消失的点集合{P'n}和新进入场景的点集合{Q'J,将{RJ经过筛选后剩余的点组成得到新的匹配点对集合{R'J,最后将{P,J、{Q,mMR,s}作为结果输出:对于{RJ中的任意一个元素Ri进行筛选,预设阈值DT=3.00;在{Rj中的所有元素之中R3的距离D3=3.50>3.OO,所以将其删除,其中的P3点作为从场景中消失的点加入集合(P'J,Q3作为新进入场景的点加入集合{Q'J;经过筛选后得到的新集合为{R'J;得到最终结果<formula>formulaseeoriginaldocumentpage7</formula>权利要求一种基于循环比较方法的时序特征点匹配方法,其特征在于包括如下步骤(1)获取在两个相邻时间点所得到三维场景中的所有特征点坐标集合时间点T0时刻的特征点集合{Pn}和时间点T1时刻的特征点集合{Qm},n=1,2,...,N,m=1,2,...,M{Pn}中每一个元素表示时间点T0时刻在场景存在的三维点的坐标;{Qm}中每一个元素表示时间点T1时刻在场景存在的三维点的坐标;这些坐标的含义是特征点在场景中的三维位置信息,包括x、y、z三个值;(2)利用循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{Rs},以及点对中点的空间距离{Ds},s=min(N,M);(3)利用预设阈值对匹配点对集合{Rs}进行筛选,将被筛选出{Rs}的点对拆分组成从场景中消失的点集合{P’n}和新进入场景的点集合{Q’m},将{Rs}经过筛选后剩余的点组成得到新的匹配点对集合{R’s},最后将{P’n}、{Q’m}、{R’s}作为结果输出步骤包括对于{Rs}中的任意一个元素Ri进行筛选Ri=(Pi,Qj),6Di=||Pi-Ql||,7预设阈值DT,若Di≥DT则认为Ri为误判点对,将其删除,其中的Pi点作为从场景中消失的点加入集合{P’n},Qj作为新进入场景的点加入集合{Q’m};{Rs}中的点对经过筛选删除误判的点对以后得到剩余的点对组成的新集合为{R’s};{P’n}、{Q’m}、{R’s}即为最终的匹配结果;2.根据权利要求1所述的一种基于循环比较方法的时序特征点匹配方法,其特征在于,所述的循环比较的方法对两组不同时间点上的特征点进行匹配,得到匹配点对集合{RJ,以及点对中点的空间距离{Ds},s=min(N,M)步骤包括计算{Pn}中的一个点P丄与{QJ中任意一个点Qj的直线距离d:d=IIPi-QjII,1取其中与Pi距离最小的点作为Pi的匹配点,组成点对Ri=(Pi,Q》,2Di=IIPi-Q丄II,3若Q工已经与另一个点Pk组成匹配点对Rk=(Pk,Q》,4Dk=IiPk-QjI,5那么比较Q丄与Pi的距离Di和Q丄与Pk的距离Dk的大小,如果Di>Dk则Q丄继续与Pk匹配,取与Pi的距离次小的点作为Pi的匹配点;如果Di<Dk则Qi与Pi匹配,重新取与Pk的距离次小的点作为Pk的匹配点;重复此过程直到{Pn}和{QJ两者中的任何一个的所有点都找到匹配点或者无法找到匹配点为止;循环结束时,若{Pn}中仍然有点未在{Qm}中找到匹配点,则认为这些剩余的点为从场景中消失的点,组成集合{P'n};循环结束时,若{QJ中仍然未被匹配中的点,则认为这些剩余的点为新进入场景的点,组成集合{Q'm};{P'n)和{Q'm}分别表示从场景中消失的点集合和新进入场景的点集合。全文摘要本发明公开了一种基于循环比较方法的时序特征点匹配方法。首先获取在两个相邻时间点场景中的所有特征点坐标集合,前一时刻的特征点集合{Pn}和后一时刻的特征点集合{Qm};然后利用循环比较的方法对两组特征点进行匹配,得到匹配点对集合{Ps};最后利用阈值对集合{Ps}进行筛选,将被筛选出的点对拆分组成从场景中消失的点集合{P’n}和新进入场景的点集合{Q’m},将经过筛选后剩余的点组成得到集合{R’s},最后将{P’n}、{Q’m}、{R’s}作为结果。本发明的优点在于能够快速准确将两个时间点在场景中检测到的三维点进行匹配,判断前一时刻中的点在后一时刻中的匹配点,并判断出从场景中消失的三维点和新进入场景的点。在计算时间上可以做到实时,并具有较高的效率和准确率。文档编号G06T17/00GK101794463SQ20101012892公开日2010年8月4日申请日期2010年3月19日优先权日2010年3月19日发明者庄越挺,程寅,肖俊申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1