第九章明暗分析Chapter9ShadingAnalysisComputerVisionDepartmentofComputerScience@BIT成像物理学(ImagingPhysics)•描述光在物体表面的反射物理特性,即光从光源到达物体表面,再从物体表面反射到图象平面,形成图像的过程和行为.•成像几何确定场景点在图像平面上的位置,成像物理学确定场景点在图象平面上的亮度.ComputerVisionDepartmentofComputerScience@BIT形状恢复(ShapeRecovery)•基于成像物理学,从二维图象中估计形状的三维信息,属于从X恢复形状的技术(shapefromX).•从明暗恢复形状(shapefromshading):根据一幅图像中的亮度变化来恢复形状•光度立体(photometricstereo)根据同一场景的多幅图像来恢复形状,其中不同图像对应不同的光源.ComputerVisionDepartmentofComputerScience@BIT9.1成像物理学•成像三要素:光源、物体、图像平面•两个过程:光源发射光到物体表面(照明)物体表面反射光到图象平面(反射)ComputerVisionDepartmentofComputerScience@BIT表面方向半球(HemisphereofDirections)•物体表面接受(反射)光线的全部方向可以用一个方向半球表示.其接受(反射)的全部光能可以通过半球上各个小片的能量之和来获得(积分思想).•立体角(solidangle)单位半球上小片的面积,也表示接受(反射)能量的方向.iiidddφθθωsin=ComputerVisionDepartmentofComputerScience@BIT透视缩小(foreshortening)•表面片接受(反射)光能的有效面积与该表面片和光源(图象平面)的角度有关.以光源为例,从光源的角度看,一个倾斜于光线传播方向的表面片“看起来”比实际小.一个发生透视缩小效应的大表面片与一个小表面片接受的光能是相同的.φθθθωθddddAsincoscos==透视缩小因子ComputerVisionDepartmentofComputerScience@BIT辐照度与辐射度•辐射度(radiance):单位面积辐射表面在单位时间内向某一方向辐射的能量;•辐照度(irradiance):到达单位面积表面的辐射能量.•光源只有辐射,图像平面只有辐照,物体既有辐照,也有辐射.ComputerVisionDepartmentofComputerScience@BIT双向反射分布函数•中心问题物体表面接受光能(辐照度)和反射光能(辐射度)的关系.与接受和反射光能的角度,以及表面材料有关.用双向反射分布函数(bidirectionalreflectancedistributionfunction,BRDF)建模.ComputerVisionDepartmentofComputerScience@BIT双向反射分布函数•到达表面的辐照度与所引起的辐射度的比例辐射度BRDF辐照度ωθφθθθφθφθθθφθφθdLfLfLiiisrrriiiiirriirrrcos),(),,,(),(),,,(),(,X,X,X,==ComputerVisionDepartmentofComputerScience@BIT表面的辐射度与辐照度•表面片接受的总辐照度:•表面片的辐射度:所有辐照在相应方向上形成的辐射度之和()∫∫=ππφθθθφθ202/0,sincos),(iiiiiisriddLLX,X∫∫=ππφθθθφθφθφθφθ202/0,sincos),(),,,(),(iiiiiisrrriirrrddLfLX,X,ComputerVisionDepartmentofComputerScience@BIT反射率(reflectance)•从某一方向上接受的辐照度与该辐照度引起的总辐射度的关系,反映了表面的光学特性,包括反射特性和吸光特性,取值[0,1].()()()()()()∫∫∫∫∫∫=⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧==rrrriirriiiisrrrriiiisrrrrrrridfddXLXLdXLdXLωθφθφθωθωθφθφθωθφθωθφθφθρcos,,,coscos,,,,cos,,cos,,,,,ComputerVisionDepartmentofComputerScience@BIT图象平面的辐照度•图像平面上一点处的辐照度(亮度,intensity)与场景对应点在相应方向上的辐射度相等或成比例,通常认为相等.()()rrrrrrLyxIkLyxIφθφθ,),(,,),(X,X,=′′=′′•知道了光源、双向反射分布函数(BRDF)以及图像平面点与物体点的对应关系,就可以确定图象平面上点的亮度.ComputerVisionDepartmentofComputerScience@BIT9.1.1表面模型(SurfaceModels)•Lambertian表面(漫反射表面,diffusesurface)表面反射与反射角度无关,从物体的各个方向看同一个表面点,都感觉具有同样的亮度.双向反射分布函数是一个常数.λφθφθ=),,,(rriif例子:棉衣、地毯、无光泽的纸和涂料等等ComputerVisionDepartmentofComputerScience@BITLambertian表面的反照率(Albedo)•Lambertian表面的反射率与入射角度无关,称为漫反射率(diffusereflectance)或反照率:()πρλπλφθθθλωθλωθφθφθρdrrrrrrrrrriidddddf=⇒====∫∫∫∫∫∫sincoscoscos,,,ComputerVisionDepartmentofComputerScience@BITLambertian表面的辐射度•累加来自所有方向上的辐照度所引起的辐射度,获得Lambertian表面上一点处向各个方向产生的辐射度:()()∫∫∫∫===XXXXidiiiiiisrdiiiiiisrrriirrrLddLddLfLπρφθθθφθπρφθθθφθφθφθφθsincos),,(sincos),,(),,,(,,,,ComputerVisionDepartmentofComputerScience@BITLambertian表面的辐射度•表面辐射度与光源和辐照角度有关,不同的表面点可能具有相同的或不同的感觉亮度.•均匀照明sriisrLL,,),,(=φθX()srdiiiisrdiiiiiisrrriirrrLddLddLfL,,02/0202/0,sincossincos),,(),,,(,,ρφθθθπρφθθθφθφθφθφθππππ===∫∫∫∫XX物体表面各个部分的感觉亮度是一致的ComputerVisionDepartmentofComputerScience@BIT镜面(SpecularSurfaces)•理想镜面像理想的镜子一样,按一定方向反射入射光.反射角与入射角相等,但分别位于表面片法线的两侧.()iiirirsrriifθθπφφδθθδρφθφθcossin)()(),,,(−−−=X()),,(),,(,πφθρφθ−=rrsrsrrrLLXXXComputerVisionDepartmentofComputerScience@BIT镜面•理想镜面很少,实际需考虑围绕镜面反射方向的方向瓣,称为镜面瓣(specularlobe).ComputerVisionDepartmentofComputerScience@BIT镜面•Phong镜面模型:辐射度与成比例()()srnnθθδθ−=coscos()()rsnssrsrrrLLθθφθρφθ−=cos),,(),,(XXX•Torrance-Sparrow镜面模型:假设表面是由方向随机分布的镜面小面(facets)组成.ComputerVisionDepartmentofComputerScience@BITLamertian表面+镜面模型•完美的Lamertian表面或镜面都是很少见的,通常将两种表面的特性组合在一起来构成用于近似物体表面反射特性的模型.η常量控制两种反射特性的混合程度,根据具体问题选择.比如光滑的物体,其镜面成分应多于无光泽的物体.()()iiirirsdrriifφφπφφδθθδρηπρηφθφθcossin)()()1(),,,(−−−−+=XXComputerVisionDepartmentofComputerScience@BIT9.1.2光源(lightSources)•三种主要的光源模型:1.点光源(pointsources)2.线光源(linesources)3.面光源(areasources)ComputerVisionDepartmentofComputerScience@BIT点光源•点光源是一种最常用的光源,可以用一个球面来建模.ComputerVisionDepartmentofComputerScience@BITLambertian余弦定律由点光源照射的Lambertian表面的感觉亮度随表面法线与光源的夹角发生变化.想象一个房间,其中只有一个打开的灯泡和一个白色球体,则球体中法线指向灯泡的地方将是最亮的。()()()()()()()()XSXNXXSXNXXX⋅=′⋅==ρρθρsrdsrdrLLL,,cos表面法线与光源的夹角单位法线矢量与单位光源矢量ComputerVisionDepartmentofComputerScience@BIT线光源•线光源具有直线的几何形态,比如一根荧光灯管.可以用细圆柱体来建模.•很少采用ComputerVisionDepartmentofComputerScience@BIT面光源•面光源可以建模为平面片.•面光源在Lambertian表面上引起的辐射度可以变换为在光源平面上的积分:光源表面片()()()()()UUXXXXdArLdLLsisrdisrdr2,,coscoscosπθθρωθρ∫∫∫∫==ComputerVisionDepartmentofComputerScience@BIT9.1.3明暗模型(ShadingModels)•局部明暗模型(localshadingmodels)仅考虑光源的照射效果•全局明暗模型(globalshadingmodels)考虑场景内物体反射光所造成的影响环境光照(ambientillumination)不同表面片之间的相互影响互反射(interreflection)不同表面片,不同物体之间的相互影响ComputerVisionDepartmentofComputerScience@BIT环境光照•同一表面上一个表面片所产生的辐射度受其他表面片辐射度的影响.•当表面片从其他表面片所接受的辐照度近似恒定或均匀分布时,可以考虑在每个表面片所产生的辐射度上增加一个环境光照项(ambientilluminationterm).•两种增加方法1.常量项(表面片可见范围一致)2.可变项(表面片可见范围不同)ComputerVisionDepartmentofComputerScience@BIT常量项可变项ComputerVisionDepartmentofComputerScience@BIT互反射•表面片的辐射度受场景中所有该表面片可见的其他表面片辐射度的影响.()()(),,XXXpatchsrsrrLLL+=光源引起的辐射其他表面片引起的辐射•可将其他表面片看作一个面光源()()()()()()()()UUUX,UXXUXXXdAKL,pdArL,pLiipripatchidsipripatchidpatchsr,2,,visiblecoscosvisible∫∫∫∫==ρπθθρ变换为面光源上的积分ComputerVisionDepar