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

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

작성한 질문수

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

특정 오브젝트만 딥러닝 시키려면 어떻게 해야 할까요??

작성

·

608

0

coco dataset 에서 80개의 오브젝트를 전부 학습시키는 것이 아닌 원하는 object(person/car/traffic light)만 딥러닝 시키려면 어떻게 해야할까요...?

답변 3

1

3개의 Object만 훈련이 가능합니다. 대신 전처리 과정에 많은 시간을 투자해야합니다. Annotation에서 읽어들여야 하는 Object를 person/car/traffic light로 제한하는 코드를 작성하고, Class(Label)의 수는 4개라고 모델에게 알려줘야 하며(config파일을 수정하던지..) 다양한 전처리 작업이 필요합니다. 

이 작업은 단순한 작업이 아니므로 방법을 처음부터 끝까지는 알려드리기 어렵습니다. 원하시는 모델(Yolo, SSD, Mast Rcnn 등)의 코드 전체를 처음부터 꼼꼼히 읽어보는 시간을 투자하시는 것을 추천드립니다. 모델과 코드 분석을 통한 절대적 시간 투자가 많은 도움이 될 것 같습니다. 

아무래도 3개의 object만 Detect하는 모델을 만든다고 한다면, 딱 그 object를 찾기위한 Feature들에 모델이 더 집중할 것이므로, 3개를 찾는 성능향상이 있을 것이라고 저는 생각합니다. 

0

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

안녕하십니까,

1번 경우는 JH S님이 잘 설명해 주셔서 제가 더 설명드릴게 없을 거 같습니다.

2번의 경우는 저도 확실히 모르겠습니다. 일단 오브젝트가 1개라면 상대적으로 좀 더 성능 향상을 기대해 볼수 있습니다. (보다 간단한 손실함수를 이용해서 모델을 만들 수도 있는등)

그런데 3개와 80개의 차이는 잘 모르겠습니다. 일반적으로는 JH S님이 말씀하신대로 예상될 수는 있지만, 그 차이가 3개와 80개라면 확실히 잘 모르겠습니다. (성능 차이가 있어도 크지는 않을 거 같습니다)

만약 성능을 높이는게 목표라면 80개를 3개로 줄이는것 보다는 3개에 해당하는 이미지 갯수를 늘리거나, 보다 선명한 이미지의 확보, 다양한 augmentation 방법등의 적용이 보다 나은 성능을 보장해 줄 것 입니다.

감사합니다.

0

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

만일 특정 3개의 object만 훈련시켰을 경우 80개를 훈련시켰을 때 보다 3가지 object에 대한 정확성이 높아질까요?

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

작성한 질문수

질문하기