一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于后续对象检测的对象扫描的制作方法

2021-10-29 22:16:00 来源:中国专利 TAG:对象 跟踪 扫描 图像 用于


1.本公开整体涉及用于扫描物理对象以便于在图像和视频中检测和跟踪那些对象的系统、设备和方法。


背景技术:

2.可使用各种技术在图像或视频中检测对象。一些对象检测技术基于对对象的先前扫描,该先前扫描生成关于该对象的模型或其他信息。一旦用户已生成针对对象的此类模型或其他信息,就可将该模型或其他信息与稍后获得的图像和视频进行比较,以在那些图像和视频中识别该对象。例如,用户可执行对塑像的扫描以生成该塑像的3d模型。然后,其他用户可在该塑像所在的博物馆四处走动,使用移动电话或其他设备捕获图像或视频,并且该3d模型可用于在那些图像和视频中检测该塑像的存在和位置。
3.用于捕获稍后可用于对象检测的扫描的现有技术可具有某些缺点。例如,此类技术可能需要用户从多个方向扫描对象以捕获该对象的视频或图像,但可能不足以引导用户有效且容易地获得此类扫描。用户可能难以知道他或她是否已经从足够的方向扫描该对象或如何移动相机以获得附加的所需图像。现有技术还可能需要在该对象的图像或3d表示中手动识别该对象。例如,可能要求用户定位大致估计对象的位置和范围的3d边界框。系统可使用该3d边界框来限制将归因于该对象的检测到的关键点,例如,允许系统忽略在附近桌面上或从附近对象检测到的关键点,以提供对象的准确3d模型。定位这样的3d边界框对于用户而言可能是困难的,特别是对于尝试使用2d显示器和界面来这样做的用户而言。出于这些和其他原因,用于捕获稍后可用于对象检测的扫描的现有技术可能对用户造成负担,并且可能不足以促进将对象与物理布景的其他元素区分开。


技术实现要素:

