Introduction Of Computer Vision

매일 공부(ML)·2021년 12월 2일
2

COCRE 1기

목록 보기
3/8

Blog 목적

[저자: Simplilearn]

[이미지 출처:링크텍스트]

사실 컴퓨터비전을 처음 공부하는 페이지에서 다양한 기술적 용어로 바로 들어가지 않고 어떻게 컴퓨터 비전이 만들어졌고 정의가 무엇인지부터 들어가려고 합니다.

그 이유는 비전의 청사진으로 그려놓고 어떤 방향과 목적을 가지고 이 기술이 만들어졌는지 알아야 조금 더 컴퓨터 비전의 매력을 빠질 수 있다고 생각하기 때문입니다.


Computer Vision 정의

시각 데이터에 대해 인식하고 추론하는 인공시스템을 구축하는 연구를 의미합니다. 그리고 시각데이터는 우리가 아는 이미지부터 동영상 그리고 의료사진까지 광범위하게 포괄합니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

Computer Vision과 Deep learning

다양한 방식으로 컴퓨터 비전을 활용한 기술을 쓰고 있으면 그로 인해 엄청난 데이터들이 쌓일 것이고 그것들 사람이 하나 하나 볼 수는 없을 것입니다.

예를들어, 인스타그램은 하루에 100만장 정도의 사진이 업로드됩니다. 이 수 많은 사진들을 인스타그램회사 직원이 하나씩 확인해서 업로드를 가능하게 해주는 걸까요? 그렇지 않습니다.

어떠한 기술을 통해서 다양하고 많은 데이터를 처리할 수 있을까요?

그것은 바로 딥러닝 기술을 이용하는 것이고 딥러닝 기술을 큰 범주에서 설명하면 사람의 사고방식을 컴퓨터에게 가르치는 기계학습 분야입니다.

여기서 말하는 사고방식을 주로 사람이 생각을 할 때 꼬리에 꼬리를 무는 계층적 사고방식입니다

딥러닝과 컴퓨터비전의 접점이 무엇인지 벤다이어그램을 통해서 직관적으로 알려드립니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

저희가 주로 다룰 것은 컴퓨터 비전쪽이지만 이번 블로그에서는 청사진을 그리는 것이 목적이기에 빨간색 부분을 중점으로 이야기를 해볼까합니다. 이제, 딥러닝과 컴퓨터 비전의 역사에 대해서 이야기를 하겠습니다.


History of Computer Vision

역사 이야기라서 조금은 지루할 수도 있지만, 모든 기술은 실험 과정과 그로 인해 얻어진 깨달음을 토대로 만든 것이기에 흐름을 아는 것이 중요합니다.

1959년, Hubel 과 Wiesel가 첫 Computer Vision 연구가 시작이 되었습니다.

물론 컴퓨터 비전 목적의 연구보단 뇌과학 연구이긴 하였지만 연구 과정은 고양이의 뇌가 시각적 자극에 어떻게 반응을 하는지 관찰하고

이 과정에서 simple cell이 간단한 자극에 반응하고 이 반응들이 모여 complex cell이 되어 복잡한 자극에 반응을 한다는 것을 알게되었고 이것은 훗날 vision works로 불리게 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1963년, Larry Roberts는 실제로 사진 정보를 얻는 방법인, 시각적 데이터를 컴퓨터가 이해하기 쉽도록 기하하적 처리 시도합니다.

이 시도를 통해서 지금의 CNN기술에서 features를 추출하여 object detection기술이 착안 되었다고 생각이 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1970년, David Marr는 시각적 표현 단계에 대한 아이디어 제안으로, 이미지를 3D로 표현하기 시작합니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1970s, 인기주제는 Parts를 이용하여 인식

Object Recognition연구가 시작이 됩니다.

주로, Pictorial Structure와 Generalizaed Cylinder처리하는 컴퓨터 시스템을 구축하여 사람을 인식하는 수준으로 도달하고 싶었지만 하드웨어의 성능의 수준 미달로 되지 못하게 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1980s, 인기 주제는 Edge Detection활용

컴퓨터 하드웨어의 성능 증가로 실제 이미지가 인식이 되고 구현이 가능해져서 관련 연구가 시작이 됩니다.

1986년, John Canny는 이미지 속 엣지와 이미지를 탐색하는 알고리즘을 구축합니다.

1987년, David Lowe는 이미지의 edges를 edge matching기술을 이용하여 object recognition 하는 원리를 제시하게 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1990s 인기 주제는 그룹핑을 통해서 물체를 인식

더 쉽게 레이블을 전달하거나 인식이 가능해졌고 그로 인해 어떻게 하면 더 복잡한 이미지와 장면을 만들 수 있을지에 대한 고민들이 주를 이루게 됩니다.

1997년 Normalized Cuts, Shi and Malik는 엣지를 매칭하는 것이 아닌 입력 이미지를 image segmentation 기법을 적용합니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

2000s 인기 주제는 매칭기법을 활용하여 물체인식

2000s 머신러닝의 활용도가 급증하게 되는 기점이어서 시각적 인지 시스템과 detection분야의 성능 향상 또한 증가합니다.

1999년 SIFT, David Lowe는 input image가 들어오면 작은 key point들을 인식한 후 특성 벡터를 이용하여 외관에 matching을 시키면 밝기나 각도가 바뀌어도 object를 detection연구가 진행이 된다는 걸 밝혀냅니다.

[저자: Justin Jhonson]

[이미지 출처: 링크텍스트]

2001년 Viola and Jones이 우리가 아는 머신러닝 기반으로 얼굴 이미지를 인식하는 알고리즘(Face Detection)과 Boosted Decision Tree을 통해서 얼굴을 인식을 합니다.

