-
자율주행 스터디_yolo_0117~자율주행스터디 2022. 1. 17. 22:35
https://www.youtube.com/watch?v=eTDcoeqj1_w
에러가 50프로 일때 0.6 -->
50프로인 얘가 60프로이다
네트웤 디자인을 하는데에 EDF 가 쓰인다
왼쪽으로 갈수록 좋은 것이다 EDF
depth wise conv 안좋다
Swish 을 쓰면 depthwise 에서 RELU 보다 좋아진다
숫자4개로 바운딩 박스 표현
클래스 개수에 맞춰서 각 클래스가 얼마만큼 나타날수 있는지?
초록 * 왼쪽 빨강 = Pr(Class_i)
P(A|B)P(B) = P(B|A)P(A) 이기 때문에
그리드셀을 중심으로 클래스에 대해 계산하여 두 개 의 바운딩박스로 뭐가 더 큰지 확인(바운딩박스의 개수는 늘릴 수 있음)
한개의 바운딩 박스 안의 데이터는 다음과 같다
이같은 경우 0.5, 0.5 의 위치값을 가진다
오브젝트가 얼마나 들어있는지 구해서 confidence 계산함
셀들만 classification 해서 분류 (알록달록한 셀들)
그리드 셀 = 하나의 클래스 probability
fully connected 층에 대해 사람들이 고민 별로 x
( Conv 층에 비해 )
전결합 계층(fully connected layer)은 클래스 확률과 bounding box의 좌표(coordinates)를 예측합니다.
1000개 클래스에 대해 pretrain 함
세세한 곳을 보기위해서 인풋 사이즈를 늘림
Leaky ReLU 를 씀
Sum-Squared Error 를 손실함수로 씀 however it does not perfectly align with our goal of maximizing average precision
It weights localization error equally with classification error which may not be ideal.
지역에러를 이상적이지 않을 수 있는 분류에러에 가중을 줌으로서 적절하지 않을 수 있다
아예 오브젝트가 포함안된 그리드 셀은 다른 셀들에게 영향을 많이 미칠 수 있으며 불안정성을 유발한다.
그래서 수렴이 너무빨리 일어날 수 있다
To remedy this, we increase the loss from bounding box coordinate predictions and decrease the loss from confidence predictions for boxes that don’t contain objects
이것을 해결하기위해
예측에 맞는 바운딩박스로부터의 로스를 증가시키고 (일부러)
오브젝트가 포함되어있지않은 박스의 예측 확실 로스(많이 큼) 를 감소시킵니다
Sum-squared error also equally weights errors in large boxes and small boxes
SSE 는 박스크기에 똑같은 가중치를 두는데 우리는 작은박스보다 큰 박스에서의 작은변화를 더 작게 가중을 둡니다
(1) Object가 존재하는 그리드 셀 i의 bounding box predictor j에 대해, x와 y의 loss를 계산.
(2) Object가 존재하는 그리드 셀 i의 bounding box predictor j에 대해, w와 h의 loss를 계산. 큰 box에 대해서는 작은 분산(small deviation)을 반영하기 위해 제곱근을 취한 후, sum-squared error를 구합니다. (같은 error라도 큰 box의 경우 상대적으로 IOU에 영향을 적게 줍니다.)
(3) Object가 존재하는 그리드 셀 i의 bounding box predictor j에 대해, confidence score의 loss를 계산. (Ci = 1)
(4) Object가 존재하지 않는 그리드 셀 i의 bounding box predictor j에 대해, confidence score의 loss를 계산. (Ci = 0)
(5) Object가 존재하는 그리드 셀 i에 대해, conditional class probability의 loss를 계산. (p_i(c)=1 if class c is correct, otherwise: p_i(c)=0)그리하여 YOLO 연구진은 객체 검출을 하나의 회귀 문제(single regression problem)로 보고 절차를 개선했습니다. 이미지의 픽셀로부터 bounding box의 위치(coordinates), 클래스 확률(class probabilities)을 구하기까지의 일련을 절차를 하나의 회귀 문제로 재정의한 것입니다. 이러한 시스템을 통해 YOLO(you only look once)는 이미지 내에 어떤 물체가 있고 그 물체가 어디에 있는지를 하나의 파이프라인으로 빠르게 구해줍니다. 이미지를 한 번만 보면 객체를 검출할 수 있다 하여 이름이 YOLO(you only look once)입니다.
'자율주행스터디' 카테고리의 다른 글
PR-366: A ConvNet for the 2020s (0) 2022.01.24 PR-304: Pretrained Transformers As Universal Computation Engines (0) 2022.01.21 PR-243: Designing Network Design Spaces (0) 2022.01.21 자율주행스터디_2_0121(BiFPN) (0) 2022.01.21 PyTorch "ShortFormer" - RoBERTa w/Chunks(kaggle study__2) (0) 2022.01.21