4.本文所公开的各种具体实施包括促进基于对对象的扫描来创建用于对象检测的3d模型的设备、系统和方法。一些具体实施提供了用户界面,用户与该用户界面交互以促进对对象的扫描,从而创建对象的3d模型以用于稍后的对象检测。用户界面可包括向用户提供视觉或听觉反馈的指示符,该指示符指示捕获设备相对于被扫描对象所面向的方向。可使用设备上的传感器(例如,惯性测量单元(imu)、陀螺仪等)或其他技术(例如,视觉惯性测程(vio))来检测捕获设备的方向。可基于检测到捕获设备在物理布景的坐标系中的方向的改变来检测该设备相对于物理布景中的对象的方向。
5.随着用户在设备的相机面向对象的情况下在对象周围走动或以其他方式移动设备,指示符向用户示出或告知用户当前相机方向。在一些具体实施中,来自设备的相机的图像呈现在显示器的一部分上,例如作为实时视频,并且指示符呈现在所显示的相机内容的多侧上,例如作为围绕来自设备的相机的实时视频图像的环。此类指示符的元素可在外观上改变以指示相机相对于对象的当前方向。例如,用户可握持该设备以查看设备显示器上的椭圆形指示符内的对象的图像。指示符的一部分(例如,指示符的一侧上以及因此对象的
一侧上的元素)可具有指示当前相机方向的外观(例如,被放大、被着色为红色等)。当用户将设备移动到对象的相对侧并且再次握持设备以查看设备显示器上的椭圆形指示符内的对象的另一图像时,指示符的不同部分(例如,指示符的相对侧以及因此对象的相对侧上的元素)可被赋予指示当前相机方向的外观(例如,被放大、被着色为红色等)。
6.具有指示相机方向的指示符的此类用户界面在对象扫描过程期间向用户提供有用的反馈。在此类扫描过程期间,用户可围绕对象移动设备以从不同方向查看对象,并且可选择在某些情况下从某些方向创建图像捕获。当用户识别到此类“捕获”时,指示符的外观可改变,以指示用户已经从相应的相机方向创建了捕获。例如,指示符元素可在外观上改变,例如改变为永久状态,以反映对象的捕获已由用户发起。例如,用户可从对象的前侧进行第一图像捕获并且指示符底部上的元素可永久地变成黄色,然后从对象的左侧进行第二图像捕获并且指示符左侧上的元素可永久地变成黄色,然后从对象的后侧进行第三图像捕获并且指示符顶部上的元素可永久地变成黄色,然后从对象的右侧进行第四图像捕获并且指示符右侧上的元素可永久地变成黄色。用户能够容易地可视化已从哪个方向捕获了对象的图像,哪个方向尚未捕获,并且还能够看到设备的当前方向。一旦用户已从足够的方向捕获了足够的图像捕获,就可自动生成对象的3d模型以用于后续对象检测。用户界面可包括如本文所述并且在给定特定具体实施的其他适当情况下的附加促进特征(例如,引导用户也获得自顶向下或自底向上的图像)。
7.本公开的一些具体实施涉及在具有处理器、存储器和图像传感器的计算设备上执行各种操作以促进基于对对象的扫描来创建用于对象检测的3d模型。示例性方法涉及在用户界面中提供指示符,该指示符指示能够从其捕获物理布景中的对象的图像的可能方向。该方法基于设备(例如,设备的相机)相对于对象的方向来修改该指示符。因此,例如,用户界面可提供图形指示符,该图形指示符是围绕由设备的相机捕获的内容显示的短划线圆圈。随着用户围绕对象移动设备并且基于设备的当前取向和设备相对于对象的所得方向,圆圈周围的不同短划线的形状、尺寸或颜色可改变以指示设备相对于对象的当前方向。该方法例如自动地和/或基于创建此类捕获的用户输入从多个方向捕获对象的图像,并且生成对象的模型(例如,特征点云)以用于在后续图像中检测该对象。
8.本公开的一些具体实施涉及在具有处理器、存储器和图像传感器的计算设备上执行各种操作以促进在基于对对象的扫描来创建用于对象检测的3d模型期间对对象的识别。在一些具体实施中,基于用户识别到用户捕获的图像来生成对象的模型,该用户捕获的图像用于将对象与图像中原本将成为3d模型的一部分的其他项目区分开。示例性方法记录来自多个方向的对象的图像。此类图像可连续记录,例如,作为视频。该方法在图像的记录期间将图像的子集识别为用户捕获的图像。例如,随着用户围绕对象移动,用户可在某个时刻选择用户界面命令(例如,捕获按钮)。例如,200个记录图像中的10个图像可被识别为用户捕获的图像。
9.该方法基于对象的图像(例如,使用所有200个图像)生成模型(例如,特征点云)。生成模型可涉及将对象与附近项目区分开。因此,该方法可以基于图像(例如,使用用户捕获的图像的子集)识别模型的对应于对象的一部分。在一些具体实施中,基于用户输入(例如,当用户选择捕获按钮时)创建的用户捕获的图像中的每个用户捕获的图像与空间体积(例如,与在该时间期间捕获的图像相关联的空间锥体)相关联。在一些具体实施中,用户捕
获这些用户捕获的图像,其中对象完全显示在显示器上的边界内(例如,圆形图形指示符内)。该方法可识别与每次捕获相关联的空间体积(例如,锥体),并且基于对对象在那些空间体积内的理解来将对象与其他项目区分开。随着用户从不同方向捕获用户捕获的图像(例如,选择捕获按钮),识别到多个体积。可基于那些体积的交点(例如,在多个锥体的交点内)来确定对象的位置并将其与物理布景中的其他项目区分开。此外,可在持续的基础上生成模型,并且每次捕获可用于剪掉模型的在与该捕获相关联的空间体积之外的部分。在从多个方向进行扫描的过程中,对象的模型可以被适当地限制为仅包括对象并且排除否则可能已经包括在模型中的其他项目。
10.根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器、图像传感器以及用于执行或导致执行本文所述方法中的任一种的装置。
附图说明
11.因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
12.图1示出了根据一些具体实施的物理布景中的示例性物理对象。
13.图2示出了根据一些具体实施的显示具有图1的示例性物理对象的增强现实(er)布景的移动设备。
14.图3示出了根据一些具体实施的图1的示例性物理对象的扫描。
15.图4示出了根据一些具体实施的基于图3的第一次扫描所生成的示例性点云。
16.图5示出了根据一些具体实施的用于生成物理对象的3d模型并检测物理对象的设备的示例性部件。
17.图6是根据一些具体实施的创建对象的模型的方法的流程图表示。
18.图7示出了在图3的对象的扫描期间的第一实例处设备相对于对象的方向。
19.图8示出了根据一些具体实施的被显示以指示设备在图7中所描绘的第一实例期间的方向的指示符。
20.图9示出了在图3的对象的扫描期间的稍后实例处设备相对于对象的方向。
21.图10示出了根据一些具体实施的被显示以指示设备在图9中所描绘的稍后实例期间的方向的指示符。
22.图11示出了根据一些具体实施的被显示以指示用户捕获的图像从某个方向捕获的指示符。
23.图12示出了根据一些具体实施的以永久修改显示以指示用户捕获的图像先前从某个方向捕获的指示符。
24.图13示出了根据一些具体实施的被显示以指示多个用户捕获的图像从多个方向捕获的指示符。
25.图14是根据一些具体实施的用于促进在基于对对象的扫描来创建用于对象检测的3d模型期间对对象的识别的方法的流程图表示。
26.图15示出了根据一些具体实施的在扫描期间基于对象的用户捕获的图像来剪辑对象的模型。
27.图16示出了有利于示例性扫描工作流程的用户界面特征。
28.图17示出了有利于示例性扫描工作流程的用户界面特征。
29.图18示出了有利于示例性扫描工作流程的用户界面特征。
30.根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
31.描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
32.图1是示出了物理布景100中的物理对象105的示例的框图。虽然本示例和本文所讨论的其他示例示出了单个对象105的3d模型,但本文所公开的技术也适用于多个对象。
33.短语“物理布景”是指各个人可在不使用电子系统的情况下感测和/或交互的世界。物理布景诸如物理公园包括物理元素,诸如物理野生动物、物理树木和物理植物。人们可例如使用一种或多种感觉(包括视觉、嗅觉、触觉、味觉和听觉)直接感测物理布景和/或以其他方式与物理布景进行交互。
34.本文所用的短语“物理对象”是指物理布景中的任何类型的项目或项目的组合,包括但不限于积木、玩具、塑像、家具、门、建筑物、图片、油画、雕塑、灯具、标牌、桌子、地板、墙壁、书桌、水域、人脸、人手、人发、其他人体部位、整个人体、动物或其他生物体、衣服、纸张、杂志、书籍、车辆、机器或其它人造对象,以及存在于物理布景中可被识别并建模的任何其他自然或人造项目或项目组。
35.图2是显示图1的示例性物理对象105的增强现实(er)布景200的移动设备120的框图。与物理布景相比,增强型现实(er)布景是指各种人通过使用电子系统可感测和/或以其他方式与之交互的完全地(或部分地)计算机生成的布景。在er中,部分地监视人的移动,并且响应于此,以与一个或多个物理定律一致的方式来改变与er布景中的至少一个虚拟对象对应的至少一个属性。例如,响应于er系统检测到人向上看,er系统可以以与此类声音和外观会在物理布景中改变的方式一致的方式来调整呈现给人的各种音频和图形。也可例如响应于移动的表示(例如,语音命令)而进行对er布景中的虚拟对象的属性的调整。
36.人可以利用一种或多种感觉,诸如视觉、嗅觉、味觉、触觉和听觉来感测er对象和/或与er对象交互。例如,人可感测创建多维或空间声学布景的对象和/或与其交互。多维或空间声学布景为个人提供了在多维空间中对离散声源的感知。此类对象还可实现声学透明性,该声学透明性可在具有或没有计算机生成的音频的情况下选择性地结合来自物理布景
的音频。在某些er布景中,人可仅感测音频对象和/或仅与其交互。
37.虚拟现实(vr)是er的一个示例。vr布景是指被配置为仅包括针对一种或多种感觉的计算机生成的感官输入的增强布景。vr布景包括人可以感测和/或交互的多个虚拟对象。人可通过在计算机生成的布景内模拟人动作中的至少一些动作和/或通过模拟人或其在计算机生成的布景内的存在来感测vr布景中的虚拟对象和/或与其交互。
38.混合现实(mr)是er的另一个示例。mr布景是指被配置为将计算机生成的感官输入(例如,虚拟对象)与来自物理布景的感官输入或来自物理布景的感官输入的表示进行集成的增强布景。在现实频谱上,mr布景介于一端处的完全物理布景和另一端处的vr布景之间并且不包括这些布景。
39.在一些mr布景中,计算机生成的感官输入可基于来自物理布景的感官输入的变化而被调整。另外,用于呈现mr布景的一些电子系统可以检测相对于物理布景的位置和/或取向,以实现真实对象(即来自物理布景的物理元素或其表示)与虚拟对象之间的交互。例如,系统可检测移动并相应地调整计算机生成的感官输入,使得例如虚拟树相对于物理结构看起来是固定的。
40.增强现实(ar)是mr的示例。ar布景是指一个或多个虚拟对象叠加在物理布景(或其表示)之上的增强布景。例如,电子系统可包括不透明显示器和用于捕获物理布景的视频和/或图像的一个或多个成像传感器。例如,此类视频和/或图像可以是物理布景的表示。视频和/或图像与虚拟对象组合,其中该组合随后被显示在不透明显示器上。物理布景可由人经由物理布景的图像和/或视频间接地查看。因此,人可观察叠加在物理布景上的虚拟对象。当系统捕获物理布景的图像并且使用所捕获的图像在不透明显示器上显示ar布景时,所显示的图像被称为视频透传。另选地,透明或半透明显示器可被包括在用于显示ar布景的电子系统中,使得个体可通过透明或半透明显示器直接查看物理布景。虚拟对象可被显示在半透明或透明显示器上,使得个体观察叠加在物理布景上的虚拟对象。在另一个示例中,可利用投影系统以便将虚拟对象投影到物理布景上。例如,虚拟对象可在物理表面上被投影,或作为全息图,使得个体观察叠加在物理布景之上的虚拟对象。
41.ar布景也可指其中物理布景的表示被计算机生成的感官数据修改的增强布景。例如,物理布景的表示的至少一部分能够以图形方式修改(例如,放大),使得所修改的部分仍可表示初始捕获的图像(但不是完全复制的版本)。另选地,在提供视频透传时,可修改一个或多个传感器图像,以便施加与由图像传感器捕获的视点不同的特定视点。再如,物理布景的表示的部分可通过以图形方式将该部分进行模糊处理或消除该部分而被改变。
42.增强虚拟(av)是mr的另一个示例。av布景是指虚拟的或计算机生成的布景结合来自物理布景的一个或多个感官输入的增强布景。此类感官输入可包括物理布景的一个或多个特征的表示。虚拟对象可例如结合与由成像传感器捕获的物理元素相关联的颜色。另选地,虚拟对象可采用与例如对应于物理布景的当前天气状况一致的特征,诸如经由成像识别的天气状况、在线天气信息和/或与天气相关的传感器。又如,ar公园可包括虚拟结构、植物和树木,尽管ar公园布景内的动物可包括从物理动物的图像准确复制的特征。
43.各种系统允许人们感测er布景和/或与其交互。例如,头戴式系统可包括一个或多个扬声器和不透明显示器。又如,外部显示器(例如,智能电话)可结合到头戴式系统内。头戴式系统可包括用于捕获物理布景的音频的麦克风和/或用于捕获物理布景的图像/视频
的图像传感器。头戴式系统中还可包括透明或半透明显示器。半透明或透明显示器可例如包括基板,(表示图像的)光通过该基板被引导到人的眼睛。显示器还可包含led、oled、硅基液晶、激光扫描光源、数字光投影仪或它们的任何组合。光透射穿过的基板可以是光学反射器、全息基板、光波导、光合路器或它们的任何组合。透明或半透明显示器可例如选择性地在透明/半透明状态和不透明状态之间转变。又如,电子系统可以是基于投影的系统。在基于投影的系统中,视网膜投影可用于将图像投影到人的视网膜上。另选地,基于投影的系统还可将虚拟对象投影到物理布景中,例如,诸如将虚拟对象投影为全息图或投影到物理表面上。er系统的其他示例包括被配置为显示图形的窗口、头戴式耳机、耳机、扬声器布置、被配置为显示图形的透镜、平视显示器、被配置为显示图形的汽车挡风玻璃、输入机构(例如,具有或不具有触觉功能的控制器)、台式或膝上型计算机、平板电脑或智能电话。
44.在图2的示例中,设备120捕获物理对象105的一个或多个图像,并且将那些图像与3d模型(例如,先前捕获的关键帧、点云值等)进行比较以检测和跟踪物理对象105的存在。设备120可例如使用rgb

