首页> 中国专利> 用于生成拍摄环境的照片般真实的三维模型的方法和装置

用于生成拍摄环境的照片般真实的三维模型的方法和装置

摘要

公开了用于生成拍摄环境的照片般真实的三维模型的方法和装置。一种装置包括对象位置计算器,用于确定在环境的第一图像内和在该环境的第二图像内所检测的对象的三维(3D)位置。该装置进一步包括3D模型生成器,用于基于该第一图像和该第二图像生成该环境的3D模型。该装置还包括模型完整性分析器,用于检测该对象的该3D位置与该3D模型之间的差异。响应于该差异满足置信阈值,该3D模型生成器基于该差异自动地修改该3D模型。

著录项

  • 公开/公告号CN112714926A

    专利类型发明专利

  • 公开/公告日2021-04-27

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201880094831.6

  • 申请日2018-09-28

  • 分类号G06T7/579(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人何焜;黄嵩泉

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 10:44:55

说明书

技术领域

本公开大体涉及模型生成,并且更具体地涉及用于生成拍摄环境的照片般真实(photo-realistic)的三维模型的方法和装置。

背景技术

现在可以生成体育赛事的回放连续镜头,其中连续镜头可以旋转360度以从几乎任何角度提供比赛的视图。为了实现这种360度观看,将以不同角度拍摄的体育赛事的多个视频馈送的图像数据组合以生成体育赛事的三维(3D)模型或重建。利用以该方式生成的3D模型,虚拟相机可以被放置在该模型内的任何位置处并且面向任何方向,以定义可以被渲染以供显示的某个视角。

附图说明

图1图示了用于生成环境的3D模型的已知系统。

图2图示了图1的环境的3D模型的视图。

图3图示了其中正在跟踪环境中的球的图1的环境中的一部分的图像。

图4图示了其中正在跟踪环境中的人的图1的环境中的一部分的图像。

图5图示了其中正在跟踪环境中骨骼形式的人的图1的环境中的一部分的图像。

图6是图示了根据本公开的教导而构建的示例图像处理系统的框图。

图7-图9是表示可被执行以实现图6的示例图像处理系统的机器可读指令的流程图。

图10是被构造用于执行图7、图8和/或图9中的指令以实现图1和/或图6中的示例图像处理系统的示例处理平台的框图。

这些图并未按比例绘制。一般来说,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于表示相同或相似的部分。

具体实施方式

图1图示了用于生成环境102的3D模型的已知系统100。如图1中所示,系统100包括位于目标环境102周围不同位置处的多个相机104,以从不同角度捕获环境102的高分辨率图像(静止照片和/或视频馈送的帧)。在图1中,来自相机104中的每一个的图像被提供给中央图像处理系统106以供进一步处理,如下文进一步所描述。本文所公开的示例基于根据本文所公开的教导而构建的、克服图1的图像处理系统106的限制的图像处理系统600(图6中示出)提供对系统100的改进。出于讨论的目的,环境102包括足球场108。然而,环境102可替代地与其他类型的事件、政治集会、戏剧表演、音乐会、竞技场或运动场(例如,棒球场、篮球场、橄榄球场、曲棍球场、网球场等)相对应。因此,虽然本文讨论的示例是在体育赛事的情境下提供的,但是系统100可以在其他类型的环境中实现和/或与和体育无关的其他类型的事件相关联,诸如例如,音乐厅、会议中心、公共广场,和/或相机能够从不同角度捕获图像的任何其他合适位置(无论是室内还是室外)。

尽管图1中示出了十个不同相机104,但是系统100可包括被放置在任何合适位置处的任何合适数量的相机104。因此,图1中所示的相机104的特定布置(例如,围绕环境102的圆周均匀分布)仅作为示例,并且其他布置是可能的。在一些示例中,相机104中的至少一些可被定位和配置成用于在其相对应的视场内捕获全部的或基本上全部的目标环境102。在一些示例中,相机104中的至少一些可被定位和/或配置成用于在其相对应的视场内捕获少于全部的目标环境102。例如,第一相机104可具有限制于足球场的第一端的视场,第二相机104可具有限制于足球场的相对端的视场,并且第三相机104可具有在整个环境102中拍摄的视场。在一些示例中,所有相机104可具有限制于环境102中的特定部分的视场。在其他示例中,所有相机104可具有捕获环境102整体的视场。此外,相机104可被放置在相对于目标环境102的任何合适的标高处以距目标环境102的任何合适的距离处。例如,一些相机104可被放置为离地面相对较低且靠近环境102的位置(例如,在运动场的边线附近),而其他相机104则被放置得更高且进一步远离(例如,在体育场中的看台上方)。在一些示例中,相机104中的一些可悬挂在环境102上方以捕捉高空视角。

在一些示例中,每一个相机104相对于环境102的放置是固定的。结果,每一个相机104可以针对其相对于环境102的唯一位置而被精确地校准,以辅助处理由相对应的相机产生的图像数据。具体地,一旦被放置在其指定位置处,每一个相机104经历相机校准过程(有时被称为相机重投影(camera resectioning))以生成用于相机的校准矩阵。校准矩阵定义了供相机能够将由相机拍摄的图像中的二维点(例如,各个图像像素)映射到在图像中所捕获的真实世界场景的3D空间内的三维(3D)点(例如,真实世界环境102内的3D点)的固有参数和非固有参数。在一些实例中,相机104可经历后续校准过程,以调整相机在一段时间内的任何微小移动(例如,由于风,相机被与相机104和/或其支撑结构接触的鸟或其他对象碰撞或推挤等)。以该方式,相机104相对于环境的位置(以及相对应的校准矩阵)是精确且准确的。在一些实例中,相机104中的一个或多个可以相对于相对环境102的移动进行移动。在此类实例中,用于相对应的移动相机的校准矩阵可以随相机移动基本上实时地更新。

基于与由不同相机104捕获的图像相关联的像素信息和用于相机104的相对应的校准矩阵,图1的图像处理系统106生成环境102的照片般真实的3D模型。当环境102包括移动对象(例如,在足球场上奔跑的运动员)时,从不同角度捕获的不同图像需要在同一时间点被捕获以使得它们能够适当地组合到包括该移动对象的3D模型中。因此,在一些示例中,相机104是同步的,使得同一时间捕获的图像能够被匹配在一起以用于3D模型生成。

更具体地,生成环境102的3D模型可包括对同步捕获的图像(例如,对图像中的每一个)应用二值化过程。实现二值化以促进图像的分割,使得图像中的像素(例如,每一个像素)可被标识或分类为与背景或与前景中的对象相对应。在一些示例中,用于标识背景和前景像素的分割过程可在不对图像上执行二值化过程的情况下实现。在体育赛事的情境下,背景中的对象可包括运动场、观众和/或运动场周围的其他个人等。在体育赛事里前景中的对象可包括运动场上或附近的参与者(运动员、裁判员、仲裁员、教练、体育解说员等)、体育装备(例如,球、门柱、网、冰球、球拍、头盔等)和/或在图像被捕获时可在环境102内的任何其他物体。

尽管由不同相机104捕获的图像包含与环境102相关联的重叠内容,但是在来自不同相机104的图像中所表示的内容是不同的,因为相机104从不同的角度捕获图像。凭借相机104相对于环境102的精确位置和用于相机104的各自的校准矩阵已知,示例图像处理系统106分析分割的图像以生成或构建环境102的3D点云或体积模型。一旦3D点云被生成,图像处理系统106就基于与由相机104捕获的图像中的像素相关联的颜色信息,通过对该3D点云进行绘制、纹理化或着色来生成环境102的最终3D模型。因为该颜色信息与真实世界环境102的实际图像相对应,所以所得的3D模型是照片般真实的。

在一些示例中,图像处理系统106针对由相机104在稍后的时间点捕获的附加图像重复上述过程。例如,附加图像可对应于由相机104以任何合适的帧速率(例如,每秒30帧)捕获的视频流中的后续帧。以该方式,本文所公开的示例生成环境102的照片般真实的3D模型,该3D模型随着真实世界环境的变化而及时变化。结果,在环境102中捕获的场景可从虚拟相机的视角进行渲染,该虚拟相机被放置在3D模型内的任何期望位置和/或跟随通过3D模型的任何期望路径。

生成和/或渲染如本文所公开的照片般真实的3D模型是涉及一起工作的许多技术组件的计算密集的技术过程。例如,相机104针对其相对于环境的特定位置被精确地放置和校准。此外,相机104是同步的,使得由相机中的不同相机捕获的图像同时出现并且可通过图像处理系统106匹配在一起。附加地,在实况体育赛事的情境下,观众通常期望在实际赛事之后相对较短的时间段内观看回放。因此,为了在增强观看者体验的时间帧内生成3D回放,图像处理系统106具有在非常短的时间段内处理大量数据(多达每分钟数个太字节(terabyte)的数据)的计算能力。因此,虽然图像处理系统106在图1中示出为单个框,但是图像处理系统106可使用多个处理器和/或服务器来实现,该多个处理器和/或服务器可以居中定位,或可以与相机104类似分布在环境102周围。在一些示例中,图像处理系统106包括中央处理系统,以从与相机104中的各个相机相关联的多个远程处理器收集图像数据。在此类示例中,远程处理器可在图像数据被传送到中央处理系统以合并以生成3D模型之前对捕获的图像执行初始处理。

上述过程仍然遭受某些技术性挑战。例如,3D重建之前的如上所述的捕获的图像的二值化过程和分割过程并不总是准确的。例如,取决于用于分割的阈值,应当被分类为与前景中的对象相对应的图像的像素可能被错误地分类为背景(例如,假否定(falsenegative))。相反地,应当被分类为与背景相对应的图像的像素可能被错误地分类为与前景中的对象相关联(例如,假肯定(false positive))。在体育赛事的情境下,这些错误的一个原因是环境102内对象的快速移动,诸如运动员沿着场地奔跑。因为运动员经常跑上或跑下场地,所以他们的腿、手臂和/或他们身体的其他部分在捕获的图像中可能会显得有些模糊。由此,分割过程可能无法确定某些图像中的运动员身体的精确轮廓。

作为不完美分割过程的结果,当来自不同相机的图像被组合以构建环境102的3D模型时,运动员的渲染可能缺失其身体的部分,如图2的示例中所示。图2图示了在足球比赛期间由图1的图像处理系统100生成的图1的环境102的示例3D模型200的视图。在图示的示例中,背景包括图1的足球场108,前景中的对象包括足球204、裁判员206、以及多个运动员(运动员中的一些由附图标记208、210、212、124、216、218、220、222、224标识)。在图2图示的示例中,由附图标记216、220和224标识的运动员缺失腿,因为他们的腿在分割过程中没有被正确地标识。结果,这些运动员的腿没有在环境102的3D点云中被构建。因此,当执行对3D点云进行纹理化或着色的最终阶段以产生如图2中所示的经渲染的3D模型200时,使用来自图像的与背景(例如,足球场108)相对应的颜色像素信息而不是与前景相关联的像素(例如,缺失的腿)。出于同样的原因,由附图标记218和222标识的球员缺失手臂。

在分割过程中的一些错误可导致在3D模型200中缺失运动员(或其他对象)的部分的同时,其他错误可导致引入了运动员(或其他对象)的重复部分的3D模型200的最终渲染。例如,在图2的示例3D模型200中,裁判员206和由附图标记208、212、214标识的运动员看起来具有多于两条腿。该问题可能出现,因为当构建环境102的3D点云时图像处理系统106不能够正确地解析来自不同角度的图像,使得从不同相机104以不同角度捕获的运动员的同一部分在3D模型内的多个单独的体积结构中。3D模型中与所检测的对象相对应的其他类型的像差可被类似地表征为对象的部分从模型中缺失和/或在模型中重复。例如,在3D模型中运动员可适当地具有两条腿,但这两条腿中的一条腿在该模型中被错误地生成为比另一条腿长得多。在该示例中,尽管该3D模型对于运动员不包括额外的腿,但腿的额外的长度仍然可被称为该运动员的实际腿的重复部分,并且因此以与本文所公开的类似的方式进行处理。作为另一示例,可能存在这样的实例:3D模型内所表示的运动员的腿(或他们身体的任何其他部分)相对于该运动员身体的剩余部分被不正确地放置(例如,腿与身体分离并隔开,和/或腿处于在身体上是不可能的位置和/或具有在身体上是不可能的形状(除非运动员的腿骨折)。在一些此类示例中,不适当地放置/成形的腿可被视为自身从3D模型中缺失的适当地放置/成形的腿的重复。因此,如本文中所使用,3D模型中的对象的缺失部分和重复部分可同时出现并以合适的方式组合以表征从捕获的图像中所检测的对象的形状、尺寸、位置等的任何种类的像差。

尽管图2的示例3D模型200适当地渲染了球204,但是在许多实例中,在上文所标识的体育赛事中被错误地渲染的运动员(或其他参与者)的问题对于球204是更普遍的。对于球204,上文指出的问题经常被加剧,因为球204比运动员小并且通常比运动员移动得更快,使得在由相机104捕获的特定图像中更可能出现模糊条纹,从而使得分割过程难以适当地标识球。此外,球204可飞到空中,使得从相机104的观察点来看,球204后面的背景是观众的人群。当球204以该方式遮挡人群时,由于人群中的颜色和变化,使用分割将球隔离并且在被经中存在包围该求的观众的情况下将该球标识为在前景中更加困难。因此,通常情况下,球204在由相机104捕获的特定图像内完全丢失。也就是说,在许多实例中,不仅球204的一部分缺失,而是整个球204可能不出现在从所分割的图像构建的3D点云中。在观看体育赛事时能够定位球204对观众而言是重要的。为了降低球204不被标识的可能性,将用于分割的阈值设置得相对较低。尽管这可能增加标识球204的机会,但是如上所述,它增加了假肯定的可能性。因此,已知的方法产生具有缺失对象(或其部分)和/或引入对象的重复部分的3D模型。在此类情况下,操作员需要手动地编辑经渲染的图像,以添加缺失内容和/或移除重复内容。

本文所公开的示例减少由上述分割过程引起的错误。本文所公开的示例启用自动的错误校正,该自动的错误校正可通过独立于分割过程确定对象(例如,球、运动员等)在真实世界环境102内的3D位置并使用该独立计算的3D位置以确认或校正从分割过程中生成的3D模型而发生。也就是说,根据本文所公开的教导,图1的已知系统100可通过实现图6的示例图像处理系统600代替图1的已知图像处理系统来修改,以改进基于来自相机104的图像而生成的3D模型。

在一些示例中,图像处理系统600基于深度学习对象检测模型对图像执行图像分析,以标识由每一个图像捕获的场景内的相关对象。例如,图3示出了由相机104中的一个拍摄的图1的环境102中的足球场108的一部分的示例图像300。图3的图像300包括表示图像处理系统600的人工智能(AI)对象检测引擎的球轨迹302,该图像处理系统600使用深度学习球检测模型来检测和跟踪足球204的位置。出于讨论的目的示出了球轨迹302,因此在一些示例中,当跟踪球204时,球轨迹302可能无法由AI引擎生成。更具体地,球轨迹302旨在表示AI引擎可以在视频流中的连续图像之间跟踪球的路径,以预测球204在后续图像中的位置,从而即使在球飞入空中并变得被观众遮挡的情况下也更准确地标识该球在图像内的位置。

作为另一示例,图4示出了由相机104中的一个拍摄的图1的环境102中的足球场108的一部分的示例图像400。图4展示了如本文所公开的基于AI的对象检测引擎,该基于AI的对象检测引擎使用合适的深度学习人体检测模型来标识足球场108上的运动员。在一些示例中,检测模型使AI引擎能够将一个运动员与另一个运动员区分开,使得可以随时间跟踪特定运动员(如图4中由围绕每一个运动员的框上方的运动员编号所表示)的位置。

一旦在由相机104捕获的2D图像内检测到相关对象(球、运动员等)的位置,就可基于用于相对应的相机104的校准矩阵计算对象在真实世界环境102的3D空间内的相对应的3D位置。如本文中所使用,在图像(或从多个不同相机同步捕获的一组图像)内所检测的对象的3D位置可包括不同的因子。此类因子可包括以下至少一项:在真实世界环境102的3D空间内对象的位置或放置、在3D空间内对象的取向和/或在3D空间内对象的形状。对象的放置可通过相对于参考点的坐标系(例如,X、Y和Z坐标)中的点来定义。对象的取向可通过围绕坐标系的轴线(例如,X、Y和Z轴)和/或围绕针对对象定义的局部坐标系的轴线的旋转角度来定义。对象的形状可以任何合适的方式来定义以指定对象的特定形式、尺寸和/或构型。在一些示例中,对象的取向和/或形状对于充分定义对象的3D位置可能是不必要的,因此可以从分析中省略。例如,足球是球形的并且具有固定的形状,使得定义足球的坐标(例如,球的中心点)就可足以完全定义足球的3D位置。相比之下,橄榄球的中心点的坐标并不能完全定义橄榄球的3D位置,因为橄榄球是椭圆形的,使得橄榄球围绕其中心可能具有不同的旋转取向。

对象的3D位置的形状因子对于能够改变尺寸、形式、构型等的对象是相关的。例如,人体可以在形状方面改变,因为身体的各个部分(例如,手臂、腿、头等)可相对于彼此以不同方式定位。在一些示例中,可使用深度学习骨骼或人体姿势模型通过基于AI的对象检测引擎来检测和定义人体(诸如,场108上的足球运动员)的形状或姿势。在此类示例中,除了如图4中所表示标识和区分运动员之外,AI引擎还如图5的图像500中所表示检测每一个运动员的关节和这些关节彼此的相对位置。因此,当图像处理系统600基于对捕获的图像的分析来确定在真实世界环境102的3D空间内人体的3D位置时,图像处理系统600可计算人体的放置(例如,相对于参考的坐标)、取向(例如,相对于参考的旋转角度)和/或人体的形状(例如,骨骼形式或姿势)。

根据本文所公开的教导,图像处理系统600采用基于在由相机104捕获的图像内所检测的对象的2D位置所计算的对象的真实世界3D位置,以确认使用上述分割过程生成的环境102的3D模型的准确度和/或校正使用上述分割过程生成的环境102的3D模型中的错误。也就是说,在一些示例中,图像处理系统600仍对图像执行分割过程(与已知系统类似)以标识与前景中的对象相关联的像素,然后使用该数据来构建3D点云,该3D点云后续使用来自原始相机图像的颜色像素信息进行着色。如上所述,此类过程经常导致运动员(或其他对象)的缺失的身体部位,运动员(或其他对象)的重复的身体部位,以及在一些情况下,球从3D模型中完全缺失。

通过将3D模型和针对在图像中检测到的对象而计算的真实世界3D位置进行比较以标识不一致或差异来标识可能需要校正的3D模型中的错误。一旦3D模型和所计算的对象的3D位置之间的差异被标识,则该示例的图像处理系统600确定该差异是否与3D模型中的错误相对应,然后自动地校正错误。作为示例,假设图像处理系统600基于深度学习对象检测模型将真实世界环境102的3D空间中球(例如,图2的球204)的3D位置确定为在特定的X、Y和Z坐标处(例如,球在真实世界内的放置)。进一步假设环境102的3D模型内与特定的X、Y和Z坐标相对应的区域不包括任何对象。在该场景中,图像处理系统600确定球从3D模型中应当所在的位置缺失。因此,该示例的图像处理系统600基于球的模型生成该球的点云表示,并且在特定的X、Y和Z位置处将该表示该球的点云插入到环境的3D模型中。此后,可使用来自原始相机图像的、用于初始地计算球的3D位置的颜色像素信息对所插入的球的点云表示进行纹理化和着色。因此,即使球最初是从基于所分割的图像生成的3D模型中缺失的,错误也被自动地(即,无需人工干预,完全由机器)校正。此外,因为球的位置独立于分割过程而确定,所以在该过程中较少需要如在使用像先前的方法所使用那样来使用低阈值来确保找到球。利用由本文所公开的示例启用的用于分割过程的更高阈值,更可能适当地标识比球大的其他对象(例如,人体),从而减少否则在生成环境102的3D模型时可能出现的其他错误(例如,假肯定)。

以类似于如何可将缺失的球添加到环境102的3D模型的方式,可自动地标识和校正其他缺失的对象或其部分。例如,在一些示例中,图像处理系统600将人体的所计算的真实世界3D位置(包括由骨骼或人体姿势模型定义的人体的形状)和环境102的3D模型中的区域进行比较,该区域与由所计算的3D位置定义的人的坐标相对应。由该示例的图像处理系统600通过将3D模型中所表示的内容与人体的骨骼形状(例如,人体姿势)进行比较来标识缺失的肢体和/或错误地生成的重复肢体。此外,使用用于人体的模型,人体的缺失部分的点云表示可被生成,并且被插入到3D模型中,用于然后使用上文提及的颜色像素信息进行纹理化或着色。

由于对象的真实世界3D位置独立于用于生成如上文所解释的环境102的3D模型的过程而确定,因此所计算的3D位置和3D模型将不太可能确切地对应。因此,在一些示例中,所计算的对象的3D位置和3D模型的相对应的区域之间的次要差异可以被忽略。例如,在一些示例中,图像处理系统600可仅在存在事实上足以满足阈值的不一致的确定性级别时校正错误。在所计算的3D位置与3D模型之间的差异不满足阈值的情况下,图像处理系统600可以忽视该差异并将3D模型保留为如初始所生成那样。在一些示例中,阈值可取决于所检测的特定类型的对象(例如,球还是人)和/或特定类型的错误(例如,假肯定还是假否定)。

图6是图示出图像处理系统600的示例实现的框图。如所图示的示例所示,图像处理系统600包括示例通信接口602、示例基于AI的对象检测引擎604、示例对象位置计算器606、示例3D模型生成器608、示例模型完整性分析器610、和示例存储器612。在一些示例中,图像处理系统600可通过单个处理器和/或通过多个处理器和/或处理器核来实现。在一些示例中,图6中所示的结构中的一者或多者通过与相机104中的各个相机相关联的单独的处理器来实现,而其他结构在中心地点处实现,以分析来自与单独的相机104相关联的处理器的预处理数据。此外,图6中的结构中的一者或多者可远程定位并经由网络访问和/或由虚拟机或容器实现。在理解可能的不同实现的情况下,出于讨论的目的,除非另外指出,否则图6将被描述为与相机104分开的定位在中央的系统。

图6的示例通信接口602用于从单独的相机104接收图像数据。在一些示例中,图像数据是与由相机104捕获的原始图像相对应的原始数据。在其他示例中,图像数据包括在经历各种预处理操作之后由相机104捕获的图像。在一些示例中,通信接口602能够将环境的最终3D模型传输到其他远程实体以供后续使用(例如,基于3D模型来广播体育赛事的360度回放)。

图6的示例基于AI的对象检测引擎604分析由相机104捕获的环境102的图像以检测和/或标识环境内的相关对象。在体育赛事的情境下,相关对象可包括运动员(或其他人)、球(或其他体育装备)、和/或任何其他相关内容。在一些示例中,基于一种或多种深度学习对象检测模型来检测对象。在一些示例中,不同的模型用于不同类型的对象。例如,可定制第一深度学习球检测模型来检测球,可定制第二深度学习人体检测模型来检测一个或多个人,并且可定制第三深度学习骨骼或人体姿势检测模型来检测一个或多个人体的形状(例如,身体构型(bodily configuration))。在一些示例中,图像数据与来自不同相机104的视频馈送相对应。因此,在一些示例中,(多个)深度学习对象检测模型将对来自视频的先前分析的帧的(多个)相关对象的检测考虑在内,以标识正在被分析的最新的帧中的(多个)对象。在一些示例中,基于AI的对象检测引擎604通过与相机中的各个相机相关联的处理器来实现,使得在图像数据被传输到中央处理系统之前在本地对相机104中的相对应的相机执行对象检测分析。

图6的示例的对象位置计算器606基于由相机104捕获的图像中的一个或多个图像内的对象的2D位置,使用相对应的相机的校准矩阵来确定真实世界内(即,环境102的3D空间内)对象的3D位置。如上文所提及,相机的校准矩阵定义相机的参数,这些参数使得能够将由相机拍摄的图像中的2D点(例如,各个图像像素)映射到在图像中捕获的真实世界场景的3D空间内的3D点。因此,基于由基于AI的对象检测引擎604在图像中所检测的对象的2D位置,对象位置计算器606有时可使用用于相机的校准矩阵来估计所检测的对象的3D位置。然而,为使对象位置计算器606准确地确定对象的3D位置,对象位置计算器606依赖于在由不同相机104以不同角度捕获的多个图像内所检测的对象的2D位置以及用于不同相机的相对应的校准矩阵。也就是说,在一些示例中,对象位置计算器606基于三角测量的原理,基于在不同图像中所检测的对象的2D位置的组合来确定对象的3D位置,所检测的对象的2D位置使用捕获图像的相机104的相对应的校准矩阵被转换到3D空间。在一些示例中,用于不同相机104的校准矩阵存储在存储器612中以供参考。

图6的示例的3D模型生成器608生成环境102的照片般真实的3D模型。在一些示例中,模型生成包括在二值化过程之后利用分割过程处理由相机104捕获的图像。在一些示例中,还可在单独的相机104处在本地执行分割过程。如上所述,分割过程用于从与前景中的对象相关联的像素中标识和分类出与背景相关联的像素。一旦图像经历了分割过程,3D模型生成器608就组合地分析所分割的图像中的不同图像,以生成环境102的3D点云,该环境102包括通过分割过程在前景中所检测的对象。此后,3D模型生成器608基于来自不同相机图像的颜色像素信息对3D点云进行纹理化或着色,以生成环境的最终的照片般真实的3D模型。

该示例的模型完整性分析器610将由3D模型生成器608生成的环境102的3D模型与如由对象位置计算器606(在基于AI的对象检测引擎604的输出的基础上)所确定的所检测的对象的3D位置进行比较。模型完整性分析器610进行该比较的目的是确认3D模型相对于真实世界环境102的准确性或完整性和/或标识需要校正的潜在错误。如上文所提及,3D模型中的潜在错误可包括对象的缺失部分和/或对象的重复部分。如本文中所使用,对象的一部分可包括对象的整体。也就是说,在一些示例中,错误可包括对象整体上从3D模型中缺失和/或对象整体上在3D模型中重复。

由对象位置计算器606所确定的对象的3D位置将不太可能确切地匹配由3D模型生成器608生成的环境102的3D模型的相对应的区域。因此,在一些示例中,模型完整性分析器610量化对象的3D位置与3D模型之间的差异,然后将量化的差异与置信阈值进行比较,该置信阈值与3D模型包含需要被校正的错误的所指定的置信级别相对应。如果满足置信阈值,则模型完整性分析器610可确定错误的性质(例如,假肯定和/或假否定)以及3D模型需要如何被校正。例如,模型完整性分析器610可利用阈值置信级别来确定足球场108上的运动员在3D模型中缺失腿。在一些此类实例中,3D模型生成器608可基于存储在存储器612中的人体身体的模型生成缺失的腿的点云表示。在一些示例中,3D模型生成器608基于如由基于AI的对象检测引擎604和对象位置计算器606所确定的运动员的骨骼模型或人体姿势模型来确定腿的特定形状(即,腿相对于运动员身体的剩余部分如何被定位)。在一些示例中,腿的特定形状可部分地基于对与同体育赛事相对应的视频流的先前帧相关联的所捕获的图像的分析、和/或对基于该先前帧生成的3D模型(包括对与先前帧相关联的3D模型的任何校正)的分析来确定。在生成缺失的腿的合适的点云表示之后,3D模型生成器608可将该点云表示插入到3D模型中,并且更新对所修改的3D模型的纹理化和着色,以产生包括运动员的完整身体的最终的照片般真实的3D模型。

在模型完整性分析器610确定所计算的对象的3D位置与3D模型之间的差异是对象的重复部分的结果的情况下,模型完整性分析器610可确定什么部分是重复的。也就是说,如果3D模型指示运动员具有两条左腿,则模型完整性分析器610确定这两条左腿中的哪一条与该运动员的实际的腿相对应以及哪一条腿是重复的。在一些示例中,模型完整性分析器610基于如由基于AI的对象检测引擎604和对象位置计算器606所确定的运动员的骨骼或人体姿势模型标识重复部分。一旦运动员的重复部分被标识,图6的3D模型生成器608就通过移除重复部分并对3D模型重新着色来修改3D模型,以产生没有重复内容的最终的照片般真实的模型。

尽管在图6中图示了实现图像处理系统600的示例方式,但是在图6中所图示的元件、过程和/或设备中的一个或多个能以任何其他方式被组合、划分、重新布置、省略、消除和/或实现。此外,示例通信接口602、示例基于AI的对象检测引擎604、示例对象位置计算器606、示例3D模型生成器608、示例模型完整性分析器610、示例存储器612、和/或更一般地,图6的示例图像处理系统600可通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如示例通信接口602、示例基于AI的对象检测引擎604、示例对象位置计算器606、示例3D模型生成器608、示例模型完整性分析器610、示例存储器612、和/或更一般地,图6的示例图像处理系统600中的任何一个可由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)来实现。当阅读到本专利的装置或系统权利要求中的任一项涵盖纯软件和/或固件实现时,示例通信接口602、示例基于AI的对象检测引擎604、示例对象位置计算器606、示例3D模型生成器608、示例模型完整性分析器610、和/或示例存储器612中的至少一个由此被明确地限定为包括包含该软件和/或固件的非瞬态计算机可读存储设备或存储盘(诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等)。更进一步地,除了图6中所图示的那些元件、过程和/或设备之外或者作为图6中所图示的那些元件、过程和/或设备的替代,示例图像处理系统600可包括一个或多个元件、过程和/或设备,和/或可包括所图示的元件、过程和/或设备中任一者或全部中的多于一个的元件、过程和/或设备。如本文所使用,短语“处于通信中”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。

在图7-图9中示出了表示用于实现图6的图像处理系统600的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是供由计算机处理器执行的可执行程序或可执行程序的一部分,计算机处理器诸如结合图10在下文中所讨论的示例处理平台1000中所示的处理器1012。程序可被具体化在存储于与处理器1012相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘或存储器之类的非瞬态计算机可读存储介质上的软件中,但是整个程序和/或其部分可替代地由除处理器1012之外的设备执行,和/或被具体化在固件或专用硬件中。进一步地,尽管参考图7-图9所图示的流程图描述示例程序,但是可替代地使用实现示例图像处理系统600的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。

如上文所提及,可使用存储于非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图7-图9的示例过程,非瞬态计算机和/或机器可读介质诸如硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在其中存储信息达任何时长(例如,达扩展的时间段、永久地、达简短的实例、用于临时缓冲和/或用于对信息进行高速缓存)的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。

“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。术语“和/或”当例如以诸如A、B和/或C之类的形式被使用时指的是A、B、C的任何组合或子集,诸如(1)单独的A、(2)单独的B、(3)单独的C、(4)A与B、(5)A与C、(6)B与C、以及(7)A与B与C。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的处理或执行的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。

图7的程序开始于框702,在框702处,示例基于AI的对象检测引擎604检测由相机104捕获的图像内的对象。在一些示例中,基于对图像本身的分析来检测对象。在一些示例中,基于对图像的分析以及对由相机104捕获的与视频流中的先前帧相关联的(例如,在图7的示例过程的先前迭代期间分析的)其他图像的分析来检测对象。在框704处,示例基于AI的对象检测引擎604确定所检测的对象是否是人。如果是人,则控制前进至框706,在框706处,示例基于AI的对象检测引擎604使用深度学习骨骼或人体姿势检测模型检测人的形状。此后,控制前进至框708。如果示例基于AI的对象检测引擎604确定所检测的对象不是人(框704),则控制直接前进至框708。

在框708处,示例基于AI的对象检测引擎604确定是否检测图像中的另一个对象。如果是,则控制返回至框702。否则,图7的示例过程前进至框710。在框710处,示例基于AI的对象检测引擎604确定是否存在来自不同相机104的、待分析的另一个同步捕获的图像。如果是,则控制返回至框702。否则,图7的示例过程前进至框712。

在框712处,示例3D模型生成器608基于同步捕获的图像生成环境102的3D模型。如在图7的所图示的示例中所表示,在前进至框712的3D模型生成之前,由示例基于AI的对象检测引擎604处理在同一时间点捕获的所有图像。然而,在其他示例中,由于3D模型生成是独立的过程,在一些示例中,框712可与图7的框702-框712并发地发生。

关于框712的实现的进一步细节在图8的示例流程图中提供。图8的示例过程开始于框802,在框802处,示例3D模型生成器608将由相机捕获的原始图像转换为二值化图像。在框804处,示例3D模型生成器608分割二值化图像以将图像的像素分类为与背景相对应或与前景中的对象相对应。在一些示例中,分割过程(框804)可在不将图像二值化的情况下实现。也就是说,在一些示例中,二值化过程(框802)可被省略。在框806处,示例3D模型生成器608确定是否存在另一个图像要处理。如果是,则控制返回至框802。否则,控制前进至框808,在框808处,示例3D模型生成器608基于图像的分割生成包括前景中的对象的环境102的3D点云。在框810处,示例3D模型生成器608基于来自原始图像的像素颜色信息对环境102的3D点云进行着色。此后,图8的示例过程结束并返回以完成图7的过程。

返回至图7,在示例3D模型生成器608生成环境102的3D模型(框712)之后,控制前进至框714。在框714处,示例对象位置计算器606使用用于相机104的校准矩阵以确定同步捕获的图像中所检测的对象的3D真实世界位置。在框716处,示例模型完整性分析器610将图像中所检测的对象的3D位置和环境102的3D模型中相对应的区域进行比较。在框718处,示例模型完整性分析器610确定对象的3D位置与3D模型之间的差异是否满足置信阈值。如果不满足,则控制直接前进至框724,在框724处,示例模型完整性分析器610确定是否存在同步捕获的图像中的另一个对象要分析。如果是,则控制返回至框714。

如果示例模型完整性分析器610确定对象的3D位置与3D模型之间的差异不满足置信阈值(框718),则控制前进至框720,在框720处,示例模型完整性分析器610确定差异的性质。也就是说,示例模型完整性分析器610确定对象的一部分是否缺失以及什么部分缺失,或确定对象的一部分是否重复以及什么部分重复。在框722处,示例3D模型生成器608基于差异的性质和所检测的对象的3D位置修改环境102的3D模型。

关于框722的实现的进一步细节在图9的示例流程图中提供。图9的示例过程开始于框902,在框902处,示例3D模型生成器608确定环境102的3D模型是否缺失所检测的对象的一部分。如果是,则控制前进至框904,在框904处,示例3D模型生成器608基于对象的模型生成对象的缺失部分的点云表示。在框906处,示例3D模型生成器608在与所计算的对象的3D位置相对应的位置处将对象的缺失部分的点云表示插入到环境102的3D点云中。此后,控制前进至框908。返回至框902,如果示例3D模型生成器608确定环境102的3D模型没有缺失对象的一部分,则控制直接前进至框908。

在框908处,示例3D模型生成器608确定环境102的3D模型是否包括所检测的对象的重复部分。在框910处,示例3D模型生成器608从环境102的3D点云移除重复部分。在框912处,示例3D模型生成器608基于来自由相机104捕获的原始图像的颜色像素信息对所修改的环境102的3D点云进行着色。此后,图9的示例过程结束并返回以完成图7的过程。

返回至图7,在示例3D模型生成器608修改环境102的3D模型(框722)之后,控制前进至框724,以确定是否存在另一个对象要分析,如上文所提及。如果在同步捕获的图像中没有更多的对象要分析,则控制前进至框726以确定是否继续。如果所分析的图像是视频流的一部分,则该示例过程可继续。在此类实例中,该过程将继续以分析同步捕获的图像的后续集合。因此,如果确定了要继续,则控制返回至框702以重复该过程。否则,图7的示例过程结束。如上文所提及,在一些示例中,由图7的示例过程的一次迭代得到的分析可用于促进该过程的后续迭代期间对图像的分析。

图10是被构造用于执行图7-图9的指令以实现图6的图像处理系统600的示例处理器平台1000的框图。处理器平台1000可以是例如服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPad

所图示示例的处理器平台1000包括处理器1012。所图示示例的处理器1012是硬件。例如,处理器1012可以由来自任何所期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体的(例如,硅基)器件。在该示例中,处理器实现示例基于AI的对象检测引擎604、示例对象位置计算器606、示例3D模型生成器608、和示例模型完整性分析器610。

所图示示例的处理器1012包括本地存储器1013(例如,高速缓存)。所图示示例的处理器1012经由总线1018而与包括易失性存储器1014和非易失性存储器1016的主存储器进行通信。易失性存储器1014可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、

所图示示例的处理器平台1000还包括接口电路1040。接口电路1040可由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)、

