The Quotient Image: Class Based Recognition and Synthesis Under Varying Illumination Conditions

摘要

  本文针对不同光照条件下的“基于类”识别和图像合成问题进行了研究。基于类的合成与识别任务如下:给定一个目标的单一输入图像,与同一类其他目标在不同光照条件下的样本图像,获取其等价关系(通过生成新的图像或通过不变量)在对象的所有图像中对应新的光照条件。
  我们的方法的关键结果是基于光照不变的特征图像的提取,我们称之为“商”图像,它能够从一个输入图像和一个非常小的类其他对象样本的光照变化下解析生成图像空间-在我们的实验中,只有两个对象。在许多情况下,识别结果远远超过传统方法,考虑到样本图像数据库的规模和使算法工作所需的温和的预处理,图像合成质量显著。

1 引言

  考虑通过在3D对象或场景上应用可变性源(比如改变光照或观察位置)生成的图像空间。在一定的情况下,通过改变源的参数所产生的图像可以表示为来自图像空间的小样本图像的函数。例如,一个三维Lambert表面的图像空间是由三个图像的基础来决定的,忽略了投影阴影[IO, 11, 6, 2,81]。在这种情况下,图像空间在光线变化下的低维数有助于合成新的图像。
  视觉识别与图像合成密切相关。从某个变化源下的单一图片中识别熟悉的对象需要掌握如何捕捉由该变化源创建的图像空间。换言之,视觉识别的过程需要捕捉等价类关系的能力,该等价类关系要么是“生成的”,即从对象的多个示例图像创建一个新图像,要么是“不变的”,即创建一个对象的“签名”,在考虑的变化源下保持不变。例如,在生成过程中,一组基本图像可以形成图像空间的紧凑表示。如果一个新的输入图像可以从一组基本图像合成,那么它就被认为是图像空间的一部分。另一方面,在基于不变性的过程中,签名可能是一个“中性”图像,比如在标准照明条件或观察位置下的对象。新图像首先被转换成中性形式,然后与中性图像的数据库进行匹配。
  本文主要研究了一类目标在光照条件下的识别和图像合成。这些对象属于一个通用类,例如人脸类。换句话说,对于合成任务,给定一个对象类成员的样本图像,以及该类中一个新对象的单一图像,我们希望合成新对象的新图像,以模拟光照条件的变化。
  我们的方法基于一个新的结果,该结果表明,在一组具有相同形状但表面纹理(反照率)不同的Lambertian对象上,通过改变光照条件而生成的所有图像集,可以使用原型对象的图像和(光照不变的)“特征”图像进行分析表征类的每个对象。我们的方法有两个优点。首先也是最重要的一点是,该方法使用一组非常小的示例对象(只有两个示例对象)对真实图像(人脸)进行了非常好的处理(见图2)。在许多情况下,重新渲染的结果与真实的物体是无法区分的,并且识别结果远远优于传统的方法。第二,由于我们的方法是基于一个简单和干净的理论基础,可以清楚地区分其局限性和突破点,从而进一步增加了该算法的实际应用。
在这里插入图片描述
图1.来自Vetter的200个对象数据库的10个对象的引导集。
在这里插入图片描述
图2.图像合成的例子。(a)三种不同光照条件下的原始图像和(b)三幅图像的线性组合的合成图像。使用原始单幅图像©和N = 10 自举集合合成的图像如(d)所示。最后,(e)是一个N = 2的自举集,用于从单一原始图像©生成合成图像(f)

1.1 相关工作

  关于不同光照条件下图像空间低维化的基本结果最早在[10,113]中以Lambertian对象为例进行了报道。应用和相关系统在[6,2,51]。在更一般的假设下重新考虑,但开发光传输的线性被报道在[8]
  [3,1,4,15,141]中报告了关于“基于类的”图像合成和识别的工作(主要是具有不同的观察位置)在(部分列表)。这些方法采用了一种“重建”方法,其中合成过程的一个必要条件是从实例数据库中生成、重建原始的新图像。例如,[16]的假设下的“线性类”对象的三维形状的线性组合很接近(在3D中)。最近,[9]提出携带一个附加误差项,即新图像与实例数据库中重建图像之间的差异。在合成过程中,误差项也被修改,从而补偿可从实例数据库生成的图像空间与期望图像之间的差异。他们的错误项有点类似于我们的签名图像。然而,我们寻找的不是误差项,而是照明不变项(签名图像),该项使得由单个原型(或参考)对象跨越的图像空间与新图像之间的差异(在乘法意义上)。示例数据库用于恢复生成签名图像所需的若干参数。