d信息、基于红外相机的深度检测和其他此类技术来确定物理对象105的姿态(例如,位置和取向)。因此,在检测到物理对象并确定其姿态之后,设备120可在对应于物理布景的物理空间的坐标系中将对象的3d模型与物理对象对准。
45.鉴于这种对准,设备能够提供er布景200,该er布景将物理布景的各方面与增强内容组合。在该示例中,er布景200包括对物理对象105的描绘210和增强内容215,该增强内容包括文本气泡和文本短语“它是磁性的”。增强内容215基于物理对象105与3d模型的对准,相对于对物理对象105的描绘210而定位。例如,er布景200创建者可能已经指定要在基于物理对象105的3d模型的表面中心处的固定点确定的位置处显示增强内容215。一旦3d模型与物理对象105对准,设备120就确定用于增强内容215的适当位置并产生用于显示的er布景200。
46.在图3中,扫描300包括在沿路径315a

315i移动设备(例如,图2的设备120)的同时捕获物理对象105的图像时进行的扫描。路径315a

315i包括从图像记录开始时的初始姿态310a到记录结束时的最终姿态310j的多个图像传感器姿态310a、310b、310c、310d、310e、310f、310g、310i、310j下的设备。在扫描300期间,设备可跟踪其自身姿态(例如,经由设备上的一个或多个运动传感器的跟踪位置和取向变化、惯性数据等)。因此,用于在姿态310a、310b、310c、310d、310e、310f、310g、310i、310j中的每一个处捕获的图像的数据在第一3d坐标系中的相对位置是已知的。可将来自这些图像的图像数据结合起来以基于这些已知姿态生成物理对象的3d模型(例如,图4中所示的点云)。
47.图4示出了由图3的扫描生成的3d模型(例如,示例性点云)400。3d模型400可包括具有描述符的点,所述描述符包括点的色值。
48.由内容创建者(例如,针对图像捕获和3d模型创建)和最终用户(例如,针对使用3d模型进行对象检测)使用的设备可以是包括处理器、非暂态计算机可读介质和图像传感器的多种设备中的任一种。在一些具体实施中,设备是由内容创建者或最终用户用户佩戴的头戴式设备(hmd)。在一些具体实施中,该设备是手持式电子设备(例如,智能电话或平板电脑)、膝上型电脑或台式计算机,其被配置为创建物理对象的3d模型并且促进创建er布景(例如对于内容创建者来说),或者将er布景呈现给最终用户。在一些具体实施中,设备是被配置为呈现er布景的er舱室、壳体或房间,其中最终用户不佩戴或握持该设备。
49.图5是示出了根据一些具体实施的用于生成物理对象的3d模型并检测物理对象的设备的示例性部件的框图。在各种具体实施中,这些功能可被分离到一个或多个独立设备上。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备120包括一个或多个处理单元502(例如,微处理器、asic、fpga、gpu、cpu、处理核心等)、一个或多个输入/输出(i/o)设备及传感器506、一个或多个通信接口508(例如,usb、firewire、thunderbolt、ieee 802.3x、ieee 802.11x、ieee 802.16x、gsm、cdma、tdma、gps、ir、bluetooth、zigbee、spi、i2c或类似类型的接口)、一个或多个编程(例如,i/o)接口510、一个或多个显示器512、一个或多个面向内部或面向外部的图像传感器系统514、存储器520以及用于互连这些部件和各种其他部件的一条或多条通信总线504。
50.在一些具体实施中,一条或多条通信总线504包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备和传感器506包括触摸屏、软键、键盘、虚拟键盘、按钮、旋钮、操纵杆、开关、拨号盘、惯性测量单元(imu)、加速度计、磁力仪、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测器、心率监测器、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎、一个或多个深度传感器(例如,结构化光、飞行时间等)等的至少一者。在一些具体实施中,由一个或多个i/o设备和传感器506检测到的设备120的移动、旋转或位置向设备120提供输入。
51.在一些具体实施中,一个或多个显示器512被配置为呈现er内容。在一些具体实施中,一个或多个显示器512对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导电子发射器显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd

