用于识别场景中的反射表面的方法和系统
技术领域
本发明整体涉及图像处理领域,并且更具体地,涉及检测在拍摄的场景中的反射表面。
背景技术
在阐明本发明的背景之前,阐明将在下文中使用的某些术语的定义可能是有帮助的。
如本文所使用的术语“感测装置”(有时在计算机视觉中被称为“相机”)被广义地定义为任何类型的一个或多个传感器的任何组合,不一定是光学的(而是可以包括雷达、超声波等)。此外,感测装置被配置为拍摄场景图像,得到或者获得场景的一些三维数据。示例性感测装置可以包括一对相机,该一对相机被配置为拍摄被动立体声,该被动立体声可以通过比较从不同位置获取的图像导出深度数据。感测装置的另一个示例可以包括结构化光传感器,该结构化光传感器被配置为接收和分析已经投影到场景上的预定义光图案的反射。然而另一个重要的示例是2D感测装置,该2D感测装置拍摄场景的多个2D图像并进一步提供每个2D拍摄图像之间的关系的相对空间数据。应该注意到,为了本应用的目的,场景中的所有维度可以是相对的(例如,只要该比例是从相机给出或可导出的,则具有相对移动就足够了)。
如本文所使用的术语“反射表面”被定义为在两种不同媒体之间的界面处改变波前(例如,光或声音)的方向使得波前返回到其起源的介质中的表面。镜面反射是来自表面的光(或其他类型的波)的镜像反射,其中来自单个入射方向的光(射线)被反射到单个出射方向。这种表现通过反射定律来描述,该反射定律陈述了入射光的方向(入射射线)和反射的出射光的方向(反射射线)相对于表面法线形成相同的角度,因此入射角等于反射角,并且入射方向、法线方向和反射方向是共面的。部分反射表面可以被称为两种类型中的任何一种:类型一——并非所有表面都是反射性的。类型二——镜面反射的级别可以变化,并且超过一个合适阈值的级别可以被视为“能够反射的”。
计算机视觉的挑战之一是检测场景中的反射表面的存在并获得有关反射表面的知识。在镜面反射中,特别是涉及镜子的情况下,存在的风险是,对场景进行基于计算机的分析会错误地认为在反射中拍摄的图像是真实对象。
建议一些逻辑或流程将是有利的,这些逻辑或流程将使得计算机化的视觉系统能够区分真实对象和它们各自的图像,能够自动检测拍摄的场景中的反射表面,并且更具体地说,能够生成反射表面的空间表示。
发明内容
本发明的一些实施方式提供用于识别场景中的反射表面的方法和系统。该系统可以包括被配置为拍摄场景的感测装置。该系统还可以包括存储装置,该存储装置被配置为存储场景中的至少一些对象的三维位置。该系统还可以包括计算机处理器,该计算机处理器被配置为尝试获得从场景中的表面中选择的一个或多个候选表面的反射表面表示。在尝试获得是成功的情况下,计算机处理器还被配置为确定候选反射表面确实是由所获得的表面表示限定的反射表面。根据本发明的一些实施方式,在尝试计算是不成功的情况下,确定对象的辨识部分是与存储对象无关的对象。
在下面的详细描述中阐述本发明的这些、附加的和/或其他方面和/或优点;可能从详细描述中推断出来;和/或通过本发明的实践来学习。
附图说明
被认为是本发明的主题在说明书的结论部分中被特别指出并明确要求保护。然而,关于本发明的组织和操作方法以及其目的、特征和优点最好可以在阅读附图时通过参考以下详细描述来理解,在附图中:
图1是示出了根据本发明一些实施方式的非限制性的示例性系统架构的框图;
图2是示出了根据本发明一些实施方式的非限制性的示例性方法的高级流程图;
图3是示出了根据本发明一些实施方式的一些光路方面的射线图;以及
图4是示出了根据本发明的一些实施方式的几个方面的真实场景的示例性拍摄图像。
将理解的是,为了简单和清楚的说明,附图中示出的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被夸大。此外,在认为合适的地方,参考标号可以在附图中重复以指示对应或类似的元件。
具体实施方式
在以下描述中,将描述本发明的各个方面。为了解释的目的,阐述了具体的配置和细节以便提供对本发明的透彻理解。然而,对于本领域技术人员而言显而易见的是,本发明可以在没有在本文呈现的具体细节的情况下实施。此外,为了不模糊本发明,可以省略或简化公知的特征。
除非另有明确说明,否则从以下讨论中显而易见的是,应该理解,在整个说明书中,利用诸如“处理”、“运算”、“计算”、“确定”等术语的讨论指的是计算机或计算系统或类似的电子计算装置的动作和/或过程,该过程将表示为计算系统的寄存器和/或存储器内的物理量(例如电子量)的数据操作和/或转换为类似地表示为计算系统的存储器、寄存器或其他这种信息存储、传输或显示装置内的物理量的其他数据。
图1是示出可以在其上实施本发明的实施方式的示例性架构的框图。系统100可以包括被配置为拍摄可能包括对象(例如14)和表面(例如10)的场景的感测装置110。系统100还可以包括被配置为维护场景的数据库的存储装置120,该场景的数据库存储在场景中的至少一些对象和/或表面(例如包括对象14)的近端位置。重要的是要注意,数据库120还可以指示哪些对象和表面也是反射性的,并且因此当携带后向射线追踪时,场景中的已知反射表面被考虑在内。
应该注意的是,数据库120本身不必是3D,并且实际上可以是可以保存从中可导出场景中的对象的相对位置的数据的任何数据结构的形式。因此,实际上不需要存储点的3D位置。出于实际的目的,存储可以从中推断出3D位置的数据就足够了。一个非限制性的示例是深度映射以及从这个深度映射拍摄的位置和角度。这样的深度映射没有提供点的3D位置,但是可以推断出3D位置。
一旦如此识别反射表面,它将被添加到数据库中,使得它可以用于需要场景中的反射表面的认知的各种应用程序中,或者最小程度地将反射表面和“井(well)”或其他平坦表面上的“凹陷”进行区分。
根据一些实施方式,存储的数据也可以是对象的3D模型,其不一定是该特定对象的真实扫描,而是位于房间中的对象的模型。
系统100还可以包含计算机处理器130,计算机处理器被配置为尝试获得从场景中的表面(例如,表面10)选择的一个或多个候选表面的反射表面表示。在尝试获得是成功的情况下,计算机处理器130还被配置为确定候选反射表面10确实是由所获得的表面表示134限定的反射表面。或者,在尝试计算是不成功的情况下,确定对象的辨识部分是与所存储对象无关的新对象132,并且可以作为新条目添加到存储装置120。
根据本发明的一些实施方式,在尝试之前基于感测的图像来识别场景内的候选反射表面,并且其中对所识别的候选物上执行该尝试。
根据本发明的一些实施方式,反射表面的认知和表示还可以用于重新分析先前表面,因为新表面可以改变在场景中已经分析的表面的理解(以概率的方式)。因此,执行改善和验证与场景中的反射表面有关的数据的某个迭代过程。
根据本发明的一些实施方式,识别候选反射表面通过辨识存储在数据库上的对象之一的至少一部分来执行,其中,对象的辨识部分不位于与所存储的对象相关联的位置处。例如,图像12的一些特征被识别为与对象14(其在数据库120中注册并且其近端位置在场景中是已知的)类似(除了一些空间倾斜或平移)。
根据本发明的一些实施方式,识别候选反射表面是通过识别指示反射表面的3D深度图案来执行的。更具体地说,对于作为反射表面的表面的主要“怀疑”是其基于图像分析的深度分析类似于在其他平坦表面中的边界明确凹陷或“井”的表面。反射表面或镜子提供类似这种凹陷的深度概念,并且通过分析和后向追踪在被怀疑为表面的表面内示出的对象,将反射表面与真实凹陷区分开来。在这是混凝土表面中的真实凹陷的情况下,对象将处于其“真实”位置。只有在反射的情况下,真实对象处于不同的位置,并且感测装置实际上指向真实对象的图像。
根据本发明的一些实施方式,在确定候选反射表面为反射表面的情况下,计算机处理器还被配置为基于反射表面表示生成位于场景中的虚拟对象的虚拟图像。
根据本发明的一些实施方式,将有可能用其中至少一个图像被视为锚点的相对图像代替上述对象的3D位置的要求。这样,将有可能推导出反射表面所位于的受限体积。这将通过应用上述的光射线的后向射线追踪来实现。在这种情况下,确切的表面表示将并不总是全部推导出来的,但是对于其位置将提供一些公差或体积范围,并且仍然可能对许多应用程序有益。例如,在路径规划应用程序中,有时足以知道场景内的特定范围是受限的,并且不需要受限表面(反射表面)的确切位置。
图2是示出了用于识别诸如镜子和其他平面和非平面的反射表面的反射表面的方法的方法200的高级流程图。方法200可以包括感测包含表面和对象的场景的至少一个图像的步骤210;同时,该方法可以维护存储场景中的至少一些对象的三维位置220的场景的三维数据库;然后是迭代子过程,方法200尝试获得从场景中的表面选择的一个或多个候选表面的反射表面表示230。执行尝试是否成功的检查240。然后,在尝试获得是成功的情况下,确定候选反射表面是由所获得的表面表示限定的反射表面250。根据本发明的一些实施方式,表面表示是通过表面方程的数值近似值来实现。应该注意的是,场景可能已经包含已知的镜子,因此对新的潜在反射表面的计算可能会考虑到它们并可能将其存储在数据库中。
根据本发明的一些实施方式,在尝试计算是不成功的情况下,确定对象的辨识部分是于所存储的对象无关的对象260。
根据本发明的一些实施方式,在尝试之前通过基于感测的图像来识别场景内的候选反射表面,并且其中对所识别的候选物上执行该尝试。
根据本发明的一些实施方式,通过辨识存储在数据库上的对象之一的至少一部分来执行识别候选反射表面,其中对象的辨识部分未位于与所存储的对象相关联的位置处。
根据本发明的一些实施方式,指示反射表面的3D深度图案包括衔接精准的深度步骤。
根据本发明的一些实施方式,其中,在将候选反射表面确定为反射表面的情况下,通过将图像处理算法应用于对象和存储在数据库中的相应的对象的辨识部分来导出所述反射表面的反射率参数。
根据本发明的一些实施方式,反射率参数还包括识别反射表面的不反射的部分。
根据本发明的一些实施方式,其中,反射率参数包括反射率的级别和类型。
根据本发明的一些实施方式,在将候选反射表面确定为反射表面的情况下,基于反射表面表示来生成位于场景中的虚拟对象的虚拟图像。此外,通过分析导出的反射特性用于生成场景中集成的虚拟对象的逼真图像。
图3是示出根据本发明实施方式的光路的一些方面的射线图300。具体而言,感测装置的传感器阵列50被示出为具有表示场景中的对象的疑似图像的投影的部分60的横截面。在尝试为在场景中位置是已知的真实对象70的疑似图像定位反射表面表示时,可以从感测装置的焦点40将射线310后向追踪到潜在的反射表面330B再到真实对象70,而在假设潜在反射表面330B的表面法线340B时遵守反射定律。对于具有表面法线340A的另一个可能的反射表面330A,可以迭代地重复该过程。
上述过程被用于映射候选反射表面,其中真实对象70的已知位置、表面法线和反射定律用作约束条件,通过该约束条件,潜在反射表面基于反射表面330A等逐渐地生成潜在的反射表面。
图4是示出根据本发明的实施方式的几个方面的真实场景的示例性拍摄图像。由于诸如灯430A的一些对象被检测为图像430B,所以场景似乎包括平面镜面410。此外,在图像中未拍摄的其他对象,(诸如图片420(描绘眼睛))可以以其精确的3D位置存储在数据库中。在尝试导出反射表面的表示时,如上所述执行从图片420向相机的感测装置的传感器阵列的射线后向追踪。
一旦可能由于表面的数值近似值或镜子的平面方程导出反射表面表示,它可以用于反射引入到场景中的虚拟对象的图像。例如,可以将圆柱体450A作为增强现实对象引入到场景中。为了使用户更真实地感知虚拟对象,在遵守所检测的反射表面的反射定律和其他光学性质的同时产生其各自的反射450B。
在以上描述中,实施方式是本发明的示例或实现。“一个实施方式”、“实施方式”或“一些实施方式”的各种外观不一定都指代相同的实施方式。
尽管可以在单个实施方式的上下文中描述本发明的各种特征,但是特征也可以单独地或以任何合适的组合提供。相反,尽管为了清楚起见本发明可以在单独的实施方式的上下文中描述,但是本发明也可以在单个实施方式中实现。
说明书中对“一些实施方式”、“实施方式”、“一个实施方式”或“其他实施方式”的引用意味着结合实施方式描述的特定特征、结构或特性被包括在至少一些实施方式中但不一定是本发明的所有实施方式。
应该理解的是,在此使用的措辞和术语不应被解释为限制,并且仅用于描述性目的。
参考所附描述、附图和实施方式可以更好地理解本发明教导的原理和用途。
应该理解的是,这里阐述的细节并不解释对本发明的应用的限制。
此外,应该理解的是,本发明可以以各种方式实施或实践,并且本发明可以在除以上描述中概述的实施方式之外的实施方式中实现。
应该理解的是,术语“包括”,“包含”,“由......组成”及其语法变体不排除添加一个或多个组件、特征、步骤或其整体或组,并且术语应被解释为指定组件、特征、步骤或整体。
如果说明书或权利要求涉及“附加”元件,则不排除存在多于一个附加元件。
应该理解的是,在权利要求或说明书提到“一个”或“一个”元件的情况下,这样的参考不被解释为仅存在该元件中的一个。
应该理解的是,在说明书陈述组件、特征、结构或特性“可能”“也许”,“可以”或“可能”被包括的情况下,不需要包括特定的组件、特征、结构或特性。
在适用的情况下,虽然可以使用状态图、流程图或两者来描述实施方式,但是本发明不限于这些图或相应的描述。例如,流程不需要通过每个图示的框或状态,或者以与图示和描述的顺序完全相同的顺序移动。
本发明的方法可以通过手动、自动或其组合执行或完成所选择的步骤或任务来实现。
在权利要求书和说明书中呈现的描述、示例、方法和材料不应被解释为限制性的,而仅仅是说明性的。
除非另外定义,本文使用的技术和科学术语的含义通常由本发明所属领域的普通技术人员通常理解。
本发明可以在测试或实践中用与本文描述的方法和材料等效或相似的方法和材料来实施。
尽管已经针对有限数量的实施方式描述了本发明,但是这些不应被解释为对本发明的范围的限制,而是作为一些优选实施方式的示例。其他可能的变化、修改和应用也在本发明的范围内。因此,本发明的范围不应受到迄今为止所描述的内容的限制,而是由所附权利要求及其合法等同物来限制。