안경잡이개발자

728x90
반응형

  일반적으로 Object Detection바운딩 박스(Bounding Box)를 찾는 과제를 의미한다. 이때 자신만의 커스텀 데이터셋을 만드는 경우 LabelImg를 이용할 수 있다. 사진을 한 장씩 올려서 직접 사각형 바운딩 박스를 그리는 방식이다. 특히 PASCAL VOC와 같은 데이터셋의 형식(format)에 맞게 데이터셋을 만들 수 있다.

 

  ▶ LabelImg 다운로드: tzutalin.github.io/labelImg/

 

LabelImg

 

tzutalin.github.io

 

  LabelImg 프로그램은 다음과 같이 자신의 운영체제에 맞는 것으로 선택해 설치할 수 있다.

 

 

  이후에 프로그램을 선택하여 실행할 수 있다.

 

 

  결과적으로 [Open] 버튼을 눌러 한 장의 이미지를 생성할 수 있다.

 

 

  이후에 바운딩 박스를 그리는 방법은 간단하다. 단순히 [Create RectBox]를 눌러 드래그 앤 드롭한 뒤에 레이블을 지정하면 된다. 이미 존재하는 레이블이 아닌 경우 새롭게 입력한 뒤에 [OK]를 누른다.

 

 

  필자는 다음과 같이 2개의 Object를 찾아 기입했다. 차례대로 손(hand)과 잎(leaf)이다.

 

 

  이후에 파일을 저장하면 된다. 만약 자신이 PascalVOC 형식을 따르는 데이터셋을 만들고자 한다면 PascalVOC가 보이도록 설정하여 [Save] 버튼을 누르면 된다.

 

 

  결과적으로 이미지 파일이 존재하는 위치에 다음과 같이 .xml 파일이 생성된다. 파일의 형식은 PASCAL VOC 형식을 따른다. 내용을 확인해 보면 각각 Object마다 <object> 태그를 가지며, Bounding Box의 위치를 4가지 파라미터로 가리키는 것을 알 수 있다. (xmin, ymin, xmax, ymax)

 

728x90
반응형