led)、微机电系统(mems)或类似显示器类型。在一些具体实施中,一个或多个显示器512对应于衍射、反射、偏振、全息等波导显示器。在一个示例中,设备120包括单个显示器。在另一个示例中,设备120包括针对每只眼睛的显示器。在一些具体实施中,一个或多个显示器512能够呈现er内容。
52.在一些具体实施中,一个或多个图像传感器系统514被配置为获得对应于设备120的本地场景的至少一部分的图像数据。一个或多个图像传感器系统514可以包括一个或多个rgb相机(例如,具有互补金属氧化物半导体(cmos)图像传感器或电荷耦合器件(ccd)图像传感器)、rgb

d相机、单色相机、ir相机或者基于事件的相机等。在各种具体实施中,一个或多个图像传感器系统514还包括发射光的照明源,诸如闪光灯。
53.存储器520包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储器设备。在一些具体实施中,存储器520包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器520任选地包括与一个或多个处理单元502远程定位的一个或多个存储设备。存储器520包括非暂态计算机可读存储介质。在一些具体实施中,存储器520或存储器520的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作系统530以及一个或多个应用程序540。
54.操作系统530包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,操作系统530包括内置er功能,例如包括被配置为从一个或多个应用程
序540调用的er布景创建特征或er布景查看器。应用程序540包括扫描仪542,该扫描仪被配置为创建物理对象的扫描并且基于扫描来创建物理对象的3d模型。应用程序540还包括检测器544,该检测器被配置为使用这些3d模型例如在er布景期间在稍后获得的图像中检测物理对象。
55.图5更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图9中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。
56.图6是根据一些具体实施的创建对象的模型的方法的流程图表示。在一些具体实施中,方法600由设备(例如,图2和图5的设备120)执行。方法600可在移动设备、hmd、台式计算机、膝上型计算机或服务器设备上执行。在一些具体实施中,方法600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
57.在框610处,方法600在用户界面中提供指示符,该指示符指示能够从其捕获物理布景中的对象的图像的可能方向。在一些具体实施中,指示符是围绕由用户的设备上的传感器捕获的实时图像显示的元素(例如,短划线)环。在一些具体实施中,指示符是从环的中心径向向外取向的短划线环。在一些具体实施中,指示符指示垂直于使用设备上的传感器所识别的重力方向的可能方向。
58.在一些具体实施中,方法600捕获和/或记录物理布景的实时图像,并且在用户的设备上显示那些图像的一部分(例如,一些或所有像素)。在一些具体实施中,仅显示每个图像的像素的与指示符内(例如,在指示符的元素环内)的区域相关联的子集。图像的其他部分可被剪掉。在一些具体实施中,指示符被显示在来自设备的图像的顶部上,例如,短划线环可被显示在每个图像的顶部上,指示每个图像的相关部分是指示符内的部分。
59.在框620处,方法600基于设备(例如,设备的相机)相对于对象的方向来修改指示符。因此,例如,用户界面可提供图形指示符,该图形指示符是围绕由设备的相机捕获的内容显示的短划线圆圈。随着用户围绕对象移动设备并且基于设备的当前取向和设备相对于对象的所得方向,圆圈周围的不同短划线的形状、尺寸或颜色可改变以指示设备相对于对象的当前方向。在一些具体实施中,通过改变元素子集的尺寸、形状或颜色以指示设备的方向来修改指示符。例如,除了与设备的当前方向相关联的相关侧上的指示符的元素之外,指示符的元素可具有正常的尺寸、形状和颜色。在一些具体实施中,通过将元素的第一子集的尺寸、形状或颜色从第一状态(例如,正常)改变为第二状态(例如,放大)以指示设备的当前方向来修改指示符,并通过将元素的第二子集的尺寸、形状或颜色从第二状态(例如,放大)返回第二状态(例如,正常)以指示设备不再沿先前方向取向来修改指示符。在一些具体实施中,指示符包括径向取向的元素,并且修改指示符涉及改变那些元素的子集的长度、厚度或颜色以指示设备的方向。
60.需注意,方法600不需要(例如,经由计算机视觉)实际确定设备在对象的特定侧上。相反,方法600可依赖于用户将对象放置在相机的当前视图中以及例如基于设备上的传
感器所确定的设备的方向上。
61.在一些具体实施中,基于检测到设备在物理布景的坐标系中的方向的改变来检测该设备相对于物理布景中的对象的方向。在一些具体实施中,设备相对于物理布景中的对象的方向基于来自设备上的运动传感器的运动数据,该运动数据指示设备在物理布景中的位置或取向的变化。
62.在框630处,方法600从多个方向捕获对象的图像。可例如自动地和/或基于创建此类捕获的用户输入来记录此类图像。在一些具体实施中,所有记录图像将用于生成对象的模型。在其他具体实施中,将仅使用图像的子集(例如,仅用户捕获的图像)来生成模型。在一些具体实施中,连续记录图像,并且基于用户输入将那些图像的子集识别为用户捕获的图像。
63.将一些图像识别为用户捕获的图像可用于改变指示符的外观。例如,对指示符的颜色、形状或尺寸创建永久(例如,针对当前扫描的其余部分)改变,以指示用户已从一个或多个特定方向发起了用户捕获图像。在一些具体实施中,该方法接收捕获图像作为用户捕获的图像的输入,并且在接收到该输入时基于设备相对于对象的方向来修改指示符。在一些具体实施中,基于捕获图像的输入对指示符的修改在对象的扫描期间是持久的。例如,即使当用户随后移动到对象的另一侧并且改变设备的方向时,指示符元素也可被改变为更厚且颜色为黄色,并且保持为厚和黄色。
64.在一些具体实施中,方法600引导用户为要生成的模型提供附加信息。例如,方法600可请求用户获得对象的自顶向下图像、获得对象的自底向上图像等。
65.在框640处,方法600生成对象的模型以用于在后续图像中检测对象。3d模型可以是与描述符相关联的点的点云。点云可包括具有基于扫描数据的描述符的点。所有图像或图像的子集(例如,仅用户捕获的图像)可用于将对象与物理布景中不应包括在模型中的其他项目区分开。
66.在一些具体实施中,在扫描操作开始时,设备或方法呈现用户界面,其中相机馈送与捕获按钮一起显示。该设备或方法在视觉上或听觉上指示或要求用户从对象的前面拍摄照片/拍摄对象的前面的照片。用户将相机指向对象的前面并按下捕获按钮。这连同来自imu的重力一起用于对扫描的坐标系进行取向。该设备或方法呈现具有短划线的指示符以指示设备方向。例如,指示符(例如,其形状、周长等)可识别当前图像具有的对象的覆盖范围。指示符的尺寸、形状、颜色或其他属性可指示设备的当前方向。随着用户围绕对象移动设备并且基于捕获设备的取向和设备相对于对象的所得方向,圆圈周围的不同短划线可被修改(例如,尺寸放大或减小)以指示设备相对于对象的当前方向。
67.当用户再次点击捕获按钮时,对指示符元素(例如,与当前设备方向相关联的较厚短划线)的修改可为改变颜色并且永久性地处于修改(例如,较厚)状态。这让用户知道对象的特定侧已被扫描,并且用户可专注于扫描对象的其他部分或侧。用户继续围绕对象移动并点击捕获按钮,直到环上的短划线全部被永久修改(例如,厚且不同的颜色)。最后,可要求用户从自顶向下的视角给对象拍摄照片。然后可使用来自扫描和自顶向下视角的对象的图像(以及在该过程期间获得的任何其他相关信息)来生成对象的模型。需注意,100%覆盖(例如,全部较厚被着色的短划线)可能不是使该过程运行所必需的,而是可用作阈值以提供具有至少阈值质量的模型。可以在没有所有所需图像的情况下获得较低质量的模型。
68.图7示出了在图3的对象的扫描期间的第一实例处设备相对于对象105的方向。在该示例中,设备具有在对象105前面的图像传感器姿态310a。在姿态310a中,设备朝向对象105的前面取向。另选地,该设备也可被描述为指向对象105的前面。
69.图8示出了在图7所示的第一实例期间被显示以指示设备120相对于对象105的方向的指示符。指示符包括围绕对对象的描绘显示的元素,例如元素820a

