Computer Vision 앞에 서 있는 나

seung·2024년 8월 28일

Computer Vision

목록 보기
1/11

부트캠프 3주차가 지나면서 드는 생각

부트캠프에서 기초 다지기가 끝나고 본격적인 Computer Vision에 대해 배우는 시간이 시작되었다.

단순히 이미지쪽이 좀 더 재미있고 해보고 싶다는 생각으로 이 분야을 지원하게 되어서 학교에서 배웠던 CNN기초 이론 정도만 알고 있었다. 이 부트캠프를 통해 많은 것을 배워 갈 것이라고 자부할 수 있지만 정작 내가 Computer Vision분야에서도 어떤 task에 흥미가 있고, 앞으로 어떤 분야로 더 나아갈 것인지에 대한 계획이 없었다.
그러한 계획을 정하고 이 Computer Vision 공부를 한다면 그 분야에 더 몰입하고 더 깊게 공부할 수 있지 않을까? 하는 생각이 들었고, 또한 부트캠프 이후에 내가 컨택하고 싶은 연구실이나 회사가 있다면 미리 준비할 수 있겠다라는 생각이 들었다.

그래서 Computer Vision가 정확히 무엇이고 CV에서 어떤 것을 배우고 공부하는지 알아보았다.


Computer Vision이란?

컴퓨터 비전은 사람의 visual perception과 밀접한 연관이 있다.
visual perception이 뭔지 파악해보자

Visual Perception

사람은 여러 sensor modality(청각,시각,후각,미각,촉각)로 부터 정보를 얻어온다.
우리가 세상과 소통할 때 이 오감을 이용한다!

놀라운 것은 사람이 정보를 얻는데 가장 큰 비중이 있는 것은 시각정보에 해당하고, 뇌의 50%(?) 정도가 visual processing을 담당하고 있다는 것이다! (내가 이런 중요한 것을 공부하고 있다니..ㅎ)
아직 과학적으로 증명되지 않았다고는 하지만 대부분 동의할 것이다!

그래서 우리가 사람과 같은 AI로봇을 만든다고 하면 아마 가장 먼저 사람처럼 주변 정보를 받아들이고 인식하고 이해를 하고 판단하는 machine perception부터 만들것이다.
(그중에서도 visual perception이 가장 중요하지 않을까?)

AI에게 눈을 달아주어 사람처럼 시각정보를 처리하는 기술들을 Computer Vision이라고 한다.
그래서 우리는 Computer Vision == Visual perception & intelligence라고도 한다.

visual perception의 종류

color perception
motion perception
3D perception
semantic-level perception
emotion perception등등 다양하다.

Computer Vision & Computer Graphics

컴퓨터 비전은 사람으로 비유해서 설명하자면 사람의 눈처럼 시각적인 정보를 담아서 뇌로 보내면 뇌에서 시각적인 정보를 분석하고 해석하는 것처럼 분석하여 현재 이미지의 state를 추출하는 과정이다.

컴퓨터 비전과정과 반대로 state 주어졌을 때 다시 visual data로 복원하는 과정을 Computer Graphics(Rendering)이라고 한다. 그래서 컴퓨터 비전을 Inverse Rendering이라고도 한다.
하지만 최근에는 컴퓨터 비전안에 그래픽스를 포함하는 경향이 있다.

Computer Vision & AI

컴퓨터 비전을 AI관점으로 바라보면
컴퓨터 비전에서 machine learning과 관련없는 분야도 있다.
학습 기반에 machine learning기술을 이용한 컴퓨터 비전 알고리즘도 존재한다.
그중에서도 neural network 기반 기술을 이용해 컴퓨터 비전을 할 수도 있다.
(이 부분을 부트캠프에서 배우고 있는 것!)

Computer Vision에서 image data

어떤 물체가 있을 때 imaging system(카메라)를 통해 우리는 image data를 얻는다.
이때 이미지의 각 픽셀은 서로 다른 밝기를 가지고 있고 대부분의 이미지는 8비트(0~255)이다.


Computer Vision은 어려운 분야..

우리가 단순히 컴퓨터의 시각 정보를 읽어준다고만 생각한다면 쉬워보일 수 있다.
하지만 우리의 시각은 불안정할 때가 많다. (착시현상 처럼 색이 완전히 다른데도 불구하고 같은색으로 볼 수 있다.)

이런 어려움을 극복한다면 정말 재미있고, 다양한 응용을 할 수 있다.
최근 neural network와 학습 기반 알고리즘이 발달하면서 computer vision 알고리즘이 상당히 발전하였다. 그래서 지금 시점이 computer vision이 매우 활발해지는 시점이다.(안되던 것들이 가능해지고 실용적인 기술들이 쏟아져 나온다!! ㅎㅎ)
이런 상황이라는 걸 들으니깐 뭔가 그래도 취업난 걱정, 내가 가고 있는 길이 괜찮은 길인가 이러한 걱정들이 줄어들고 기대가 되기 시작했다 ㅎㅎ


