第五章 基于其它线索的三维信息恢复 5.1 从阴影恢复三维形状 5.1.1 成像过程的数学模型 图象辐照度的形成 影响图象辐照度的因素: 1.照射到物体表面的光强 2.物体表面对光的反射情况 (包括反射率以及表面方向 等 ), 设一点光源发出的光能量为 Φ,则表面光密度表示为: wd dI Φ= (5.1) 其中 dω为单位立体角。设 A 是点光源所照射到的表面的面积, i 为入射角, r 为 光源到表面的距离,则有: 2 cos r idAd ?=w (5.2) 从而在法线方向上的表面辐照度为 2 cos r iI dA dI dA dE n == Φ= w ? e s=(p ? s ,q s ,-1) N=(p,q,-1) s z y x v(0,0,1) 图 5.1表面反射模型 考虑 Lambert表面的反射函数。 Lambert表面是一种理想的漫反射表面,反射 函数表示为 2/ ,cos phhrf <=l 其中 ρ称为反射率,它决定于物体的表面材料, η为光线的入射角。 P N y x N P s t ' ' 表面方向的表示 表面上一点的方向可以用表面法向量 N 来表 示。 V梯度空间表示 设表面 S 的方程为 Z f X Y= ( , ),则点 ( , )X Y 处的梯度为 N p q= ?( , , )1 ,其中 p f X YX= ? ?( , ), q f X YY= ? ?( , ) (5.5) 由 (p, q)组成的空间称为梯度空间。 V倾斜角 σ和歪斜角 τ表示 σ定义为表面法线与视线间的夹角 τ定义为表面法线在视平面上的投影与视平面上的水平轴 x 之间的夹角 V两者的关系 图 5.2 表面方向的表示 0.9 0.8 0.7 0.6 0.5 q p 图 5.3 Lambert表面反射图 (光源方向 ) s = (0,0, - 1) ?? ??? = += ? ? q p qp 1 221 tan tan t s (5.6) 5.1.2 反射图方法 η是光照方向 S 与表面法向量 N 之间的夹角 (如图 5.1 所示 ),因而有 SN SN ? ?=hcos (5.7) N 、 S 在梯度空间中分别表示为 )1,,( ?= qpN 和 )1,,( ?= ss qpS ,从而可得 2222 11 )1( ss ss l qpqp qqpp ++++ ++= rf (5.8) 上式的构成了反射图 ),( qpR ,它是梯度空间中的一些等值线,每一条等值线代表 了相同的亮度。 当光源方向与视线方向一致 (光源靠近视点 )即 )1,0,0( ?=S 时,反射图表示为 221),( qpqpR ++= r (5.9) 此时反射图是以 p, q 为函数的同心圆,如图 5.3 所示,其中的圆心对应了物体表面 上的最亮点 (即光的直射点 )。 反射图的获取 V 通过对物体表面反射情况的检测由实验得到; V 通过入射角 η与表面反射情况的关系推算出来。 由于图象的辐照度 ),( yxI 与反射函数 lf 成正比,因此可以得到图象辐照度方程 ),(),( qpRyxI = (5.10) 由于梯度 ( , )p q 是图象函数的一阶偏微分,因此图象照度方程是一个非线性的一 阶偏微分方程。由于它存在两个变量 p,q,因此该方程是病态的 (ill-posed),存在无 穷多个解,仅靠单一的辐照度方程无法求出表面方向。为此,需利用表面上的其 它性质作为约束条件来得到该问题的解。 5.1.3 球状点假设方法 特点 V 把表面点看成是球状体上的点 (以下称为球状点 ),利用对图象辐照度函数 I 的 一阶偏微分 Ix 和 Iy 的分析,求取表面方向的倾斜角和歪斜角,同时借助统计方法估 计表面方向。 V 与反射图方法采用图象坐标系 ( 即以 Z 轴作为视线方向 ) 不同,这种方法首先在光 照坐标系 ( 即以 Z 轴作为光照方向 ) 中恢复表面方向,然后再将所得结果转换到图象 坐标系中。 光照坐标系中歪斜角的计算 令 σ L 和 τL 分别为光照方向 L 的倾 斜角和歪斜角,则由 L 可定义一自然 光照坐标系 S ,其三个坐标轴为 ′ ′ ′X Y Z, , ,其中 ′Z 为光照方向 L, X ′ 与 L 具有相同的歪斜角, Y′ 为与 ′Z 垂直的 平面与图象平面的交线方向,如图 5.4 所示。这里称 YX ′′ 平面为 ?S 平面, XY 平面为 ?V 平面。 把表面上的小块区域近似为球状区 域,因此,当图象的辐照度变化时, 用球面曲率特征来代替表面曲率特 征。 考虑半径为 R 的球面,其方程为 RyxRRyxRyxZ ≤≤?>??= ,,0,),( 222 (5.11) 从而有 ??? ??? ? ?== ?== ? ? 2 1 2 1 yTyZZ xTxZZ y x ? ? ? ? (5.12) 其中 T R x y= ? ?2 2 2 。 X Y Z X 'Y ' Z' 平 面 平 面 V_ S_ 图 5.4 图象坐标系与光照坐标系 又由于表面法向量 N n n nx y z= ( , , ) 在球坐标系中可表示为 ? ? ? ? ?? ? ? ? ??== = = R yxR R zn R yn R xn z y x 222 (5.13) 因此,对于 Lambert 表面有 sinsincossin(R= cos sinsin cossin / / / )(),( LLLL L LL LL yx Rz Ry Rx zNyxI tstsr s ts ts rr ??? ?? ? ? ? ?? ? ? ? ? ? ? ? ?? ? ? ? ?? ? ? ? =′??= (5.14) 从而 ? ? ? ? ? ?+?= ?+?= ? ? )cossinsin( )coscossin( 2 1 2 1 TyRI TxRI LLLy LLLx stsr stsr (5.15) 在上式中,若 0sin =Ls ,则 ),( yx II 代表了歪斜角的方向。 定理 5.1 令 ?? ? ? ??? ? ??? ? ??? ? ?=??? ? ??? ? y x LL LLLL y x I I II II tt tsts cossin sincoscoscos ,则 ??? ? ??? ? x y II IIarctan 是光照坐标系中表 面法向量的歪斜角。 证明: )sincos(cossin cossin )sincoscoscos(coscossin coscoscossin )cossinsin(coscos)coscossin(coscos )cossinsin(cos)coscossin(sin 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 LLLL LL LLLLLLL LLLL LLLLLLLLLL LLLLLLLL x y yxT yx TyTx TyTx TyTx TyTx II II ttss tt tstssts stst ststsststs stststst ++?? +?= ?+?+? ?+??= ?+?+?+? ?+?+?+??= ?? ?? ?? ?? (5.16) 又设表面法向量 T zyx nnnN ),,(= 在光照坐标系中为 T zyx nnnnnnN ),,(=′ ,则有 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? ? ? ? ? ? ? ? =′ z y x LLLLL LL LLLLL z y x n n n nn nn nn N ststs tt ststs cossinsincossin 0cossin sinsincoscoscos 因此 2 1 sin1sincoscoscos ???+= TRRyRxnn LLLLLx ststs LLy R y R xnn tt cossin +?= 从而在光照坐标系中表面法向量的歪斜角表示为 LLLLL LL x y Tyx yx nn nn sstss st sin)sincos(cossin cossin 2 1 ?+? +?= (5.17) 即 x y x y nn nn II II = ,因此 ?? ? ? ??? ? x y II IIarctan 为光照坐标系中表面法向量的歪斜角。 [证毕 ] 定理 5.2 令 P,Q为表面上的两个点,当且仅当在光照坐标系中 P,Q之表面法向量相同时, P,Q 在图象中具有相同的梯度方向。 证明:令 ),( PyPx II 和 ),( QyQx II 分别是 V-平面中与 P,Q点对应的梯度方向,由于它们相 同,则 Rc ∈? ,使得 ),(),( QyQxPyPx IIcII = 。由定理 5.1可得 ),(),( QyQxPyPx IIIIcIIII = ,从而必 要性得证。 由于在光照坐标系中 P,Q 两点的表面法向量相同,由定理 5.1 有 ??? ? ??? ?= ??? ? ??? ? Q x Q y P x P y II II II II arctanarctan ,即 Q x Q y P x P y II II II II = ,从而 Q x Q y P x P y nn nn nn nn = ,充分性得证。 [证毕 ] 从上面的讨论中可以知道在已知光照方向 L的条件下,采用下列步骤计算歪斜角: 1. 计算梯度 ),( YX II ; 2. 由定理 5.1计算 ),( YX IIII ; 3. 由上述量得到在光照坐标系中的歪斜角; 4. 利用坐标变换关系得到在视点坐标下的歪斜角。 由此可以得到光照坐标系中表面方向的歪斜角。若已知光照方向 L,则可通过坐标 变换得到图象坐标系中表面方向的歪斜角。 光照坐标系中倾斜角的估计 考虑图象的辐照度方程 I N L= ?ρ ,在光照坐标系中表面倾斜角是 N L? 的余弦。一 种估计倾斜角的方法是假定表面反射是均匀的,表面小块上的某个点正对着光照方 向,在球状点假设下,可得正对光照方向的最亮点的辐照度为 r ,因此,其它各点 的辐照度为 N L? 除以 r 。 另一种估计 N L? 的方法是基于对 r 的局部估计。在这种方法中,由 r/I 计算 cosσ,从而得到倾斜角 σ。 设 Q、 R分别为在点 P的梯度方向上 P的邻点和在梯度相反方向上 P的邻点。令 srr cos=?= LNI PP (5.18) )cos( 1?+=?= srr LNI QQ )cos( 2??=?= srr LNI RR 其中 ? ?1 2, 分别为小的正值。如果假定 ?≈?≈? 21 ,则有 )sinsincos(cos)cos( ???=?+= ssrsrQI (5.19) )sinsincos(cos)cos( ?+?=??= ssrsrRI (5.20) 故 ?=+ coscos2 srQR II ?=? sinsin2 srQR II 从而 P QR I II 2cos +=? (5.21) 又由于 2 2 222 sin2)cos()sin( P QR III +? ? ?? ? ? ? ?=+= srsrr (5.22) 由此可以得到 ρ的估计,从而得到倾斜角 σ。 光照方向的估计 设光照方向为 L l l l= ( , , )1 2 3 ,表面上点的倾斜角和歪斜角分别为 σ和 τ,则于定理 5.1的推导过程有 ? ? ? ? ? ?+?= ?+?= ? ? )cossinsin( )coscossin( 2 1 2 1 TyRI TxRI LLLy LLLx stsr stsr (5.23) 由光照坐标系的定义,并考虑 到 ′Z 为光照方向 L,有 ?? ??? = = = t ts ts cos sinsin cossin 3 2 1 l l l LL LL (5.24) 从而 ?? ?? ? +?= +?= )sintan( )costan( 32 31 tsr tsr llRI llRI y x (5.25) 定理 5.3 设光照方向的歪斜角为 τL ,则 )( )(arctan x y L IE IE=t (5.26) 其中 E为对整个图象区域的数学期望。 证明:考虑 xI 和 yI 的数学期望有 , 1 2 0 2031 3131 2 2sincostan )cos(tan)]costan([)( lRddlRlR ElRlRllREIE x rts p stsrr tsrrtsr p p ?=∫ ∫+?= +?=+?= (5.27) 2 2 0 2032 3232 2 2sinsintan )sin(tan)]sintan([)( lRddlRlR ElRlRllREIE y rts p stsrr tsrrtsr p p ?=∫ ∫+?= +?=+?= (5.28) 从而有 , )( )(tan 1 2 x y L IE IE l l ==t 因此 , )( )(arctan x y L IE IE=t (5.29) 定理 5.4 设光照方向的倾斜角为 σ,则 σ满足以下条件 E I L L L L L ( ) ( cos cos sin )( cos )= ? ++ρ pi σ σ σ σσ2 1 (5.30) E I L( ) ( cos )2 2 3 1= + ρ σ (5.31) 其中, E 为对所有与光照方向具有相同歪斜角的点的数学期望。 证明:不失一般性,假定光照方向的歪斜角为 0。考虑与光照方向具有相同歪斜 角的表面法向量的高斯球截面,如图 5.5所示。 由阴影成像模型,物体上的可视点仅为图 5.5 所示高斯球截面的非阴影部分,从而可视点 倾斜角的变化范围为 ]2,2[ psp L+? 。考虑到可 视部分所占的面积以及所有点的歪斜角固定 (与光照方向相同)这一情况,此时倾斜角 的采样分布密度为 L L d s s ss s p sp cos1 cos cos cos 2 2 +=∫ +? 图 5.5 高斯球截面 L p /2 s L ?pi/ 2 光线方向 对于所有与光照方向具有相同歪斜角的可视点有 )cos( LI ssr ?= (5.32) 从而 )cos1(2 )sincoscos( cos1 cos)cos()][cos()( 2 2 L LLLL L LL L dEIE s ssssprsssssrssr p sp + +?=∫ +??=?= +? )cos1(3cos1 cos)(cos)]([cos)( 2 2 2 2222 L L LL L dEIE srsssssrssr p sp +=∫ +??=?= +? [ 证毕 ] 定理 5.5 设 σ L是光照方向的倾斜角,则 σ L 满足以下条件: )cos1(3 )coscos(sin4)( L LLLLIE s spsssr + +?= (5.33) 其中, E 为对所有与光照方向具有相同歪斜角的点的数学期望。 通过定理 5.3?5.5的讨论,可以获得光照方向的倾斜角 Ls 和歪斜角 Lt ,由此,根据 定理 5.2可以得到表面方向的歪斜角 τ。又由 (2)中的讨论可得倾斜角 σ,从而由 ),( ts , 可实现表面方向的恢复。 5.2 从纹理恢复三维形状 由纹理恢复三维信息的过程决定于以下一些因素: V表面的梯度 V视线与图象平面之间的夹角 V观察点与表面间的距离。 表 5.1 由纹理恢复三维信息的方法分类 表面线索 表面 类型 原始纹 理 投影 类型 分析类别 分析单元 单元 属性 Ohta法 纹理梯度 平面 未知 透视 结构的 区域 面积 Aloimonos法 纹理梯度 平面 均匀密 度 透视 统计的 , 结构的 边界基 元 , 区域 密度 Bajcsy法 纹理梯度 平面 未知 透视 统计的 波形 长度 Nakatani法 收敛线 平面 平行线 透视 统计的 边界基元 朝向 Kender法 收敛线 平面 平行线 透视 统计的 边界基元 朝向 Ikeuchi法 正规化纹 理属性图 曲面 未知 球面 结构的 区域 轴向 Kender法 正规化纹 理属性图 平面 未知 正交 结构的 线形 长度 Witkin法 形变 曲面 均质 正交 统计的 边界基元 朝向 Walker法 形变 平面 未知 正交 结构的 区域 形状 5.2.1 基于纹理梯度的方法 Ohta方法 [Ohta 81] 假定物体表面为平面,通过图象中纹 理基元面积的变化率来估计表面的朝 向。 设纹理基元位于平面 cqYpXZ ++= 上, 基元重心被映射到图象平面 Z = 1 的 ),( yx 点处,若基元重心的 z 坐标为 d,则由 平面方程和透视变换关系可得: qypx cd ??= 1 (5.34) 假设平面上每一基元的尺寸比较小,则透视变换过程可用如下两步变换代替: (1)把纹理基元映射到经过基元重心 G 且与图象平面平行的一个平面 W 上,如图 5.6 所示,投影方向与重心投影线 OG 平行,即 ?? ? ? ? ?? ? ? ? ′′ ′′ ′′ = ?? ? ? ? ?? ? ? ? ′ ′ ′ Z Y X T Z Y X 1 。利用投影关系有: ? ? ? ? ? ? ? ? ? ? ? ? ++ +?? ++ +?? += 1 1 1 )(1 1 1 22 2 22 21 qp qYppY qp XpqpX pT (5.35) 0 O Y 1 图 象 面 ( , ,1 )x y Z G X Y Z d W 纹 理 基 元 ( )表 面 平 面 ( , , ) 图 5.6 Ohta方法的几何模型 (2)将平面 W 上的图象经透视变换投影到图象平面上,这一变换仅是一个缩小比例 变换 T2 ? ? ? ? ? ? ? ? ? ? = d dT 10 01 2 (5.36) 对应平面的方向梯度 ),( qp 的消失线方程为 01 =++ qypx ,若得到了消失线,则可 得到平面的方向。 设 S*是物体平面上基元的面积, S 是基元在图象上的影射面积,则有: 1 11 1 1 1 )(1 )1( 1)det( 222 22 2 22 2212* ++ ???= ++ +?? ++ +?? +== qp qypx d qp qyppy qp xpqpx pdTTS S (5.37) 由式 (5.34)有 , 1 1 223* ++?= qp c dS S (5.38) 即图象中纹理基元的面积与到基元重心的距离的立方成反比。 令 S S1 2, 是二个纹理基元的面积, f f1 2, 是沿通过两基元重心的连线方向由基元重心到 消失线的距离,如图 5.7 所示,则有 3 2 3 1 2 1 2 1 S S d d f f == (5.39) 由于 S S1 2, 和 f f2 1? 在图象中均已 知,因此利用式 (5.39)可求出 f1 和 f2,从而可以得到一个消失点。 利用消失点拟合出一条消失线 01 =++ qypx ,从而获得物体表 面梯度 ),( qp 。 S 消 失 点 消 失 线f1 f2 2 S1 消 失 点 图 5.7由纹理基元对形 成的消失点和消失线 Aloimonos方法 [Aloimonos 85] 根据图象中纹理基元或边界基元的密度变化率并基于均匀密度假设来估计物体表 面方向。 同样假设物体表面为平面,其几何模型与 Ohta 方法类似 (见图 5.7)。设 S* 是表面 上一个区域的面积, S 是该区域在图象中的投影面积,则由 Ohta 方法中的式 (5.34) 和 (5.38)有 , SS l=* (5.40) 其中 , 3 222 )1( 1 qypx qpc ?? ++=l 这里, ),( yx 是图象中区域的重心。 由均匀密度假设,若 S1 * 和 S2 * 是表面上的任意二个区域的面积,它们分别包含了 K1 和K 2个纹理基元 (或边界基元),则有: * 2 2 * 1 1 S K S K = (5.41) 将式 (5.40)代入式 (5.41)可得 22 2 11 1 S K S K ll = (5.42) 其中 3 11 222 1 )1( 1 qypx qpc ?? ++=l 3 22 222 2 )1( 1 qypx qpc ?? ++=l 这里, ),( 11 yx 和 ),( 22 yx 分别是图象中两个区的重心。由此得 , 13 21 12 123 21 12 123 21 12 ?=?? ? ? ??? ? ?+ ??? ? ??? ? ? SK SKqyy SK SKpxx SK SK 上述方程表示了 p-q 空间中的一条直线。图象中的任意二个区都将 ),( qp 限 制在梯度空间中的一条直线上 ,由给定两对或多对区所限定的直线的交点坐 标 ),( qp 可得到表面梯度。 5.2.2 基于收敛线的方法 收敛线是归结于消失点的射线。由于收敛线决定了图象中的消失点,因 此可以假定它们在三维空间是平行的。在透视图象中收敛线约束了平面的方 向。 Nakatani方法 [Nakatani 80] 利用 Hough变换和逆 Hough变换来得到图象中的一组收敛线。 其主要过程如下: (1)边界检测。在图象的每一点 ( , )x y 处检测方向角为 θ 的边界基元,对弱 边界基元进行抑制处理; (2)Hough变换。把边界基元映射到 ρ-θ参数空间。在 x-y空间表征的直线方 程在 ρ-θ空间中具有形式 qqr sincos yx += , x-y空间中位于同一直线上的边 界基元在 ρ-θ空间中其数值得以累积。在 ρ-θ空间中边界基元的一个较大的累 积值表示存在一条较长的直线; (3)逆 Hough变换。把 ρ-θ空间中的数值映射回 x-y空间所对应直线的所有点 上,且递增每一点的值; (4)提取消失点。定义 x-y空间中具有最大数值的点为消失点; (5)由连接消失点所得到的直线确定表面方向。 Kender方法 [Kender 79a] 这种方法通过图象中多于二组的收敛线来估计消失线。 (1)在图象的每一点 ( , )x y 处检测方向角为 θ的边界基元; (2)把边界基元表征为直线 qqr sincos yx += ; (3)把直线转换成 p-q空间中的一个点 T; )sin,cos(),( qrqr ffqpT == 其中 f为焦距。当我们对图象中收敛于一点的一组直线进行转换 时,转换后的点在 p-q空间中位于一条直线上; (4)利用 Hough变换在 p-q空间中进行直线检测; (5)直线的交点即为表面梯度。 5.3 融合阴影与纹理的立体视觉 同时利用多种线索来解决景物的三维描述问题。使问题得以简化,提高视觉 处理结果的准确性。 5.3.1 光度立体技术 通过获得同一视点在不同光照方向下的多幅图象来计算表面方向。假定有三个 光源方向 S S1 2, 和 S3 ,由 Si 分别获得的同一景物视点的图象分别为 I x y ii ( , ), , ,= 1 2 3 ,表面 法向量为 N,则由辐照度方程有 3,2,11),cos(),( =?= ii SNyxI r (5. 45) 写成矩阵形式有 MNV ?= r (5.46) 其中 ( )T SSSM 321= , ( )TyxIyxIyxIV ),(),(),( 321= 从而有 VMN 11 ?= r (5.47) 当 N为单位向量时,还可得 VM 1?=r ,从而由给定光源方向 iS 和所获图象 ),( yxIi 可计算表面法向量 N。 与体视方法相比,光度立体技术避免了图象间的配准问题,因此在光源可控制 环境下是一种恢复物体表面方向的良好方法。 5.3.2 纹理立体技术 通过同时获取景物的两幅图象来估计各种纹理表面的方向 。 如图 5.8所示,在与表面平行的直线方向上,纹理规则反映在图象中 保持不变,这条与表面平行的直线称为特征线,它与纹理梯度方向是正交 的,在图象中与 x轴按逆时针方向所成的夹角称为特征角。设表面法向量( ) T zyx NNNN = ,则由二个成像所得到的特征线可以决定 N )sincos(sin 2232131 ?+??= aaxN )sincos(cos 2232131 ?+???= aayN )sincos(sin)sincos(cos 22121112222211 ?+????+??= aaaazN 其中 ?1和 ?2分别为二个成象的特征角, αij 是联系两个成像坐标系之 间的方向余弦。由此可以看出,表面法向量的各分量决定于两幅图象中纹 理区域的特征角,而特征角可通过比较纹理区域的傅里叶能量谱而得到。 特 征 线 纹 理 梯 度 方 向 x y 图 5.8纹理表面的特征线