프로그래밍/데이터 사이언스 공부

Yolov8은 두개 이상의 데이터셋으로 학습시킬 때 오류가 발생한다

이자다 2023. 10. 24. 09:27
반응형

현재 Roboflow에 두개의 데이터셋을 제작 중이다. 

 

영상 소스가 많아서 이것들을 프로젝트에 집어넣다보니 계정 플랜을 업그레이드하지 않으면 영상 소스를 더 넣을 수 없게 되어 분리하였었다.

 

현재 차종 6가지에 대한 분류와 추적을 위해 yolov8 모델을 파인튜닝 중인데 그동안 두개의 데이터셋으로 학습시킨 것이 결과가 너무 안좋았다.

 

내가 알기로는 데이터셋이 달라도 이름만 같다면 같은 이름의 클래스에 대해 추가학습을 하는 것으로 아는데 성능이 전혀 개선되지 않고 학습을 하면 할수록 오히려 퇴보되는 것 같아 모델을 새로 한 데이터셋으로만 학습시켜보았다.

 

결과가 오히려 좋았다.

 

한 데이터셋을 200에폭 정도 학습시켰는데 지금까지 두가지 데이터셋으로 수백에폭은 학습시킨 모델보다 성능이 좋았다.

 

그리고 그 모델에 다른 데이터셋을 100에폭 학습시킨 결과물은 오히려 성능이 저하 되었다.

 

다른 데이터셋이라도 같은 이름을 가진 클래스가 추가학습이 된다고 하는데 뭐가 꼬인 것 같다.

 

차량 6종에 대한 식별을 위한 모델이지만 기존 데이터셋과는 다르게 다른 데이터셋은 차량 5종 클래스 밖에 없어서 yaml파일을 수정하여 클래스를 임의로 하나 추가하여 6종으로 만들었는데 여기서 뭔가 꼬인 건지, 데이터셋에서 클래스의 순서가 yolov8 학습에는 영향을 미치는 요소인지는 잘 모르겠다.

 

이 부분은 Yolov8 github 이슈에 질문을 해봐야겠다.

반응형