CS231n: L01-Introduction to Convolutional Neural Networks for Visual Recognition

img

위 그림 처럼 Computer Vision은 여러 학문이 융합된 분야입니다. 예를 들어 물리학도 포함되어 있습니다. 광학, 이미지 구성, 이미지의 물리학적 형성 등을 이해하려면 물리적 현상에 대한 이해가 필요하기 때문입니다.

이 수업은 Computer Vision에서 신경망(Neural Networks), 특히 CNN(Convolutaion Neural Networks)과 관련된 세부사항들을 다룹니다.

CNN을 발전시킨 기존연구의 역사와 흐름

Computer Vision의 간략한 역사

Evolution’s Big Bang, 5억 4천만년 전 (생물학적 Vision)

  • 생물체에서 최초로 눈(eyes)이 생겨남
  • Vision의 탄생이 폭발적인 종 분화를 촉진

Camera Obscura (공학적 Vision)

  • 16세기 르네상스 시대의 카메라, Obscura

Vision Mechanism

  • Hubel & Wiesel (1959)
    • 포유류 Visual Processing Mechanism
      • 고양이의 뇌 연구
    • 시각 자극을 주고 Primary Visual Cortex (V1)의 뉴런이 어떻게 반응하는지 측정
  • Larry Roberts (1963)
    • 진정한 Computer VIsion의 역사 태동
    • 아마도 Computer Vision에서의 최초의 박사학위 논문
    • 인간 눈에 보이는 사물들을 기하학적인 모양으로 단순화
  • The Summer Vision Project (MIT, 1966)
    • 시각 시스템의 전반을 구현해내려는 프로젝트
    • 50년이 지난 지금까지도 밝혀내는 중..
  • David Marr. (1970s)
    • Hierarchical Model
      • Input Image
      • edge Image
      • 2 1/2-D sketch
      • 3D Model
    • Computer Vision에 대한 큰 그림 제시
    • 컴퓨터가 사물을 인식(Recognization)하기 위해서 어떤 방향으로 알고리즘을 개발해야하는지 다룸
  • Generalized Cylinder (Brooks & Binford, 1970s) & Pictorial Structure (Fischler and Elschlager, 1973)
    • 모든 객체(object)는 단순한 기하학적 형태로 표현할 수 있다.
  • David Lowe (1987)
    • 단순한 구조로 실제 세계를 어떻게 재구성(reconstruct)/인식(recognize)할 수 있을까
    • 선(Lines)
    • 경계(Edges)
    • 직선(Straight Lines)
  • Shi & Malik (1997)
    • 이전 까지는 진행되어온 물체 인식(Object Recognition)이 너무 해결하기 어려운 문제라고 생각하서 좀더 단순한 물체 분할(Object Segmentation)을 먼저 시도
    • 이미지의 각 픽셀을 의미 있는 방향으로 군집화하는 방법
    • Image Segmentation
    • Graph Theory를 도입
  • Viola & Jones (2001)
    • Computer Vision 중 가장 발전이 빨랐던 분야가 Face Detection
    • 논문 발표 5년 후 실시간에 가깝게 Fuji사에서 카메라로 구현
  • David Lowe (1999)
    • 다시 Object recognition
    • SIFT ( Scale Invariant Feature Transform)
    • 바라보는 각도나 햇빛의 양에 따라서 다른 사물로 인식할 수 있는 문제를 Object의 고유한 Feature를 뽑아낸다는 방식으로 접근
  • Schmid & Ponce (2006)
    • Image Feature를 사용하면서 발전하기 시작
    • Spatial Pyramid Matching
  • Dala & Triggs (2005) / Felzenswalb, McAllester, Ramanan (2009)
    • Histogram of Gradients (HoG)
    • Deformable part Model
    • Human recognition에서도 Feature를 추출하려는 접근 시작
  • Everingham et al. (2006-2012)
    • 2000년대 초반은 Computer Vision이 풀어야할 문제를 정립한 시기
    • Benchmark Dataset
      • Object Recognition이 어디까지 와있는지 확인
    • PASCAL Visual Object Challenge (20 object categories)
  • Fei-Fei Li et al. (2009)
    • 더 어려운 Benchmark Dataset
    • IMAGENET
      • Motivation
        1. 세상의 모든 물체를 인식하고 싶다
        2. 기계학습의 Overfitting 문제를 극복하고 싶다.
      • 구할 수 있는 모든 이미지를 담은 가장 큰 데이터 셋
      • 1400만장의 이미지
      • 2만2천개의 카테고리
    • ILSVRC (Imagenet Large Scale Visual Recognition Challenge)
      • ImageNet을 Benchmark에 어떻게 활용할지에 대한 해결책
      • Image Classification문제를 푸는 알고리즘 경진대회를 개최
      • 140만개의 test 이미지
      • 1000개의 카테고리
      • 2012년도에 error rate이 16.4 %로 전년도에 비해 10%이상 감소했다. 이때 우승한 알고리즘이 CNN. 큰 전환점.

CS231n 과목 overview

  • 이 수업에서 가장 중점적으로 다룰 문제는 Image Classification(Recognition)
  • Image Classification을 기반으로 한 다양한 문제가 있다.
    • Object Detection
    • Image Captioning
    • Action Captioning
  • 이러한 문제를 풀기 위해 이 수업에서 배우는 방법이 바로 CNN(혹은 일명 convnet)
    • ILSVRC에서 2012년의 CNN이 변곡점이라고 했었는데, 그 이전인 2010년에 우승한 알고리즘인 NEC-UIUC는 Hierarchical하고 Linear SVM을 사용한다.
      • Feature Extraction -> Local Invariant Feature 계산 -> Pooling -> Linear SVM
    • 이러한 Hierarchical 과정은 2012년의 AlexNet(혹은 Supervision)에도 영향을 끼쳤다.
      • 토론토대학 Jeff Hinton의 PhD 학생인 Alex Krizhevsky와 Ilya Sutskever가 7-Layer CNN을 개발했다.
    • 2012년 이후 계속 Layer가 많아졌다.
    • 2014년에는 Google의 GoogleNet과 Oxford의 VGG가 우승했는데 VGG의 경우 19 Layer였다.
    • 2015년의 우승자 MSRA(Microsoft Research Asia)는 152 Layer다.
    • CNN의 주요 모델에 대한 자세한 설명 : ratsgo님의 blog글
    • img
  • CNN은 1990년대의 Yann LeCun와 벨 연구소(Bell Labs)의 공동과제에서 출발한다.
    • 이때 사용한 데이터셋이 MNIST 손글씨 숫자 데이터셋
  • 1990년대 개발된 CNN알고리즘이 2012년에 성공을 거둔 이유?
    1. 계산 능력의 발전
      • GPU의 진보: 병렬처리로 CNN 고속 계산
    2. Data size의 증가
  • Computer Vision은 사람처럼 볼 수 있는 기계를 만들고자 하는 연구목적을 가지고 있다.
  • 이러한 목적하에 해결하지 못한 문제가 수없이 많이 존재한다.
    • Semantic Segmentation(혹은 Perceptual Grouping)
      • 이미지 전체를 Labeling하는 거 대신 모든 pixel 하나하나를 이해.
    • 3D Understanding
    • Activity Recognition
  • 강의 철학
    • img

업데이트:

댓글남기기