CN114730485A - 用于生成对象的虚拟场景的方法、装置和计算机程序 - Google Patents
用于生成对象的虚拟场景的方法、装置和计算机程序 Download PDFInfo
- Publication number
- CN114730485A CN114730485A CN202080081830.5A CN202080081830A CN114730485A CN 114730485 A CN114730485 A CN 114730485A CN 202080081830 A CN202080081830 A CN 202080081830A CN 114730485 A CN114730485 A CN 114730485A
- Authority
- CN
- China
- Prior art keywords
- scene
- objects
- image
- determining
- coordinate space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开内容涉及图像分析领域,具体涉及用于生成对象的虚拟场景的方法。本公开内容还涉及包括被配置成执行该方法的电路的装置。本公开内容还涉及适于执行该方法的计算机程序产品。
Description
技术领域
本公开内容涉及图像分析领域,具体涉及用于生成对象的虚拟场景的方法。本公开内容还涉及包括被配置成执行该方法的电路的装置。本公开内容还涉及适于执行该方法的计算机程序产品。
背景技术
在图像搜索方法中,通常期望确定和识别图像中存在哪些对象。图像搜索方法和图像识别方法通常用于商业用途,例如用于生成产品目录和产品建议。期望实现这样一种系统:用户可以拍摄房间的照片,图像搜索处理可以使用图像数据在因特网上搜索产品目录以返回例如给定产品的不同商店价格。
然而,房间通常充满对象,并且通常期望向房间添加新产品。
通常,可以使用图像搜索算法来搜索图像的空的空间。一些计算机程序具有使用所搜索的图像中的所识别的空的空间来推荐要放置在该空的空间中的产品或对象的能力。
典型的产品推荐软件程序基于所识别的空的空间,并且提出如何填充这样的空的空间的建议。
因此,在图像搜索方法和空间搜索方法的领域中存在改进的空间。
发明内容
鉴于上述内容,本发明的目的是提供一种用于重新布置图像的场景中的对象以呈现用于陈设的各种建议的方法。本发明的另一个目的是使用图像分析方法和图像处理方法以自动或半自动的方式实现上述目的。
为了实现上述目的中的至少一个以及根据以下描述将明显的其他目的,根据本发明提供了一种计算机实现的方法、一种用于执行该方法的装置以及一种用于执行该方法的计算机程序产品。根据说明书,该装置的优选实施方式将是明显的。
根据第一方面,提供了一种用于生成对象的虚拟场景的计算机实现的方法,该方法包括以下步骤:
接收场景的图像;
确定场景的3D坐标空间;
识别场景内的一个或更多个对象,其中,识别包括将图像分割算法应用于图像的图像数据;
针对场景内的每个所识别的对象,确定对象的体所使用的3D坐标空间内的子空间;
定义3D坐标空间内的空的空间;
接收与要放置在空的空间之一中的另一对象有关的数据;
确定所述另一对象的体不适合在所述空的空间之一内;
从一个或更多个对象中确定对象的子集,其中,对象的子集中的每个对象具有与所述空的空间之一相邻的在3D坐标空间中的体;
在3D坐标空间中重新布置对象的子集中的至少一个对象,其中,重新布置包括针对每个要重新布置的对象:
通过分析场景的图像的图像数据以及/或者通过分析图像的3D坐标空间来识别场景中的一个或更多个表面或线;
确定一个或更多个表面或线中的表面或线;
在3D坐标空间中沿着所述表面或线移动待重新布置的所述对象以增加所述空的空间之一的大小,使得所述另一对象适合所述空的空间之一;
将另一对象放置在所述空的空间中。
可以使用任何已知的算法来分割(提取、区分等)图像中的对象,例如使用以下中的一个或更多个的算法:边缘特征、二进制模式、方向模式、梯度特征、时空域特征等。
识别场景内的一个或更多个对象的步骤可以通过图像搜索算法来完成。术语“图像搜索算法”在本说明书的上下文中应被理解为在数据库中搜索与图像的对象相似的(对象的)图像并且使用结果(例如在数据库中找到的相似图像的标签/分类)来对对象进行分类的任何已知方式。提交本公开内容时的已知商业图像搜索算法的示例包括:Google图像、TinEye和阿里巴巴拍立淘。
所提供的方法是用于生成虚拟场景的改进方法。通过识别空的空间以及重新布置场景中的对象,可以利于自动图像处理方法或半自动图像处理方法来生成虚拟场景。通过识别对象并且移动当前对象以适合新对象,可以以更高效的方式执行该方法,因为以自动方式减少了移动对象的可能方式。因此,可以以高效的方式操作图像,并且可以以高效的方式生成虚拟场景。
通过沿着所识别的表面或线(以下称为重新布置表面和重新布置线)移动对象,可以提供用于生成虚拟场景的低复杂度模型。可以通过任何已知的算法来识别所识别的重新布置表面或重新布置线,例如使用以下中的一个或更多个的算法:边缘特征、二进制模式、方向模式、梯度特征、时空域特征等。因此,可以通过对图像的图像数据使用已知的算法(例如,边缘检测算法、分割算法、平面检测算法、或RANSAC算法、或Hough算法等)分析场景的图像的图像数据来识别重新布置表面或重新布置线。
可以通过计算图像的3D坐标空间中的平面或者通过3D坐标空间中或场景的图像的图像数据中的边缘检测来确定重新布置表面或重新布置线,以识别重新布置线。
根据一些实施方式,该方法还包括:在定义场景的空间内的空的空间的步骤之前,移除场景中的一个或更多个对象中的至少一个对象。作为示例,可以在定义空的空间之前从场景中移除任何其他对象的沙发。这又将产生场景中更大的空的空间,这从图像操作的角度来看对于生成虚拟场景可能是有利的。所识别的要移除的对象的体可以用于以高效的方式从场景中移除对象。可以采用任何合适的已知图像处理技术来例如扩展被移除的对象曾经所处的场景中的地板或墙壁。
根据一些实施方式,该方法还包括:确定所移除的对象的对象类型,并且其中,所接收的关于另一对象的数据包括与所移除的对象相同的对象类型。作为示例,如果具有对象类型沙发的对象被移除,则另一对象可以具有对象类型沙发。在另一示例中,如果所移除的对象类型是台灯,则另一对象可以是灯。通过这种配置,用户可以交换对象,而没有该方法添加不适合替换的对象的风险。可以以更高效的方式执行关于另一对象的数据的接收,因为在接收另一对象时可以使用过滤器,从而减少可能对象的数目。
根据一些实施方式,确定对象的子集包括确定所接收的关于另一对象的数据的对象类别,以及确定对象的子集,使得对象的子集中的每个对象的对象类别等于所接收的关于另一对象的数据的对象类别。作为示例,如果要插入厨房工作台,则通过该方法仅可以移动厨房家具。因此,可以提高图像操作的效率。因此,可以实现用于生成虚拟场景的有效方法。通过确定对象类别,可以以高效的方式执行图像处理。
可以针对所移除的对象确定对象类别。在这种情况下,关于另一对象的数据可以包括相同的对象类别。在这样的示例中,如果沙发被移除,则可以将对象类别确定为“起居室座位区”。因此,另一对象可以在相同的对象类别内,并且可以是沙发或椅子或躺椅等。通过确定对象类别,可以以高效的方式执行图像操作,因为对象类别可以用作图像分析的过滤器。
根据一些实施方式。该方法还包括确定场景的场景类别,其中,场景类别与场景中的一个或更多个对象中的至少一个的对象类别对应。用于确定场景类别的对象类别可以是一个或更多个对象中最常见的对象类别。最常见的对象类别可以是所识别的对象的定义类别。作为示例,通常在厨房中找到刀叉餐具,并且因此如果对象被定义为刀叉餐具,则可以将场景类别确定为厨房。在另一示例中,浴缸可以是用于定义场景类别的定义对象类别,因为在浴室中找到浴缸。由此,可以以更高效的方式执行该方法,因为该配置提供了用于接收与另一对象有关的数据的过滤选项。在一些实施方式中,场景中的一个或更多个对象中最常见的对象类别被用于确定场景类别。
根据接下来的实施方式,接收关于另一对象的数据的步骤基于所确定的场景类别。因此,如果场景类别被确定为厨房,则另一对象将适合于放置在厨房中,例如厨房家具。由此,可以以更高效的方式执行该方法,因为该配置提供了用于接收与另一对象有关的数据的过滤选项。在另一示例中,如果场景类别是浴室,则该方法可以将过滤器放在可能的其他对象上,例如不包括包含纺织品的家具。
根据一些实施方式,该方法还包括:确定3D坐标空间中的一个或更多个排除区域,并且其中,执行移动所述对象的步骤,使得没有对象被放置在一个或更多个排除区域的排除区域中。作为示例,可以将TV前面的区域确定为排除区域,并且因此,没有大的对象将被放置在TV前面。在另一示例中,可以将桌子下面的空间确定为排除区域,因此没有对象将被放置在桌子下面。因此,本实施方式允许根据被定义为不适合于对象的场景中的特定区域进行图像操作。因此可以实现用于图像操作的更灵活的方法。
在一些实施方式中,基于场景中的一个或更多个对象中的至少一个的功能来确定至少一个排除区域。作为示例,由于发生火灾的风险增加,可以确定排除区域在壁炉附近。在另一示例中,窗或辐射器可以影响排除区域的确定。有利地,可以基于场景中的对象灵活地确定排除区域。因此,可以以灵活的方式自动地确定排除区域,进一步利于使用图像分析来以自动或半自动方式实现图像操作。
在一些实施方式中,至少一个排除区域基于场景类别。作为示例,如果场景类别被确定为浴室,则可以确定排除区域以满足建筑物规定。有利地,可以基于场景中的场景类别灵活地确定排除区域。因此,可以以灵活的方式自动地确定排除区域,进一步利于使用图像分析来以自动或半自动方式实现图像操作。
根据一些实施方式,该方法还包括在3D坐标空间中的两个对象之间的预定义的最小距离,并且其中,执行对场景中的对象的子集中的至少一个对象进行重新布置,使得经重新布置的对象不在距3D坐标空间中的另一对象的预定义的最小距离内。有利地,减少了对象的可能放置的数量,这可以提高图像分析的效率。因此,可以以更高效的方式执行该方法,因为以自动方式减少了移动对象的可能方式。
根据一些实施方式,识别场景中的一个或更多个重新布置表面或重新布置线的步骤包括识别3D坐标空间的子空间中的一个或更多个重新布置表面或重新布置线,其中,子空间对应于由对象的子集中的每个对象的体定义的3D坐标空间中的组合体。由此,更高效地实现了识别步骤。
根据一些实施方式,确定一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线的步骤包括:确定与要在3D坐标空间中重新布置的对象的体相邻或相交的重新布置表面或重新布置线。由此,待移动的对象可以移动最小距离。因此,可以以更高效的方式执行该方法,因为以自动方式减少了移动对象的可能方式。
根据一些实施方式,确定一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线的步骤包括:确定在与要在3D坐标空间中重新布置的对象的体相距阈值距离内的重新布置表面或重新布置线。因此,可以以更高效的方式执行该方法,因为以自动方式减少了移动对象的可能方式。
根据一些实施方式,该方法还包括以下步骤:请求来自用户的关于对象类型的输入;
接收来自用户的输入,并且其中,接收关于另一对象的数据的步骤基于该输入。因此,可以以更高效的方式执行接收另一对象的步骤,因为从中选择的有限数目的对象将可以用作另一对象。通过请求来自用户的输入,可以以高效的方式执行图像分析,因为用户输入可以涉及图像分析的任何过滤。
根据第二方面,提供了一种被配置成生成对象的虚拟场景的装置,该装置包括被配置成执行上述方法的电路。该装置可以包括一个或更多个处理器。
根据第三方面,提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有当由具有处理能力的装置执行时适于执行上述方法的指令。
第二方面和第三方面通常可以具有与第一方面相同的特征和优点。
通常,除非本文另有明确定义,否则权利要求中使用的所有术语将根据其在技术领域中的普通含义来解释。除非另外明确说明,否则对“一/一个/该[元件、装置、部件、方法、步骤等]”的所有引用都应公开解释为是指所述元件、装置、部件、方法、步骤等的至少一个实例。除非明确说明,否则本文中公开的任何方法的步骤不必以公开的确切顺序来执行。
附图说明
本发明的上述及其他目的、特征和优点将通过参照附图对本发明的优选实施方式的说明性且非限制性的以下详细描述而更好地理解,在附图中,相同的附图标记将用于相似的元件,在附图中:
图1A示出了场景的图像。
图1B示出了图1A的其中移除了对象的场景。
图1C示出了图1B中的场景的对象的重新布置。
图2A示出了场景的另一图像。
图2B示出了图2A的场景的排除区域。
图2C示出了图2B中的场景中的对象的重新布置。
图3示出了用于生成对象的虚拟场景的计算机实现的方法的流程图。
具体实施方式
现在将在下文中参照附图更全面地描述本发明,附图中示出了本发明的当前优选实施方式。然而,可以以许多不同的形式来实施本发明,而不应该被解释为限于本文中阐述的实施方式;相反,提供这些实施方式是为了详尽和完整,并且向技术人员充分传达本发明的范围。
应当理解,本发明不限于所示的实施方式。因此,在由所附权利要求唯一限定的本发明的范围内,可以想到若干修改和变型。
图像识别是搜索和扫描图像以识别和分类所述图像内的对象的常用工具。图像识别算法(有时称为图像分类算法)的目的是返回关于图像中存在的不同对象的信息。图像识别有时可以与空间搜索算法一起使用,以识别图像中可以放置另一对象的空区域。
下面将描述用于生成对象的虚拟场景的方法。该方法将允许将对象放置在图像中的场景的空区域中。该方法还允许自动重新布置图像中的对象,使得可以将更多种类的对象放置在图像中。
参照图1A至图1C,公开了如图像100所描绘的房间/场景。图像100可以由移动装置(智能电话、身体佩戴的摄像装置等)捕获并且被发送至另一装置用于分析。图像100可以由摄像装置捕获。可以使用用于捕获图像的任何其他合适的装置,例如通过使用虚拟现实头部装置等。图像100可以描绘场景或设置。场景可以具有例如起居室、走廊或厨房台的环境。环境可以是描述图像100的设置的场景类别。场景类别可以将图像的设置描述为例如起居室的“座位区域”。图像100包括在X、Z平面中延伸的地面112、在Y、Z平面中延伸的第一壁114以及在X、Y平面中延伸的第二壁116。图像100示出了第二壁116上的窗108和绘画110。
图像100包括多个对象,在该示例中为三座沙发104、两座沙发106、扶手椅118和咖啡桌102。图像100还包括其中不存在对象的空的空间120。
为了生成图像的虚拟场景,可以使用包括一个或更多个处理器的装置。一个或更多个处理器可以被配置成执行包括代码段的计算机程序产品,该代码段具有用于如何生成对象的虚拟场景的方法的指令。该装置可以通过接收图像并且处理所述图像来生成虚拟场景。通过图像分析和图像操作来完成所述图像的处理。可以将所生成的虚拟场景显示在装置或移动装置等上。注意,虚拟场景可以被显示在用于显示虚拟场景的任何合适的装置上。
图像100可以被提供为2D图像。通过对图像执行图像分析,可以确定不同的子空间。当根据所要求保护的方法确定用于操作图像的子空间时,可以仅处理图像要被操作的一部分。因此,提供了一种用于高效地提供虚拟场景的方法。为了准确地确定由所识别的对象的体使用的场景的空间内的子空间,确定(S04)3D坐标空间。
为了获得对象在虚拟场景中的高精度取向和位置,计算并且确定S04图像沿X、Y、Z平面/方向的3D坐标空间。可以通过对图像应用算法来确定(S04)3D坐标空间。注意,存在可以适合于计算(S04)3D坐标空间的许多算法。作为示例,可以通过对图像100应用平面检测算法、或RANSAC算法、或Hough算法等来计算(S04)3D坐标空间。
当处理图像时,识别S06一个或更多个对象。可以通过图像搜索算法来识别S06场景内的对象。在本说明书的上下文中,术语“图像搜索算法”应被理解为在数据库中搜索与图像的对象相似的(对象的)图像并且使用结果(例如在数据库中找到的相似图像的标签/分类)来对对象进行分类的任何已知方式。提交本公开内容时的已知商业图像搜索算法的示例包括Google图像、TinEye和阿里巴巴拍立淘。图像搜索算法通常包括图像分割算法。
通过识别S06场景内的一个或更多个对象,可以确定这些对象在3D坐标空间中的位置、大小和朝向。场景中的每个对象包括体或由体限定。
换言之,在3D坐标空间内,可以针对所识别S06的一个或更多个对象确定体的体积。对于每个所识别的对象,确定S08由对象的体使用的子空间。因此,参考在步骤S04中确定的3D坐标空间(坐标等),确定S06场景空间内的体的子空间。例如,体可以是区域或体积等。3D坐标空间可以减少计算场景中每个所识别的对象的位置所需的处理时间。
当识别出至少一个对象的存在和体时,可以将未被任何对象占据的(同样,在3D坐标空间中的)区域确定为空的空间120,如图1B所示。为处理装置定义空的空间,以生成可以放置在图像中的对象。
通过定义S14图像100的空的空间120,可以计算关于在何处放置另一对象的信息。通过确定空的空间120的面积或体积,可以在接收另一对象时使用这样的数据。例如,对于已经适合所确定的空的空间120的对象,可以存在过滤选项。通过定义S14空的空间,在3D坐标空间中提供了已经存在于图像中的对象(在步骤S06中识别的)可以被移动到其中的区域。
所计算或提取的数据可以用于检索要放置在场景中的另一对象。当接收到另一对象时,处理器接收关于另一对象的数据。关于另一对象的数据可以包括关于另一对象的高度、宽度或体积等的信息,以及限定对象的外观的像素数据或其他图形数据(3d、矢量、纹理等)。关于另一对象的数据包括与所述另一对象的体有关的信息。如果另一对象适合在所确定S14的空的空间内,则可以将另一对象放置S24在所述空的空间中。
可以确定S18所述另一对象的体不适合在空的空间之一内。在这种情况下,确定S20来自场景内的所识别S06的一个或更多个对象的并且在3D坐标空间的上下文中定义的对象的子集。对象的子集例如可以是起居室的座位家具,因此,对象的子集可以是如图所描绘的三座沙发104、两座沙发106、扶手椅118和咖啡桌102。对象的子集中的每个对象由其具有与另一对象不适合的所述空的空间之一相邻的体来确定。在一些示例中,确定对象的子集包括确定所接收的与另一对象有关的数据的对象类别。然后,确定这种情况下的子集,使得对象的子集中每个对象的对象类别等于与所接收的与另一对象有关的数据的对象类别。在一些示例中,该方法可能需要用户输入,其中该用户输入涉及哪些对象是子集的一部分。作为示例,在图2B中,两座沙发已经相对于图1A被移除S10,并且先前被占据的区域定义S14空的空间120。所移除的对象是沙发的事实可以用于过滤将被放置在场景中的另一物体的可能性。
将所移除的对象类型确定S14为对象类型“沙发”。因此,另一对象可以是相同对象类型“沙发”。另一对象是如图1C所示的转角沙发124。因此,由于所移除的对象类型被标记为“沙发”,所以该对象类型可以用作用于接收另一对象的过滤选项。通过过滤另一对象,可以被接收作为另一对象的不同对象的数目受到限制。因此,可以以高效的方式执行图像分析。转角沙发124(即另一对象)的体被确定S18为不适合任何空的空间120。将对象咖啡桌102、三座沙发104和扶手椅118确定S20为对象的子集,其中每个对象具有与所选择的空的空间120相邻的体。对象的子集被重新布置S22,目的是在3D坐标空间中创建足够大的空的空间以放置转角沙发。重新布置表面被识别S22A并且被确定S22B为咖啡桌102的布置区域。因此,重新布置线是咖啡桌102的侧边。从图1C中可以看出,对象扶手椅118已经沿着重新布置线移动,使得转角沙发被放置S24在先前大的空的空间120a中。其他另一对象被放置在另一个空的空间中,其他另一对象是扶手椅122。
在一些实施方式中,程序请求来自用户的输入。可以以获得与所移除对象的对象类型有关的用户输入的意图来请求该输入。输入可以包含与另一对象有关的数据。输入可以与设计风格有关。因此,装置可以接收由用户做出的输入。用户输入可以用于当接收另一对象时将过滤器放置在可能从中选择的这些对象上。在一些实施方式中,用户输入可以包括与图像100的对象的布局选项有关的数据,使得用户可以手动地重新布置和放置对象。
作为示例,用户可以输入所移除的对象类型是“座位类型”或“适合于放置在桌子上”等。在一些实施方式中,输入可以与所描绘的场景的场景类别有关。作为示例,用户可以输入图像的场景类别是起居室、卧室或厅道等。因此,无关的对象不可以被接收作为另一对象。
在一些实施方式中,可以将地毯130的轮廓确定为重新布置线。可以将地面112确定为重新布置表面。因此,可以将沿X、Z的平面确定为重新布置表面。如果重新布置线或重新布置线在要重新布置的对象或对象子集的附近,则对于图像分析是有益的。可以使用图像搜索算法来确定对象附近的重新布置表面或重新布置线。
在一些示例中,针对所接收的与另一对象有关的数据确定对象类别。在这样的示例中,针对对象的子集确定对象类别。在一些示例中,对象的子集中最常见的对象类别等于与所接收的与另一对象有关的数据的对象类别。
可以基于场景100中的对象中最常见的对象类别来确定场景类别。场景类别可以与场景中的一个或更多个对象中最常见的对象类别对应。通过确定场景类别,可以在接收到与另一对象有关的数据时提供过滤器,使得只有属于相同场景类别的对象是作为另一对象的选项。因此,接收关于另一对象的数据可以基于场景类别。可以通过首先确定定义对象类型或定义对象类别来确定场景类别。作为示例,在浴室中找到浴缸,因此浴缸可以是对场景类别进行定义的定义对象。在另一示例中,在厨房中找到锋利的厨刀,并且因此可以是确定场景类别的定义对象。扶手椅可能不是定义对象,因为可以在卧室、图书馆、起居室等中找到扶手椅。
作为另一示例,现在转到图2A至图2C。图像200描绘了起居室的场景。因此,场景类别可以被标记为“起居室”或“TV房间”。图像200中的对象的子集包括三座沙发204、两个扶手椅218、咖啡桌102、壁炉202和TV 204。
图2B示出了所确定的排除区域208a、208b。排除区域是3D坐标空间中不能放置对象的空间。该图的一个排除区域208a在壁炉的前方,而另一个排除区域208b在TV的前方。与标记为“TV”的对象前面的排除区域208b的情况一样,基于具有TV的起居室的场景类别来确定排除区域。每个对象可以具有功能,例如,对象TV具有显示图像或视频序列的功能。在这种情况下,该方法可以基于场景内所识别的对象的功能来确定排除区域。
通过将任何对象放置在来自TV的视线中,可能丢失TV和场景的功能,因此确定排除区域208a。基于壁炉的功能确定位于壁炉前方的排除区域208a。壁炉的一个功能是散热。因此,不能将对象放置得太靠近发出的热量。图2C公开了三座沙发204已经被移除S10,并且两个扶手椅218已经移动到先前放置三座沙发204的位置。另一对象是放置S24在先前由扶手椅218占据的区域中的两座沙发。
应当注意,所定义的空的空间可以是例如墙壁上的区域或地面上的区域。因此,所定义的空的空间可以是3D坐标空间中的平面。
图3公开了用于生成虚拟场景的方法的流程图。可以以任何合适的顺序执行方法中的步骤。该方法包括以下步骤(根据以上实施方式详述)。
接收S02描绘场景的图像。确定S04场景的3D坐标空间。识别S06图像的场景内的一个或更多个对象,其中,识别包括将图像分割算法应用于图像的图像数据。针对场景内的所识别的每个对象,确定S08由对象的体使用的3D坐标空间内的子空间。可以从场景中移除S10对象,即,从场景内所识别S06的一个或更多个对象中移除对象。所移除的对象可以具有被确定S12的对象类型。
该方法通过以下步骤继续。定义S14场景的3D坐标空间内的空的空间。接收S16与要放置在空的空间之一中的另一对象有关的数据。确定S18所述另一对象的体不适合在所述空的空间之一内。从一个或更多个对象中确定S20对象的子集。对象的子集中的每个对象具有与所述空的空间之一相邻的3D坐标空间中的体。在3D坐标空间中重新布置S22对象的子集中的至少一个对象,其中,重新布置包括针对每个待重新布置的对象:识别S22A场景中的一个或更多个重新布置表面或重新布置线。通过分析场景的图像的图像数据以及/或者通过分析图像的3D坐标空间来确定S22B一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线。在3D坐标空间中沿着所述重新布置表面或重新布置线移动S22C要重新布置的所述对象,以增加所述空的空间之一的大小,使得所述另一对象适合在所述空的空间之一中。将另一对象放置S24在所述空的空间中。因此,结果将是来自图像的场景的虚拟副本,其中已经以高效的方式移动/重新布置对象以为另一个新对象腾出空间。在一些实施方式中,在插入新对象之前,对象也已被移除/删除。然后,可以将虚拟场景呈现为例如2D图像或VR/AR头戴式耳机或任何其他可应用装置。当在虚拟场景中呈现对象时,可以使用来自原始图像的像素数据。在一些实施方式中,接收所识别的对象的3d模型(例如,基于来自识别步骤S06的诸如模型名称等的数据)并且用于呈现目的。在一些实施方式中,使用(在计算机图形中公知的)合适的算法来变换对象的原始像素数据(例如,来自图像,基于3D坐标系以及3D坐标系中的对象位置/大小)以近似于从不同的视点看对象的样子,然后将变换后的像素数据用于呈现目的。
在一些实施方式中,确定一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线的步骤包括:确定(在3D坐标空间中)与要重新布置的对象的体相邻或相交的重新布置表面或重新布置线。
在一些实施方式中,在3D坐标空间中的两个对象之间存在预定的最小距离。在这样的实施方式中,当在3D坐标空间中重新布置对象的子集中的至少一个对象时,重新布置的对象不被放置得比预定义的最小距离更靠近场景中的另一对象。这可以确保虚拟场景适用于现实。还可以确保没有两个对象放置得彼此太近,例如,可以预定义最小距离,使得人可以在两个对象之间行走。
在一些实施方式中,识别场景中的一个或更多个重新布置表面或重新布置线的步骤包括:识别3D坐标空间的子空间中的一个或更多个重新布置表面或重新布置线,其中,子空间与由对象的子集中的每个对象的体限定的3D坐标空间中的组合体对应。因此,可以只搜索特定子空间来重新布置线或重新布置表面。这可以提高该方法的计算速度和处理时间。
在一些实施方式中,确定一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线的步骤包括:确定与要重新布置的对象的体相邻或相交的重新布置表面或重新布置线。要移动的对象可以接触重新布置表面或重新布置线。例如,如果要移动的对象已经立在地毯上,则可以将重新布置表面确定为地毯。
在另一实施方式中,确定一个或更多个重新布置表面或重新布置线中的重新布置表面或重新布置线的步骤包括:确定在3D坐标空间中距要重新布置的对象的体的阈值距离内的重新布置表面或重新布置线。
在一些实施方式中,该方法中可以包括行业特定的规定,使得例如壁炉附近的家具的放置保持规定的距离。
本领域技术人员认识到,本发明决不限于上述优选实施方式。相反,在所附权利要求的范围内,许多修改和变化是可能的。
另外,从对附图、本公开内容和所附权利要求的研究,本领域技术人员在实践所要求保护的发明时可以理解和实现所公开的实施方式的变型。在权利要求中,词语“包括”不排除其他元件或步骤,并且不定冠词“一(a)”或“一个(an)”不排除多个。在互不相同的从属权利要求中列举某些手段这一事实并不指示不能有利地使用这些手段的组合。
上文公开的系统和方法可以被实现为软件、固件、硬件或其组合。在硬件实现方式中,以上描述中提及的功能单元之间的任务划分不一定对应于划分为物理单元;相反,一个物理部件可以具有多个功能,并且一个任务可以由几个物理部件协作来执行。某些部件或所有部件可以被实现为由数字信号处理器或微处理器执行的软件,或者被实现为硬件或专用集成电路。这样的软件可以分布在可以包括计算机存储介质(或非暂态介质)和通信介质(或暂态介质)的计算机可读介质上。如本领域技术人员所熟知的,术语“计算机存储介质”包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储所需信息并且可以由计算机访问的任何其他介质。此外,本领域技术人员公知的是,通信介质通常在如载波或其他传输机制的调制数据信号中包含计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。
Claims (15)
1.一种用于生成对象的虚拟场景的计算机实现的方法,所述方法包括以下步骤:
接收(S02)场景的图像;
确定(S04)所述场景的3D坐标空间;
识别(S06)所述场景内的一个或更多个对象,其中,识别包括将图像分割算法应用于所述图像的图像数据;
针对所述场景内的每个所识别的对象,确定(S08)所述对象的体所使用的所述3D坐标空间内的子空间;
定义(S14)所述3D坐标空间内的空的空间;
接收(S16)与要放置在所述空的空间之一中的另一对象有关的数据;
确定(S18)所述另一对象的体不适合在所述空的空间之一内;
从所述一个或更多个对象中确定(S20)对象的子集,其中,所述对象的子集中的每个对象具有与所述空的空间之一相邻的所述3D坐标空间中的体;
在所述3D坐标空间中重新布置(S22)所述对象的子集中的至少一个对象,其中,重新布置包括针对要重新布置的每个对象:
通过分析所述场景的图像的图像数据以及/或者通过分析所述图像的所述3D坐标空间来识别(S22A)所述场景中的一个或更多个表面或线;
确定(S22B)所述一个或更多个表面或线中的表面或线;
在所述3D坐标空间中沿着所述表面或线移动(S22C)要重新布置的所述对象,以增加所述空的空间之一的大小,使得所述另一对象适合所述空的空间之一;
将所述另一对象放置(S24)在所述空的空间中。
2.根据权利要求1所述的方法,还包括:在定义所述场景的空间内的空的空间的步骤之前,移除(S10)所述场景中的所述一个或更多个对象中的至少一个对象。
3.根据权利要求2所述的方法,还包括确定(S12)所移除的对象的对象类型,并且其中,所接收的与所述另一对象有关的数据包括与所移除的对象相同的对象类型。
4.根据前述权利要求中任一项所述的方法,其中,确定对象的子集包括:
确定所接收的与所述另一对象有关的数据的对象类别,并且确定所述对象的子集,使得所述对象的子集中的每个对象的对象类别等于所接收的与所述另一对象有关的数据的对象类别。
5.根据前述权利要求中任一项所述的方法,还包括确定所述场景的场景类别,其中,所述场景类别与所述场景中的所述一个或更多个对象中的至少一个对象的对象类别对应。
6.根据权利要求5所述的方法,其中,接收与另一对象有关的数据的步骤基于所确定的场景类别。
7.根据前述权利要求中任一项所述的方法,还包括确定所述3D坐标空间中的一个或更多个排除区域,并且其中,执行移动所述对象的步骤,使得没有对象被放置在所述一个或更多个排除区域的排除区域中。
8.根据权利要求7所述的方法,其中,基于所述场景中的所述一个或更多个对象中的至少一个的功能来确定至少一个排除区域。
9.根据权利要求5和权利要求7至8中任一项所述的方法,其中,至少一个排除区域基于所述场景类别。
10.根据前述权利要求中任一项所述的方法,还包括在所述3D坐标空间中的两个对象之间的预定义最小距离,并且其中,执行对所述场景中的所述对象的子集中的至少一个对象的重新布置,使得经重新布置的对象不在距所述3D坐标空间中的其他对象的预定义最小距离内。
11.根据前述权利要求中任一项所述的方法,其中,识别所述场景中的一个或更多个表面或线的步骤包括识别所述3D坐标空间的子空间中的一个或更多个表面或线,其中,所述子空间与所述3D坐标空间中的由所述对象的子集中的每个对象的体限定的组合体对应。
12.根据前述权利要求中的任一项所述的方法,其中,确定所述一个或更多个表面或线中的表面或线的步骤包括确定与要在所述3D坐标空间中重新布置的对象的体相邻或相交的表面或线。
13.根据权利要求1至11中任一项所述的方法,其中,确定所述一个或更多个表面或线中的表面或线的步骤包括确定在距所述3D坐标空间中要重新布置的对象的体阈值距离内的表面或线。
14.一种被配置成生成对象的虚拟场景的装置,所述装置包括被配置成执行根据权利要求1至13中任一项所述的方法的电路。
15.一种计算机程序产品,其包括具有指令的计算机可读存储介质,所述指令在由具有处理能力的装置执行时适于实施根据权利要求1至13中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP192067007 | 2019-11-01 | ||
EP20067007 | 2019-11-01 | ||
PCT/EP2020/080256 WO2021083944A1 (en) | 2019-11-01 | 2020-10-28 | Method, device and computer program for generating a virtual scene of objects |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114730485A true CN114730485A (zh) | 2022-07-08 |
Family
ID=82233310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080081830.5A Pending CN114730485A (zh) | 2019-11-01 | 2020-10-28 | 用于生成对象的虚拟场景的方法、装置和计算机程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114730485A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011558A1 (en) * | 2007-09-25 | 2017-01-12 | Metaio Gmbh | Method and apparatus for representing a virtual object in a real environment |
CN108510597A (zh) * | 2018-03-09 | 2018-09-07 | 北京小米移动软件有限公司 | 虚拟场景的编辑方法、装置及非临时性计算机可读存储介质 |
CN109564351A (zh) * | 2016-06-06 | 2019-04-02 | 华纳兄弟娱乐公司 | 混合现实系统 |
-
2020
- 2020-10-28 CN CN202080081830.5A patent/CN114730485A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011558A1 (en) * | 2007-09-25 | 2017-01-12 | Metaio Gmbh | Method and apparatus for representing a virtual object in a real environment |
US20190188915A1 (en) * | 2007-09-25 | 2019-06-20 | Apple Inc. | Method and apparatus for representing a virtual object in a real environment |
CN109564351A (zh) * | 2016-06-06 | 2019-04-02 | 华纳兄弟娱乐公司 | 混合现实系统 |
CN108510597A (zh) * | 2018-03-09 | 2018-09-07 | 北京小米移动软件有限公司 | 虚拟场景的编辑方法、装置及非临时性计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
HAMID IZADINIA 等: "IM2CAD", 《2017 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7082160B2 (ja) | 店舗の棚への製品の配置を追跡する方法 | |
JP6917701B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
EP2375376B1 (en) | Method and arrangement for multi-camera calibration | |
US20170214899A1 (en) | Method and system for presenting at least part of an image of a real object in a view of a real environment, and method and system for selecting a subset of a plurality of images | |
WO2022237026A1 (zh) | 平面信息检测方法及系统 | |
US11715274B2 (en) | Method, device and computer program for generating a virtual scene of objects | |
CN110914830B (zh) | 图像识别装置、图像识别方法和程序 | |
US11967030B2 (en) | Method, device and computer program product for manipulating virtual bounding volumes | |
US11189053B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium | |
Freitag et al. | Comparison and Evaluation of Viewpoint Quality Estimation Algorithms for Immersive Virtual Environments. | |
US11508132B2 (en) | Computer implemented method, a device and a computer program product for augmenting a first image with image data from a second image | |
US11657611B2 (en) | Methods and systems for augmented reality room identification based on room-object profile data | |
US20240062345A1 (en) | Method, apparatus, and computer-readable medium for foreground object deletion and inpainting | |
CN114730485A (zh) | 用于生成对象的虚拟场景的方法、装置和计算机程序 | |
CA3132551A1 (en) | Systems and methods of predicting architectural materials within a space | |
Sankar et al. | In situ CAD capture | |
US20220414998A1 (en) | Augmenting a first image with a second image | |
US20220301324A1 (en) | Method, device and computer program product for classifying an obscured object in an image | |
Setyati et al. | Face tracking implementation with pose estimation algorithm in augmented reality technology | |
CN114842135A (zh) | 商品推荐、三维场景模型生成方法、设备及存储介质 | |
CN115937422A (zh) | 三维场景重建、在线家装与商品获取方法、设备及介质 | |
CN112070175A (zh) | 视觉里程计方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |