1. Image classification 이미지 분류
Image
- images are represented as 3D arrays of numbers, with integers between [0, 255]
- E.g. 300x100x3(height x width x color channel)
Image classification
- core task in computer vision
- image is input data
An image classifier
def classify_image(image):
#????
return class_label
2. Image classification challenges 이미지 분류의 어려움
1) viewpoint variation 시각에 따라 이미지가 다르게 보일 수 있음
2) illumination 조명의 위치에 따라 이미지가 다르게 보일 수 있음
3) deformation 고양이가 고양이답지 않은 모습을 하고 있을 때 이미지 분류의 어려움
4) occlusion 전체가 보이지 않을 때 이미지 분류의 어려움
5) background clutter 배경과 유사해서 고양이를 인식하지 못하는 경우
6) intra–class variation 고양이라는 class내에서 다른 고양이를 구분해내야 하는 어려움
3. Data-driven approach 데이터 기반 방법론
1) collect a dataset of images and labels
2) use machine learning to train a classifier
3) Evaluate the classifier on new images
Input(입력) : 이미지와 label로 구성된 dataset을 수집 ➡️ Learning(학습) : training a classifier, learning a model. training dataset으로부터 학습시킴 ➡️ Evaluation(평가) : test image set에 대해 학습시킨 image classifier를 평가
4. Nearest Neighbor Classifier
def train(images, labels):
# machine learning
return model
➡️ Memorize all data and labels
def predict(model, test_images):
# use model to predict labels
return test_labels
➡️ Predict the label of the most similar training image
- example dataset : CIFAR 10
- 10 classes
- 50000 training images
- 10000 testing images
- test image를 모든 training set의 image들과 각각 비교, 비교 기준이 distance
L1 (Manhatten) distance
- 이미지 분류 작업에서 test, prediction의 속도가 빠른 게 중요한데 Nearest Neighbor classifier은 test의 속도가 느림
5. k-Nearest Neighbor Classifier(KNN)
- 거리가 가장 가까운 k개의 이미지들을 찾고, k개의 이미지들을 다수결로 voting
- 가장 많이 나온 이미지가 test image와 가장 유사하다고 판단
def train(images, labels): - k=1, Nearest Neighbor classifier
L2 (Euclidean) distance
- L1, L2 중 무엇을 사용할지, k는 어떤 값으로 설정할지는 hyperparameter
- 주어진 환경에서 여러 번의 실험을 통해서 최적의 parameter와 최적의 k 값을 찾아야 됨
- validation data
- hyperparameter를 설정하기 위해서 여러 번의 실험을 하게 되기 때문에 validation data를 가져야 함
- Cross-validation
- training data의 수가 적은 경우 활용
- hyperparameter 튜닝 방법
- K-NN on images NEVER USED
- very slow at test time
- distance metrics on pixels are not informative
6. Linear Classification
- Parametric Approach (cf. Nearest Neighbor classifier – non parametric approach)
- just a weighted sum of all the pixel values in the images 이미지 내의 모든 픽셀 값들에 대해서 가중치를 곱해서 처리한 값들의 합
- counting colors at different spatial position
'Deep Learning > CS231n' 카테고리의 다른 글
CS231n 5강 summary (0) | 2021.06.23 |
---|---|
CS231n 3강 summary (0) | 2021.06.23 |
CS231n 1강 summary (0) | 2021.06.23 |
cs231n 4주차 예습과제 (0) | 2021.05.02 |
cs231n Week3 복습과제 (0) | 2021.04.30 |