inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Object Localization과 Detection의 이해

필터에 대해 이해가 되지 않습니다

323

JoongSun Yean

작성한 질문수 7

0

제가 CNN에 대한 개념이 부족하 것 같아서 공부를 해 나가고 있는데,

필터에 대한 이해를 구글링을 해도 잘 이해가 되지 않습니다.

VGG16에 대해 검색을 해보았는데, 첫번째 레이어에서 224X224X3에 필터를 넣으면

112X112X64가 된다고 하는데, 그렇다면 16개의 필터를 사용한 것 같은데, 

그렇다면 이 16개의 필터자체가 의미하는 바는 무엇인가요?

16개의 필터가 1번필터: 털이 있는지, 2번필터: 둥근모양인지, 3번필터: 반짝이는지.... 등등

이렇게 구성되어 있는 것인가요? 첫번째 컨벌루션레이어의 16개를 통과시켜서 대분류(featuremap)을 만든다는 뜻인건가요?

3X3의 16개의 필터들이 있다고 하는데, 필터들이 어떤 역할을 하기위해 있는것인지 구체적으로 알고싶습니다.

앞전에 미숙한 질문을 하여 죄송하고 감사합니다.

python keras 딥러닝 머신러닝 배워볼래요? 컴퓨터-비전 tensorflow

답변 1

2

권 철민

안녕하십니까,

필터는 CNN에서 매우 중요한 역할을 합니다. CNN이 학습하는 것은 바로 필터 값입니다.

사실 필터는 CNN 이전부터 원래 비전 분야에서 기본으로 적용되는 것입니다. 잘 아시다시피 원본 이미지에 어떤 필터를 적용하느냐에 따라 이미지가 흐려지기도, 가로 중심/세로 중심으로 이미지가 변환되기도 합니다. 이미지를 보는 특수 안경이라고 생각하셔도 됩니다.

CNN은 이미지에 매우 많은 필터를 적용하면서 이미지를 식별합니다. VGG16의 경우 처음엔 64개-> 128개->256개->512개까지 필터들을 순차적으로 적용하면서 Feature map을 만들어 냅니다.

가령 224x224x3차원 원본 이미지의 첫번째 feature map을 만들기 위해 64개의 필터를 적용합니다. 그리고 개별 필터는 3(가로)x3(세로)x3(깊이, 여기 3은 원본이미지의 차원과 같아야 합니다)를 가지며 이 개별 필터 64개가 Convolution 연산을 해서 그 결과로 224 x 224 x 64 장의 feature map을 만들어 냅니다. 이후 max pooling 으로 사이즈를 112x112x64로 줄입니다. 다음에는 다시 128개의 3x3x64(깊이, 여기 64는 첫번째 feature map 64장과 같아야 합니다)를 가진 필터와 다시 convolution하는 방식으로 차례로 128개의 feature map을 만듭니다. 

CNN은 학습 이미지 데이터를 계속 학습해 가면서 이 필터의 값(Weight)를 Update하면서 최적값을 찾습니다. 가령 64개의 안경을 어떤 돗수로/어떤 원근감으로 채워야 할지 값을 계속 update하면서 이미지를 인식할 수 있는 최적값을 찾아내는 것입니다. 따라서 CNN은 결국 이 최적 필터값을 찾는 비선형 방정식을 최적화하는 식으로 비유할 수 있기 때문에 필터는 CNN에서 매우 중요한 요소 입니다.

만약 CNN기반에 대해서 더 학습해야 하시면, 별도로 이 부분을 먼저 학습하시고 이론을 접하시는것도 좋습니다. 아니면 이론은 건너 띄시고 먼저 실습 부터 진행하신 뒤에 좀 막히신다 싶으면 다시 이론 부분을 접하시는 것도 좋습니다.

감사합니다.

강의 환경설정 질문

0

38

2

Custom Dataset에서의 polygon 정보 관련

0

83

3

cvat.ai 보안 수준이 궁금합니다

0

78

2

캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.

0

94

3

추론 결과의 Precision(또는 mAP) 평가 방법

0

83

2

mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.

0

58

2

runpod에서 google drive 연결 시 오류 발생

0

106

2

로드맵 선택

0

65

1

mmcv

0

56

2

Anchor box의 Positive 처리 위치

0

60

2

해당 강의 runpod 적용 후 에러 제보드립니다

0

84

2

run pod credit 관련 제보

0

96

2

mmdetection 2.x과 3.x 호환 관련 표기

0

76

2

mm_faster_rcnn_train_kitti.ipynb 실행 오류

0

94

3

질문 드립니다.

0

76

3

mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.

0

77

1

강사님께 수정을 제안드리고 싶은 것이 있습니다.

0

92

1

google automl efficientdet 다운로드 및 설치 오류

0

72

1

이상 탐지에 사용할 비전 기술 조언 부탁드립니다.

0

101

2

OpenCV 관련 질문드립니다.

0

70

2

mmcv 설치관련해서 문의드려요

0

329

3

강의 구성 관련해서 질문이 있습니다

1

135

2

모델 변환 성능 질문드립니다.

0

122

1

NMS 로직 문의 드려요

0

112

2