Image Classification Pipeline

2020. 3. 28. 20:00Artificial Intelligence

본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다.
캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다.

 

 

Image Classification 

 

 

딥 러닝에 대한 연구가 가장 활발히 이루어지고 있는 분야 중 하나가 바로 컴퓨터 비전 분야입니다. 컴퓨터 비전(Computer Vision)이란, 기계의 시각에 해당하는 부분을 연구하는 연구 분야로, 카메라 등의 센서들을 이용해 얻은 데이터들을 식별하는 데에 주 목적을 두고 있습니다.  

 

 

인간의 시각이 담당하는 중요한 기능 중의 하나가 이미지를 보고 그 이미지를 식별하는 것이라 할 수 있습니다. 마찬가지로 컴퓨터 비전 분야의 핵심 과제 중의 하나도 이와 같다고 말할 수 있는데, 이를 Image Classification이라고 합니다. 

 

 

Image Classification의 핵심 과제는 이미지가 주어지면 컴퓨터로 하여금 그것에 맞는 사전에 정해진 라벨(Label)을 출력하도록 하는 것입니다. 예컨대  아래의 그림과 같은 고양이 사진이 입력으로 주어지면, Image Classification 모델이 'Cat'이라는 label을 출력하도록 하는 것입니다. image Classification을 수행하는 딥 러닝 모델은 이러한 분류를 잘 하는 방향으로, Label을 정확하게 맞히는 방법으로 훈련하게 됩니다. 

 

 

잘 수행되는 Image Classification 모델을 구현하기 위해서는 컴퓨터가 이미지를 인식하는 방식과, 인간이 이미지를 인식하는 방법에 근본적인 차이가 있다는 것을 인지하고 있어야 합니다. 굳이 신경생물학의 깊은 분야까지 언급하지 않더라도, 컴퓨터는 이미지를 그저 픽셀 덩어리로 인식한다는 것입니다. 아래의 사진은 우리가 보기에는 앉아있는 고양이 사진일 뿐이지만, 컴퓨터에게는 800 * 600 * 3의 픽셀 Matrix 입니다. (3은 RGB channel).

 

 

 

컴퓨터가 이미지를 픽셀이 나열된 행렬 정보로 인식하기 때문에, 인간에게는 그리 어려워 보이지 않는 과제들이 컴퓨터에게는 굉장한 난제로 다가오게 됩니다. 고양이를 찍은 카메라 각도가 조금만 변해도, 그것이 인간에게는 여전히 고양이지만 컴퓨터에게는 픽셀값의 급격한 변화로 다가오기 때문에 다른 방식의 접근이 필요한 것입니다.

 

그 외에도 컴퓨터가 Image Classification  Task를 수행하는데 어려움을 주는 과제들이 있습니다.

 

 

Illumination

 

컴퓨터에게 있어서 명암은 픽셀값(0~255)사이의 값을 의미합니다. 비슷한 픽셀 값은 비슷한 덩어리로 묶어서 연산될 가능성이 있기 때문에 이는 컴퓨터에게는 어려운 분야 중 하나입니다. 

 

 

 

deformation

 

Image Classification을 어떤 모델로 구현했는지에 따라 조금은 차이가 있을 수 있겠지만, 일반적으로 컴퓨터가 주어진 픽셀 덩어리를 보고 그것이 고양이인지를 판단하는 데에는 "데이터의 분포"를 이용합니다.( GAN 을 다룬 포스트에서 데이터의 분포에 대해 언급하였습니다.) 그런데 이와 같이 고양이의 형체(?) 가 바뀌게 되면 데이터의 분포가 달라지게 되고 이는 학습을 어렵게 만드는 원인중의 하나가 됩니다. 

 

Occulusion

 

위의 Deformation에서 언급한 것과 비슷하게, Occlution이나, 아래에 있는 Background Clutter등은 데이터의 분포를 바꾸거나, 픽셀값을 유사하게 만들어버리기 때문에 학습을 어렵게 만드는 주 요인으로 작용합니다.

 

 

background clutter

 

 

 

 

intraclass variation

 

너무나도 당연한 이야기이지만 하나의 이미지에서 하나 이상의 개체들이 발견될 때, 컴퓨터로 하여금 이것이 하나의 큰 덩어리인지, 아니면 5개의 다른 개체인지를 인식하게 하는 것은 어려운 학습과정을 요구합니다. 이에 대한 자세한 내용은 추후 포스팅에서 다루도록 하겠습니다. 

 

 

 

반응형

'Artificial Intelligence' 카테고리의 다른 글

KNN Algorithm with Data-Driven k Value  (0) 2020.04.01
KNN (K-Nearest Neighbor)  (0) 2020.03.29
Markov Decision Process (MDP)  (0) 2020.03.28
Markov Chain  (1) 2020.03.24
Reinforcement Learning  (0) 2020.03.23