cjun.log
로그인
cjun.log
로그인
MetaCode(Deep Learning) - Computer Vision (Introduction to Computer Vision)
cjun
·
2022년 8월 12일
팔로우
0
Computer Vision
DL
0
MetaCode - Deep Learning(CV)
목록 보기
2/7
ML Framework
데이터를 알고리즘에 넣고
알고리즘의 Loss를 구하기 위해 forward propagation
Loss를 최소화 하기 위해 (학습을 위해) backward propagation
Computer Vision 이란?
Computer Vision 응용분야
Object detection
OCR : Optimal Character Recognition
Face detection
Aristic Images (생성모델)
Computer가 보는 Image Data
이미지 데이터는 행렬. 2차원 혹은 3차원 텐서(Tensor) 형태로 되어있음.
각 행렬의 element들은 0~255 사이의 정수값을 가짐 --> pixel
인간 vs 컴퓨터
고양이 위치가 조금만 변해도, 밝기가 변해도 컴퓨터는 맞추지 못함
Challenge:
Illumination ( 조명)
Deformation ( 흉한 모습)
Occlusion (폐색)
Background Clutter(배경 혼란)
Intraclass variation (클래스 내 변형)
기존 CV 알고리즘
이미지에서 edges 찾기 (선 정보 얻기)
edges에서 corners 찾기(방향 정보)
대표적 Computer Vision Tasks
Classification
"개, 고양이, 비행기, 사자, 인간" 중 무엇인지를 예측하는 문제를 푸는 것
사진의 label이 무엇인지 예측하는 알고리즘을 만듦
일반적으로 알고리즘의 output은 확률 벡터로 출력
Neural network는 일반적으로 SGD를 통해 학습하면, 실수값의 벡터를 만듦
하지만, 확률 벡터를 만들려면 지켜야하는 규칙이 있음
모든 확률 값은 0이상 1이하여야 한다.
벡터 내의 모든 값의 합은 1이여야 한다.
classification Example - Fully Connected Layer
Fully-Connected Layer로 만들면 되지 않을까? 가능
하지만, 이렇게 사용X
이미지의 공간적 정보가 소실 --> 이미지 특징 활용 어려움
학습해야하는 파라미터가 너무 많음
이를 해결하기 위해서 Convolutional Layer 도입
Convolutional Layer
데이터의 공간적 특징(spatial feature)를 잘 잡아옴
내적(dot product) 계산을 통해 이미지를 spatially 슬라이드함
6개의 5x5x3 필터를 이용해서 6개의 서로 다른 activation map을 만듦
즉, 새로운 이미지를 만듦
이 과정이 한개의 층이고, Convolutional layer 역시 선형 함수
padding
image와 Activation maps의 사이즈를 같게 하기 위해서 이미지에 가장자리에 덧대는 것
stride
image에 filter를 slide 할 때, 이동의 크기 정도를 나타냄
Max pooling, Avg Pooling
weight를 정해주지 않고, image size를 줄일 수 있는 방법
커널의 크기와 stirde의 크기를 지정하여 지정된 영역에 대해 최대값을 뽑거나, 평균값을 뽑아 새로운 Activation map 생성
Simple Network
Fully connected 전에 픽셀을 Flatten
MLP를 통과 후 softmax를 통해 실수 형태로 값을 가짐
Loss : Cross-Entropy
one hot vector 형태로 labeling
CrossEntropy를 loss로 이용하여 최적화
cjun
Sometimes You gotta run before you can walk.
팔로우
이전 포스트
MetaCode(Deep Learning) - Computer Vision (Intro)
다음 포스트
MetaCode(Deep Learning) - Computer Vision (Basic CNN Structure)
0개의 댓글
댓글 작성