1736908606
专题研讨 ¶
课程学习内容 ¶
这门课名字比较简短以至于不容易看出来课程内容,实际上是一门有关于虚拟 / 混合现实技术的 研讨型(实际上主要是讲课)课程。课程主要讲述 VR/AR/MR 等技术原理和应用,会要求同学以此为主题,在开源代码的基础上,设计开发一个 VR/AR 功能或应用。课程内容包括(摘自 24-25 秋冬学期课程大纲):
- 虚拟 / 混合现实显示技术
- 虚拟现实建模技术
- 混合现实注册定位技术
- 虚拟现实绘制技术
- 虚拟现实听觉和力触觉计算技术
- 虚拟 / 混合现实交互技术
以及在最后一节课会有每个人的研讨项目讲解与演示。
先修要求 ¶
无。如果有学过类似计算机视觉等课程会对上课内容理解有帮助;如果有一定的编程基础(图形库的使用、包装好的 AR/VR 工具链使用)会对大作业有帮助。
任课教师 ¶
只有鲍虎军老师任本课程教师。
课程教材 ¶
无。上课内容为老师的 PPT,大作业需要自行查阅资料。老师会发一本《增强现实:原理、算法与应用》
分数构成 ¶
科普性质课程,无考试。
- 期中课程作业(50%)
- 针对期末要实现的项目,写一份计划报告,包含文献阅读、技术分析和构想等。
- 可选的技术有特征跟踪、重建、SLAM(同步定位与地图构建)、图形参数化等内容。
- 期末设计与实现(50%)
- 基于开源代码,设计开发一个 VR/AR 功能或应用。
- 老师提供的两种思路是:
- 论文导向,针对一系列论文分析开源代码,并做代码尝试、验证、优化。也可以基于 OpenGL/OpenXR 等比较基础的图形 / 交互库,实现一个简单的 VR/AR 功能,其评判重点在于对于相关技术的理解和实现。
- 商用导向,基于开源标准化的 Apple ARKit/Google ARCore 等高度封装的 AR/VR 工具链,实现一个 VR/AR 应用,其评判侧重点在于整个 App 的设计创意和思路。
22 级期中作业的时候,老师体谅大家期中时间紧张,deadline 向后拖延了一两周。最后一周的课程就直接用于展示,每位同学上台使用 PPT 介绍自己的项目思路和实现效果,并用程序 / 相关设备演示,最后提交 PPT 和代码即可。
学习建议 ¶
这门课对虚拟现实 / 混合现实相关技术的介绍比较全面,有对此方面感兴趣的同学可以选修,能够收获比较多的知识;如果想当作选修课水一水学分也是可以的,但是要注意大作业的截止时间;这门课不点名,但老师在期末展示时可能会灵魂拷问怎么没见过你(应该不影响分数)。
针对最后的项目,建议从开学就进行相关的探索和了解,尽早确定自己要做什么方向的项目。如果都拖在最后一周,可能会比较赶时间,因为确定选题也是一个比较耗时的过程,从选题到实践再到最后的展示,可能效果就不太尽如人意。实际上可选的项目方向比较多,论文复现与改进、游戏设计、实际场景建模测试等等都是可以的。
如果选用思路一,即论文复现与优化工作,需要明确说明自己做了哪些验证性或优化性的工作,例如自己采集新的数据集、调整参数、优化算法等等,并在最后得出一个较为完整的结论。
如果选择上述思路中第二个思路(基于高度封装的 AR/VR 工具链),这种项目的设计对于课程内容的依赖比较少,但是要做一个完整的 App,可能会涉及到很多方面的知识,所以强烈建议提前开始;同时,无论在做什么方向,最后展示的时候一定要说清楚你在开源代码的基础上做了什么(你修改了原来的代码,或者添加了什么新的功能),这是老师最看重的地方。
这里也给出笔者在 24-25 秋冬学期的大作业演示视频供参考,使用了苹果的 ARKit 搭配 SwiftUI 编写了一个在 iOS 设备上的 AR 桌面布置应用。由于这是笔者第一次接触 iOS 开发,虽然工具链比较成熟,但是在学习 Swift 语言和 SwiftUI 框架上还是花了不少时间。