Image Classification

Bigjoo·2023년 6월 22일
0

CS321N

목록 보기
1/2
post-thumbnail

Image Classification

  • Problem
    • Semantic Gap(의미적 차이)
    컴퓨터는 픽셀의 색을 표현한 숫자로 된
    grid(격자)를 통해 인식
  • challenge
    • Viewpoint variation (시점의 다양성)
    • illumination (조명 변화)
    • Deformation (다양한 포즈)
    • Occlusion (객체의 일부만)

Data-Driven Approach

  1. 이미지 데이터와 라벨 모으기
  2. 머신러닝을 이용한 분류기 학습
  3. 새로운 이미지를 학습된 분류기를 통해 예측
  • Nearest Neighbor
    • def train 모든 데이터와 라벨들을 기억
    • def predict 예측하는 이미지와 가장 비슷한 이미지의 라벨 출력
    • image 비교 방법
      • L1 distance(Manhattan distance)


- 시간 = Train O(1), predict O(N)
=> Train 속도보다 Prediction 속도가 느림

  • K-Nearest Neighbors
    K는 Boundary에 들어있는 값의 개수
    • Distance Metric

Setting Hyperparameters

  • idea #1 - k=1일때 예측값 100%가 나오기 때문에 다른 test셋을 예측하면 정확도가 낮아질 수 있음
  • idea #2 - test데이터를 통해 얻은 최적의 하이퍼 파라미터의 성능을 측정 할 수가 없음
  • idea #3 - 데이터를 train/test/validation으로 나눔

  • idea #4 - cross-validation는 test셋이 적을 때 활용

K-Nearest Neighbor는 이미지에 사용하지 않음

  • test시간이 느림
  • 픽셀에 대한 거리가 주는 정보가 정확하지 않음
  • 차원저주
    • 차원은 지수 단위로 증가하여 공간을 밀도 높게 커버하기가 매우 힘듦

Linear Classification


x= 입력 데이터, W= 파라미터 or 가중치
x와 W를 통해 10개 out = 각각의 카테고리에 해당하는지를 나타내는 점수

train을 통해 얻은 W를 갖고있다가 test이미지가 들어오면
train데이터는 필요없고, W만 이용하여 결과를 도출함

x = 32x32x3(이미지 크기) = 3072 x 1 벡터
W = 32x32x3x10(카테고리 점수)
x와W를 곱하면 10x1개 output

  • ex)

Linear Classification은 다른 관점에서 이미지를 고차원 공간에서의 한 점으로 만드는 것

Linear Classification의 문제점

  • 하나의 클래스에 대해 하나의 템플릿만 배우기 때문에 변화에 매우 취약함
  • Linear Classification은 결정 바운더리를 형성하지만,
    모든 데이터에 완벽한 결정 바운더리를 그릴 수 없음
profile
ComputerVision 누구냐 넌

0개의 댓글