首页 / 专利库 / 电信 / 跟踪 / 图像处理方法及装置

图像处理方法及装置

阅读:297发布:2024-02-25

专利汇可以提供图像处理方法及装置专利检索,专利查询,专利分析的服务。并且本公开涉及一种 图像处理 方法及装置。该方法包括:在当前 帧 中包含目标图片的情况下,以所述当前帧作为 跟踪 的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;确定所述跟踪点集中跟踪点的数量是否小于第一预设 阈值 ;在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。采用本公开提供的方法,可以确保AR实现中跟踪的 稳定性 。,下面是图像处理方法及装置专利的具体信息内容。

1.一种图像处理方法,包括:
在当前中包含目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;
继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;
确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值
在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
2.根据权利要求1所述的方法,其中,确定补充跟踪点并添加至所述跟踪点集包括:
在所述下一帧中提取补充跟踪点;
确定与所述目标图片对应的多边形内部的补充跟踪点;
确定所述目标图片的多个顶点在所述下一帧中的位置
确定所述多个顶点围成的多边形;
确定所述多边形内部的补充跟踪点,并将所述补充跟踪点添加至所述跟踪点集。
3.根据权利要求2所述的方法,其中,确定所述目标图片的多个顶点在所述下一帧中的位置,包括:
确定所述目标图片的四个顶点在所述下一帧中的位置;
确定所述多个顶点围成的多边形,包括:
以所述下一帧的左上为原点,以所述下一帧的横向方向为x轴,以所述下一帧的纵向方向为y轴,确定所述四个顶点中纵坐标值最小的两个顶点,将纵坐标值最小的两个顶点中横坐标值较小的顶点确定为第一顶点,将纵坐标值最小的两个点中横坐标值较大的点确定为第二顶点;以及确定所述四个顶点中纵坐标值最大的两个顶点,将纵坐标值最大的两个顶点中横坐标值较小的顶点确定为第三顶点,将纵坐标值最大的两个顶点中横坐标值较大的顶点确定为第四顶点;
确定所述第一顶点、所述第二顶点、所述第三顶点以及所述第四顶点所围成的四边形。
4.根据权利要求1所述的方法,所述补充跟踪点并添加至所述跟踪点集之后,还包括:
根据跟踪点集计算所述下一帧和目标图片的姿态变换;
使用卡尔曼滤波对最终的位姿变换结果进行滤波。
5.根据权利要求1所述的方法,其中,继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集,包括:
基于所述初始跟踪点集使用金字塔光流算法确定所述下一帧的跟踪点集。
6.根据权利要求5所述的方法,其中,基于所述初始跟踪点集使用金字塔光流算法确定所述下一帧的跟踪点集之后,还包括:
使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集;
确定所述参考帧的匹配点集与使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集之间的像素距离;
如果使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集中的某一或某些跟踪点与所述参考帧的匹配点集中的跟踪点的像素距离大于第二预设阈值,则将所述某一或某些跟踪点对应的所述下一帧的跟踪点集中的相应跟踪点从跟踪点集中删除。
7.根据权利要求6所述的方法,将所述某一或某些跟踪点对应的所述下一帧的跟踪点集中的相应跟踪点从跟踪点集中删除之后,还包括:
确定所述下一帧的跟踪点集中的跟踪点与所述匹配点集中的点之间的相似性;
将相似性大于第三预设阈值的跟踪点确定为跟踪成功的点,并将跟踪成功的点保持在所述下一帧的跟踪点集中;
将相似性小于或等于第三预设阈值的跟踪点确定为跟踪失败的点,并在跟踪失败的点所在的局部区域查找可用跟踪点,将找到的可用跟踪点补充到所述下一帧的跟踪点集中。
8.根据权利要求7所述的方法,其中,在跟踪失败的点所在的局部区域查找可用跟踪点,包括:
在跟踪失败的点所在的局部区域查找局部匹配得分满足第四预设阈值的点;
如果找到局部匹配得分满足第四预设阈值的点,则将局部匹配得分满足第四预设阈值的点确定为可用跟踪点;
如果没有找到局部匹配得分满足第四预设阈值的点,则确定所述跟踪失败的点是否是角点;
如果所述跟踪失败的点是角点,则将所述跟踪失败的点补充到所述下一帧的跟踪点集中。
9.根据权利要求7所述的方法,将所述某一或某些跟踪点对应的所述下一帧的跟踪点集中的相应跟踪点从跟踪点集中删除之后,还包括:
对于基于所述初始跟踪点集使用金字塔光流算法确定的所述下一帧的跟踪点集中跟踪成功的点,确定所述跟踪成功的点的成功次数;
将成功次数超过第五预设阈值的跟踪成功的点从所述跟踪点集中删除。
10.根据权利要求2所述的方法,确定补充跟踪点并添加至所述跟踪点集还包括:
在所述目标图片相对于背景静止的情况下,使用所述多边形外部的补充跟踪点来补充所述跟踪点集。
11.根据权利要求1至10中任一项所述的方法,在进行目标图片的跟踪之前,所述方法还包括:
对当前帧进行图片识别以确定当前帧是否包含目标图片;
确定补充跟踪点并添加至所述跟踪点集之后,如果补充后的跟踪点集中跟踪点的数量仍然小于所述第一预设阈值,则继续获取图像帧进行图片识别以确定图像帧是否包含目标图片。
12.根据权利要求11所述的图像处理方法,对当前帧图像进行图片识别以确定当前帧是否包含目标图片还包括:
提取所述当前帧的视觉特征;
基于预定数量个视觉词典确定所述当前帧的视觉特征的词袋向量;
确定所述当前帧的所述词袋向量与目标图片的词袋向量的相似性;以及
基于所确定的相似性的大小确定所述当前帧是否包含目标图片。
13.根据权利要求12所述的图像处理方法,其特征在于,基于预定数量个视觉词典确定所述当前帧的视觉特征的词袋向量,包括:
基于所述预定数量个视觉词典确定所述当前帧的各视觉特征的索引;
确定当前帧的各视觉特征的索引的词频-逆文档频率权重;
基于各所述视觉特征的索引的所述词频-逆文档频率权重生成所述当前帧的词袋向量。
14.根据权利要求13所述的图像处理方法,其特征在于,基于所述预定数量个视觉词典确定所述当前帧的各视觉特征的索引,包括:
从所述预定数量个视觉词典中确定与所述当前帧的视觉特征距离最近的多个视觉单词,所述多个视觉单词的数量与所述视觉词典的数量相同;
基于所述多个视觉单词的索引确定所述当前帧的视觉特征的索引。
15.一种图像处理装置,包括:
第一跟踪模,用于在当前帧中包含目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;
第二跟踪模块,用于继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;
确定模块,用于确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值;
补充模块,用于在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
16.一种图像处理装置,包括:
处理器:
存储器,存储有所述处理器可执行的程序指令;
其中所述处理器被配置为执行根据权利要求1至14中任一项所述的方法。

