Chapter 14
CNN Convolution neural network (합성곱 신경망)
시각 피질 구조
뉴런들은 시야의 일부 범위 안에 있는 시각 작극에 반응
고수준 뉴런이 이웃한 저수준 뉴런의 출력에 기반한다 .
합성곱 층
convolutional layer
zero padding : 높이와 너비를 맞추기 위해 입력 주위에 0을 추가하는것
stride : 한 수용장과 다음 수용장의 사이 간격
필터
filter 또는 convolution kernel 이라고 부른다 .
층의 전체 뉴런에 적용도니 하나의 필너튼 하나의 feature map 을 만든다.
여러가지 특성 뱁 쌓기
합성곱층은 여러가지 필터를 가지고필터마다 하나의 특성맵을 출력한다.
메모리 요구사항
filter 200, kernel_size 5x5 , stride 1 ,feature map size 150x100, image shape 150x100x3 일 경우
파라미터수 (5x5x3+1)x200 =15200 ( +1은 편향)
5x5x3(필터의 크기)x150x100(특성맵의 크기)x200(특성맵의수)
풀링 층(pooling layer)
계산량과 메모리 사용량 ,파라미터 수를 줄이기 위해 입력 이미지의 부표본을 만드는 것
풀링커널은 가중치를 가지고 있지 않다.
작은 변화에도 일정 수준의 불변성을 가져다준다.
단점으로는 매우 파괴적이다.
CNN 구조
전형적인 구조는 합성곱층 몇개 쌓고 풀링하고 또 쌓고 이런식이다 .
합성곱 층에 큰 커널을 사용하는 것은 큰 실수이다. (계산량과 성능에서 안좋은 결과를 가져올수있다). 예를 들어 5x5 한번 보다 3x3 두번이 낫다 .
- LeNet-5
- AlexNet :data augementation 사용
- GoogLeNet : A;exNet 보다 10배적은 파라미터를 가진다.
- VGGNet
- ResNet
- Xception
- SENet
케라스를 이용한 것
패스 한다 .
분류와 위치 추정
물체의 위치를 추정하는 것은 회귀 작업으로 나타 낼 수 있다.
바운딩 박스(bounding box)
바운딩 박스에 널리 사용되는 지표는 IoU 이다.
tf.keras.metrics.MeanIoU에 구현 되어있다.
객체 탐지
하나의 이미지에서 여러 물체를 분류하고 위치를 추정 하는 작업
NMS (non-max suppression)
1.존재여부 출력추가 . 실제로 꽃이 들어 있지 않는 바운딩박스 삭제
2.존재여부 점수가 가장 높은 박스를 찾고 , 이 박스와 많이 중첩된 박스들 삭제
3.더는 제거할 박스가 없을때까지 삭제
완전 합성곱 신경망 (Fully convolutional network)
YOLO
시멘틱 분활
픽셀이 속한 객체의 클래스로 구분된다.