快速且稳健的相机位置排序方法

文档序号:10489768阅读:358来源:国知局
快速且稳健的相机位置排序方法
【专利摘要】本公开涉及快速且稳健的相机位置排序方法。描述了根据由一组相机捕获的视频以顺时针或逆时针顺序估计该组相机的位置的方法。在一些实施例中,相机被假定为是固定的,没有或具有非常轻微的倾斜角并且没有滚转角(在每个相机图像中地平线是水平的)。每个相邻(最靠近的)相机对之间的方位(滚转角)差能够高达45度。每个相机被假定具有与至少一个其它相机重叠的视图。除了第一个和最后一个相机只在一侧具有一个相邻相机之外,其它的每个相机都具有一个右侧相邻相机和一个左侧相邻相机。相机的位置则能够被表达为逆时针的唯一列表。输入视频被假定是时间上同步的。
【专利说明】
快速且稳健的相机位置排序方法
技术领域
[0001] 本发明涉及相机。更具体地,本发明涉及相机位置排序。
【背景技术】
[0002] 相机位置排序已在假定相机之间的方位差很小(例如,〈15度)的情况下通过估计 所有相机的内在和外在参数以及找到的3D关键点而得到解决。这种类型的方法通常被称为 "从运动恢复结构"(structure from motion,SfM),其需要非线性方程计算和优化的密集 的计算。对于较大的方位差,主流方法是在一段时间上跟踪和识别共同移动的对象,使得每 个相邻相机之间的相对位置能够被推断出来。

【发明内容】

