인공지능/머신러닝

[머신러닝 - 이론] Computer Vision

바보1 2022. 6. 3. 21:43

1. Computer Vision이란?

 

 

AI의 한 분야이고, 이미지, 비디오 혹은 visual input에서 의미 있는 정보를 추출하는 분야입니다.

또한 해당 정보에 기반해서 행동을 취하거나 추천을 하는 등의 분야입니다.

 

이 분야의 목적은 NLP와 비슷하게 컴퓨터에게 이미지를 이해시키는 것이 목적이며, 정보와 insight를 정확하게 추출하는 것이 목적입니다.

 

이때 이미지는 NLP와 다르게 매우 다양하며, VR, 적외선 레이더 등 매우 많은 이미지가 있습니다.

 

이때 이미지에서 현재 상황을 보거나, 어디에 무엇이 있는지, 어떤 행동이 일어나고 있는지, 어떤 행동을 예상하는지, 어떤 일이 발생할지에 대해 discover합니다.

 

Computer Vision이 영향을 끼칠 수 있는 분야는 매우 많습니다.

기본적으로 시각 정보가 필요한 모든 분야에 필요합니다.

대표적으로 Robotics, Mobile Computing, Accessibility, Biology & Medicine, Autonomous driving 분야가 있습니다.

특히 Facial Detection & Recognition, Self-Driving Cars, Medicien, Biology, Healthcare이 있습니다.

 

그렇다면 과연 본다는 것은 무엇일까요?

우리는 세계를 있는 그대로 보지만, 기계는 저희와 다르게 세계를 인식합니다.


2. What Computers "See"?

 

 

결론부터 말하자면, 이미지는 결국 숫자에 불과합니다.

숫자는 0부터 255까지 (8비트)로 표현되며, 보통은 RGB image로 변환됩니다.

밝으면 밝을수록 pixel값이 높습니다. 요즘은 8비트보다 조금 더 높은 비트 수로 변환해서 더 세세하게 표현하지만, 편의를 위해서 8비트 기준으로만 설명하겠습니다.

 

이때 Regression을 한다면 연속적인 값으로 출력됩니다.

만약 Classification이라면 이 그림이 어떤 부류인지 출력합니다.

 

우리가 사람, 자동차, 집을 인식할 때 어떤 기준으로 인식하나요?

바로 identify key, 특정한 값을 기준으로 인식합니다.

사람은 눈, 코, 입이 있고, 자동차는 바퀴, 집은 문이 있고, 창문이 있습니다.

 

즉 가장 중요한 특징을 알아야 하고, 이러한 특징을 기계에게 학습시켜야 합니다.

 

옛날에는 이러한 특징을 도메인 지식으로 정하고, 그거에 맞게 특징을 추출했습니다.

하지만 이러한 방식의 단점은 각도나 크기가 달라지면 일반화된 모델을 만들기 어렵다는 단점이 있습니다.

 

하지만 이제는 딥러닝이 해결했습니다.

 

딥러닝의 가장 중요한 특징 중 하나는 바로 Learning From Data입니다.

특징을 데이터에서 학습하는 것으로 수작업 없이 특징을 계층적으로 학습할 수 있습니다.

 


3. Common Tasks on Computer Vision

 

 

  • Classification
    • 물체의 종류를 분류하는 것
  • Classification + Localization
    • 물체의 종류를 분류하고, 위치가 어디 있는지 파악하는 것
  • Image generation / translation
    • 이미지를 생성하거나, 변환함
  • Image enhancement
    • Super - Resolution, Denoising 등
      • Super Resolution은 초해상화로 해상도를 높이는 과정
      • Denoising은 노이즈를 제거하는 것
  • Object Detection (Multiple Object)
    • 물체를 감지하는 것
  • Instance Segmentation (Multiple Object)
    • 물체를 정확하게 사이즈에 맞게 감지하는 것

 


4. 요약

 

 

즉 Computer Vision은 VIsual Inputs에서 meaningful information을 find / extract하는 분야라고 볼 수 있습니다.

 

 

다음 글에서는 해당 작업에 대해 어떤 모델이 있고, 모델의 학습 방법이 어떤지 쓰도록 하겠습니다.

 

감사합니다.