2 背景和定义

  我们将考虑具有朗伯反射函数的对象,即图像可以通过反照率(纹理)和点光源与曲面法线之间的余弦角的乘积来描述: ρ ( x , y ) n ( x , y ) T s ρ(x,y)^n(x,y)^Ts ρ(x,y)n(x,y)Ts,其中0≤ρ(x,y)≤1是与图像中的点x,y相关的表面反射率(灰度级),n(x,y)是与图像中的点x,y相关联的曲面法线方向,s是(白色)光源方向(点光源),其大小是光源强度。
  我们将在本文中使用的基本结果是,通过改变光源向量s而产生的图像空间存在于三维线性子空间中[10,11]。为了了解为什么会这样,考虑在线性独立光源向量s1、s2、s3下分别拍摄的同一物体(ρ,n是固定的)的三幅图像 I 1 、 I 2 、 I 3 I_1、I_2、I_3 I1I2I3。线性组合 ∑ j a j I j ∑_ja_jI_j jajIj是一个图像 I = ρ n T s I=ρn^Ts I=ρnTs,其中 s = ∑ j a j s j s=∑_ja_js_j s=jajsj。因此,忽略阴影,三幅图像足以生成物体的图像空间。基本原理可以扩展到处理阴影、彩色图像、非白色光源和非朗伯曲面[11,8,5],但这里不考虑,因为我们的方法也可以同样地扩展。这一原则已被证明是稳健的,并成功地集成到识别方案中[11,5,2]。关于将该原理用于图像合成的示例,请参见图2。
  接下来我们定义什么是对象的“类”。为了得到一个精确的定义,我们可以以此作为分析方法的基础,我们定义了我们所说的“理想”类如下:
  定义1(对象的理想类) 理想类是由具有相同形状但表面反照率函数不同的3D对象组成的集合。该类的图像空间表示为: ρ i ( x , y ) n ( x , y ) T s j ρ_i(x,y)^n(x,y)^Ts_j ρi(x,y)n(x,y)Tsj,其中 ρ i ( x , y ) ρ_i(x,y) ρi(x,y)是该类对象i的反照率(表面纹理),n(x, y)是该对象的表面法线(形状)(对类的所有对象都一样), s j s_j sj是点光源方向,可以任意改变。
  在实践中,类的对象确实有形状变化,尽管粗略的形状是相似的,否则我们不会将它们称为“类”。如果我们在类的图像(比如正面图像)之间执行像素级密集对应,就可以满足理想的类。密集的对应弥补了形状的变化,只留下纹理的变化。例如,Poggio和同事们[141]采用了从一幅图像和一个(像素级预对齐)数据库合成新视图的过程中同时估计流场和纹理变化的方法。我们将在实验部分解决的问题是,我们的方法对偏离理想类假设的灵敏度是多少。结果表明,一个人可以容忍显著的形状变化而不明显的性能退化,或换句话说,没有必要建立任何密集对齐图像之间的质量中心和规模对齐。
  从现在起,当我们提到一类对象时,我们指的是上面定义的一类“理想”对象。我们将在理想类假设下发展我们的算法和正确性证明。接下来我们定义"识别"和"综合"
(重新呈现)问题。
  定义2(识别问题) 给定N个物体在3种光照条件下的N * 3张图像,M >> N张同类别物体的图像在任意光照条件下(每一种),在一些新的光照条件下从一幅图像中识别M + N个物体。
  注意,我们需要N个小数目的对象,每个对象3张图像,以“引导”这个过程。我们将这3N张图像称为“bootstrap集”。合成问题的定义类似,
  定义3(合成(重新绘制)问题) N个相同类别的N个物体的3幅图像,在3种不同的光照条件下被照亮,而同一类别中一个新物体的一幅图像被任意的光照条件照亮,合成该物体在新的光照条件下的新图像。
  综上所述,考虑到上述理想类和综合识别问题的定义,我们的目标是:我们希望将[11]的线性子空间结果推广到仅s变化的图像空间ρnT s的情况下,ρ和s都变化的情况。我们将通过使用一个照明不变的签名图像,来说明可以将类中一个对象的图像空间映射到任何其他对象上。特征图像的恢复需要一组引导的示例图像,尽管这个示例图像相对较小(与我们的实验中从两个对象生成的图像一样小)。

3 商图像

  给定两个目标a和b,我们用它们的反射率函数ρa/ρb的比值来定义商像Q。显然,Q是光照不变的。在不直接访问反射率函数的情况下,我们证明Q仍然可以恢复,分析地,给定一组自举图像。一旦Q被恢复,Q和三张b的图像就可以生成物体a的整个图像空间(在不同光照条件下),具体如下。
  我们将从情形N = 1开始,即bootstrap集合中只有一个目标(3幅图像),设该目标a的反照率函数为ρa,设三幅图像为 a 1 、 a 2 、 a 3 a_1、a_2、a_3 a1a2a3,则 a j = ρ α n T s j a_j=ρ_αn^Ts_j aj=ραnTsj, j = 1,2,3。设y是该类中具有反射率ρy的另一个对象,并设ys是y的一个图像,该图像被某些光照条件s照亮,即, y s = ρ y n T s y_s = ρ_yn^Ts ys=ρynTs。下面我们针对bootstrap集合(在本例中针对a)定义y的一个照明不变特征图像Qy:
定义4(商图像) 对象y对对象a的商图像定义为
在这里插入图片描述
u,v是图像的范围
  因此,图像Qy只依赖于相对的表面纹理信息,因此与光照无关。
