20 Games101 - 笔记 - 光场、颜色与感知

**20 ** 光场、颜色与感知

光场

眼睛成像

眼睛成像:我们看到这个三维世界,在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图,也能得到同样效果(虚拟现实)。
img
img

全光函数

全光函数可以描述我们可以看到的所有事物的集合。
定义:简单来说,我们假设在一个场景中,位置固定,可以四面八方地去看,则用极坐标可以定义我们的方向,全光函数描述了向某个方向看会看到什么样的值。
img
引入波长(颜色)得到彩色事物
img
引入时间,得到电影的概念。
img
引入三维坐标,得到全息电影的概念。
img

image-20240411193502689

采样全光函数

image-20240411195604749

光场的作用:
根据摄像机的位置查询相应光线强度。
img
参数化表示的方法:通过定义一个平面上点和角度,也可以定义两个平面上的点,通过两个坐标信息来表示。
img
左平面幕布看到的 右屏幕摄像机位置
参数化表示的两种方法:

  • 一种是固定(u,v), 看所有的(s,v)组成一张图,也就是表示了从不同点看到的外部世界的样子
  • 另一种是固定(s,v),所有的(u,v)组成一张图,也就是表示了从不同方向看同一个点的样子(把一个像素的irradiance展开为radiance)

img

光场相机

光场相机最重要的功能是支持先拍照,后期再重新聚焦。
光场相机原理:把像素换成了微透镜,把光分散到不同方向上去然后再记录下来。

img

如何将光场相机拍摄出的结果还原成类似于普通相机拍摄得到的结果?
image-20240411200533716

  • 优点:“虚拟”的移动相机(取不同方向的光线,好像在移动摄像机的位置)
  • 缺点:对胶片的要求高、成本高

颜色和感知

物理基础

牛顿发现太阳光可以被棱镜分解成不同颜色,这说明白光是多种颜色的光混合出来的。

光谱:光线在不同波长上的分布。
可见光光谱:波长大约在400nm~700nm
img
谱功率密度(SPD):描述光线在不同的波长的分布。
img
谱功率密度具有线性性质。
img

生物基础

颜色的定义:颜色是人类感知的一种现象;它不是光的一种根本的属性。不同波长的光不是"颜色“。
眼睛的结构:
img

  • 瞳孔 --> 光圈

  • 晶状体 --> 透镜

  • 视网膜 --> 感知的地方

    • 视网膜上有感光细胞
    • 视杆细胞:棒状,数量多,只感知光的强度而非颜色
    • 视锥细胞:锥形,数量少,用来感知颜色
      • 视锥细胞又被分为S, M, L三种,用来感知不同波长的光
      • 不同的人这三种视锥细胞分布非常不同

色彩三色理论(Tristimulus Theory of Color)

不同视锥细胞感知的结果 就是 其光谱响应曲线与光强曲线对应位置相乘再积分起来的结果
img
人眼无法测量,大脑也无法接收有关每种光波长的信息,眼睛只能”看到”三个响应值(S,M,L)并最终由大脑接受。

同色异谱

同色异谱:两个不同的光谱,它们最终投射到相同的(S,M,L)响应值。

颜色重建与匹配

image-20240411200900226
img
同时,系数可能是负数。
img

CIR RGB

CIE是一个组织,它们定义了RGB的系统,与之前的加色匹配设置相同,但原色和测试光都是单波长的光,通过测试来测量多少强度的三种原色加起来与测试光相同。
颜色匹配函数描述了每个 CIE RGB 原色光各自多少强度相加起来才能匹配 x 轴上给定波长的单色光。
我们得到的是对应的是单一波长的光,但是现实的光线SPD是很多波长组合在一起的,所以在表示现实颜色时我们要把每一个波长都考虑进去,自然要使用积分表示:
img

颜色空间

标准RGB系统

标准RGB系统:Standardized RGB (sRGB) 系统是一种被广泛运用于各种设备的色彩系统,但是RGB所能形成的色域是有限的。

CIE XYZ系统

CIE XYZ :这个系统我们使用XYZ表示颜色,并且由于绿色部分在轴上分布比较均匀,Y也表示亮度,与RGB的区别其实就是匹配函数的不同。
img
色域:一个颜色空间所有可能表示的颜色
img

基于感知的色彩空间(HSV)

HSV色彩空间被广泛地运用于“颜色选择器”。
img

CIELAB

img
L为亮度、a表示红绿、b表示蓝黄,这个空间认为轴的两端都是互补色
互补色是通过实验得到的,我们可以通过视觉暂留效果验证,比如先看一张反色的图,一段时间后换成空白,就能“看”到互补色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jupyter Notbook如何安装配置并结合内网穿透实现无公网IP远程连接使用

文章目录 推荐1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&am…

java swing个人财务收支管理系统eclipse开发Mysql数据库CS结构java编程

一、源码特点 java swing 个人财务收支管理系统 是一套完善的窗体设计系统,对理解SWING java 编程开发语言有帮助,系统具有完整的源代码和数据库,,系统主要采用C/S模式开发。 应用技术:javamysql 开发工具&#xf…

web APIs总结(1)

