计算机图形学中的深度学习
文章目录
- 零、前言
- 0.课程考核
- 1.课程大纲
- 2.前置知识
- 3.教材
- 4.课程大纲
- 5.相关课程 Relevant Courses
- 一、计算机图形学
- 1.本章学习目标
- 2.图形学的应用
- 3.SIG Graph papers
- 二、基本图形生成算法
- 1.本章学习目标
- 2.图形API
- 3.OpenGL
- (1)什么是OpenGL
- (2)OpenGL 的基本组件:顶点、坐标、颜色、纹理
- (3)OpenGL 2D
- (4)OpenGL 3D
- 4.Direct X 3D
- 5.法线贴图Normal Map
- 三、3D图形中的数学基础
- 1.坐标
- 2.点积、叉积
- (1)点运算
- (2)代数运算:加法、减法、乘法、与、或、非
- 3.图形学中常用的矩阵运算
- 4.图形表达、空间几何求交
- 5.向量、矩阵、几何的程序实现
- 6.直方图
- 7.拟合与插值
- (1)插值、内插、外插
- 四、图形变换
- 1.线性变换
- 2.变换 Transformations
- 3. 图像处理 Image Processing
- 五、三维场景绘制基础
- 六、真实感图形光照处理
- 1.照明 Lighting
- 2.全局光照:Global illumination
- 七、纹理映射技术
- 1.纹理映射 Texture mapping
- 八、场景组织与管理技术
- 九、游戏特效绘制技术
- 1.游戏引擎 Game Engine
- 十、地形绘制技术
- 十一、阴影绘制技术
- 十二、碰撞检测技术
- 十三、计算机动画技术
- 1.动画 Animation
- 十四、GPU硬件加速技术
零、前言
0.课程考核
1.最后交一篇报告
该课程讲的水分较大。好在要求也不高。任课老师:GY
建议课上自学OpenGL
1.课程大纲
2.前置知识
Prerequisites (前置知识)
- Linear algebra (线性代数)
- Familiarity with: (熟悉)
①Vectors (dot products, cross products…) (向量的点乘和叉乘)
②Matrices (矩阵)
③C++ or Java
④Object oriented programming (面向对象编程)
⑤3D点云
图形学、嵌入式、硬件:要求 C/C++
3.教材
《计算机图形图像技术》、《3D计算机图形学》
https://kesen.realtimerendering.com/
Z-library:https://zh.z-lib.gs/
4.课程大纲
5.相关课程 Relevant Courses
①Image Synthesis Techniques:图像合成技术
②Numerical Methods:数值方法、计算方法
③Computer Animation:计算机动画
④Geometric Algorithm:几何算法
⑤Geometric Modeling:几何建模
⑥Differential Geometry:微分几何
⑦Machine Learning:机器学习
中望:CAD
UG
SolidWorks、Ansys
一、计算机图形学
1.本章学习目标
①计算机图形学的定义和研究范畴
②计算机图形学的历史和应用领域
③图形系统构成及输入输出设备
④计算机图形学的发展热点
2.图形学的应用
1.游戏开发 (Video games)):游戏里的3D模型和动画都是图形学的成果
2.影视特效:电影、电视特效 (Movie,TV special effects)。像那些好莱坞电影里的CGI,肯定离不开图形学。
3.虚拟现实、增强现实 (Virtual and Augment Reality):VR/AR需要实时渲染,这也是图形学的应用
4.工业设计 (Industrial design):CAD软件里的三维建模和可视化应该属于图形学
5.机器人技术:环境建模和路径规划,三维感知可能涉及图形学
6.广告与电子商务:虚拟试衣、AR试妆,这些实时图像处理也是图形学的应用
①虚拟试穿:电商平台(如ASOS)的AR试衣间、美妆滤镜(如L’Oréal的虚拟口红试色)。
②3D广告:交互式产品展示(如汽车360度在线浏览)。广告和营销里的3D产品展示、互动广告,同样需要图形学技术。
7.医学成像:CT和MRI的三维重建,这也是图形学的应用
8.地理信息系统(GIS)和地图制作 :三维地形渲染可能用到了图形学技术。GlS (Geographic Information SystemsMedical visualization。
9.建筑与城市规划、建筑可视化:比如用BIM做建筑模型,实时渲染展示。
①BIM技术:Revit等软件实现建筑模型的可视化与协作。
②城市仿真:数字孪生城市(如智慧交通系统规划)。
10.数据可视化 (Scientific visualization):科学计算和商业分析中的三维图表
①科学可视化:气候模型、分子结构的三维动态展示。
②商业分析:交互式3D图表(如股票市场趋势的立体呈现)。
9.计算机界面设计:比如图形用户界面(GUI)和触摸交互,图形学在这里也有应用
11.教育与培训中的模拟器 (Simulation):
①飞行模拟器:飞行员训练中的真实感驾驶舱环境。需要实时渲染和物理模拟,这也是图形学的范畴。
②虚拟实验室:化学实验模拟(如Labster)、历史场景重建。
12.军事与航天
①军事和航天中的模拟训练、战场可视化
②战场模拟:战术训练系统、无人机路径规划。
③航天器设计:火星探测器着陆环境的三维建模。
13.文化遗产保护:比如用3D扫描重建古迹,这也属于图形学的应用。
①3D扫描与重建:数字化保存古迹(如敦煌壁画、帕特农神庙)。
②虚拟博物馆:在线浏览文物(如大英博物馆的3D藏品库)。
14.艺术创作与设计领域:数字绘画、雕塑软件,可能用到了图形学的算法
①数字艺术:工具如Procreate、ZBrush用于绘画与雕塑。
②生成艺术:算法生成动态视觉作品(如NFT艺术)。
15.未来趋势:
①实时渲染突破:光线追踪技术普及(如NVIDIA RTX),提升游戏与影视画质。
②AI驱动图形:GAN生成逼真纹理、NeRF实现照片级3D重建。
③元宇宙应用:图形学支撑虚拟世界的构建(如Decentraland中的虚拟地产)。
3.SIG Graph papers
一、SIGGRAPH 2023 获奖论文精选611
最佳论文奖
Split-Lohmann Multifocal Displays
机构:卡耐基梅隆大学
贡献:提出近眼3D显示器技术,支持人眼对不同距离内容的自然聚焦,提升沉浸式3D视频与游戏的体验。
亮点:解决了传统3D显示器的视觉疲劳问题,通过多焦点层实现动态景深调节。
Globally Consistent Normal Orientation for Point Clouds
机构:山东大学、香港大学等
贡献:提出平滑目标函数,从随机法向点云中生成全局一致的法向场,显著提升3D重建精度。
应用:自动驾驶、虚拟现实中的高精度环境建模。
3D Gaussian Splatting for Real-time Radiance Field Rendering
机构:蔚蓝海岸大学、马克斯・普朗克研究所
贡献:基于3D高斯分布的辐射场实时渲染(≥30fps),训练速度与质量均达SOTA水平。
意义:为实时高质量虚拟场景生成提供新方法。
荣誉提名论文
GestureDiffuCLIP(北京大学):结合CLIP的语音驱动手势合成系统,支持多模态风格控制6。
Sag-Free Hair Simulation(腾讯光子工作室):提出四阶段无下垂头发模拟框架,解决动态发型的稳定性问题11。
二、时间检验奖(Test of Time Award)611
表彰过去十年对领域产生深远影响的论文:
Functional Maps: A Flexible Representation of Maps Between Shapes (2012)
贡献:提出“功能映射”理论,成为形状匹配领域的基石,推动几何处理算法的标准化。
Eulerian Video Magnification (2012)
应用:通过放大视频中的微小运动,应用于医疗监测(如脉搏检测)与工程振动分析。
HDR-VDP-2 (2011)
影响:首个跨亮度条件的视觉质量评估指标,被工业界广泛用于HDR内容优化。
三、SIGGRAPH 2025 前瞻研究19
Diffusion as Shader: 3D-aware Video Diffusion
亮点:基于CogVideox5B的3D点云控制视频生成,支持从单图生成动态视频,结合3D跟踪技术提升可控性1。
Adobe MotionBridge 统一模型
功能:支持多模态控制(关键帧、轨迹、掩码等),实现高精度视频插帧与编辑,如通过轨迹笔画控制物体运动或镜头视角9。
技术突破:基于DiT架构的分类编码策略,区分内容与运动控制信号,减少生成歧义。
二、基本图形生成算法
1.本章学习目标
①了解图形光栅化的基本原理
②掌握直线的 DDA和 Bresenham算法
③掌握圆的生成算法
④了解其他图形的光栅化算法
2.图形API
1.应用编程接口API
以前软件开发缺乏标准,一种代码就只是对应着一种硬件和一种系统。这样导致的结果是开发的过程会非常繁琐。这是时候就需要一个中间层在不同的软件和不同的硬件中进行沟通,就是API。API是执行一组相关操作的标准函数集合。图形API是一组执行基本操作的函数。程序可以直接通过这些函数进行构建不需要访问更底层的东西。API的意义在于简化编程的操作。
图形API是针对GPU的图形库,用于渲染2D、3D矢量图形的跨语言、跨平台的应用编程接口。
DirectX由微软定义,支持平台有Windows、Xbox。
OpenGL由Khronos定义支持平台有Windows、MacOS、Linux,Andriod、IOS。
OpenGL是一种图形API,DirectX是许多种API的集合体,其中也包括图形API,比如Direct3D。它就相当于是游戏引擎,显卡驱动和系统层之间的桥梁。
3.OpenGL
学习资料:
1.一小时入门OpenGL
2.我的博文:OpenGL
(1)什么是OpenGL
OpenGL (Open Graphics Library,开放式图形库) 是一种用于渲染 2D 和 3D矢量 图形的跨语言、跨平台的应用程序编程接口(API)。
OpenGL 提供了大量的底层的图形渲染函数API,这些函数可以直接与图形硬件进行通信交互,实现高效的图形渲染:
①跨平台
②提供许多用于绘制图形的函数
③广泛应用于各种图形应用中,常见于:视频游戏、数据可视化
这个API接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
OpenGL 是一个基于状态的系统,也就是说,你可以通过设置一系列的选项来改变它的行为。这些选项会影响到 OpenGL 后续的渲染操作。例如,你可以设置颜色、光照模型、混合模式等状态,这些状态会在绘制图形时使用。
OpenGL的高效实现(利用图形加速硬件)存在于Windows,部分UNIX平台和MacOS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。开放源代码函数库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。
OpenGL规范由1992年成立的OpenGL架构评审委员会(ARB)维护。ARB由一些对建立一个统一的、普遍可用的API特别感兴趣的公司组成。根据OpenGL官方网站,2002年6月的ARB投票成员包括3Dlabs、Apple Computer、ATI Technologies、Dell Computer、Evans & Sutherland、Hewlett-Packard、IBM、Intel、Matrox、NVIDIA、SGI和Sun Microsystems,Microsoft曾是创立成员之一,但已于2003年3月退出。
(2)OpenGL 的基本组件:顶点、坐标、颜色、纹理
OpenGL 通过一系列的基本组件和概念来定义和渲染 3D 图形。下面是其中的一些基本组件:
①顶点(Vertex):
顶点是构成图形的基本元素。一个顶点主要包含位置信息,但也可能包含颜色、法线、纹理坐标等其他信息。在 OpenGL 中,顶点数据通常存储在顶点缓冲对象(VBO)中,并通过顶点数组对象(VAO)来管理。
②坐标(Coordinates):
OpenGL 使用坐标来描述顶点的位置。在 3D 空间中,每个顶点都有一个三维坐标(x, y, z)。在 OpenGL 中,所有的坐标都被归一化到一个叫做裁剪空间(Clip Space)的立方体中,这个立方体的中心位于原点,长度、宽度和高度都是 2。
③颜色(Color):
颜色用于描述顶点或者片元的颜色。在 OpenGL 中,颜色通常由红、绿、蓝三个分量来表示,每个分量的值在 0 到 1 之间。有时候还会有一个额外的分量 alpha,用于表示颜色的透明度。
④纹理(Texture):
纹理是一个图像,可以被映射到图形的表面上,增加图形的细节。每个顶点都可以有一个或多个纹理坐标,用于指定纹理的哪一部分应该被映射到顶点上。在 OpenGL 中,纹理数据通常存储在纹理对象中。
⑤着色器(Shader):
着色器是运行在 GPU 上的小程序,用于控制图形的渲染过程。顶点着色器(Vertex Shader)用于处理顶点数据,片元着色器(Fragment Shader)用于计算像素的颜色。
⑥帧缓冲(Frame Buffer):
帧缓冲是一个内存区域,用于存储渲染的结果。在渲染过程中,OpenGL 会将图形绘制到帧缓冲中。帧缓冲中的数据最终可以被复制到屏幕上,或者被保存为图像文件。
(3)OpenGL 2D
(4)OpenGL 3D
4.Direct X 3D
5.法线贴图Normal Map
最直接的区别就是法线贴图是凸出的还是凹陷的。
三、3D图形中的数学基础
1.坐标
x,y,z。一般z取贴地面,这样令z=0,x和y放在中心,方便旋转。
2.点积、叉积
(1)点运算
(2)代数运算:加法、减法、乘法、与、或、非
1.加法
加法:去除叠加性噪声
2.减法
3.乘法
抠图、前景区域
4.与
求交集
5.非
取反
3.图形学中常用的矩阵运算
4.图形表达、空间几何求交
5.向量、矩阵、几何的程序实现
6.直方图
7.拟合与插值
(1)插值、内插、外插
插值、内插和外插是数值分析中常用的概念,主要用于通过已知的数据点推测未知的数值。它们的区别在于估算的位置相对于已知数据点的关系。
1.插值(Interpolation):
插值是指在已知数据点之间进行估算,目的是通过已知的点来推测未知的中间点的值。插值通常用于在已有数据点之间填补缺失的数值。
例如,如果你知道在时间点 t 1 t1 t1 和 t 2 t2 t2 之间的某些数值,插值可以帮助你估算时间点 t 1 t1 t1 和 t 2 t2 t2 之间的其他值。
2.内插(Interpolate):
内插与插值的概念基本相同,是指在已知数据点的区间内进行值的估算。在数学中,内插通常指在已知数据范围内部,利用某种方法(如线性插值、拉格朗日插值等)推算未知值。
例如,在 x 1 ≤ x ≤ x 2 x_1≤x≤x_2 x1≤x≤x2 之间的某个 x x x 值进行内插。
3.外插(Extrapolation):
外插是指通过已知数据点外的推测,估算超出数据范围之外的未知值。外插不保证精确,因为它是根据已有数据点的趋势延伸推算出来的。
比如,在已知数据点的区间之外,你希望推测 x > x 2 x>x_2 x>x2 或 x < x 1 x<x_1 x<x1 时的值,这就是外插。
总结:
- 插值 (Interpolation):在已知数据点之间进行估算。
- 内插 (Interpolate):一般指在已知数据点区间内进行估算。
- 外插 (Extrapolation):推算已知数据点范围之外的值。
四、图形变换
1.线性变换
1.线性变换
2.平移变换不是线性变换
2.变换 Transformations
3. 图像处理 Image Processing
图像去噪与超分辨率:深度残差网络 SuRDCNN 可在单一模型中同时完成高斯噪声去除与图像超分辨率重建,通过残差学习提升去噪和放大效果。
多尺度融合 GAN(MFGAN):该方法利用多尺度生成对抗网络同时恢复噪声干扰下的图像,显著增强图像视觉质量。
风格迁移与语义分割:利用自编码器和条件 GAN,实现图像风格迁移和场景/物体的深度语义分割,可应用于电影特效与增强现实。
五、三维场景绘制基础
神经辐射场 NeRF:NeRF 使用多层感知机(MLP)对场景进行体渲染建模,通过对每条摄像机射线采样并优化体密度与视角相关辐射量,实现高质量新视角图像合成。
多尺度与实时化改进:mip-NeRF 利用多尺度表征抗锯齿,BARF 在训练中同时优化相机姿态,PlenOctrees 和 SNeRG 则将预训练的 NeRF 烘焙到稀疏八叉树或体素网格,实现实时渲染。
神经纹理映射 Neural Textures:Deferred Neural Rendering 采用神经纹理替换传统纹理贴图,利用深度网络生成视角相关的屏幕空间特征,实现更真实细节。
六、真实感图形光照处理
1.照明 Lighting
深度 BRDF 参数估计:Deep Image-Based Adaptive BRDF Measure 使用 CNN 从单张图像估计双向反射分布函数(BRDF)参数,辅助传统渲染的重要性采样。
神经预积分光照 Neural-PIL:Neural-PIL 网络将光照积分操作替换为深度查询,可同时分解形状、反射率和光照,实现实时分解与重映射。
2.全局光照:Global illumination
神经全局光照渲染:Superposed Deformable Feature Fields 利用可变形特征场捕捉光照的多次反弹(如焦散),生成复杂全局光照效果。
Neural Radiance Caching:NVIDIA 通过一个小型神经网络在 RTX GPU 上实时提供超过每秒 10 亿次全局光照查询,显著提高渲染效率。
七、纹理映射技术
1.纹理映射 Texture mapping
传统纹理映射:将 2D 图像贴到 3D 表面以增加细节和色彩特征,无需高复杂度几何建模。
神经纹理:Neural Textures 方法学习 2D 神经纹理,并在延迟神经渲染(Deferred Neural Rendering)管线中生成屏幕空间特征,实现动态视角下的高保真表面细节。
八、场景组织与管理技术
1.场景图生成(Scene Graph Generation):
深度学习方法可自动从图像或渲染数据中提取物体节点和它们之间的关系,构建场景图网络。
2.方法综述:
ScienceDirect 对 138 篇场景图生成论文进行了系统综述,涵盖 2D/3D 场景图的特征表示与解析算法。
九、游戏特效绘制技术
1.游戏引擎 Game Engine
粒子系统优化:基于深度学习的粒子系统可以通过网络预测参数,生成烟、火、爆炸等特效,并自动调整效果以适应场景。
深度学习超采样(DLSS):NVIDIA DLSS 在 Unreal Engine 和 Unity HDRP 中集成,利用 RTX GPU 的 Tensor Cores 实时对低分辨率帧进行 AI 超采样,显著提升帧率和图像质量。
十、地形绘制技术
程序化与噪声方法:传统地形生成依赖分形噪声和高度图算法。
深度学习地形生成:利用 GAN(如 multiscale-fusion GAN)对高程和纹理进行联合生成,实现真实感地形的自动化生产。
十一、阴影绘制技术
传统阴影映射与阴影体:Shadow Mapping 与 Shadow Volume 为实时阴影渲染提供基础。
深度学习阴影分解:NeRFactor 方法通过神经场优化同时恢复表面法线、反射率和光照,可在任意光源下生成自然硬/软阴影。
十二、碰撞检测技术
图形学加速结构:AABB、OBB、KD-tree 等用于加速碰撞检测的经典算法。
图神经网络(GNN):使用 GNN 进行连续碰撞检测(Continuous Collision Detection),提高仿真交互的准确性和效率。
十三、计算机动画技术
1.动画 Animation
-
深度强化学习动画:DeepMimic 将示例动作片段与深度强化学习相结合,训练角色在物理模拟中模仿多样化、高动态范围的动作,如翻转和漫步。
-
动作生成与骨骼网络:利用 LSTM 或 Transformer 架构从有限样本学习生成自然骨骼动画,可应用于实时角色控制与虚拟试衣。
十四、GPU硬件加速技术
-
GPU 与深度学习:GPU 天然适合大规模并行矩阵运算,可将训练时间从天级缩短至小时级,广泛用于深度学习模型训练与推理。
-
Tensor Cores 加速:RTX 系列 GPU 内置 Tensor Cores,可高效执行混合精度运算,是 DLSS、NeRF 等神经渲染技术实时化的硬件基础。