0525-라벨링 방법 및 양식

zln·2022년 5월 25일
0

학습한 내용

데이터 라벨링

데이터 라벨링이란 이미지, 영상, 텍스트 등의 데이터에 사람이 데이터 가공 도구를 활용하여 인공지능이 학습할 수 있도록 다양한 정보를 목적에 맞게 입력하는 것을 의미

라벨링 tool

  1. Bounding Box – 물체를 직사각형 모양의 박스 안에 포함되도록 그리는 라벨링 방법
  2. Polygon – 다각형 모양으로 객체의 가시 영역 외곽선을 따라 점을 찍어 그리는 라벨링 방법입니다.
  3. Polyline – 여러 개의 점을 가진 선을 활용하여 특정 영역을 라벨링 함으로써 인도, 차산 등을 구분
  4. Point – 특정 지점을 라벨링 하는 작업으로 안면 인식을 통한 감정 분석과 같이 정밀하고 섬세한 작업

라벨링 양식

  1. 어노테이션 파일
  • 라벨 및 어노테이션 정보가 기록된 파일
  • classification은 별도의 파일이 불필요하거나 detection, segmentation을 위한 학습을 위해서는
    어노테이션 파일 필요
  1. 학습을 위한 데이터 읽기와 일반적인 표현 방법
  • 학습을 위해 필요한 내용 : 이미지 파일 특정 id, 이미지에 대한 어노테이션 정보
  • 이미지 파일 특정 id : 파일명, 파일 주소 등
  • 어노테이션 정보 : 라벨, bbox 구성 좌표, polygon 구성 좌표 등

실습 1- custom data


파일 여러개가 있을 때 그 파일들의 경로를 각 이름으로 라벨링해주는 실습이다.
glob은 파일과 폴더 경로를 불러오는? 함수다.

실습 2- bbox, polygon

1. bbox

coco json 읽은 후 이미지 명, 라벨명, bounding box 좌표를 이용하여 그리기

-> 결과

2. polygon

coco json 읽은 후 이미지 명, 라벨명, polygon 좌표를 이용하여 그리기

-> 결과

과제 1

  1. JSON 파일 읽고 처리하기 위한 CustomDataset 정의
  2. 바운딩 박스 좌표를 활용하여 이미지 Crop
  3. 255x255 사이즈로 이미지 저장(padding 작업을 통한 뭉게지는 현상 방지)

-> 1번까지는 실습 2와 같다.

-> 결과


image_result 폴더에 각각의 img_id로 라벨링된 이름으로 padding된 이미지가 저장이 된 것을 볼 수 있다.

과제 2

라쿤 COCO JSON 파일에서 바운딩 박스(x, y, w, h) 값을 저장하는 CSV 코드 작성

bbox의 값을 불러오는것까지는 실습 2와 같고, 그 값들을 각각의 list에 저장시켜 pandas를 이용해 csv파일로 만들어주었다.

-> 결과


이런식으로 file이름, x, y, w, h의 값들이 저장된 것을 확인할 수 있다.

학습한 내용 중 어려웠던 점 또는 해결못한 것들

해결방법 작성

실습 2를 진행하면서 위와 같은 오류가 자꾸 떠서 구글링을 하여 pip uninstall opencv-python-headless를 통해 해결하였다.

학습 소감

저번 과제는 사실 성공하지 못하고 넘어갔는데 이번에는 성공도 하고 이해까지 해서 완벽한 것 같다

0개의 댓글