맡은 역할과 수행한 작업
<aside>
프로젝트 PM으로서 mAP@[0.75:0.95] 지표 출력 코드 추가, 추가 데이터 정제, 그리고 여러 모델의 추론 결과를 결합하는 앙상블 파이프라인 구축 및 검증을 주도했습니다.
평가 지표 커스텀 (PR #26) : 검증(Val) 진행 시 프로젝트 공식 평가 지표인 mAP@[0.75:0.95]를 출력할 수 있도록 평가 코드를 추가하고, 출력 형식도 보기 좋게 개선하였습니다.
=======================================================
Validation Metrics
=======================================================
Metric Name | Value
-------------------------------------------------------
metrics/precision(B) | 0.98685
metrics/recall(B) | 0.97653
metrics/mAP50(B) | 0.98525
metrics/mAP50-95(B) | 0.97494
fitness | 0.97494
metrics/mAP@[0.75:0.95](B) | 0.96463
=======================================================
https://github.com/Daybreak53/HealthEat-Pill-Detection/pull/26
추가 데이터셋 갱신 : 어제 정제한 330장의 약제 조합 이미지를 Kaggle 데이터셋에 갱신했습니다. 또한, 타겟 56개 클래스 중 지표가 낮아지는 주요 문제점 중 하나였던 특정 약제(K-012247)의 총 432장의 단일 이미지를 추가 추출하고 Kaggle 데이터셋에 업데이트했습니다.
앙상블(Ensemble) 기법 도입 및 후처리 : 싱글 모델 성능의 한계를 돌파하기 위해 ensemble_boxes 라이브러리의 WBF(Weighted Boxes Fusion) 알고리즘을 도입했습니다. 범수님의 YOLOv11x 결과, 저의 이전 최고 기록 모델(YOLOv11l), YOLO26 모델 등의 추론 결과(CSV)를 수합하고, 이미지당 점수가 높은 상위 4개 BBox만 남기는 커스텀 후처리 로직을 적용하여 앙상블을 수행했습니다.
</aside>
오늘 작업 완료도 체크
🟢 100% (완료 및 점검까지 완료)
<aside>
어제 전략 회의 때 분담한 역할을 모두 수행했습니다. 거기에 추가로 단일 모델의 한계를 극복하기 위해 계획했던 앙상블(WBF) 전략을 코드로 구현했고, 이를 통해 Kaggle 리더보드 최고 점수인 0.9802를 달성했습니다.
</aside>
오늘 협업 중 제안하거나 피드백한 내용
<aside>
YOLO11x 모델을 20 Epoch 돌리는 데 2시간이 소요되어 학습량에 고민하실 때, "Epoch은 넉넉히 주되 Patience를 5 정도로 짧게 잡아 조기 종료를 유도하고, 중간에 수동 중단하더라도 best.pt가 남으므로 안심하고 길게 돌리시라"고 의견을 드렸습니다.rembg 라이브러리로 배경을 제거한 합성(경구약제조합) 이미지를 생성하는 새로운 형태의 데이터 증강 아이디어를 팀에 공유했습니다.오늘 분석/실험 중 얻은 인사이트나 발견한 문제점
<aside>
데이터 이상치 원인 파악 : 희정님이 K-012247의 단일 이미지 대부분에 ****BBox 이상치가 있음을 공유해주셨고, 제가 이어받아 분석한 결과, AI Hub의 원본 json부터 수치가 잘못되어 있음 확인했습니다. 이에, AI Hub의 데이터라고 하더라도 다수의 휴먼 에러가 존재함을 의심하게 되었고, 약제 조합 이미지에서 추가로 json 누락, bbox 수치 누락 등 다양한 이상치를 확인하였습니다. 또한, 확인 결과 train에도 비슷하게 이상치가 13건 존재했습니다.
위 이상치들을 아래처럼 처리해 데이터셋을 다시 한번 갱신하였습니다.
WBF 앙상블의 위력 확인 : 여러 번의 실험 결과들을 단일 제출 파일로 합치되, WBF 라이브러리와 '이미지당 예측 BBox 개수를 강제로 4개로 제한(max_det=4)'하는 후처리 로직을 결합했습니다. 그 결과 0.96점대였던 모델들이 결합되어 0.98020이라는 점수로 상승하며, 객체 탐지에서의 앙상블 위력을 체험했습니다. </aside>
일정 지연이나 협업 중 어려웠던 점
<aside>
Colab GPU 리소스가 고갈되어 모델 학습을 제때 돌리지 못하는 병목이 있었습니다. 이를 극복하기 위해 캐글 노트북 환경으로 이주하는 데 약간의 학습 시간이 소요되었습니다. 또한, 여러 팀원의 csv 제출 파일을 취합하고 가중치를 다르게 주어 앙상블 코드를 짜는 과정에서 인덱스 에러 등의 자잘한 디버깅이 있었으나, 팀원들이 빠르게 파일을 공유해 주어 원활히 해결했습니다.
</aside>