3.2.5. 객체 증강

1. 실험 문제

다른 클래스(선박, 제트스키)에 비해 돌고래의 정확도가 상대적으로 낮아서 이를 해결하고자 한다.

2. 가설

데이터 증강을 통해 기존 데이터셋에 돌고래 객체를 더 늘린다면 모델의 돌고래 탐지 성능이 향상 될 것이다.

3. 실험 방법

3-1. 돌고래 증강 재료

3-2. 증강

  1. background image 레이블 순회

  2. 객체가 존재하지 않을 경우, 증강 없이 이미지와 레이블을 복제

  3. 종류와 상관없이 객체가 존재할 때 25퍼센트의 확률로 이미지에 증강을 적용

  4. Foreground mask 중 랜덤하게 하나를 선택

  5. 마스크와 레이블을 0.1~0.2 사이로 랜덤하게 리사이징 (증강 재료 이미지의 사이즈와 기존 학습 데이터셋 패치 사이즈를 고려)

  6. 회전과 반전을 랜덤하게 적용

  7. poisson blending을 이용해 이미지에 붙여넣음

  8. 증강된 이미지 마스크에 대응되는 bbox의 좌표를 구해 레이블 저장

증강 전 이미지
증강 후 이미지

3-3. 실험 과정

  1. 기존 데이터셋의 돌고래로 증강했을 때 성능이 하락

  2. 외부에서 돌고래 마스크를 가져와서 학습했으나 육지 위 FP 발생

  3. 객체가 없는 이미지에 붙여넣기 -> 객체가 존재하는 이미지에 붙여넣기 로 증강 방식 변경

4. 실험 결과

  • 돌고래에 대한 recall, precision, f1, AP50-95가 모두 향상

  • 반면에 선박의 탐지 성능은 전반적으로 하락

model_name
recall(ship)
recall(dolphin)
recall(jetski)
precision(ship)
precision(dolphin)
precision(jetski)
f1(ship)
f1(dolphin)
f1(jetski)
AP50(ship)
AP50(dolphin)
AP50(jetski)
AP50-95(ship)
AP50-95(dolphin)
AP50-95(jetski)
mAP50
mAP50-95

YOLOv8l_coco_dva

0.66

0.505

0.913

0.93

0.819

1

0.773

0.625

0.955

0.815

0.644

0.956

0.753

0.373

0.752

0.805

0.626

YOLOv8l_coco_dva_aug

0.513

0.957

0.87

0.795

0.996

1

0.624

0.976

0.93

0.664

0.977

0.935

0.416

0.923

0.79

0.859

0.71

5. 결론

증강된 데이터셋은 돌고래 탐지 성능을 유의미하게 개선하는 데 기여하였다.

  • mAP와 Recall 상승은 증강된 객체 수의 증가와 다양성 확장의 결과로 판단된다.

  • 적용 결과: 기존 모델 대비 높은 돌고래 탐지 성능 및 안정성 확인.

Last updated