딥러닝/컴퓨터비전

[컴퓨터비전] Cityscapes annotation을 COCO (.json)로 변경하는 방법

johyeongseob 2024. 9. 19. 23:39

Cityscapes 2 COCO

참고 포스팅: https://tillbeemelmanns.github.io/2020/10/10/convert-cityscapes-to-coco-dataset-format.html

 

How to convert Cityscapes dataset to CoCo dataset format - Till Beemelmanns

Cityscapes is a great dataset for semantic image segmentation which is widely used in academia in the context of automated driving. This dataset provides pixel-precise class annotations on the full image from a vehicle’s perspective. However, sometimes y

tillbeemelmanns.github.io

참고 깃허브: https://github.com/TillBeemelmanns/cityscapes-to-coco-conversion

 

GitHub - TillBeemelmanns/cityscapes-to-coco-conversion: Cityscapes to CoCo Format Conversion Tool for Mask-RCNN and Detectron

Cityscapes to CoCo Format Conversion Tool for Mask-RCNN and Detectron - TillBeemelmanns/cityscapes-to-coco-conversion

github.com

Cityscapes 다운로드: https://www.cityscapes-dataset.com/login/

 

Login – Cityscapes Dataset

For downloading the data or submitting results on our website, you need to log into your account.

www.cityscapes-dataset.com

Cityscapes 공식 설명: https://github.com/mcordts/cityscapesScripts

 

GitHub - mcordts/cityscapesScripts: README and scripts for the Cityscapes Dataset

README and scripts for the Cityscapes Dataset. Contribute to mcordts/cityscapesScripts development by creating an account on GitHub.

github.com

 

다운로드 받을 자료: gtFine_trainvaltest.zip (241MB), leftImg8bit_trainvaltest.zip (11GB)

 

1. 깃허브에서 zip 다운로드하기

git clone https://github.com/TillBeemelmanns/cityscapes-to-coco-conversion

 

2. 깃허브에서 다운받은 폴더를 아래 구성처럼 만들기: cityscapes 홈페이지에서 받은 gtFine폴더와 leftImg8bit 폴더 넣어주기, annotation 빈 폴더 만들기

data/
└── cityscapes
    ├── annotations
    ├── gtFine
    │   ├── test
    │   ├── train
    │   └── val
    └── leftImg8bit
        ├── test
        ├── train
        └── val
main.py
inspect_coco.py
README.md
requirements.txt

 

3. 가상환경 만든 후, 지정 폴더로 위치 이동해서 아래 두 코드 순서대로 실행하기

pip install -r requirements.txt 
python main.py --dataset cityscapes --datadir="data/cityscapes" --outdir="data/cityscapes/annotations"

 

실행 후에 콘솔창에 "Warning: invalid contours." 라는 경고창이 많이 발생하는데 무시해도 된다.

 

4. 결과 확인 코드 실행

python inspect_coco.py --coco_dir data/cityscapes

 

해당 코드 실행하면 np.bool오류가 발생할 수도 있는데 NumPy 1.20.00에서 bool 지원이 종료되었기 때문에 파이썬 내장 bool을 사용해야 한다. 오류가 발생한 코드로 가서 np.bool  bool로 바꾸어 주면 정상적으로 실행된다.

 

 

결과 화면