인프런 커뮤니티 질문&답변

Ryoung seob Kwon님의 프로필 이미지
Ryoung seob Kwon

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

mask_rcnn활용, 데이터 coco 포맷 변환 오류

작성

·

285

0

선생님 안녕하세요 저는 현재 cityscape dataset을 바탕으로 kaggle mask_rcnn_nucleus 코드를 활용하여 segmentation을 해보려고 하고 있습니다.

  • 그에 따라 cityscape 데이터를 nulceus 데이터와 동일한 구조의 디렉토리로 정리하였는데요,

  • 이를 coco 포맷으로 변환하려고 하니, 아래 오류가 떠서 문의드립니다.

  • 파일 경로는 모두 맞게 입력한 것 같은데, 이미지를 못 읽고 있는 것 같습니다.. 'convert_nucleus_to_coco' 함수를 수정하거나 하지 않았는데 왜 이미지를 못읽는 걸까요?

(파일 경로)

230523파일경로.JPG

(오류 메세지)

convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', train_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/train_coco.json')
convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', val_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/val_coco.json')

_____아래 오류 메세지_____
/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen/aachen_000033_000019_gtFine_color/image/aachen_000033_000019_gtFine_color.png
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-63-d95f91ecbcb7> in <cell line: 1>()
----> 1 convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', train_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/train_coco.json')
      2 convert_nucleus_to_coco('/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/03_masks/aachen', val_ids, '/content/drive/MyDrive/vision/DLCV_New-main/kaggle/train_data_jskim/coco_output/val_coco.json')

<ipython-input-61-6f0ad3172ae3> in convert_nucleus_to_coco(data_root_dir, image_ids, out_file)
     15 
     16         print(image_path)
---> 17         height, width = cv2.imread(image_path).shape[0:2]
     18         # 개별 image의 dict 정보 생성
     19         image_info = dict(file_name=file_name,

AttributeError: 'NoneType' object has no attribute 'shape'

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

해결이 되었다니, 다행입니다. 즐강 하십시요.

0

아! 원인을 알 것 같습니다.

'convert_nucleus_to_coco' 함수에서 image_path 맨 뒤에 붙은 + '.png' 부분을 제거하니 기존 파일명과 일치하여 돌아갑니다!

image_path = os.path.join(image_id_dir, 'image/' + image_id)
Ryoung seob Kwon님의 프로필 이미지
Ryoung seob Kwon

작성한 질문수

질문하기