이번에는 SORT논문에 대해서 학습한 내용을 적어보려고 합니다.  

 

https://arxiv.org/pdf/1602.00763.pdf

Abstract

- the main focus is to associate object efficiently for online and realtime application

- Using rudimentary combination (kalman filter, hungarian algorithm)

- detection quality is identified as a key factor influencing tracking performence

- very fast 

 

Introduction

- lean implementation of tracking by detection

- because of just using the previous and the current frame, so this work is efficient

 

- nowdays benchmark are shown that we make the track more simple and more well it can perform

- because the detection quality is a key factor of tracking quality

- MOT problem can be viewed as a data association problem

- nowdays many tracker are using various methods  

- a resurgence of mature data association

- the only tracker is also the top ranked tracker, suggesting that the dectection quality could be holding back the other trackers

 

- occam's razor -> only the bbox poisition and size are used for motion estimation and data association

 

- this work focuses on efficient and reliable handling of the common frame to frame associations

- CNN + Kalman filter and hungarian algorim <- this formulation of tracking facilitates both efficiency and reliability

 

 

 

 

tracking을 두가지 분류로 나눌수 있다. 

online tracking vs offline tracking 

- offline tracking : betch based tracking 

tracking by detection vs detection by tracking

 

 

 

METHODOLOGY

 1.detection

 2.propagating object states into future frames

 3.associating current detection with existing objects

 4.managing the lifespan of tracked objects

 

Estimation model

used a linear constant velocity model which is independent of other objects and camera motion

u : horizontal pixel of the center of the target

v : vertical pixel of the center of the target

s : scale of the target's bounding box

r : aspect ratio of the target' bounding box -> aspect ration is considered to be constant

 

when a detection is associated to a target -> the detected bbox is used to update the target state where the velocity components are solved optimally via a kalman filter framework

if no detection is associated to the target, its state is simply predicted without correction using the linear velocity model

 

Data association

- The assignment cost matrix is then computed as the intersection-over-union (IOU) distance between each detection and wall predicted bounding boxes from the existing targets.

- The assignment is solved optimally using the Hungarian Algorithm.

- A minimum IOU is imposed to reject assignments where the detection to target overlap is less than IOUmin.

 

 

Creation and Deletion of Track Identities

- For creating trackers, we consider any detection with an overlap less than IOUmin to signify the existence of an untracked object.

- Tracks are terminated if they are not detected for Tlost frame

 

 

CONCLUSION

https://arxiv.org/pdf/1602.00763.pdf

 

- Tracking quality is highly dependent on detection performance and by capitalising on resent developments in detection

- SORT achieves best in class performance with respect to both speed and accuracy

 

 

 

 

추가 공부 해야할것

- kalman filter : 센서의 노이즈를 잡기위한 재귀필터

- humgarian algorithm : assignment problem 을 해결하기 위한 optimal solution

- Occam's Razor : 문제를 해결하기 위한 2가지의 방법이 있을때, 좀 더 쉽고 간단한 방법을 선택하는것

 

 

단어 정리

 

  • pragmatic: 실용적인, 실용주의의, 현실적인
  • rudimentary: 기초적인, 초보적인, 기본적인
  • lean implementation: 간결한 실행, 미약한 구현
  • resurgence: 부활, 재생, 되살아남
  • hypothesis tracking: 가설 추적, 가설 추론
  • could be holding back: 지연시킬 수 있다, 방해하고 있을 수 있다
  • explicit: 명시적인, 분명한
  • myriad: 무수히 많은, 수많은
  • robust: 견고한, 강건한, 튼튼한
  • leverage: 영향력을 행사하다, 활용하다
  • pragmatic: 실용적인, 실용주의의, 현실적인
  • impractical: 비현실적인, 실현불가능한

 

 

추가로 궁금한점 왜 kalman filter에서 linear하게 문제를 바라봤을까? 가속도나 다른방법으로는?? 

 

 

reference

https://arxiv.org/pdf/1602.00763.pdf

https://github.com/abewley/sort

 

GitHub - abewley/sort: Simple, online, and realtime tracking of multiple objects in a video sequence.

Simple, online, and realtime tracking of multiple objects in a video sequence. - abewley/sort

github.com

 

'프로그래밍 > 논문 리뷰' 카테고리의 다른 글

논문 약어 정리 (i.e., et al, e.g.)  (0) 2024.03.25

 

논문을 읽다보면 해석이 안되는 약어들이 자주 나와 이참에 정리를 한번 하려고한다.

 

i.e.

i.e. 은 라틴어 id est의 약어이며 "즉" 이란 뜻을 가진다.

“Data on precipitation, i.e. rainfall and snowfall, were collected from local weather offices.”

강수량 즉, 강우량, 강설량에 관한 데이터들을 지역 기상청에서 수집했다.

 

 

e.g.

exempli gratia의 약어로 "예를 들어"란 뜻을 가진다.

“A number of weather variables were recorded, e.g. precipitation, temperature, and relative humidity.”

여러가지 날씨변수들이 기록되어진다. 예를 들면, 강수량, 온도, 상대 습도

 

 

et al.

et alii의 약어로 "등등" 이라는 뜻을 가진다.

"턱돌이 et al"

턱돌이 외 등등

 

 

reference

https://namu.wiki/w/et%20al.

 

et al.