대표적인 예시로, 저희가 카메라로 사람을 찍을 때 노란색 박스가 뜨는데 그것이 바로 Face Detection입니다.

[저자: AZMATH MOOSA ]

[이미지 출처: 링크텍스트]

Computer Vision의 정확성을 높이기 위해서는 당연히 수 많은 데이터가 필요하고 그 데이터를 저장하고 업로드할 수 있는 데이터 창고가 점점 필요한 시기가 다가오게 됩니다.

2009년 이러한 수 많은 필요성이 부각이 되면서 ImageNet이라는 데이터 창고가 완성이 되어서 배포가 가능해졌고 다양하고 방대한 데이터가 기반이 되니 여러 기술을 적용할 수 있게 되었고 그로 인해 Image Classification Challenge라는 시대를 열게 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

Image Classification Challenge는 2010부터 시작이 되었고 아래 사진은 우승자의 정확도인데 2012년 이전에는 개선 폭이 크지 않았다가 AlexNet이라는 네트워크의 도입으로 개선이 확 되어서 사람보다 더 정확한 결과를 낼 수 있는 수준까지 오게 됩니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]


Computer Vision 핵심 역할하는 Deep Learning의 역사

Perceptron

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

Perceptron은 데이터로부터 학습이 가능하게하는 알고리즘으로 하드웨어 형태로 초기에는 구성이 되었고 이 기계는 알파벳 정도 인식이 가능했기에 초기 linear Classifier이라고 합니다.

이 기계의 발명으로 사람들은 기계 스스로도 학습이 가능할 수 겠다라는 아이디어를 주게 됩니다.

Minsky and Papert

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1969년 Minsky and Papert가 Perceptrons 책을 출판하였고 이 책에서는 퍼셉트론이 엄청 대단한 기능을 갖고 있는 것이 아니라 특정 학습 알고리즘이 있는 기계에 불가하다고 말합니다.

Necognitron: Fukushima

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1980년 일본의 컴퓨터 과학자인 Fukushima가 Hubel and Wiesel의 실험인 Hierach of Complex and Simple Cell에서 영향을 받아서 Computational을 만듭니다.

이 모델은 AlexNet과 유사한 구조로 만들어졌다고 평가를 받는데 그 이유는 simple cell은 convolution으로 complex cell은 pooling으로 정의했기때문입니다.

이 모델의 아쉬운 점은 모델 학습에 관한 이야기를 제시하지 않은 것입니다.

Backprop: Rumelhart, Hinton, and Williams

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1986년 Rumelhart, Hinton 그리고 Williams가 뉴런 네트워크의 기울기를 가지고 다층 퍼셉트론을 학습시키는 역전파 알고리즘을 제안했고 이 알고리즘을 통해서 현대 머신러닝의 발전이 일어나게 됩니다.

다층 퍼셉트론: 여러 개의 층이 쌓여있는 퍼셉트론 구조라고 간단하게 이해하시면 됩니다.

Convolutional Networks: LeCUN, 1998

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

1998년 LeCUN은 이론으로 존재하던 Convolutional Network를 만들어냈고, 역적파 알고리즘과 Neocognitron의 아키텍처를 결합하여 손글씨 숫자를 인식하는데 성공했고 더 나아가 학문적, 상업적으로도 큰 영향을 끼치게 됩니다.

그리고 Neocognition을 참고하여 만들었기에 AlexNet과 유사한 구조라고 평가됩니다.

Deep Learning, 2000s

이 시기에서는 Depp Learning을 적응하려는 수 많은 시도를 했고 그로 인해 다중 레이어들과 뉴럴 네트워크 알고리즘의 발전을 이룹니다.

그리고 어떻게 합성 네트워크나 훈련 방식을 모델에 적용하는지에 대한 연구들이 이루어지게 됩니다.

아래 사진은 이러한 내용들이 어떻게 발전되었는지 사진으로 보면 직관적이해가 쉬워지기에 첨부합니다.

사진의 여러 용어들에 집중하기 보단 그림의 변천과정을 통해서 이랬구나라고 생각을 하기를 바랍니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

2012 to Present

AlexNet: Deep Learning Goes Mainstream

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

2012년 Image Classification Challenge에서 Deep Learning을 활용한 CNN구조의 AlexNet도입으로 인해 사람보다 정확한 결과를 보여주는 돌풍을 일으켰고 이것이 Neural Networks에 대한 연구의 필요성을 알리는 역할을 하게 됩니다.

Deep Learning Explosion

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

AlexNet의 등장으로 급격하게 Deep Learning에 대한 학문의 관심과 뉴럴 네트워크에 대한 관심이 급증하는 시기입니다.

이로 인해 CNN(ConvNets)을 활용한 이미지 처리 기술이 사회의 전반적인 부분에 적용되기 시작합니다.

ConvNets(CNN) are everywhere

저희가 뒤에서 배울 기술들이지만 미리 시각적으로 보여드리려고 합니다.

단순히 이런 기술들로 발전이 되었구나 정도의 감만 갖고 넘어가면 됩니다.

아래 이미지의 저자와 출처 링크입니다.

[저자: Justin Johnson]

[이미지 출처: 링크텍스트]

  • Image Classification & Image Retreieval

  • Object Detection & Image Segmentation

  • Video Classification & Activity Recognition

  • Pose Recognition & Playing Atari games

  • Medical Imaging & Galaxy Classification & Whale recognition

  • Image Captioning

profile
성장을 도울 아카이빙 블로그

1개의 댓글

comment-user-thumbnail
2021년 12월 10일

세현님, CV와 딥러닝의 역사를 잘 정리해주셨군요~ 미처 몰랐던 정보도 있어서 유익했어요.

답글 달기