사실 이번에 5주차를 작성해야 되는데 저번주에 4주차 글을 쓰는걸 까먹어 버렸다 ...
그래서 늦게라도 4주차에 한 활동을 정리해보려고 한다!
4주차에는 본격적으로 yolo 모델을 가지고 실험을 진행했다.
교수님께서 학과에 말씀해주셔서 학교 GPU 서버를 쉽게 빌릴 수 있었다.
사용한 데이터셋은 지난주와 동일하게 Fireman-UAV-RGBT 데이터셋을 사용하였다.
https://zenodo.org/records/13732947
FireMan-UAV-RGBT
The FireMan-UAV-RGBT dataset is a collection of UAV-captured RGB and thermal videos aimed at improving wildfire detection methods in boreal forests. Captured during four controlled burns in Finland from 2022 to 2023, the dataset includes 34 RGB videos and
zenodo.org
1. YOLOv5s + 기본 데이터셋
최종 목표가 YOLOv5s 모델을 사용한 산불 탐지 UAV이기 때문에 YOLOv5s 기본 모델로 데이터셋 검증을 진행하였다.
데이터셋 전처리 없이 YOLO가 학습 가능한 포맷으로 변경만 해주고 바로 학습을 돌려보았다.

근데 학습 결과가 정말 충격적이였다.
smoke 클래스를 제외하고 모든 클래스의 성능이 떨어지며, 전체 성능 또한 매우 낮은 것이였다.

내가 필요한 클래스는 일단 fire와 smoke이기 때문에 이 둘을 위주로 정리해보았다.
smoke는 어느정도 정확도가 나오는 반면 fire 클래스에 대한 정확도가 매우 낮았다.
smoke 클래스에 대한 학습만 잘 되고, 나머지는 거의 탐지 불가능한 상태가 된 것이다.
이런 문제가 발생한 원인은 여러가지가 있을 수 있다.
일단 가장 먼저 발견한 것은 클래스 수의 비율이였다.
fire클래스와 smoke 클래스 수를 비교해보니 거의 2:8로 클래스 불균형이 너무 심했다.
따라서 다음 실험에서는 fire 데이터에 대한 증강을 진행한 후 실험을 진행해보았다.
2. YOLOv5s + 전처리 및 증강 데이터셋
앞서 말했 듯 fire와 smoke 외에 다른 클래스는 필요하지 않기 때문에 fire 데이터 증강을 하는 김에 fire와 smoke를 제외한 나머지 클래스에 대한 정리도 진행해주었다.
fire와 smoke를 제외한 모든 클래스를 제거하고, fire 데이터셋에 대해 clip, rotate, blur 처리를 하여 기존 데이터에 비해 4배가 많아지도록 증강을 진행하였다.

데이터 증강을 하고 학습을 다시 돌렸지만, 오히려 증강 전보다 smoke에 대한 정확도는 물론, fire에 대한 정확도는 아예 0이라는 값이 나와버렸다 ..

fire 데이터에 대한 증강이 잘못된 것인지, 데이터 전처리를 잘못한 것인지 모르겠다.
일단 fire에 대한 성능이 너무 낮기 때문에 다른 데이터를 추가하는 방향도 고려해봐야 할 것 같다.
3. YOLOv5m + 기본 데이터셋
이게 YOLOv5s와 맞지 않는 데이터셋인가 라는 의문이 들어 일단 YOLOv5m 모델로도 학습을 돌려보았다.
1번 실험과 모델을 제외하고는 동일한 설정으로 동일한 환경에서 실험을 진행하였다.

fire는 여전히 탐지가 되지 않고 있으며, smoke에 대한 정확도는 1번 실험에 비해 향상된 모습을 보인다.
그 덕분에 전체 mAP 평균도 소폭 상승한 모습을 보인다.

결과 요약

전체적으로 smoke에 대한 성능은 나쁘지 않았지만, fire 클래스에 대한 성능은 처참할 정도로 낮았다.
데이터 증강을 하고 나서는 아예 탐지를 하지 못할 정도로 성능이 좋지 못했다 ..
문제점 및 보완 사항
이번주 실험에서 문제점은 fire에 대한 성능 문제이다.
fire 클래스의 탐지율이 극히 낮은데, 데이터 수 자체가 적고, smoke에 비해 fire 클래스의 크기가 너무 작은 탓도 있는 것 같다.
이를 데이터 증강을 통해 해결해보려고 했지만, 실패하였다.
따라서 다른 fire 객체가 포함된 데이터셋을 추가하거나, 다른 데이터셋으로 변경하는 방향을 고려하고 있다.
작은 객체가 많은데 배치 사이즈가 너무 커서 그런거 싶어 배치 사이즈 변경 실험도 동시에 진행해보면 좋을 것 같다.
교수님 피드백
교수님께서는 fire에 대한 탐지가 전혀 일어나고 있지 않으니까, 다른 데이터셋으로 테스트 해보는 것이 좋을 것 같다고 하셨다.
내가 참고한 논문에 데이터셋과 코드가 공개되어 있으면, 그걸 먼저 테스트 해보는 것이 가장 좋다고 하셨다.
'2025 학부 인턴 > N주차 리뷰' 카테고리의 다른 글
| 학부 인턴 8주차 정리 (0) | 2025.09.12 |
|---|---|
| 학부 인턴 7주차 정리 (1) | 2025.09.11 |
| 학부 인턴 6주차 정리 (2) | 2025.08.29 |
| 학부 인턴 5주차 정리 (7) | 2025.08.11 |
| 학부 인턴 3주차 정리 (5) | 2025.07.30 |