在所图示的示例中,一个或多个输入设备1042被连接至接口电路1040。(多个)输入设备1042准许用户将数据和/或命令输入到处理器1012中。(多个)输入设备可以由例如音频传感器、话筒、(静止的或视频)相机、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点鼠标和/或语音识别系统实现。

一个或多个输出设备1044也被连接至所图示示例的接口电路1040。输出设备1044可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示示例的接口电路1040典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

所图示示例的接口电路1040还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络1046与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以太网连接、数字订户线路(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。

所图示示例的处理器平台1000还包括用于存储软件和/或数据的一个或多个大容量存储设备1048。此类大容量存储设备1048的示例包括软盘驱动器、硬驱动器盘、紧凑盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)系统、以及数字多功能盘(DVD)驱动器。

图7-图9的机器可执行指令1022可以被存储在大容量存储设备1048中,存储在易失性存储器1014中,存储在非易失性存储器1016中,和/或存储在诸如CD或DVD的可移除非瞬态计算机可读存储介质上。

根据前述内容,将理解,已经公开了示例方法、装置和制品,该示例方法、装置和制品自动地验证基于使用分割过程分析的图像所生成的环境的3D模型的准确性和/或自动地校正基于使用分割过程分析的图像所生成的环境的3D模型中的错误。通过对图像的独立分析以基于深度学习模型检测图像内的对象,并且通过基于用于捕获图像的相机的校准矩阵和图像内对象被检测到之处所在的相对应的2D位置来确定所检测的对象的3D位置,来实现此类错误检测和校正。该方法使得能以比涉及手动编辑模型以添加缺失内容和/或移除重复内容的其他方法相比更高效的方式生成环境的照片般真实的3D模型。此外,本文所公开的检测和跟踪环境中的对象的过程能够利用更高的阈值来实现分割过程,从而导致对3D模型生成的增加的准确度和更高的处理器效率。本文公开的方法、装置和制品相应地涉及计算机功能的一个或多个改善。

