일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- matlab 영상처리
- 딥러닝
- c++
- c언어 정리
- MFC 프로그래밍
- Pytorch Lecture
- 모두의 딥러닝
- C언어 공부
- object detection
- pytorch zero to all
- 영상처리
- 해리스 코너 검출
- 파이토치 김성훈 교수님 강의 정리
- 팀프로젝트
- 파이토치
- 딥러닝 스터디
- 모두의 딥러닝 예제
- 미디언 필터링
- 파이토치 강의 정리
- 딥러닝 공부
- tensorflow 예제
- 김성훈 교수님 PyTorch
- c언어
- 골빈해커
- c++공부
- 가우시안 필터링
- 케라스 정리
- 컴퓨터 비전
- TensorFlow
- pytorch
Archives
- Today
- Total
ComputerVision Jack
YOLOv3: An Incremental Improvement 본문
반응형
YOLOv3: An Incremental Improvement
Abstract
- YOLO에 대해 더 좋은 성능을 할 수 있게 설계를 약간 변경하여 단단하게 만들었다. 또한 이 새로운 network 훈련 시켰다. 지난 YOLO 보다 약간 커졌지만 더 정확해졌다.
- YOLOv3 여전히 빠르다. 320 x 320 resolution에서
22 ms
나온다. SSD 만큼 정확하면서 3배 빠르다.
YOLO: Real-Time Object Detection
Introduction
- YOLO의 성능 향상을 위해 준비하였다. 그러나 정직하게 엄청나게 뭔가 변화한 것은 아니다. 단지 약간의 변화를 통해 성능을 높였다.
The Deal
Bounding Box Prediction
- YOLO 9000과 마찬가지로 해당 시스템은
anchor boxes
의dimension cluster
사용하여 bounding boxes 예측한다. 만약 cell이 image(cx, cy)의 왼쪽 상단에서offset
갖거나 이전 bounding box가pw
,ph
width와 height 갖는다면 prediction은 아래와 같다.$b_y = σ(t_y) + c_y$$b_h = p_h{e^{t_h}}$ - $b_w = p_w{e^{t_w}}$
- $b_x = σ(t_x) + c_x$
- 학습 기간엔
squared error loss
사용한다. YOLOv3 경우logistic regression
사용하여 각 bounding box의objectness score
예측한다. 만약 이전의 bounding box가 최적이 아니라 overlap 관점에서 threshold 보다 높다면 해당 prediction 무시한다. 해당threshold = 0.5
- 시스템은 ground truth 객체에 대해서 하나의 bounding box만 배정한다. 만약 bounding box가 ground truth에 대해 할당되지 않으면
coordinate
과class prediction
에선 loss 발생 시키지 않고 objectness만 관여한다.
Class Prediction
- 저자는 softmax 사용하지 않는다. 이는 좋은 성능에 반드시 필요하진 않기 때문이다. 대신 간단하게 독립적인
logistic classifiers
사용한다. 따라서 학습 과정에서 class prediction에 대해binary cross-entropy loss
사용한다. - softmax 사용하는 것은 각 박스가 하나의 class 갖는다는 가정을 하기 때문에 취지에 맞지 않다.
multi-label
접근은 데이터에 대해 모델을 더 좋게 만든다.
Predictions Across Scales
- YOLOv3는 3개의 크기에 대해서 box 예측한다. 이 시스템은 feature pyramids network 개념을 토대로 feature 추출한다. 3개의 box 지칭하는 tensor는 N x N x [3 x(4 + 1 + class)]의 shape 갖고 4개의 box 정보, 1개의 objectness, class 개수 만큼을 나타낸다.
- 다음 2개의 이전 layer에
upsample=2x
적용하여 feature map 얻는다. 이후 이 다음 feature map에concatenation
하여 사용한다. 이러한 방법은 upsample feature에 대해 더 의미 있는 feature map 얻게 하고 잘 정제된 feature map 사용할 수 있게 한다. - 여전히
k-means cluster
방식을 사용한다. 3개의 크기에 대해 9개의 cluster 정렬하여 진행한다.
Feature Extractor
- feature 추출을 위한 새로운 network 사용한다. 새로운 network는 기존 YOLO(YOLO 9000, Darknet-19)와 ResNet에서 사용된
shortcut connection
기반으로 하는 hybrid 접근이다.
Training
- 여전히
hard negative mining
없는 전체의 이미지를 사용하여 학습을 진행한다.
How we do
- YOLOv3는 객체에 대한 box 감소 시키는데 뛰어난 detector이다. 그러나 IOU가 증가하면 정확히 객체에 box 연결하는 부분에 있어서 성능이 조금 떨어진다.
- 과거의 YOLOv3는 small object에 대해 투쟁해왔다. 그러나 multi-scale predictor 사용하면서 상대적으로 YOLOv3가 높은 APs 수행을 보이는 것을 확인했다.
Things We Tried That Didn't Work
Anchor box x, y offset predictions.
- 일반적인 anchor box 사용하여 x, y offset 예측하는 방식을
linear function
기반으로 진행한다. 하지만 이는 모델 안정성을 감소 시키고 효과가 없다.
Linear x, y predictions instead of logistic.
logistic activation
대신linear activation
직접적으로 x, y offset 예측하려고 했다. 왜냐하면 mAP 2배 감소 시키기 때문이다.
Focal loss.
- Focal loss 사용하면 mAP가 2 point 낮아진다. YOLOv3는 focal loss가 등장한 배경 문제에 강인하기 때문이다.
object ness predictions
과conditional class predictions
독립하여 진행하는 것이 그 이유다.
Dual IOU thresholds and truth assignment.
- Faster R-CNN과 같이 두 개의 IOU 사용하는 방법으로 접근 했지만 좋은 결과를 얻지 못했다.
What This All Means
- YOLOv3 매우 좋은 detector 이다. 빠르고 정확하다.
- 많은 사람들이 이러한 vision 기술을 전쟁에 사용하고 사람을 죽인다. 하지만 저자는 vision 기술을 행복하고 좋은 일에 사용하길 희망한다. (얼룩말 숫자 세고, 집 고양이 추적하고)
반응형
'Reading Paper > Object Detection' 카테고리의 다른 글
Objects at Points (0) | 2022.04.14 |
---|---|
Focal Loss for Dense Object Detection (0) | 2022.03.31 |
Feature Pyramid Networks for Object Detection (0) | 2022.03.31 |
YOLO 90000: Better, Faster, Stronger (0) | 2022.03.30 |
SSD: Single Shot MultiBox Detector (0) | 2022.03.30 |
Comments