1. 根据CSS选择器来获取DOM元素 (重点) 获取一个DOM元素我们使用谁?能直接操作修改吗?querySelector() 可以返回值:CSS选择器匹配的第一个元素,一个 HTMLElement对象。如果没有匹配到,则返null 获取多个DOM元素我们使…

有时导数据代码比写SQL要快很多

一、背景 接到一个数据需求,是从我们的Mongo中导出的,但要取的值得到很深的层级,尝试写了半天Mongo的查询查不出来,问了半天大模型给的也不对,于是考虑写代码的方式 二、数据格式 // 1 {"_id": ObjectId(&…

考研数学|张宇《1000题》做不下来怎么办?

不要害怕,你绝对可以做下来! 1000题分为基础题和难题,基础题做题来还好,但是难题就有点偏和怪了,这是大部分考研人对于1000题的一致评价。 我觉得你可以这么做: 基础阶段可以做1000里面比较基础,简单的题…

ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models

iclr 2024 oral reviewer 评分 688 1 intro 目前LLM社区中通常使用GELU和SiLU来作为替代激活函数,它们在某些情况下可以提高LLM的预测准确率 但从节省模型计算量的角度考虑,论文认为经典的ReLU函数对模型收敛和性能的影响可以忽略不计,同时…

SAP SD学习笔记03 - SD模块中的主数据

上一章讲了SD中的组织单位和SD的简单流程。 SAP SD学习笔记02 - 销售流程中的组织单位-CSDN博客 SAP SD学习笔记01 - 简单走一遍SD的流程:受注,出荷,请求-CSDN博客 这一章讲SD中的主数据: - 得意先Master(客户&…

LeetCode404:左叶子之和

题目描述 给定二叉树的根节点 root ,返回所有左叶子之和。 代码 class Solution { public:int getLeftSum(TreeNode* node, int& sum) {if (node nullptr || (node->leftnullptr &&node->rightnullptr)) return 0;if (node->left) getLeftS…

企业营销线索溯源:拒绝合规风险!

天眼销的线索溯源功能已经上线一段时间了。 溯源功能主要是查找从天眼销下载的企业营销线索的来源,通过输入相应的数据,就能查到该营销线索的来源网站。 虽然我们在所有的宣传介绍都表明我们的数据都是从公开渠道获取的,但是还是有很多用户会…

electron的webview和内嵌网页如何通信

在 Electron 的世界里,webview 标签相当于一个小盒子,里面可以装一个完整的网页,就像一个迷你浏览器。当你想和这个小盒子里的内容说话时(也就是进行通信),这里有几个方法可以帮你做到: 这里只写…

golang es查询的一些操作,has_child,inner_hit,对索引内父子文档的更新

1.因为业务需要查询父文档以及其下子文档,搞了很久才理清楚。 首先还是Inner_hits,inner_hits只能用在nested,has_child,has_parents查询里面 {"query": {"nested": {"path": "comments","query": {"match…

损失函数篇 | YOLOv8更换损失函数之Powerful-IoU(2024年最新IoU)

前言:Hello大家好,我是小哥谈。损失函数是机器学习中用来衡量模型预测值与真实值之间差异的函数。在训练模型时,我们希望通过不断调整模型参数,使得损失函数的值最小化,从而使得模型的预测值更加接近真实值。不同的损失函数适用于不同的问题,例如均方误差损失函数适用于回…

【随笔】Git 高级篇 -- 相对引用1 main^(十二)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

lomobok源码编译学习笔记(1)

lomobok学习笔记(1) 项目导入 lombok的github地址 GitHub - projectlombok/lombok: Very spicy additions to the Java programming language. 开发工具 idea不知道为啥,装上ant工具也不好用,eclipse默认自带有ant,不需要装。…

基于SpringBoot+vue网上点餐系统包含万字文档

基于SpringBoot的网上点餐系统包含万字文档 项目视频演示: springboot027网上点餐系统包含万字文档 开发系统:Windows 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要…

这一次,阿里能完成变革么

更多精彩内容在公众号。 马云在阿里内网发表题为《致改革 致创新》的帖子。释放支持继续改革信号。全文参考下图 马云在最近的发言中首先引用了阿里巴巴集团董事局主席蔡崇信的一次采访,表示对蔡崇信坦率地承认过去错误的勇敢态度表示赞赏。马云强调,犯错…

Python - 深度学习系列32 - glm2接口部署实践

说明 前阵子,已经对glm2的接口部署做了镜像化。本次的目的是: 1 测试在隔了一阵子(忘记)的情况下,快速部署时是否有障碍,是不是足够方便2 在算网机环境下,能否快速的实现部署。仅考虑文件方式…

「每日跟读」英语常用句型公式 第9篇

「每日跟读」英语常用句型公式 第9篇 1. Go-to ___ 第一选择___ What’s your go-to snack when you’re hungry? (你饿的时候第一选择的零食是什么?) Who’s your go-to friend for advice? (你第一选择的朋友是谁来寻求建议?) Which is your go-t…

Python实现BOA蝴蝶优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

智慧矿山视频智能监控与安全监管方案

一、行业背景 随着全球能源需求的日益增长,矿业行业作为国民经济的重要支柱,其发展日益受到广泛关注。然而,传统矿山管理模式的局限性逐渐显现,如生产安全、人员监管、风险预警等方面的问题日益突出。因此,智慧矿山智…