목록2021/02 (17)
우노
One Shot Learning One Shot Learning이란, 이미지 인식 분야에서 많이 사용되며 각 Class 에 따른 하나의 Training 이미지만으로, 이미지를 인식하고 분류하는 모델을 만드는 것을 말합니다. 보통의 얼굴 인식 시스템은 사용자의 사진이 한 장만 존재할 수도 있기 때문입니다. 하지만, 각 Class 에 따른 Training 이미지 수가 적다면, 이미지를 인식하고 분류하는 모델을 만드는 것은 어렵습니다. 물론 augmentation 과 같은 방법으로 샘플 수를 늘려서 해결할 수 있지만, 이 경우, 새로운 이미지가 데이터 베이스에 추가되었을 때, 모델을 새로 학습해야한다는 문제가 생깁니다. 즉, 실시간 시스템에 적합하지 않습니다. 따라서, 이러한 문제를 해결하기 위해, "입력 이..
Object Detection에는 여러가지 Algorithm이 존재합니다. Sliding Windows Detection YOLO Detection 하나하나 다뤄보겠습니다. Sliding Windows Detection 자동차 감지 알고리즘을 만들고 싶다고 가정해봅시다. 그렇다면, Sliding Windows Detection은 다음과 같은 순서로 진행됩니다. 1) 우선 X와 y로 Training Set를 만듭니다. 이 때, X는 자동차만 표현하도록 딱 맞게 자른 이미지입니다. 2) Training Set이 다 만들어졌다면, Training Set의 X를 Input으로 주는 ConvNet을 학습시킵니다. ConvNet은 y를 출력하며, y는 자동차인지 아닌지를 0 또는 1로 나타냅니다. 3) ConvNe..
Landmark Detecting 이미지가 주어졌을 때, 이미지 내 객체의 위치를 Bounding Box(bx, by, bh, bw)로 출력하는 방법을 Object Localization 이라고 합니다. 또한, 이미지가 주어졌을 때, 이미지 내 객체의 주요 지점을 X, Y 좌표로 출력하는 방법도 있습니다. 이를 Landmark Detecting이라고 합니다. Target Label y 예시 1 얼굴로부터 감정을 인식하고 싶다고 가정해봅시다. 또한, 이미지가 주어졌을 때, 눈의 가장자리, 코의 가장자리, 입의 가장자리, 턱의 가장자리 등 얼굴을 인식할 수 있는 64개의 지점, 즉 64개의 Landmark가 있다고 가정해봅시다. 이 때, 각각의 Landmark는 X, Y 좌표를 가질 것입니다. 첫 번째 La..
Object Detection을 구성하기 위해서는, 먼저 Object Localization을 알아야 합니다. 따라서, Object Localization이 무엇을 의미하는지부터 알아보도록 하겠습니다. Object Localization 위와 같이 이미지가 주어졌을 때, 이미지를 car라고 분류하는 것을 'Image classification'이라고 합니다. 이 때, car가 이미지 속 어디에 있는지까지 알아내는 것을 'Classification with localization'이라고 하며 localization을 사용해, 이미지에서 하나의 객체가 아닌 여러 객체를 인식하는 것을 'Detection'이라고 합니다. Classification with locali..
오류 RStudio를 사용해 데이터를 출력하는 경우, 출력 항목이 매우 길다면 다음 경고가 발생한다. [ reached getOption("max.print") -- omitted 800 entries ] 해결 방법 options 명령을 통해 출력 제한을 늘리면 된다. options(max.print=1000000)
CNN의 Layer 유형은 다음과 같습니다. Convolution Layer Pooling Layer Fully Connected Layer 해당 포스트에서는 Convolution Layer와 Pooling Layer 중심으로 다뤄보겠습니다. Convolution Layer 컨볼루션이란, 원본 이미지에서 특징을 추출하는 수학적 연산을 의미하며 (n, n) 이미지에 (f, f) 크기의 필터를 적용해 특징을 추출하게 됩니다. 아래 그림에서, 녹색 (5, 5) 행렬은 원본 이미지, 노란색 (3, 3) 행렬은 필터입니다. 필터는 원본 이미지 위를 이동하며, 이미지 픽셀 값과 필터 픽셀 값의 내적의 합을 출력으로 나타내게 됩니다. 딥러닝에서는, 이미지에서 원하는 특징을 감지할 수 있도록 필터의 값을 학습하게 됩니..
CNN 종류는 다음과 같습니다. Classic Networks LeNet-5 AlexNet VGG-16 ResNet Inception(GoogLeNet) Network 들어가기 앞서, 입력 이미지 크기로부터 출력 이미지 크기를 추론하는 공식은 Convolution layer와 Pooling layer 모두 동일하며 아래와 같습니다. (n, n, c) 이미지에 대해 p 만큼 패딩한 후, c' 개의 (f, f, c) 필터 블록으로 s 씩 건너띄며 컨볼루션 한다면, 출력 이미지의 크기는 ((n+2p-f)/s+1, (n+2p-f)/s+1, c') 가 됩니다. (N+2p-f)/s + 1 가 실수라면 소수점 아래 부분은 버립니다. LeNet-5 LeNet-5은 손글씨 숫자를 인식하는 네트워크입니다. LeNet-5는..