욜로3 는 Bbox를 9개 씩뽑아낸다.
1, 2, 3 (위그림)에서 순서대로 3개씩 뽑아낸다.
같은 위치에 있는 값들 끼리 더해진다.
Residual Block을 사용하는 이유
레이어를 엄청 길게 쌓아도 Gradient Vanishing(사라짐)이 발생하지 않는다.
ResNet이 나오기 전에는 레이어를 여러개 쌓으면 학습이 잘 되지 않았다.
Gradient Vanishing(사라짐)이 발생하지 않는다는 곳은 Backward에서 발생한다.
1번부터 8번 순으로 backward작업을 하게되면 gradient(책임) 값이 0으로 수렴 되어 버린다.
반복적으로 0.9 씩 곱해지다 보면 0에 가까워 지기 때문이다. 하지만 ResNet을 사용하면 존제한다.
Residual Block을 사용하면 처음부터 마지막까지의 수압이 쎄서 마지막 8번까지 gradient(책임) 값이 살아있다
Residual Block 의 장점은 뭐냐? Gradient Vanishing을 막을 수 있다. 즉, 수압을 높여서 학습을 끝까지 유도한다.
Gradient Vanishing 이란? gradient(책임) 값이 반복적으로 곱해서 0에 가까워지면서 나중에 0과 같이 책임값이 사라지는 현상을 말한다.
Residual Block 결론
YOLO v3의 전체 Network 부분이다.
원본에 가까운 이미지와 훼손된 이미지를 합쳐서 concatenate한다.
결론
작아질때 downSampling,
커질때 upSampling 을 써서 사이즈와 채널을 잘 맞춰줘야한다.
colab.research.google.com/drive/1HmABNataCrlhKbj5pJ51d5T0PLvwJPvd#scrollTo=T44AqIv2mgKS
Google Colaboratory
colab.research.google.com
딥러닝을 하기전에 데이타 셋을 가장 먼저 관찰해야한다.
coco dataset 에 대한 내용을 30곳 정도 봐야한다 아래 사이트는 데이타 셋에 대한 내용들이 나온 사이트이다.
www.immersivelimit.com/tutorials/create-coco-annotations-from-scratch
Create COCO Annotations From Scratch — Immersive Limit
This tutorial will teach you how to create a simple COCO-like dataset from scratch. It gives example code and example JSON annotations.
www.immersivelimit.com
info는 이미지에 대한 내용들이 들어가있다
licenses는 아파치, 마이크로 소프트 등등으로 되어있다.
images와 annotation을 봐야하는데 여기선 annotation을 먼저 봐야한다.
코코데이타셋의 원본은 flickr에서 가져왔다.
id는 PK번호로 쓰인다. file_name 에서 0을 제외한 숫자가 된다.
annotation은 박스 그리는 정보들이 전부 모여있는 리스트이다. json형식으로 되어있다.
내용의 이해를 위해서 아래 사진들을 비교해보자.
iscrowd : 1 은 ,,, 등은 별로 안중요함.
C는 그냥 답지의 classification이 들어가 있다. 가끔 이게 맨 앞에도 들어가 있을수 있다.
image_id를 먼저 찾고 bbox의 id를 찾아서 불러와서 연산이 느리다.
Segmentation은 변두리 값들이 리스트 안에 들어가 있다. 2차원 배열 변두리 값인데 좌표값이 아니라,
500부터 1000~ 이런식으로 y축으로 나누었을때 510.66 이면 510의 줄에 오른쪽으로 66번째에 있음을 의미
이런식으로 이미지와 라벨이 정의된다.
위와같이 bbox갯수도 정의됨
train을 image와 label을 비교해보면
www.immersivelimit.com/tutorials/create-coco-annotations-from-scratch
Create COCO Annotations From Scratch — Immersive Limit
This tutorial will teach you how to create a simple COCO-like dataset from scratch. It gives example code and example JSON annotations.
www.immersivelimit.com
Yolo 논문 정리 및 Pytorch 코드 구현, 분석 01 ( You Only Look Once: Unified, Real-Time Object Detection )
Yolo 논문을 공부해야 할 일이 생겨서, 공부 하는 김에 내용과 코드 정리까지 하자는 성실한 마음으로 이 글을 쓰기 시작하기로 했다. * 유감스럽게도 이 글은 아직 완성되지 못했습니다... 배경 Ob
wingnim.tistory.com
blog.paperspace.com/tag/series-yolo/
Series: YOLO object detector in PyTorch - Paperspace Blog
Tutorial on building YOLO v3 detector from scratch detailing how to create the network architecture from a configuration file, load the weights and designing input/output pipelines.
blog.paperspace.com
'workSpace > PYTHON' 카테고리의 다른 글
ReLU 참고 사이트 (0) | 2021.02.10 |
---|---|
Final Logic (0) | 2021.02.09 |
윈도우에서 우분투 설치하는 블로그 (0) | 2021.02.08 |
[DL] Object Detection YOLO V2 (0) | 2021.02.08 |
[DL] Object Detection YOLO V1 (0) | 2021.02.08 |