Demi 的blog

图形学基础——光线追踪

光线追踪(Ray tracing)是三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以当追求高质量的效果时经常使用这种方法。

光线追踪分为两种:

• 对象顺序渲染(object-order rendering):依次渲染每一个对象,然后更新每一个新对象对其它对象的影响。
• 图片顺序渲染(imageorder rendering):依次渲染像素,渲染每一个像素是考虑到每一个对象对它的影响。

光线追踪器一般来说可以很好地解决对象顺序框架难以解决的阴影和反射问题。

图形学基础——光线追踪

光线追踪的基本算法

步入计算多元化时代,异构计算为什么发展空间巨大?

在互联网行业,随着信息化的普及,数据量的暴增使得人们对存储空间又有了新要求,同时,机器学习、人工智能、无人驾驶、工业仿真等领域的崛起,使得通用CPU在处理海量计算、海量数据/图片时遇到越来越多的性能瓶颈,如并行度不高、带宽不够、时延高等。

为了应对计算多元化的需求,越来越多的场景开始引入GPU、FPGA等硬件进行加速,异构计算应运而生。异构计算(Heterogeneous Computing),主要指不同类型的指令集和体系架构的计算单元组成的系统的计算方式。

20世纪80年代,异构计算技术就已经诞生了。所谓的异构,就是CPU、DSP、GPU、ASIC、协处理器、FPGA等各种计算单元、使用不同的类型指令集、不同的体系架构的计算单元,组成一个混合的系统,执行计算的特殊方式,就叫做“异构计算”。

特别是在人工智能领域,异构计算大有可为。众所周知,AI意味着对计算力的超高要求,目前以GPU为代表的异构计算已成为加速AI创新的新一代计算架构。

我们为什么需要异构计算?

光线投射 ,光线追踪与路径追踪的区别

光线投射 Ray Casting [1968]

光线投射(Ray Casting),作为光线追踪算法中的第一步,其理念起源于1968年,由Arthur Appel在一篇名为《 Some techniques for shading machine rendering of solids》的文章中提出。其具体思路是从每一个像素射出一条射线,然后找到最接近的物体挡住射线的路径,而视平面上每个像素的颜色取决于从可见光表面产生的亮度。

光线投射 ,光线追踪与路径追踪的区别
光线投射:每像素从眼睛投射射线到场景

光线追踪 Ray Tracing [1979]

科普:模式识别基本概念

模式识别研究的目的是利用计算机对物理对象进行分类,在错误概率最小的条件下,使识别的结果尽量与客观物体相符合。机器辨别事物最基本的方法是计算,原则上是对计算机要分析的事物与标准模板的相似程度进行计算。因此首先要从度量中看出不同事物之间的差异,才能分辨当前要识别的事物。

1、模式的描述方法

在模式识别技术中,被观测的每个对象成为样品。对于每个样品来说,必须确定一些与识别有关的因素,作为研究的根据,每一个因素成为一个特征。模式就是样品所具有的特征的描述。模式的特征集又可用于同一个特征空间的特征向量表示。特征向量的每个元素称为特征,该向量也因此称为特征向量。

如果一个样品X有n个特征,则可以把X看做一个n维列向量,该向量X称为特征向量。模式识别问题就是根据X的n个特征来判别模式X属于w1,w2,…wM类中的哪一类。待识别的不同模式都在同一特征空间中考察,不同模式类由于性质上的不同,它们在各自特征取值范围内有所不同,因而会在特征空间的不同区域出现。

因此,模式识别系统的目标是在特征空间和解释空间之间找到一种映射关系。特征空间是由 从模式得到的对分类有用的度量、属性或基元 构成的空间,解释空间是由 M个所属类别的集合 构成。

举例几个光线追踪的问题和解决方案

问题:

1、性能

算法的递归性质和大数目的追踪光线,渲染过程可能持续数小时。80-90%的渲染时间花费在计算光线和物体交点上。

2、走样

3、尖锐的阴影

