当前位置: 首页 > news >正文

79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis

简介

主页

物理模拟可以很好地预测天气影响。神经辐射场产生SOTA场景模型。

ClimateNeRF 允许我们渲染真实的天气效果,包括雾霾、雪和洪水 ,结果可以通过有物理意义的变量来控制,比如水位 ,这允许人们可视化气候变化的结果将对他们产生什么影响

实现流程

首先,使用instant-NGP重建3D场景。重建的亮度场能够高效地合成高质量的新颖的场景视图图像。其次,有选择地微调学习的instant-ngp模型,以便它捕获所提供的样式图像的样式。这种3D一致的风格化对于难以通过物理模拟捕获的天气效应建模特别有用。第三,通过将相关的物理实体(雪、水、雾霾)集成到场景中并渲染物理上合理的图像来模拟气候事件。

3D Scene Reconstruction

在Instant-ngp这种显式的特征编码和空间划分特别适合于ClimateNeRF,因为可以相对容易地编辑局部特征。

物理模拟需要访问任意点的表面法线来计算与雪和水的交互,并且需要访问点的语义(在语义分割的意义上)来转换样式 。因此扩展NGP,允许它输出语义逻辑 s 和表面法线n,训练数据中没有语义或表面法线ground truth,这里使用现成的预训练单目语义分割网络为每张图像生成语义map,使用密度梯度来引导具有加权MSE损失的预测表面法线 n

为了模拟暴风雪,必须在场景中添加雪,并将树木变暗,但不应该改变房屋的形状,为了在程式化阶段保持空间特征的完整性,对instant-NGP的潜在特征进行了解纠缠,对于NGP模型中的每个体素,将潜在特征分为几何特征 和外观特征

几何特征被训练来渲染密度。外观特征用于渲染颜色、语义和法线。

将在程式化阶段冻结几何特征向量,只改变外观特征向量

在给定查询点和光线方向的情况下,给出密度σ、颜色c、语义对数后验s和表面法线n

Stylization

使用FastPhotoStyle从预训练的模型转移样式到渲染图像,只转移到“地形”、“植被”或“天空”区域,以模拟自然天气变化现象,只是这样的话,产生的图像看起来很逼真,但不一定与视图一致。

对学生网络 instant-NGP模型进行微调,以确保风格转换后场景的视图一致性,尽量减少学生网络渲染结果和风格转移图像之间的色差,保持几何形状完整,只改变外观来实现这一目标,所以在样式转换阶段,只有外观特征代码。被优化

Representing and Rendering Climate Effects

生成具有新的物理实体的场景,雪,水,雾霾,必须确定它们的位置(物理模拟的工作)以及生成的图像是什么样子的(渲染的工作)

渲染总是涉及到对光线查询的计算响应,因此计算u在v方向上的辐射度。必须用密度表示模拟结果,并且必须能够计算法线和表面反射率属性

物理模拟得出的密度

预测法线

预测BRD

每个都取决于现有的场景。选择可以模拟各种效果,包括雾霾的大气效应,水面的折射和反射,以及积雪的散射。

{}在不同的物理模拟中有很大差异

一旦物理实体被函数 定义,就可以通过模拟物理实体与场景之间的光传输来真实地将它们渲染到图像中

给定查询点位置x,仿真框架通过基于物理的渲染来估计x位置物理实体的密度和颜色

上式基于物理的绘制方程

通过跟踪与学习的NeRF中入射方向相反的射线 来近似入射照明

根据物理实体的表面BRDF,对积分使用分析或基于采样的解决方案。注意,可以通过采样来模拟多次反弹

遵循在两个通道中定义的体积渲染过程。对于沿着摄像机射线的每个点,查询公式4中定义的物理实体的不透明度和颜色。同时,系统还通过公式2得到原始密度和颜色

Climate Effect Details

Smog Simulation

