앎을 경계하기

딥러닝 34

[YOLO 정독] YOLOv3 : An Incremental Improvement

YOLO v1, v2에 이어 세번째 버전인 v3 리뷰글을 작성한다. YOLOv3는 v2에서 개선된 버전으로 v2를 먼저 읽고 v3를 읽는 것을 추천한다. Bounding box prediction YOLOv1에서는 anchor box 없이 즉시 bounding box 정보를 예측했다. 좀 더 안정적인 학습을 위해 YOLOv2에서는 anchor box를 사용하여 BBox를 예측하는 방법을 사용한다. 그리고 학습 과정에서 loss function은 SSE 형태의 에러함수를 사용한다. YOLO v3는 logistic regression을 사용해 각 bbox를 위한 objectness score를 예측한다. 우선순위의 bbox가 다른 bbox보다 GT bbox와 많이 겹친다면(IoU가 높다면) score는 1이..

[YOLO 정독] YOLO v2 (YOLO 9000)

YOLO v1에 이어 v2에 대한 정리글을 쓴다. YOLO v2 논문 구조가 매우 신박하다. intro, conclusion 사이에 Main Idea에 대해 Better, Faster, Stronger로 나눠서 설명한다. (보통 intro, related work, method, experiment, conclusion 순) 오히려 좋아 지난 v1과 비교했을 때 달라지는 부분들이 몇 개 있기 때문에 이러한 부분들에 집중해서 포스팅을 해야겠다. 먼저 달라진 점은 v1에서는 20개의 카테고리를 대상으로 Object Detection을 진행하였다. 하지만 객체검출이라하면.. 일반적으로 매우 많은 사물에 대해서도 잘 동작해야한다. 예를 들어, 나무, 사람은 검출하면서 컵은 검출못한다면..? 검출할 수 있는 객체..

[Pytorch Tutorials] Image and Video - DCGAN Tutorial

Introduction예제를 통해 DCGAN을 알아보는 튜토리얼을 진행한다. 실제 유명인들의 사진을 통해서 새로운 사람을 생성하는 Generative Adversarial Network(GAN)을 학습시킨다. DCGAN의 구현은 https://github.com/pytorch/examples 을 참고한다.Generative Adversarial NetworksWhat is GAN?GANs는 학습 데이터셋의 분포를 통해 새로운 데이터의 분포를 학습 데이터 분포와 똑같이 만들어내는 것이다. generator와 discriminator라는 두개의 명확한 모델을 만들어낸다.generator는 학습 이미지와 비슷한 "fake" 이미지를 만들어낸다.discriminator는 generator가 생성한 fake im..

Machine Learning 2021.03.22

[Pytorch Tutorials] Image and Video - Transfer Learning for Computer Vision Tutorial

이번 튜토리얼에서는 transfer learning(전이학습)을 사용하여 image classification용 CNN을 어떻게 학습하는지를 배운다.transfer learning의 두 가지 주요 시나리오는 다음과 같다.Finetuning the convnet랜덤 초기화 대신, imagenet 데이터셋으로 학습된 모델같이 pretrained network를 사용하여 네트워크를 초기화한다.ConvNet as fixed feature extractor마지막 fully connected layer를 제외한 모든 레이어의 weight를 고정시키고, 마지막 fully connected layer를 랜덤 weight로 새롭게 구성하고 그것만 학습시킨다.from __future__ import print_functi..

Machine Learning 2021.03.16

[Pytorch Tutorials] Image and Video - Torchvision object detection finetuning tutorial

Torchvision object detection finetuning tutorial 이 튜토리얼에선 pre-trained된 Mask R-CNN을 finetuning한다. 데이터셋은 보행자 detection, segmentation을 위한 Penn-Fudan database를 사용한다. 345개 보행자 인스턴스가 있는 170개 이미지로 구성되어있다. 데이터셋 만들기 데이터셋은 torch.utils.data.Dataset클래스를 상속해서 __len__과 __getitem__을 구현해야한다. __getitem__은 다음을 반환한다. image : height, width 사이즈의 PIL Image (width, height가 아님을 주의해야한다.) target : dictionary boxes : N개의 ..

