Region Proposals

오브젝트가 뻔히 없는 구역이 있다

 

"R-CNN" (regions with conv nets)

conv net 연산할 만한 구역만 골라서 진행

 

segmentation 알고리즘 수행한 뒤에 blob이 보이는 곳에만 conv 연산 수행 (이미지 전체에 conv 연산하는 것보다 나을 수도)

 

R-CNN의 속도를 개선시키려는 노력이 있었음

 

 

Semantic Segmentation with U-Net

[object detection vs. semantic segmentation]

예를 들어 도로를 object detection한다고 하면 bounding box를 표시하는 게 그다지 좋은 방법이 아닌데, segmentation 방식으로는 좀더 구체적으로 구분할 수 있게 됨

 

 

[Per-pixel class labels]

이미지의 모든 픽셀에 대해서 0 또는 1 을 출력하게 해야 함

 

여러 오브젝트를 segmentation해야 한다면..

 

이를 위한 신경망은 어떤 구조여야 할까?

 

[Deep Learning for Semantic Segmentation]

이미지의 차원이 점점 작아지는데, 점차적으로 원래 사이즈로 다시 불려야 함

U-Net이 깊어질수록 높이와 가로는 원래대로 돌아가고 채널의 수는 줄어든다

-> 이미지를 원래 크기로 다시 키우는 것은 어떻게? transpose convolution

 

Transpose Convolutions

일반적인 conv 연산과 비교

2 x 2 입력을 4 x 4 출력하는 방법

- 입력 2 x 2

- 출력 4 x 4

- 필터 3 x 3

- 패딩 1

- stride 2

 

output 위에 필터를 놓는다고 보면 됨

 

input의 첫번째 값을 가져다가 필터에 곱한다

필터를 output 위에 얹는다

패딩된 부분의 값은 무시한다

 

첫번째값도 동일하게 진행

바로 직전과 겹치는 구역은? 값끼리 더한다

 

나머지 동일하게 진행

 

U-Net Architecture Intuition

차원이 줄어들면서 많은 공간 정보를 잃게 됨

 

U-Net의 핵심은 skip connection

초기 레이어의 값을 후반 레이어에 바로 복제

 

마지막 레이어에서 output을 내는 데에 도움이 되는 정보들

1) high-level contextual information <- 바로 직전 레이어에서 받아옴

2) (low-level feature information)detailed, fine-grained spatial information <- skip connection 통해서 앞 레이어로부터 받아옴

 

U-Net Architecture

U자 모양

첫 레이어에서 길쭉하게 생긴 이유: h x w x 3 모양 볼륨을 생각했을 때 옆에서 본다고 생각 (depth 를 앞으로)

1) 일반적인 Conv forward

2) Max Pooling 으로 h, w 줄이기

3) 반복

4) 맨 아래에 다다르면 h, w 는 매우 작아지고 depth는 매우 깊어짐

5) transpose conv 통해 depth를 줄임

6) 이때 왼쪽의 conv 연산 중 마지막 활성화값을 skip connection

7) 그 다음 transpose부터 h, w 늘리기 시작

8) 이를 반복하다보면 원본의 h, w 크기로 복원 됨

9) 일반적인 conv forward 끝에 1 x 1 conv 으로 최종 출력

10) 출력 차원 : h x w x $n_{classes}$ (클래스 개수)

--> 각 픽셀이 각 클래스에 속할 확률

--> argmax 

 

'인공지능 > DLS' 카테고리의 다른 글

[4.4.] Neural Style Transfer  (0) 2022.08.02
[4.4.] Face Recognition  (0) 2022.08.02
[4.3.] Detection Algorithms(2)  (0) 2022.08.01
[4.3.] Detection Algorithms(1)  (0) 2022.07.28
[4.2.] Practical Advice for Using ConvNets  (0) 2022.07.27
복사했습니다!