Photometric method for determining surface orientation from multiple images
本文介绍了一种称为photometric stereo的方法,该方法通过改变入射光的方向同时保持观察方向不变,来计算被观测物体的表面方向 The technique is photometric because it uses the radiance values recorded at a single image location, in successive views, rather than the relative positions of displaced features.
将图像中记录的辐射值与物体形状相关联需要一个表面反射模型.
图像的亮度可以表示为物体表面方向的函数,该方程不可逆(表面方向有两个自由度,而图像强度只是提供了一个测量值),局部表面形状不具有泛化能力。为了获得表面形状,需要额外的信息。
由此引入了光度立体的方法:用两到三张图片确定表面方向。
传统立体方法通过改变观察角度获得相关联图片,从而确定方向;如果图片元素之间的对应关系已知,到被观测物体的距离可以通过三角法计算,然而,这种对应关系却很难确定。
光度立体方法:由于成像几何结构没有改变,图像点之间的对应关系是先验的
对于许多表面,一部分入射光在该表面的反射仅仅依赖于表面方向,这种反射特性可以用方程Φ(i,e,g)表示(i:入射角;e:出射角;g:相角),Φ确定观察者方向上每单位表面积、每单位立体角测量的表面辐射(radiance)与辐照度(irradiance)之间的比值;Φ的定义和BRDF(双向分布函数)有关。
成像是一个透视投影过程,但如果目标的尺寸远远小于观察距离,透视投影可以近似为正投影。选择与观察方向对齐的方向作为负z轴;假设适当缩放图像平面,使目标点(x,y,z)映射到图像坐标(u,v),其中u=x和v=y。
物体的表面高度z可以表示为:
z = f(x,y)
然后表面法向量可以表示为:
表面法向量可以写为[p,q,-1],p,q称为f(x,y)的梯度,所有的(p,q)点构成的二维空间称为“梯度空间”。梯度空间可以用来表示表面方向。图像的亮度也可以表示为梯度坐标p,q的函数。
在正交投影中,观察方向和相位角g对于所有目标点都是恒定的;因此,对于一个固定光源和观察者几何的系统,表面辐射和辐照度的比值仅仅和梯度p,q有关。
反射图R(p,q)可以确定图像强度。
这篇文章假设图像的投影是正投影,入射光由远距离的单一点光源提供。该反射图也可以扩展到空间变化的辐照度以及透视投影。
这里,给定表面法向量[p,q,-1],入射向量[ps,qs,-1],观察向量[0,0,-1].
这些表达式可用于将任意表面反射函数Φ(i,e,g)转化为反射函数R(p,q)
一个简单的理想化表面反射模型:
这里,假设物体是一个LambertIan,从各个观察角度观察到的亮度一样,Q是反射系数,cos(i)决定表面的反射
第二种情况
这里,反射函数向各个方向反射等量的光?(和上一个有啥区别),出射角cos(e)起决定作用
R(p,q)可以用梯度空间中亮度轮廓线表示,
图3和图4分别表示Ra和Rb在ps=0.7,qs=0.3,Q=1时的等高线图
利用反射图,成像过程可以表示为:
(1)式是非线性的一阶偏微分,只有一个已知量I,解两个未知量p,q。因此需要额外的信息。光度立体方法,利用两张或更多图片解决Eq(1)的未定问题。
The idea of photometric stereo is to vary the direction of incident illumination between successive views, while holding the viewing direction constant.
假设通过改变入射光的方向分别得到两幅图像I1(x,y),I2(x,y);由于成像几何没有改变,两个图像中的图像元素(x,y)对应的是同一个目标点和相同的梯度(p,q).改变入射方向会改变反射图R(p,q)。I1(x,y),I2(x,y)分别对应的反射图为R1(p,q),R2(p,q)
假如phase angle g不变,那么其中一幅图像的反射图就是由另一副旋转而来的
如果反射图用Rb表示,那么该函数就是关于p和q的线性方程。并且,如果反射系数Q已知,那么两张图片就可以求出表面方向(假设入射方向不共线)
但是一般来说,反射图是非线性的,需要第三张图片才可以求解
对于反射图Ra来说,三个不同入射角的图片足够求出表面方向和反射系数Q的唯一解我们让I=[I1,I2,I3]’ 作为图片(x,y)点在三个不同角度的强度列向量('代表转置),另外,让
作为三个入射方向的单位列向量,矩阵N
让n=[n1,n2,n3]'作为(x,y)点的单位表面法向量
所以有
假设N-1存在。当且仅当n1,n2,n3不共面时,此逆存在。在这种情况下,(x,y)点的反射系数和单位表面法向量可以表示为
由于阳光穿过天空的路径几乎是平面的,这个简单的解决方案不适用于在同一天的不同时间拍摄的室外图像?
光度立体的应用有两个方面:可以用来确定表面方向;给定一个特定的表面方向,可以用来获得目标点:给定梯度(p,q),可以求出对应的图像位置(x,y)
(1)假设半径为R的球体,其空间原点为中心点
假设该球体符合完美的散射材质(Lambertian),且光源为单一远距离点光源,入射角度为(ps,qs),反射图可以用Ra来表示,相应的生成图像为:
这里r=60,Q=1
(2)通过改变光源位置可以得到多幅图像,考虑三个不同的位置:第一个ps=0.7,qs=03;将第一个光源分别旋转正负120°得到第二第三幅图像(也就是,ps=-0.610,qs=0.456和ps=-0.090,qs=-0.756)让三个反射图为R1(p,q),R2(p,q)和R3(p,q),对应I1(x,y),I2(x,y)I3(x,y),phase angle g是恒定的
(3)首先,给定图像点x=15,y=20.求出I1(x,y)=0.942,I2(x,y)=0.723,I3(x,y)=0.505.图5展示了反射图等高线R1(p,q)=0.942,R2(p,q)=0.723,R3(p,q)=0.505.三条线的共同交点即为所求梯度p=0.275,q=0.367
(4)利用给定梯度求图像位置:给定梯度p=0.5,q=0.5,求得R1(p,q)=0.974, R2(p,q)=0.600, R3(p,q)=0.375,相应的图像亮度等高线I1(x,y)=0.974, I2(x,y)=0.600, I3(x,y)=0.375. 三条线的共同交点即位坐标点x=24.5, y=24.5.
(5)特殊情况p=0,q=0 . R1=R2=R3=0.796,目标点的法向量正对观察方向,所以图像的亮度不会因为入射光旋转而改变。三条线交于x=0,y=0点,即为所求点
当反射图密度较大,并且不同反射图垂直相交时,精度较高。
其中影响因素有表面材质。
使用扩大的光源而不是点光源会改变反射图等值线的形状及分布。
对于给定的表面材质,影响精度的主要因素是相位角g。大相位角增加了梯度空间中被照明部分的反射图等值线密度;同时,增大相位角会导致更多梯度空间处于阴影中
还要考虑光源的相对位置,图8和图9给出了光源位置相关的权衡,其中反射图用Ra表示
图八中是由两个光源方向相差90°的R1和R2相互叠加的等值线,单位间隔0.1。图八中的每一个区域对应一个测量误差相等的区域。密度大的误差小,密度小的误差大。可以看出第三象限误差小,而第一象限误差大。
图9和图8类似,只不过两个光源相差180°,第二和第四象限的误差范围小。可以使用四个不同方向的光源,方向平均分布;选用相对较大的相位角g,用来减小测量误差范围。在这种情况下,可以做到目标点被最少三个独立光源照亮,等值线垂直相交,误差范围减小。
可以通过固定成像几何,改变光照方向,来获得表面方向。确定表面方向的光度法可以被视为是对从不同角度拍摄的两幅图像中识别对应点方法的补充。
1.传统的立体视觉可以精确测定到物体的距离,而当表面梯度确定后,光度立体的方法更好
2. 传统方法适用于粗糙不连续表面,而光度立体适合光滑连续表面
3.传统方法适合表面反射特性变化的文理表面,而本方法适合表面特性不变的区域。
光度立体的一些优势:
1可以很轻易识别两图像中的对应点,而传统方法做不到。
2.可以计算出表面的反射系数
3.在许多情况下,用表面方向来描述物体形状比用基准面以上距离或高度来描述要好。
光度立体要求对必须清楚成像过程,成像设备必须很精密