对有歧义的图像数据进行分类的制作方法

文档序号:13350724阅读:374来源:国知局
对有歧义的图像数据进行分类的制作方法

背景

成像设备可被用于为许多不同的应用(包括但不限于视觉通信、互动娱乐和安全应用)捕捉周围环境的图像数据。可利用许多不同类型的成像设备,包括但不限于利用各种波长的光(例如,红外光和/或可见光)的二维和三维相机。

概述

本文中公开了涉及对图像中的歧义数据进行分类的示例。一个示例在计算设备上提供一种处理图像数据的方法,所述方法包括:定义图像中歧义数据的连续区域,确定包围所述连续区域的边界,基于所述边界的一个或多个像素的特性将所述连续区域分类为深色的或遥远的,以及对于经分类的连续区域,在所述连续区域被分类为遥远的情况下与在所述连续区域被分类为深色的情况下不同地处理所述连续区域的一个或多个像素。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。

附图简述

图1示出示例深度成像场景。

图2示意性地解说在图1的场景中获得的示例深度数据。

图3示意性地解说对图2的深度数据中的歧义数据进行分类的示例方法。

图4示意性地解说在对歧义数据进行分类和处理之后的图2的深度数据。

图5示出另一示例深度成像场景。

图6示意性地解说在图5的场景中获得的示例深度数据。

图7示意性地解说对图6的深度数据中的歧义数据进行分类的示例方法。

图8是解说对有歧义的图像数据进行分类的示例方法的流程图。

图9示出了示例计算系统的框图。

详细描述

在一些实例中,由成像设备获得的图像数据可能是有歧义的,因为该图像数据可被计算设备用两种或更多种方式解释。作为一个示例,深度相机可提供在特定距离范围内的无歧义的图像数据,但可能提供在该范围之外的歧义数据,因为相机不可能被配置成对超过最大阈值的深度进行成像。由此,场景中超过最大阈值的对象在得到的深度图像中将表现为深色的。同样,吸收被利用来进行深度成像的(诸)波长的光的对象在该深度图像中可表现为深色的。由此,在这样的相机中,在区分在深度成像范围之外的像素(例如,“遥远”像素)与对场景中的深色对象进行成像的像素(“深色”像素)时可引起困难。各种类型的相机(包括但不限于飞行时间深度相机)可能经历这些和潜在的其他歧义。

因此,本文中公开了涉及对图像数据中的歧义像素进行消歧的示例。简言之,所公开的示例定义图像中歧义数据(诸如以上描述的表现为深色的数据)的连续区域,并基于包围该连续区域的边界的一个或多个像素的特性将该连续区域分类为多个可能状态(例如,“深色的”或“遥远的”)之一。一旦进行了分类,就可基于所确定的分类来处理歧义区域的像素。

图1示出了其中用户104所佩戴的成像设备102获得长走廊的图像的示例场景100。成像设备102包括用于获得周围环境的深度图像数据的深度相机。成像设备102被描绘为头戴式设备,但本文中公开的成像方法可在任何其他合适类型的成像设备中实现。

如以上所提到的,成像设备102所获得的图像数据可能包括歧义数据。例如,在像素不具有足够的强度来计算深度值的情况下,应将该像素分类为“遥远的”还是“深色的”可能是不清楚的。图2示出经由在图1的场景中获得的深度数据来构造的示例三维网格200形式的深度图像数据。在图1和2中,走廊的墙壁远离深度相机延伸,越过该深度相机的最大范围。由此,图2描绘了表示场景的在深度相机的最大范围外的一部分的歧义数据的连续区域202。区域202内的数据可向处理该数据的计算设备提供很少或不提供关于该数据表示“深色的”还是“遥远的”像素的指示。

由此,在歧义区域周围的边界区中的像素值可被计算设备考虑以帮助确定该歧义数据是“深色的”还是“遥远的”。为了定位边界区,计算设备可通过定位缺少深度值的歧义像素、标识同样缺少深度值的任何紧邻的像素、并随后针对被标识为形成被确定为有歧义的像素的连续区域的每一歧义像素重复该过程来利用泛洪填充方法。这样的区域也可被称为连通域。将理解,图像可包含一个以上歧义区域;由此,连通域确定可针对图像中歧义像素的每一区域来执行。同样,将理解,在其他示例中,除泛洪填充之外的其他方法可被用于定义歧义像素的连续区域。

对于所定义的歧义数据的每一连续区域,计算设备可确定包围该连续区域的边界,其中该边界包括紧邻歧义像素的该连续区域的无歧义的像素。图2示出三维网格200的边界区域的一部分204,而图3示出经放大的部分302。经放大的部分302中的每一像素的示例深度值被表示在表格304中。在该示例中,歧义像素由为零的深度值表示。如表格304中所标绘的,边界像素306是具有无歧义的深度数据并且紧邻有歧义的像素的连续区域的那些像素。

