우선 이 글은 고영민 교수님의 '모빌리티 지능' 수업을 기반으로 적게 되었다. 학부 2학년 때 국민대학교 자율주행 대회에 참여하여, RRT*와 Pure Pursuit을 통해서 예선을 경험한 적이 있었는데, 당시에는 아무런 지식없이, 단지 ROS(Robot Operating System)에 대한 관련 수업만 듣고 참여하여 짧은 시간 안에 velog나 github의 내용을 참고하여 급하게 구현하였다.
이때 관련된 수업을 한 번 들어야겠다고 생각하였는데, 2024년에 고영민 교수님께서 오셨고, 정말 수업을 깔끔하게 잘하시기도 하고 많은 것들을 배워볼 수 있겠다라는 생각이 들어서, 많은 동기들의 만류(?)에도 불구하고 용기를 내어 해당 수업을 듣게 되었다. 들으면서 이론 위주로 공부를 하였던 나에게는 힘들긴 했지만, 정말 많은 것들을 경험할 수 있었다.
우선 고전적인 Vision 기법들부터 자율주행 Software Pipeline들을 전반적으로 경험할 수 있었고, 이전에 IT 대학에서 '인공지능 융합기초' 수업을 들으면서 ML, DL에 대해서 배우고 성적도 잘 나왔지만, 가슴 속에 와닿지는 않았던 거 같다. 하지만, 고영민 교수님의 MLP, CNN, Reinfocement learning을 들으면서 이제와서야 인공지능에 대해서 어느 정도 이해한 거 같다. 해당 강의를 정리하고 또 학기 동안에 개인적으로는 어려웠던, EKF(Extended Kalman Filter)와 Particle Filter를 조금 더 깊게 공부해보고 싶었고, 강화학습도 DQN 알고리즘에서 어려웠던 경험이 있어서 정리를 하면서 조금 더 깊게 공부해보고 구현도 해보고 싶다는 생각이 들어서 해당 시리즈를 만들어 보고자한다.
아직 학부생인만큼 실수하거나 부족할 수도 있어서 증명이나, 조금 더 깊은 내용을 공부하고자 한다면, 고영민 교수님의 velog를 참고하시길 바랍니다.
https://velog.io/@koyeongmin/posts
자율주행을 위한 Software Pipeline은 크게 4가지로 나뉜다.

모빌리티 비전 수업에서 주로 다룬 내용은 Perception과 관련된 내용이니, 참고하길 바랍니다.
시리즈의 순서는 들었던 내용과 거의 비슷할 것 같다. 하지만, 제어에 관련된 부분은 따로 빼고, 강화학습과 관련된 내용을 조금 더 깊게 공부하고자 하는 생각이 있어서(수업에서는 DQN 알고리즘까지만 다루었지만, 해당 시리즈에서는 A3C, PPO 등 조금 더 깊게 공부해보고자 한다.) 목차를 다시 한 번 적어보고자한다.
Chapter 1개 당 한 개의 Post로는 아마 부족할 거 같아서, 여러 번 끊어서 작성할 예정이며, 추가적으로 Linear Algebra, Probability and Random Process와 관련된 내용은 따로 시리즈를 만들어보도록 하겠습니다.
방학 내에는 모두 작성하기는 힘들 거 같고, 이제 졸업과 대학원을 준비해볼 겸 여유있게 작성해 볼 예정이다. 추가적으로 과제로 'Attention is All You Need'와 관련된 논문리뷰도 한 번 정리해서 작성해볼 예정이다.