我们用地表反照率来表示物体间相对变化的原因,从先前的提议中就一目了然了:
命题1 给定物体a在任意三种线性独立光照条件下的三幅图像a1、a2、a3,以及物体y在某一光源s照射下的一幅图像ys,则存在满足的系数xI, x2, x3。
y s = ( ∑ j x j a j ) ⨂ Q y y_s=(∑_jx_ja_j)\bigotimes Q_y ys=(jxjaj)Qy
式中, ⨂ \bigotimes 为笛卡尔积(像素对像素相乘)。此外;对象y的象空间是通过改变系数来张成的。
证明: 令xj为满足 s = ∑ j x j s j s=∑_jx_js_j s=jxjsj的系数。用代换法可以得到 y s = ( ∑ j x j a j ) ⨂ Q y y_s=(∑_jx_ja_j)\bigotimes Q_y ys=(jxjaj)Qy。由于s是任意的,因此通过改变系数xj来生成物体y在光照条件变化下的图像空间
  我们看到,一旦Qy被给定,我们可以生成新的图像ys(新的图像)和y的图像空间的所有其他图像,关键是得到商图像Qy。给定ys,如果我们也给定了满足 s = ∑ j x j s j s=∑_jx_js_j s=jxjsj的系数xj,那么Qy很容易得到: Q y = y s / ( ∑ j x j α j ) Q_y=y_s/(∑_jx_jα_j) Qy=ys/(jxjαj),因此关键是得到正确的系数xj。因为这个原因,而且只有这个原因,我们需要自举集——否则,一个对象a就足够了(正如我们在上面看到的)。
  从三个固定(线性独立)光源s1、s2、s3(光源未知)中获取3N张照片的自举集。设Ai,i=1,…,N,是一个矩阵,其列是具有反射率函数ρi的对象ai的三张图片。因此,A1,…,AN表示N个矩阵的自举集,每个矩阵都是一个mx3矩阵,其中m是图像的像素数(假设所有图像的大小相同)。让ys是由某个光源 s = ∑ j x j s j s=∑_jx_js_j s=jxjsj照明的某个新颖对象y(不是自举集的一部分)的图像。我们希望恢复x=(x1,x2,x3),给定N个矩阵AI,…,AN和向量ys。
  我们将bootstrap集合的归一化反射率函数ρ定义为:
在这里插入图片描述
它是bootstrap集合反射率的平方和。当存在系数a1,…αN时,在这样的情况下
在这里插入图片描述
其中ρy是新对象y的反射率,我们说ρy在反射率的bootstrap集合的有理范围内。通过这些定义,我们证明了本文的主要结果:如果新对象的反射率在bootstrap集合的有理空间内,我们描述了一个全局最小值为x的能量函数f(x^),例如 x = argmin f(x^)。
定理1 能量函数
在这里插入图片描述
有(全局)最小值x^ = x时,对象y的反射率ρy合理地由bootstrap集合张开,即,如果存在
a1,…αN满足式1.
证明见[12]。求最小f(x^)是一个非常重要的技术问题(线性最小二乘问题):

定理2 能量函数f(x^)的全局最小x0为:
在这里插入图片描述
其中
在这里插入图片描述
系数ai被确定为对称齐次线性方程组的解,直到一个均匀尺度:
在这里插入图片描述
证明很容易推导出来,如[12]所示。当N=1时,如果新目标的反射率与引导目标的反照率相等(按比例),f(x^)的最小值与x一致。引导程序中的对象越多,我们在表示新对象时就越自由。在实际中,反照率函数存在于m的一个相对低维子空间中,因此需要一个相对较小的N<<rn,这在第4节中进行了经验检验
  一旦恢复系数x= (x1,x2,x3),则可以根据平均对象定义商图像Qy:设A为由bootstrap集合的平均定义的mx3矩阵
在这里插入图片描述
则商图像Qy定义为:
在这里插入图片描述
  综上所述,我们在下面描述了合成一个新对象y的图像空间的算法,给定了bootstrap集合和一个y的单图像ys。
1.我们有N个矩阵,A1…AN,其中每个矩阵包含三幅图像(作为列)。这是我们给出的引导集。我们也给出了新的图片ys(表示为大小m的向量,m是图像中像素的数量)。为了得到好的效果,确保图像中的对象大致对齐(质心的位置和几何尺度)。
2. 根据公式计算N个向量(大小为3): 在这里插入图片描述
i=1…N
3.求解在(3)中描述的齐次线性方程组α1,…,αN。缩放得到的解,使之 ∑ i α i = N ∑_iα_i=N iαi=N
4.计算 x = ∑ i α i v i x=∑_iα_iv_i x=iαivi
5.计算商图像Qy = ys/Ax,其中A是A1…AN的平均值。用小数字代替0的除法。
6.在不同的光照条件下,用图像Qy和Az的乘积来跨越新物体所创造的图像空间。
  最后,值得注意的是,通过将新彩色图像的RGB通道转换为HSV表示,可以使用黑白引导集来合成彩色图像。V通道是上述算法的输入,用于合成V′。相应的新彩色图像由原始的H,S通道和新的V’

4 实验

Guess you like

Origin blog.csdn.net/chenaxin/article/details/107675695