首页 > 其他分享 >物体反射光场BRDF模型

物体反射光场BRDF模型

时间:2023-06-12 14:48:07浏览次数:50  
标签:反射 反射光 模型 BRDF 方向 vec 表面 物体

一、基本概述

     双向反射分布函数(Bidirectional Reflectance Distribution Function,BRDF)是用来定义给定入射方向上的辐射照度如何影响给定出射方向上的辐射率。更笼统地说,它描述了入射光线经过某个表面反射后如何在各个出射方向上分布这可以是从理想镜面反射到漫反射、各向同性或者各向异性的各种反射。

二、原理分析

I. 文章分析

1. 《A Data-Driven Reflectance Model》@Reference[1]

    

     本文主要介绍了一种基于数据驱动形的BRDF模型,文章介绍了一种基于 矫正相机+旋转平台+稳定可见光光源+不同材质圆球对象 的实验装置,描述了标准的反射光束模型,完成入射反射光束的采集之后,确定了BRDF数据集的表征方法,通过对数据的线性、非线性、PCA主成分 分析方法,确定了BRDF数据需求表征的向量维度和具体参数;接着通过非线性方法对上述表征过程进行将维,得到了在10D条件的误差为可接受范围;并基于此建立了渲染重建模型。

2. 《BRDF LABORATORY MEASUREMENTS USING A CAMERA-AIDED SPECTRORADIOMETER》

    

     本文主要介绍了一种附加可见光RGB相机的BRDF数据采集装置,采用了20nm~2000nm全波段的光谱测量仪器获取光通量数据,使用钨丝卤素光源进行照明,通过增加的 RGB Camera 建立了 SFM 模型,通过此模型从而解算出具体的观测采集点的位姿,从而大大降低了BRDF采集设备的硬件成本,文章对 SFM 模型重建后的位姿进行了实际测试对比,能够有效控制角度精度在1°以内,长度精度在6cm以内;文中对三种样品进行了测试对比,获得了较为良好的 BRDF 实验数据。

3. 《Automated three-axis gonioreflectometer for computer graphics applications》

    

     本文主要介绍了一种BRDF数据采集装置,通过光束控制镜头及极化控制,输出了确定大小的入射光源,通过自动电控的旋转手臂调节入射光角度,样品安装在一个二维调节的的实验平台上,从而采集不同角度的图像,光源采集部分使用了光谱采集设备;软件代码实现了采集的全自动控制,包括参考光源的自矫正等,最后通过采集了两种材料评估了设备的基本性能能够满足BRDF采集需求,验证方向主要包括了能量守恒原理,互换定律。

II. 理论分析@Reference[2]

BRDF理论光学入射出射光场模型如下:

BRDF的精确定义是出射辐射率的微分(differential outgoing radiance)和入射辐照度的微分(differential incoming irradiance)之比:

\[f(l,v)=\frac{dL_{0}(v)}{dE(l)} \]

参数解析如下:

  • 其中 \(l\) 为入射光方向, \(v\) 为出射光方向,也是观察方向。
  • \(dL_{0}(v)\) 表示物体表面反射到 \(v\) 方向上的微分辐射出度,单位为 \(W·m^{−2}·sr^{−1}\),而 \(L_{0}(v)\) 计算了物体整个表面在观测点位置处的贡献总和。
  • \(dE(l)\) 表示物体表面入射 \(l\) 方向上的光束微分辐射照度,单位为 \(W·m^{−2}\),而 \(E(l)\) 计算了物体整个表面入射光束的广场分布。

关于为什么是 辐射率(Radiance)/辐照度(Irradiance)之比,参考这里:

因为照射到入射点的不同方向的光,都可能从指定的反射方向出射,所以当考虑入射时,需要对面积进行积分。而辐照度irradiance正好表示单位时间内到达单位面积的辐射通量。所以BRDF函数,选取入射时的辐照度Irradiance,和出射时的辐射率Radiance,可以简单明了地描述出入射光线经过某个表面反射后如何在各个出射方向上分布。而直观来说,BRDF的值给定了入射方向和出射方向能量的相对量。引用

根据上述描述,可以确定离散有限元的BRDF着色方程如下:

