读 NeRF 论文
读 NeRF 论文摘要:之前是只听说过,然后简单了解了机理,没真正读过NeRF。这次来读一下,就是先翻译,然后记下来。肯定有疏漏,或许有不对的地方,不过对我够用了。我把直接翻译出来的用黑体表示, 把和具体实现相关的用斜体表示,我能看懂的拿我理解的话说出来。
NeRF全程叫 Representing Scences as Neural Radiance Fields for View Synthesis。字面意思大概是:对于视角合成问题,将场景描述为神经辐射场。
就是说,发明了一种方法,具体就是说,用一系列稀疏的视图集合,还原出场景的新视图。(注意到这里说的不是还原出整个场景)。
算法使用全连接(特意强调了一下不用卷积)深度神经网络表达一个场景,输入是五维坐标,输出是“the volume density and view-dependent emitted radiance at that spatial location”,在空间位置的体积密度以及依赖于视角的发射的radiance。
如何用我们的刚才说的算法合成这个场景的新视角视图呢:论文中说的是,沿着相机射线查询5D坐标(相机位置 ...
读 Relighting Humans 论文
读 Relighting Humans 论文[TOC]
基本思想记下来。不然时间长又忘了。
首先说一下这篇论文想解决的问题:现有relight方法对于阴影遮挡这部分的无力。
之前的方法都是使用球谐函数直接照明而忽略了遮挡问题,导致一些比如说腋窝等部位异常明亮。但实际上这些部位由于大部分被自身遮挡,不应该出现过多的明亮现象。
实际上不是之前的人不想解决这个问题,而是考虑这个问题之后会使计算变得很复杂。回顾 irradiance 的方程:$$E(\textbf{n})=\int_{\Omega(\textbf{n})}L(\omega_i)V(\omega_i)max(\textbf{n}\cdot \omega_i, 0)\mathrm{d}\omega_i$$对于一个shading point,这里面,n是其单位法向量,omega指的是方向角,L就是对应角度传来的radiance,后面的点乘表示的是一个余弦衰减系数。V是visibility项,表示这个方向是否被遮挡。对于每个shading point来讲,如果不考虑V term,计算相对容易。实际上用prt加上V term, ...
计算机组成 6
Chapter Appendix Storage Networks and other peripheralsintroduction of I/O不容易度量性能并设计
Three Characters of I/O
Behavior
input
output
storage
Partner
Data rate
Throughput and Response time 吞吐量和响应时间
A.2 Disk Storage and Dependabilityfloppy disk
hard disk
platter 盘
track 轨道
sector 扇区,存储数据的最小单位
FlashMeasure Dependability
MTTF Mean time to failure 平均无故障时间
MTTR Mean time to repair 平均修复时间
MTBF=MTTF+MTTR Mean time between failure 平均故障时间间隔
Availability
$Availability=\frac ...
计算机组成 5
Chapter 5 Exploiting Memory Hierarchy
Memory Technologies (介绍存储类型)
Memory Hierarchy Introduction (层次化概念)
The basics of Cache (高速缓存介绍)
Measuring and improving cache performance (高速缓存性能提升)
Dependable Memory Hierarchy ()
Virtual Machines (虚拟机)
Virtual Memory (虚拟内存)
A common Framework for Memory Hierarchy (计算机通常层次化内存结构)
Using FSM to Control a simple Cache (用状态机控制缓存)
1. Memory TechnologiesReview:
SRAM:
use CMOS as a basic element.
N型(没有小圆圈)给1是导通状态
P型(有圆圈)给0是导通状态
vcc 接p,gnd接n,构成一个非门。
两个CMOS反相器构成1b ...
计算机组成 4
Chapter 4 Processorcomputer CPU:
control unit
data path
Outline
Introduction
Logic Design Conventions
Building a Data path
A Simple Implementation Scheme
Introduction:The Data path
The Control unit
Instruction execution of instructionFetch
take instruction from the instruction memory
modify pc to point the next instruction
Instruction decodingexecutive controlmemory accessWrite to memoryUpdate PC
HazardsStructure hazards指令在不同步骤执行的过程中访问硬件冲突
所以RISCV将指令和数据分开存储
还有一种:WB和ID之间Structure haz ...
计算机组成 3
Chapter 3 Arithmetic for Computer6 Design Ideas for Computer Organization
bit
Byte =8bit
word =32bit =4Byte
计组中,一个word就是一个指令多少
1 bit ALUAddition Subtraction
Overflow: a xor b == 0, a and b are carryout bits.
Adder: G_i=generator, P_i=propagator.
Carry Lookahead Adder (CLA)用G和P项进行同步进位,位数过大使用多级CLA结构G是自身进位因素,P是上一级进位因素
Carry Select Adder (CSA)提前算好两种进位的结果,最后根据实际结果进行选择
MultiplicationUse multiplier who use adder and shifter.
Actually: Multiplier for 64bit and 64bitOnly use 6 ...
计算机组成 2
Lecture 2 Instructions: Language of the MachineOutline
Introduction
Operations of the computer hardware (计算机硬件的操作)
Operands of the computer hardware(计算机硬件的操作数)
Signed and unsigned numbers (有符号和无符号数) 太简单跳过了
Representing instructions in the computer(计算机中指令的表示)
Logical operations(逻辑操作)
Instructions for making decision(决策指令)
Supporting procedures in computer hardware(计算机对过程的支持) (函数)
Instruction addressing (指令的寻址)
Operationdesign principle 1 Simplicity favors regularity规范化让操作更简单简单可以保证低消耗和高性能
...
计算机组成 1
Lecture 1Logical board - Composed of integrated circuits in an iPad
CPU (Processor)
data path 数据通路
control 控制通路
Flash (Memory)
Volatile
DRAM
SRAM
Nonvolatile
Solid state memory, flash memory
Magnetic disk
Power controller
I/O controller
Computer Organization
Software
Application software
System Software
Operation System (OS)
Compiler :GCC
Firmware (Driver software)
Hardware
CPU
Control unit
Data Path
path: mux
ALU
Registers
…
Memory
I/O interface
input: keyboard
Output ...
尝试使用虚幻引擎开发VIVE平台的VR“游戏”(已完结)
开个坑本来和VR没什么交集,这学期有幸能在一门课里面体验VR设备,所以也绝不能错过这次机会。
微软家的HoloLens的XR很牛逼,不过有一说一体验很差。VIVE有steam平台,结合游戏产业的话感觉开发过程中体验好一些。所以现在就,从0到未知,试试在VIVE平台开发一个简单的交互游戏,游戏引擎暂时优先选择UE。今天在blog上开一个坑记录一下学习过程,不能荒废了。at 2022/04/06
资源VR + Unreal Engine暂时找到的感觉可以不用很专业就能复现的教程:
https://www.sohu.com/a/133105190_466876
虚幻的SteamVR官方文档:
https://docs.unrealengine.com/4.27/zh-CN/SharingAndReleasing/XRDevelopment/VR/VRPlatforms/SteamVR/BestPractices/
VIVE官方文档VIVE官网上的安装地址:
https://www.vive.com/cn/setup/pc-vr/
VIVE文档:
https://devel ...
GAMES202 10 Real-time Physically-based Materials (surface models)
Lecture 10 Real-time Physically-based Materials (surface models)PBR and PBR Materials 基于物理渲染的材质PBR = Physically-Based Rendering 基于物理的渲染
任何渲染都可以是基于物理
材质、光照、相机、光线传播等等
不只是限制在材质范围内,但是指的往往是材质
在RTR中的PBR材质
RTR中使用的材质要远少于在offline中的材质
RTR中说是基于物理的,但实际上并不是基于物理
分两类,基本上和离线渲染差不多,但是更多着眼于技巧来提升速度
表面材质(微表面模型、迪士尼原则BRDFs Hyperion)
对体积(非表面模型)来说,头发、云、皮肤等,大多都是着眼于快速和近似的方法实现单散射和多次散射
这里复习了一下材质的BRDF,这里面包含:
菲涅尔项
NDF 法线分布函数,有很多类
Beckmann NDF 形式上很像高斯正态分布,各向同性的结果(也能异性),其中 $\alpha$表示粗糙程度,$\theta_h$表示入射与出射角的半矢量h与法线的夹 ...