820e。在该示例中,指示符元素820a

820e被放大以指示设备具有朝向对象105的前面的方向。在一些具体实施中,设备在扫描开始时的初始方向与特定指示符元素和相关方向相关联(例如,初始方向可被假设为前面并且用指示符的底元素来指示)。
70.此外,可使用多个指示符元素来指示特定方向。例如,如图8所示,一个指示符(820c)可指示设备的方向,而另外的附近指示符指示设备的当前方向也足以从其他方向(例如,820a、820b、820d、820e)获得与图像相关联的信息。在一些具体实施中,提供多个指示符元素修改以使指示符修改更容易理解。在一些具体实施中,多个指示符元素修改指示当前图像将提供与多个相机方向相关的图像捕获数据,并因此不需要记录来自那些其他(附近)方向的图像来生成对象的模型。
71.图9示出了在图3的对象的扫描期间的稍后实例处设备相对于对象105的方向。在该示例中,设备具有在对象105后方的图像传感器姿态310f。
72.图10示出了被显示以指示设备在图9中所描绘的稍后实例期间的方向的指示符。指示符仍然包括围绕对对象的描绘显示的元素,例如元素820a

820e和元素820f

820j)。在该示例中,指示符元素820f

820j被放大以指示设备具有面向对象105的后侧的方向,并且指示符元素820a

