面向二进制特征的图像匹配方法及其系统的制作方法_3

文档序号:9506546阅读:来源:国知局
如果c值小于第二阈值,则表示两张图片主方向相似,认为通过这一级的匹配,进 入下一级的匹配,否则表示匹配失败,程序直接返回结果。
[0075] 特征点位置匹配子模块32通过计算匹配特征点集之间的透视变化矩阵从而计算 内点比率,如果内点比率大于第三阈值,则进入特征点覆盖面积匹配,否则表示匹配失败, 程序直接返回结果。匹配点对依然用到了第一匹配模块20最后记录的匹配点对信息。假 设待检测图片中的特征点坐标为(Xl,yi),i为匹配对数,设此点集为X,图片库中图片的特 征点坐标为(Sl,h),i为匹配对数,设此点集为S,特征点位置匹配子模块32首先计算点集 S和点集X之间的透视变化矩阵H :
其实H是一个3X3矩阵
[0077] 同时保证误差最小:
[0079] 依据平面透视变化理论,如果匹配对数小于等于4对,则H矩阵是唯一确定的,误 差为0。如果匹配点数大于4对,且有外点,类似最小二乘法,则能找到一个矩阵H,使误差 达到最小。具体做法如下:
[0080] 假设匹配对数为N,随机选出4对,一共有CiJ种选法。每种算法计算一个透视变化 矩阵H,然后应用到所有的N对匹配中,计算误差。遍历所有Ci种选法,选取误差最小的那 个变化矩阵,作为最终的透视变化矩阵。
[0081] 有了透视变化矩阵H后,即可以把X点集映射到X'点集。如果两张图片确实是匹 配图片,则t点集与S点集之间的误差是很小的。如图6A和图6B所示,图6A的黑色点表 示X点集,图6B的灰色点表示通过透视变换矩阵映射后成的X'点集,由于左右两张图片 确实是相似的匹配图片,所以灰色t点集与S点集之间的误差是很小的。在一个实施例 中,假设当灰色点与白色点之间的距离小于10像素时,认为灰色点变换之前的黑色点是一 个内点。这样可以计算所有匹配点的内点个数从而计算内点比率,在一个实施例中,当比率 大于第三阈值,如67%时,则认为待检测图片通过这一级的匹配,进入下一级的特征点覆盖 面积匹配,否则返回匹配失败。这里有一点值得注意,即使两张图片不是匹配图片,他们特 征点之间的透视变换矩阵也可以找到的,也就是X点集亦可以映射到t点集,只是t点 集与S点集之间的误差是很大的,从而导致内点个数大大减少。
[0082] 特征点覆盖面积匹配子模块33依然使用第一匹配模块20记录的匹配点对,只不 过只计算待检测图片的特征点覆盖面积,如果覆盖面积大于第四阈值,例如70%,则表示匹 配成功,否则失败。如图7所示中框线所示,黑色的特征点都在方框线内;表示特征点覆盖 面积匹配子模块33的匹配操作主要是为了去除一些文字以及图案边界的错误匹配。
[0083] 在上述多个实施例中,面向二进制特征的图像匹配系统100的多个模块可以是软 件单元,硬件单元或软硬件结合单元。
[0084] 参见图8,在本发明的第五实施例中,提供了一种面向二进制特征的图像匹配方 法,所述方法包括:
[0085] 步骤S801中,提取待检测的图片的多个特征点的信息以及多个所述特征点的第 一二进制描述子;该步骤为特征提取步骤,由特征提取模块10实现;
[0086] 步骤S802中,将多个所述第一二进制描述子与预设的图片库中的所有图片的第 二二进制描述子进行比较,找出与多个所述第一二进制描述子匹配数最多的第二二进制描 述子所对应的第一图片;该步骤为第一匹配步骤,该步骤由第一匹配模块20实现;
[0087] 步骤S803中,将所述待检测的图片和所述第一图片进行特征点的信息的匹配,获 得所述待检测图片的匹配结果信息。该步骤为第二匹配步骤,由第二匹配模块30实现。
[0088] 在该实施例中,首先,提取待检测图片的特征。优选的,特征点的信息包括:所述特 征点的特征点主方向、特征点位置和特征点覆盖面积。接着,待检测图片的特征与后台图片 库中的特征分别进行匹配。如包括二进制描述子个数匹配,特征点主方向匹配,特征点位置 匹配以及特征点覆盖面积匹配。第二匹配模块30将所述待检测的图片和所述第一图片进 行特征点的信息的匹配,若两者的所述特征点的信息匹配成功后,则所述第一图片为与所 述待检测的图片匹配的图片;若两者的所述特征点的信息匹配失败后,则所述第一图片不 是与所述待检测的图片匹配的图片。即如果四级匹配都通过,则表示匹配成功,否则表示失 败。而所述特征提取步骤包括:特征提取模块10提取所述待检测的图片的多个特征点的特 征点主方向、特征点位置以及所述特征点的第一二进制描述子;在所述第一匹配步骤之前 包括:二进制索引建立步骤:二进制索引建立模块40建立所述图片库的二进制索引,所述 二进制索引包括由多个第二二进制描述子组成的二进制特征空间和每个所述第二二进制 描述子所在图片的图片序号。
[0089] 为了实现面向二进制特征的图像匹配,需要建立图片库,如图3所示,该图片库的 检索索引采用了二进制视觉中心,视觉中心个数可以根据平台的计算能力动态调整,同时 省略了分配特征二进制描述子的过程,保证了极快的计算速度以及高检索召回率。此二进 制倒排索引如图3所示。左边表示二进制的视觉单词中心,也可以理解为二进制特征。假 设对第二二进制描述子进行精简后的描述子长度为N,由于描述子是二进制的01串,则第 二二进制描述子的二进制特征空间大小为2 N,即由全0构成的特征到全1构成的特征。在 一个实施方式中,精简后的第二二进制描述子的长度为20,则特征空间的大小为2 2°,第二 个第二二进制特征由20个0构成,最后一个第二二进制特征由20个1构成。每个第二二 进制特征后面接图片库中包含有此特征的图片序号。
[0090] 在本发明的第七实施例中,所述第一匹配步骤包括:
[0091] 第一匹配子模块21分别将每个所述第一二进制描述子在所述二进制特征空间中 与所述第二二进制描述子进行匹配;
[0092] 第一选择子模块22选择包括与多个所述第一二进制描述子匹配数最多的所述 第二二进制描述子的所述第一图片,若所述匹配数大于预设的第一阈值,则记录匹配的多 个所述第一二进制描述子和第二二进制描述子所对应的特征点对,并执行所述第二匹配步 骤,否则所述第一匹配步骤失败。
[0093] 在该实施例中,特征提取模块10提取的待检测图片的第一二进制描述子与图片 库中所有图片的第二二进制描述子进行比较,找出匹配最多的图片,如果对应的匹配数大 于第一阈值,则记录所匹配的特征对,留待后级匹配使用。然后进入特征点的信息匹配。否 则表示匹配失败。
[0094] 在本发明的第八实施例中,所述第二匹配步骤包括:
[0095] 特征点方向匹配步骤:特征点方向匹配子模块31分别计算匹配的多个所述特征 点对的特征点的主方向变化率;若两者的所述主方向变化率小于预设的第二阈值,则执行 特征点位置匹配步骤,否则所述第一图片不是与所述待检测的图片匹配的图片;
[0096] 特征点位置匹配步骤,特征点位置匹配子模块32通过分别计算匹配的多个所述 特征点对之间的透视变化矩阵以计算多个所述特征点对的内点比率,若所述内点比率大于 预设的第三阈值,则执行特征点覆盖面积匹配步骤,否则所述第一图片不是与所述待检测 的图片匹配的图片;
[0097] 特征点覆盖面积匹配步骤,特征点覆盖面积匹配子模块33计算多个所述特征点 对中所述待检测图片中的特征点的特征点覆盖面积,若所述覆盖面积大于预设的第四阈 值,则第一图片是与所述待检测的图片匹配的图片,否则所述第一图片不是与所述待检测 的图片匹配的图片。
[0098] 在该实施例中,提供了一种面向二进制特征的图像匹配方法,具体的匹配过程包 括:二进制描述子个数匹配、特征点主方向匹配、特征点位置匹配、5、特征点覆盖面积匹配。 而预先的,若第一二进制描述子长度太长可以进行精简;图片库中的图片的第二二进制描 述子也进行精简。由于通过了,四级匹配,包括二进制描述子个数匹配,特征点主方向匹配, 特征点位置匹配以及特征点覆盖面积匹配,在保证召回率的情况下能有效提高匹配的准确 度。经过实际数据测试,通过第一级描述子个数匹配的召回率达到98 %,准确率在30 %, 通过第二级特征点主方向匹配的召回率达到95%,准确率在70%,通过第三级特征点位置 匹配的召回率达到90%,准确率在95%,最后第四级特征点覆盖面积匹配召回率保持在 85%,准确率在99%以上,同时速度保持在每秒单核单线程500张图片(除去提取特征时 间),如果包括主流二进制特征提取的时间,速度大约在60张图片。
[0099] 参见图9,在本发明的第九实施例中提供了面向二进制特征的图像匹配方法,所述 方法流程描述如下:
[0100] 在步骤S901中,首先提取待检测图片的特征,包括特征点的位置、特征点的主方 向以及特征点的二进制描述子,以供后续操作使用。当然,图片库中的图片也需要以相同的 算法提取相同的特征信息并将一部分信息载入内存方便后续比较。如果提取的二进制描述 子长度较长,为了防止后续的二进制索引的特征空间过大,需要进行描述子精简,将精简后 的描述子作为此特征点的描述子。这样在检索匹配之前先建立起图片库的二进制倒排索 弓丨,加速后续匹配操作。
[0101] 在步骤S902(二进制描述子个数匹配)中,将步骤S901中提取的待检测图片的描 述子与图片库中所有图片的描述子进行比较,找出匹配最多的图片,如果对应的匹配数大 于阈值,则记录所匹配的特征对,然后进入步骤S903,否则表示匹配失败。
[0102] 在步骤S903(特征点主方向匹配)中,利用步骤S902中记录的匹配的特征点,计 算其主方向变化率,如果小于阈值,则进入步骤S904,否则认为匹配失败,程序
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1