너도 할 수 있는, 너도밤나무 코딩

[DatasetHelper] YOLO 학습용 데이터셋 준비와 증강을 자동화하는 나만의 도구 본문

인공지능(AI, Artificial Intelligence)/비전 AI(Vision AI)

[DatasetHelper] YOLO 학습용 데이터셋 준비와 증강을 자동화하는 나만의 도구

곡마일장 2025. 8. 22. 07:20
반응형

YOLO 기반 객체 탐지 모델을 학습할 때 가장 큰 고민 중 하나는 바로 데이터셋 준비입니다.
이미지와 라벨링 파일을 YOLO 형식에 맞게 변환하고, 데이터를 증강하며, 학습/검증/테스트 폴더로 나누는 과정은 생각보다 번거롭습니다.

그래서 저는 이 모든 과정을 자동화하고 누구나 쉽게 사용할 수 있는 GUI 도구, DatasetHelper를 만들게 되었습니다.

이 글에서는 DatasetHelper의 기능과 사용법, 그리고 제가 개발하면서 중요하게 생각한 점을 상세히 소개합니다.

'GitHub 바로가기'

DatasetHelper 레포지토리


YOLO 데이터셋 준비의 번거로움

YOLO 학습용 데이터셋을 만들면서 자주 겪는 문제는 다음과 같습니다.

  1. 어노테이션 변환 문제: VOC XML이나 COCO JSON 형식을 YOLO txt 파일로 변환해야 함
  2. 데이터 부족 문제: 학습용 데이터가 적으면 모델 성능이 떨어지므로 증강 필요
  3. 데이터셋 분할 문제: train, val, test 폴더로 데이터를 나누는 과정이 반복적이고 수동적임

DatasetHelper는 이러한 문제를 한 번에 해결하도록 설계되었습니다.


DatasetHelper 주요 기능

1. 어노테이션 포맷 변환 (changeAnnotation)

DatasetHelper는 다양한 포맷의 어노테이션 파일을 YOLO 형식으로 자동 변환합니다.

  • VOC XML, COCO JSON 등 다양한 포맷 지원
  • 클래스 매핑 기반 일괄 변환
  • 수동 변환 필요 없음

어노테이션 변환

SEO 키워드: YOLO 어노테이션 변환, VOC → YOLO, COCO → YOLO


2. 이미지 데이터 증강 (dataAugmentation)

데이터가 부족할 때 학습 성능을 높이기 위해, DatasetHelper는 이미지 증강 기능을 제공합니다.

  • 회전, 뒤집기, 색상 변화, 노이즈 추가 등 다양한 증강 기법 지원
  • bbox 정보와 연동되어 정확한 라벨 유지
  • YOLO 학습 데이터셋 다양성 증가

데이터 증강

SEO 키워드: YOLO 데이터 증강, 이미지 증강, 객체 탐지 데이터셋 증강


3. 데이터셋 자동 분할 (spliter)

YOLO 학습용 데이터를 train/val/test로 나누는 과정도 자동화했습니다.

  • 이미지와 txt 라벨을 함께 이동
  • 자동 폴더 구조 생성 (images/train, images/val, images/test)
  • 반복 작업 최소화

데이터 분할

SEO 키워드: YOLO 학습 데이터셋 분할, train val test 자동 분할


4. 직관적인 GUI 지원

DatasetHelper는 Python tkinter 기반 GUI를 제공합니다.

  • 명령어 입력 없이 버튼 클릭만으로 데이터셋 준비 가능
  • 경로 선택, 변환, 증강, 분할까지 모두 직관적으로 수행
  • 프로그래밍 경험이 없어도 사용 가능

SEO 키워드: YOLO GUI 데이터셋 툴, YOLO 데이터셋 관리 툴

 

향후 업데이트 계획

 

DatasetHelper는 지속적으로 업데이트될 예정입니다.

  • 다양한 증강 기법 추가
  • 더 많은 어노테이션 포맷 지원
  • GUI 개선 및 사용자 피드백 반영

SEO 키워드: YOLO 데이터셋 자동화, 객체 탐지 데이터셋 관리, YOLO 데이터셋 툴 업데이트


결론

DatasetHelper는 제가 직접 만든 YOLO 학습용 데이터셋 준비 자동화 툴입니다.

  • 데이터셋 준비 시간 단축
  • 오류 없는 bbox 변환과 자동 폴더 구조
  • 직관적인 GUI로 누구나 사용 가능

YOLO 학습을 준비하는 분이라면, DatasetHelper로 데이터셋 관리와 증강 과정을 손쉽게 자동화할 수 있습니다.

GitHub에서 DatasetHelper 확인하기

반응형