基本的光线追踪算法只能得到尖锐的阴影(因为模拟的是点光源)。

4、局部光照和着色

算法只追踪少数目的光线,只有四种类型的光线被考虑在内,物体之间的漫反射光没有被考虑在内,即算法并不包括全局光照。

解决方案:

1、性能

a、使用更多或者更好的硬件

b、大规模并行计算

每一个光线都相互独立。

将图像分割,分配在多核上或者分布式网络上;或者分配在多个线程上。

c、限制交点检测的数目

迁移学习:经典算法解析

一. 了解迁移学习

迁移学习(Transfer Learning)目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。

入门推荐一篇公认的比较好的 【Survey】: A Survey on Transfer Learning,Sinno JialinPan, Qiang Yang,IEEE Trans

另外,戴文渊的硕士学位论文也可以看一下:基于实例和特征的迁移学习算法研究

Survey 作者归纳了 Transfer Learning 相关的知识域,有必要了解一下这些名词:

● Learning学习 - learning to learn
● 终身学习 - life-long learning
● 知识转移 - knowledge transfer
● 归纳迁移 - inductive transfer

光线追踪算法—图像纹理

1. 纹理的概念

由于一个物体表面的不同位置上通常有含有不同的颜色或者其他属性(如发射率、法线等),所以需要一种方法来表示物体每个位置上的不同的属性。在CG中,通常通过使用纹理映射技术来表示物体不同位置上不同的属性。
由于物体可以是一维、二维或者三维的,所有纹理技术可以适用于1D、2D与3D空间。通常来说,纹理映射技术可以通过两种方法来实现,一种是将物体的属性存储在一个二维数组中,该数组一般称为纹理图,然后使用物体的某个位置信息或者其他信息在纹理图中查找属性值,或者也可以使用一个程序来计算物体每个位置上的属性,该实现方法通常称为过程纹理。

2. 纹理分类

纹理可以根据多种方法来进行分类:

• 根据纹理函数的维度:1D纹理,2D纹理,3D纹理
• 根据纹理的实现方法:过程纹理或者使用存储然后查找实现
• 根据纹理改变物体的属性:凹凸贴图、漫反射贴图、光泽贴图、环境贴图、置换贴图、深度纹理

3. 纹理映射方法

五大常用算法之——分支限界法

一、基本描述

类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。

(1)分支搜索算法

所谓“分支”就是采用广度优先的策略,依次搜索E-结点的所有分支,也就是所有相邻结点,抛弃不满足约束条件的结点,其余结点加入活结点表。然后从表中选择一个结点作为下一个E-结点,继续搜索。

选择下一个E-结点的方式不同,则会有几种不同的分支搜索方式。
1.FIFO搜索
2.LIFO搜索
3.优先队列式搜索

(2)分支限界搜索算法

二、分支限界法的一般过程

光线追踪算法——过程纹理

1. 过程纹理的概念

过程纹理通过编写代码来生成相应的颜色值,而不是从图像中获取颜色值。相比较从图像中获取颜色而言,过程纹理的优点是可以对空间中的任意一点定义纹理,并且不需要额外的存储空间来存储图像。通常某些具有数学表达式的图像可以很好地通过过程纹理来实现。过程纹理计算空间中某个点的纹理时可能需要花费更多的时间,从图像获取只需要直接获取即可。

2. 3D棋盘过程纹理

3D棋盘过程纹理可以通过数学表达式来表示,具体代码如下:

Color Checker(const Point3f& point)
{
  const Float size = 100.0f;
  const Float BIAS = -0.000187453738;
  const Float x = point.x_ + BIAS, y = point.y_ + BIAS, z = point.z_ + BIAS;

  if ((static_cast<int>(floor(x / size)) +

五大常用算法之——回溯法

1、概念

回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。

回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。

2、基本思想

在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法)。

若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。

而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束。

3、用回溯法解题的一般步骤:

同步内容
--电子创新网--
粤ICP备12070055号