이번 주는 미니프로젝트 4차가 4일간 진행되었고, 국회의원 선거날이 수요일이어서 수요일에는 프로젝트가 진행되지 않았습니다.
첫 번째와 두 번째 날에는 차량 이미지를 통해 해당 자동차가 파손되었는지 아닌지를 판단하는 모델을 개발하는 프로젝트였습니다.
세 번째와 네 번째 날에는 인공위성 이미지를 통해 쿨루프를 식별하는 YOLO 모델을 만드는 프로젝트였습니다.
첫 번째와 두 번째 날에는 주어진 이미지를 전처리하고 train_test_split 라이브러리를 통해 학습, 테스트, 검증 세트로 분류한 후, 이 데이터를 모델에 학습시켜 예측을 해보는 프로젝트를 진행하였습니다.
초기에는 간단한 CNN(Convolutional Neural Network) 모델을 사용해 학습시켜 보았고, 정확도가 0.79가 나왔습니다.
이 결과를 보고, 제공된 이미지가 적음에도 불구하고 모델이 잘 예측하는구나라고 생각했습니다.
이후 가이드에 따라 전이 학습(Transfer Learning)을 시도했을 때, 정확도가 0.95까지 상승했고, 이를 통해 잘 개발된 모델의 효과를 실감했습니다.
추가로 제가 직접 hidden layer를 추가해 보았지만, 오히려 성능이 떨어지는 결과를 경험했습니다.
저는 이를 통해 이미 최적화된 모델에 불필요한 계층을 추가하면 성능이 오히려 저하될 수 있다는 생각을 하게 되었습니다.
또한, Keras 홈페이지에서 다양한 모델을 탐색해보고 시도해본 결과, InceptionV3 모델이 가장 우수한 성능을 보였습니다.
당시에는 데이터 전처리에서 그레이스케일 변환 또는 다른 방법, 데이터 증강 등을 시도해보지 않았습니다.
하지만 발표를 듣고 나니, 데이터 전처리와 증강을 다양하게 시도해볼 수도 있겠다는 생각이 들어, 이러한 방법들을 활용하면 모델의 성능을 더욱 향상시킬 수 있을 것이라는 깨달음을 얻은 프로젝트였습니다.
세 번째와 네 번째 날에는 YOLOv8 nano 모델을 이용하여 옥상을 보고 쿨루프 처리가 된 집인지 아닌지를 분류하는 프로젝트를 진행했습니다.
초기 데이터는 200장의 이미지가 있었으며, 이 데이터를 8:2 비율로 학습 세트와 검증 세트로 나누어 모델을 예측해 보았는데, 대체로 맞추긴 했지만 성능이 아직은 아쉬웠습니다.
데이터 전처리와 데이터 증강을 통해 성능을 개선해 보기로 결정했습니다.
처음에는 쿨루프가 주로 흰색으로 처리되기 때문에, 이미지에 그레이스케일을 적용하면 모델이 더 잘 예측하지 않을까 하는 생각으로 이미지에 그레이스케일을 적용해 보았습니다.
그러나 성능은 올랐지만, 엄청나게 향상되지는 않았습니다.
또한, 채도를 올리고 회전을 통해 이미지 증강을 해 보았지만, 이 또한 성능이 크게 차이 나지 않았습니다.
그래서 저희 조는 이미지를 더 추가하기로 결정했고, 약 140장의 이미지를 Roboflow를 통해 레이블링하고, 데이터 전처리와 데이터 증강을 통해 성능을 개선해 보았습니다.
그 결과, 이전에 예측하지 못했던 이미지들을 좀 더 잘 예측하게 된 것 같습니다!
이 사진은 올려도 되겠죠..? ㅎㅎ…
위와 같은 방식으로 테스트할 데이터도 함께 열심히 수집하여 50장을 탐지해보았는데, 예상보다 너무 잘 찾아내는 것을 보고 신기하더라구요!
Object Detection을 통해 결과가 이미지로 보이니까 더 재미있었습니다! 조원들과 신나게 프로젝트를 진행했습니다.
이전에 진행했던 게임 이미지 탐지 프로젝트에서는 성능이 기대만큼 나오지 않아 실망했었는데, 이번 프로젝트에서는 꽤 만족스러웠습니다!
다른 조들이 진행한 것을 보니, nano 모델뿐만 아니라 small, medium, large, extra 등 다양한 크기의 모델을 사용해 본 것을 보았습니다.
저는 그런 점을 생각해보지 못했는데, 더 큰 모델을 사용했다면 성능이 더 좋았을지도 모른다는 아쉬움이 남습니다.
다들 투표는 하셨나요?!!
저는 투표를 했답니다!! 비밀 투표니까 누구를 투표했는지는 다들 비밀이에요
저는 뭔가 일주일이 금방 흘렀던 것 같아요
목요일에는 조원들과 회식을 하고, 금요일에는 반 사람들과 저녁을 먹으러 갔는데, 그것도 결국 회식이 된 날이었어요 ㅋㅋㅋ
주말 예비군을 신청해서 토요일에 예비군 훈련을 다녀와서 당일은 너무 피곤해서 아무것도 못한 것 같아요
바쁘기도 하고 해서 이번 주는 정처기 공부외에 다른 공부를 많이 하지 못했는데, 다음 주에는 좀 더 열심히 공부해야겠다고 다짐했습니다.
다음 주에는 언어지능 딥러닝을 배우게 되는데, 기대되고 있습니다!
이번 기간에 배웠던 CNN과 YOLO도 재미있었던 만큼, 언어지능도 재미있을 것 같습니다.
모든 에이블러님들 화이팅입니다~!