示例1包括一种装置,所述装置包括:对象位置计算器,用于确定在环境的第一图像内和在所述环境的第二图像内所检测的对象的三维(3D)位置,所述第一图像由在相对于所述环境的第一位置处的第一相机捕获,所述第二图像由在相对于所述环境的第二位置处的第二相机捕获,所述第二位置与所述第一位置不同;3D模型生成器,用于基于所述第一图像和所述第二图像生成所述环境的3D模型;以及模型完整性分析器,用于检测所述对象的所述3D位置与所述3D模型之间的差异,所述3D模型生成器用于基于所述差异自动地修改所述3D模型。

示例2包括如示例1所述的装置,其特征在于,所述对象的所述3D位置定义以下至少一项:与所述环境相对应的真实世界3D空间内对象的放置、取向、或形状。

示例3包括如示例1或2中任一项所述的装置,其特征在于,所述3D模型生成器用于:独立于所述对象位置计算器确定所述对象的所述3D位置来生成所述3D模型。

示例4包括如示例1-3中任一项所述的装置,进一步包括对象检测引擎,用于使用深度学习对象检测模型检测所述环境的所述第一图像中的所述对象。

示例5包括如示例1所述的装置,其特征在于,响应于所述差异指示所述对象的一部分从所述3D模型缺失,所述3D模型生成器用于通过添加缺失部分来修改所述3D模型。

