본문 바로가기

Deep Learning

[CS231n] Lecture 1: Introduction to Convolutional Neural Networks for Visual Recognition

생물학적 비전

진화의 빅뱅(543 million years B.C.)

지구 대부분은 물로 이루어져 있고 바다를 부유하는 일부 생물들만 존재했다. 

생물들에게 눈(eyes)이 존재하지 않았다.

그러나 어떤 기점 이후로 천만 년이라는 아주 짧은 시기 동안에 생물의 종 수가 폭발적으로 증가했다.

Andrew Parker는 비전(시각)의 탄생이 폭발적인 종 분화의 시기를 촉발했다고 주장한다.

생물들은 시각을 활용해 더 능동적으로 활동하며 빠르게 진화했을 것으로 추정된다.

 

이후 비전은 거의 모든 동물, 특히 지능을 가진 동물의 가장 큰 감각체계로 발전한다.

비전은 인간의 가장 큰 감각체계이며, 대뇌피질의 50% 가량의 뉴런이 시각 처리에 관여한다.

전기생리학을 이용한 Hubel과 Wiesel의 연구

생물학자들은 비전의 매커니즘을 연구하기 시작했다.

이 연구에서는 "포유류의 시각적 처리 매커니즘은 무엇일까?" 라는 궁금증을 해결하기 위해 고양이의 뇌를 연구했다.

어떤 자극을 주어야 일차 시각 피질의 뉴런들이 반응하는지를 관찰하여 일차 시각 피질에 있는 다양한 종류의 세포를 발견하였다.

복잡한 세포들이 많이 있지만 가장 중요한 세포는 경계(edge)가 움직이면 반응하는 세포라는 것을 발견했다.

이를 통해 시각처리가 처음엔 단순한 구조로 시작되며, 그 정보가 특정 통로를 거치며 점점 복잡해진다는 사실을 알게 된다.

 

공학적 비전

카메라의 역사 

Camera Obscura는 핀홀 카메라 이론을 기반으로 한 카메라이다.

Obsucra는 생물학적으로 발전한 초기의 눈과 상당히 유사하다.

빛을 모아주는 구멍이 하나 있으며, 카메라 뒤 편의 평평한 면은 정보를 모아 이미지를 투영한다.

컴퓨터비전의 시작 (1960~1980s)

Larry Roberts의 Block world

Larry Roberts의 Block world 연구는 컴퓨터 비전 분야에서 최초의 박사 학위 논문이다.

우리 눈에 보이는 사물들을 기하학적 모양으로 단순화하여 세상을 인식하고 그 모양을 재구성한다.

The summer vision project

1966 MIT 여름 프로젝트로 시각 체계를 구현한다.

David Marr의 Stages of Visual Representation

David Marr는 MIT의 비전 과학자로 70년대에 컴퓨터 비전 책을 냈다.

책에서는 비전의 정의, 컴퓨터 비전의 방향성 등을 다룬다.

눈으로 받아들인 이미지를 최종적인 full 3d 형태로 만드는 일련의 과정을 소개한다.

primal sketch - 주로 경게, 막대, 끝, 가상의 선, 커브,경계가 표현되는 과정

2.5-d sketch - 시각 장면을 구성하는 표면 정보, 깊이 정보, 레이어, 불연속 점과 같은 것들을 종합

3-D model - 그 모든 것들을 모아 계층적으로 조직화된 최조오하된 3d 모델 만듦

 

비전이 무엇인가, 어떻게 시각정보를 분석할 수 있을까라는 질문들에 대한 가장 이상적이고 직관적인 사고방식을 제안한다.

Generalized Cylinder / Pictorial Structure

1970년대에는 block world를 넘어 실제 세계를 인식하고 표현하는 것에 주목한다.

왼쪽은 원통 모양을 조합하는 방식으로, 오른쪽은 주요 부위와 관절을 조합해 표현하는 방식이다.

두 방법 모두 객체를 단순한 모양과 기하학적인 구성을 이용해 복잡한 객체를 단순화시키는 방법이다.

David Lowe

선, 경계, 직선들의 조합을 이용였다.

 

하지만 위와 같은 방식들은 실제 세계에서 동작하기는 어려운, 아직 단순한 toy example에 불과했다. 

사람들은 어떤 부분을 놓치고 있는지 고민하기 시작하였고, 객체 인식이 아닌 객체 분할이 우선이 아닐까 생각하게 된다.

객체 분할 Image Segmentation

객체 분할(영상 분할)은 이미지의 각 픽셀을 의미있는 방향으로 군집화하는 방법이다.

Normalized Cut

영상 분할을 위해 그래프 이론을 도입했다.

Face Detection

AdaBoost

1999, 2000년대 초에는 기계학습, 특히 통계적 기계학습이 점차 탄력을 받는다.

svm, boosting, graphical models, neural network 등이 있지만 adaboost가 가장 큰 기여를 한다.

fujifilm에서는 adaboost를 이용해 near-real-time으로 실시간 얼굴 인식을 지원하는 최초의 디지털 카메라르 ㄹ선보였다. 