一旦包围歧义数据的连续区域的边界已被确定,计算设备就可随后基于该边界的(诸)特性将连续区域分类为“深色的”或“遥远的”。该分类中可利用任何合适的特性。作为一个示例,计算设备可被配置成确定该边界的每一像素是否在表示深度相机的最大范围的最大深度值的阈值距离内。在图1-3的示例场景中,深度相机可具有四米的最大范围。表格304描绘了如具有四米的无歧义深度值的边界像素306。由于所描绘的边界像素在最大深度值附近(在该情况中在该最大深度值处),这可指示连续区域更可能是“遥远的”而非“深色的”。由此,计算设备可通过确定例如边界306在最大深度值的阈值距离之内的像素数与该边界的总像素数之比超过阈值而将连续区域202分类为“遥远的”。作为另一示例,计算设备可通过确定例如边界在最大深度值的阈值距离之内的像素数与连续区域的单位面积(例如,连续区域的总像素数)之比超过阈值而将连续区域202分类为“遥远的”。

替换地或附加地,边界的除以上描述的比率之外的其他特性可被利用。例如,计算设备可被配置成基于边界的每一像素的深度值有多接近最大深度值来对该像素进行评分。通过这种方式,相比于与较远离最大深度值的像素有关的像素,较接近最大深度值的像素被更强地加权。由此,经加权的总分数可被确定为边界像素的分数之和。计算设备随后可通过确定该经加权的总分数超过阈值分数而将连续区域分类为“遥远的”。

在一些实现中,在分类歧义像素时可考虑除边界像素以外的附加像素。例如,计算设备可被配置成确定毗邻边界像素的像素的梯度以帮助分类有歧义的像素。在这样的示例中,可计算沿着与该连续区域在那个边界处的切线正交的方向的深度值梯度。示出深度随着连续的有歧义区域被靠近而朝向最大值增加的梯度可指示可能更高的该连续区域为“遥远的”而非“深色的”的可能性。例如,表格304解说可示出这样的梯度的数据。将理解,任何合适数目的毗邻像素可被考虑。

一旦图像数据的歧义区域被分类,歧义区域中的像素可被相应地处理。在图1-3的示例中,在连续区域被分类为“遥远的”而非“深色的”之后,计算设备可被配置成将该“遥远的”区域中的数据从三维网格中删除,由此允许该区域被构建为具有该成像设备的用户朝向该“遥远”区域移动。图4解说了在网格200的歧义区域已被分类为“遥远的”并被从该网格中移除后的网格400。

在以上示例中,如果边界的确定的特性不导致将该连续区域分类为“遥远的”,则计算设备可将该连续区域分类为“深色的”。图5示出其中用户504所佩戴的成像设备502获得具有深色的门506的房间的深度图像数据的示例场景500。图6示出由计算设备使用在图5的场景中获得的深度数据构造的三维网格600的示意图。在图5和6中,所描绘的门吸收用于深度成像的波长的光。由此,对应于门的深度图像的像素可能是歧义的,因为计算设备可能有困难确定这些像素是“深色的”而非“遥远的”。

为了帮助分类门的像素,可检查边界区域中在该歧义数据周围的像素。图7解说了三维网格600的一部分604,并且还解说了示意性地表示部分604的像素的经放大的部分702。图7进一步示出表示经放大的部分702中的每一像素的深度值的表格704。对于图1-4的示例,表示表现为深色的门的连续区域的歧义像素被示为具有为零的深度值。为了分类歧义像素,连续区域的边界706被如上所述地(例如,使用泛洪填充或其他合适的方法)确定,并且边界的像素被分析。在该示例中,深度相机被假设为具有为四米的最大范围,而边界像素具有为2.48米的深度值,在为四米的最大可检测深度值的阈值距离之外。由于边界像素完全在最大深度值的阈值范围之外,计算设备可确定更有可能连续区域更可能是“深色的”而非“遥远的”。因此,在图5-7的场景中,连续区域602可被分类为“深色的”。由此,三维网格600的一部分中对应于歧义数据的数据可被保持,而非被从该网格中删除。

如上所述,在一些示例中,毗邻边界像素的深度梯度也可被用作分类歧义像素时的数据。在图7的示例中,这些像素的梯度不示出任何平滑的朝向最大深度值的进展。这可进一步指示该连续区域更可能是“深色的”而非“遥远的”。

可出现以上方法可对信息进行误分类的实例。例如,如果图5-7中的门是打开的,并且门后面的对象在深度相机的范围之外,则上述分析可指示数据是“深色的”而非“遥远的”。由此,计算设备可被配置成按减轻这样的误分类中的任何潜在问题的方式对“深色的”确定作出响应。例如,如上所述,计算设备可从构建的三维网格中移除“遥远的”像素即移除该区域内的像素,而不移除“深色的”像素。然而,由于在打开的门的情况中像素将可能被分类为“深色的”而非遥远的,因此深度图的相应部分(例如,先前在门被关闭时获得的数据)不将被删除。这可有助于在无法有很把握地知道该连续区域对应于“遥远的”数据时,避免必须重构环境的网格表示的各部分。

