Deep Learning/CS231N

[CS231N] INTROTUCTION

언킴 2021. 6. 29. 21:05
반응형

이 파트에서는 cs231n의 자료를 가지고 소개를 해볼 예정이다. cs231n에는 deep learning 을 이용하여 vision 분야에 접근하는 내용을 다루고 있다. visual recognition에는  image, 3D modeling,  Grouping, segmentation 의 내용이 있지만 CS231n에서는 image classification에 중점을 두고 강의를 진행한다. 

image classification ( image Captioning )

 

이렇게 이미지를 Local한 지역에 물체를 탐지하는 것을 Object Detection 이라고 하며, 그런 Object가 무엇인지 어떤 행동을 취하는지 Caption을 달아주는 것을 image Captioning 이라고 한다. 이 강의는 image에 대해 상세하게 다룰 예정이다. Vision 분야는 이미지를 탐지하고 분석하는 것이며, 궁극적인 목표는 사람의 시각적인 능력을 똑같이 묘사하는 것을 목표로 하고 있다. 1963년 Larry Roberts 가 Object의 Edge 부분을 추출하는 실험을 진행하였다. 가장 simple한 구조인 Edge를 인식할 수 있으면 그를 통해서 Object를 인식할 수 있다라는 가정에서 시작되었다. Edge는 shape를 가장 잘 나타내는 feature를 주장했다. 그 이후로 많은 Vision 분야의 Lab과 학회가 생기기 시작했다.( CVPR, ICCV ) 

주어진 input image가 있을 때 이 부분을 여러 Layer로 구분한 다음 image의 Edge를 찾아내고, Edge에서 조각난 2D 이미지 정보를 조합하고, 조합된 2D image를 가지고 3-D model로 바꾸어주는 형태로 진행된다.

Influenfial Book

 

3D 모델을 인식하기 위한 방법론

1. Generalized Cylinder : 세상은 원, 구, 직사각형 등 단순한 Object의 결합으로 이루어져 있다. 단순한 Objects를 조합하여 3D model을 인식하자라는 방법론.

2. Pictorial Structure : image에 핵심이 되는 부분들이 있고, 그 사이에 연결되는 정도를 따라서 모델링을 할 수 있다라는 방법론. Variability Concept을 설명

 

90년대에 접어들고 Colorful image를 사용하기 시작했다.(이전에는 흑백) 사람을 기준을 든다면, 머리, 얼굴, 몸 등 특정 부분을 인식해야하는 segmentation 분야가 화두가 되기 시작했다. 이미지에 특정 부분을 grouping해서 테스트하는 것이 Computer Vision 의 해결해야될 문제가 된다.

 

image Recognition에서 image의 모든 부분을 인식하기에는 다소 힘든 부분이 있다. (연산량도 많고 ) 그렇기 때문에 image의 전부를 확인하는 것이 아닌 중요한 feature만을 인식해서 object를 인식하자는 방향으로 진행되고 있다. 이러한 접근은 현재의 딥러닝에서도 하고 있는 방식이다.  2000년대에 와서 Object Recognition을 위해서 Machine Learning이 적용되기 시작했다. 기계가 스스로 이미지 내에서 object를 판단해내는 것이다. 

 

이렇게 image recognition을 하는데에 있어서 모델들의 성능을 평가하고 어떤 모델이 좋은 성능을 보여주는지, 요즘 트렌드가 어떤 것인지 알기 위해 IMAGENET 이라는 대회가 열리게 된다. (IMAGENET은 22K 개의 category, 14M 개의 images가 존재한다 . ) 이 대회에서 모델들은 전부 매년 1퍼센트씩 성능을 개선해나가면서 좋아지고 있었는데 한 번에 10% 가량 상승한 모델이 있다. 그것은 바로 CNN(Convolutional Nerual Network)다.

 

CNN에 대해서는 다음에 따로 설명하겠다.!