[2024-하계][김나연] URP를 마치며

[자기 소개]

안녕하세요, 한국외국어대학교 GBT학부 김나연입니다. 저는 타대학생으로 세종대학교 RCV URP 프로그램에 참여하게 되었습니다. 제 글이 URP 프로그램 참여를 고민하고 있는 세종대 학생분들 뿐만 아니라 타 대학 학생분들에게도 도움이 되길 바랍니다.

[지원 동기]

저는 IT 관련 전공생은 아니었지만, 통계학과를 이중 전공하면서 IT쪽 진로를 희망하고 있었습니다. 웹사이트 제작에 백엔드로 참여하기도 했고, 빅데이터 관리 인턴을 하며 데이터 쪽도 접해보았습니다.

저는 전문적인 기술을 가지고 싶다는 생각으로 IT기술을 공부했었습니다. 하지만 인턴을 하면서 배울 수 있는 것이 한정적이었습니다. 새로운 것을 더 많이 배우고 싶다는 생각을 하게 되었고, 이는 자연스럽게 대학원 진학에 대한 고민으로 이어졌습니다.

통계학과는 대학원을 많이 간다는 말을 들었었지만, 경험하지 않고 무작정 대학원을 선택하기에는 두려움이 컸습니다. 이 때 연구 자체가 저에게 맞는다면 어떤 분야를 선택하더라도 문제가 되지 않을 것이라는 생각에, 연구를 경험할 수 있는 학부 연구생 프로그램을 찾아보았습니다. 그 후 체계적인 커리큘럼, 평소에 관심이 있었던 컴퓨터 비전 연구를 경험할 수 있는 RCV URP에 참여하게 되었습니다.

[진행 과정]

이번 기수의 URP의 진행 과정은 아래와 같습니다.

1주차: 인공지능 기초 공부, 실습

2주차: SSD 논문 읽기

3주차: SSD 코드 원복

4주차-5주차: 성능 개선

6주차: camera calibration

7주차: camera grabber, ros2

8주차: 성능 개선

1주차에는 인공지능 기초 세미나를 들었습니다. 최유경 교수님의 인공지능 강의를 듣고 왔음에도 부족한 부분이 많아서 열심히 공부했던 것 같습니다. 그 후 kaggle을 이용해 인공지능 실습을 진행했습니다. Data loader을 직접 짜고 이를 기반으로 분류 문제를 해결하는 것이었는데, 너무 어려웠던 기억이 있습니다. 기초 지식 없이 스스로 코드를 처음부터 끝까지 완성해야 한다는 사실이 막막했습니다. 어떻게 해서 다 완성하긴 했지만, 해당 코드를 완벽하게 이해하는 데에는 시간이 필요했습니다.

2주차에는 SSD 논문을 읽었습니다. 논문을 처음 읽어보아서, 첫 이틀 동안은 분명 글을 읽었음에도 조교님이 내용에 대해 질문하면 대답을 할 수 없었습니다. 조교님이 질문하신 내용에 초점을 두고 논문을 다시 분석했고, 점차 이해가 가기 시작했습니다. 논문에 있는 사진들이 무엇을 나타내는지 알게 되었을 때 뿌듯했던 기억이 있습니다.

3주차에는 지난주에 읽었던 SSD 논문을 구현해 둔 코드를 분석하고 원복하는 작업을 했습니다. 여러 파일들에 있는 코드가 정말 길어서 막막함이 컸지만, 동기들과 함께 코드를 하나하나 보면서 이해하려고 애썼던 것 같습니다.

4, 5, 8주차에는 성능 개선을 진행했습니다. 자신만의 문제를 정의한 다음, 이를 해결할 수 있는 방법을 찾아서 적용해보는 방식으로, 연구를 경험할 수 있는 과정이었습니다. 저는 처음에 성능 개선에 초점을 두고 문제 정의를 소홀히 했었습니다. 하지만 멘토분들께 문제 정의가 가장 중요하다는 말을 많이 들었고, 지나고 보니 무슨 말인지 알 수 있었습니다. 부디 문제를 구체적으로 정의하시기 바랍니다.

또한, 저는 코딩 실력이 좋지 않았기 때문에 하나의 방법론을 적용하고 오류를 고치는데 많은 시간이 필요했습니다. 상대적으로 다양한 성능 개선 방안을 적용해보지 못했고, 해당 사실에 대해 조금 위축되어 있었던 것 같습니다. 하지만 다양한 방법을 적용하고 성능을 개선하는 것보다, 구체적으로 정의한 문제를 어떻게 해결해보려고 했는지, 왜 그 방법을 선택했는지, 성능이 개선되지 않았다면 원인이 무엇인지에 대한 분석이 더 중요한 것 같습니다.

6주차에는 camera calibration 내용을 공부하고 코드로 구현해보는 실습을 했습니다. 다른 주차보다 스스로 공부할 시간이 많아 모르는 부분에 대해 꼼꼼히 공부할 수 있어서 좋았습니다.

7주차에는 camera grabber 내용을 공부하고, 임베디드 보드를 이용해 ros2 실습을 진행했습니다. 임베디드 보드를 처음 사용해보아서, 저는 이 주차가 가장 흥미로웠습니다. 이전 주차에 진행했던 모델을 결합시켜, 캠으로 사물을 비추면 실시간으로 object detection이 되는 과정도 경험했는데, 매우 신기했습니다. 이후 해당 내용을 가지고 실생활에서 적용하는 프로젝트를 진행했습니다. 실생활에 적용하기 위한 고민은 모두가 하지만, 차이를 만드는 건 디테일한 부분이라는 피드백을 들었습니다. ROS2와 다양한 기술들을 접하게 해주신 김태주 조교님께 감사하다고 말씀드리고 싶습니다.

