개발 같이해요/PYTHON

[ 파이썬 ] COCO json 형식 YOLO-Segmentation txt 형식으로 변환하기

Rio - Moon 2023. 7. 3. 16:26
728x90
반응형

이번 포스팅에서는 labelme 에서 라벨링 하여 COCO json 파일형식을 YOLO txt 파일 형식으로
변환 하는 방법에 대해 알아보도록 하겠습니다.
 
단순 box 형식이 아닌 segmentation 형식임을 미리 밝힙니다.

 

 



 

데이터셋 훑어보기

 
현재 작업전인 제 상태는 이렇습니다.
 

이렇게 jpg 파일과 json 파일을 보실 수 있습니다.

json 파일의 내부 모습 입니다.
 


 

LabelMeToYoloSegmentation  깃 클론 하기

 
 
https://github.com/gyupro/LabelMeToYoloSegmentation.git

GitHub - gyupro/LabelMeToYoloSegmentation: Convert labelme format to yolo segmentation format

Convert labelme format to yolo segmentation format - GitHub - gyupro/LabelMeToYoloSegmentation: Convert labelme format to yolo segmentation format

github.com

 
LabelMeToYoloSegmentation 을 git clone 해줍니다.

폴더 구조입니다. 여기서 obj.names 에서 본인의 클래스명을 입력합니다.

현재 코드들을 보면, 당연하게도 실행이 안됩니다. 따라서 우리는 실행가능한 파이썬 파일을 하나 만들도록 하겠습니다.
다음챕터에서 실행파일을 생성하도록 하겠습니다.
 


 

파이썬 실행파일 생성하기

 
저는 임의로 do.py 라는 파일을 생성하였습니다.
do.py의 내용입니다.

더보기

전체코드

do.py

import os
import glob
from Convert import convert 
# ...

def convert_folder(folder_path):
    json_files = glob.glob(os.path.join(folder_path, "*.json"))
    for file in json_files:
        convert(file)

convert_folder('json폴더경로')

 
 


 

실행 및 확인

 
LabelMeToYoloSegmentation 경로에서 다음과 같이 입력합니다.

python do.py

 
결과화면

txt 파일로 잘 변환된 것을 확인할 수 있습니다.
 

반응형