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

深度感知照片编辑的制作方法

2022-03-26 02:46:42 来源:中国专利 TAG:

深度感知照片编辑
1.相关申请的交叉引用
2.本技术要求于2019年12月19日提交的美国专利申请no.16/720,743的优先权,该申请要求于2019年8月9日提交的美国临时专利申请no.62/884,772的优先权,其全部内容通过引用合并在此。


背景技术:

3.许多现代计算设备(包括移动电话、个人计算机以及平板)包括图像捕获设备,诸如静态和/或视频相机。图像捕获设备可以捕获图像,诸如包括人、动物、风景和/或对象的图像。
4.一些图像捕获设备和/或计算设备能够校正或以其他方式修改捕获的图像。例如,一些图像捕获设备能够提供“红眼”校正,该“红眼”校正移除可能存在于使用亮光诸如闪光灯光照所捕获的图像中的伪影,诸如人们和动物的发红眼睛。在捕获的图像已被校正之后,经校正后的图像能够被保存、显示、发送、打印到纸和/或以其他方式利用。


技术实现要素:

5.在一个方面,提供了一种计算机实现的方法。该方法涉及计算设备:(i)在计算设备处接收第一图像的图像数据,(ii)确定第一图像的深度图,(iii)确定用于第一图像的分段数据,以及(iv)至少部分地基于(a)深度图和(b)分段数据,来处理第一图像以生成第一图像的编辑版本。第一图像可以是场景的第一图像。场景能够包括一个或多个对象。可选地,处理第一图像能够包括编辑图像中的对象以生成第一图像的编辑版本。
6.在另一方面,一种计算设备包括一个或多个处理器和在其上存储有计算机可执行指令的数据存储。当由一个或多个处理器执行时,指令使计算设备执行以下各项的功能,包括:(i)接收第一图像的图像数据,(ii)确定第一图像的深度图,(iii)确定用于第一图像的分段数据,以及(iv)至少部分地基于(a)深度图和(b)分段数据,来处理第一图像以生成第一图像的编辑版本。指令还可以使计算设备执行包括本文描述的任何方法步骤的功能。
7.在另一方面,一种系统包括:(i)用于在计算设备处接收第一图像的图像数据的手段,(ii)用于确定第一图像的深度图的手段,(iii)用于确定第一图像的分段数据的手段,以及(iv)用于至少部分地基于(a)深度图和(b)分段数据来处理第一图像以生成第一图像的编辑版本的手段。该系统还可以包括用于执行本文描述的任何方法步骤的手段。
8.在另一方面,一种示例计算机程序或计算机可读介质包括程序指令,这些程序指令可由处理器运行以执行包括以下各项功能,包括:(i)在计算设备处接收第一图像的图像数据,(ii)确定第一图像的深度图,(iii)确定第一图像的分段数据,以及(iv)至少部分地基于(a)深度图和(b)分段数据,来处理第一图像以生成第一图像的编辑版本。指令还可以使计算设备执行包括本文描述的任何方法步骤的功能。
9.前述发明内容仅仅是说明性的,且不旨在以任何方式进行限制。除了上文所描述的说明性方面、实施例以及特征之外,其它方面、实施例以及特征将通过参考各图和以下详
细描述以及附图而变得显而易见。
附图说明
10.图1是图示根据示例实施例的用于深度感知图像处理的计算机实现的方法的流程图。
11.图2a到2d示出根据示例实施例的用于编辑图像的图形界面。
12.图3a和3b示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
13.图4a到4c示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
14.图5a到5e示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
15.图6a和6b示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
16.图7a到7c示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
17.图8a到8d示出根据示例实施例的用于编辑图像和/或与图像交互的另一个图形界面。
18.图9是根据示例实施例的计算设备的框图。
具体实施方式
19.本技术描述用于结合深度图数据利用图像分段来提供各种类型的深度感知照片编辑的方法和系统。可以在图像后处理中或实时地(例如,在用于相机应用的实况视图取景器中)应用深度感知照片编辑。
20.i.图像的分段
21.示例实施例可以利用用于(或表示)图像的分段数据来对图像执行各种类型的图像处理。特别地,示例实施例可以利用对象分段数据,诸如在图像内勾勒、隔离或分离人或其他感兴趣对象的分段蒙版,例如通过指示由场景中的一个或多个前景对象占据的图像的一个或多个区域,以及与场景背景相对应的图像的一个或多个区域。
22.蒙版常常用在图像处理中并且能够涉及将图像内的像素值设置为零或某个其他背景值。例如,蒙版图像能够对应于其中一些像素强度值为零而其他像素值为非零的图像(例如,使用“1”和“0”的二元蒙版)。只要在蒙版图像中像素强度值为零,那么就能够将所得的掩蔽图像的像素强度设置为背景值(例如,零)。为了进一步图示,示例蒙版可以涉及将与图像的前景中的对象相对应的所有像素设置为白色并且将与背景特征或对象相对应的所有像素设置为黑色。预测蒙版能够对应于由卷积神经网络(cnn)产生的图像的估计分段(或其他估计输出)。能够将预测蒙版与基准真相蒙版进行比较,该基准真相蒙版能够表示输入图像的期望分段。
23.在实施例中,可以通过利用机器学习的过程来生成或提供图像分段蒙版。例如,可以训练cnn并且随后利用它来解决语义分段任务。特定分段任务可以是使图像的前景中的
对象与图像中的一个或多个背景区域分开的二元或多级预测蒙版。预测蒙版能够对应于由cnn产生的图像的估计分段(或其他估计输出)。
24.在一些实施例中,可以利用cnn来实时地估计图像或视频分段蒙版,使得能够针对视频(例如,以每秒30帧)以及针对静止图像来执行分段。为了这样做,可以将图像序列中的每个图像分成其三个颜色信道(rgb),并且然后可以将这三个颜色信道与用于序列中的前一个图像的蒙版级联。然后,可以将此级联的帧作为输入提供给cnn,该cnn输出用于当前图像的蒙版。针对当前图像的蒙版输出是用于当前图像的分段数据的示例。
25.更具体地,在一些实施例中,图像补丁中的每个像素的每个颜色信道是单独的初始输入值。假定每个像素有三个颜色信道(例如,红色、绿色和蓝色),甚至像素的小32x32补丁也将为第一隐藏层中的每个节点产生3072个传入权重。能够将此cnn架构认为是三维的,其中节点被布置在具有宽度、高度和深度的块中。例如,可以将具有3个颜色信道的前述32
×
32像素补丁布置到具有32个节点的宽度、32个节点的高度和3个节点的深度的输入层中。
26.当利用其中输入图像数据依靠来自序列中的前一个图像帧的蒙版的cnn时,示例cnn能够提供帧到帧的时间连续性,同时还说明时间不连续性(例如,意外地出现在相机视场中的人或宠物)。可能已经针对每个训练图像通过带注释的基准真相的变换训练了cnn,以便针对第一帧(或针对单个静止图像)和/或当在场景中出现新对象时适当地工作。此外,可以使用将cnn训练成传播并调整前一个帧蒙版的次要变换以及将网络训练成理解不适当的蒙版并丢弃它们的主要变换,来利用经仿射变换的基准真相蒙版。
27.ii.为图像生成深度信息
28.深度信息能够采取各种形式。例如,深度信息可能是深度图,该深度图是存储与场景中对象的表面离某个视点(例如,离相机或移动设备)的距离有关的信息的坐标映射或另一数据结构。例如,由相机捕获的图像的深度图能够指定与从相机到图像中捕获的对象的表面的距离有关的信息;例如在逐像素(或其他)基础或图像中的像素的子集或采样上。确定场景的深度图能够包括确定场景的(捕获的)图像的深度图。
29.作为一个示例,深度图能够包括图像中的每个像素的深度值,其中图像im的像素pix的深度图dm的深度值dv1表示从视点到由图像im中的像素pix所描绘的一个或多个对象的距离。作为另一示例,能够将图像im划分成区域(例如,n
×
m个像素的块,其中n和m是正整数)并且深度图能够包括图像中的像素的每个区域的深度值;例如,图像im的像素区域pixr的深度图dm的深度值dv2表示从视点到由图像im中的像素区域pixr所描绘的一个或多个对象的距离。其他深度图以及图像的像素与深度图的深度值之间的对应也是可能的;例如,双像素图像的每个双像素的深度图中的一个深度值。
30.可以使用各种技术来为图像生成深度信息。在一些情况下,可以为整个图像(例如,为整个图像帧)生成深度信息。在其他情况下,可能仅为图像中的某个或多个区域生成深度信息。例如,可以仅在使用图像分段来标识图像中的一个或多个对象时生成深度信息。具体地,可以为经标识的一个或多个对象确定深度信息。
31.在实施例中,可以利用立体成像来生成深度图。在此类实施例中,可以通过使左立体图像和右立体图像相关以与立体图像之间的像素匹配来获得深度图。可以通过确定哪些像素在左图像与右图像之间最类似来匹配像素。然后,可以使用在左立体图像与右立体图像之间相关的像素来确定深度信息。例如,像素在左图像中的位置与对应像素在右图像中
的位置之间的视差可以用于使用双目视差技术来计算深度信息。可以产生包含场景的深度信息的图像,该信息是诸如与场景中的对象相对于相机视点有多深或有多远相关的信息。例如,此类图像在用于诸如手势跟踪和对象识别的应用的感知计算中有用。
32.各种深度感测技术被用在包括远程呈现、3d场景重建、对象识别和机器人的计算机视觉任务中。这些深度感测技术包括门控或连续波飞行时间(tof)、基于三角测量的空间、时间结构光(sl)或有源立体系统。
33.然而,根据成对立体图像对深度的高效估计是计算上昂贵的并且是计算机视觉中的核心问题之一。从存储器中检索存储的图像补丁常常需要多个存储器访问。因此,算法既受到存储器约束又受到计算地约束。因此,计算复杂度与样本大小(例如,图像中的像素的数目)成比例地增加。
34.当与飞行时间或传统结构光技术相比时至少部分地由于改善的鲁棒性,能够使用有源立体(即,其中场景纹理通过有源光投影仪扩增的立体匹配)来改善立体匹配技术的效率。此外,放宽前沿平行假定允许实现改善的立体重建,该假定要求视差对于给定图像补丁是恒定的。因此,本文描述的系统和方法的一些实现方式可以利用用于确定将图像划分成多个不重叠拼块的深度信息的过程。此类技术可以允许通过跨这些拼块分摊计算来探索与视差空间平面相对应的大得多的成本量,从而移除对任何显式窗口大小的依赖以计算在确定立体对应时左图像补丁与右图像补丁之间的相关性。
35.例如,在一些实施例中,根据成对立体图像进行深度估计的方法包括在一对相机处捕获场景的第一图像和第二图像。第一图像和第二图像形成立体对并且各自包括多个像素。第二图像中的多个像素中的每一个像素用视差假设来初始化。该方法包括从较小像素大小的图像拼块到较大像素大小的图像拼块来递归地确定第二图像中的多个像素中的每一个像素的视差假设的匹配成本以生成包括多个图像拼块的初始拼块视差图,其中,初始拼块视差图的每个图像拼块被指配视差值估计。每个图像拼块的视差值估计被细化以包括倾斜假设。附加地,针对每个拼块的视差值估计和倾斜假设可以用来自邻近拼块的更好匹配的视差倾斜估计替换,以并入强制执行连续表面的平滑度成本。针对第二图像的每个像素的最终视差估计(包括倾斜假设)是基于每个图像拼块的细化视差值估计而确定的,该每个图像拼块的细化视差值估计随后用于基于所确定的最终视差估计来生成深度图。因此,可以通过使用这种形式的立体重建以更加计算高效的方式来生成或确定深度图。
36.在另一方面中,还能够使用来自单个传感器的数据(例如,来自单个图像传感器的图像数据)或使用来自多个传感器(例如,两个或多个图像传感器)的数据来生成深度信息。在一些实现方式中,可以利用来自一对相机(例如,立体成像)的图像数据来确定来自一个相机的图像(或通过组合来自两个相机的数据所生成的图像)的深度信息。还能够使用来自多于两个图像传感器(例如,来自三个或更多个相机)的数据来生成深度信息。
37.在单相机方法中,能够由在光检测传感器上使用双像素的一个相机(例如,提供自动聚焦功能性的相机)拍摄的图像来估计深度图。能够将图像的双像素认为是被分割成两个部分诸如左像素和右像素的像素。然后,双像素图像是包括双像素的图像。例如,具有r行和c列像素的图像image1可以是和/或基于具有对应于图像image1的像素的r行和c列双像素的双像素图像dpi。
38.为了捕获双像素,相机能够使用捕获场景的两个稍微不同的视图的传感器。在比
较这两个视图时,前景对象可能似乎是不动的,而背景对象在称为视差的效果中垂直地移动。例如,由那个人拍摄的人的“自拍”或图像通常使那个人的面部作为前景对象并且可以在背景中具有其他对象。所以,在比较自拍的两个双像素视图时,那个人的面部将似乎是不动的,而背景对象将似乎垂直地移动。
39.根据双像素图像计算深度的一种方法包括将一个双像素图像视为两个不同的单像素图像,并且设法与两个不同的单像素图像匹配。每个点的深度确定它在两个视图之间移动多少。因此,能够通过使一个视图中的每个点与其在另一个视图中的对应点匹配来估计深度。可以将此方法称为“来自立体的深度”。然而,在双像素图像中找到这些对应是极具挑战性的,因为场景点几乎不在视图之间移动。能够基于视差只是存在于图像中的许多深度线索(包括语义、散焦和可能的其他线索)之一的观察结果来改善来自立体的深度。示例语义线索是相对近的对象与相对远的对象相比在图像中占去更多像素的推理。散焦线索是基于离观察者(例如,相机)相对远的点与相对近的点相比看起来不太锐利/更模糊的观察结果的线索。
40.在一些实现方式中,可以利用诸如神经网络的机器学习来根据双像素图像和/或根据由相机对捕获的立体图像来预测深度信息。特别地,能够将双像素图像和/或立体图像对提供给神经网络以训练神经网络来预测输入双像素图像和/或输入立体图像对的深度图。例如,神经网络可以是和/或能够包括卷积神经网络。神经网络能够利用视差线索、语义线索和双像素图像的可能的其他方面来预测输入双像素图像的深度图。因此,可以提供确定深度的更高效方法。
41.能够在图像的相对大的数据集(例如,50,000或更多)上训练神经网络。数据集能够包括在大体上相同的时间从不同视点拍摄的对象的多张照片以提供用于将神经网络训练成根据双像素图像和/或根据立体图像来预测深度图的基准真相数据。例如,能够使用多相机设备来获得在稍微不同的角度下从多个相机拍摄的对象的多张照片以提供更好的基准真相深度数据来训练神经网络。在一些示例中,多相机设备能够包括多个移动计算设备,每个移动计算设备配备有能够拍摄双像素图像的相机和/或能够捕获立体图像的成对相机。然后,所得的作为用于神经网络的训练数据的双像素图像和/或立体图像类似于在其他移动计算设备(例如,用户的移动计算设备)上使用相同或类似类型的相机拍摄的双像素图像和/或立体图像。来自运动和/或多视图立体技术的结构能够用于根据由多相机设备捕获的双像素图像和/或根据立体图像数据来计算深度图。
42.一旦神经网络被训练,经训练的神经网络就能够接收能够在其中包括一个或多个对象的场景的图像数据。图像数据可以是场景的双像素图像或立体图像。然后,可以应用神经网络来估计输入图像的深度图。然后,能够提供深度图以用于在以各种方式处理图像数据时使用。此外,在实施例中,由深度图提供的深度信息能够与用于相同图像的分段数据组合以进一步改善例如移动计算设备的图像处理能力。
43.如本文所描述的机器学习技术的使用,诸如神经网络的使用,能够帮助提供对于考虑到传统深度线索(诸如视差)和附加深度线索(诸如但不限于语义线索和散焦线索)这两者的深度图的估计。然而,应该理解,可以使用不依靠机器学习和/或利用与本文描述的那些不同类型的机器学习的其他类型的技术和过程来生成深度图和其他形式的深度信息。
44.iii.深度感知图像处理
45.本文描述的实施例利用深度信息(例如,深度图)和图像分段数据的组合来提供各种类型的照片和/或视频编辑或处理特征。可以至少部分地基于深度图和分段数据来处理图像以生成图像的编辑版本。例如,成像应用可以利用以下各项的组合:(i)分段蒙版和(ii)深度图,以提供照片或视频中的特定对象或特征的深度感知编辑和/或实时深度感知处理。因此可以提供改善的图像编辑。
46.可以在各种类型的应用中并且通过各种类型的计算设备来实现本文描述的深度感知图像处理。例如,本文描述的深度感知过程可以由允许对静止图像和/或视频进行深度感知后处理的图像编辑应用实现。
47.本文描述的深度感知过程可能附加地或可替换地由相机应用或包括实况视图界面的另一类型的应用实现。实况视图界面通常包括取景器特征,其中相机视场的视频馈送被实时地显示。可以通过对由相机捕获的图像流(例如,视频)(或可能对来自多个相机的并发地捕获的图像流)应用深度感知图像处理来生成用于实况视图界面的视频馈送。
48.本文描述的深度感知过程可能附加地或可替换地由视频会议应用和/或其他类型的应用实现。
49.本文描述的深度感知图像处理能够由各种类型的计算设备实现。例如,本文描述的深度感知图像处理可能由诸如移动电话、平板、可穿戴设备的移动计算设备上的应用实现。本文描述的深度感知图像处理也可能由台式计算机应用和/或由其他类型的计算设备实现。
50.此外,实现深度感知图像处理的计算设备它本身可能包括捕获正被处理的图像数据的一个或多个相机。可替换地,实现深度感知图像处理的计算设备可能通信地耦合到相机或相机阵列,或者耦合到具有相机或相机阵列的另一设备,其捕获用于深度感知图像处理的图像数据。
51.图1是图示根据示例实施例的用于深度感知图像处理的计算机实现的方法100的流程图。特别地,方法100涉及接收场景的图像数据的计算设备,如由框102所示。计算设备确定场景的深度信息(例如,深度图),如由框104所示。能够至少部分地基于第一图像来确定场景。计算设备还确定用于第一图像的分段数据,如由框106所示。然后,至少部分地基于(a)深度信息和(b)分段数据,计算设备处理第一图像以生成第一图像的编辑版本,如由框108所示。
52.可以在框108处实现的深度感知图像处理的示例包括选择性对象移除、选择性模糊、3d(3d)ar图形对象和动画的添加、对象特定缩放、具有视差可视化(例如“全景自拍”)的交互式图像内容的生成、静止图像中的散景效果、视频和实时“实况视图”界面、静止图像和视频的后处理中的焦距调整、在“实况视图”界面中对不同焦距的基于软件的实时模拟和/或在实时“实况视图”界面中和/或在图像后处理中对虚拟光源的添加以及其他可能性。可以在框108处以任何合适的组合实现深度感知成像处理的这些不同示例。可以通过使用本文描述的深度感知图像处理来提供改善的图像处理。
53.a.选择性目标移除和模糊
54.在方法100的一些实现方式中,处理第一图像可以涉及应用对象移除过程以从第一图像中移除一个或多个所选对象。对象移除过程可以涉及移除并替换(或覆盖)所选对象。附加地或可替换地,处理第一图像可以涉及应用模糊过程来模糊第一图像中的一个或
多个所选对象。模糊过程可以涉及生成一个或多个所选对象的模糊版本,并且用模糊版本替换第一图像中的一个或多个所选对象。
55.在这两种情况下,能够利用使图像中的一个或多个对象(例如,前景对象)与图像的剩余部分分开的分段蒙版来标识可由用户选择的对象(能够至少部分地基于分段数据来标识图像中的对象)。因此,可以提供用户能够经由其标识并选择所标识对象的界面。计算设备可以经由这种界面和/或经由其他用户界面设备接收用户输入,该用户输入包括对象移除指令和/或模糊指令。对象移除指令能够指示对图像中用于移除的至少一个所标识对象的选择。然后,计算设备能够应用对象移除过程来从图像中移除一个或多个所选对象,并且为已移除的对象生成替换图像内容。类似地,模糊指令能够指示对图像中用于模糊的至少一个所标识对象的选择。然后,计算设备能够应用模糊过程来用一个或多个所选对象的一个或多个模糊版本来替换一个或多个所选对象。
56.在另一个方面,可以利用深度信息来替换或模糊所选对象。特别地,可以利用深度信息来生成在图像的上下文中看起来自然且逼真的替换图像内容(以努力隐藏对象已被从观测器中移除的事实)。例如,计算设备可以使用图像的深度图来确定与图像中的所选对象相邻或靠近的至少一个区域的深度信息。然后,能够使用至少一个相邻或附近区域的深度信息来生成替换图像数据。深度信息可以允许实现看起来更自然的替换图像内容。例如,可以使用区域中的周围区域的深度信息来更有效地模拟入射在替换内容表面上的光照。因此可以提供改善的图像处理。
57.当模糊效果被应用时,所选对象的深度信息可以结合图像的周围区域的深度信息使用以生成内容的模糊版本,该内容的模糊版本模拟对象在图像捕获期间的移动(例如,模拟在所选对象后面的背景部分和所选对象的对应部分都是在相机快门打开的同时捕获的图像)。其他示例也是可能的。
58.图2a至图2d示出用于编辑图像的图形界面,其中提供了对象移除特征和模糊特征。特别地,图2a至图2d示出来自正在编辑照片的图像编辑应用的屏幕。在此示例中,图像编辑应用是经由诸如具有触摸屏的移动电话的触摸屏设备提供的。
59.在图2a中,编辑应用显示照片的原始版本。提供了标识照片中的至少一个对象的分段蒙版。特别地,人204a由分段数据标识。因此,编辑应用可以允许用户通过使用触摸屏在人204a上轻敲来选择人204a(以及可能的其他对象)。
60.当用户轻敲人204a时,编辑应用可以显示已做出选择的图形指示。例如,当用户在人204a上轻敲或以其他方式选择人204a时,人204a可以用该人的半透明蒙版204b替换,如图2b所示。如图2b进一步所示,当用户选择人204a时,编辑应用可以显示用户可选择的模糊按钮206a和用户可选择的移除按钮206b。(注意,作为模糊按钮206a和/或移除按钮206b的补充或替代方案,可以提供其他类型的用户界面元素来发起模糊过程和/或对象移除。)
61.当用户在移除按钮206b上轻敲或以其他方式与移除按钮206b交互时,编辑应用可以实现对象移除过程以从图像中移除所选择的人,并且为该人生成替换图像内容。此外,如图2c所示,编辑应用可以显示图像的更新版本,其中人已用替换图像内容204c替换。
62.当用户在模糊按钮206a上轻敲或以其他方式与模糊按钮206a交互时,编辑应用可以实现模糊过程以用人的模糊版本来替换所选择的人204b。例如,编辑应用可以生成替换图像内容204d,其中所选择的人被模糊以模拟图像捕获期间的移动(例如,以模拟比用于捕
获图像的曝光更长的曝光)。如图2d所示,然后,编辑应用可以插入或以其他方式用模糊替换图像内容204d更新所显示的图像。编辑应用还可以提供滑块208,其允许用户调整要应用于人的模糊量。
63.b.选择性缩放
64.在方法100的一些实现方式中,处理第一图像可以涉及应用选择性缩放过程。选择性缩放过程允许用户改变图像帧中的至少一个所选对象的大小(或表观深度),而不改变图像的剩余部分的大小(或表观深度)。
65.例如,选择性缩放过程可以涉及使用分段数据的计算设备以标识第一图像中的一个或多个对象。因此,当计算设备接收到指示选择所标识对象中的至少一个的用户输入(选择性缩放输入)时,计算设备能够应用选择性缩放过程来改变图像中的至少一个所选对象相对于图像中的背景的大小。例如,可以运行过程以放大或缩小所选对象(以改变对象的表观深度),而不改变图像的剩余部分的表观深度。
66.图3a和图3b示出用于编辑图像的图形界面,其中提供了选择性缩放特征。特别地,图3a和图3b示出来自正在编辑照片的图像编辑应用的屏幕。在此示例中,图像编辑应用是经由诸如具有触摸屏的移动电话的触摸屏设备提供的。
67.在图3a中,编辑应用显示照片的第一版本300a。提供了标识照片中的至少一个对象的分段蒙版。特别地,人302a由分段数据标识。因此,编辑应用可以允许用户通过使用触摸屏来选择性地放大或缩小人302a(以及可能的其他对象)。
68.例如,当用户在人302a上或靠近人302a执行两指捏合(例如,在触摸屏上将他们的手指移动得更近)时,这可以被计算设备解释为对人302a选择性地缩小的指令。相反地,当用户在人302a上方或靠近人302a执行两指反向捏合(例如,在屏幕上将他们的手指移开)时,这可以被计算设备解释为对人302a选择性地放大的指令。注意,捏合手势和反向捏合手势到缩小和放大的映射可能是相反的。此外,其他类型的触摸手势和/或其他类型的用户输入和用户输入设备也可能被用于选择性缩放。
69.此外,可以利用所选对象的深度信息来生成所选对象的放大版本。具体地,如果所选对象将在维持相同姿态的同时移动得更靠近相机镜头,并且所选对象的第一部分比所选对象的第二部分更靠近相机镜头,则第一部分在图像帧中的大小可以增加超过第二部分在图像帧中(例如,在相机视场中)的大小。选择性缩放过程可以利用深度信息来在后处理中模拟上述效果。
70.例如,计算设备可以分析图像300a的深度图的部分,该部分对应于如由用于图像的分段蒙版所标识的人302a。深度图的这部分可以指示人302a的伸出手比人的头部更靠近相机的有利点。为图像中的特定对象提供这种深度信息,选择性缩放过程可以生成对象的放大版本,其中对象的更靠近相机的部分在比对象的更远离相机的部分在更大程度上被放大。
71.例如,图3b示出图3a所示的图像的更新版本300b,其包括所选人的放大版本302b。为了生成人的放大版本302b,选择性缩放过程可以与人身体的部分的深度成比例地增加那些部分的大小,使得人身体的更靠近相机的部分(例如,人的伸出手)比人身体的更远离相机的部分(例如,人的头部)放大得更多。此外,注意,当使用选择性缩放过程来缩小对象时,可以颠倒上述过程以基于深度信息成比例地减小对象。
72.此外,注意,为了在图像捕获之后选择性地放大对象而不影响对象背景的表观深度,编辑应用将通常需要放大图像帧中的对象,使得一些周围背景区域在经修改后的图像中被覆盖。另一方面,为了在图像捕获之后选择性地缩小对象而不影响对象背景的表观深度,编辑应用将通常需要生成替换背景图像内容以替换图像的部分,该图像的部分是当所选对象的大小被减小时未被覆盖的部分。如上所述,深度信息可能用于生成替换图像内容。例如,能够基于深度图来确定与图像中的对象相邻或靠近的至少一个区域的深度信息,并且用于为图像中的区域生成替换图像数据,该区域是当对象的大小相对于周围背景区域减小时被揭示的区域。
73.c.模拟视差效果/视角调整
74.在方法100的一些实现方式中,处理第一图像可以涉及应用视角调整过程,该视角调整过程通过相对于图像背景来移动图像中的至少一个所选主体对象(例如,通过模拟视差效果)来模拟相机视角的变化(换句话说,模拟图像中捕获的视角的变化)。可以利用此过程来提供其中用户能够改变捕获图像的有利点的交互式图像(例如,全景自拍或“全景自拍”)。
75.例如,视角调整过程可以利用分段数据来标识图像中的至少一个主体对象和至少一个背景区域。还可以利用深度图来确定至少一个主体对象的第一深度信息和至少一个背景区域的第二深度信息。然后,视角调整过程可以比较第一深度信息和第二深度信息以确定图像帧中的至少一个主体对象的每单位移动、图像帧中的背景区域的移动量。因此,可以使用视角调整过程来处理图像以通过使图像帧中的主体对象的位置移位、并且基于背景与主体对象相比的相对深度使背景成比例地移位(例如,使得背景移位越大,背景离主体对象越近,并且反之亦然)来生成新的或更新的图像数据。
76.设置有视角调整过程的计算设备可以提供用于编辑图像数据和/或与图像数据交互的应用,经由该应用用户能够与图像交互并且在图像帧内移动一个或多个所选对象。例如,图4a至图4c示出用于编辑图像和/或与图像交互的图形界面,其中视角调整过程被利用来提供视角调整特征。
77.图4a示出来自用于编辑图像和/或与图像交互的说明性应用的第一屏幕400a。在此示例中,应用是经由诸如具有触摸屏的移动电话的触摸屏设备提供的。屏幕400a示出场景的图像,其中通过用于图像的分段数据来标识至少两个对象-人402和人404。应用可以允许用户改变图像以模拟相机的视角的变化(例如,以生成看起来好像它是从与原始图像不同的有利点捕获的图像)。
78.例如,应用可以允许用户通过在触摸屏上移动他们的手指来改变图像的有利点。在图4a至图4c所示的屏幕400a至400c中,圆圈406a至406c表示在触摸屏上检测到触摸的位置(例如,用手指或手写笔)。注意在实践中,可以不显示圆圈406a至406c。可替换地,可能在触摸屏上显示每个圆圈406a至406c以提供关于在何处检测到触摸的反馈。屏幕4a到屏幕4b到屏幕4c的变化序列表示用户在触摸屏上(面向页面)从右向左、从与圆圈406a相对应的位置到与圆圈406c相对应的位置移动他们的手指。随着用户在触摸屏上执行此移动,应用通过以下步骤来修改所显示的图像:(i)在图像帧中向左移动主体对象(人402和人404),以及(ii)在更小程度上移动背景(例如,山脉),或者可能根本不移动背景(取决于背景的深度信息)。例如,基于深度图,能够确定对象的第一深度信息和背景的第二深度信息。基于对第一
深度信息与第二深度信息的比较,能够确定对象的每单位移动的背景区域的移动量。
79.在另一个方面中,可以利用一个或多个所选对象的深度信息来生成一个或多个对象的深度感知移动,其更逼真地模拟从中捕获图像的视角的变化。更具体地,当相机视角相对于固定位置处的对象改变时,对象更靠近相机的部分将在相机视场中比对象更远离相机的部分移动得更多。为了从单个图像中模拟此效果(或者为了更准确地从立体相机的图像之间的视角模拟帧),视角调整过程可以利用所选对象的深度信息以深度感知的方式来移动对象。
80.例如,计算设备可以分析深度图的对应于人402和人404的部分。深度图的这个部分可以指示人404的伸出前臂比人402更靠近相机的有利点(并且在实践中,可以用甚至更大的粒度指示人402和人404的不同部分的相对深度)。在图像中设置有针对特定主体对象的这种深度信息,视角调整过程可以通过生成主体对象的修改版本来响应指示移动量的用户输入,其中与对象更远离相机的部分(例如,人402的头部)相比,主体对象更靠近相机的部分(例如,人404的前臂)在图像帧中进行更大程度地移动。
81.d.深度感知光照效果
82.当移动计算设备用户拍摄诸如人的对象的图像时,所得的图像可能不总是具有理想的光照。例如,图像可能太亮或太暗,光可以来自不希望的方向,或者光照可能包括给图像给予不希望的色调的不同颜色。此外,即使图像在一个时间确实具有期望的光照,用户也可能想要在稍后的时间改变光照。
83.因此,在方法100的一些实现方式中,处理第一图像可以涉及对第一图像应用深度可变的光源效果(例如,虚拟光源)。例如,应用光照效果可以涉及计算设备在三维图像坐标系中确定光源的坐标。然后,至少部分地基于用于图像的分段数据,计算设备可以标识图像中的至少一个对象和至少一个背景区域。此外,基于相同图像的深度图,计算设备可以确定至少一个对象的一个或多个表面在三维图像坐标系中的相应位置。然后,至少部分地基于(a)至少一个对象的一个或多个表面的相应位置和(b)光源的坐标,计算设备可以对一个或多个所选对象的一个或多个表面应用光照效果。
84.在另一个方面中,应用深度可变的光源效果可能涉及计算设备使用图像的深度图来确定图像中的至少一个背景区域的深度信息(例如,如由用于图像的分段蒙版所标识的)。然后,至少部分地基于(a)至少一个背景区域的深度信息、(b)光源的坐标、和(c)至少一个对象在三维图像坐标系中的坐标,计算设备能够生成与至少一个对象和光源相对应的背景区域的阴影数据。阴影数据可以用于以逼真方式用对应于虚拟光源的阴影(来自对象)修改图像。
85.e.深度感知虚拟对象
86.在方法100的一些实现方式中,处理第一图像可以涉及执行图形对象添加过程以向第一图像添加图形(例如,虚拟的)对象。通过结合一个或多个相同图像的深度信息来利用一个或多个分段蒙版,示例图形对象添加过程可以允许实现增强现实风格照片编辑,其中虚拟对象被生成和/或修改以便更逼真地与一个或多个图像中的真实世界对象交互。
87.图5a至图5e示出来自使用图形对象添加过程来提供增强现实风格图像编辑的说明性图形界面的屏幕500a至500e。特别地,所图示的图形界面可以提供用于添加、操纵并编辑虚拟对象的特征,和/或用于改变虚拟对象与图像中的真实世界对象交互的方式的特征。
88.说明性图形对象添加过程可以由应用利用以提供用于编辑图像和/或与图像交互的界面。更具体地,说明性图形对象添加过程能够利用用于图像的分段数据来标识图像中的一个或多个对象,并且能够利用图像的深度图来确定至少一个所标识对象的第一深度信息。例如,图5a的屏幕500a中示出的用于图像的分段蒙版可以标识人502。然后,可以利用分段蒙版来标识图像的深度图的一部分,该部分对应于人502。
89.注意,图5a至图5e示出的圆圈507a至507e表示每个屏幕500a至500e中在触摸屏上检测到的触摸(例如,用手指或手写笔)的一个或多个位置。在实践中,可能不在图形界面中显示圆圈。可替换地,可能显示圆圈图形(或另一类型的图形)以提供指示在何处检测到触摸的反馈。
90.如图5a所示,应用可以接收指示对用于添加到图像的虚拟对象的选择的用户输入数据。例如,如屏幕500a所示,用户可能通过轻敲或触摸在可用虚拟对象的菜单中显示的虚拟对象504来选择虚拟对象。然后,可能在图形界面中显示虚拟对象504,如图5b的屏幕500b所示。然后,用户可以使用触摸屏来放置并操纵虚拟对象的位置。值得注意的是,随着用户操纵对象,说明性图形对象添加过程可以利用场景中对象的分段数据和深度信息来更新图像中的图形对象504的渲染。
91.例如,屏幕500b至500c图示触摸屏上的捏合手势的执行。应用可以将捏合手势解释为改变图像中的图形对象504的表观深度的指令。如果捏合手势的幅度改变图形对象504的表观深度使得它比真实世界对象更远离相机的有利点,那么可以重新渲染图形对象使得它被遮挡(至少部分地被真实世界对象遮挡)。因此,如由图5c的屏幕500c所示,应用已通过以下步骤对捏合手势做出响应:(i)减小图形对象504的大小使得该图形对象看起来好像它更远离相机的有利点(与其在屏幕500b上的表观深度相比),以及(ii)掩蔽(或移除)图形对象的与人502重叠的一部分,使得经掩蔽的部分似乎被人502遮挡(并且因此在背后)。
92.在另一个方面中,图5a至图5e所示的示例界面可以允许用户使用两点或多触摸手势来控制图像内的旋转和位置(例如,图像平面中的二维旋转和位置),并且还使用单点或单触摸手势来控制姿态(例如,三维旋转或定向)。具体地,用户可能使用两指滑动手势来移动图像帧中的图形对象504(例如,水平地或垂直地,而不改变其大小),并且能够使用两指旋转手势来使图像帧中的图形对象旋转,如通过在图5c与图5d之间发生的图形对象504的旋转所图示的。附加地,用户可能用触摸屏上的单触摸滑动手势来改变三维姿态,如通过在图5d与图5e之间发生的图形对象504的姿态变化所图示的。
93.在另一方面中,示例图像编辑应用可以利用分段蒙版和深度图的组合以便以更逼真方式自动地将虚拟图形对象插入到图像或视频中。特别地,用户可以指示图像帧的二维坐标系中的一般位置(例如,通过在期望位置处轻敲触摸屏),然后图像编辑应用可以确定虚拟对象在对应3d坐标系(例如,由图像帧坐标和深度图定义的坐标系)中的确切位置和姿态(定向)。例如,能够至少部分地基于图像中的对象的深度信息来确定图形(虚拟)对象的第二深度信息和三维定向。能够基于第二深度信息和所确定的三维定向来生成图形对象的实例。因此可以提供看起来更自然的图形对象。
94.图6a和图6b示出来自说明性图形界面的屏幕600a和600b,该说明性图形界面提供使用图形对象添加过程进行图像编辑以更逼真方式自动地将虚拟图形对象602a插入到图像601(或视频)中。在所图示的示例中,用于图像601的分段数据提供用于至少手提箱608和
靴子610的分段蒙版,其使这些对象与背景分开。
95.此外,可以针对虚拟对象在图形菜单中显示虚拟自行车602a。可以为虚拟自行车602a定义形状和大小参数,这些参数指定自行车的体积的相对3d坐标(例如,无量纲3d矢量模型),以及用于逼真的自行车大小调整的期望大小范围(例如,类似于虚拟自行车602a的3d模型所基于的真实世界自行车的大小)。
96.用户可以在屏幕600a中由箭头612指示的位置(在图像601中电视之下的墙上)处轻敲触摸屏。注意,箭头612可以在用户轻敲触摸屏之后出现。可替换地,图像编辑应用可以自动地扫描图像601以确定自行车602a的插入可能的和/或预期在视觉上令人愉悦的一个或多个位置,并且自动地显示箭头612以建议将自行车602a靠着图像601中的墙壁放置。在任何一种情况下,用户可以在箭头612的末端处或靠近末端处轻敲触摸屏(或者提供另一形式的输入)以指示图像编辑应用在图像601中插入虚拟自行车602a。在接收到此指令时,应用可以确定虚拟自行车602a在由图像601的图像帧和深度图所定义的坐标系中的大小、位置和姿态。在这样做时,应用可以考虑用于图像601的分段蒙版以便更准确地确定用于将虚拟自行车插入到图像601中的适当大小、位置、姿态和/或其他修改。一旦大小、位置和姿态被确定,应用就可以渲染虚拟自行车的版本602b,并且将经渲染后的版本602b插入到图像601中,如图6b的屏幕600b所示。
97.为了生成屏幕600b中示出的虚拟自行车渲染602b,编辑应用可以使用分段数据来标识图像601中能够插入虚拟自行车的区域。例如,应用可以分析用于图像601中的对象的分段蒙版以及对象蒙版外部的背景区域,以找到能够装配虚拟自行车的区域。在所图示的示例中,可以以这种方式标识具有侧壁的背景区域。然后,可以分析所标识侧壁的深度图以确定用来渲染虚拟自行车的3d姿态(定向),以及在图像601中插入经渲染后的虚拟自行车602b处的位置。
98.在另一个方面中,虚拟自行车渲染602b可以进一步的部分地基于用于图像601中的手提箱608、靴子610、电视611和/或其他对象的分段蒙版。用于手提箱608、靴子610、电视611的分段蒙版可以具有定义每个蒙版是什么及其特性的相关数据。例如,用于手提箱608的蒙版可以具有指定被掩蔽的形状对应于随身携带的手提箱的相关联元数据,以及指示特定手提箱的真实世界维度或通常与随身携带的手提箱相关联的真实世界维度的范围的元数据。可以提供指示用于图像601中的其他分段蒙版的对象和真实世界大小调整参数的特定类型的类似元数据。通过将此信息与图像的深度图组合,编辑应用可以确定在图像601中捕获的真实世界对象的姿态和相对位置是什么,并且渲染虚拟对象以看起来逼真的方式与在图像中捕获的对象交互。
99.此外,编辑应用可以使用图像601中的手提箱608、靴子610、电视611和/或其他对象的分段蒙版以及可能的深度图,来渲染与这些对象更逼真地交互的虚拟自行车的版本。例如,可以将自行车的姿态调整成以比在不存在靴子610情况下更大的角度倾斜,使得靴子610在屏幕600b中位于经渲染后的虚拟自行车602b的后面。此外,在虚拟对象位于某个对象蒙版或某些对象蒙版后面的情况下,可以将一个或多个对象蒙版应用于渲染以遮蔽经渲染后的虚拟对象的部分,使得它似乎在图像中位于对应对象的后面。
100.作为另一示例,图7a至7c示出来自说明性图形界面的屏幕700a至700c,该说明性图形界面提供使用图形对象添加过程进行图像编辑以便以更逼真方式将虚拟图形对象
702a自动地插入到图像701(或视频)中。在所图示的示例中,为图像701提供深度图,并且图像701的分段数据为至少桌面704提供分段蒙版。
101.用户可以以与参考图6a和图6b所描述的类似方式或以另一方式将虚拟对象放置到图像中。在所图示的示例中,虚拟毛绒动物702a正被添加到图像701。如屏幕700a和700b所示,编辑应用可以允许用户经由图形触摸屏界面或经由另一类型的用户界面来改变虚拟毛绒动物702a的位置和姿态。当用户对一般放置满意并且提供此效果的指令时,编辑应用可以结合用于图像的分段蒙版和深度图701使用由用户指示的一般姿态和位置,以确定在上面放置虚拟毛绒动物702a的表面。例如,如屏幕700c所示,编辑应用可以生成虚拟毛绒动物的渲染702b,使得其位置和姿态使它看起来好像虚拟毛绒动物正以由用户指示的3d姿态坐在桌面704上。其他示例也是可能的。
102.f.散景效果
103.在方法100的一些实现方式中,处理第一图像可以涉及应用深度感知散景效果以使图像的背景模糊(对图像中的至少一个背景区域应用深度可变模糊过程)。特别地,分段蒙版可以用于使图像的背景与图像的前景中的对象分开。然后,可以利用背景的深度信息来确定要应用于背景的模糊量。
104.更具体地,应用于背景的模糊量可以根据来自深度图的深度信息而变化,使得更远的背景与更近的背景相比可能模糊得多。此外,深度可变模糊效果可以在背景的不同区域之间变化,使得更远离相机的有利点的背景区域与更靠近相机的有利点的背景区域相比将模糊得多。
105.例如,图8a至图8d示出来自说明性图形界面的屏幕800a至800d,该说明性图形界面提供使用深度感知散景效果进行图像编辑。在所图示的示例中,图像801的分段数据为至少前景对象806(例如,桌子、灯、图片和植物)提供分段蒙版,使得能够使背景804与前景对象806分开。此外,一旦背景804与前景对象806分开,就能够使用图像801的深度图来专门地针对背景804确定深度信息。因此,编辑应用能够使用背景804的深度信息来确定要应用背景804的模糊(例如,散景)效果的量或程度。
106.在另一个方面中,图形界面可以包括虚拟镜头选择菜单808,其允许用户模拟如果在已使用不同类型的镜头捕获了图像801的情况下将会产生的散景。特别地,虚拟镜头选择菜单808可以允许用户在具有不同光圈(例如,不同光圈系数,诸如f/1.8、f/2.8等)和/或不同焦距(例如,18mm、50mm和70mm)的不同镜头类型之间选择。通常,背景模糊的量和背景模糊的程度(例如,景深)是镜头的光圈与焦距的函数。镜头的光圈开得越大,背景模糊将越强,而景深将越窄,并且反之亦然。附加地,镜头的焦距越长,背景模糊将越强,而景深将越窄,并且反之亦然。
107.所图示的示例中的虚拟镜头选择菜单808提供四个镜头:f/1.8 18mm镜头、f/2.8 50mm镜头、f/3.5 70mm镜头和f/2.8 70mm镜头。当用户从虚拟镜头选择菜单808中选择镜头时,编辑应用可以确定包括与所选镜头相对应的景深和模糊量(可能因深度而变化)的镜头配置文件。然后,可以将背景804的深度图与镜头配置文件相比较以确定背景的什么区域要模糊以及要使这些区域模糊多少。
108.iv.示例计算设备
109.图9是根据示例实施例的计算设备900的框图。具体地,图9中所示出的计算设备
900可以被配置成执行本文描述的各种深度感知照片编辑和处理功能。计算设备900可以采用各种形式,包括但不限于移动电话、独立相机(例如,dslr、傻瓜相机、便携式摄像机或电影相机)、平板计算机、膝上型计算机、台式机计算机、服务器系统、基于云的计算设备、可穿戴计算设备或联网的家用电器或消费电子设备、以及其他可能性。
110.计算设备900可以包括用户界面模块901、网络通信模块902、一个或多个处理器903、数据存储904、一个或多个相机918、一个或多个传感器920以及电源系统922,这些组件中的全部都可以经由系统总线、网络或其它连接机制905链接在一起。
111.用户界面模块901可操作以将数据发送给外部用户输入/输出设备和/或从外部用户输入/输出设备接收数据。例如,用户界面模块901可以被配置成将数据发送给用户输入设备(诸如触摸屏、计算机鼠标、键盘、小键盘、触摸板、轨迹球、操纵杆、语音辨识模块和/或其它类似设备)和/或从用户输入设备接收数据。用户界面模块901还可以被配置成将输出提供给用户显示设备,诸如一个或多个阴极射线管(crt)、液晶显示器、发光二极管(led)、使用数字光处理(dlp)技术的显示器、打印机、灯泡和/或其它类似设备、现在已知或者以后发展的。用户界面模块901还可以被配置成用诸如扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或其它类似设备的设备来生成可听输出。用户界面模块901可以进一步被配置有可以生成触觉输出(诸如振动和/或可通过与计算设备900的触摸和/或物理接触检测到的其它输出)的一个或多个触觉设备。在一些示例中,可以使用用户界面模块901来提供用于利用计算设备900的图形用户界面(gui)。
112.网络通信模块902可以包括提供可配置成经由网络进行通信的一个或多个无线接口907和/或一个或多个有线接口908的一个或多个设备。无线接口907可以包括一个或多个无线发射器、接收器和/或收发器,诸如bluetooth
tm
收发器、收发器、wi-fi
tm
收发器、wimax
tm
收发器和/或可配置成经由无线网络进行通信的其它类似类型的无线收发器。有线接口908可以包括一个或多个有线发射器、接收器和/或收发器,诸如以太网收发器、通用串行总线(usb)收发器或可配置成经由双绞线、同轴电缆、光纤链路或与有线网络的类似物理连接进行通信的类似收发器。
113.一个或多个处理器903可以包括一个或多个通用处理器和/或一个或者多个专用处理器(例如,数字信号处理器、张量处理单元(tpu)、图形处理单元(gpu)、专用集成电路等)。一个或多个处理器903可以被配置成执行数据存储904中包含的计算机可读指令906和/或如本文中所描述的其它指令。
114.数据存储904可以包括可以由一个或多个处理器903中的至少一个读取和/或访问的一种或多种非暂时性计算机可读存储介质。一种或多种非暂时性计算机可读存储介质可以包括易失性和/或非易失性存储组件,诸如光学、磁性、有机或其它存储器或光盘存储,这些易失性和/或非易失性存储组件可以整体地或部分地与一个或多个处理器903中的至少一个处理器集成。在一些示例中,数据存储904可以使用单个物理设备(例如,一个光学、磁性、有机或其它存储器或光盘存储单元)来实施,而在其它示例中,数据存储904可以使用两个或多个物理设备来实施。
115.数据存储904可以包括计算机可读指令906和可能的附加数据。在一些示例中,数据存储904可以包括执行本文中所描述的方法、场景以及技术的至少部分和/或本文中所描述的设备和网络的功能性的至少部分所需的存储。在一些示例中,数据存储904可以包括用
于经训练的神经网络模型912(例如,诸如卷积神经网络的经训练的卷积神经网络的模型)的存储。特别是在这些示例中,计算机可读指令906可以包括指令,该指令在被处理器903执行时使得计算设备900能够提供经训练的神经网络模型912的功能性中的一些或全部。
116.在一些示例中,计算设备900可以包括一个或者多个相机918。相机918可以包括被装备成捕获光并且将所捕获的光记录在一个或多个图像中的一个或多个图像捕获设备,诸如静态相机和/或视频相机;即,相机918可以生成所捕获的光的图像。一个或多个图像可以是一个或多个静态图像和/或在视频影像中利用的一个或多个图像。相机918可以捕获光和/或以可见光、红外辐射、紫外光形式和/或以一种或多种其它频率的光形式发射的电磁辐射。
117.在一些示例中,计算设备900可以包括一个或多个传感器920。传感器920可以被配置成测量计算设备900内的状况和/或计算设备900的环境中的状况并且提供关于这些状况的数据。例如,传感器920可以包括以下中的一个或多个:(i)用于获得关于计算设备900的数据的传感器,诸如但不限于用于测量计算设备900的温度的温度计、用于测量电源系统922的一个或多个电池的电量的电池传感器、和/或测量计算设备900的状况的其它传感器;(ii)用于标识其它对象和/或设备的标识传感器,诸如但不限于射频识别(rfid)阅读器、接近度传感器、一维条形码阅读器、二维条形码(例如,快速响应(qr)码)阅读器以及激光跟踪器,其中,标识传感器可以被配置成读取标识符,诸如rfid标签、条形码、qr码,和/或被配置成被读取并且至少提供标识信息的其它设备和/或对象;(iii)用于测量计算设备900的位置和/或移动的传感器,诸如但不限于倾斜传感器、陀螺仪、加速度计、多普勒传感器、gps设备、声纳传感器、雷达设备、激光位移传感器以及指南针;(iv)用于获得指示计算设备900的环境的数据的环境传感器,诸如但不限于红外传感器、光学传感器、光传感器、生物传感器、电容传感器、触摸传感器、温度传感器、无线传感器、无线电传感器、移动传感器、麦克风、声音传感器、超声波传感器和/或烟雾传感器;和/或(v)用于测量作用于计算设备900周围的一种或多种力(例如惯性力和/或g力)的力传感器,诸如但不限于测量以下各项的一个或多个传感器:一个或多个维度中的力、扭矩、地面力、摩擦力和/或标识zmp和/或zmp的位置的零力矩点(zmp)传感器。传感器920的许多其它示例也是可能的。
118.v.结论
119.本公开并非按照本技术所描述的特定实施例而被限制,所述实施例旨在作为各个方面的说明。如对本领域技术人员将是显而易见的,可以进行许多修改和变换而并不背离其精神和范围。除了本文所列举的那些之外,本公开范围内功能等同的方法和设备将由于前述描述而对于本领域技术人员而言是显而易见的。这样的修改和变体旨在落入所附权利要求的范围之内。
120.以上详细说明书描述了参考附图描述了所公开的系统、设备以及方法的各种特征和功能。在各图中,除非上下文另外规定,否则类似符号通常标识类似组件。在详细描述、各图和权利要求书中所描述的说明性实施例不旨在进行限制。在不脱离本文中所呈现的主题的精神或范围内,可以利用其它实施例并且可以做出其它改变。应容易理解的是,如本文中一般描述并且在各图中所图示的,本公开的各方面可以按照各种不同的配置被布置、替代、组合、分离和设计,在本文中明确考虑了这些配置中的全部。
121.相对于各图中和如本文中所讨论的梯形图、场景以及流程图中的任一个或全部,
每个框和/或通信可以根据示例实施例表示信息的处理和/或信息的传输。替代实施例被包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为框、传输、通信、请求、响应和/或消息的功能可以根据所涉及的功能性不按所示出或所讨论的顺序(包括基本上同时发生的顺序或按照相反顺序)执行。进一步地,更多或更少的框和/或功能可以与本文中所讨论的梯形图、场景以及流程图中的任何一个一起使用,并且这些梯形图、场景以及流程图可以部分地或整体地彼此组合。
122.表示信息处理的框可以对应于可配置为执行本文中所描述的方法或技术的特定逻辑功能的电路系统。可替代地或附加地,表示信息处理的框可以对应于模块、段或程序代码的一部分(包括相关数据)。程序代码可以包括可由处理器执行以实施方法或技术中的特定逻辑功能或动作的一个或多个指令。可以将程序代码和/或相关数据存储在任何类型的计算机可读介质(诸如包括磁盘或硬盘驱动器或其它存储介质的存储设备)上。
123.计算机可读介质还可以包括非暂时性计算机可读介质,诸如在短时间段内存储数据的非暂时性计算机可读介质,比如寄存器存储器、处理器缓存以及随机存取存储器(ram)。计算机可读介质还可以包括在较长时间段内存储程序代码和/或数据的非暂时性计算机可读介质,诸如辅助或永久性长期存储,比如只读存储器(rom)、光学或磁性磁盘,光盘只读存储器(cd-rom)。计算机可读介质还可以是任何其它易失性或非易失性存储系统。例如,可以将计算机可读介质视为计算机可读存储介质,或有形存储设备。
124.而且,表示一个或多个信息传输的框可以对应于相同物理设备中的软件和/或硬件模块之间的信息传输。然而,其它信息传输可以位于不同物理设备中的软件模块和/或硬件模块之间。
125.虽然在本文中已经公开了各种方面和实施例,但其它方面和实施例对于本领域的技术人员而言将是显而易见的。本文中所公开的各种方面和实施例的提供是出于说明的目的,而非旨在作为限制,其中真实范围由以下权利要求书指示。
再多了解一些

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

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

相关文献