[0003] 本文描述了根据由一组相机捕获的视频以顺时针或逆时针顺序估计该组相机的 位置的方法。在一些实施例中,相机被假定为是固定的,没有或具有非常轻微的倾斜角并且 没有滚转角(在每个相机图像中地平线是水平的)。每个相邻(最靠近的)相机对之间的方位 (滚转角)的差能够高达45度。每个相机被假定具有与至少一个其它相机重叠的视图。除了 第一个和最后一个相机只在一侧具有一个相邻相机之外,其它的每个相机都具有一个右侧 相邻相机和一个左侧相邻相机。相机的位置则能够被表达为唯一逆时针列表。输入视频被 假定是时间上同步的。
[0004] 在一个方面中,编程在设备的非临时性存储器中的方法包括执行背景提取、执行 成对相机对应提取、识别相邻相机、确定相邻相机定位以及执行相机列表拓扑推断。该方法 还包括准备设置和输入。执行背景提取包括背景建模和确定可靠的移动对象。执行背景提 取产生包括相机的移动对象区域的背景提取输出。执行成对相机对应提取包括利用子采样 的关键点检测、关键点描述符提取和成对对应。执行成对相机对应提取利用背景提取输出 和图像作为输入。执行成对相机对应提取输出第一相机和第二相机之间的对应关键点。识 别相邻相机利用第一相机和第二相机之间的关键点作为输入。识别相邻相机输出二进制相 邻相机地图。确定相邻相机定位利用相机的移动对象区域、第一相机与第二相机之间的对 应关键点以及二进制相邻相机地图作为输入。确定相邻相机定位输出相邻相机相对方向地 图。拓扑推断包括利用循环求解的关系交换、最接近邻居细化和后关系交换。拓扑推断利用 相邻相机相对方向地图和第一相机与第二相机之间的对应关键点作为输入。拓扑推断输出 相机列表拓扑。
[0005] 在另一个方面中,系统包括:多个相机设备,其中每个相机设备都被配置用于捕获 视频内容;以及计算设备,其被配置用于:接收视频内容、执行视频内容的背景提取、执行成 对相机对应提取、识别所述多个相机设备中的相邻相机、确定相邻相机定位以及执行相机 列表拓扑推断。该计算设备还被配置用于准备设置和输入。执行背景提取包括背景建模和 确定可靠的移动对象。执行背景提取产生包括相机的移动对象区域的背景提取输出。执行 成对相机对应提取包括利用子采样的关键点检测、关键点描述符提取和成对对应。执行成 对相机对应提取利用背景提取输出和图像作为输入。执行成对相机对应提取输出第一相机 和第二相机之间的对应关键点。识别相邻相机利用第一相机和第二相机之间的关键点作为 输入。识别相邻相机输出二进制相邻相机地图。确定相邻相机定位利用相机的移动对象区 域、第一相机与第二相机之间的对应关键点以及二进制相邻相机地图作为输入。确定相邻 相机定位输出相邻相机相对方向地图。拓扑推断包括利用循环求解的关系交换、最接近邻 居细化和后关系交换。拓扑推断利用相邻相机相对方向地图和第一相机与第二相机之间的 对应关键点作为输入。拓扑推断输出相机列表拓扑。
[0006] 在另一个方面中,相机设备包括透镜、被配置用于获取视频内容的传感器、用于存 储应用的非临时性存储器、以及耦合到存储器的处理组件,其中应用用于:接收视频内容、 执行视频内容的背景提取、执行成对相机对应提取、识别多个相机设备中的相邻相机、确定 相邻相机定位以及执行相机列表拓扑推断,其中处理组件被配置用于处理应用。该应用还 被配置用于准备设置和输入。执行背景提取包括背景建模和确定可靠的移动对象。执行背 景提取产生包括相机的移动对象区域的背景提取输出。执行成对相机对应提取包括利用子 采样的关键点检测、关键点描述符提取和成对对应。执行成对相机对应提取利用背景提取 输出和图像作为输入。执行成对相机对应提取输出第一相机和第二相机之间的对应关键 点。识别相邻相机利用第一相机和第二相机之间的关键点作为输入。识别相邻相机输出二 进制相邻相机地图。确定相邻相机定位利用相机的移动对象区域、第一相机与第二相机之 间的对应关键点以及二进制相邻相机地图作为输入。确定相邻相机定位输出相邻相机相对 方向地图。拓扑推断包括利用循环求解的关系交换、最接近邻居细化和后关系交换。拓扑推 断利用相邻相机相对方向地图和第一相机与第二相机之间的对应关键点作为输入。拓扑推 断输出相机列表拓扑。
【附图说明】
[0007] 图1示出根据一些实施例的多个相机配置的示例性配置。
[0008] 图2示出根据一些实施例的在时间和空间中布置来自多个视频相机的视频内容的 示例性示图。
[0009] 图3示出根据一些实施例的过程流程图。
[0010] 图4示出根据一些实施例的描述背景提取的图像。
[0011] 图5示出根据一些实施例的可靠的移动对象子步骤的示图。
[0012] 图6示出根据一些实施例的关键点检测的过程流程图。
[0013] 图7示出根据一些实施例的为背景使用Agrid的关键点子采样的图像。
[0014] 图8示出根据一些实施例的使用Agrid的关键点子采样的图像。
[0015] 图9示出根据一些实施例的成对对应的示图。
[0016] 图10示出根据一些实施例的成对对应的示图。
[0017]图11示出根据一些实施例的在Ci的图像中定义极线的Fxj的示图。
[0018]图12示出根据一些实施例的检查C1中的点-线距离并接受距离》0的对应的示图。
[0019] 图13示出根据一些实施例的相邻相机识别的示图。
[0020] 图14示出根据一些实施例的对应的例子。
[0021] 图15示出根据一些实施例的相对于相机i和相机j之间的距离用于相机i的^的例 子。
[0022] 图16示出根据一些实施例的无向图到有向图的示图。
[0023] 图17示出根据一些实施例的被分离为部分的图像。
[0024] 图18示出根据一些实施例的定义唯一有向图的Plr的例子。
[0025] 图19示出根据一些实施例的通过Plr的多种类型的拓扑。
[0026] 图20示出根据一些实施例的利用循环求解的关系交换的示图。
[0027] 图21示出根据一些实施例的邻居细化的示图。
[0028] 图22示出根据一些实施例的邻居细化的示图。
[0029] 图23示出根据一些实施例的指示丢失数据的示图。
[0030] 图24示出根据一些实施例的重新布置的示图。
[0031]图25示出根据一些实施例的重新布置的流程图。
[0032]图26示出根据一些实施例的收敛的示图。
[0033] 图27示出根据一些实施例的被配置为实现相机位置排序方法的示例性计算设备 的框图。
[0034] 图28示出根据一些实施例的设备的网络的示图。
【具体实施方式】
[0035] 本文描述了根据由一组相机捕获的视频估计这组相机位置(以顺时针或逆时针的 顺序)的方法。在一些实施例中,相机被假定为是固定的,没有或具有非常轻微的倾斜角并 且没有滚转角(在每个相机图像中地平线是水平的)。在一些实施例中,每个相邻(最靠近 的)相机对之间的方位(滚转角)差能够高达45度。每个相机被假定具有与至少一个其它相 机重叠的视图。除了第一个和最后一个相机只在一侧具有一个相邻相机之外,其它的每个 相机都具有一个右侧相邻相机和一个左侧相邻相机。相机的位置则能够被表达为唯一逆时 针列表。输入视频被假定是时间上同步的。
[0036] 通过只使用相机对的所有组合之间的对应点或块,该方法执行:(1)相邻相机识 另IJ,以减少下面的计算,(2)相邻相机定位,以在每个相邻相机对之间标记左/右关系,及(3) 按照本地的成对方向进行的全局相机列表拓扑推断,其中包括错误检测和恢复以容忍少量 的错误相机对关系。该方法是快速的,因为它不包含复杂的相机参数估计。由于该方法的错 误检测/恢复机制,因此它也是稳健的。
[0037] 描述了足以在大方位差下识别相机排序的较简单的方法和特征,而不是全部3D点 和相机参数的复杂估算。虽然移动对象能够有助于这个问题,但是该方法能够处理在场景 中没有移动对象的情况。
[0038] 假设存在N个相机,相机位置排序方法包括:
[0039] 1.快速相邻相机识别在这个组件中执行全面的比较0(N~2)并且受益于计算效率。
[0040] 2.通过移动对象和背景之间的运动流的差进行快速相邻相机定位(左/右)。该方 法非常简单、快速,并且再一次没有明确的参数估算。
[0041 ] 3.利用错误检测和恢复通过少量几个相邻相机关系进行全局相机列表拓扑推断。 该方法是受相邻相机信息约束的基于交换的定序。它包括解决循环条件,这可能无法通过 原始交换算法处理。该方法还检测和恢复丢失的相机对,因此最终的结果是全局最优的。
[0042] 此外,不存在如由常规方法执行的相机和3D点参数的估算;相反,利用了统计信 息。
[0043] 利用了对应的好处的快速相邻相机识别具有交叉验证步骤,并且全局相机列表拓 扑推断能够检测到错误、恢复错误和计算丢失的数据。两者对错误的输入都是稳健的。
[0044] 只要相邻相机没有朝外(极少的重叠),快速相邻相机定位就能够仅仅基于背景信 息计算左/右关系。
[0045] 本文描述的方法能够被应用到(1)交互式相机选择,以从不同的视角查看同一事 件,(2)视频监控中的自动相机网络组织,(3)根据视频库存(stock)所捕获的位置自动组织 视频库存,及(4)作为SfM之前的预处理阶段来实现更快的相机网络定位,这能够在3D体育 视频、视图内插和点云生成中使用。
[0046] 能够利用通过基于GMM的背景建模在短视频持续时间(20秒)上的背景/移动对象 提取。也能够使用提取移动对象像素的其它方法。
[0047] 使用现有关键点的快速相机对对应方法,诸如SIFT、SURF、BRISK或FREAK能够被利 用。SIFT和SURF生成围绕关键点的网格并将每个网格小区划分成子网格。在每个子网格小 区处,计算梯度,并且梯度通过角度被分区(bin)到直方图中,其计数增加了梯度的数量,所 有的都通过高斯加权。BRISK是512位的二进制描述符,其在靠近关键点的点的选择图案上 计算加权的高斯平均。取决于高斯窗口对中哪个窗口较大,高斯窗口的具体对的值被比较。 FREAK评估在围绕关键点的位置处的43个加权的高斯,但是通过高斯形成的图案在生物上 受眼睛中的视网膜图案的启发。至于关键点检测,获得均匀分布的关键点的方法是有利的, 诸如基于网格的关键点采样。也可以用提供对应点/块的其它方法。如果可以得到具有分割 信息的对应块,则能够使用相机对之间的更好匹配。仍然,能够使用计算两个图像之间的相 似性的其它方法,以决定两个相机是否能够被视为相邻候选者。
[0048]相邻相机候选者交叉验证能够利用k-NN关系完成。更复杂的实现可以包括双向相 机对信息来计算相邻相机的概率。
[0049] 相机位置排序方法按时间和/或空间布置由多个相机捕获的视频。图1示出根据一 些实施例的多个相机配置的示例性配置。图2示出根据一些实施例的在时间和空间中布置 来自多个视频相机的视频内容的示例性示图。
[0050] 由多个相机捕获的时间上同步的视频是输入,并且全部相机顺时针或逆时针的次 序是输出。
[0051] 图3示出根据一些实施例的过程流程图。在步骤300,准备设置和输入。在步骤302, 执行背景提取。在步骤304,执行成对相机对应提取。在步骤306,识别相邻相机。在步骤308, 确定相邻相机定位。在步骤310,执行相机列表拓扑推断。在一些实施例中,实现了较少的或 附加的步骤。在一些实施例中,步骤的顺序被修改。本文更详细地描述了这些步骤。
[0052]以下是本文所使用的符号列表:
[0053] Nc:相机的数量
[0054] Ci:相机 i
[0055] Nf:序列持续时间(按帧计)
[0056] R1:相机i的图像中的移动对象区域(矩形)
[0057]~Ri:相机i的图像中的背景
[0058] K1:相机i的关键点集合
[0059] ki,j:相机i的第j个关键点。关键点是(x = x_坐标,y = y_坐标,S =尺度,〇 =方位)4 X 1向量。
[0060] Mij:相机i和相机j之间的对应关键点(对应)的集合 [00611 ki,m:对应m的图像i中的关键点
[0062] #x:离散变量X的计数
[0063] #Mlj:相机i和相机j之间的对应关键点的数量
[0064] P: Nc X Nc二进制相邻相机地图
[0065] PLR:Nc X XNc相邻相机相对方向地图
[0066] T:相机列表拓扑(逆时针)
[0067]在预处理中,读取每个相机的输入图像。背景提取步骤(302)使用原始的RGB 24-位图像,并且成对相机对应提取步骤(304)使用从原始RGB图像中转换的灰度(8位0~255) 图像。
[0068] 背景提取步骤(302)包括子步骤:背景建模和可靠移动对象。背景提取步骤被用来 为每个相机提取背景/移动对象区域,其能够被用于应用不同的参数或算法。图4示出根据 一些实施例的描述背景提取的图像。在400,一系列的帧被用来为每个像素位置训练背景模 型。在402,对于帧,每个像素与其背景模型进行比较。在404,移动区域被检测。在406,示出 了用于描述符提取的放大的边界框心。
[0069] 背景建模被利用来为每个像素建立背景强度模型,因此具有相对于背景的色差的 大多数移动对象能够被检测到。背景建模方法包括为每个像素生成高斯混合模型 (Gaussian Mixture Model,GMM)。每个像素的M个高斯被总计。假设每个数据都是从单个高 斯提取的(来自V中的恰好一个^能够等于1并且其它是零)。
[0070]
[0071] 其中,p是整体后验概率,f是数据,f是从中提取数据的高斯的指示符,是高斯m 的权重,.是高斯参数,并且是指示是否从该分量中提取的二进制。
[0072] 用于GMM模型的迭代算法被利用。对于初始化,由于存在未知数量的高斯分量(M), 因此使得M大些。对于每个高斯^存在未知的参数~,因此能够使用随机的猜测。迭代算法 同时更新M和参数,并且惩罚复杂的模型(以便降低M)。
[0073]对于背景建模,时间=1. . .Nf的RGB图像是输入。为所有的像素位置计算GMM模型。 任何像素i都具有其颜色模型参数,Qi= . . 。对于在时间t检 测的帧,如果P(I(i,t),〈阈值(公式1),则像素i是作为前景的标记,其中P(IJ1)是I(i,t) (像素i在时间t的强度)属于背景的概率。在GMM模型中,公式1能够通过检查平方 Maha lanob is距离来执行:
[0074] 如果对于所有111=卜1(1(1,〇,3)2>111」^*〇^2.,则前景。
[0075]输出是h(l)...h(Nf),用于时间= l...Nf的背景/前景遮蔽。在一些实施例中,在 背景提取过程之后选择t>l,因为初始的t = l帧或背景可能还不稳定。
[0076] 可靠的移动对象子步骤去除由于突然的相机抖动或噪音导致的假阳性移动对象 地区。可靠的移动对象子步骤使用持续时间和移动对象区域的时间上的运动同现来识别特 定于本地的运动,其基于假设:真正的运动将围绕图像的中心、存在运动像素的不均匀分 布。
[0077] 图5示出根据一些实施例的可靠的移动对象子步骤的示图。
[0078] 可靠的移动对象子步骤的输入从背景建模子步骤接收h(l) .. .h(Nf)。生成移动对 象概率随着时间的图像官方图。如果枪测到太的运动冈域,则伸用在时间t的较小的权重:
[0079]
[0080] H通过阈值(thresholding)来二进制化。输出是R'i = H°h(t),其中t是要分析的帧 的时间,其中"°"是逐元素乘积运算符。后处理被应用到以得到最终的心。
[0081] 成对相机对应提取步骤(304)包括若干个子步骤:利用子采样的关键点检测、关键 点描述符提取和成对对应。成对相机对应提取是用于提取由两个相机捕获的一对图像之间 的对应点,其中对应的点表示相同的真实3D位置。对应点的空间分布应该尽可能地均匀。
[0082] 图6示出根据一些实施例的关键点检测的过程流程图。关键点检测接收输入、在前 景上执行关键点检测并为背景执行自适应网格关键点检测,前景产生关键点集合1(_〇1^并 且背景产生关键点集合1(_0和1(_1',并且输出是Ki= U )。关键点是(X = x_ 坐标,y=y_坐标,S=尺度,〇=方位)4x 1向量。
[0083]关键点检测约束用于对应匹配的代表性样本。能够使用OpenCV的SIFT关键点检测 函数。整个图像或图像块是输入,并且输出是输入图像内部的关键点集合。例如,实现包括 通过DoG的尺度空间(seal e-space)极值检测、关键点定位、像那些具有低对比度或高边缘 响应的不稳定点被消除、及分配方位。
[0084] 因为背景通常比移动对象延伸得多得多,因此利用了关键点子采样,并且尽可能 完全地覆盖~心的关键点分布是优选的。不是单纯地在任何地方添加点,而是在均质区域 中检测到的关键点代表为子采样使用自适应网格(AGrid)的精确匹配。
[0085] 图7示出根据一些实施例的为背景使用AGrid的关键点子采样的图像。图8示出根 据一些实施例的使用AGrid的关键点子采样的图像。
[0086] 对于关键点子采样,前景和背景AGricU输入是图像i和来自可靠的移动对象子步 骤中的Ri。前景SIFT被用于为Ri确定K_obj。用于~R i中放大的空间关键点分布的AGrid包 括:初始地通过SIFT检测器设置关键点K_0(无网格),以获得在整个图像尺度检测到的~R 1 中的关键点,并且从整个图像开始,应用四叉树分解:如果强度的〇>〇_th,则划分块。最终划 分的单元被称为"小区(ce11)"。每个小区都具有相同的最小#keypo ints (关键点的计数)= 预期的#keyp〇intS/#cells(小区的计数)。只为通过K_0还不具有足够关键点的小区做第二 次SIFT关键点检测。这得到1(_1。通过K_1将每个小区填充到最小的#keyp 〇ints。用来填充的 关键点是1(_1'。将1(_〇13 j、K_0和Κ_Γ聚合为Ki。输出是包含位置、尺度和方位信息的Ki。
[0087] 关键点描述符提取被用于计算表示每个关键点的描述符,因此能够通过以下匹配 来区分。背景和居中的移动对象具有不同的动态的视角变化范围,因为:不同的深度(移动 对象对所有相机具有相似的深度)和不同的FOV(由于我们的假设移动对象占据较小的 F0V),因此为了更好的性能,不同的描述符被应用到不同的区域。
[0088] 关键点描述符提取从包含图像的关键点的关键点子采样中接收图像IK1,并且输 出是Ki的描述符。对于移动对象关键点,vkW = 5W ,在~Ri内部的Xi, m 和使用OpenCV的BRISK关键点检测器来确定。尺度和方位来自SIFT,其利用了60个采样 位置,512个所选对。
[0089] 对于背景区域(^細H:,~Ri内部的ki,min的X和y坐标),使用OpenCV的FREAK关 键点检测器。尺度和方位来自SIFT。使用了 43个采样位置和512个所选对。
[0090] 成对对应利用来自可靠的移动对象子步骤的输入Ri,来自关键点描述符提取子步 骤的Ki的描述符并且i = 1~N。。输出是Mij = Ci和Cj之间的对应,其中i,j = 1~N。。接着选定 的BRISK和FREAK描述符,使用了汉明距离(Hamming distance):
[0091] 汉明距谆
,其中Π和f2是二进制向量(描述符)。两
个特征点1^,1!1和1^,11之间的距离(差异)0(1^,111,1^,11)能够被定义为!1(;1^,1 11,;1^,11),其中;1^,111,;^,11 分别是ki, JPkj, η的描述符。将ki, AKj匹配就是寻找 [0092]那么(ki,m,kj,n*)是匹配。
[0093] Mi j J)是通过FREAK/BRISK汉明距离的最好匹配的集合。使用了三个外点(out I i er) 去除机制:距离测试、比率测试和极线测试。图9示出根据一些实施例的成对对应的示图。图 10示出根据一些实施例的成对对应的示图。
[0094] 对于成对对应,由于低描述符匹配分值与坏对应高度相关,因此实现了距离测试, 其去除具有较低描述符匹配分值(例如,外观)的对应。M ijJ)是FREAK/BRISK汉明匹配的输 入。距离测试包括如果〇(1^3,1^,11)〈 = 111,则将对应(1^3,1^,11)从心_()放到心_1,其中对于 FREAK和BRISH两者都有Th = 200。输出是Mi j_i。
[0095] 对于成对对应,实现了比率测试,其仅保留没有歧义的良好的对应。这对于重复图 案和保留独特的对应是有效的。利用了2-NN距离定量比较。为来自C i的关键点中找 到最好的两个匹配(例如,最小距离):kj,n和1^,<1,(1^3,1^, 11)]\^_1。比率越大,关键点的辨别 力越好。如果〇(1^3,1^,(1)/1)(1^3,1^, 11)>111,则比率测试包括心_2中的对应(1^3,1^),其中 Th = I.3〇
[0096] 对于成对对应,实现了极线测试,以基于几何约束和对应的统计(例如,内点的计 数(#inliers)大于外点的计数(itoutliers))去除外点。极线测试的输入是M^_ 2(过程背景/ 移动对象关键点一起)。该过程让F成为Ci和Cj之间的基本矩阵,并且 Xi,Xj是分别在Ci和Cj的 图像中的一对2D对应点坐标,给定:
[0097] x'i Fxj = O
[0098] 对于成对对应,几何上,由于Fxj在Ci的图像中定义极线,如在图11中所示出的,因 此能够检查C 1中的点线距离,并且具有距离》0的对应被接受,如在图12中所示出的。
[0099] 随机选择八个对应,以产生假设F。选择具有大多数对应满足X%= Cl的最好 的假设#'。成对对应的输出是心,其是满足爹的CdPCj之间的对应。
[0100] 使用相邻相机识别(306)来获得可能的相邻相机对,以减少在相邻相机定位步骤、 相机列表拓扑推断步骤和其它高级相机网络分析中要检查的对的数目。图13示出根据一些 实施例的相邻相机识别的示图。
[0101] 对于每个相机,相邻相机的候选者通过K-NN被找到。对于所有的相机,候选者被交 叉验证,并且对通过NN没有任何相关联的候选者的相机进行补救。图14示出根据一些实施 例的对应的例子。边缘的厚度与两个相机之间的对应的度量成比例。C4和&是&的邻居。通 过3-NN,C 2也被认为是&的邻居。
[0102] 对于相邻相机识别,因为在内在约束下,两个相机之间的重叠区域与相机距离成 比例,因此两个相机之间的对应的数目被测量。图15示出根据一些实施例的相对于相机i和 相机j之间的距离用于相机i的Mij的例子。使用#Mij是因为相机i和j的紧密度a; # Mij。
[0103] 相邻相机识别从成对相机对应提取中接收所有的心作为输入。为i和j的所有组合 计数#Mij。尽管假SSMij等于#Mji,因此只计算Ν(Ν-1)/2个相机对,但是M ij不等于Mjit3对于相 机i,其k-NN相机根据最大的#1^被找到。执行交叉验证,因此如果i也是j的k-NN相机,则i的 k-NN相机j被保留。被保留的相机被称为相机i的邻居。如果在交叉验证步骤中没有找到相 机i的邻居,则相机j与最大的#1^一起保留作为其唯一邻居。KXN。二进制地图P是输出。每 一行i表示C 1的相邻相机,例如,如果相机j是相机i的相邻相机,则P( i,j) = 1。
[0104] 相邻相机定位(308)被用来提取相邻相机对之间的本地相对位置,并且能够被用 于推断相机拓扑或约束相机参数/3D结构计算(例如,SfM)。相邻相机定位通过相邻相机识 别决定每个相邻相机对输出之间的相对位置(左或右)。所有的滚转角都等于零。只有轻微 的倾斜角,因此地平线大致在使用的图像高度的中间。使用了背景的上半部分,其被假定为 高于地面。
[0105] 图16示出根据一些实施例的无向图到有向图的示图。虽然一些相邻连接会被丢 失,但是在较大的K-NN和计算效率之间存在权衡。如果sign(v_move-v_bg) = 0,则Plr(i,j) =0被保留并且相机列表拓扑推断能够恢复它。
[0106] 在相邻相机定位中,由于移动对象的深度应该比大多数背景区域短,因此背景和 移动对象之间的运动差异被确定。两个相机之间的视差导致它们位置变化的不同程度。如 果内在约束被严格地遵守,则只使用背景运动也是有效的。
[0107] 在相邻相机定位中,来自背景提取的移动对象区域R、来自成对相机对应提取的所 有的Mij和来自相邻相机识别的P是输入。
[0108]
[0109] 图17示出根据一些实施例的被分离为部分的图像。
[0110] 对于所有的:m e錢,0.3*图像宽度< = X-坐标(kj,m),x-坐标(1^3)〈 = 0.7*图像 宽度,计算v-move=mean(方向(m));
[0111] 对所有的Jne竄;,〇.5*图像高度> = x-坐标(kj,m),x_坐标(ki,m),主方向d通过较 大的#(方向(m)>0)和#(方向(m)〈0)来决定。计算v_bg=mean(方向)(m)d);
[0112] Plr(i , j) = sign(v_move-v_bg);
[0113] 如果相机j在相机i的左侧,则输出是三值的NcXNc矩阵Plr · PLR(i,j) = l;如果相 机j在相机i的右侧,则Plr(i,j) =-1;否则为0。
[0114] Pu?定义了唯一有向图。图18示出根据一些实施例的定义唯一有向图的Plr的例子。
[0115] 拓扑推断(310)包括多个子步骤:利用循环求解的关系交换、最接近邻居细化和后 关系交换。拓扑推断通过本地成对方向关系以及错误检测和恢复使得能够推导相机的全局 排序。
[0116] 图19示出根据一些实施例的通过Plr的多种类型的拓扑。这种列表拓扑是优选的。 树状(无向循环)拓扑会丢失一些相机关系或包含错误。环(有向循环)拓扑会具有至少一个 错误关系。整个图能够是三种类型的组合。
[0117]通过循环求解的关系交换从任意的相机次序开始,检查其中PLR(i,j)矣0的每个对 (i,j)。对于每个检查的(i,j),如果相机i和j的相对位置不匹配相邻相机定位步骤中的Plr (i,j),则交换它们的次序,在i和j处记录相对方向Plr(i,j);将较远的相机ID(对于Ci,相机 ID = i)和具有与aR( i,j)相同的相对方向的方向从i传播到j ;如果相机在j中记录了右和左 两者的相对方向,则存在循环,并且通过在循环中去除最弱的PuKi J)解决循环,并且清除 所有传播的记录。重复该过程,直到没有变化或迭代的最大数量被满足。拓扑T是输出。Plr是 定义图表、指导交换和给出要传播的关系的唯一输入。
[0118] 图20示出根据一些实施例的通过循环求解的关系交换的示图。
[0119] 通过循环求解的关系交换接收通过成对相机对应提取的Plr和所有的1」作为输 入。
[0120] 初始的 T= I ·.·:,.M. changed - FALSE; While ite <max_ite for .i =1"· Nc for j =1+1... Nc if PLR(i,j)#0 如果CiCi的定位次序错误,则在T0中交换i,.j 如果在i谘录的相机ID在i的相反方向,则将它 们传播到j 每个相机维护相机ID的记录及其传播的相对方向 end end end if I changed break; :els.e ite++; changed = false; end end
[0121] 输出是TQ(所有相机的排序列表)和修改的PlR。
[0122] 最接近邻居细化被用来在利用循环求解的关系交换之后解决树状拓扑。给定来自 利用循环求解的关系交换的To,如果通过Pw的关系是不充分的(树状),则它不是唯一的。图 21示出根据一些实施例的邻居细化的示图。通过引入相邻相机位置,可能的求解受到约束。 使用了两种类型的信息来恢复唯一的求解。基于k-NN的Pu?意味着相邻相机之间的次序差并 且具有上界能够被升级到方向关系作为另一个约束。
[0123] 在最接近邻居细化中,只有树状Plr激活内部代码(if语句)。输入是来自利用循环 求解的关系交换的To、在利用循环求解的关系交换之后的Pun来自成对相机对应提取的Μ"。
[0124] While cost origin使用当前Plr 检查TO中所有的连续相机并计算其方向 if它们的对应Plr = 0 (丢失), for I = l;#€ams for j = i+l,.#Caras if pLR(y)但是相机i和相机j的位置比2远 则产生具有邻居窗口尺寸=2的可能的4个重新布置 T」mp(l)至 T_tmp(4) for k= 1:4 为每个重新布置计算cost_afte:r(k); end
[0125] 选择最好的k,其具有从cost_origin到cost_after(k)的最大的下降值:
[0126] (I) if 只有一个最好的!^!:!!^)^),cost_after(k)〈cost_origin,则选择它
[0127] (2)if cost_origin = cost_after(k),进一步计算T_tmp(k)中的丢失数据的#方 向错误,并且接着决定是否使用T_tmp(k),
[0128] (3) if存在多个最好的k,也为这些!^!:!]^^)计算丢失数据的#方向错误,以选择最 好的一个。 重新将T0分配为T_tmp(k); 更新 Gostorigin; end
[0129] end end end
[0130] 邻居细化接收Pu?作为输入。成本等于定位错误(方向错误和相邻错误)。定义次序 (i)=相机i在相机列表拓扑T中的位置,从左向右计算:
[0131]例如,次序(i)=2,
[0134]
[0132] 次序(k)=3,_ik_j_[0133] 次序(j)=8。
[0135]
[0136]
[0137] 的相邻错误。
[0138] 0_让=。〇11(1^/2),其中1^是1^-顺
[0139]
[0140] 例如,pLRQ,k) = I,D_th = 2
[0141] 图22示出根据一些实施例的邻居细化的示图。
[0142] 如果两个相机Ci和Cj在相机列表拓扑T中是邻居,因此abs(次序(i)_次序(j)) = l, 则如果PLR(i,j)=〇,那么PLR(i,j)是丢失数据。图23示出根据一些实施例的指示丢失数据 的示图。对于T中的任何丢失数据P LR( i,j),PLR( i,j) = 0。如果两个拓扑T和T '具有相同的成 本,则使用没有k-NN约束的相邻相机定位来分别估计在T和Τ'中的所有丢失数据的相对方 向= f 并且能够比较更多的方向错误。但是,Plr(i,j) = 〇意味着P(i,j) = 〇, , 因此这种关系是弱的并且它们的相邻错误被忽略。分皮临时使用并保持pLRa j) = 0〇
[0143] 通过3-NN,4个可能的重新布置的成本被比较(例如,Plr(i,j) = -1,因此i在j的左 侦U,NN窗口尺寸=cei 1 (3/2) = 2)。图24示出根据一些实施例的重新布置的示图。图25示出 根据一些实施例的重新布置的流程图。
[0144] 在后关系交换中,实现了无需循环求解的关系交换。这是在最接近邻居细化之后 的细化。输入是来自最接近邻居细化的T1和来自利用循环求解的关系交换的P LR。输出是T。
[0145] 图27示出根据一些实施例的被配置为实现相机位置排序方法的示例性计算设备 的框图。计算设备2700能够被用来获取、存储、计算、处理、传递和/或显示信息,诸如图像和 视频。一般地,适于实现计算设备2700的硬件结构包括网络接口 2702、存储器2704、处理器 2706、(一个或多个)1/0设备2708、总线2710和存储设备2712。处理器的选择不是关键的,只 要选择了具有足够速度的合适的处理器。存储器2704能够是本领域中已知的任何常规计算 机存储器。存储设备2712能够包括硬驱动、CDROM、CDRW、DVD、DVDRW、高清晰度盘/驱动、超HD 驱动、闪速存储器卡或者任何其它存储设备。计算设备2700能够包括一个或多个网络接口 2702。网络接口的例子包括连接到以太网或其它类型的LAN的网卡。(一个或多个)1/0设备 2708能够包括以下的一种或多种:键盘、鼠标、监视器、屏幕、打印机、调制解调器、触摸屏、 按钮接口以及其它设备。用于执行相机位置排序方法的(一个或多个)相机位置排序应用 2730很可能被存储在存储设备2712和存储器2704中并且如应用通常被处理的那样进行处 理。计算设备2700中能够包括更多或更少的在图27中示出的组件。在一些实施例中,包括相 机位置排序硬件2720。虽然图27中的计算设备2700包括用于相机位置排序方法的应用2730 和硬件2720,但是相机位置排序方法能够用硬件、固件、软件或其任意组合在计算设备上实 现。例如,在一些实施例中,相机位置排序应用2730被编程在存储器中并使用处理器来执 行。在另一个例子中,在一些实施例中,相机位置排序硬件2720是编程的硬件逻辑,其包括 专门设计为实现该相机位置排序方法的门(gate)。
[0146] 在一些实施例中,(一个或多个)相机位置排序应用2730包括若干个应用和/或模 块。在一些实施例中,模块还包括一个或多个子模块。在一些实施例中,能够包括更少或附 加的模块。
[0147] 在一些实施例中,相机位置排序硬件2720包括相机组件,诸如透镜、图像传感器 和/或任何其它相机组件。
[0148] 合适的计算设备的例子包括个人计算机、膝上型计算机、计算机工作站、服务器、 大型计算机、手持式计算机、个人数字助理、蜂窝/移动电话、智能家电、游戏控制台、数字相 机、数字摄像机、相机电话、智能电话、便携式音乐播放器、平板计算机、移动设备、视频播放 器、视频盘刻录器/播放器(例如,DVD刻录器/播放器、高清晰度盘刻录器/播放器、超高清晰 度盘刻录器/播放器)、电视、家庭娱乐系统、智能首饰(例如,智能手表)或任何其它合适的 计算设备。
[0149] 图28示出根据一些实施例的设备的网络的示图。利用多个相机2800来获取图像/ 视频内容。图像/视频内容通过网络2802(例如,因特网、蜂窝网络或任何其它网络)被传送 到计算设备2804。在一些实施例中,在没有网络的情况下,内容被直接地传送到计算设备。 计算设备2804被配置为执行本文所描述的相机位置排序方法。计算设备2804能够是任何设 备,诸如服务器、个人计算机、智能电话或本文所描述的任意设备或本文所描述的设备的任 意组合。在一些实施例中,计算设备2804是多个相机2800中的一个或多个。换句话说,(一个 或多个)相机2800实现相机位置排序方法。
[0150] 为了利用本文所描述的相机位置排序方法,诸如数字相机/摄像机的设备被用来 获取图像/视频。相机位置排序方法被自动地用于通过时间和/或空间布置由相机/摄像机 捕获的视频。相机位置排序方法能够利用用户的帮助或者自动地无需用户的参与来实现。 [0151 ]在操作中,相机位置排序方法通过时间和/或空间布置由多个相机捕获的视频。相 机位置排序方法能够被应用于:(1)交互式相机选择,以从不同的视角查看同一事件,(2)视 频监控中的自动相机网络组织,(3)根据视频库存被捕获的位置自动组织视频库存,及(4) 作为SfM之前的预处理阶段来实现更快的相机网络定位,这能够在3D体育视频、视图内插和 点云生成中使用。
[0152] 快速且稳健的相机位置排序方法的一些实施例
[0153] 1、一种编程在设备的非临时性存储器中的方法,包括:
[0154] a.执行背景提取;
[0155] b.执行成对相机对应提取;
[0156] c.识别相邻相机;
[0157] d.确定相邻相机定位;以及
[0158] e.执行相机列表拓扑推断。
[0159] 2、如条款1所述的方法,还包括准备设置和输入。
[0160] 3、如条款1所述的方法,其中执行背景提取包括背景建模和确定可靠的移动对象。
[0161] 4、如条款1所述的方法,其中执行背景提取生成包括相机的移动对象区域的背景 提取输出。
[0162] 5、如条款1所述的方法,其中执行成对相机对应提取包括利用子采样的关键点检 测、关键点描述符提取和成对对应。
[0163] 6、如条款4所述的方法,其中执行成对相机对应提取利用背景提取输出和图像作 为输入。
[0164] 7、如条款1所述的方法,其中执行成对相机对应提取输出第一相机和第二相机之 间的对应的关键点。
[0165] 8、如条款7所述的方法,其中识别相邻相机利用第一相机和第二相机之间的关键 点作为输入。
[0166] 9、如条款1所述的方法,其中识别相邻相机输出二进制相邻相机地图。
[0167] 10、如条款9所述的方法,其中确定相邻相机定位利用相机的移动对象区域、第一 相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。
[0168] 11、如条款10所述的方法,其中确定相邻相机定位输出相邻相机相对方向地图。
[0169] 12、如条款1所述的方法,其中拓扑推断包括利用循环求解的关系交换、最接近邻 居细化和后关系交换。
[0170] 13、如条款1所述的方法,其中拓扑推断利用相邻相机相对方向地图以及第一相机 和第二相机之间的对应的关键点作为输入。
[0171] 14、如条款1所述的方法,其中拓扑推断输出相机列表拓扑。
[0172] 15、一种系统,包括:
[0173] a.多个相机设备,其中每个相机设备都被配置为捕获视频内容;以及
[0174] b.计算设备,被配置为:
[0175] i.接收视频内容;
[0176] i i .执行视频内容的背景提取;
[0177] i i i .执行成对相机对应提取;
[0178] iv.识别所述多个相机设备中的相邻相机;
[0179] V.确定相邻相机定位;以及
[0180] vi.执行相机列表拓扑推断。
[0181] 16、如条款15所述的系统,其中计算设备还被配置为准备设置和输入。
[0182] 17、如条款15所述的系统,其中执行背景提取包括背景建模和确定可靠的移动对 象。
[0183] 18.如条款15所述的系统,其中执行背景提取生成包括相机的移动对象区域的背 景提取输出。
[0184] 19、如条款15所述的系统,其中执行成对相机对应提取包括利用子采样的关键点 检测、关键点描述符提取和成对对应。
[0185] 20、如条款18所述的系统,其中执行成对相机对应提取利用背景提取输出和图像 作为输入。
[0186] 21、如条款15所述的系统,其中执行成对相机对应提取输出第一相机和第二相机 之间的对应的关键点。
[0187] 22、如条款21所述的系统,其中识别相邻相机利用第一相机和第二相机之间的关 键点作为输入。
[0188] 23、如条款15所述的系统,其中识别相邻相机输出二进制相邻相机地图。
[0189] 24、如条款23所述的系统,其中确定相邻相机定位利用相机的移动对象区域、第一 相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。
[0190] 25、如条款24所述的系统,其中确定相邻相机定位输出相邻相机相对方向地图。
[0191] 26、如条款15所述的系统,其中拓扑推断包括利用循环求解的关系交换、最接近邻 居细化和后关系交换。
[0192] 27、如条款15所述的系统,其中拓扑推断利用相邻相机相对方向地图以及第一相 机和第二相机之间的对应的关键点作为输入。
[0193] 28、如条款15所述的系统,其中拓扑推断输出相机列表拓扑。
[0194] 29、一种相机设备,包括:
[0195] a.镜头;
[0196] b.传感器,被配置为获取视频内容;
[0197] c.非临时性存储器,用于存储应用,该应用用于:
[0198] i.接收视频内容;
[0199] i i .执行视频内容的背景提取;
[0200] i i i.执行成对相机对应提取;
[0201 ] iv.识别多个相机设备中的相邻相机;
[0202] V.确定相邻相机定位;和 [0203] vi.执行相机列表拓扑推断;以及
[0204] d.耦合到存储器的处理组件,该处理组件被配置为处理该应用。
[0205] 30、如条款29所述的相机设备,其中应用还被配置为准备设置和输入。
[0206] 31、如条款29所述的相机设备,其中执行背景提取包括背景建模和确定可靠的移 动对象。
[0207] 32、如条款29所述的相机设备,其中执行背景提取生成包括相机的移动对象区域 的背景提取输出。
[0208] 33、如条款29所述的相机设备,其中执行成对相机对应提取包括利用子采样的关 键点检测、关键点描述符提取和成对对应。
[0209] 34、如条款32所述的相机设备,其中执行成对相机对应提取利用背景提取输出和 图像作为输入。
[0210] 35、如条款29所述的相机设备,其中执行成对相机对应提取输出第一相机和第二 相机之间的对应的关键点。
[0211] 36、如条款35所述的相机设备,其中识别相邻相机利用第一相机和第二相机之间 的关键点作为输入。
[0212] 37、如条款29所述的相机设备,其中识别相邻相机输出二进制相邻相机地图。
[0213] 38、如条款37所述的相机设备,其中确定相邻相机定位利用相机的移动对象区域、 第一相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。
[0214] 39、如条款38所述的相机设备,其中确定相邻相机定位输出相邻相机相对方向地 图。
[0215] 40、如条款29所述的相机设备,其中拓扑推断包括利用循环求解的关系交换、最接 近邻居细化和后关系交换。
[0216] 41、如条款29所述的相机设备,其中拓扑推断利用相邻相机相对方向地图以及第 一相机和第二相机之间的对应的关键点作为输入。
[0217] 42、如条款29所述的相机设备,其中拓扑推断输出相机列表拓扑。
[0218] 本发明已根据具体实施例并结合细节进行了描述,以便于对本发明构造和操作原 理的理解。本文对具体实施例及其细节的这种引用不是意图限制权利要求的范围。对于本 领域技术人员来说,很显然,在不背离由权利要求所定义的本发明的精神和范围的情况下, 可以在所选择的用于说明的实施例中进行各种修改。
【主权项】
1. 一种方法,包括: a. 执行背景提取; b. 执行成对相机对应提取; c. 识别相邻相机; d. 确定相邻相机定位;以及 e. 执行相机列表拓扑推断。2. 如权利要求1所述的方法,还包括准备设置和输入。3. 如权利要求1所述的方法,其中执行背景提取包括背景建模和确定可靠的移动对象。4. 如权利要求1所述的方法,其中执行背景提取生成包括相机的移动对象区域的背景 提取输出。5. 如权利要求1所述的方法,其中执行成对相机对应提取包括利用子采样的关键点检 测、关键点描述符提取和成对对应。6. 如权利要求4所述的方法,其中执行成对相机对应提取利用背景提取输出和图像作 为输入。7. 如权利要求1所述的方法,其中执行成对相机对应提取输出第一相机和第二相机之 间的对应的关键点。8. 如权利要求7所述的方法,其中识别相邻相机利用第一相机和第二相机之间的关键 点作为输入。9. 如权利要求1所述的方法,其中识别相邻相机输出二进制相邻相机地图。10. 如权利要求9所述的方法,其中确定相邻相机定位利用相机的移动对象区域、第一 相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。11. 如权利要求10所述的方法,其中确定相邻相机定位输出相邻相机相对方向地图。12. 如权利要求1所述的方法,其中拓扑推断包括利用循环求解的关系交换、最接近邻 居细化和后关系交换。13. 如权利要求1所述的方法,其中拓扑推断利用相邻相机相对方向地图以及第一相机 和第二相机之间的对应的关键点作为输入。14. 如权利要求1所述的方法,其中拓扑推断输出相机列表拓扑。15. -种系统,包括: a. 多个相机设备,其中每个相机设备都被配置为捕获视频内容;以及 b. 计算设备,被配置为: i.接收视频内容; i i .执行视频内容的背景提取; i i i .执行成对相机对应提取; iv. 识别所述多个相机设备中的相邻相机; v. 确定相邻相机定位;以及 vi. 执行相机列表拓扑推断。16. 如权利要求15所述的系统,其中计算设备还被配置为准备设置和输入。17. 如权利要求15所述的系统,其中执行背景提取包括背景建模和确定可靠的移动对 象。18. 如权利要求15所述的系统,其中执行背景提取生成包括相机的移动对象区域的背 景提取输出。19. 如权利要求15所述的系统,其中执行成对相机对应提取包括利用子采样的关键点 检测、关键点描述符提取和成对对应。20. 如权利要求18所述的系统,其中执行成对相机对应提取利用背景提取输出和图像 作为输入。21. 如权利要求15所述的系统,其中执行成对相机对应提取输出第一相机和第二相机 之间的对应的关键点。22. 如权利要求21所述的系统,其中识别相邻相机利用第一相机和第二相机之间的关 键点作为输入。23. 如权利要求15所述的系统,其中识别相邻相机输出二进制相邻相机地图。24. 如权利要求23所述的系统,其中确定相邻相机定位利用相机的移动对象区域、第一 相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。25. 如权利要求24所述的系统,其中确定相邻相机定位输出相邻相机相对方向地图。26. 如权利要求15所述的系统,其中拓扑推断包括利用循环求解的关系交换、最接近邻 居细化和后关系交换。27. 如权利要求15所述的系统,其中拓扑推断利用相邻相机相对方向地图以及第一相 机和第二相机之间的对应的关键点作为输入。28. 如权利要求15所述的系统,其中拓扑推断输出相机列表拓扑。29. -种相机设备,包括: a ·镜头; b. 传感器,被配置为获取视频内容; c. 处理组件,被配置用于: i.接收视频内容; i i .执行视频内容的背景提取; iii .执行成对相机对应提取; iv. 识别多个相机设备中的相邻相机; v. 确定相邻相机定位;和 vi. 执行相机列表拓扑推断。30. 如权利要求29所述的相机设备,其中所述处理组件还被配置为准备设置和输入。31. 如权利要求29所述的相机设备,其中执行背景提取包括背景建模和确定可靠的移 动对象。32. 如权利要求29所述的相机设备,其中执行背景提取生成包括相机的移动对象区域 的背景提取输出。33. 如权利要求29所述的相机设备,其中执行成对相机对应提取包括利用子采样的关 键点检测、关键点描述符提取和成对对应。34. 如权利要求32所述的相机设备,其中执行成对相机对应提取利用背景提取输出和 图像作为输入。35. 如权利要求29所述的相机设备,其中执行成对相机对应提取输出第一相机和第二 相机之间的对应的关键点。36. 如权利要求35所述的相机设备,其中识别相邻相机利用第一相机和第二相机之间 的关键点作为输入。37. 如权利要求29所述的相机设备,其中识别相邻相机输出二进制相邻相机地图。38. 如权利要求37所述的相机设备,其中确定相邻相机定位利用相机的移动对象区域、 第一相机和第二相机之间的对应的关键点以及二进制相邻相机地图作为输入。39. 如权利要求38所述的相机设备,其中确定相邻相机定位输出相邻相机相对方向地 图。40. 如权利要求29所述的相机设备,其中拓扑推断包括利用循环求解的关系交换、最接 近邻居细化和后关系交换。41. 如权利要求29所述的相机设备,其中拓扑推断利用相邻相机相对方向地图以及第 一相机和第二相机之间的对应的关键点作为输入。42. 如权利要求29所述的相机设备,其中拓扑推断输出相机列表拓扑。43. -种装置,包括用于执行如权利要求1-14中的任一项所述的方法的步骤的部件。
【文档编号】G06T7/20GK105844661SQ201610074553
【公开日】2016年8月10日
【申请日】2016年2月3日
【发明人】刘正, 刘正一, A·布莱斯托弗
【申请人】索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1