820e的尺寸减小以指示设备不再具有图7至图8的方向。
73.图11示出了被显示以指示用户捕获的图像是从某个方向捕获的指示符。在该示例中,当设备具有位于对象105前方的图像传感器姿态310a时(例如,如图7所示),用户已提供用户输入以捕获用户捕获的图像。在该示例中,指示符元素820a

820e被放大以指示设备具有朝向对象105的前面的方向,并且指示符元素具有修改的颜色(例如,从红色转到黄色)以指示用户已从该方向捕获了用户捕获的图像。这些修改可基于捕获用户捕获的图像的用户输入而成为永久性的(例如,针对扫描的其余部分)。
74.图12示出了以修改显示以指示用户捕获的图像先前从某个方向捕获的指示符。在用户捕获图11的用户捕获图像之后,用户将设备移动到对象105后方的图像传感器姿态310j(例如,如图9所示)。在该示例中,指示符元素820f

820j被放大以指示设备具有朝向对象105的后侧的方向。在该示例中,指示符元素820a

820e继续具有新颜色(例如,黄色),指示用户先前从与指示符元素820a

820e相关联的方向捕获了用户捕获的图像。
75.图13示出了被显示以指示多个用户捕获的图像从多个方向捕获的指示符。在该示例中,用户从与指示符元素820a

