CAFE

과제게시판

[딥러닝] 객체검출용 레이블링(딥러닝9)

작성자2201042 장성진|작성시간26.06.23|조회수13 목록 댓글 0

1단계 - 데이터셋 폴더 구조 생성

  작업 폴더(D:\Users\tjdwls\pytorch\dataset2) 아래에 다음 두 폴더를 생성한다.



 


2단계 - 이미지 촬영 및 배분

  검출 대상 객체(big robot, small robot)를 포함한 사진을 스마트폰으로 직접 촬영한 영상을 사용했다.
  촬영 시 촬영 각도, 거리, 영상 내 객체 수를 다양하게 변경하여 유사한 영상이 반복되지 않도록 한다.

  - 촬영된 이미지를 8:2 비율로 분할
    - trainimg/ : 160장 (IMG_7598.JPG ~ 등, 스마트폰 촬영 + 카카오톡 전송 이미지)
    - valimg/ : 40장
  - 총 200장 사용

 

 

 


3단계 - labelme 설치 및 실행

  Anaconda Powershell Prompt를 열고 labelme 전용 가상환경을 활성화한 뒤 실행한다.

 

 

 


4단계 - trainimg, valimg 레이블링

  1. labelme 상단 메뉴 → File → Open Dir → dataset2\trainimg 폴더 선택
  2. 첫 번째 이미지가 열리면 상단 메뉴 → File → Save with Image Data 앞의 체크 해제
  (체크하면 이미지 데이터가 json에 포함되어 파일 크기가 커짐)
  3. 상단 메뉴 → Edit → Create Rectangle 선택
  4. 객체를 감싸는 바운딩박스의 좌측 상단 클릭 → 우측 하단 클릭
  5. 클래스 레이블 입력창에 레이블 입력 후 OK
    - 큰 로봇 → big robot
    - 작은 로봇 → small robot
  6. 영상에 존재하는 모든 객체에 대해 위 과정 반복
  7. File → Save로 저장 → 이미지와 동일한 이름의 .json 파일 생성됨
  (예: IMG_7598.JPG → IMG_7598.json)
  8. 툴바의 Next Image를 클릭하여 다음 이미지로 이동, 160장 전체 반복

  결과적으로 trainimg 폴더에 아래와 같이 쌍으로 파일이 생성됨:
  IMG_7598.JPG  /  IMG_7598.json
  IMG_7599.JPG  /  IMG_7599.json
  ...  (160쌍)

  각 json에는 바운딩박스 좌표(좌상단/우하단)와 클래스 레이블이 저장됨

 

  마지막으로  File → Open Dir → dataset2\valimg 선택 후 동일한 방법으로 40장 전체 레이블링.

 

 


5단계 - labels.txt 작성

  아래 내용으로 labels.txt 파일을 작성하고, trainimg와 valimg 폴더 각각에 저장한다.
  (처음 두 항목은 labelme2coco 변환 시 반드시 필요한 고정값)

 

 

 

  6단계 - COCO 형식으로 변환

  160개/40개의 개별 json 파일을 COCO 형식의 통합 json 1개로 변환하기 위해 labelme2coco.py를 사용했다.

  Anaconda Powershell에서 dataset2 폴더로 이동 후 실행

 

  # 훈련용 변환
  python labelme2coco.py trainimg train --labels trainimg\labels.txt
  # 검증용 변환
  python labelme2coco.py valimg val --labels valimg\labels.txt

  변환 결과로 train/, val/ 폴더가 생성되고 각각 아래 구조로 만들어진다.

  train\
    JPEGImages\       ← trainimg의 이미지 160장 복사
    Visualization\    ← 레이블링 결과 확인용 이미지 (바운딩박스 시각화)
    annotations.json  ← 160개 json을 하나로 통합한 COCO 형식 파일
  val\
    JPEGImages\
    Visualization\
    annotations.json

 

 

 

 

7단계 - 레이블링 결과 확인

  train\Visualization\ 폴더의 이미지를 열어 바운딩박스 위치와 클래스 레이블이 올바르게 표시되는지 육안으로 확인한다.

 

 

 

다음검색
현재 게시글 추가 기능 열기
  • 북마크
  • 신고 센터로 신고

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