This unit is a practical course. Students will learn about the foundation of augmented reality (AR) including sensing technologies, human visual system, display technology, graphics rendering, and AR applications.
In this unit, we will alternate between lectures and exercises. In the lectures, we introduce the basics of AR together with other relevant technologies. In parallel with the learning of this basic knowledge, you learn AR in a hands-on manner through exercises. Through the exercises, you will implement a vision-based AR program from scratch (each exercise is a small piece for it). Each student or a small team of students must present a small AR project using the program in the final lecture. You also need to write a final report on the project.
1) You can master the understanding of research background, design philosophy and composition principle of modern AR systems and advanced AR systems.
2) You can master the design and realization method of a typical AR system.
Augmented reality, mixed reality, virtual reality, human visual system, tracking, head mounted display
✔ Specialist skills | Intercultural skills | Communication skills | ✔ Critical thinking skills | ✔ Practical and/or problem-solving skills |
We alternate lectures and project exercises. In the lectures, you learn the basic knowledge of AR. In the exercises, you implement a basic AR program and conduct the final project to develop your own small AR application. At the end of the course, you are expected to present the results of the project.
Course schedule | Required learning | |
---|---|---|
Class 1 | [Basics 1] Introduction | Outline and aim of the lecture |
Class 2 | [Hands-on 1] Image Processing 1 | The basics of image processing using OpenCV |
Class 3 | [Basics 2] Human Visual System | The basics of the human visual system |
Class 4 | [Hands-on 2] Image Processing 2 | Understand AR marker detection |
Class 5 | [Basics 3] AR Displays | Display technology |
Class 6 | [Hands-on 3] Image Processing 3 | AR marker identification |
Class 7 | [Basics 4] Sensing | The position tracking technology in real space |
Class 8 | [Hands-on 4] Image Processing 4 | AR marker coordinate calculation |
Class 9 | [Basics 5] Visual Coherence | The technology to enhance the reality of AR images |
Class 10 | [Hands-on 5] Graphics Rendering 1 | The basics of CG rendering using OpenGL |
Class 11 | [Basics 6] Interaction | Interaction technology in AR space |
Class 12 | [Hands-on 6] Graphics Rendering 2 | The basics of AR rendering |
Class 13 | [Basics 7] AR Application | Typical application areas in AR |
Class 14 | [Hands-on 7] Project progress | Check the progress of projects |
Class 15 | [Hands-on 8] Project presentation | Perform project presentation |
No need to buy textbooks
Materials for the course will be provided online.
The lecture slides will mainly be based on:
- Dieter Schmalstieg, Tobias Hollerer, "Augmented Reality: Principles and Practice" Addison-Wesley, 2018
The exercise parts of this class are based on OpenCV and OpenGL (with GLFW). It is really important for students to go through tutorials on their own, such as these:
https://www.opencv-srf.com/p/introduction.html
https://learnopengl.com/Introduction
Project report (50%) and final presentation (50%)
- Coding Experience (especially C/C++) | All exercises use C/C++ with OpenGL and OpenCV
- Linear Algebra | We will use matrix transpose, inverse, and other operations to do algebra with matrix expressions. We will also solve some linear equations. We’ll use transformation matrices to rotate/transform 3D models. These topics are important for the project.
- Basics of Computer Graphics and/or Computer Vision | We use model and viewpoint matrices for graphics rendering using OpenGL. We also use basic image operations such as edge detections though OpenCV. If you are a quick learner, you should be able to learn them during the class if you haven’t yet.
You need a webcam. A camera on a laptop is sufficient.