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

김희선님의 프로필 이미지
김희선

작성한 질문수

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

안녕하세요~^^

작성

·

515

0

안녕하세요~!^^

혹시 coco dataset과 kitti dataset을 합쳐서 딥러닝시켜 object detection 시킬 수 있을까요?

있다면 어떻게 할 수 있을까요?

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

답변 7

1

합쳐서 학습을 시키려면 많은 작업이 필요합니다. 데이터를 concatenation(융합)하는 방식을 사용하는 것도 있지만, 전처리등 많은 과정이 요구될 것 입니다. 

따라서 위와 같은 학습은 coco dataset으로 Pretrained된 weight를 가지는 모델에서, Kitti dataset을 적용해서 다시 학습을 시키는 방식을 사용하시는 것을 추천드립니다. 

0

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

1.어떤 패키지들은 학습시 이미지 사이즈를 모두 고정되게 Resize를 한 뒤에 학습을 합니다. 사용하시는 패키지에 이 기능이 있으면 상관없지만  일반적으로 이미지 사이즈를 동일하게 만들어주고 학습합니다. 

2. 네, 그렇게 train하시면 됩니다.

3. 일반적으로 모델을 학습할 때 coco로 pretrained 기반 모델의 weight 값을 먼저 로딩한 뒤에 학습합니다. COCO 데이터 세트로 pretrained 된 기반 모델을 활용한다는 의미는 모델의 초기 weight값을  random하게 설정하지 않고, 이미 coco로 pretrained된 weight값을 사용한다는 것입니다. 강의를 좀 더 들으시면 어떻게 이를 적용했는지 아실 수 있습니다. 

마지막으로 실험적으로 이를 테스트 해보시는것은 좋습니다만, 큰 성능 향상을 기대하기는 어려울 수 있으니 이점 감안하셔서 추진해 보셨으면 합니다.

0

김희선님의 프로필 이미지
김희선
질문자

궁금한게 생겨서 다시 문의드립니다~!
1. coco 와 kitties의 이미지 사이즈는 두 데이터를 합치는데 있어 상관이 없는걸까요??

2. Coco 와  kitti 데이터 둘 다 각각 convert하여 yolo포멧 형태로 변환시켜 주석을 menifest파일과 txt파일로 만들어 놓았는데 이럴경우 두 데이터 셋의 이미지와 menifest,txt를 각각 하나로 합치고  이렇게 만들어진 값들을 이용해서 train시켜도 될까요???

3. Coco 데이터 세트로 pretrained 된 기반 모델을 활용하여 kitti 데이터 세트를 학습 시키려 해봤습니다만  아직 무슨말인지 아직 이해가 되질 않습니다ㅠㅜ

coco 를 학습시켜 얻은 적정 가중치를 kitti 데이터 학습시 가중치로 사용하라는 뜻으로 이해했습니다만 이게 맞나요...?ㅠㅜ

0

김희선님의 프로필 이미지
김희선
질문자

감사합니다~!! 도전해보겠습니다ㅎㅎㅎ

0

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

안녕하십니까,

저도 JH S님과 비슷한 생각입니다만, 먼저 아래와 같은 사항에 대해서 말씀드리고 싶습니다. 

1. COCO와 Kitti를 공통 포맷/공통 규약을 가진 annotation 파일로 합치기가 어려울 수 있습니다. 하지만 좀 더 검색을 해보면 kitti 포맷을 변경할 방법을 찾을 수도 있을 거 같습니다.

2. 공통의 annotation 파일을 가진다고 가정한다면, 이번엔 label 클래스가 서로 다릅니다. kitti의 경우 자율주행 자동차를 위한 데이터들 위주입니다. Car의 경우 coco와 kitti가 같지만 사람의 경우 coco는 person, kitti는 pedestrian으로 다릅니다.  car의 경우는 image의 갯수가 추가되고, 서로 다른 목적을 가진 형태에서 만들어진 이미지 이므로 성능 향상이 가능할 수 있습니다만, 다른 label들의 경우는 성능 향상을 기대하기는 어렵습니다. 두개의 데이터 세트를 합쳐서 전체 이미지 건수는 늘어났지만 개별 label에 해당하는 이미지들이 늘어나지 않으면 해당 label 대상의 오브젝트 Detection 성능 향상을 기대하기는 어렵습니다.

3. 1번과 2번 사항을 고려하면 JH S님이 말씀하신대로 Coco 데이터 세트로 pretrained 된 기반 모델을 활용하여 kitti 데이터 세트를 학습 시키는 방안을 고려해 볼수 있을 것 같습니다. 

감사합니다.

0

Transfer Learning을 하는 것 입니다.

1. 오직 COCO 데이터 셋만을 가지고 학습시켜서 최적의 모델을 만들어 놓는다. 

2. 방금까지 만든 모델에서 다시, 오직 Kitti 데이터 셋만을 가지고 학습시킨다. 

이때 1번 과정은 우리가 굳이 할 필요가 없습니다. Model zoo (https://modelzoo.co/) 에서 COCO로 학습시킨 최적의 모델이 공개되어 있기 때문입니다. 

0

김희선님의 프로필 이미지
김희선
질문자

답변 감사합니다~! 근데 이해가 조금 안되서요ㅠㅜ

Coco dataset으로 딥러닝 시킨 후 나온 많은 weigt값 중 가장 적절한 값을 골라서

Kitti dataset 딥러닝 할 때 그 값을 사용하라는 말씀이신가요..?

김희선님의 프로필 이미지
김희선

작성한 질문수

질문하기