说明书全文

图像处理方法及装置

技术领域

[0001] 本公开涉及AR技术领域,尤其涉及一种用于AR的图像处理方法及装置。

背景技术

[0002] 近年来,随着移动设备的快速发展,智能手机等的普及率快速提升,因此基于移动端的AR(增强现实)技术成为研究的热点。AR技术可以实现虚拟信息和真实场景的融合显示,补充并丰富使用者的视觉场景信息,可以广泛应用于娱乐、工业、军事等行业。基于识别的AR技术通常需要识别特定的mark图像或自然图像,然后实现对目标图像的跟踪渲染,因此需要实时的对场景进行检测跟踪。
[0003] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。发明内容
[0004] 本公开的目的在于提供一种图像处理方法,能够确保AR效果实现中跟踪的稳定性
[0005] 根据本公开的一个方面,提供了一种图像处理方法,包括:
[0006] 在当前中包含目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;
[0007] 继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;
[0008] 确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值
[0009] 在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
[0010] 根据本公开的另一个方面,提供了一种图像处理装置,包括:
[0011] 第一跟踪模,用于在当前帧中包含目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;
[0012] 第二跟踪模块,用于继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;
[0013] 确定模块,用于确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值;
[0014] 补充模块,用于在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
[0015] 根据本公开的另一个方面,提供了一种图像处理装置,包括:
[0016] 处理器:
[0017] 存储器,存储有所述处理器可执行的程序指令;
[0018] 其中所述处理器被配置为执行前述图像处理方法。
[0019] 在本公开实施例提供的技术方案中,如果某一当前帧包含中包含目标图片,则该帧可以看作是首次识别到目标图片的帧,可以以该当前帧作为跟踪的参考帧,以该当前帧的匹配点集作为初始跟踪点集,进行目标图片的跟踪。在进行当前帧之后的下一帧的跟踪时,确定跟踪点集中跟踪点的数量是否小于第一预设阈值;在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。由于在长时间的跟踪过程中,会不断有跟踪点跟踪失败,进而导致跟踪不稳定。通过采用本公开提供的技术方案,可以通过对跟踪点集进行补充而确保跟踪点集数量的稳定性,进而确保AR跟踪的稳定性。附图说明
[0020] 通过参照附图来详细描述其示例性实施例,本公开的上述和其它特征及优点将变得更加明显。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0021] 图1示出了根据本公开一示例性实施例的一种图像处理方法的流程图
[0022] 图2示出了根据本公开一示例性实施例的识别和跟踪过程。
[0023] 图3示出了根据本公开一示例性实施例的跟踪过程。
[0024] 图4示出了目标图片在当前帧中的位置示意图。
[0025] 图5根据一种技术方案中的图片直方图的示意图。
[0026] 图6示出了根据本公开一示例性实施例的一种图像处理方法的流程图。
[0027] 图7示出了根据本公开的一些实施例的从三个视觉词典中索引视觉特征的示意图。
[0028] 图8示出了根据本公开的一示例性实施例的图像处理方法的流程示意图。
[0029] 图9示出了根据本发明的一示例性施例的图像处理方法的流程示意图。
[0030] 图10示出了根据本公开实施例的训练部分和识别过程的整体框图
[0031] 图11示出了根据本发明的一示例性施例的图像处理方法的流程示意图。
[0032] 图12示出了本公开实施例中涉及到的训练图片的内容示例。
[0033] 图13示出本公开的算法与光流+PNP算法框架这算法框架的跟踪过程中点的跟踪精度误差变化情况。
[0034] 图14示出长时间跟踪过程中跟踪点的变化情况。
[0035] 图15示出了根据本公开一示例性实施例的图像处理装置的框图。
[0036] 图16示出了根据本公开一示例性实施例的图像处理装置的框图。

具体实施方式