图8解说用于分类图像中的歧义数据的示例方法800。方法800包括,在802,经由相机获得图像数据。可利用任何合适类型的相机,包括但不限于rgb相机、灰度相机、红外相机、深度相机、立体相机布置等。方法800进一步包括在804,定义歧义数据的一个或多个连续区域。如上所述,歧义可例如由关于图像中表现为深色的像素归因于那些像素处的对象超过深度相机的最大范围(“遥远的”)还是归因于那些像素处的对象吸收该相机正利用的波长的光(“深色的”)的不确定性引起。

方法800进一步包括在806,对于歧义数据的每一连续区域,确定包围该连续区域的边界,并在808,基于该边界的一个或多个特性将该连续区域分类为“遥远的”或“深色的”。如上所述,边界像素的任何合适的特性可被利用。在一个示例中,方法810包括基于在相机的最大深度值的阈值内的边界像素的数目对连续区域进行分类,如810处示出的。在另一示例中,方法812包括基于毗邻边界的像素的深度梯度对连续区域进行分类。任何其他合适的特性可被用于对连续区域进行分类。同样,任何合适的方法可被用于定位有歧异区域的边界,包括但不限于泛洪填充方法。

一旦对有歧义的像素进行了分类,就可基于该分类对这些像素进行处理,如814处所指示的。作为一个非限制性示例,方法800包括如果像素被分类为遥远的,则移除经构建的三维网格中对应于这些像素的部分。作为另一示例,用户可提供关于如何处理经分类的区域的指令(例如,偏好或其他输入)。将理解,替换地或附加地,可执行任何其他合适的动作。

在一些实施例中,本文中描述的方法和过程可以与一个或多个计算设备的计算系统绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(api)、库和/或其他计算机程序产品。

图9示意性地示出了可执行上述方法和过程中的一个或多个的计算系统900的非限制性实施例。以简化形式示出了计算系统900。计算系统900可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备。例如,计算系统900可表示图1的成像设备,和/或与图1的成像设备通信的计算设备。

计算系统900包括逻辑子系统902和存储子系统904。计算系统900可任选地包括显示子系统906、输入子系统908、通信子系统910和/或在图9中未示出的其他组件。

逻辑子系统902包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造。这种指令可被实现以执行任务、实现数据类型、转换一个或多个组件的状态、实现技术效果、或以其他方式得到期望结果。

逻辑子系统902可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻辑机可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑子系统902的处理器可以是单核的或多核的,并且其上所执行的指令可被配置成用于串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。逻辑子系统902的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。

存储子系统904包括被配置成保持可由逻辑机执行的指令以实现此处描述的方法和过程的一个或多个物理设备。在实现此类方法和过程时,存储子系统904的状态可以被变换—例如,以保持不同的数据。

存储子系统904可以包括可移动和/或内置设备。存储子系统904可以包括光学存储器(例如,cd、dvd、hd-dvd、蓝光碟等)、半导体存储器(例如,ram、eprom、eeprom等)和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、mram等)、等等。存储子系统904可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。

可以理解,存储子系统904包括一个或多个物理设备。然而,本文描述的指令的各方面可替换地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来传播。

逻辑子系统902和存储子系统904的各方面可以被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(fpga)、程序和应用专用的集成电路(pasic/asic)、程序和应用专用的标准产品(pssp/assp)、片上系统(soc)以及复杂可编程逻辑器件(cpld)。

术语“程序”可用于描述被实现来执行特定功能的计算系统900的一方面。在某些情况下,可以经由执行存储子系统902所保持的指令的逻辑子系统904来实例化程序。将理解,可以从同一应用、服务、代码块、对象、库、例程、api、函数等实例化不同的程序。同样,可以由不同的应用程序、服务、代码块、对象、例程、api、函数等实例化同一模块和/或程序。术语“程序”可涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。

当被包括时,显示子系统906可被用来呈现由存储子系统904保持的数据的视觉表示。此视觉表示可采用图形用户界面(gui)的形式。由于本文所描述的方法和过程改变了由存储机保持的数据,并由此变换了存储机的状态,因此同样可以转变显示子系统906的状态以视觉地表示底层数据的改变。显示子系统906可包括使用实质上任何类型的技术的一个或多个显示设备。这样的显示设备可与逻辑子系统902和/或存储子系统904一起组合在共享封装中,或者这样的显示设备可以是外围显示设备。