示例6包括如示例5所述的装置,其特征在于,所述缺失部分与所述对象的整体相对应。

示例7包括如示例5或6中任一项所述的装置,其特征在于,所述3D模型生成器用于通过以下步骤添加所述缺失部分:基于所述对象的模型生成所述缺失部分的点云表示;在与所述对象的所述3D位置相对应的位置处将所述缺失部分的所述点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失部分的所述点云表示进行着色。

示例8包括如示例5-7中任一项所述的装置,其特征在于,所述对象与人相对应,所述对象位置计算器用于通过基于深度学习骨骼检测模型确定所述人的身体部位的位置来确定所述对象的3D位置,并且所述对象的所述缺失部分与所述人的缺失的身体部位相对应。

示例9包括如示例8所述的装置,其特征在于,所述模型完整性分析器用于通过将所述人的所述身体部位的位置和所述3D模型的与所述对象的所述3D位置相对应的区域进行比较来检测所述对象的位置与所述3D模型之间的差异。

示例10包括如示例9所述的装置,其特征在于,所述3D模型生成器用于通过以下步骤添加所述缺失部分:基于人体模型生成所述缺失的身体部位的点云表示;基于所述骨骼检测模型将缺失的身体部位的点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失的身体部位的点云表示进行着色。

示例11包括如示例1-10中任一项所述的装置,其特征在于,响应于所述模型完整性分析器确定所述3D模型发与所述对象的位置相对应的区域包括所述对象的重复部分,所述3D模型生成器用于通过移除所述重复部分来修改所述3D模型。

