안녕하세요, 저는 2021학년도 하계 URP 프로그램(2021.07.05 ~ 2021.08.27)에 참여했던 지능기전공학부 무인이동체공학과 김우혁입니다. 약 2개월 가까이 참여했던 프로그램을 마치게 되어 이 소감문을 작성해봅니다.
지원 동기
저는 1학년 때부터 학부과정을 마치고 대학원에 진학하여 관심있는 분야에 대해 조금 더 깊이있게 공부하고 싶다는 생각을 “막연히” 가지고 있었습니다. 학부과정에서 배운 지식을 바탕으로 전문분야에서 필요로 하는 역량을 갖추기 위해 연구자로서의 생활을 경험하고 싶었기 때문입니다. 타대 혹은 자대에 구체적으로 희망하는 연구실이 있다면 메일을 통해 교수님께 컨택하여 인턴 경험을 할 수 있다고 들었지만 저는 임베디드 시스템과 컴퓨터 비전 분야에 관심만 가지고 있었을뿐, 이를 구체적으로 실현하기 위한 시도를 하지는 못한 상태였습니다.
하지만 복학 후, 최유경 교수님의 수업을 수강한 친구들의 이야기를 듣고, 또 그 친구들의 실력이 나날이 늘어가는 것을 보았습니다. 또한, RCV 연구실의 하계 URP 프로그램이 체계적으로 구성되어 CV 분야의 기본을 체험할 수 있다는 이야기를 들었기 때문에 주저하지 않고 바로 지원하였습니다.
URP 프로그램과 그 후…
2021 하계 URP 프로그램은 7월 5일부터 8월 27일까지 총 8주 동안 진행되었습니다. 1주차에는 딥러닝의 기초 개념과 VGG16 모델에 대해 학습하였고 이를 Base Network로 활용하는 SSD300 모델의 이론을 다루었습니다. 매트랩으로 진행되는 김성한 교수님의 기계학습 수업을 3학년 1학기(이전 학기)에 수강하였기에 프로그램에 임하기 전 멘토님들께서 제공해주신 사전 자료 (모두의 딥러닝, 최유경 교수님 기계학습 수업 – 텀프로젝트 등)가 매우 큰 도움이 되었습니다. 이를 참고하시면 도움이 되실 것입니다!
2주차에는 1주차에서 공부한 SSD300 모델 이론을 바탕으로 튜토리얼 코드를 하나하나 뜯어가며 이론과 매치하고 분석하였습니다. 이때, import pdb;pdb.set_trace() [파이썬 디버깅 툴 코드] / print(“*”) [우리가 C언어 수업 때 자주 활용하였던 단순 출력 디버깅] 이 2가지를 기억해서 잘 활용하시면 코드를 꼭꼭 씹어 드실 때 매우 유용하실 겁니다.
3주차부터는 본격적으로 성능개선 첼린지를 시작하였고 SSD300 모델을 기반으로 주어진 카이스트 데이터셋의 Thermal, RGB 보행자 이미지 데이터를 활용하여 각자의 방식대로 성능 개선에 착수했습니다. 이 과정은 5주차까지 진행되었는데, 저는 이때 지원동기에서 언급했던 연구란 무엇인지에 대해 짐작할 수 있었습니다. 데이터와 수행하고자하는 TASK를 꼼꼼히 분석하여 문제점을 포착하고 개선 방향성을 설정함과 동시에 방법론을 탐색하고 다양한 실험을 통해 실제로 문제점 을 개선하는 일련의 과정을 경험해봄으로써 단순히 논문을 읽고 직면하는 여러 에러를 수정하는 능력뿐만 아니라 연구 프로세스를 간접 체험할 수 있었습니다.
6주차에는 카메라 그래버 실습이 진행되었습니다. 처음 접하는 C++ 코드를 다뤄보면서 객체 지향 언어에 대한 이해가 많이 부족하다는 것을 실감했고 코딩 능력 또한 많이 부족함을 느껴 이를 보완할 필요가 있다고 생각하였습니다. 코드 단에서 카메라를 다루고 직접 영상에 출현하여 우리 의 데이터셋을 촬영하였는데 당시, 모든 과정이 너무나도 재미있고 신기했습니다.
7주차에는 카메라 캘리브레이션에 대해 학습하였습니다. 물론, 다른 주차에 비해 이론 측면에서 어느 정도의 난이도가 있었지만 정말 재미있었습니다. 성능 개선 첼린지 때에도 느꼈지만 수학적인 이론을 익히고 이를 코드로 구현해봄으로써 제가 어떠한 이론을 직접 코드로 구현하는 것에 흥미를 느낀다는 사실을 알게 되었습니다. 왜 안드로이드 스튜디오를 활용하여 앱을 제작하는 프로젝트에 흥미를 느끼지 못하고 수학적인 요소가 가미된 인공지능에 흥미를 느꼈는지 그 이유를 알 것 같았습니다. (제가 약간 이론충(?) 경향이 있는 것도 한몫 했습니다.)
8주차에는 저희가 6주차에 촬영했던 데이터셋을 직접 Annotation 하는 과정과 Transfer Learning 실험을 진행하였고 저희가 지금까지 습득한 지식을 다른 학생에게 튜터링하는 경험을 마지막으로 URP 프로그램을 마쳤습니다.
프로그램을 시작하기 전 vs 프로그램을 무사히 마친 현시점
프로그램을 시작하기 전 저는 CV 분야에 대해 조금 더 깊이 알고 싶었고 일찍이 대학원 진학을 선택하였지만 막연하였기에 제가 대학원생으로서의 삶 곧, 연구가 맞는지 간접적으로 경험하고 싶었습니다. 또한, 타대와 자대 진학에 대해서도 그 해답을 얻고 싶었습니다.
프로그램을 무사히 마친 현시점, 저의 고민들이 어느정도 해결되었는지 돌아보았습니다. CV 분야 에 대해서는 확실히 그 기초를 학습하고 체득하였기에 더욱 깊이 알게 되었고 흥미를 가지게 되었습니다. 또한, 위에서 언급하였듯이 연구 과정을 간접적으로 체험함으로써 제가 연구와 같은 형태의 학습에 흥미를 느낀다는 사실을 알게 되었습니다. 이론을 흡수하고 소화하여 응용하는 일이 재미있었습니다. 랩실을 지원함에 있어 타대와 자대의 선택은 프로그램 내내 고민하였는데, 프로그램을 통해 자신감을 갖게 되었고 1학년 때부터 나름 학점 관리를 열심히 하며 꿈꿔왔던 것이기에 “잘 마무리하여 후회없이 도전해보자!”고 결론 내렸습니다. 새로운 환경에 저를 몰아넣고 관성을 거스르는 것을 즐기는 습성도 한몫 했습니다.
다음 학기(3일 뒤..)에는 창의학기제 프로젝트, 마지막 학점 관리, 영어 공부, 랩실 컨택 및 입시 준비 등에 집중하고 싶었기에 2학기 학부연구생 지원은 포기하였습니다. 또한, 애매한 포지션으로 들어가 방황하고 제가 속했을 팀에게 민폐가 되는 것보다는 확실히 결단을 내리는 것이 맞다고 생각하였습니다. URP 프로그램에 참여하시는 분들도 분명한 목적 의식을 가지고 참여하여 꼭 그것을 달성하셨으면 좋겠습니다. 너무나도 값진 경험이었습니다. “자신감”을 가지게 되었고 “내가 이 길을 걸어도 괜찮겠구나!” 확신이 들었습니다. 저와 같은 고민을 가지고 계신 분들께 URP 프로그램을 강력히 추천합니다. 분명히 후회하지 않으실 겁니다.
글을 마치며
조D영래, 광진봇, 윤정, 연희, 지수, 존경하는 인터페이스 회장 이현주님… 동기들과 함께였기에 프로그램의 일정을 모두 견뎌내고 소화할 수 있었습니다. 또, 같이 공부할 수 있어 정말 행복했습니다. 우물 안 개구리였던 저에게 정말 많은 것을 그 누구보다 친절히 가르쳐 주었던 동기들에게 다시 한번 감사 인사 드립니다.
김지원 멘토님께서 그래버 실습 때 디버깅 과정을 유도해 주신 적이 있는데 저에게는 정말 값진 경험이었습니다. 감사합니다. 캘리브레이션 세미나 정말 인상적이었습니다. 신정민 멘토님이었기에 어려운 이론이 어느정도 저희에게 잘 전달될 수 있었음을 느꼈습니다. 감사합니다. “캠 스레드에서 영상이 어떻게 송출되는지 확인해보세요~” 이 한마디가 저의 6주차를 있게 했습니다. 김형준 멘토님 감사합니다. 항상 구석 자리에 있는 저에게 먼저 다가와 한마디씩 툭툭 걸어주신 한대찬 멘토님 감사합니다. 1학년 문.쓰.발 수업, 당신과 함께였기에 행복했습니다. 따로 이야기를 나눈 적이 없어 아쉬웠지만 총괄 멘토이신 김태주 멘토님, 항상 저희를 위해 고심하시고 배려해주셔서 감사합니다. 이외에도 홍주영 멘토님, 이승현 멘토님, 다른 멘토님들 모두 정말 감사합니다.
제 친구이자 담당 멘토인 임근택 멘토님 정말 감사합니다. 공과 사를 명확히 구분하여 진행해 주셨기에 자칫 제가 곤란할 수 있는 일이 발생하지 않았고 프로그램을 온전히 만끽할 수 있었습니다. 또, 정말 많이 배웠습니다. 앞으로도 잘 부탁드립니다. 마지막으로 이 모든 것을 경험할 수 있게 해주시고 저의 고민과 선택에 대해서 피드백 해주신 최유경 교수님! 감사합니다. URP 프로그램은 제가 죽는 순간에 주마등처럼 지나갈 한 프레임으로 자리할 것 같습니다. 주어진 자리에서 최선을 다해 성공하겠습니다. 그리고 모든 분들께 이 은혜 갚겠습니다. 감사합니다.