• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

custom dataset을 tfrecords로 변환할 때 디렉토리 문제

21.12.10 16:50 작성 조회수 204

0

안녕하세요 열심히 수강하고 있는 수강생 입니다.

현재 efficientDet 강의를 수강하고 있고, tfrecord, 그중에서 pascal voc의 xml annotation 을 automl 수행을 위한 tfrecord로 변환하는 부분에 대한 질문이 있습니다.

질문은 기존 pascal voc dataset이 불완전한 상태여도 tfrecord로 변환하는데 문제가 없을까요? 

제가 여기서 배운 걸로 프로젝트를 진행하고 있거든요.

영상처리를 하기위해 dataset을 직접 수집하고 labeling도 한 상태에서 tfrecord로 변환하고 최종학습하려 합니다.

그런데 detection만 하려는 목적 상 아무래도 segmentation은 필요가 없을 것 같아서 object, class, imageset 등 segmentation 관련 폴더는 유지하되 내용은 비우거나 더미이미지파일로 채우려고 하거든요.

그런데 tfrecord 특성을 보니 image와 annotation을 묶어서 저장하는 형태잖아요. 그래서 dataset의 구성의 완결성과 품질을 요구할 것으로 예상하는데, 저희 프로젝트는 segmentation에 시간이나 노력을 소모하고 싶진 않거든요

그래서 비워둔 상태나 형식만 갖춰 놓아도 tfrecord를 구성하는데에는 문제가 없을까요?

 

추가로 데이터셋 디렉토리에서 main은 꼭 구성을 해야 val, train을 구분할 수 있는 것같은데, 그 이외에 예를 들어 aeroplane_train 등 class 별로도 구분하고 그걸 txt파일로 남겨놔야하나요?

 

 

답변 1

답변을 작성해보세요.

0

안녕하십니까 

세그멘테이션 관련 디렉토리는 없어도 tfrecord 만드는데 무방할 거 같습니다

음 그리고 추가로 질문하신 부분은 제가 잘 이해를 못했는데 좀더 상세하게 내용 추가 부탁드립니다 

kkkk님의 프로필

kkkk

질문자

2021.12.11

답변 감사합니다

 

추가 질문은 pascal voc에서 tfrecord로 변환할 때 train, val을 구분해서 변환하시던데 그 데이터셋 스플릿을 main의 텍스트파일에서 가져오시더라구요

voc2007 - imagesets - main - train.txt 

그렇다면 만약에 objectclassname_trainval 이런식으로 데이터스플릿을 하고싶지 않다면 텍스트파일을 만들지 않아도 되겠죠?

create_pascal_tfrecord.py를 이용하실때는 학습 세트 지정을 --set=train 같이 해주셔야 합니다.
그리고 --set=train 이 동작하려면 train.txt 파일이 있어야 합니다.