假设烟雾是由均匀分布在真空中的微小吸收粒子形成的, 空白空间中,NeRF密度,可以通过简单地在密度上添加一个非负常数来模拟自由空间中的烟雾密度,在NeRF的高密度区域内,加上常数不会显著改变积分

是决定雾霾密度的可控参数 ,雾霾颗粒有恒定的颜色 ,颗粒颜色和密度都是可控参数

Flood Simulation

洪水场景的水面近似为一个水平面:,其中重力方向法线 通过相机姿态和消失点检测估计,平面原点决定了水的高度

基于快速傅里叶变换(FFT)的波纹和波,FFT波以随机谱系数为输入,输出一个基于风速、方向和时空频率的时空面法线,与静水相比,基于fft的水面模拟显著提高了水面的真实感,模拟不透明度和微面波纹,使水看起来有光泽,近似公式 4中的积分,采用sigma-point方法,从x处采样5条射线,包括反射方向和附近的4条射线

Snow Simulation

雪更有可能堆积在朝上的表面上,由于重力作用,雪的深处密度更大,使用以表面为中心的metaballs并以密度为中心来模拟物体表面上的密度分布,metaballs内的密度分布可以用核函数 表示,随着距离球中心距离的增加,密度平滑地减小

对于空间中的任意点x,使用parzen窗口密度估计器在N个局部最近邻上计算x的雪的密度

是一个可控的曲面截断阈值,a是一个超参数 ,这个方程表明,如果一个点接近或大于阈值,它更有可能是表面边界,使用空间变化的漫射颜色(接近于纯白色乘以场景的平均照度)来近似BRDF,并应用地下散射效果来照亮雪的阴影部分,表面法线值仍然以基于梯度的方式计算

limitations

ClimateNeRF依赖于NeRF重建的质量。不准确的几何形状导致洪水和积雪模拟不理想。

在雪模拟中不正确的地面表面导致伪影的情况。

这也显示了未来通过物理模拟自动发现几何理解错误的机会。

Conclusion

提出了一种新的NeRF编辑框架,将物理模拟应用于场景的NeRF模型。利用这个框架,建立了ClimateNeRF,使能够渲染现实的气候变化影响,包括雾霾、洪水和雪。合成的视频是真实的,一致的,物理上合理的,高度可控的。展示了ClimateNeRF在帮助提高社区对气候变化的认识和增强对不利天气条件的自驱动健壮性方面的潜力。

相关文章:

79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis

简介主页物理模拟可以很好地预测天气影响。神经辐射场产生SOTA场景模型。ClimateNeRF 允许我们渲染真实的天气效果,包括雾霾、雪和洪水 ,结果可以通过有物理意义的变量来控制,比如水位 ,这允许人们可视化气候变化的结果将对他们产…...

前端面试题(一)

目录 前言 一、css3实现布局的方式有哪些? 1.flex布局 2.grid布局 二、jquery的扩展机制? 三、jquery动画和css实现动画的本质区别? 四、不使用css的动画,如何实现盒子从左到右移动? 五、使用过的框架&#xf…...

Java基础常见面试题(七)

序列化和反序列化 Java序列化与反序列化是什么? Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程。 序列化: 序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地…...

【springmvc】报文信息转换器

HttpMessageConverter HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型: RequestBody, ResponseBody, Reques…...

3.5知识点复习

extern:表示声明。 没有内存空间。 不能提升。const:限定一个变量为只读变量。volatile:防止编译器优化代码。volatile int flg 0; register:定义一个寄存器变量。没有内存地址。register int a 10;字符串:C语言中&a…...

湖南中创教育PMP分享项目经理有哪些优势?

项目经理拥有超强的计划能力;具备大局意识;沟通能力特别强;具备更大的灵活性和反应能力以及总结汇报能力 1、超强的计划能力 项目经理几乎无时无刻都在做计划,因此也就更擅长做计划。 项目管理要抓重点,有主次地处理…...

LeetCode:27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…...

麻雀算法SSA优化LSTM长短期记忆网络实现分类算法