820j相关联的方向捕获图像,如由那些指示符元素的永久颜色所指示的。此外,剩余的指示符元素820k

820x保持在正常状态,指示用户应继续从附加方向扫描对象以获得创建3d模型所需(或以其他方式确定为适当)的对象的图像。用户可使用来自指示符元素820a

820x的该视觉反馈来继续扫描对象105以可视化已经捕获的方向、仍然需要捕获的方向以及设备的当前方向。在一些示例中,用户可继续扫描对象,直到所有指示符元素被改变为指示已从足够的周围方向用图像记录了该对象。在一些示例中,用户可继续识别用户发起的图像捕获,直到所有指示符元素被改变为指示已从足够的周围
方向用图像记录了该对象。
76.图14是根据一些具体实施的用于促进在基于对对象的扫描来创建用于对象检测的3d模型期间对对象的识别的方法的流程图表示。在一些具体实施中,方法1400由设备(例如,图2和图5的设备120)执行。方法1400可在移动设备、hmd、台式计算机、膝上型计算机或服务器设备上执行。在一些具体实施中,方法1400由处理逻辑部件,包括硬件、固件、软件或其组合来执行。在一些具体实施中,方法1400由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
77.在框1410处,方法1400从多个方向记录对象的图像。此类图像可连续记录,例如,作为视频。图像包括对物理对象的描绘和物理对象的物理布景。例如,图像可包括对物理对象和物理对象所置于的桌子或地板、物理对象正靠在其上的墙壁、相邻物理对象或附近物理对象的描绘。
78.在框1420处,方法1400基于图像生成模型(例如,特征点云)。模型可包括对应于物理对象的第一部分和对应于物理布景(例如,附近的墙壁、桌子或其他物理对象)的第二部分。
79.在框1430处,方法1400在图像的记录期间识别图像的子集。可基于图像的记录期间的用户输入来识别图像的子集。例如,随着用户移动设备捕获图像流(例如,视频),用户还可周期性地按下图像捕获按钮以将在该时间点捕获的图像指定为用户捕获的图像。用户界面可包括用户界面命令(例如,捕获按钮),该用户界面命令在用户围绕物理对象移动捕获图像的某些时刻发起。例如,200个记录图像中的10个图像可被识别为用户捕获的图像。
80.用户界面可指示用户在特定情况下提供此类用户输入。例如,用户界面可包括识别图像的实时视图上正被捕获的区域(例如,识别显示器的中心部分的椭圆形或矩形图形)的指示符,并且当对象在所识别的区域内时,可指示用户提供用户输入。这可有助于区分将对象包括在该区域内的图像与未将对象包括在该区域内的图像。例如,随着用户四处移动并捕获物理对象的许多图像,这些图像中的一些图像可能未集中于物理对象上,例如,物理对象可能未完全描绘在图像的指定区域内。用户输入可识别所述图像中在指定区域内具有对对象的描绘的图像,使得这些图像可用于识别物理对象在三维空间中的位置。
81.在框1440处,方法1400基于图像的所识别的子集来识别对应于物理对象的空间体积。在一些具体实施中,这涉及识别基于图像的子集识别的空间体积的交点。例如,可基于图像的子集中的每个图像来识别空间体积,例如,识别对应于每个图像的特定区域(例如,中心矩形内)的物理布景的空间体积。与在记录期间捕获的其他图像相比,这些空间体积的交点可能更可能包括物理对象并且排除物理布景的其他物理方面。空间体积可基于来自多个方向的图像,并且因此可包括物理对象的许多或所有侧面上的边界,该边界将空间体积限制为相对紧密地接近由物理对象占据的空间的体积。在一些具体实施中,当将新图像添加到图像的子集时,基于所添加的图像来更新对应于物理对象的空间体积。
82.在框1450处,根据识别空间体积,方法1400识别模型的对应于物理对象的第一部分。方法1400可以基于图像识别(或剪辑)模型的对应于对象的一部分,例如,使用基于用户捕获的图像的子集识别的空间体积。
83.在一些具体实施中,图像的子集中的每一者与空间体积(例如,与在该时间期间捕获的图像相关联的截头体/锥体)相关联。在一些具体实施中,用户捕获这些用户捕获的图
像,其中物理对象完全显示在显示器上的区域边界或其他指示符内(例如,圆形图形指示符内)。该方法1400可识别与每次捕获相关联的空间体积(例如,截头体/锥体),并且基于对物理对象在那些空间体积内的理解来将物理对象与其他项目区分开。随着用户从不同方向捕获用户捕获的图像(例如,选择捕获按钮),识别到多个体积。可基于那些体积的交点(例如,在多个截头体/锥体的交点内)来确定物理对象的位置。此外,可在持续的基础上生成模型,并且每个用户捕获的图像可用于剪掉模型的在与该捕获相关联的空间体积之外的部分。在从多个方向进行扫描的过程中,可适于仅包括物理对象并且排除否则可能已经包括在模型中的其他项目。
84.在一些具体实施中,在扫描期间,设备或方法连续检测特征点(即使当用户未点击捕获按钮时)。当用户点击捕获按钮时,设备或方法评估相机的视图以切出包含物理对象的空间体积(例如,锥体)。该技术基于以下假设:当用户按下捕获按钮时,物理对象在视野中。该系统或方法可获取由捕获按钮的每次按压所限定的体积(围绕指示符和自顶向下),并且基于那些体积的交点来确定将物理对象与物理布景的其他方面区分开。
85.图15是示出在扫描期间基于对象的用户捕获的图像来剪辑对象的模型的框图。在该示例中,与两个用户捕获的图像相关联的锥体或楔形物1510a

