Home CS231n - Lecture 1
Post
Cancel

CS231n - Lecture 1

#1 - Introduction to Convolutional Neural Networks for Visual Recognition


  • Introduction of Computer Vision
  • History / Development of Computer Vision
    • Importance of Vision
    • How can computer understand visual data
    • Attempts to recognize the real world and its limitations
    • Solution based on Feature recognition
    • The Birth of CNN Algorithm
  • Unsolved Problem of Computer Vision

  • Introduction of Computer Vision

수많은 센서, 카메라 등의 광학 장치의 발달로 방대한 양의 시각적 데이터가 생성되었기 때문에 방대한 데이터를 이해하고 활용하기 위한 알고리즘이 필요해졌다.

하지만, 시각적 데이터는 “The Dark Matter of Internet”으로 불릴 만큼 이해하기 어렵고, 이를 활용하는 데는 더 많은 어려움이 존재한다.


  • History / Development of Computer Vision

5.4억년 전 등장한 최초의 시각은 생명체의 빅뱅을 야기했다는 이론이 지배적이며, 인간을 비롯한 지성체의 뇌의 피질 50% 이상은 시각과 관련되어 있을 정도로 시각이라는 감각은 굉장이 중요한 기관이다.

인간을 포함한 포유류의 시각처리 메커니즘을 연구하기 위해 고양이의 주요 대뇌 시각 피질에 전극을 연결한 후 자극을 주어 이를 연구한 결과, 물론 복잡한 구조의 세포를 거치긴 하지만, 크게 본다면, 굉장히 간단한 구조에서부터 시작하여 여러 과정을 거쳐 복잡한 시각 정보를 인식할 수 있게 된다는 것이 밝혀졌다.


비슷한 시기에 Computer Vision 또한 연구가 시작되었다. Block World, by Larry Roberts, 1963 에서는 시각 정보를 간단한 기하학적인 모형으로 나타내고, 각각의 모형을 통해 사물을 인지하고 재구성할 수 있도록 하는 연구를 진행했다.

1970년대 후반, David Marr의 저서 VISION에서는 컴퓨터가 시각 정보를 이해할 수 있도록 하기 위해 어떻게 알고리즘을 개발해야 하는지에 방향을 제시했다. 이미지를 가지고 삼차원 시각 정보로 변환하는 이 연구는 몇 십년동안 Computer Vision의 연구 방향에 지대한 영향을 미쳤고, Computer Vision을 처음 공부하는 사람들에게 직관적인 접근을 제공했다.

​ 아래는 Vision에서 제시한 이미지 처리 단계이다.

  1. Primal Sketch - The edges, the bars, the ends, the virtual lines, the curves, the boundaries are represented [각각의 모서리, 꼭짓점, 가상선, 경계, 곡선 등을 파악]
  2. 2 1/2 - D Sketch - The surfaces, the depth information, the layers, the discontinuities of image are represented [물체의 표면, 깊이 정보, 이미지의 불연속성, 계층등을 파악]
  3. 3-D Model Representation - 3 D models are hierarchically organized [파악한 정보들을 위계적으로 조직하여 삼차원 모델을 파악]

1970년대에 간단한 블록 세상에서 벗어나 실제 세상의 물체를 어떻게 인식하고 표현할 수 있을까에 대한 해결책으로 두가지 아이디어가 도입되었다. 하나는 Generalized Cylinder, 또 하나는 Pictorial Structure이다. 이 두가지 아이디어 모두 실제 세상도 간단한 기하학적 도형으로 이루어져 있다는 것을 바탕으로 발전한 아이디어이다. 두가지 아이디어의 차이점은 그 간단한 기하학적 도형이 실린더 형태 (Generalized Cylinder) 인가 주요 지점들과 거리 (Pictorial Structure) 인가이다.

추가적으로, 직선과 모서리들의 결합으로 시각적 데이터를 표현하는 시도도 존재했으나, 위에서 제시된 세 가지 아이디어 모두 Toy Example에 그쳤을 뿐, 실제 세상의 물체를 인식하는 방법으로는 부적합했다.