Machine Learning 2021.03.11

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TRAINING A CLASSIFIER

What aoubt data?일반적으로 이미지, 텍스트, 비디오, 오디오 데이터를 다룰 때 numpy array로 데이터를 읽고 torch의 tensor로 변환한다. 각 데이터마다 유용하게 사용하는 라이브러리가 존재한다.Images : Pillow, OpenCVAudio : scipy, librosaText : NLTK, SpaCy특히 vision 분야에서는 torchvision을 사용해서 유명한 데이터셋을 불러서 사용할 수 있다.torchvision.datasets, torch.utils.data.DataLoader 유명 이미지 데이터셋 중 하나인 CIFAR10을 사용해보자.CIFAR10은 RGB 컬러 32*32 사이즈 이미지의 총 10개의 카테고리로 이루어져있는 이미지 데이터셋이다. Training ..

Machine Learning 2021.03.08

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TORCH.AUTOGRAD

torch.autogradPyTorch는 자동 미분 계산을 지원한다.이번 섹션에서는 neural network 학습을 위해 어떻게 자동미분을 적용하는지 개념적으로 이해하도록 한다.Background뉴럴넷은 어떠한 입력 데이터에 대해 실행되는 연결된 함수들(신경망)의 집합이다.이러한 함수들은 weight와 bias로 구성된 parameters에 의해 정의되고, 이것들은 Tensor 형태로 저장된다.뉴럴네트워크 학습 과정은 크게 2단계로 나눌 수 있는데, forward propagation과 backward propagation이다.Forward propagationinput data를 각 함수들에 대해 통과시켜서 가장 옳은 output을 만들어내는 과정이다.Backward propagationforward..

Machine Learning 2021.03.05

DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ - TENSORS

What is PyTorch? PyTorch는 파이썬 기반 패키지로 GPU나 다른 가속장치를 사용하기 위해 NumPy를 대체할 수 있고, neural networks 구현을 위한 자동 미분 라이브러리를 제공한다. Goal of this tutorial PyTorch의 텐서 라이브러리와 neural network를 이해한다. 이미지를 분류하기 위해 작은 neural network를 학습시켜본다. Requirements https://pytorch.org/get-started/locally/ 자신의 OS, 쿠다 버전 등 컴퓨터 사양에 맞는 파이토치 설치 conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch Tensors Tensor..

Machine Learning 2021.03.04

DATASET - Semantic Segmentation

Semantic Segmentation(계속 업데이트 중) 1. Cityscapes URL - https://www.cityscapes-dataset.com/ Cityscapes는 도시 길거리의 의미론적 이해를 위한 대용량 데이터셋입니다. 이 데이터셋은 semantic, instance-wise, dense pixel annotation된 라벨을 제공합니다. 라벨링은 8개 카테고리(평지, 사람, 차량, 건축물, 객체, 자연, 하늘, void)로 그룹화된 30개 클래스로 구성되어 있습니다. 5000개의 fine label 이미지들과 20000 coarse label 이미지들로 구성되어 있습니다. 이미지들은 여러 날짜, 좋은 날씨에서 50개의 도시에서 촬영되었습니다. 원래는 비디오로 녹화된 데이터였는데 각 ..

Machine Learning 2021.02.05

DATASET - Image Classification

Image Classification(계속 업데이트 중) 1. ImageNet URL - http://image-net.org/download WordNet 계층구조를 따른 14,197,122 장의 supervised learning(labeled) 데이터셋입니다. ImageNet Large Scale Visual Recognition Challenge(ILSVRC) 대회에서 Image classification과 Object Detection 성능평가 데이터셋으로 사용되었습니다. 라벨링된 Train 데이터와 라벨링되지 않은 Test 데이터셋 전부 공개된 데이터셋입니다. ILSVRC annotations는 두개의 범주 중 하나에 속합니다. (1)이미지 안에 객체 클래스가 존재하는지 아닌지에 대한 Bina..

Machine Learning 2021.02.05