1. 영상인식?
- 영상 안의 물체를 인식하거나 분류하는 것.
2. 전통적인 영상 인식 시스템 구조
- 전처리 : 색상 변환, 영상 크기 변환, 대조비 변환 등의 작업
- 특징추출 : edge, curve, vertex등의 특징들을 추출하는 것
- 분류 : 추출된 특징들의 조합이나 가중치가 높은 특징이 많다 등의 근거로 분류
- 전통적인 영상 인식에서는 특징을 사용해서 분류를 한다.
- 즉 개와 고양이를 구분지을 수 있는 적절한 특징을 가지고 분류 기준을 세우는 것이다.
3. CNN
- 사진이 입력으로 들어가면 은닉층에서 알아서 특징들을 추출한다.
- 사진으로부터 컨볼루션 연산이 이루어지면 특징들을 추출한다. 계속 이 과정을 반복한다. fully connected layer가 되어 최종 분류할 class들과 연결이 된다.
- receptive field : 5 by 5 마스크 보다 3 by 3 마스크를 두번 사용하면 더 많은 깊이 정보가 저장되지만 더 디테일한 정보들을 잡아낸다.
- 컨볼루션 연산을 통해 특징을 뽑아서 특징맵(feature map)을 만든다.
- 특징맵에 대해서 pooling을 수행한다. n by n 에서 최대값을 뽑으면 max pooling, 평균값을 꺼내면 mean pooling이라고 한다.
- 풀링은 n by n에서 하나의 값만 뽑기 때문에 입력의 차원을 줄이는 연산이다.
- 다시 컨볼루션과 풀링을 여러번 되풀이한다.
- 처음에는 작은 영역에서 edge들만 추출되지만
- feature map 이 깊어지면 더 큰 영역에서 특징을 추출한 것과 같은 효과인 것이다.
- 그렇게 최종 객체 모델이 만들어지면 fully connected layer에서 각각 가중치를 두고 최종 class 분류가 이루어진다. 이렇게 뽑아낸 특징들을 모두 출력 노드에 연결하여 weight에 따라서 class가 분류된다.
- convolution 연산은 주변 화소값들에 가중치를 곱해서 더한후 activation function을 통해 새로운 화소값을 계산한다.
- mask의 연산 과정은 아래와 같다.
- 꼭 필터의 수가 하나여야 할 필요는 없다.
- 그리고 필터의 값은 미리 정해진게 아니라 출력층의 개수를 설정하면 학습을 통해 정해진다.
- 이런식으로 전통적으로 특징을 설정하여 분류를 하는 방식을 대체할 수 있다.
4. 풀링, 서브 샘플링
- convolution 결과에서 n by n 구역에서 특정 하나의 값을 뽑음으로써 입력 데이터의 크기를 줄인다.
- 최대풀링은 영상처리 의미에서는 엣지, 선, 코너 등의 특징을 살려주는 측면이 있고 평균풀링은 노이즈 제거 효과가 있다.
- 풀링은 레이어의 크기가 작아지므로 계산이 빨라진다.
- 레이어 크기가 작아지면 신경망의 매개변수도 작아지기 때문에 오버피팅의 가능성이 줄어든다.
- 풀링을 하면 물체의 위치에 영향을 덜 받는다. 풀링을 통해 의미가 없는 영역이 잘려나가기 때문에 그렇다.
'ComputerScience > Machine Learning' 카테고리의 다른 글
Deep Learning - 1.2 Data Preprocessing (0) | 2022.07.28 |
---|---|
Deep Learning - 1.1 Data manipulation (0) | 2022.07.27 |
AI - 12. Deep Learning에서 발생하는 여러 문제들 (0) | 2021.12.04 |
AI - 11. Multilayer Perceptron (0) | 2021.11.25 |
AI - 10. Perceptron (0) | 2021.11.18 |