Object Recognition이 힘들다면, Image Segmentation을 먼저 시도해야 한다는 이론이 대두되었다.

2000년대 초반, Machine learning 연구는 점점 가속력을 얻기 시작했다, Support Vector Machines, Boosting Graphical Models,(Neural Network)등의 연구가 진행되었지만, 그중에서도 AdaBoost 알고리즘을 활용한 실시간 얼굴 인식 기술이 도입된 것이 연구 수준에서 실제 세상에 적용된 중요한 사례이다.

1990년대 후반에서 2000년대 초에 대두되었던 이미지 인식 기술은 Feature-based Object Recognition이다. 이는 물체 중에서 변하지 않고 정적으로 유지되는 특징들을 파악하고, 이를 이용하여 사물를 인식하는 기술이다. 이는 전체 물체의 패턴을 일치시키는 방법보다 훨씬 더 쉬운 방법이다.

더 나아가서 시각 자료의 물체의 특성을 파악하여 물체를 인식하는 기술인 Feature-based Object Recognition뿐만 아니라 이미지 전체의 특성을 Feature DescriptorSVM을 사용하여 해당 이미지가 어떤 것을 의미하는 지를 파악하는 Feature-based Image Recognition기술 또한 개발이 되었다.

비슷하게, 사람을 인식하는 과정에서도 특성을 파악하는 기술이 사용되었는데, 인간의 신체적 특성을 파악한 뒤에 이를 조합하여 인간의 몸을 더 사실적으로 구성하여 이를 인식할 수 있게 되었다.


이미지 인식 기술과 함께, 60년대부터 21세기 초까지 인터넷의 사진들의 해상도는 점점 더 높아져서 Computer Vision을 연구할 수 있는 더 좋은 Data를 확보하게 되었다. 컴퓨터가 이미지를 인식한 결과값과 실제로 해당 이미지가 나타내는 정보가 일치하는 지를 확인하기 위해선, 훈련 데이터와 평가 데이터를 포함한 Data Set이 필요하다. 2006년부터 2012년까지 사용된 Data Set인 PASCAL Visual Object Challenge의 정확도를 보자면 해를 거듭할수록 정확도가 높아지는 것을 파악할 수 있었다. 다만, 이 Challenge에서 카테고리는 20종류 정도 뿐이었다.

이후, 20종류의 카테고리에서 더 나아가 세상의 모든 물체를 인식할 수는 없을까라는 의문이 제기되었고, 이를 위해 엄청난 규모의 Data Set인 Image Net를 생성하게 되었다. ImageNet의 데이터를 사용해 이미지 분류 알고리즘의 정확도를 향상시키기 위해 열린 Image Classification Challenge에서 알고리즘의 오류 비율이 해마다 감소하여 2015년 이후부터는 사람보다 더 높은 정확도를 가지게 되었다. 이 과정에서 큰 영향을 준 것이 바로 CNN(Convolutional Neural Network) 알고리즘이다. 이 CNN 모델이 바로 딥러닝 모델의 시초가 되었다.

2010년대까지만 해도, Image Recognition의 알고리즘은 위계적이었지만, 2012년에 새로 도입된 7~8계층 CNN부터는시간이 기본적인 CNN 모델에서 조금씩 수정하고 계층을 늘려나가면서 성능을 높여왔다. 이 CNN이 이미지 인식 기술의 하나의 돌파구가 된 것이다. 이 CNN 모델은 1998년에 이미 개발되었지만, 컴퓨팅 성능이 저조했고, 모델을 훈련시킬 Data set이 부족했기에 2012년에 와서야 실제로 CNN에 도입될 수 있었다.


  • Unsolved Problem of Computer Vision
    • Activity Recognition - 영상 속 동작에 대한 인식
    • Visual Recognition on Augmented Reality, Virtual Reality …
    • Visual Genome - 이미지 인식뿐 아니라, 이미지 내에서 이루어지고 있는 동작, 사물 간의 관계 등등을 파악
This post is licensed under CC BY 4.0 by the author.