이는 기초 과학 연구의 성과를 실제 응용 제품으로 가장 빠르게 전달한 사례이다.

객체 인식 Image Detection

90년대 후반에서 2010년도에는 어떻게 객체를 잘 인식할 것인가에 대해 고민한다.

SIFT feature

객체의 특징 중 일부는 다양한 변화에 조금 더 강인하고 불변하다는 점을 발견하였다.

이후 객체인식은 객체에서 중요한 특징을 찾아내고, 그 특징들을 다른 객체에 매칭시키는 과제가 되었다.

이는 이미지 전체를 단순히 특정 객체에 매칭하는 일보다 더 쉬운 과제이다.

이미지에 존재하는 특징(feature)을 사용하게 되면서 컴퓨터비전에서의 한 번의 도약이 이루어진다.

spatial pyramid matching

우리가 특징을 잘 뽑아낼 수 있다면 그 특징들이 일종의 단서를 제공할 수 있다는 것이 기본 아이디어이다.

이미지 내의 여러 부분과 여러 해상도에서 추출한 특징을 하나의 특징 기술자로 표현하고 supprot vector algoriom을 적용한다.

Human Detection

위와 같은 발전은 사람인식에 관한 연구에도 탄력을 주었다.

여러 특징을 잘 조합해 사람의 몸을 어떻게 현실적으로 모델링할 수 있을지를 연구했다.

객체 인식 데이터셋 구축

21세기가 다가오며 사진의 품질이 점점 좋아지기 시작하였다.

2000년대 초에는 컴퓨터 비전이 앞으로 풀어야할 문제가 무엇인지의 정의를 어느정도 내린 상태에서 객체 인식에 필요한 benchmark dataset을 모으기 시작하였다.

PASCAL Visual Object Challenge

기차, 비행기, 사람, 소, 고양이, 병 등 20개의 클래스로 분류된 데이터셋이다.

클래스당 수천 수만 개의 이미지가 존재한다.

그래프를 통해 해당 데이터셋으로 평가한 객체 인식 성능이 꾸준히 증가했음을 알 수 있다.

 

이 무렵 princeton과 stanford에서 어려운 질문을 던졌다.

"우리는 이 세상 모든 객체를 인식할 준비가 되었는가?"

지금까지는 거의 대부분 기계학습 알고리즘에 해당했다.

svm, adaboost, gm 등이 트레이닝 과정에서 overfit하는 것 같다고 판단했다.

그 원인은 모델의 입력값인 시각 데이터가 너무 복잡한 고차원 데이터이기 때문이었으며 모델을 fit시키려면 더 많은 파라미터가 필요했다.

학습 데이터가 부족하면 overfitting이 더 빠르게 발생하고 일반화 능력이 떨어지기 때문이다.

따라서 더 많은 객체들을 인식하고, 기계 학습의 overfitting 문제를 극복하고자 ImageNet프로젝트를 시작하게 된다.

ImageNet

구할 수 있는 모든 이미지로 데이터셋을 구성했으며 수십억장의 이미지 사용하였다.

Wordnet이라는 dictinary

이미지의 정렬, 정제, 레이블 등을 제공하는 플랫폼인 clever crowd engineering trick을 도입하였다.

ImgaeNet은 15만장에 달하는 이미지와 22만 가지의 클래스 카테고리 보유하고 있으며, 당시 AI 분야에서 만든 가장 큰 데이터셋이었다.

 

ImageNet덕분에 객체인식은 전혀 다른 국면으로 접어들게 되었다.

이를 benchmark에 어떻게 활용하는지가 큰 화두가 되었으며 2009부터 국제 규모의 대회인 ILSVRC를 주최하게 된다.

위 대회는 이미지 분류 문제를 푸는 알고리즘을들 테스트하는 것을 목적으로 하였다.

해당 그래프에서 x축은 연도, y축은 오류율을 나타낸다.

그래프에서 오류율에 점차 감소하는 것을 확인할 수 있으며, 심지어 2012년의 오류율은 사람보다 낮은 값을 달성한다.

턱없이 높은 오류율이 인간의 수준으로 오기까지 불과 몇 년뿐이 걸리지 않았다.

특히 2012년에 우승한 convolutional nerural network은 그 당시 다른 알고리즘들을 능가하며 컴퓨터 비전 분야의 진보를 이뤄낸다.

 

ILSVRC

2011년에는 여전히 계층적인 모델을 사용하였다. 특징을 뽑고 지역 불변 특징을 계산하고, pooling 등 여러 과정을 거쳐 linear svm에 태운다.

2012년의 SuperVision은 가장 획기적인 연구이다. 7 layer convolutional neural network를 소개한다.

2014년에는 google의 googlenet과 oxford의 vgg가 우승하였으며 네트워크의 깊이가 훨씬 깊어졌다.

2015년에는 152개의 layer를 갖는 MSRA가 우승을 차지한다,

 

2012년 이후로 CNN의 시대가 도래했으며 이후 CNN을 개선하고 튜닝하려는 많은 시도들이 존재했다.

 

ETC

- 아직 풀지 못한 문제들

- visual genome

- our philosophy