1、摘要 本文主要讲解:麻雀算法SSA优化LSTM长短期记忆网络实现分类算法 主要思路: 准备一份分类数据,数据介绍在第二章准备好麻雀算法SSA,要用随机数据跑起来用lstm把分类数据跑起来将lstm的超参数交给SSA去优化优化完的最优参数…...

哈希表题目:数组中的 k-diff 数对

文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:数组中的 k-diff 数对 出处:532. 数组中的 k-diff 数对 难度 4 级 题目描述 要求 给定一个整数数组 nums\texttt{nums}nums 和一个整数 k…...

SAP ERP系统PP模块计划策略2050详解

SAP/ERP系统中面向订单生产的计划策略主要有20和50两个策略,这两个策略都是面向订单生产的计划策略,也是离散制造行业应用比较广泛的策略。它们之间最大差异就是在于20策略完全是由订单驱动,而50策略是预测加订单驱动,本文主要介绍…...

TIA博途中将硬件目录更改为中文的具体方法演示

TIA博途中将硬件目录更改为中文的具体方法演示 基本步骤可参考如下: 第一步: 第二步: 具体的操作演示: 如下图所示,在所示的目录中找到zh-chs文件夹,删除或修改文件夹的名称均可,这里建议大家修改文件夹的名称,防止以后需要恢复成英文目录, 如下...

【多线程操作】线程池模拟实现

目录 一.线程池的作用 二.线程池的模拟实现 1.线程模块(Thread.hpp): 2.线程锁模块(LockGuard.hpp): 3.任务模块(Task.hpp) 4.线程池核心(ThreadPool.hpp&#xff…...

HBase---Hbase安装(单机版)

Hbase安装单机版 文章目录Hbase安装单机版Master/Slave架构安装步骤配置Hbase1.上传压缩包解压更名修改hbase-env.sh修改hbase-site.xml配置HBase环境变量配置Zookeeper复制配置文件修改zoo.cfg配置文件修改myid配置Zookeeper环境变量刷信息配置文件启动hbase步骤hbase shellMa…...

启动项管理工具Autoruns使用实验(20)

实验目的 (1)了解注册表的相关知识; (2)了解程序在开机过程中的自启动; (3)掌握Autoruns在注册表和启动项方面的功能;预备知识 注册表是windows操作系统中的一个核心数据…...

BFD单臂回声实验详解

13.1.1BFD概念 BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制,有以下两大优点: 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。 用单一的机制对任何介质、任何协议层进行实时检测。 BFD是一个简单的“Hello”协议。两个系统之间建立BFD会…...

详解JAVA类加载器

目录 1.概述 2.双亲委派 3.ServiceClassLoader 4.URLClassLoader 5.加载冲突 1.概述 概念: 类加载器(Class Loader)是Java虚拟机(JVM)的一个重要组件,负责加载Java类到内存中并使其可以被JVM执行。类…...

记录一些常用C标准库函数,以及Linux系统调用函数的作用(不断更新)

C标准库函数 perror() 函数 作用:perror函数是C标准库中的一种函数,用于在STDERR(标准错误输出流)中输出给定的错误信息字符串。它不属于Linux系统调用函数。 具体使用方法:perror("调用的函数名") 所需…...

RK3568平台开发系列讲解(显示篇)DRM的atomic接口

🚀返回专栏总目录 文章目录 一、Property二、Standard Properties三、代码案例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢目前DRM主要推荐使用的是 Atomic(原子的) 接口。 一、Property Property(属性)—– Atomic操作必须依赖的基本元素 Property把前面的…...

2022年MathorCup数学建模C题自动泊车问题解题全过程文档加程序

2022年第十二届MathorCup高校数学建模 C题 自动泊车问题 原题再现 自动泊车是自动驾驶技术中落地最多的场景之一,自动泊车指在停车场内实现汽车的自动泊车入位过程,在停车空间有限的大城市,是一个比较实用的功能,减少了驾驶员将…...

【需求响应】基于数据驱动的需求响应优化及预测研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...