对于AR,处理扫描对象是一个重要的环节。在名为“Systems and methods for processing scanned objects”的专利申请中,苹果就介绍了用于处理扫描对象的系统和方法。具体来说,发明描述了扫描捕获真实世界对象的信息,并基于真实世界对象生成虚拟对象的系统和方法。
图1示出了用户102和电子设备100。在一个示例中,电子设备100是手持式或移动设备,例如平板电脑或智能手机。
如图1所示,用户102位于物理环境110中。物理环境110包括桌子120和位于桌子120上方的花瓶130。电子设备100可以配置为扫描捕获物理环境110的区域。
电子设备100包括一个或多个配置为扫描捕获关于物理环境110中的对象的信息的图像传感器。例如,用户可能希望捕获诸如花瓶130之类的对象,并生成花瓶130的三维模型以供在XR环境中使用。所以,需要扫描捕获真实世界对象的信息,并基于真实世界对象生成虚拟对象。
图3示出了电子设备扫描真实世界对象的示例性方式。在图3中,设备300正在捕获真实世界环境310的图像(可选地连续捕获真实世界的环境310的图片)。利用一系列 传感器扫描捕获的数据,设备300能够确定对象的大小,形状和外观,例如颜色与纹理等等。
用户界面301是相机风格的用户界面,其显示由一个或多个传感器捕获的真实世界环境310的实时视图。例如,一个或多个传感器捕获花瓶和桌子320的一部分。
用户界面301包括指示一个或多个传感器的中心位置或焦点位置的标线302,从而为用户提供向导和/或目标,并允许用户向设备300指示用户希望扫描什么对象。当标线302放置在真实世界对象之上时,设备300识别与现实世界环境中的其他对象分离的感兴趣对象,并启动扫描对象的过程。
扫描对象的过程包括从多个角度和/或视角执行相应对象的多次捕获。在一个实施例中,使用来自多次捕获的数据,设备300构造相应对象的部分或完全三维扫描。然后,设备300处理三维扫描并生成对象的三维模型;将三维扫描数据发送到服务器以生成对象的三维模型;处理三维扫描并生成对象的三维模型包括执行一个或多个摄影测量过程;接下来,三维模型可以在XR应用中使用。
图4A示出了电子设备400扫描真实世界对象,并显示扫描进度指示的示例性方式。
如图4A所示,用户已经将标线402放置在对象之上或附近。响应于确定,设备400将所述对象识别为用户希望扫描的对象。因此,设备400启动扫描花瓶的过程,并生成花瓶的三维模型。
作为确定用户希望扫描对象的一部分,设备400执行图像分割以确定对象在整个环境中的边界。图像分割包括识别与物理环境中的其他对象分离的对象。其中,可以使用从一个或多个初始捕获获取的数据和/或信息来执行图像分割。
在一个实施例中,设备400使用一个或多个捕获组件来执行花瓶的一个或更多个扫描捕获。一个或多个捕获组件捕获对象的相应部分的颜色、形状、尺寸、纹理、深度、形貌等中的一个或更多个。在执行对象的定向捕获的同时,一个或多个捕获组件继续捕获真实世界环境,例如为了在用户界面401中显示真实世界环境。
如果捕获满足一个或多个捕获标准,接受对对象的一部分的捕获。例如,一个或多个捕获标准包括一个或更多个捕获设备相对于被捕获的对象部分处于特定位置。
如果不满足一个或多个捕获标准,拒绝对对象的一部分的捕获,并且要求用户执行对所述对象部分的另一捕获。其中,用户界面401可以显示一个或更多个指示以引导用户,指示用户放慢速度、移动得更近、移动得更远、以及移动到新位置等。
返回参考图4A,设备400显示用户界面401,用户界面401包括花瓶的表示430和桌子420的一部分的表示。响应于成功地执行对对象的一部分的捕获,设备400在用户界面401显示扫描进度的指示。
图5A-5C示出了电子设备500显示用于扫描真实世界对象的目标。当设备500确定用户有兴趣扫描花瓶时,设备500确定花瓶周围的形状550,例如边界体积。例如,使用初始捕获,设备500确定花瓶的形状和/或尺寸。一旦确定,形状550就可以充当界定要捕获对象的边界的边界体积。
在一个实施例中,目标552(例如目标522–1到552–5)显示在花瓶表示530周围的用户界面501中。目标的形状和方向向用户提供了将设备500定位在何处以及如何定位的指示,从而引导用户扫描捕获花瓶的尚未捕获部分。
返回参考图5A,设备500定位为使得标线502不与任何目标对准。因此,没有接受花瓶的捕获。
在图5B中,用户已经移动了设备500,使得标线502现在至少部分地与目标552-1对准。响应于标线502与目标552-1至少部分对准,设备500启动用于捕获花瓶对应于目标552-1的部分的过程。在一个实施例中,当标线502与目标552-1完全对准时,设备500启动捕获花瓶部分的过程。
图5B所示,当设备500正在执行捕获时,进度指示符554显示在目标552-1上。用于捕获花瓶该部分的过程要求用户将设备保持静止一定时间,并且进度指示器554向用户提供继续保持设备静止多长时间以及捕获何时完成的指示。
如果设备500被移动,使得标线502不再与目标552-1部分对准,则用于捕获花瓶的该部分的过程终止。
在捕获成功完成之后,目标552-1停止显示在用户界面501中,如图5C所示。因此,只有当标线502与目标对准(或部分对准)时所进行的捕获才会被接受和保存。
如图5C所示,设备500显示所捕获对象的预览560。预览560包括从与当前由一个或多个捕获设备捕获对象相同的视角捕获的对象的三维渲染。例如,如果设备500面向正被捕获对象的正面,则预览560显示正被捕获对象的正面。因此,当用户在花瓶周围移动以捕获花瓶的不同部分时,预览560同样将相应地旋转和/或转动花瓶的预览。
在一个实施例中,当设备500确定用户对扫描花瓶感兴趣时,设备500可以基于花瓶的初始捕获来确定对象的特定部分需要额外的捕获。响应于确定需要额外的捕获,设备500可以将一个或多个额外的目标放置在边界体积的表面上。
通过这种方式,设备500可以在一开始就确定需要额外的目标,并在用户界面中以对象的表示周围的适当位置和/或角度显示它们。
如上所述的过程可以根据需要重复和/或执行多次,以完全捕获对象。
图6A-6C示出了电子设备600显示用于扫描真实世界对象的目标。
在图6A中,在执行与特定目标相关联的成功捕获之后和/或响应于执行与特定对象相关联的失败捕获,设备500确定用于捕获的建议对象。
用于捕获的建议目标是最靠近标线602的目标。建议捕获的目标可以是需要最少移动量来对准设备的目标。另外,建议捕获的目标可以是距离刚刚捕获的目标最近的下一个目标。
在一个实施例中,如果所有剩余的目标距离标线602和/或刚刚捕获的目标相同,则从最近的目标中随机选择所建议的目标。
可以基于其他选择标准来选择建议目标,例如对象的地形、对象的形状、先前捕获的位置。在当用户四处移动设备600时,所建议的目标可以改变。例如,如果用户移动设备600使得标线602现在更靠近除建议目标之外的目标,则设备600可以选择更靠近标线602的新位置的新建议目标。
在一个实施例中,设备600改变用于捕获的建议目标的视觉特性,以在视觉上突出显示建议目标并将其与其他目标区分开。改变视觉特性包括改变颜色、阴影、亮度、图案、尺寸和/或形状中的一个或多个。例如,建议的目标可以用不同的颜色显示。
在图6A所示的示例中,目标652-3是建议的目标,并且更新为包括对角线图案。
图6B示出了在用户移动设备600以将标线602与目标652-3对准之后的用户界面601。如图6B所示和如上所述,设备600在花瓶表示630周围的三维空间中保持每个目标的位置。因此,如图6B所示,一些目标不再显示,因为它们位于三维空间中当前未显示在用户界面601中的位置。
在图6B中,响应于用户将标线602与目标652-3对准,设备600改变目标652-3的视觉特性,以指示用户已经与目标652–3正确对准,并且已经启动了用于捕获与目标6523相关联的花瓶部分的过程。
改变的视觉特征与选择652-3目标作为建议目标时改变的视觉特性相同。例如,如果设备600在目标652-3选择为建议目标时改变了目标652-3的颜色,则当用户将标线602与652-3对准时,设备600将652-3的颜色改变为不同的颜色。
如图6B所示,目标652-3现在以与图6A所示的目标652-3不同的对角线模式显示。
图6C示出了在用户已经成功捕获花瓶部分之后的用户界面601。如图6C所示,响应于成功捕获花瓶的对应于目标652-3的部分,表示630包括表示630上对应于被捕获部分的位置处的体素。
如图6C所示,响应于成功捕获与目标652-3相对应的花瓶部分,更新预览660,使得捕获664显示捕获的花瓶部分。如上所述,预览660的视角和/或角度随着设备改变视角和/或者角度而改变,但预览660中捕获的对象表示的比例和/或位置不改变,并且捕获的对象表示在预览660中保持居中。
评论