示例12包括如示例1-11中任一项所述的装置,其特征在于,所述第一图像在与所述第二图像的相同时间被捕获。

示例13包括如示例1-12中任一项所述的装置,其特征在于,所述环境与体育赛事相关联,并且所述对象与所述体育赛事中的参与者和用于所述体育赛事的体育装备中的至少一个相对应。

示例14包括如示例1-13中任一项所述的装置,其特征在于,所述环境与运动场相对应,并且所述对象与在所述运动场上举行的比赛中使用的球相对应。

示例15包括如示例1-14中任一项所述的装置,其特征在于,所述3D模型生成器用于响应于所述差异满足置信阈值而自动地修改所述3D模型,并且在所述差异不满足所述置信阈值时忽视所述差异。

示例16包括如示例1-15中任一项所述的装置,其特征在于,所述对象位置计算器用于基于用于所述第一相机的第一校准矩阵和用于所述第二相机的第二校准矩阵确定所述对象的所述3D位置。

示例17包括如示例1-16中任一项所述的装置,其特征在于,所述第一图像是由所述第一相机捕获的视频流中的第一帧,所述对象位置计算器用于基于由所述第一相机在所述第一图像之前捕获的先前图像确定所述第一图像内所述对象的所述3D位置,所述先前图像与所述视频流中的不同帧相对应。

