본문 바로가기
컴퓨터/Computer Vision

[Vision] CS231n - 1 Intro

by IT황구 2021. 1. 4.
728x90
반응형

코세라 강의를 듣기에 앞서, 이것을 먼저 들어보기로 했다.

https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk

 

코세라는 듣고싶은 강의가 advanced라서 비전의 바이블이라는 이것을 먼저 듣고 후기를 남기기로 했다.

보통 이렇게 공개된 강의 특) 다들 1강 대충 듣다가 포기함.

세상이 정말 좋아졌다.. 스탠포드 강의도 집에서 듣고 쩝..

 

티스토리는 스티커를 저장하는 기능이 없어서 네이버 블로그에서 복사해왔다..(추가 부탁드립니다 ^^)

나 또한 저런 특) 에 포함이 되는 사람이기에, 블로그에 포스팅을 한다는 의무감을 가지고 강제로라도 들어볼까 한다.

참고로 강의에 활용되는 ppt를 올리고 싶지만 굉장한 저작권 위반이라 블로그가 글 위주로 전개되는건 어쩔 수 없다.

1. Intro (History of Computer Vision)

이 과목을 배우기에 앞서 역사에 대해서 먼저 말해준다.

아주 옛날의 생명체들은 float 상태로 다녔고, 스스로 움직이지 못했다고 한다.

Why? Vision이 없었기 때문이다. 보이는것이 없었기에 먹이가 내 몸 옆으로 오면 먹고, 그렇지 않으면 먹지 않는 삶을 살았다.

하지만 어느 시점부터 갑자기 생명체의 수가 폭발적으로 늘어나기 시작했는데, 그 시점이

바로 'Vision', 즉 눈이 생기고 나서 시작이 되었다며 수업을 시작한다.

Computer Vision 중에서도 물체를 인지(Recognition)하는 것에 대해서 생각보다 굉장히 옛날부터 연구되어 왔다. 뭐 여기서는 16세기 17세기도 얘기를 하지만, 좀 더 지금 세계와 맞는.. 뇌에서 물체를 인지하는 연구들은 1959년 Hubel&Wiesel 이 연구했다고 말한다.

고양이를 상대로 자극을 주어서 Simple cell, Complex cell 등 세포마다 반응하는것이 다르다. 이런 내용이다.

1950년대 이후로도 1960년도에는 MIT에서 본격적으로 Vision에 대한 연구를 햇다고 논문을 하나 소개한다. (물론 Intro만 소개하지만) 비전이 생각보다 꽤 오래된 분야 라는것을 알 수 있었다.

그리고 이때부터 컴퓨터가 어떻게 우리가 보는 사물을 인지하고 표현할 수 있을까? 에 대한 여러 방법들이 소개된다.

-1970년대

David Marr의 방법은 Primal Sketch → 2.5Dimension sketch → 3-D Representation 이라는 방법을 통해서 표현하고자 했다.

다른 학자는 사람을 Pictorical Structure로 그림을 이용해서 단순하게 표현하고자 하였다.

이 모든 표현방법의 생각은 모든 물체는 간단한 기하학적 구조로 구성되어 있다 라는 Base idea를 가지고 생각한 것이다.

1970 ~ 1980은 Object Recognition에 대해서 많이 고민을 하던 시기였다. 하지만 좋은 결과를 나타내진 못했다고 한다.

1997년에는 SHi & Malik 란 사람이 새로운 방식을 생각한다.

사진을 찍은 후에 유의미한 영역의 픽셀들만 그룹화 하는 방식을 생각해낸다.

이게 파라솔이고, 이게 사람이고 정도만 구분 갈 정도로 하는것이다.

어떤 대상이 무엇으로 이루어졌는지는 알 수 없지만 주변 배경으로 유추하는것 같았다.

Image Segmentation 이라는 그래프 이론을 통해서 해결했다고 하는데 아직은 무슨말인지 전혀 모르겠다.

-2000년대

2000년대에 들어서는 Face Detection에 대해서 연구가 많이 진행되었다.

2001년에는 실시간 얼굴 인식이 가능하게 되었고 AdaBoost(에이다부스트) 알고리즘을 통해서 해결했다고 한다.

그 이후 몇년후에 사진기에 이 기능을 탑재하면서 실생활에 비전을 이용하는 사례도 생긴다. (이전에도 이용했는지는 모르겠음)

스탠포드에서 ImageNET이라는 프로젝트를 통해서 22K 만큼의 카테고리와 14M 의 사진들을 분류하기 시작한다. 왜 이런것을 했을까?

데이터가 부족하기 때문이다. 컴퓨터가 여러 사진을 보면서 아 이렇게 생긴것은 사람이고, 이렇게 생긴것은 기린이구나. 라는것을 판단하는 기준점을 줘야한다. 그러한 것들을 스탠포드에서 크게 시도한것이다.

이제 저 방대한 데이터를 이용해서 ImageNet Large Scale Visual Recognition Chanllenge가 열린다.

어떠한 사진을 준 후에 그 안에 얼마나 많은 사물이 있는지 인지하는 것이다.

그리고 그것의 정확도를 측정해서 매년 기록했다.

여기서 우리가 앞으로 왜 CNN(Convolutional Neural Network) 을 배울지에 대해서 말해준다.

해가 거듭할수록 인간이 인지하는 능력과 Computer가 인지하는 능력이 비슷해져 간다.

하지만 여기서도 2011 → 2012 에서 비약적인 발전이 이루어졌다.

그때 사용한 모델이 CNN Model이다. ( deep learning 이라고 알려져 있다고도 말한다)

저 효율적인 모델을 앞으로 CS231n 코스에서 다루게 될 것이라고 소개하며 끝나게 된다.

왜 옛날부터 있던 Vision 분야는 이제서야 뜨고 있는가?

역사에 대해 듣다보니 저 부분도 궁금했었다. 마침 교수님께서 잘 설명을 해주셨다.

1. Computation

Moore`s Law 때문에 CPU의 성능이 계속 좋아져서 이러한 프로그램이 가능해졌다고 한다.

컴퓨터 구조론때 들었던 내용인데 굉장히 반가웠다.. 듣다가 처음으로 아는게 나와서..

1998년의 transistor 수는 10^6이고 2012년엔 10^9 만큼이다.

2. Data의 양

예전엔 컴퓨터가 학습할 데이터가 굉장히 부족했다고 한다.

또한 데이터도 그냥 아무 사진이 아니라 컴퓨터가 인식하기에 좋은 아름다운 사진들을 뜻한다.

저 두가지 이유가 가장 주된 이유로 최근에 이 분야가 각광받기 시작하는것 같다고 말한다.

Vision은 단순 물체 인식을 넘어선 훨씬 더 많은 분야에 사용될 수 있다.

--End

감사합니다!!

728x90
반응형