물체 탐지 데이터셋 만들기
LabelStudio
설치 및 실행
- 아나콘다 프롬프트에서
- 설치
pip install -U label-studio
- 실행
label-studio
- http://localhost:8080 으로 접속
회원 가입 및 로그인
프로젝트 만들기
- 이름 및 설명
- 데이터 불러오기
- 사용할 이미지 파일을 여기에 끌어다 놓음(Drag & Drop)
- 프로젝트를 만든 후 나중에 가져올 수도 있음
- 레이블링 셋업
- 경계 상자와 물체 탐지 (Object Detection with Bounding Boxes)
- 레이블링 인터페이스 설정
- 레이블 추가
- X 클릭하여 삭제
- 경계 상자 선 굵기
- 확대/축소 허용
- 확대/축소 버튼
- 회전 버튼
- 레이블 표시 위치
- 레이블 검색창
레이블링 방법
- 레이블 클릭
- 마우스로 경계상자 그림 (왼쪽 위에서 오른쪽 아래로 드래그)
- 수정하려면 여기를 클릭
내보내기
- 프로젝트 화면에서 Export 클릭
- YOLO with Images 선택
data.yaml 예시
data.yaml 파일을 아래와 같이 만들어 압축 파일 안에 추가
train: images # train 데이터의 폴더
val: images # validation 데이터의 폴더(여기서는 임시로 똑같게)
nc: 1 # 클래스 개수
names: ['clip'] # 클래스 이름 (Label Studio에서 사용한 순서와 동일하게)
미세 조정
- 설치
pip install ultralytics
- colab에 데이터셋 압축 파일 업로드
- 압축 해제
!unzip detection-annotation.zip
- 학습
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.train(data="data.yaml", epochs=100)
미세 조정 결과
- 출력:
- 각 에폭(Epoch)마다 Loss 값 (객체 감지, 분류, 박스 회귀 등) 감소 확인.
- Precision, Recall, mAP@0.5, mAP@0.5:0.95 값 상승 확인.
- 결과 저장 폴더:
- runs/detect/train/ 폴더에 학습 결과 저장.
- weights/best.pt: 가장 좋은 성능을 낸 모델 가중치.
- results.csv: 에폭별 상세 성능 지표.
- results.png: 학습 Loss 및 mAP 그래프.
- 그래프 확인:
- results.png 파일을 열어 Loss가 안정적으로 감소하고 mAP가 증가하는지 확인.
- 과적합 징후 (Validation Loss 증가, Validation mAP 감소) 확인.