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

shin643님의 프로필 이미지

작성한 질문수

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

개별 Json 어노테이션 파일 및 2개 이상의 라벨링 속성

해결된 질문

23.07.29 13:04 작성

·

564

1

안녕하세요. 강의 들으면서 이미지 디텍션에 깊은 이해를 하게 되었습니다.

2가지 문의 드립니다.

첫번째, 학습데이터를 입수했는데, PASCAL VOC와 같이 이미지별로 annotation이 존재하나, XML이 아닌 JSON 형식입니다. COCO 또는 YOLO 포맷으로 변환하고 싶습니다.

이런 경우는 자바 프로그램등을 이용하여 JSON을 XML로 변환후, COCO나 YOLO로 변환해야 하는 방법을 사용하는지, 적정한 변환 방법이 궁금합니다.

 

두번째, 이미지의 라벨이 2가지 이상 일때는 어떻게 학습데이터를 구성해서 학습해야 하는지 궁금합니다.

만약에 공작기계의 주요 부품과 상태를 진단한다고 할때,

부품은 베어링부, 조인트부, 절삭부의 3가지가 있고,

상태는 normal과 abnormal의 2가지

고장상세는 깨어짐, 비틀림의 2가지 있다고 했을때,

디텍션에서 조인트부-normal 또는 조인트부-abnormal-깨어짐, 이런식으로 디텍션을 할 수 있도록 학습시키려고 할때 어떻게 해야하는지 궁금합니다.

감사합니다. 더운 여름 건강 유의하십시요.

 

 

답변 1

0

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

2023. 07. 29. 21:03

안녕하십니까,

  1. COCO 역시 JSON 포맷입니다. 지금 가지고 계신 Annotation이 Json 포맷이긴 한데, key value가 Coco와 맞지 않아서 그런건지요?

    기존 데이터가 어떻게 생겼고, 이걸 어떻게 변경하고 싶으신건지 자세히 샘플로 적어 주셨으면 합니다.

  2. 부품은 베어링부, 조인트부, 절삭부의 3가지가 있고,상태는 normal과 abnormal의 2가지

    고장상세는 깨어짐, 비틀림의 2가지 있다고 했을때라며 각 경우 만큼 클래스를 만들어서 annotation 작업을 해주셔야 할 것 같습니다.

    예를 들어 베이링부-normal 는 클래스 0, 베이링부-abnormal-깨어짐은 클래스 1, 베이링부-abnormal-비틀림은 클래스 3과 같이 해서 조인트부, 절삭부 역시 마찬가지로 클래스 레이블링 작업을 해주시면 될 것 같습니다.

shin643님의 프로필 이미지
shin643
질문자

2023. 07. 29. 21:32

넵 감사합니다.

1번은 JSON 파일이 coco와 같이 하나의 annotation jshon 파일이 아닌, 각 이미지마다 개별로 json 파일이 있는 경우 였습니다.(예를 들어 jpg 파일 100개, json 파일 100개)

json 파일에서 x, y, width, height를 읽어들여서, yolov5 형식으로 변환시켰습니다.

이제 생각해보니, 비전 딥러닝을 하려면, 교수님께서 강조하신것처럼 json과 xml을 자유자재로 가지고 놀정도로 다룰 수 있어야 한다는 것을 깨달았습니다.

2번은 교수님 말씀 들어보니 그 방법이 타당한것 같습니다.

제가 예를 든것은 (베어링부, 조인트부, 절삭부 3개) X (normal, abnormal 2개) X (깨어짐, 비틀림 2개)라면 총 8개의 클래스 레이블링 작업을 해주는것으로 해보도록 하겠습니다.

빠른 답변 감사합니다.

강의 듣고, 업무에 응용해보고 있습니다. ^^

shin643님의 프로필 이미지

작성한 질문수

질문하기