한 달 동안 진행한 최종 프로젝트 결과 대상을 수상했다. 무려 국회의원상! 처음으로 팀 리더를 맡았는데 상까지 받아서 아주 의미있었다.
슬프게도 이번에도 주제를 한 번 바꿨다. 처음 설정한 주제는 양식 김의 성장 분석 및 모델 개발이었는데 프로젝트를 진행할 수록 데이터가 참 이상했다. 어떻게든 기워봤지만 이진분류 모델에서 정확도가 0.5 이상을 넘지 않는 대참사가 발생했다. 학습 횟수를 늘리면 과적합이 발생하고, 시계열 데이터여서 증강도 못하는 진퇴양난에 빠졌다. 결국 프로젝트 마감이 2주 남은 시점에 빠르게 주제를 바꾸고 이미지 데이터 라벨링부터 시작했다.
바꾼 주제도 AI허브 데이터와 함께했다. AI허브는 다양한 분야의 데이터를 제공하지만 한 가지 이해할 수 없는 점이 있다. 이미지 데이터와 라벨링 데이터가 함께 있는데 그 라벨이 yolo 형식이 아니라 폴리곤 형식이라는 것이다. 그런데 또 활용 모델에는 yolo가 있다. yolo label은 호락호락하게 넘겨주지 않겠다 이런 의미인 걸까?
LabelImg로 4명이 8천장씩 하루만에 3만장의 이미지를 라벨링했다. 분류 class를 4개로 한정해 해당되지 않는 이미지는 바로바로 삭제했고, 한 이미지 안에 한 class만 있어서 빠르게 끝낼 수 있었다. 특히 class를 미리 확정지었던 것이 큰 도움이 되었다.
일단 모델을 돌리면서 아웃풋과 주제를 디벨롭 시켰다. 팀원과 서로 아이디어를 제시하고 까고 제시하고 까면서 좋은 결과가 나왔다. 화물차 운전자 행동 탐지를 위한 IoT 카메라와 맞춤형 알림 전송을 위한 모바일 어플이 최종적으로 설정한 아웃풋이고, 이번 프로젝트에서는 핵심인 yolo 모델을 개발했다. yolo 모델을 시험해볼 수 있는 웹앱을 스트림릿으로 구현했고 어플리케이션 작동 예시를 설명하기 위해 간단한 데모 영상을 제작했다. 데이터 검증을 위해 딥러닝 모델로 이미지 피처를 추출하고 머신러닝 모델로 분류하는 과정도 거쳤다.
팀 리더로 프로젝트에서 많은 역할을 담당했다. 노션 정리부터 프로젝트 스토리라인 정리, ppt 제작까지 내가 코드를 짜지 않은 모델을 제외하고 모든 파트에 참여했다. 어떤 일을 할 때 다른 모든 걸 내려놓고 그 일에만 집중하는 편이라 힘들지는 않았다. 오히려 팀에 많은 것을 기여하고 결과물을 낼 수 있어서 뿌듯했다.
프로젝트 과정에서 고민했던 점은 전체적인 스토리가 내 머리에만 있다는 것이다. 이 분석을 하는 이유, 일반 차량이 아닌 화물차에 포커스를 둔 이유, 이 모델을 선정한 이유 등에 대해 당연히 다른 팀원들도 나와 같은 생각일 줄 알았는데 전혀 다른 생각을 하고 있고, 팀 외부로는 더욱 전달되지 않는 문제가 있었다.
리허설 발표에서 전체적인 흐름이 이해되지 않는다는 피드백을 받았다. PT를 어디서부터 고쳐야할지 고민하다가 기획자인 나, 발표자인 팀원, 발표를 듣는 강사님 사이 어디에서 lack이 발생했는지 생각해봤다. 기획자와 발표자 사이 이야기가 다른 것을 파악했고 내가 생각한 스토리를 전부 쓰고 발표 대본으로 정리해서 팀원들에게 전달했다. 서론 파트의 PT는 한 장도 수정하지 않고 최종 발표를 했고 1등이라는 성과를 얻었다.
조금 신기한 경험이긴 하다. 지금은 대면으로 프로젝트를 하고 멋사 AIS에서는 비대면으로 줌과 디스코드를 활용하며 프로젝트를 했다. 팀원 사이의 소통은 비대면일 때 더 원활하게 진행되었다. 모두가 프로젝트에 대해 잘 이해하고 같은 방향으로 일을 진행했다. 문서화의 중요성이 아닐까?
아쉬운 점은 이번 교육에서 결국 한 달짜리 프로젝트를 못 해봤다는 것이다. 처음 프로젝트 기간이 한 달이라고 들었을 때 그렇게 긴 프로젝트의 아웃풋은 대체 어떨까? 라는 궁금증이 들었는데 아직 해소되지 않았다. 데이터를 더 많이 학습시키거나, 모델 실험을 다양하게 해보거나, 앱 개발을 시작하는 등 할 수 있는 일들이 많은데 중간 프로젝트에도 이번에도 주제를 변경하는 바람에 한 달을 완전히 쏟지 못한 게 가장 아쉽다.
아직 readme 파일을 작성하는 중이지만 발표 자료나 포스터, 코드는 깃허브에서 확인할 수 있다.
https://github.com/seonseono/Abnormal_Driver_Detection
GitHub - seonseono/Abnormal_Driver_Detection: SW전문인재양성과정 4기 최종 프로젝트
SW전문인재양성과정 4기 최종 프로젝트. Contribute to seonseono/Abnormal_Driver_Detection development by creating an account on GitHub.
github.com
'프로젝트' 카테고리의 다른 글
로컬 프로젝트 폴더 GitHub 업로드 / There isn’t anything to compare / everything up-to-date 에러 해결 (0) | 2024.07.01 |
---|---|
최종 프로젝트 2주차 TIL : 한글 데이터 너무 무섭다... (1) | 2024.06.12 |
애증의 AI 허브 데이터 (0) | 2024.06.05 |
티스토리 hELLO 스킨 본문 글자색, 코드블럭 테마 커스텀 (0) | 2024.04.03 |
Colab에서 Kaggle api로 데이터 다운 받아서 사용하기 (0) | 2024.03.27 |