본문 바로가기
CVLab/cs231n (2016)

cs231n - lecture01(컴퓨터 비전의 역사)

by kkkkk1023 2024. 9. 21.

시대에 따른 컴퓨터 비전의 역사

 

 

[기원전 5억 4천 3백만 년]

 

생물의 종이 굉장이 다양해지는 '진화의 빅뱅'의 가장 유력한 이론이 바로 5억 4천만년 전 최초의 눈이 생겨났다는 것이다.

 

눈이 생겨났다는 건 아래의 상황을 초래한다.

1. 생물의 삶이 능동적으로 바뀌고 그 결과, 일부 포식자들은 먹이를 찾아 다니고 먹이들은 포식자로부터 달아나는 상황 발생

2. 먹이들은 살아남기 위해서 빠르게 진화한다.

3. 기존의 종들이 진화하면서 생물의 종이 굉장히 다양해진다.

 

Vision은 지능을 가진 동물들의 가장 큰 감각 체계로 발전했다. Vision은 우리가 생존하고, 일하고, 움직이고, 어떤 것들을 다루는 여러 행위를 가능하게 해준다. 따라서, Vision은 굉장히 중요하다.

 


 

[1959년 - Hubel & Wiesel]

 

인간과 동물의 비전 연구에 가장 영향력 있었을 뿐만 아니라, 컴퓨터 비전에도 영감을 준 한 연구가 있었다. 

그 연구는 전기 생리학을 이용한 실험이었다. 그들이 가진 질문을 '포유류의 시각적 처리 메커니즘은 무엇일까?'였다.

 

시각 처리 메커니즘만 보면 고양이와 인간은 비슷하기 때문에 고양이로 실험을 하게된다.

1. 고양이 두뇌 뒷면에 전극 몇개를 꽂았다. 
- 두뇌 뒷면이 바로 일차 시각 피질(즉, 눈으로 본 정보를 처음으로 처리하는 뇌의 부분)이 있는 곳이다.

2. 어떤 자극을 줘야 일차 시각 피질의 뉴런들이 반응하는지 관찰
- 일차 시각 피질에는 다양한 종류의 세포가 있다는 것을 깨달음
- 가장 중요한 세포: 아주 단순한 구조로, 경계(edges)가 움직이면 이에 반응하는 세포들
- 시각 처리가 처음에는 단순한 구조로 시작되며 점차 통로를 거치면서 복잡해진다.

[1963년 - Larry Roberts]

 

'Block world'라는 연구에서는 우리 눈에 보이는 사물들을 기하학적 모양으로 단순화시킴.

이 연구의 목표는 우리 눈에 보이는 세상을 인식하고 그 모양을 재구성하는 일이다.


[1966년 - MIT summer project]

MIT summer project로 해당 년도 여름안에 대부분의 시각 체계를 구현해낸다는 것을 목표로 했다.


[1970년대 - David Marr]

David Marr는 비전이란 무엇인지, 어떤 방향으로 컴퓨터 비전을 나아가야하는지, 컴퓨터가 비전을 인식하게 하려면 어떤 방향으로 알고리즘을 개발해야하는지를 다룬 책을 출판했다.

 

해당 책에는 '우리가 눈으로 받아들인 이미지를 full 3D 표현으로 만들기 위한 단계'가 작성되어 있다.

 

 

1. Primal Skectch
- 주로 경계, 막대, 끝, 가상의 선, 커브, 경계가 표현되는 과정이다.

2. 2.5-D skecth
- 시각 장면을 구성하는 표면정보, 깊이 정보, 레이어, 불연속 점과 같은 것을 종합하는 과정이다.
- 불연속 점: 물체 표면의 변화가 갑자기 일어나는 지점이다. 예를 들어, 물체의 모서리나 급격히 꺾이는 부분 같은 곳

3. 3D Modal Respresentation
- 위의 과정에서 얻은 것을 모아서 최종적인 3D 모델을 만들어낸다.

 

 

또 다른 중요한 연구들도 있었다. 

 

컴퓨터 과학자들은 '어떻게 해야 장난감 같은 단순한 블록 세계를 뛰어넘어 실제 세계를 인식하고 표현할 수 있을까?' 라는 질문을 가지기 시작했다. 하지만 당시에는 PC 보급 전, 데이터의 부족으로 인해 지금처럼 연구하기는 쉽지 않았다.

 

 

그래서 Stanford와 SRI에서 과학자들이 서로 비슷한 아이디어를 제안했다. 

 

 

  • generalized cylinder
    • 예를 들면 사람은 원통 모양으로 조합해서 만들 수 있다.
  • pictorial structure
    • 주요 부위와 관절로 표현할 수 있다.

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

 


 

