딥러닝 for Deep Learning

21.01.04 [Image Classification] 본문

인공지능 일기

21.01.04 [Image Classification]

JadenM 2021. 1. 4. 18:01

금일 첫번째로 진행된 풀잎스쿨(Flipped School)에서는

컴퓨터 비전을 위한 Image Classification에 대해 논의를 해보았다.

 

 

Image Classification이란?

컴퓨터에 입력된 이미지를 미리 정해진 카테고리 중 하나인 라벨로 분류하는 작업을 말한다.

 

광합성에 진심인 주인님

 

위의 귀여운 생물체가 고양이인지 원숭이인지 테슬라 모델3인지 컴퓨터가 학습 및 분류를 해서 결과를 도출해 낸다고 한다.

 

당연히 사람에 눈에선 저 고양이가 자율주행하는 테슬라 차량이라고 생각하긴 어렵지만

컴퓨터의 입장에서는 상당히 까다로운 작업니다.

 

 

이미지 분류를 어렵게 만드는 요소는 아래와 같다.

 

  • Viewpoint variation(시점 변화)
  • Scale variation(크기 변화)
  • Deformation(변형)
  • Occlusion(폐색)
  • Illumination conditions(조명 상태)
  • Background clutter(배경 분규)
  • Intra-class variation(내부클래스의 다양성)

사람의 눈으로 본다면야

고양이가 덤블링을 하고 있던 집사의 밥을 냉장고 뒤에 숨어 호시탐탐 노리고 있던 고양이를 다른 물체로 인식 하진 않지만,

컴퓨터는 그러한 변수들이 이미지 분류를 실행함에 있어 상당히 골치를 썩인다.

 

그래서 컴퓨터가 우수한 분류를 해내기 위해서는 많은 양의 데이터를 집어 넣어 줘야 한다.

 

50,000장의 트레이닝 셋

10,000장의 테스트 셋

을 입력시켜 테스트 이미지를 취해 모든 트레이닝 이미지와 비교를 하고 라벨 값을 예상할 것이다.

설정된 라벨 별로 수 천장의 이미지를 입력시킨다.

 

위와 같은 작업을 위해서 '분류기'라는 것을 사용하게 되는데

 

Nearest Neighbor Classifier(최근접 이웃 분류기)

k - Nearest Neighbor (KNN 분류기)

 

위와 같은 분류기들이 사용된다고 한다.

 

최근접 이웃 분류기의 이미지 분류 정확도가 우수하지 않기 때문에

여러 가지 hyperparameter를 적용시킨 KNN 분류기를 더 많이 사용한다고 하는데

최근에는 어떤 분류기를 주로 사용하는지 궁금하다.

 

 

[후기]

 

내가 이해한 내용을 정리해 보긴 했는데

생소한 용어들도 많고 실질적으로 적용시켜 보지 못했기 때문에

제대로 이해했는지 확실하진 않다.

 

앞으로 교육을 진행하며 직접 손으로 코드를 작성해가며 오늘 배운 내용들을 더 깊게 이해할 수 있을 것이라 생각한다.

 

 

 

 

이미지 출처: blog.kickview.com/training-a-cnn-with-the-cifar-10-dataset-using-digits-5-1/

 

Training A CNN With The CIFAR-10 Dataset Using DIGITS 4.1

Recently, several friends and contacts have expressed an interest in learning about deep learning and how to train a neural network. Although there are many resources available, I usually point them towards the NVIDIA DIGITS application as a learning tool.

blog.kickview.com

news.lawtalk.co.kr/issues/2239