示例18包括一种系统,所述系统包括:第一相机,用于捕获环境的第一图像,所述第一相机在相对于所述环境的第一位置处;第二相机,用于捕获所述环境的第二图像,所述第二相机在与所述第一位置不同的第二位置处;至少一个处理器;以及存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器:确定所述第一图像内和所述第二图像内所检测的对象的三维(3D)位置;基于所述第一图像和所述第二图像生成所述环境的3D模型;检测所述对象的所述3D位置与所述3D模型之间的差异;以及基于所述差异自动地修改所述3D模型。

示例19包括如示例18所述的系统,其特征在于,所述对象的所述3D位置定义一项至少一项:与所述环境相对应的真实世界3D空间内对象的放置、取向、或形状。

示例20包括如示例18或19中任一项所述的系统,其特征在于,所述指令使得所述至少一个处理器独立于所述至少一个处理器确定所述对象的所述3D位置来生成所述3D模型。

示例21包括如示例18-20中任一项所述的系统,其特征在于,所述指令进一步使得所述至少一个处理器使用深度学习对象检测模型检测所述环境的所述第一图像中的所述对象。

示例22包括如示例18-21中任一项所述的系统,其特征在于,所述指令进一步使得所述至少一个处理器响应于所述差异指示所述对象的一部分从所述3D模型缺失,通过添加缺失部分来修改所述3D模型。

