물체 탐지 데이터셋 만들기
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 감소) 확인.
모델 개선 방향
- 데이터셋:
- 데이터 부족: 더 많은 데이터를 수집하거나 증강
- 어노테이션 오류: 라벨링 정확성 재검토 (Label Studio에서 수정).
- 클래스 불균형: 소수 클래스 데이터 증강.
- 이미지 품질: 저해상도, 노이즈 문제 확인.
- 학습 파라미터:
- 에폭 수(epochs): 더 많은 에폭 학습 (과적합 주의).
- 학습률(lr): 너무 높거나 낮지 않은지 확인 (조절).
- 배치 크기(batch): GPU 메모리에 맞춰 최적화.
- 사전 학습된 모델: 모델 크기: 더 큰 YOLO 모델을 시도하거나 다른 사전 학습 모델 사용
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.