2주차부터는 세미나가 진행됩니다. 세미나는 한 주에 배운 이론 내용을 자신만의 언어로 정리해서 발표하는 것입니다. 처음에는 너무 막막했고, 세미나를 하면서도 모든 내용을 완벽하게 숙지했다고는 말할 수 없는 상태였습니다. 하지만 몇 번의 세미나를 거치면서 발표에 대한 부담은 많이 없어졌던 것 같습니다. 오히려 멘토분들의 질문에 대답하는 저를 보면서 어떤 부분이 부족한지를 알 수 있어서 많은 도움이 되었습니다.

이번 URP에서는 월요일날 세미나 발표를 진행했습니다. 한 주 간 배우고 실습했던 내용을 주말 동안 복습하고, 이를 기반으로 세미나 발표를 준비할 수 있어서 좋았습니다.

[느낀 점]

두 달 간의 URP에서 정말 많은 것을 배웠고, 여러가지 깨달음을 얻었습니다:

첫번째는 대학원 진학에 대한 생각입니다. 결론부터 말하자면, 지금은 대학원에 진학하지 않기로 했습니다. 이는 성능 개선 주차를 경험하면서 확고해졌던 것 같습니다,

저는 새로운 방법론을 적용하는 기대감보다는, 적용했을 때 맞닥뜨리게 될 오류에 대한 두려움이 더 컸던 것 같습니다. 수많은 디버깅을 하고, 동기와 멘토분들의 도움을 받으며 결국 오류를 해결했었지만, 아직 코드를 짜고 수정하는데 많이 부족하다고 느꼈습니다.

또한, 다른 동기와 멘토분들은 여러 방법론에 대해 이야기를 할 때 활발하게 의사소통이 되었던 것에 비해 저는 그렇지 않았습니다. 저는 어떤 것을 이해하는데 비교적 오랜 시간이 드는 편입니다. 기초도 부족한 상태에서 새로운 방법론을 단 기간에 이해하는데 어려움이 있었고, 이는 깊이가 얕은 질문으로 이어졌습니다. 이 과정을 겪으면서, 미래에 대학원에 진학하게 되더라도 지금은 기초를 쌓으며 실력을 기르는 것이 필요하겠다는 생각을 하게 되었습니다.

두번째는 스스로 공부하는 방법입니다.

정답이 없는 상황에서 문제를 정의하고, 이를 스스로 해결해가는 연구의 과정을 겪으면서, 스스로 분석하는 방법을 알게 되었습니다. 또, 오류가 발생했을 때, 과거의 저는 구글에 검색하거나 코드를 다시 짜는 방식을 선택했습니다. 이렇게 했을 때 문제 해결 시간은 단축되었지만, 문제의 원인을 정확히 알 수 없었습니다. 하지만 urp에서 pdb를 사용해서 코드 한 줄 한 줄 디버깅을 하며 문제의 원인을 정확히 알 수 있었고, 어떤 것을 신경써서 코드를 짜야 하는지 알 수 있게 되었습니다.

세번째는 동료의 중요성입니다.

처음에는 어색했지만, 주말을 제외한 두 달 동안 매일 함께 있으면서 자연스럽게 친해지게 되었습니다. 처음에는 어렵고 막막한 문제더라도, 함께 노력하니 결국 다 해결되었고, 비슷한 고민을 나누면서 힘을 얻을 수 있었습니다. 타대 학생으로 걱정이 많았는데, 너무 좋은 동기를 만나서 즐겁게 urp에 참여했습니다. 이 글을 빌려 오류에 막혀 있을 때 열심히 도와줬던 동기들에게 감사하다고 꼭 말하고 싶습니다.

네번째는 건강 관리의 중요성입니다.

URP 프로그램 초반 3주 정도는 저녁을 거르거나 편의점으로 대충 때우고 늦게까지 공부했었는데, 그러다 보니 자연스럽게 체력과 건강이 안 좋아졌습니다. 또한, 처음에 세미나에 대해 너무 큰 부담감을 가져서, 주말동안 불안감에 편히 쉬지 못했습니다. 지금 와서 생각해보면 두 달은 긴데, 초반부터 너무 무리했던 것 같습니다. 두 달 동안 프로그램에 열심히 참여하기 위해서는 스스로를 챙기는 것이 가장 중요한 것 같습니다. 꼭 끼니를 챙겨 먹고, 주말 하루는 푹 쉬라고 말씀드리고 싶습니다.

[마치며]

URP 프로그램은 정말 많은 것을 배울 수 있고, 다양한 방면으로 성장할 수 있는 기회입니다. 대학원 진학에 고민이 있으시다면 URP에서 그에 대한 답을 얻을 수 있을 것이니, 여러 이유로 도전을 주저하지 마시기 바랍니다. 

마지막으로, URP에 참여하면 여러가지 원인으로 어려움에 부딪히게 될 것이라고 생각합니다. 저는 실력적 부족함에 너무 힘들었는데, 자신의 실력을 받아들이고 어제보다 성장하는 것을 목표로 삼으라는 말이 위로가 되었던 것 같습니다. 고민이 있다면 꼭 동기들과 소통하시고, URP를 먼저 겪으신 조교님들과도 적극적으로 의사소통 하면 많은 도움을 받으실 수 있을 것입니다.

Author: rcvlab

RCV연구실 홈페이지 관리자 입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다