示例23包括如示例22所述的系统,其特征在于,所述缺失部分与所述对象的整体相对应。

示例24包括如示例22或23中任一项所述的系统,其特征在于,所述指令使得所述至少一个处理器通过以下步骤添加所述缺失部分:基于所述对象的模型生成所述缺失部分的点云表示;在与所述对象的所述3D位置相对应的位置处将所述缺失部分的所述点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失部分的所述点云表示进行着色。

示例25包括如示例22-24中任一项所述的系统,其特征在于,所述对象与人相对应,所述指令使得所述至少一个处理器通过基于深度学习骨骼检测模型确定所述人的身体部位的位置来确定所述对象的3D位置,并且所述对象的所述缺失部分与所述人的缺失的身体部位相对应。

示例26包括如示例25所述的系统,其特征在于,所述指令使得所述至少一个处理器通过将所述人的所述身体部位的位置和所述3D模型的与所述对象的所述3D位置相对应的区域进行比较来检测所述对象的位置与所述3D模型之间的差异。

示例27包括如示例26所述的系统,其特征在于,所述指令使得所述至少一个处理器通过以下步骤添加所述缺失的身体部位:基于人体模型生成所述缺失的身体部位的点云表示;基于所述骨骼检测模型将所述缺失的身体部位的点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失的身体部位的所述点云表示进行着色。

示例28包括如示例18-27中任一项所述的系统,其特征在于,所述指令进一步使得所述至少一个处理器响应于确定所述3D模型的与所述对象的位置相对应的区域包括所述对象的重复部分,通过移除所述重复部分来修改所述3D模型。

示例29包括如示例18-28中任一项所述的系统,其特征在于,所述第一相机用于在所述第二相机捕获所述第二图像的同时捕获所述第一图像。

示例30包括如示例18所述的系统,其特征在于,所述环境与体育赛事相关联,并且所述对象与所述体育赛事中的参与者和用于所述体育赛事的体育装备中的至少一个相对应。

示例31包括如示例18-30中任一项所述的系统,其特征在于,所述环境与运动场相对应,并且所述对象与在所述运动场上举行的比赛中使用的球相对应。

示例32包括如示例18-31中任一项所述的系统,其特征在于,所述指令使得所述至少一个处理器响应于所述差异满足置信阈值而自动地修改所述3D模型,并且用于在所述差异不满足所述置信阈值时忽视所述差异。

示例33包括如示例18-32中任一项所述的系统,其特征在于,所述指令使得所述至少一个处理器基于用于所述第一相机的第一校准矩阵和用于所述第二相机的第二校准矩阵确定所述对象的所述3D位置。

示例34包括如示例18-33中任一项所述的系统,其特征在于,所述第一图像是由所述第一相机捕获的视频流中的第一帧,所述指令使得所述至少一个处理器基于由所述第一相机在所述第一图像之前捕获的先前图像确定所述第一图像内所述对象的所述3D位置,所述先前图像与所述视频流中的不同帧相对应。

示例35包括一种非瞬态计算机可读介质,所述非瞬态计算机可读介质包括指令,所述指令在被执行时,使得机器至少用于:确定在环境的第一图像内和在所述环境的第二图像内所检测的对象的三维(3D)位置,所述第一图像由在相对于所述环境的第一位置处的第一相机捕获,所述第二图像由在相对于所述环境的第二位置处的第二相机捕获,所述第二位置与所述第一位置不同;基于所述第一图像和所述第二图像生成所述环境的3D模型;检测所述对象的所述3D位置与所述3D模型之间的差异;以及基于所述差异自动地修改所述3D模型。

示例36包括如示例35所述的非瞬态计算机可读介质,其特征在于,所述对象的所述3D位置定义以下至少一项:与所述环境相对应的真实世界3D空间内对象的放置、取向、或形状。

示例37包括如示例35或36中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器独立于所述机器确定所述对象的所述3D位置来生成所述3D模型。

