Skip to content

sangnekim/YOLO-v1-for-studying

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YOLO v1

소개

You Only Look Once(YOLO v1): Unified, Real-Time Object Detection 논문 리뷰 및 코드 공부 (https://arxiv.org/abs/1506.02640)

논문 리뷰: https://velog.io/@skhim520/YOLO-v1-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-%EB%B0%8F-%EC%BD%94%EB%93%9C-%EA%B5%AC%ED%98%84
참고한 코드(baseline):https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/object_detection/YOLO
참고한 유튜브: https://www.youtube.com/watch?v=n9_XyCGr-MI

참고한 코드 및 유튜브는 aladdinpersson님의 깃허브와 유튜브 강의 입니다.

코드 실행

환경설정

matplotlib==2.2.2
numpy==1.15.4
python==3.6.7
pytorch==1.0.0
pandas==0.23.4
pillow==5.3.0
torchvision==0.2.1
tqdm==4.28.1

Dataset

사용한 데이터셋은 PASCAL VOC으로 https://www.kaggle.com/dataset/734b7bcb7ef13a045cbdd007a3c19874c2586ed0b02b4afc86126e89d00af8d2에서 다운 가능합니다.

Train

python train.py

argument는 train.py에서 수정 가능합니다.

# Hyperparameters etc.
LEARNING_RATE = 2e-5
DEVICE = "cuda:0" if torch.cuda.is_available() else "cpu"
BATCH_SIZE = 16
WEIGHT_DECAY = 0
EPOCHS = 1000
NUM_WORKERS = 2
PIN_MEMORY = True
LOAD_MODEL = False
LOAD_MODEL_FILE = "overfit.pth.tar"
IMG_DIR = "data/images"
LABEL_DIR = "data/labels"

논문 구현과 다른 점

YOLO v1 논문을 이해하기 위한 코드 구현으로 computation cost등의 문제로 논문의 세세한 부분까지는 구현하지 못 했습니다. 또한 시각화에 신경쓰지 못 했습니다.
다른 점은 다음과 같습니다.

  1. pre-train network를 사용하지 않았다.
  2. hyperparmeter가 다르다.(learning rate, batch size, etc.)
  3. learning rate schedule을 사용하지 않았다.

About

YOLO v1 paper review and code implementation from aladdinpersson

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages