结构光三维建模的鲁棒像素分类 Robust Pixel Classification for 3D Modeling with Structured Light
三维对象和场景建模是计算机图形学的重要组成部分。一种建模方法是将二进制模式投影到场景上,以获得对应关系并重建一个密集采样的三维模型。在这种结构光系统中,决定一个像素是否被投影仪直接照亮是解码图案的关键。本文介绍了一种鲁棒、高效、易于实现的像素分类算法。我们的方法正确地确定了被照明像素和非被照明像素的可能强度值的下限和上限。
基于这两个区间,我们的方法通过确定像素的强度是否在一个区间内而不是在另一个区间内来对像素进行分类。实验表明,该方法既提高了解码像素的数量,又提高了最终重建的质量,生成了一组密集的三维点,适用于具有间接照明效果的复杂场景。此外,我们的方法不需要新设计的模式;因此,它可以很容易地应用于以前捕获的数据。
在本文中,我们提出了一种基于二元模式的结构光系统像素分类算法(图1)。首先,高频二进制模式用于分离每个像素的直接和间接成分,以及编码像素码字。然后,我们的算法计算每个像素的照明间隔和非照明间隔。像素根据两个间隔进行分类。无法分类的像素被标记为不确定(图1b)。分类结果被输入到重建引擎,以证明分类的质量(图1d)。我们已经捕获并将我们的算法应用于几个真实场景。此外,由于我们的方法只使用与标准结构光系统相同的二进制模式,因此它可以很容易地应用于以前捕获的数据。结果表明,与传统方法相比,该算法具有两个显著的优点:增加了解码像素的总数,提高了重建质量。平均而言,我们的算法为各种对象和曲面类型重建2-7倍的点。
直接和间接照明组件
照片中像素的强度可以分解为直接分量和间接(或全局)分量。直接分量是由于光在单次反射中从表面反射。间接分量是由于多次反射(例如,相互反射,次表面散射等)。塞茨等人提出了一种逆光传输理论[7]来估计朗伯曲面的相互反射分量。
该方法需要大量图像来计算在反射间消除过程中使用的矩阵。纳亚尔等人提出了一种使用高频照明模式分离由单个光源照射的场景的直接和全局分量的快速方法[3]。理论上,高频模式及其反演足以进行分离。
在实践中,使用更多的图案图像,例如移位的棋盘图案,来补偿投影仪的低分辨率。如作者所指出的,结构光图案的较高频率图像也可用于进行分离。因此,我们的方法排除了对额外捕获的需要,因此可以应用于先前获取的数据集。此外,我们的方法不是明确地寻求从任意照明的照片中去除间接成分,而是直接尝试在结构光获取期间建立间接成分和直接成分的界限,并在分类期间使用边界。
鲁棒像素分类算法
二进制图案结构光采集中的像素分类算法使用一组规则来确定像素是否正在捕获照明或非照明表面点。 对应于从相机可见而不是从投影仪可见的表面点的像素应标记为不确定。 在下文中,我们描述了像素强度区间和分类规则,用于在码字的每位使用一个或两个二进制模式。
像素强度间隔
为了帮助分类,我们定义了像素的潜在强度区间。 例如,对于每通道8位相机,其值可以跨越至多0到255.当像素被直接照射时,该间隔可以进一步细分为P on,而当像素未被直接照射时,可以进一步细分为Poff。 像素分类方法通常建立两个区间的下限和上限(显式或隐式)。 然后,如果强度p在一个间隔内而在另一个间隔内,则该像素属于该类别。 否则,该像素被标记为不确定。
考虑以下两个例子。一种简单的阈值方法假设Poff属于[0,t-]并且Pon属于[t +,255],其中t-和t +是两个用户定义的阈值,它们可以相同或不同。可以通过将像素的强度与阈值进行比较来对像素进行分类,如图2a所示。更精确的方法使用像素的反照率作为分类阈值t。每个像素具有不同的阈值t,因此每个像素产生不同的Pon和Poff,如图2b所示[8]。可以通过在全白和全黑照明下拍摄两个图像并对两者进行平均来计算反照率。投射图案的方法及其反转假设两个间隔不重叠,即Pon的下限大于Poff的上界[5]。在这种情况下,像素与其反转之间的单个比较决定了像素落入哪个间隔而没有明确地计算t(图2c)。
所有这些方法都假设两个间隔是非重叠的。但是,如果场景点正在经历强烈的间接照明,则不一定如此。我们的方法通过正确建立Pon和Poff的下界和上界来克服这个问题。通过这些间隔,我们的算法可以准确地将像素分类为开/关。此外,我们的算法可以稳健地拒绝投影仪不可见的像素或由于过强的间接照明而出现问题。这很重要,因为不正确的分类会导致解码不准确,导致重建不良。
图2.像素间隔。 a)一种简单的方法使用两个用户定义的阈值对像素进行分类。
b)自适应方法计算每个像素的反照率并将其用于分类。
c)更昂贵的方法根据像素或其反转是否更亮来对像素进行分类。
单一模式分类规则
我们首先使用码字的每比特的单个模式导出用于分类的决策规则。分类规则涉及一系列比较。对于直接照射的像素,其强度p可以分解为两个分量:直接分量d和间接分量ion。直接分量是对投影仪直射光的响应;因此,d在不同的照明模式下是不变的。另一方面,间接分量ion取决于场景点处的双向反射分布函数(BRDF),场景点方向上每个曲面片的辐射亮度,点与其他曲面片之间的相对几何配置,和一组点亮的表面补丁。没有详细的场景信息,这个全局组件很难计算。对于间接照明的像素,其强度p仅包含间接分量ioff。综上所述,
由于照明像素的直接分量d对于所使用的照明图案是不变的,因此我们可以使用Nayar等人引入的分离方法计算每个像素的d。[3]。 他们的算法估计每像素直接分量d,以及由所有投影仪像素点亮的场景的总间接分量itotal。 注意,间接分量离子和ioff取决于照明模式和场景几何; 因此,它们不同于它。 在计算d之后,确定间隔Pon和Poff成为找到i on和ioff的下界和上界的问题。 当大约一半的投影仪像素打开时,ion和ioff都是像素的间接分量。 因此,它们小于或等于总间接分量itotal,因为当所有投影仪像素都打开时,场景点接收更多的间接光。 作为强度值,它们也大于或等于零。 从而,
从(1),(2)和(3),我们建立下限和上限,对于间隔Pon和Poff:
如图3a所示,当d> itotal,即场景点具有更强的直接分量时,两个间隔完全分开。 在这种情况下,决策规则如下:
当d接近零时,两个间隔彼此非常相似(如图3b所示)。 当从投影仪看不到表面点时,即它处于阴影中时,可能发生这种情况。 因此,应该从重建中丢弃像素。 对于具有非常小的直接照明分量的可见像素,也会发生这种情况。 在这种情况下,来自场景其他部分的间接光对其观察到的强度具有巨大影响。 我们没有足够的信息来有力地知道为什么像素更亮,因此应该丢弃像素。 我们的算法检测这些情况,并在d小于预定义的最小阈值m时将像素分类为不确定。
当d≤total时,像素具有相对较强的间接分量,并且两个间隔在中间范围附近重叠。 这在图3c中示出。 仅当像素的强度p小于Pon的下限或大于Poff的上限时,才能将像素标记为开/关。 d和itotal的更接近的值产生更大的可分类间隔。 因此,我们有以下决策规则:
将三种不同情况的规则结合在一起,我们得出以下单一模式分类规则:
双模式分类规则
投影代码模式及其反转为每个像素产生两个值,可用于提高稳健性。 像素值p和都遵循相同的单一模式分类规则。 可以组合和扩展单个模式规则以形成双模式分类规则(参见表2)。 通过这种方式,我们的算法仅在像素及其逆表现出一致行为时执行开/关分类
值得注意的是,当d> itotal时,两个间隔完全分开。 因此,从像素及其反向到两个间隔的映射是一对一的。 分类规则可以简化,因为必须直接照亮两者中较亮的一个。 换句话说,d> itotal是像素中较亮像素的充分条件,其直接照射其反转,是以前一些方法中使用的假设。
重叠像素间隔
为了在d≤total时改善模糊情况下的可分类区域,我们需要减少间隔之间的重叠。这可以通过增加Pon的下限或减小Poff的上限来实现。然而,鉴于我们先前不知道场景几何的限制,这些界限已经很紧,因此我们仅限于将该范围内的像素分类为不确定。考虑以下两个关于观察点(包括其对应的图像像素)和场景中其他地方的曲面片的场景。场景使得该点仅从表面补丁接收间接光。补丁本身不会接收任何间接光。对于照明图案,可能是点“开”并且表面贴片“关闭”的情况。在这种情况下,补丁不会为该点提供任何间接光。点的对应图像像素的强度仅包含其直接分量d。这是当照射像素的强度达到间隔Pon的下限d时的最小条件。
接下来,考虑不同照明模式何时使点“关闭”并且贴片“打开”的情况。该点唯一的照明来源是来自单个补丁的间接光。这意味着点的总和仅仅是来自贴片的光的函数。由于贴片没有接收到任何间接光,因此其辐照度是其接收的直射光的结果,因此在点亮时是恒定的。因此,补丁给予该点的光也是恒定的,并且只要补丁被点亮就不会改变。
这正是itotal的定义,因此点的相应像素的强度等于itotal。 这是当非照明像素的强度达到间隔Poff的上限时的条件。 在不知道几何形状的情况下,P on的上界和Poff的上界已经很紧。