[1987년 - David Lowe]

 

80년대 David Lowe는 어떻게하면 단순한 구조로 실제 세계를 재구성/인식할 수 있는지 고민했다.

David Lowe는 이 연구에서 물체의 선과 경계, 직선의 조합을 이용해서 구성했다.

 

 

1960~80년대 까지는 컴퓨터 비전으로 어떤 일을 할 수 있을지에 대해 고민한 시기이다. 즉, 80년대까지는 큰 진전없는 연구들 뿐이었다.


객체를 인식하지 못하면 객체 분할부터 해보자는 생각에 80년대 이후에는
객체 분할의 시작!

 

객체분할 이미지의 각 필셀을 의미 있는 방향으로 군집화하는 방법이다. 즉, 이미지 속 픽셀을 비슷한 특징을 가진 그룹으로 나누는 작업이다. 마치 퍼즐 조각을 맞추듯이, 이미지에서 비슷한 부분들을 묶어주는 과정이다.

[1997년 - Shi & Malik]

영상분할은 픽셀을 모아놓아도 사람을 정확하게 인식할 수 없을지라도 배경인 픽셀과 사람이 속해 있을지도 모르는 픽셀을 가려낼 수는 있는 방법이다.

 


[1999~2000년대]

얼굴 인식 : 머신러닝 기술, AdaBoost algorithm을 사용하여 실시간 얼굴인식할 수 있게 되었다.

2006년에는 후지필름이 실시간 얼굴인식을 지원하는 최초의 디지털 카메라를 선보였다.

 

 


 

어떻게 객체를 인식할 것인가?

  • 90년대 후반~2010년도: 특정기반 객체인식 알고리즘
    • David Lowe의 SIFT feature & Object Recognition(1999)
      • 객체인식: 객체에서 불변한 점(다양한 변화에 더 강인하게 나타나는 것)을 찾아내고, 이것을 다른 객체에 매칭시키는 것
    • Spatial Pyramid Matching(SPM), Lazebnik, schmid & Ponce(2006)
      • Spatial Pyramid Matching(SPM): 이미지나 비디오의 특징을 비교하고 분류할 때 사용되는 기법
      • SIFT와 같은 특징 추출 기술 덕분에, 이미지의 지역적인 정보를 고려하고, 그 특징을 여러 단계의 그리드를 사용해 이미지를 비교할 수 있게되었다.
      • SVA 적용
      • 돌아가는 방법을 간단하게 정리하면 아래와 같다.
        1. SIFT: 이미지에서 중요한 특징점을 추출
        2. SPM: 추출한 특징점들을 공간적으로 나누어 분석하고, 중요한 정보를 정리
        3. SVM: 그 정리된 정보를 이용해 이미지를 분류
    • Human recognition
      • Histogram of Gradients(2005)
        • 이미지에서 사람의 모양이나 윤곽을 인식하는 방법(전체)
      • Deformable Part Model(2009)
        • 사람의 몸을 여러 부분(예: 머리, 팔, 다리)으로 나누어 각각을 따로 인식하는 방법(부분)

 

 

  • DataSet 
    • Pascal Visual Object Challenge - benchmark dataset(2005) 
      • 이 데이터셋은 물체 인식, 객체 분할, 행동 인식 같은 다양한 컴퓨터 비전 문제를 해결하는 알고리즘을 평가하는 데 사용
      • 컴퓨터 비전 분야에서 표준 데이터셋으로 많이 사용되었다.
      • 머신러닝이나 딥러닝 모델을 훈련하고 성능을 비교하는 데 자주 활용되는 중요한 데이터셋 중 하나이다.
    • ImageNet
      • 1,000개 이상의 객체 카테고리에 대해 약 1,400만 장의 이미지가 포함된 매우 큰 데이터셋이다.
      • 컴퓨터 비전 알고리즘이 물체를 정확하게 인식하고 분류하는 능력을 학습할 수 있도록 설계되었다.
      • 이 imageNet 덕분에 객체인식은 더욱 더 반전하게 되었다.
    • ImageNet 데이터셋을 기준으로 컴퓨터 비전 알고리즘이나 모델의 성능을 평가하기 위해 ILSVRC를 주최
      • 오류율은 점차 내려가게된다.
      • 2012년 가장 오류율이 떨어지게된 순간이 온다. 이때 우승한 모델이 AlexNet인데, 이 AlexNet은 CNN을 기반으로 제작된 모델이다. 

 

이 강의에서는 앞으로 CNN이 무엇인지, 어떤 법칙이 있는지, 어떤 선례가 있는지, 이 모델의 최근 동향은 어떠한지에 대해서 살펴볼 예정이다. 

 

1. Image Classification(이미지 분류)

2. object detection & image captioning