Computer Vision에서 배우는 것들

CNN,VIT

가장 기본이 되는 구조들을 배워야 한다.

모델 성능 향상 방법

모델을 학습할 때 성능을 올려주는 방법들 배워야한다.
Data augmentation(데이터증강) and knowledge distillation(경량화 or self-supervised learning에서 많이 사용된다.)

visualization

visual analysis를 위한 시각화도 알고 있다면 해석을 통해서 모델의 성능을 끌어올릴 수 있기 때문에 시각화 분석도 필요하다.

기본적인 computer vision task

  • semantic segmetation

  • object detection & instance segmentation

  • panoptic segmentation
    위에 두 작업을 동시에 하는 것이다!

Computer photography

이미지가 주어졌을 때 이미지의 퀄리티를 개선하거나 다른 형태의 출력을 만들어 내는 기술들도 배운다.

  • low light image enhancement & denoising
    밝기나 노이즈를 없애는 작업
  • super resolution
    해상도를 올리는 작업
  • image deblurring
    모션 blur를 없애는 작업
  • video processing(motion magnification)

Multimodal learning

우리가 시각적인 정보와 함께 다른 modality의 정보(소리,text 등)를 활용한다면
더 풍부한 작업을 할 수 있다.
이러한 여러 modality 를 아우르는 학습에 대해서도 공부하면 좋다!

특히 Large Language Model에 visual 정보까지 추가하여 만든 VLM(Visual Language Model)도 배울 수 있다.

Generative Model

최근에 각광받고 있는 분야중에 하나이다!
multimodal도 같이 이용하여 text를 기반하여 만든 동영상이나 3D 디자인을 생성해 낼 수 있는 생성모델들을 배워볼 수 있다.

3D

전세계에서 3D 수요는 엄청 높다!! 잘 공부한다면 나의 미래에 도움이 많이 될 것 같다!!
하지만 3D는 딥러닝 외에도 3D에 대한 개념 공부를 많이 해야한다. 미리 해둔다면 도움이 될 것이다!

3D human, text-to -texture generation등 딥러닝과 관련된 3D를 공부해 볼 수 있다.


Computer Vision은 어디에 응용될까?

  1. Robotics with Computer Vision
    주변을 이해하고 상호작용할 수 있는 핵심 기술인 컴퓨터 비전을 이용해 움직이고,잡고 하는 로봇에서 많이 사용된다.

  2. Autonomous driving
    무인 자동차나 주행보조 시스템에서 컴퓨터 비전이 적극적으로 활용되고 있다.(우리가 아는 테슬라에서도 사용되고 있다!)

  3. Communication(Meta Quest 3)
    지구 반대편에 있는 사람들도 바로 옆에 있는 것처럼 연결시켜주는 메타버스와 같은 텔레프레젠스(Telepresence) 기술도 컴퓨터 비전을 이용한 기술이다.
    (텔레프레젠스는 사용자가 물리적으로 다른 장소에 있는 것처럼 느끼게 해주는 기술)

  4. 3D virtual influencer
    3D 아바타도 빼놓을 수 없는 컴퓨터 비전 기술이다.
    대표적인 예로 우리나라의 ROZY가 광고 모델로도 사용되었다!


CV를 알아보며 느낀 나의 생각

컴퓨터 비전은 사업적인 분야에서도 활발하지만 연구 분야에서도 논문이 많이 나오고 있으며
market scale또한 엄청 커질 전망이다라는 이야기를 듣고 자부심도 생기고, 더 열심히 해서 컴퓨터 비전 분야의 한 획을 긋는 사람이 되고 싶다고 느꼈다.

또한 CV의 여러 분야들은 보면서 내가 나중에 이렇게 재미있고 흥분되는 일들을 할 수 있다는 것에 매우 기뻤다.

아직 다 정확한 개념과 과정은 모르지만 간단한 소개와 이름만 보았을 때는 동영상에서 눈에 보이지 않는 미세한 움직임을 증폭시켜 쉽게 볼 수 있도록 만드는 기술인 motion magnification3D 분야, panotic segmentation 이 3가지가 나의 눈을 사로잡았다.

공부를 하면서 이 3가지 부분을 좀더 집중적으로 공부할 계획이고, 나중에 프로젝트도 내가 실력이 된다면 꾝 이와 관련된 것으로 하고 싶다 ㅎㅎ 이 열정 그대로 다 CV에 PUSH하자!

0개의 댓글