示例38包括如示例35-37中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器使用深度学习对象检测模型检测所述环境的所述第一图像中的所述对象。

示例39包括如示例35-38中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器响应于所述差异指示所述对象的一部分从所述3D模型缺失,通过添加缺失部分来修改所述3D模型。

示例40包括如示例39所述的非瞬态计算机可读介质,其特征在于,所述缺失部分与所述对象的整体相对应。

示例41包括如示例39或40中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器通过以下步骤添加所述缺失部分:基于所述对象的模型生成所述缺失部分的点云表示;在与所述对象的所述3D位置相对应的位置处将所述缺失部分的所述点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失部分的所述点云表示进行着色。

示例42包括如示例39-41中任一项所述的非瞬态计算机可读介质,其特征在于,所述对象与人相对应,所述指令进一步使得所述机器通过基于深度学习骨骼检测模型确定所述人的身体部位的位置来确定所述对象的所述3D位置,并且所述对象的所述缺失部分与所述人的缺失的身体部位相对应。

示例43包括如示例42所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器通过将所述人的所述身体部位的位置和所述3D模型的与所述对象的所述3D位置相对应的区域进行比较来检测所述对象的位置与所述3D模型之间的差异。

示例44包括如示例43所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器通过以下步骤添加所述缺失的身体部位:基于人体模型生成所述缺失的身体部位的点云表示;基于所述骨骼检测模型将所述缺失的身体部位的点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失的身体部位的点云表示进行着色。

示例45包括如示例35-44中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器响应于确定所述3D模型的与所述对象的位置相对应的区域包括所述对象的重复部分,通过移除所述重复部分来修改所述3D模型。

示例46包括如示例35-45中任一项所述的非瞬态计算机可读介质,其特征在于,所述第一图像在与所述第二图像的相同时间被捕获。

示例47包括如示例35-46中任一项所述的非瞬态计算机可读介质,其特征在于,所述环境与体育赛事相关联,并且所述对象与所述体育赛事中的参与者和用于所述体育赛事的体育装备中的至少一个相对应。

示例48包括如示例35-47中任一项所述的非瞬态计算机可读介质,其特征在于,所述环境与运动场相对应,并且所述对象与在所述运动场上举行的比赛中使用的球相对应。

示例49包括如示例35-48中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器响应于所述差异满足置信阈值自动地修改所述3D模型,并且在所述差异不满足所述置信阈值时忽视所述差异。

示例50包括如示例35-49中任一项所述的非瞬态计算机可读介质,其特征在于,所述指令进一步使得所述机器基于用于所述第一相机的第一校准矩阵和用于所述第二相机的第二校准矩阵确定所述对象的所述3D位置。

示例51包括如示例35-50中任一项所述的非瞬态计算机可读介质,其特征在于,所述第一图像是由所述第一相机捕获的视频流中的第一帧,所述指令使得所述机器基于由所述第一相机在所述第一图像之前捕获的先前图像确定所述第一图像内所述对象的所述3D位置,所述先前图像与所述视频流中的不同帧相对应。

示例52包括一种方法,所述方法包括:通过利用至少一个处理器执行指令,确定在环境的第一图像内和在所述环境的第二图像内所检测的对象的三维(3D)位置,所述第一图像由在相对于所述环境的第一位置处的第一相机捕获,所述第二图像由在相对于所述环境的第二位置处的第二相机捕获,所述第二位置与所述第一位置不同;通过利用所述至少一个处理器执行指令,基于所述第一图像和所述第二图像生成所述环境的3D模型;通过利用所述至少一个处理器执行指令,检测所述对象的所述3D位置与所述3D模型之间的差异;以及通过利用所述至少一个处理器执行指令,基于所述差异自动地修改所述3D模型。

示例53包括如示例52所述的方法,进一步包括:立于确定所述对象的所述3D位置来生成所述3D模型。

示例54包括如示例52或53中任一项所述的方法,进一步包括:使用深度学习对象检测模型检测所述环境的所述第一图像中的所述对象。

示例55包括如示例52-54中任一项所述的方法,进一步包括:响应于所述差异指示所述对象的一部分从所述3D模型缺失,通过添加缺失部分来修改所述3D模型。

示例56包括如示例55所述的方法,其特征在于,添加所述缺失部分包括:基于所述对象的模型生成所述缺失部分的点云表示;在与所述对象的所述3D位置相对应的位置处将所述缺失部分的所述点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失部分的所述点云表示进行着色。

示例57包括如示例55或56中任一项所述的方法,其特征在于,所述对象与人相对应,确定所述对象的位置包括基于深度学习骨骼检测模型确定所述人的身体部位的位置,并且所述对象的所述缺失部分与所述人的缺失的身体部位相对应。

示例58包括如示例57所述的方法,进一步包括:通过将所述人的所述身体部位的位置和所述3D模型中的所述对象的所述3D位置相对应的区域进行比较来检测所述对象的位置与所述3D模型之间的差异。

示例59包括如示例58所述的方法,其特征在于,添加所述缺失的身体部位包括:基于人体模型生成所述缺失的身体部位的点云表示;基于所述骨骼检测模型将所述缺失的身体部位的点云表示定位在所述3D模型内;以及基于来自所述第一图像或所述第二图像中的至少一个图像的像素颜色信息对所述缺失的身体部位的点云表示进行着色。

示例60包括如示例52-59中任一项所述的方法,进一步包括:响应于确定所述3D模型的与所述对象的位置相对应的区域包括所述对象的重复部分,通过移除所述重复部分来修改所述3D模型。

示例61包括如示例52-60中任一项所述的方法,其特征在于,所述第一图像在与所述第二图像相同的时间被捕获。

示例62包括如示例52-61中任一项所述的方法,其特征在于,所述环境与体育赛事相关联,并且所述对象与所述体育赛事中的参与者和用于所述体育赛事的体育装备中的至少一个相对应。

示例63包括如示例52-62中任一项所述的方法,其特征在于,所述环境与运动场相对应,并且所述对象与在所述运动场上举行的比赛中使用的球相对应。

示例64包括如示例52-63中任一项所述的方法,进一步包括:响应于所述差异满足置信阈值而自动地修改所述3D模型,并且在所述差异不满足所述置信阈值时忽视所述差异。

示例65包括如示例52-64中任一项所述的方法,进一步包括:基于用于所述第一相机的第一校准矩阵和用于所述第二相机的第二校准矩阵确定所述对象的所述3D位置。

示例66包括如示例52-65中任一项所述的方法,其特征在于,所述第一图像是由所述第一相机捕获的视频流中的第一帧,所述方法进一步包括基于由所述第一相机在所述第一图像之前捕获的先前图像确定所述第一图像内所述对象的所述3D位置,所述先前图像与所述视频流中的不同帧相对应。

示例67包括一种非瞬态计算机可读介质,所述非瞬态计算机可读介质包括指令,所述指令在被执行时,使得机器至少执行示例52-66中任一项所述的方法。

尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利示例范围内的全部方法、装置和制品。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号