3D【7】人脸重建:Hands on Shape from Shading阅读笔记

Shape from Shading(sfs)是一个很基础也很经典的3D重建方法。其基本原理是利用灰度图片的亮度信息,加上亮度生成原理,求得每个像素在3D空间中的法向量,最终根据法向量求得深度信息。
看了不少相关的文章,感觉这篇论文讲的最好懂,里面还有相应的matlab代码。所以想学sfs的同学,可以去看这篇论文。

问题描述

一张灰度图的亮度信息由4个因素决定:
1、光照:主要是方向,位置和光的能量分布
2、物体的表面反射率:在sfs中就是albedo,决定了入射光在物体表面上如何被反射出去,一般由物体表面的材质决定。
3、物体表面的几何性状:这个是在给定灰度图片时,我们要求的。
4、相机:主要是其内部参数和外部参数

在给定一个3D模型,通过光照以及物体的反射率,我们可以模拟相机渲染出一张2D图片。而sfs刚好是这个过程的逆向:一定一张图片,光照以及模型的表面反射率,我们需要求出物体的3D结构。

术语

法向量

这里写图片描述
如图所示曲面的法向量是垂直于曲面的一个向量。法向量与光照共同决定了图片亮度的生成。
曲面上的某一点(x,y,z)的单位法向量 n=(nx,ny,nz) n = ( n x , n y , n z ) ,有两种表示方法。一种是用偏角 τn τ n 和倾角 σn σ n 表示。

n=(nx,ny,nz)=[sinσncosσn,sinσnsinτn,cosσn]T n = ( n x , n y , n z ) = [ sin ⁡ σ n cos ⁡ σ n , sin ⁡ σ n sin ⁡ τ n , cos ⁡ σ n ] T

其中, τn=tan1(n
  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Shape from shading 是一种计算机视觉的方法,通过解析图像中的阴影来重建物体的几何形状。 Shape from shading 代码可以分为几个主要步骤: 1. 图像预处理:首先,需要对输入图像进行预处理。可以使用常见的图像处理技术如灰度化、平滑滤波等将彩色图像转换为灰度图像,并降噪以提高重建结果的质量。 2. 光照估计:在图像中的每个像素点,需要估计它受到的光照条件。可以使用反射模型和阴影信息综合计算每个像素点的光照值。常见的方法有球面哈尔蜂巢反射模型等。 3. 阴影分析:通过分析图像中的阴影信息,可以得到物体表面的几何形状信息。可以使用梯度信息和光照估计结果来计算每个像素点的法向量。 4. 定义反射模型:通过用倒置的光照向量和法向量进行内积计算表面倾斜方向的灰度,从而进一步估计局部高度图。 5. 优化求解:在前面的步骤中得到了局部高度图的估计,需要进行全局的求解优化以得到整个物体的几何形状。可以使用最小二乘法或其他优化算法进行求解。 6. 重建结果展示:最后,根据优化求解得到的几何形状信息,可以进行可视化展示,如渲染成三维模型。 需要注意的是,Shape from shading 方法是一种近似方法,对光照条件和阴影信息要求较高,同时也对输入图像的质量有一定要求。在实践中需要根据具体情况进行参数调整和优化,以得到更好的重建结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值