\[L_o(V)=\sum_{k=1}^nf(l_{k},v)\bigotimes E_{l_{k}} \]

标签:反射,反射光,模型,BRDF,方向,vec,表面,物体
From: https://www.cnblogs.com/uestc-mm/p/17460203.html

相关文章

  • threejs-css2dObject操作之物体遮挡标签后应该隐藏,而不是出现透视效果
    先看coding之前的效果: 这些在背面的标签的,转到一定角度,被模型遮挡后,理论上就不应该被看到。这才是比较符合实际的coding之后(另一侧对称点就被隐藏): 具体代码(j借助于光线投影)://绑定鼠标事件,当用户移动视角后触发()functionbindRayShotEvent(){document.addEvent......
  • Godot 4.0 遮罩一个2D物体,使其部分显示
    本文针对Godot4.0。我也查到了Godot3.5如何实现遮罩,见这个链接https://ask.godotengine.org/3031/how-do-i-mask-a-sprite由于查到的大部分教程均针对3.5版本,特此提供4.0版本的教程。CanvasItem的遮罩功能Godot4.0的遮罩不是一个单独的节点,这个功能被包含在了一个常见的......
  • 【计算机视觉】---OpenCV实现物体追踪
    简介OpenCV中的物体追踪算法基于视觉目标跟踪的原理。物体追踪的目标是在连续的图像序列中定位和跟踪特定物体的位置。目标表示在物体追踪中,我们需要对目标对象进行表示。通常使用边界框(boundingbox)来表示目标的位置和大小。边界框是一个矩形区域,由左上角的坐标(x,y)和宽度(w)以及高度(h......
  • 游戏物体
    游戏物体1.物体的标签和层级标签可以方便查找物体。层级可以运用在一些操作上,比如Camera中Inspector中的CullingMask上,可以通过勾选掉一些层级来屏蔽显示一些物体2.摄像机组件Camera>Projection下的persepective表示透视,透视模式下可以通过Fieldinview调镜头的角度;另一个O......
  • 物体组件
    物体组件1.组件的基本操作代码类名后面跟的MonoBehaviour使脚本能够挂到物体的组件中。组件在Inspector视图中,可以通过最下面的AddComponent添加组件,通过组件点击组件名左边的勾选符号打开或关闭组件,通过组件名右边的三个点下面的RemoveComponent移除组件。2.通过脚本操作组......
  • 基于双目图像三维建模算法的测量目标物体体积计算matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要         双目立体视觉(BinocularStereoVision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三......
  • DX12 实现 模板——物体轮廓
    前言本篇将展示如何运用深度模板缓冲区来实现游戏中的物体轮廓效果源代码model_outline基础知识模板测试过程//compare_func:定义的比较函数。对两个参数进行比较//StencilRef:模板参考值//StencilReadMask:位于D3D12_DEPTH_STENCIL_DESC//Value:正在接受模板测试的值if......
  • 动态物体追踪
    动态物体追踪闲话我个人是比较喜欢捣鼓一些程序设计,算法之类的。但毕竟是人工智能专业的,电子类大赛也必须去打,起初是导师让我来打这个比赛,后面发现还是很有挑战,很有意思的。一开始我对全国大学生电子设计大赛真的一点不懂,之前也没了解过。后来听导师说,我们团队做的都是些控制类......
  • 使用Python实现基于图像的物体识别技术
    摘要:物体识别是计算机视觉技术中的一个核心问题,其应用涵盖了许多领域。本文将介绍如何使用Python编写一个简单的基于图像的物体识别程序,并且通过实际案例展示其应用。关键词:Python,物体识别,计算机视觉,OpenCV一、需求分析在使用Python实现物体识别技术之前,我们需要了解应用的具体需求......
  • iOS MachineLearning 系列(4)—— 静态图像分析之物体识别与分类
    iOSMachineLearning系列(4)——静态图像分析之物体识别与分类本系列的前几篇文件,详细了介绍了Vision框架中关于静态图片区域识别的内容。本篇文章,我们将着重介绍静态图片中物体的识别与分类。物体识别和分类也是MachineLearning领域重要的应用。通过大量的图片数据进行训练后,模型......