[0037] 现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免模糊本公开的各方面。
[0038] 此外,附图仅为本公开的示意性图解,并非一定是按照比例绘制。图中相同的附图标记标识相同或相似的部分,因而将省略对它们的重复描述。
[0039] 在AR实现中,通常需要对图片进行跟踪和识别。跟踪的作用是从上一帧中跟踪得到当前帧的特征点(剔除跟踪错误的特征点)。在本公开的实施例中,特征点可以是指能够在其他含有相同场景或目标的相似图像中以一种相同的或至少非常相似的不变形式表示图像或目标。换句话说,同一个物体或场景,从不同的度采集多幅图片,如果相同的地方能够被识别出来是相同的。这些具有‘尺度不变性的点或块’称为特征点”。例如,特征点可以是含有丰富局部信息的点,经常出现在图像中拐角、纹理剧烈变化等地方,可以包括例如灰度剧烈变化的点或角点等。
[0040] 常用的跟踪方法包括金字塔光流跟踪算法。光流算法是一种描述图像像素随时间在图像序列中运动的方法,基于金字塔的Lucas-Kanade是一种稀疏光流算法,不同于稠密光流,它计算的是部分像素的运动,计算量较小,实时性较好。
[0041] 光流法认为图像随时间t变换I(x,y,t),其中(x,y)为图像像素坐标,同时认为满足以下假设:
[0042] (1)灰度不变:同一个空间点的像素灰度值在图像序列中不变;
[0043] (2)空间一致:某个空间点及其领域在图像序列中具有相似的运动;
[0044] (3)时间连续:空间点所成的像在图像序列中变化缓慢。
[0045] 根据假设(1),则对于不同时刻的图像有
[0046] I(x+dx,y+dy,t+dt)=I(x,y,t)(公式1)
[0047] 对上式进行泰勒展开,可得:
[0048]
[0049] 整理可得:
[0050]
[0051] 根据假设(2),认为像素(x,y)所在的w×w小窗内的像素具有相同的运动,故可得w×w个公式(3)的恒等式,使用线性或非线性最小二乘法可以求解(dx/dt,dy/dt).[0052] 根据假设(3),构建图像金字塔实现,从顶层图像至底层图像迭代估计目标像素点在新帧中的位置,实现由粗到精的光流估计。
[0053] 对于图像特征点金字塔跟踪来说的目的是:对于前一帧的图像I上一点u(ux,uy),要在后一帧图像J上找到一点v(ux+dx,uy+dy)与之相匹配,即灰度值最接近。那么向量d=[dx,dy]就是图像在点u处的运动速度,也就是所说像素点u的光流。
[0054] 光流跟踪算法在跟踪过程中不可避免地会使得跟踪点集流逝,因此一段时间之后,不管是跟踪过程还是计算投影矩阵过程都会变得不稳定,因此不得不重新进行识别。而重新进行识别会产生跳帧,而且识别所占用的计算资源较多,最终会产生明显的卡顿显现,即虚拟物体突然消失,一段时间后又突然出现。
[0055] 针对上述问题,本公开实施例提供了一种图像处理方法,如图1所示,该方法包括如下步骤:
[0056] 步骤S102,在当前帧包含中包含所述目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;
[0057] 步骤S103,继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;
[0058] 步骤S104,确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值;
[0059] 步骤S105,在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
[0060] 如果在步骤S104中跟踪点集中跟踪点的数量大于或等于第一预设阈值,则可以确定跟踪点集中跟踪点的数量满足跟踪的要求,可以继续进行后面的跟踪处理。
[0061] 在本公开实施例提供的方法中,如果某一当前帧包含中包含目标图片,则该帧可以看作是首次识别到目标图片的帧,可以以该当前帧作为跟踪的参考帧,以该当前帧的匹配点集(即当前帧中与目标图片匹配的特征点形成的集合)作为初始跟踪点集,进行目标图片的跟踪。在进行当前帧之后的下一帧的跟踪时,确定跟踪点集中跟踪点的数量是否小于第一预设阈值;在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,补充所述跟踪点集。由于在长时间的跟踪过程中,会不断有跟踪点跟踪失败,进而导致跟踪不稳定。通过采用本公开提供的方法,可以通过对跟踪点集进行补充确保跟踪点集中跟踪点数量的稳定性,进而确保AR跟踪的稳定性。
[0062] 在一个实施例中,在步骤S102之前还可以包括:步骤S101,即对当前帧图像进行图片识别以确定当前帧是否包含目标图片,如图11所示。
[0063] 在一个实施例中,确定补充跟踪点并添加至所述跟踪点集可以包括:
[0064] 在所述下一帧中提取补充跟踪点;
[0065] 确定与所述目标图片对应的多边形内部的补充跟踪点;
[0066] 将与所述目标图片对应的多边形内部的补充跟踪点添加至所述跟踪点集。
[0067] 其中,确定与所述目标图片对应的多边形内部的补充跟踪点,包括:
[0068] 确定所述目标图片的多个顶点在所述下一帧中的位置;
[0069] 确定所述多个顶点围成的多边形;
[0070] 确定所述多边形内部的补充跟踪点。
[0071] 其中,确定所述目标图片的多个顶点在所述下一帧中的位置,包括:确定所述目标图片的四个顶点在所述下一帧中的位置;
[0072] 确定所述多个顶点围成的多边形,包括:
[0073] 以所述下一帧的左上角为原点,以所述下一帧的横向方向为x轴,以所述下一帧的纵向方向为y轴,确定所述四个顶点中纵坐标值最小的两个顶点,将纵坐标值最小的两个顶点中横坐标值较小的顶点确定为第一顶点,将纵坐标值最小的两个点中横坐标值较大的点确定为第二顶点;以及确定所述四个顶点中纵坐标值最大的两个顶点,将纵坐标值最大的两个顶点中横坐标值较小的顶点确定为第三顶点,将纵坐标值最大的两个顶点中横坐标值较大的顶点确定为第四顶点;
[0074] 确定所述第一顶点、所述第二顶点、所述第三顶点以及所述第四顶点所围成的四边形。
[0075] 其中,确定所述多边形内部的补充跟踪点,包括:
[0076] 当第一顶点和第三顶点形成的直线的斜率为正时,确定所述第一顶点和第三顶点形成的直线下方为四边形内侧;
[0077] 当第一顶点和第三顶点形成的直线的斜率为负时,确定所述第一顶点和第三顶点形成的直线上方为四边形内侧;
[0078] 当第二顶点和第四顶点形成的直线的斜率为正时,确定所述第二顶点和第四顶点形成的直线上方为四边形内侧;
[0079] 当第二顶点和第四顶点形成的直线的斜率为负时,确定所述第二顶点和第四顶点形成的直线下方为四边形内侧;
[0080] 将所述四边形内侧的补充跟踪点确定为所述四边形内部的补充跟踪点。
[0081] 其中,所述补充跟踪点并添加至所述跟踪点集之后,还包括:
[0082] 根据跟踪点集计算所述下一帧和目标图片的姿态变换;
[0083] 使用卡尔曼滤波对最终的位姿变换结果进行滤波。
[0084] 其中,继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集,包括:
[0085] 基于所述初始跟踪点集使用金字塔光流算法确定所述下一帧的跟踪点集。
[0086] 其中,基于所述初始跟踪点集使用金字塔光流算法确定所述下一帧的跟踪点集之后,还包括:
[0087] 使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集;
[0088] 确定所述参考帧的匹配点集与使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集之间的像素距离;
[0089] 如果使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集中的某一或某些跟踪点与所述参考帧的匹配点集中的跟踪点的像素距离大于第二预设阈值,则将所述某一或某些跟踪点对应的所述下一帧的跟踪点集中的相应跟踪点从跟踪点集中删除。对于使用金字塔光流算法进行反向跟踪得到所述参考帧的跟踪点集中的某一或某些跟踪点与所述参考帧的匹配点集中的跟踪点的像素距离小于或等于第二预设阈值的情况,可以认为该某一或某些跟踪点符合跟踪要求,可以继续保留在跟踪点集中。
[0090] 将所述某一或某些跟踪点对应的所述下一帧的跟踪点集中的相应跟踪点从跟踪点集中删除之后,该方法还可以包括:
[0091] 确定所述下一帧的跟踪点集中的跟踪点与所述匹配点集中的点之间的相似性;
[0092] 将相似性大于第三预设阈值的跟踪点确定为跟踪成功的点,并将跟踪成功的点保持在所述下一帧的跟踪点集中;
[0093] 将相似性小于或等于第三阈值的跟踪点确定为跟踪失败的点,并在跟踪失败的点所在的局部区域查找可用跟踪点,将找到的可用跟踪点补充到所述下一帧的跟踪点集中。
[0094] 其中,在跟踪失败的点所在的局部区域查找可用跟踪点,包括:
[0095] 在跟踪失败的点所在的局部区域查找局部匹配得分满足第四预设阈值的点;
[0096] 如果找到局部匹配得分满足第四预设阈值的点,则将局部匹配得分满足第四预设阈值的点确定为可用跟踪点;
[0097] 如果没有找到局部匹配得分满足第四预设阈值的点,则确定所述跟踪失败的点是否是角点;
[0098] 如果所述跟踪失败的点是角点,则将所述跟踪失败的点补充到所述下一帧的跟踪点集中。
[0099] 下面通过具体的例子来说明书本公开方案的实现方式。
[0100] 图2示出了根据本公开一示例性实施例的识别和跟踪过程。图3示出了根据本公开一示例性实施例的跟踪过程。
[0101] 在图2中,首先获取当前的图像帧,然后确定需要对图像帧进行识别还是跟踪。如果确定需要对当前帧进行识别,则进入图片识别模块进行图片识别,确定在当前帧中是否可以识别出目标图片(即确定当前帧与目标图片是否相似),并输出与当前帧匹配的目标图片的ID以及匹配点集。基于该输出的图片的ID以及匹配点集可以对光流跟踪进行初始化。对于光流跟踪而言,初始的跟踪点集是空的,需要对该跟踪点集进行初始化。在本公开的实施例中,使用图片识别结果中的匹配点集作为初始跟踪点集。
[0102] 在图3的跟踪过程中,首先,获取图片识别模块的识别结果(如图2所示)。即首先进行图片识别以确定当前帧是否包含目标图片。第一次识别到目标图片的帧称为参考帧,并且可以获得该参考帧的匹配点集,该参考帧可以作为跟踪的初始帧,该参考帧的匹配点集可以设置为初始跟踪点集,即设置为z坐标为0的3D点(即包含x,y和z三个坐标的点,但是其中z坐标的取值为0)。
[0103] 继续获得实时帧,即下一帧图像。以上一帧(即参考帧)的匹配点集,使用金字塔光流算法跟踪得到该下一帧的跟踪点集,并删除跟踪失败的点。
[0104] 可以使用前后向匹配方法筛选跟踪点集,以滤除误差较大的点。前后向匹配方法把从前一帧跟踪得到当前帧称为前向跟踪,然后从当前帧反向跟踪到前一帧,称为后向或反向跟踪。认为该点是稳定的角点特征,前后向匹配应是完全相反的过程,因此我们可以在前一帧中计算同一个点的前向后向匹配的距离误差:
[0105] Δd=||I′(x,y)-I(x,y)||2  (公式4)
[0106] 当距离误差大于第二预设阈值时,认为当前点跟踪不稳定,则删除该点。
[0107] 根据一示例性实施例,可以使用基于局部匹配的方式进一步确认跟踪点和匹配点的相似程度,如相似性大于第三预设阈值,则认为是跟踪成功的点,否则确定为跟踪失败的点。具体匹配例如可以采用图片相关性算法(NCC,Normalized Cross Correlation)或像素平方和算法(SSD,Sum of Squared Differences)。
[0108] 对于跟踪失败的点,在该跟踪失败的点所在的局部区域(如w*w的窗口内)查找是否有NCC或SSD得分满足第四预设阈值的点,如有则认为该点为可用的跟踪点,如没有,则判断当前跟踪失败的点是否为一个角点,如是一个角点则作为补充点参与下一帧的跟踪,如否,则从跟踪点集中删除该跟踪失败的点。
[0109] 之后,进行姿态计算过程。具体而言,可以根据匹配点集或跟踪点集计算当前帧和目标图片的姿态变换并进行优化计算。计算相机位姿变换时,可以使用n点透视PnP(Perspective-n-Point)算法。
[0110] 具体而言,可以根据当前帧的匹配点集或跟踪点集构建3D-2D匹配,使用PnP算法估计初始位姿矩阵T,然后根据初始位姿矩阵构建基于最小二乘的位姿变换T(R|t)重投影误差优化函数:
[0111]
[0112] 其中ξ为变换矩阵T的李代数形式,ui为光流匹配得到的识别图片匹配点像素坐标,K为相机内参矩阵,ξ∧表示李代数的反对称矩阵,Pi为目标图片匹配点的3D坐标,表示目标图片匹配3D点根据初始变换矩阵投影到当前帧图片的过程,其中si为3D点exp(ξ∧)Pi的深度值。
[0113] 通过相机位姿变换,可以获得优化的位姿变换。基于优化后的位姿,可以实现相机坐标与世界坐标之间的变换并通过虚拟现实实现AR效果。
[0114] 之后,判断跟踪点集数量是否小于第一预设阈值,即确定是否需要补点;如是,则在当前帧图片中提取特征点(例如,可以是角点),并根据位姿变换T计算约束条件筛选特征点,并作为跟踪点集的补充。
[0115] 如果不需要补充跟踪点集,则确定是否需要重置,即确定是否需要重新对光流跟踪算法的跟踪点集进行初始化;如果需要,则重新初始化跟踪点集;如果不需要,则判断补充后的跟踪点集是否大于或等于第一预设阈值,如是,则将跟踪点集、当前帧图像和变换矩阵作为跟踪结果,并返回上述的步骤继续获得实时帧;如否,则认为跟踪不稳定,返回识别模块继续进行图片识别。
[0116] 本公开实施例中跟踪点集的补充过程如下:
[0117] 当跟踪点集数量小于第一预设阈值时,则在全图中提取跟踪点集,如图4中的(a)图所示。
[0118] 根据位姿变换矩阵计算原始目标图片的顶点在图像帧中的位置,如图4所示。目标图片是指预先建立的训练图片库中的训练图片,目标图片的原始大小是已知的。例如如果目标图片的初始大小是468*668,该图片具有长方形形状,则在以图像帧的左上角为原点的坐标系中,目标图片的四个顶点的坐标是已知的。对于当前帧,可以获取目标图片的四个顶点在图像帧中的投影作为目标图片的四个顶点在图像帧中的位置。目标图片的顶点可以包括多个。例如,可以取目标图片的四个顶点。
[0119] 确定四个顶点的编号。计算规则可以如下所述:以图4中左上角的点为原点,四个点中y值(该y值是纵坐标)最小的两个点为a、b点,ab中x值最小的点为a点(即第一顶点),x值较大的点为b点(即第二顶点);四个点中y值最大的两个点为c、d点,其中x值小的点为c点(即第三顶点),x值较大的点为d点(即第四顶点)。不管视角如何变换,确定出来的四个顶点的顺序始终保持为abdc,如图4中的(b)(c)(d)图所示。
[0120] 接下来,确定这四个顶点所围成的多边形(在四个顶点的情况下是四边形),并将多边形内部的点确定为补充跟踪点。例如,可以分别计算ab、bd、dc、ca四条直线的直线方程。
[0121] 根据直线方程构建约束条件筛选全图点集中位于四边形内部的跟踪点,约束条件例如可以是:根据ab、bd、dc、ca直线方程的确定四边形内侧,筛选位于四边形内侧的点的补充点集。需要注意的是ab的下方和cd的上方始终为四边形内侧,当ac直线斜率为正时,直线下方为四边形内侧,斜率为负时上方为四边形内侧,直线bd与直线ac相反,当斜率为正时上方为四边形内侧,当斜率为负时下方为四边形内侧。
[0122] 将四边形内的补充点集汇合到跟踪点集,完成补点过程。
[0123] 在本公开的实施例中,进行识别的过程(即对当前帧进行图片识别以确定当前帧是否包含目标图片的步骤)可以采用图片识别方法。
[0124] 根据其他的实施例,进行图片识别的过程也可以采用基于词袋BoW(Bag of Word)的方法。
[0125] 图像检索技术在模式识别、SLAM(simultaneous localization and mapping,即时定位与地图构建)以及人工智能等领域应用很广泛。
[0126] 图像检索技术(即图像识别)的基本概念为:给定一张待检索图像,从特定图像库中检索出与待检索图像相似的图片或图片集合。目前的图像检索技术例如基于词袋模型的图像检索技术中,在图片库规模变大时,为了增加图像向量的可区分性,通常需要非常大的视觉单词规模,在图像检索阶段,则需要预先加载由这些视觉单词组成的视觉词典,这将极大地增加内存的占用,难以满足在移动端部署的需求。
[0127] 词袋模型是图像检索领域的常用算法,该算法首先提取训练图片的局部特征并构建局部特征的特征描述符,然后通过聚类算法训练对特征描述符进行聚类,生成视觉词典。然后,通过KNN(K-NearestNeighbor,K最近邻)算法量化视觉特征,最后获得经过TF-IDF(term frequency–inverse document frequency,词频-逆文档频率)加权的图片直方图向量。对于待检索图像使用同样的方法获取待检索图像的图像直方图向量,并使用距离计算的方式判断训练图片与待检索图像是否相似,越相似的图片其直方图向量距离越近,基于计算的直方图向量之间的距离大小输出相似图片列表。
[0128] 图5示出了根据一种技术方案中的图片直方图的示意图。参照图5所示,针对人脸、自行车吉他这三个图片,提取出相似的特征(或者相似的特征合并为同一类),构造一个视觉词典,该词典中包含4个视觉单词,即视觉词典={1“.自行车”、2.“人脸”、3“.吉他”、4.“人脸类”},因此,人脸、自行车以及吉他这三个图片都可以用一个4维向量表示,最后根据三个图片相应特征出现的次数画成了上面对应的直方图。在图5中,3幅图片根据4个视觉单词生成的图片直方图,相似的图片将具有相似的直方图向量。
[0129] 然而,在词袋模型技术方案中,为了达到较好的检索效果通常需要训练一个较大规模的视觉词典,一本效果较高的视觉词典可以达到几十甚至上百兆存储规模,这将极大的增加内存的占用,难以满足在移动端部署的需求。
[0130] 基于上述内容,在本发明的示例实施例中,图像处理方法可以包括以下步骤(参见图6):
[0131] 步骤S10.获取图片训练集,并提取所述图片训练集中各训练图片的视觉特征;
[0132] 步骤S20.对所述视觉特征进行聚类,生成以聚类中心作为视觉单词组成的视觉词典,并将所述视觉词典的数量加1;
[0133] S30.判断所述视觉词典的数量是否等于预定数量,若是,则输出所生成的所述预定数量个视觉词典,若否,则执行步骤S40;
[0134] S40.确定所述视觉词典中与所述视觉特征距离最近的视觉单词;
[0135] S50.计算所述视觉特征与所述距离最近的视觉单词的残差,将所述残差作为新的所述视觉特征,并返回至步骤S20。
[0136] 根据图6的示例实施例中的图像处理方法,一方面,对视觉特征或者视觉特征与视觉单词的残差进行聚类,生成以聚类中心作为视觉单词组成的视觉词典,能够生成预定数量个同等规模的并行视觉词典;另一方面,由于任一视觉特征可以同时使用预定数量个并行视觉词典进行索引,从而能够显著降低视觉词典中视觉单词的规模,进而能够显著降低视觉词典的存储规模,便于在移动端进行部署。
[0137] 下面,将对图6的示例实施例中的图像处理方法进行详细的描述。
[0138] 在步骤S10中,获取图片训练集,并提取所述图片训练集中各训练图片的视觉特征。
[0139] 在示例实施例中,从服务器的图片数据库中获取多个图片作为图片训练集。图片数据库中的图片可以包括景图片、人物图片、商品图片、建筑图片、动物图片以及植物图片等,本发明对此不进行特殊限定。
[0140] 进一步地,可以基于SIFT(Scale-Invariant Feature,尺度不变特征)算法、SURF(Speeded Up Robust Features,加速稳健特征)算法或ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述)运算提取训练图片的对应的视觉特征,但是本发明的训练图片的视觉特征提取方法不限于此,例如,还可以提取训练图片的纹理图特征、方向梯度直方图特征、颜色直方图特征等。
[0141] 在步骤S20中,对所述视觉特征进行聚类,生成以聚类中心作为视觉单词组成的视觉词典,并将所述视觉词典的数量加1。
[0142] 在示例实施例中,可以通过聚类运算对各训练图片的视觉特征进行聚类。聚类运算可以包括K均值聚类和K中心点聚类,但是本发明的实施例不限于此,例如,聚类运算还可以为层次聚类运算和基于密度的聚类运算,这同样在本发明的保护范围内。
[0143] 进一步地,将对各训练图片的视觉特征进行聚类获得的各类簇的聚类中心作为视觉单词,由视觉单词组成视觉单词,例如在聚类中心K等于8时有8个视觉单词,由8个视觉单词组成视觉词典。在初始情况下,可以将视觉词典的数量设为0,在每一次生成视觉词典时,将视觉词典的数量加1。
[0144] 在步骤S30中,判断所述视觉词典的数量是否等于预定数量,若是,则输出所生成的所述预定数量个视觉词典,若否,则执行步骤S40。
[0145] 在示例实施例中,设视觉词典的预定数量为M,在每次生成视觉词典时,可以判断视觉词典的数量是否等于M,在判定视觉词典的数量等于M时,输出所生成的M个视觉词典;在判定视觉词典的数量不等于M时,执行下一步骤S40。每本视觉词典中存储有相同规模的视觉单词。
[0146] 需要说明的是,可以根据图片训练集的规模、内存大小等因素确定视觉词典的预定数量M,例如,图片训练集的规模较小、内存较大时,可以将预定数量M设为3。
[0147] 在步骤S40中,确定所述视觉词典中与所述视觉特征距离最近的视觉单词。
[0148] 在示例实施例中,可以计算视觉特征的向量与视觉词典中各视觉单词的向量的距离,得到与该视觉特征距离最近的视觉单词。视觉特征与视觉单词的距离可以为海明距离、欧式距离、余弦距离,但是本发明的示例性实施例中的距离不限于此,例如距离还可以为氏距离、曼哈顿距离等。
[0149] 接下来,在S50中,计算所述视觉特征与所述距离最近的视觉单词的残差,将所述残差作为新的所述视觉特征,并返回至步骤S20。
[0150] 在示例实施例中,可以计算视觉特征与距其距离最近的视觉单词的差,将所计算出的视觉特征与距其距离最近的视觉单词的差作为新的视觉特征,并返回至步骤S20。
[0151] 在步骤S20中,对由视觉特征与距其距离最近的视觉单词的差组成新的视觉特征进行聚类,生成以聚类中心作为视觉单词组成的视觉词典,循环直到在步骤S30中获取到预定数量的视觉词典为止。
[0152] 图7示出了根据本发明的一些实施例的从三个视觉词典中索引视觉特征的示意图。
[0153] 参照图7所示,在视觉词典1、视觉词典2以及视觉词典3分别存储了K=8个视觉单词,视觉词典1是对视觉特征集进行聚类获得的视觉词典,视觉词典2和视觉词典3是对视觉特征与上一视觉词典里的距离最近的视觉单词的残差组成的残差特征集进行聚类获得的视觉词典。
[0154] 在对视觉特征进行索引时,分别依次从视觉词典1、视觉词典2以及视觉词典3中获取该视觉特征的索引。例如,在视觉词典1中获得与该视觉特征距离最近的视觉单词的索引为5;计算该视觉特征与视觉词典1中距离最近的视觉单词的残差,在视觉词典2中获得与该残差距离最近的视觉单词的索引为5;将该残差作为新的视觉特征,计算新的视觉特征与在视觉词典2中距离最近的视觉单词的残差,在视觉词典3中获得与该残差距离最近的视觉单词的索引为4,从视觉词典1至视觉词典3中获得该视觉特征的最终索引可以为554,相当于一个视觉词典中第365个视觉单词的索引即相当于通过视觉词典的笛卡尔乘积的方式获得视觉特征的最终索引。
[0155] 由于任一视觉特征都可以使用M=3个视觉单词进行索引,3本视觉词典的索引值的范围为KM=83=512,但3本视觉词典需要存储的视觉单词的数量仅为K*M=24个,相比仅使用一个视觉词典的情况,极大地降低了视觉词典的存储规模,从而便于在移动端进行部署。
[0156] 图8示出了根据本发明的一示例性实施例的图像处理方法的流程示意图。
[0157] 参照图8所示,在步骤S410中,获取多个图片作为图片训练集,建立训练图片的数据库。例如,可以获取从服务器的图片数据库中获取多个图片作为图片训练集,建立训练图片的数据库。
[0158] 在步骤S420中,提取图片训练集中各训练图片的视觉特征,例如,尺度不变特征、加速稳健特征、颜色直方图特征或纹理图特征等特征。
[0159] 在步骤S430中,通过聚类运算对提取的各训练图片的视觉特征进行聚类,将聚类得到的各类簇的聚类中心作为视觉单词,由视觉单词组成视觉词典。聚类运算可以包括K均值聚类和K中心点聚类,但是本发明的实施例不限于此,例如,聚类运算还可以为层次聚类运算和基于密度的聚类运算,这同样在本发明的保护范围内。
[0160] 在步骤S440中,判断视觉词典的数量是否达到预定数量M,若是,则进行至步骤S470,若否,则执行步骤S450。可以根据图片训练集的规模、内存大小等因素确定视觉词典的预定数量M,例如,图片训练集的规模较小、内存较大时,可以将预定数量M设为3。
[0161] 在步骤S450中,对步骤S420中所提取的视觉特征进行量化,即计算视觉特征与视觉词典中各视觉单词的距离,确定与该视觉特征距离最近的视觉单词。视觉特征与视觉单词的距离可以为海明距离、欧式距离、余弦距离,但是本发明的示例性实施例中的距离不限于此,例如距离还可以为马氏距离、曼哈顿距离等。
[0162] 在步骤S460中,计算视觉特征与距其距离最近的视觉单词的残差,将获得的各视觉特征与距其距离最近的视觉单词的残差作为新的视觉特征,将所述新的视觉特征输入至步骤S430。在步骤S430中,对由视觉特征与视觉单词的残差组成的残差集进行聚类,生成以聚类中心作为视觉单词组成的新的视觉词典,循环直到在步骤S440中获取到预定数量的视觉词典为止。
[0163] 在步骤S470中,输出在步骤S440中训练完成的M本视觉词典。每本视觉词典中存储有相同数量的视觉单词。
[0164] 在步骤S480中,基于在步骤S470中输出的M本视觉词典确定训练图片的各视觉特征的索引,统计训练图片的各视觉特征的索引的TF-IDF(term frequency–inverse document frequency,词频-逆文档频率)权重,即相当于通过M本视觉词典的笛卡尔乘积确定视觉特征的索引的TF-IDF权重。具体而言,可以从M本视觉词典中确定与训练图片的视觉特征距离最近的M个视觉单词,基于M个视觉单词的索引确定视觉特征的最终索引,统计训练图片的各视觉特征的最终索引的词频-逆文档频率权重。
[0165] 其中,视觉特征的词频反映视觉特征在本图片中出现的次数,视觉特征的逆文档频率反应该视觉特征对图片的区分能,逆文档频率越大,该视觉特征对图片的区分能力越强。将视觉特征的词频与视觉特征的逆文档频率相乘即可得到视觉特征的词频-逆文档频率权重。
[0166] 在步骤S490中,基于训练图片的视觉特征的索引的TF-IDF权重获得各训练图片的BoW向量(Bag of words,词袋向量)。将训练图片的各视觉特征的索引的TF-IDF权重组成训练图片的词袋向量。
[0167] 图9示出了根据本发明的一示例性施例的图像处理方法的流程示意图。
[0168] 参照图9所示,在步骤S510中,获取上述图5的示例实施例中输出的M本视觉词典。
[0169] 在步骤S520中,提取待检索图像的视觉特征,例如,尺度不变特征、加速稳健特征、颜色直方图特征或纹理图等特征。对于本公开的实施例而言,对于每一帧进行图片识别的时候,每一帧都可以看做是待检索图像。
[0170] 在步骤S530中,根据获取的M本视觉词典计算待检索图像的视觉特征的索引的TF-IDF权重,即相当于通过M本视觉词典的笛卡尔乘积确定视觉特征的TF-IDF权重。例如,可以依次从M本视觉词典中确定与训练图片的视觉特征距离最近的M个视觉单词,基于M个视觉单词的索引确定该视觉特征的最终索引,统计训练图片的各视觉特征的最终索引的词频-逆文档频率权重。
[0171] 在步骤S540中,基于待检索图像的各视觉特征的索引的TF-IDF权重获得待检索图像的BoW向量。
[0172] 在步骤S550中,获取在上述示例实施例中生成的训练图片的BoW向量。
[0173] 在步骤S560中,计算待检索图像的BoW向量与各训练图片的BoW向量的距离,基于所计算的距离确定待检索图像与各训练图片的相似性。BoW向量之间的距离可以为海明距离、欧式距离、余弦距离,但是本发明的示例性实施例中的距离不限于此,例如距离还可以为马氏距离、曼哈顿距离等。
[0174] 在步骤S570中,输出与待检索图像的相似性大于预定阈值的训练图片,即完成了图像检索过程。
[0175] 进一步地,在下表1中分析了采用本发明的示例实施例的方法、原始词袋模式、树形结构的视觉词典模型的算法复杂度的比较。算法复杂度分析:BoW指原始词袋模型,VT(Vocabulary Tree)指树形结构的视觉词典。
[0176]
[0177] 表1
[0178] 参照表1所示,其中,原始词袋模型的空间复杂度为K的M次方阶,时间复杂度为K的M次方阶,树形结构的视觉词典的空间复杂度为K的M次方阶、时间复杂度为K的线性阶,本发明的示例实施例的空间复杂度为K的线性阶,时间复杂度为K的线性阶,因此,本发明的示例实施例可以显著降低空间复杂度和时间复杂度,提高图像处理效率。
[0179] 图10示出了根据本公开实施例的训练部分和识别过程的整体框图。
[0180] 首先,对于训练部分,在1001,建立训练图片数据库,图片数据库中的每个训练图片可以具有相应的ID。
[0181] 在1002,计算训练图片的BoW向量,此处的训练图片就是本公开实施例的目标图片。
[0182] 图10中概括示意了训练部分的主要步骤1001和1002,关于训练部分的具体步骤可以参见前文关于图片训练的详细描述。
[0183] 对于识别部分,在1003,获取当前的图像帧。
[0184] 在1004,基于与获取训练图片的BoW向量类似的方法获取当前帧的BoW向量。
[0185] 在1005,确定当前帧与训练图片的相似性。如果当前帧与某一或某些训练图片相似(例如,相似度大于某一预设阈值),则在1007进行特征匹配。如果没有与当前帧相似的训练图片,则认为在当前帧中没有识别到目标图片,继续步骤1003,对后续的图像帧进行图片识别。
[0186] 在步骤1007进行特征匹配的过程中可以使用正向索引加快匹配速度。确定特征匹配后最终的匹配点集是否大于某一预设阈值(步骤1008);如果大于,则认为识别到了目标(即与当前帧相似的训练图片),输出匹配特征点集(步骤1009);否则,继续步骤1003,对后续的图像帧进行图片识别。
[0187] 在本公开实施例提供的方法中,采用补点策略来对跟踪点集进行补充,通过计算四边形约束筛选新的跟踪点集,保证长时间跟踪的稳定性。在另外的实施例中,也可以采用四边形(或其他多边形)外部的点(即四边形圈成的区域之外的点)作为跟踪点,尤其是当目标图片相对于背景保持静止或不动的情况下可以采用这种多边形外部的点来补充跟踪点集,因为对于目标图片相对于背景保持静止或不动的情况下,即使采用多边形外部的点也不会影响跟踪稳定性。
[0188] 另外,在对某一帧的跟踪点筛选的过程中,可以使用前后向匹配方法滤除误差较大的点。
[0189] 另外,还可以统计特征点的跟踪次数将跟踪次数较多的点删除。具体而言,对于基于所述初始跟踪点集使用金字塔光流算法确定的所述下一帧的跟踪点集中跟踪成功的点,确定所述跟踪成功的点的成功次数;将成功次数超过第五预设阈值的跟踪成功的点从所述跟踪点集中删除。这是因为发明人在实现本公开的过程中发现跟踪过程中由于漂移使得跟踪时间越久的点漂移越严重,通过将跟踪成功次数较多的点删除,可以减少跟踪点集中跟踪点的漂移。
[0190] 另外,在进行图片识别的过程中可以采用基于BoW方法的图片识别,使得减少所需的视觉词典存储空间。
[0191] 而且,在本公开的实施例中,可以采用基于BoW方法的识别结果来初始化光流跟踪算法,即采用第一次识别到目标图片的帧作为参考帧,并用参考帧的匹配点集来作为Z=0的3D点集。传统的BoW算法需要较大规模的视觉词典存储空间,无法使用传统BoW算法的结果来初始化光流跟踪。而采用本公开实施例中提出的改进的BoW方法,减少了视觉词典存储空间,因而可以是该基于BoW方法进行图片识别的结果来初始化光流算法。
[0192] 需要说明的是,在本申请的实施例中提到了多个预设阈值(例如第一预设阈值到第五预设阈值),这些预设阈值可以基于实际的应用场景来设计,本申请对此没有特定限制。
[0193] 为了验证本公开算法的有效性,给出了算法基于C++实现的实验结果。
[0194] 首先,验证了本公开基于笛卡尔乘积BoW算法的识别效果和存储性能。表2展示了基于笛卡尔乘积的BoW算法对视觉词典的压缩性能与传统BoW算法的对比,可以看出,基于笛卡儿积的BoW算法在不增加量化复杂度的情况下,极大的压缩了视觉词典的存储规模以及内存占用。另一方面,测试了本公开算法在小规模图像数据集上的识别结果,我们从Ukbench图片数据库中挑选了50,100,150张图片分别进行测试,图片内容如图12所示,实验结果如表3所示,可以看出本公开算法较传统BoW算法识别精度有所降低,但仍在可接受的范围内,经初步分析,造成识别精度下降的主要原因为残差视觉词典相较于原始视觉词典能量占比有所下降,因此残差层级越高视觉词典区分力越低,造成检索精度下降。
[0195] 表2:BoW,VT以及本公开算法对比试验,其中d为特征维度。实测中使用ORB视觉特征K=10,M=6
[0196]
[0197] 表3:BoW,VT和本公开算法在小规模数据库上识别效果对比.
[0198]
[0199] 另外,为了验证本公开基于光流跟踪策略的有效性,首先设计了与光流+PNP算法框架的对比试验,固定Marker点和自然图片的相对位置,在跟踪过程中使用位姿变换预测Marker点的位置,并对Marker点进行检测,比较四个角点的检测和预测误差:其中i表示第i帧,xj表示第j个角点得预测值,xd表示对应角点的检测值
[0200]
[0201] 图13表示两种算法框架的跟踪过程中点的跟踪精度误差变化情况,可见随着跟踪的进行本公开的算法具备更好的跟踪精度和算法鲁棒性。
[0202] 事实上,当长时间跟踪时本公开算法仍然有效,尤其是在目标图片发生短暂的部分遮挡时,当遮挡结束时再次获得足够多的用于相机位姿计算图像跟踪点,我们统计了在长时间跟踪过程中跟踪点的变化情况,如图14所示,本公开算法可以在跟踪点集较小时及时补充跟踪点集,保证跟踪的稳定性。
[0203] 图15示出了根据本公开一示例性实施例的图像处理装置的框图。该装置包括:第一跟踪模块1601,用于在当前帧中包含目标图片的情况下,以所述当前帧作为跟踪的参考帧,以所述当前帧中与所述目标图片匹配的匹配点集作为初始跟踪点集,进行目标图片的跟踪;第二跟踪模块1602,用于继续获得下一帧,基于所述初始跟踪点集确定所述下一帧的跟踪点集;确定模块1603,用于确定所述跟踪点集中跟踪点的数量是否小于第一预设阈值;补充模块1604,用于在所述跟踪点集中跟踪点的数量小于第一预设阈值的情况下,确定补充跟踪点并添加至所述跟踪点集。
[0204] 关于图15中各个模块的实现过程,可以参见前文关于方法实施例的描述,此处不再赘述。图15中的各个模块可以通过软件硬件或其组合实现。
[0205] 本发明实施例还提供计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例所提供方法的步骤。
[0206] 图16示出了根据本公开一示例性实施例的图像处理装置的框图。该装置可以包括存储器801和处理器802。存储器801上存储有可在处理器802上运行的计算机程序指令。处理器802执行计算机程序可以实现本公开描述的方法。
[0207] 存储器801可以是各种由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0208] 该装置800可以是具备计算和处理能力的各种设备,除了存储器801和处理器802之外,还可以包括各种输入设备(例如用户界面键盘等)、各种输出设备(例如扬声器等)、以及显示设备,在此不再赘述。
[0209] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0210] 此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0211] 本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