1510b用于确定将对象105包括在模型中,同时排除项目1500a

1500f。体积的交点可用作被扫描对象的边界体积并且由模型生成单元使用。用户不需要定位3d边界框。相反,可基于用户在对象的扫描过程期间对用户捕获的图像的选择来自动创建边界区域。
86.该设备或方法还可使用平面检测来检测任何类型的平面(例如,水平、竖直、成角度等)以限定被扫描对象的边界。平面上和边界体积外部的特征点可不用于表示对象。
87.用户界面可被配置为提供指令、提示和其他指导以帮助促进对象的图像的捕获和良好的锚定结果。用户界面可提供引导用户避免扫描有光泽、移动或微小对象的提示。用户界面可引导用户将对象放置在具有不均匀纹理的平坦表面上。用户界面可引导用户从不同角度拍摄约阈值数量(例如,约5张)的照片。
88.如图16所示,用户界面可提供指示符1610,该指示符向用户示出将基于相机的当前图像内容(例如,覆盖在当前实时图像上)在扫描中捕获的内容。用户界面可指示用户使用指示符1610为对象加边框。用户界面可指示用户捕获对象的前面。
89.用户界面可包括指示特定侧面(例如,对象的前面)的指示符,诸如指示符1620。随着用户围绕对象移动而从不同位置捕获图像,可显示对象侧指示符诸如指示符1620,以帮助相对于对象的不同侧的位置和/或用户已捕获图像的哪些侧来取向用户。
90.用户界面可包括捕获按钮1630或接收输入以记录当前显示的对象的图像的其他用户界面元素。设备可连续显示来自设备的相机的视频捕获,并且可基于用户对捕获按钮1630的选择来将视频的某些帧指定为捕获的图像。
91.在用户已从特定视点捕获了对象的图像之后,用户界面可改变以指示对象的图像已被捕获。例如,如图17所示,捕获按钮1630被改变,使得捕获按钮1630的周边1740的一部分1730包括指示已捕获图像的指示(例如,线、填充颜色等)并且显示文本消息“已完成”。在该示例中,部分1730对应于捕获按钮1630的周边1740的百分比(例如,25%),以提供对应于已捕获的所需图像的百分比(例如,25%)的视觉指示。
92.用户界面可提供指示用户移动图像捕获设备以捕获对象的附加图像的方向的期
望运动指示(例如,箭头指示符或文本),如图18所示。
93.用户界面可基于检测设备的运动或运动变化来提供指导或指令。例如,基于用户停止移动至少时间阈值(例如,5

10秒),用户界面可向用户提供具有附加指令或有帮助内容的消息。
94.在另一个示例中,一旦设备的方向在特定侧的期望位置的范围内(例如,右侧的60

120度范围内),用户界面就可提示用户捕获对象的图像,例如,用消息“捕获右侧”来提示。如果设备的方向通过该范围,则用户界面可停止显示该消息并提示用户返回。
95.在已拍摄预定数量(例如,三张)照片(例如,前面、右侧和后面)之后,可为用户提供跳过从另一侧(例如,左侧)获得图像的选项,例如,以适应用户无法访问或提供对象的部分或视图的情况。用户界面可为用户提供跳过步骤的消息,例如,指示以下内容的消息:“跳过步骤—如果您不能访问您的对象,则跳过该步骤。捕获您能捕获的一切以获得最佳结果。”96.用户界面可通过指令和/或视觉指示符引导用户定位和取向设备以捕获对象的2d透视图。例如,此类2d透视图可提供对象的前面、后面、左侧和右侧的图像。用户界面可确定已经获得了足够的2d透视图,并且基于该标准和/或其他标准,确定还期望或需要一个或多个正交视图(例如,自顶向下)。用户界面可通过指令和/或视觉指示符引导用户获得对象的一个或多个正交视图,例如通过箭头和/或文本消息。用户界面可在处于正交视图捕获模式时淡入淡出视觉显示器的一部分(例如,50%)。用户界面可以在通过撤销对视觉显示器的该部分的改变进行正交视图捕获之后提供确认和/或提供向用户指示已捕获用于扫描的对象的所有必要图像的指示(例如,消息“完成!”)。
97.在确认完成之后,可使用用户界面来指示用户通过尝试基于扫描来检测对象来测试该扫描。如果在这样的测试期间不能找到对象,则可以提供消息,例如指示“我们不能找到这个对象”的消息和重试测试或重新扫描的选项。用户界面可在用户四处移动时继续尝试检测对象,并且可提供消息“尝试从不同角度检测您的对象”。用户界面可使得用户能够查看所述捕获并决定是丢弃还是重新开始。
98.本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使要求保护的主题晦涩难懂。
99.除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
100.本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
101.本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
102.本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
103.还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
104.本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件或其分组。
105.如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
[0106]
前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