当被包括时,输入子系统908可包括诸如键盘、鼠标、触摸屏或游戏控制器等一个或多个用户输入设备或者与这些用户输入设备对接。在一些实施例中,输入子系统可以包括或相接于所选择的自然用户输入(nui)部件。这样的部件可以是集成式的或者是外设,并且输入动作的转换和/或处理可以在板上或板下处理。示例nui部件可包括用于语言和/或语音识别的话筒;用于机器视觉和/或姿势识别的红外、色彩、立体显示和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。

当包括通信子系统910时,通信子系统900可被配置成将计算系统1700与一个或多个其他计算设备通信地耦合。通信子系统910可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,通信子系统可允许计算系统900经由诸如互联网这样的网络将消息发送至其他设备以及/或者从其他设备接收消息。

另一示例在计算设备上提供一种处理图像数据的方法,所述方法包括:定义图像中歧义数据的连续区域,确定包围所述连续区域的边界,基于所述边界的一个或多个像素的特性将所述连续区域分类为深色的或遥远的,以及对于经分类的连续区域,在所述连续区域被分类为遥远的情况下与在所述连续区域被分类为深色的情况下不同地处理所述连续区域的一个或多个像素。在该示例中,附加地或替换地,该图像可以是深度图像。附加地或替换地,该方法可包括对于所述边界的每一像素,确定该像素是否在最大深度值的阈值距离内。附加地或替换地,该方法可包括将通过确定所述边界的在最大深度值的阈值距离之内的像素数与所述边界的总像素数之比超过阈值比率而将所述连续区域分类为遥远的。附加地或替换地,该方法可包括将通过确定所述边界的在最大深度值的阈值距离之内的像素数与所述连续区域的总像素数之比超过阈值比率而将所述连续区域分类为遥远的。附加地或替换地,该方法可包括基于所述边界的像素的深度值与最大深度值的比较计算加权总分,并通过确定所述加权总分超过阈值分数而将所述连续区域分类为遥远的。附加地或替换地,该方法可包括确定毗邻边界的像素的深度梯度,并将基于所确定的深度梯度将所述连续区域分类为遥远的。附加地或替换地,如果所述连续区域被分类为遥远的,则该方法可包括从深度图中移除所述连续区域。

另一示例提供一种计算设备,该计算设备包括深度相机、逻辑子系统和包括指令的存储子系统,所述指令能由所述逻辑子系统执行以进行以下:定义图像中歧义数据的连续区域,确定包围所述连续区域的边界,基于所述边界的一个或多个像素的特性将所述连续区域分类为深色的或遥远的,以及对于经分类的连续区域,在所述连续区域被分类为遥远的情况下与在所述连续区域被分类为深色的情况下不同地处理所述连续区域的一个或多个像素。在该示例中,附加地或替换地,深度相机可以是飞行时间深度相机。附加地或替换地,所述计算系统可以是移动设备。附加地或替换地,所述指令可被执行以对于边界的每一像素,确定该像素是否在最大深度值的阈值距离内。附加地或替换地,所述指令可被执行以在确定边界的在最大深度值的阈值距离之内的像素数与该边界的总像素数之比超过阈值比率之际将所述连续区域分类为遥远的。附加地或替换地,所述指令可被执行以在确定边界的在最大深度值的阈值距离之内的像素数与所述连续区域的总像素数之比超过阈值比率之际将所述连续区域分类为遥远的。附加地或替换地,所述指令可被执行以基于该边界的像素的深度值与最大深度值的比较计算加权总分,并在确定所述加权总分超过阈值分数之际将所述连续区域分类为遥远的。附加地或替换地,该方法可包括确定毗邻边界的像素的深度梯度,并将基于所确定的深度梯度将该连续区域分类为遥远的。附加地或替换地,如果所述连续区域被分类为遥远的,则所述指令可被执行以从深度图中移除所述连续区域。

另一示例提供一种计算设备,该计算设备包括深度相机、逻辑子系统和包括指令的存储子系统,所述指令能由所述逻辑子系统执行以进行以下:定义图像中歧义数据的连续区域,确定包围所述连续区域的边界,基于所述边界的一个或多个像素的特性将所述连续区域分类为深色的或遥远的,如果所述连续区域被分类为遥远的,则从深度图中移除所述连续区域,以及如果所述连续区域被分类为深色的,则在所述深度图中包括所述连续区域。附加地或替换地,所述计算系统可以是移动设备。附加地或替换地,所述指令可被执行以基于所述边界的在最大深度值的阈值距离内的像素数将所述连续区域分类为遥远的。

将会理解,本文描述的配置和/或方式本质是示例性的,这些具体实施例或本文示例不应被视为限制性的,因为许多变体是可能的。本文描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。

本公开的主题包括本文公开的各种过程、系统和配置以及其他特征、功能、动作和/或性质的所有新颖和非显而易见的组合和子组合,以及其任何和所有等同物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1