라틴어로 '그리고 다른 사람들'이란 뜻인 et alii 를 축약해 쓴 것. 보통 인용 문헌의 저자가 많을 때, 이

namu.wiki

https://www.editage.co.kr/insights/scientific-writing-difference-between-eg-ie-and-namely

 

딥러닝 관련 공부를 하다보면 epoch, batch, iteration이란 용어가 사용됩니다.

 

해당 용어를 이번에 다시 정리하고 이해하려고 합니다.

 

Epoch

인공 신경망에서 하나의 데이터 셋에 대해 학습한 횟수 

예를 들어 128 epoch 이란 것은 설정된 데이터 셋에 대해서 128번 반복하여 학습을 진행한다는 것이죠

※한번의 학습 = "forward & backward 를 한번 한다"

 

하지만, 너무 많은 학습은 overfitting(과적합)이 발생하고, 너무 적게 하면 과소적합(underfitting)이 발생합니다.

즉, 적절한 횟수의 epoch을 설정해야 좋은 weigth의 모델을 생성할 수 있죠. 

 

출처 :&nbsp; https://www.geeksforgeeks.org/underfitting-and-overfitting-in-machine-learning/

 

batch size

 

배치 사이즈란 일반적으로 데이터 셋을 해당 사이즈로 쪼개서 학습한다는 의미 입니다. 

즉 데이터 셋안에 100개의 데이터가 들어있다고 한다면 10 batch size는 해당 데이터를 10개로 쪼개서 학습한다라고 이해하시면됩니다. 

 

iteration

 

메모리의 한계와 속도 저하로 인해 효과적으로 학습하기위해서 1epoch에서 모든 데이터를 한번에 집어넣을 수 없습니다. 따라서 1epoch에서 데이터를 쪼개서 학습을 시켜주게 되는데, 1iteration은 batch size만큼 1번 넣어줄 때를 말합니다.

 

 

정리를 해보면 

500개의 데이터가 있고, 아래와 같이 셋팅이 되어있다면,

- epoch : 20

- batch size : 50

 

1epoch에는 50의 batch size로 나눠진 데이터가 10번 들어가게 됩니다. iteration은 10이 되겠죠.

총 학습 횟수는 20번, iteration은 200번이 되게 됩니다. 

 

 

reference

https://m.blog.naver.com/qbxlvnf11/221449297033

 

머신 러닝 - epoch, batch size, iteration의 의미

- 출처 이번 포스팅의 주제는 텐서플로우나 케라스 등을 사용해서 모델을 만들어 보았으면 다들 아실 용어...

blog.naver.com

https://www.geeksforgeeks.org/underfitting-and-overfitting-in-machine-learning/

 

수학에서 자연상수 e는 매우 중요한 역할을 하는 숫자입니다. e는 아래의 수학 상수들처럼 수학의 세계에서 빼놓을 수 없는 존재입니다.

  • 1: 덧셈과 곱셈의 항등원
  • 0: 덧셈의 항등원
  • π: 원주율
  • e: 자연로그의 밑

그렇다면 e는 정확히 무엇일까요?

 

를 정의해봅시다

e는 **"1에 아주 작은 수를 더한 값을 무한히 큰 숫자로 거듭제곱했을 때 나오는 값"**입니다.

수식으로 표현하면 다음과 같습니다:

 


위 식을 보면, x가 무한히 커질수록 에 가까워지는 것을 알 수 있습니다.

 

의 근삿값은?

e는 무리수이자 초월수로, 정확히 표현할 수는 없지만 근삿값은 다음과 같습니다:

e ≈ 2.718281828

 

 

다시 말하면 e는 자연상수이고 값은 2.1828...이며 1에다가 0에 가까운 무한소를 더하고 그값을 무한대로 제곱한 값이다. 

 

를 이해하는 다른 방법: 그래프

e를 더 잘 이해하기 위해 아래 함수의 그래프를 그려보겠습니다.

 

이 그래프를 보면 x가 0에 가까워질수록 함수의 값이 e≈2.71828에 가까워지는 것을 알 수 있습니다. 반대로 x가 음수로 가면 값은 점점 커집니다.

 

     

 

왜 중요한가요?

는 단순한 숫자가 아닙니다. 아래와 같은 중요한 역할을 합니다:

  1. 자연로그의 밑으로 사용됩니다.
  2. 복리 계산, 성장과 붕괴 모델(예: 인구 증가, 방사성 붕괴)에서 핵심적인 역할을 합니다.
  3. 미적분학의 여러 공식에서 핵심적인 상수로 등장합니다.

 

 

 

 

reference

- https://terms.naver.com/entry.naver?docId=1134067&cid=40942&categoryId=32210

 

오일러의 수 e

자연로그의 밑(base)으로서, 그 근삿값은 e=2.718281828…이며, 이 수는 무리수인 동시에 초월수인 것으로 알려져 있다. 자연로그의 밑(base)으로서, 그 근삿값은 e=2.718281828…이며, 이 수는 무리수인

terms.naver.com

- https://www.desmos.com/calculator?lang=ko

'프로그래밍 > 수학' 카테고리의 다른 글

vertex cover란?  (0) 2024.04.02
Hungarian Algorithm (헝가리안 알고리즘이란?)  (2) 2024.03.29
공분산(covariance)이란?  (0) 2023.03.16
표준편차란?  (0) 2023.03.15
분산(variance)이란?  (0) 2023.03.14

+ Recent posts