본문 바로가기

인공지능/이론

(18) 컴퓨터 비전

컴퓨터 비전에는 크게 세 가지의 문제가 존재합니다.

크게 분류, 객체 탐지, 시맨틱 분할이 존재합니다.

 

컴퓨터 비전은 CNN이라는 신경망 아키텍처를 기반으로 많이 발전되고 있습니다.

 

CNN은 합성곱 신경망(Convolutional Neural Network)으로 합성곱 층풀링 층이 존재합니다.

David H. Hubel과 Torsten Wiesel은 1958년 시각 피질의 구조에 대한 연구를 진행하였고, 시각 피질 안의 뉴런이 국부 수용장(시야의 일부 범위 안에 있는 시각 자극에만 반응한다는 것)을 가진다는 것을 알아냈습니다. 이를 이용하여 인공신경망에서도 각 뉴런들이 국부 수용장을 갖게 한 것이 CNN입니다. 

 

합성곱 층에서는 input image에 일정 크기의 filterstride 간격으로 연산하며 하나의 filter map을 생성해냅니다.

 

이는 아주 효과적이고 성공적이였습니다.

 

CNN에는 연산처리를 줄여주고, 불변성을 가지게 해주는 풀링 층도 존재합니다.

풀링층에서는 image의 size를 줄입니다.

 

풀링층에는 크게 MaxPoolingAvgPooling이 존재합니다.

(대부분 MaxPooling이 가장 좋은 결과를 도출합니다.)

 

사이즈가 2x2이고 stride가 2인 MaxPooling의 경우에는 위와 같이 나타낼 수 있습니다.

풀링층은 input의 예민한 변화에 둔감하게 반응할 수 있는 불변성을 제공합니다.

(대부분의 분류에서는 효과적이지만, 이미지 분할과 같은 작은 변화에 예민한 반응을 해야하는 상황에서는 등변성이 필요합니다.)

 

CNN은 완전연결층과 같이 모든 뉴런을 연결할 필요가 없어서 많은 파라미터를 학습시킬 필요도 없습니다.

CNN은 대부분 합성곱층, 풀링층을 쌓고 마지막에 완전연결층을 쌓는 구조를 갖습니다.

 

객체 탐지는 하나의 이미지에서 여러 객체를 분류해내고 위치를 추정하는 것입니다.

(이번 글에서는 객체 탐지에 대해 자세하게 다루지 않습니다)

 

객체 탐지에는 가장 뛰어난 성능을 보이고 있는 YOLO(You Only Look Once) 알고리즘이 있습니다.

 

 

그 다음으로는 시맨틱 분할에 대해서 알아보도록 하겠습니다.

시맨틱 분할은 객체 탐지와는 다르게 각 픽셀에 대한 예측을 하여 분류하게 됩니다.

 

Image Segmentation

시맨틱 분할에서는 대부분 DownSampling UpSampling, Skip Connection로 설계된 모델구조인 FCN을 이용합니다.

FCN 구조

 

DownSampling을 하며 Feature Extraction 과정을 거치고, 각 픽셀마다 Classification을 진행합니다.

그 다음 UpSampling을 하면서 원본 이미지의 해상도로 복원을 하게 됩니다.

하지만 DownSampling을 하며 Input의 위치 정보는 점점 사라지게 되는 문제가 있습니다.

이 문제를 해결하기 위해 SkipConnection을 이용하였고, 위치 정보를 어느정도 유지할 수 있습니다. (즉, 성공적이였습니다.)

 

시맨틱 분할은 대부분의 분류 문제와는 다르게 불변성이 아닌, Input의 작은 변화에 예민하게 반응하는 등변성이 필요합니다.

등변성을 제공하는 Skip Connection에 대해 조금 더 설명하자면, DownSampling에 있는 레이어들 중 특정 레이어의 값을 각 shape이 같은 UpSampling에 있는 레이어의 Input 값에 더해줌으로서 Input의 변화를 여러 레이어에 영향을 끼치게 합니다. 이게 도움이 되나 싶을 수 있겠지만, 실제로 큰 효과를 냅니다.

 

Output의 channel은 분류해야하는 class의 개수로 하는 것이 일반적입니다. class_i로 분류되는 부분을 1, 아닌 부분을 0으로 하는 N*N 크기의 데이터를 class개 만큼 쌓는 것이지요. Output의 shape은 N*N*class_n일 것입니다.

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

(20) 어텐션과 트랜스포머  (0) 2022.01.06
(19) RNN 구조  (0) 2022.01.02
(17) 심층 신경망  (0) 2021.10.26
(16) 인공 신경망  (0) 2021.10.24
(15) 비지도학습  (0) 2021.10.23