๊ฐ์
SORT(Simple Online and Realtime Tracking)์ ๋งค์ฐ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋จํจ์๋ ๋ถ๊ตฌํ๊ณ ํจ๊ณผ์ ์ด๊ณ ์ค์ฉ์ ์ธ ๋ค์ค ๋์ ์ถ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. IOU๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ถ์ ๋ ๋ฌผ์ฒด์ ๋ํด association(ํ ๋น)์ ์งํํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋น ๋ฅด๋ค. ํ์ง๋ง Id Switching(์๋์ ํ๊ฒ์ ์ก์ง ๋ชปํ๊ณ ๋ค๋ฅธ id๋ฅผ ๋ฐฐ์ ํ๋ ๋ฌธ์ )๊ฐ ์ฌ์ ํ ๋ง์ด ๋ฐ์ํ๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค. IoU๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋งค์นญํ ๊ฒฝ์ฐ ์ฌ๋ฟ ๋ฌธ์ ์ ์ด ์ฌ์ ํ ์กด์ฌํ๋ค.
- ๋ฌผ์ฒด๊ฐ ๋น ๋ฅด๊ฒ ์์ง์์ ๊ฒฝ์ฐ IoU๋ ์๊ฒ ํ๋จ๋ ์ ์๋ค.
- Occulusion(๊ฐ๋ ค์ง)์ด ๋ฐ์ํ์ ๋ Detector๊ฐ Box๋ฅผ ์๊ฒ ํ์งํ๋ค๋ฉด IoU๊ฐ ์๊ฒ ๋์ ๊ฒฐ๊ณผ๊ฐ ๋ฌด์๋ ์ ์๋ค.
Deep Sort(SORT with A Deep Association Metric)์์๋ SORT์ ๋นํด ๋ช ๋ฐฑํ ์ ๋ณด๋ฅผ ํตํฉํ์ฌ SORT์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค. ์ด ํ์ฅ๋ ๋ฐฉ๋ฒ์ ํ๊ฒ์ด ์ฅ๊ธฐ๊ฐ ๊ฐ๋ ค์ก์ ๊ฒฝ์ฐ์ ๋ํด ๋ ์ ๋์ฒํ ์ ์๋๋ก ์ค๊ณ๋์๋ค. Id Switching์ 45% ๊ฐ์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ค.
SORT
DeepSort์ ๋ํด์ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ SORT ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ฐ๋ต์ ์ธ ๋ด์ฉ์ ์ดํดํด์ผ ํ๋ค. ์ค์ฉ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ ์ค์ ํ๋์ด๋ค. ํต์ฌ์ ์นผ๋ง ํํฐ์ ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋๋๋ค.
Kalman Filter
์นผ๋ง ํํฐ๋ ๋ณดํต ์ ์ด ๋ถ์ผ์์ ๋ง์ด ์ฌ์ฉ๋๋ ํํฐ์ด๋ค. ํฌ๊ฒ ์์ธก์ ๋ด๋นํ๋ ๋ชจ์ ๋ชจ๋ธ๊ณผ ์ค์ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ธก์ ๋ชจ๋ธ, ๊ทธ๋ฆฌ๊ณ ์ด ๋๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ๋ ์ ๋ฐ์ดํธ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ํ๋ํ๋ ์ง๊ด์ ์ผ๋ก ์ดํดํด๋ณด์.
Motion Model
1์ฐจ์ ๊ณต๊ฐ์ด ์๋ค๊ณ ํด๋ณด์. ์ ๊ธฐ ๋ฉ๋ฆฌ ๊ฐ์์ง๊ฐ ๊ณต์ ์ฃผ์ผ๋ฌ ๋ฌ๋ ค๊ฐ๊ณ ์๋ค. ์ด์ ์ ์ด๋ ์์ด ๋ฐ๋ ๊ฐ๋ค๋ฅผ ๋ณด๋, ๋ด ๋จธ๋ฆฌ์์ผ๋ก ๋ณด์์ ๋ ๊ฐ์์ง์ ์์น๋ 1์ด ๋ค์ ์ฝ 1m์ ๋ ์์ ์์ ๊ฑฐ๋ผ๊ณ ์์ํ๋ค. ํ์ง๋ง ๋ด ํ๋จ ์ญ์ ์ค๋ฅ๊ฐ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ฐจ ๋ฒ์ 5%์ด๋ด์ ์๋ค๊ณ ์๊ฐํ ์ ์๋ค. ์ด๋ฌํ ์ค์ฐจ๋ ๊ณง ๋ด๊ฐ ์๊ฐํ๋ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋ฅ ๋ถํฌ(๋ณดํต ์ ๊ท๋ถํฌ)๋ก ๊ฐ์ ํ ์ ์๋ค. ์ง๊ธ ๋งํ ๋ถ๋ถ์ด ์นผ๋ง ํํฐ์ Motion Model ์ด๋ค. ์ฆ ์์ธก์ด๋ค.
Measurement Model
๊ทธ๋ฐ๋ฐ ์ค์ ์ธก์ ํด๋ณด๋ ์๊ฐ ์ข ํ๋ค์ด์ ์ธ์ง 0.8๋ฏธํฐ ๋ฐ์ ๊ฐ์ง ์์๋ค๊ณ ๋ด ๋ ์ด๋ ์ธก์ ๊ธฐ๊ฐ ๋งํ๋ค. ๊ทธ๋ฐ๋ฐ ๋ชจ๋ ๊ธฐ๊ณ๋ ์ค์ฐจ๋ฅผ ๊ฐ์ง ์ ๋ฐ์ ์์ผ๋ฏ๋ก ๊ธฐ๊ณ๋ก ์ธก์ ํ ๊ฒฐ๊ณผ ์ญ์ ํ๋ฅ ๋ถํฌ๋ก ํํํ๋ค. ์ด ๋ถ๋ถ์ด ์ธก์ ๋จ๊ณ์ด๋ค.
Update
๊ทธ๋ ๋ค๋ฉด ์ค์ ๋ก ๋ด ๊ฐ์์ง๋ ์ด๋์ ์์นํ ํ๋ฅ ์ด ๊ฐ์ฅ ๋์๊น? ์ง๊ธ ์ํฉ์์๋ ๊ฐ์์ง๊ฐ ์๋ ์์น๋ฅผ ์ด๋์ ๋ ์ธก์ ํ๊ธฐ ๋๋ฌธ์ ์ธก์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ง์ด ๋ฐ์ํ์ฌ 0.8m ์์น์ ๋ณด๋ค ๊ฐ์ค์น๊ฐ ๋ด๊ฒจ ์๋ค๊ณ ๋งํ ์ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ๋ง์ฝ ๋ ์ด๋์ ๊ฒฐ๊ณผ๊ฐ ์๋ค๋ฉด ์ด๋จ๊น? ๋ด ์์ธก์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์์ง์ ์์น๋ฅผ ์ฐ์ ํด์ผ ํ ๊ฒ์ด๋ค.
Summary
๊ฒฐ๊ณผ์ ์ผ๋ก ์นผ๋ง ํํฐ๋ ๋ด๊ฐ ์์ํ ๊ฒฐ๊ณผ์ ์ค์ ์ธก์ ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ฌผ์ฒด์ ์์น๋ฅผ ์ต์ ์ผ๋ก ํ๋จํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ฒ์์ ํตํด์ ์ดํดํ๋ ๊ฒ์ผ๋ก ํ๊ณ ์ง๊ธ์ ํ๋ฆ๋ง ๋ฐ๋ผ๊ฐ์.
Hungarian Algorithm
ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ถ ๊ทธ๋ํ์์ ์ต์ ์ ๋งค์นญ์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์์ธํ ๊ตฌํ๋ณด๋ค๋ ์๋ฏธ์ ์ค์ ์ ๋๊ฒ ๋ค.
Assignment Problem
๋๋ ์๋น์ค ์ผํฐ๋ฅผ ์ด์ํ๋ ์ผํฐ์ ์ผํฐ์ฅ์ด๋ค. ๋์ฅ๊ณ ๊ฐ ๊ณ ์ฅ๋ฌ๋ค๋ ์ฐ๋ฝ์ด 10๊ฑด์ด ๋ค์ด์๋ค. ํ์ฌ ๋๋ 12๋ช ์ ๊ธฐ์ฌ๋์ ์ด์ฉํ ์ ์๋ค. ๊ฐ๊ฐ์ ๊ธฐ์ฌ๋์ ๋ค๋ฅธ ์ง์ญ์ ์๊ณ , ๊ณ ์น๋ ๋ฅ๋ ฅ์ด ๋ชจ๋ ์์ดํ๋ค. ์ด๋ป๊ฒ ํด์ผ ์ต์ ์ผ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์๊น?
์ปดํจํฐ ๊ณตํ๊ณผ์ด๊ฑฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํด๋ณธ ์ฌ๋์ด๋ผ๋ฉด, ์ด ๋ฌธ์ ๋ ํ ๋น ๋ฌธ์ ์ด๊ณ , ์ด๋ถ ๊ทธ๋ํ์์ ์ต์ ๋งค์นญ์ ์ฐพ๋ ๋ฌธ์ ์์ ์ ์ ์์ ๊ฒ์ด๋ค. ๋ง์ฝ ์๋น์ค ๊ธฐ์ฌ๋์ด 10๋ช ์ด๋ผ๋ฉด, ์์ ๋งค์นญ์ ์ฐพ๋ ๋ฌธ์ ๊ฐ ๋๊ฒ ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ๊ทธ๋ํ์ ๊ฐ์ ์ ์ ์ํ๋ Cost Metric์ด ํ์ํ๋ค.
SORT Algoritm
SORT flowchart
SORT ์๊ณ ๋ฆฌ์ฆ์ ์ด ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ค. ์ ๋๋ก ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฆ์ ์ดํดํ๊ธฐ ์ ์ ์ฉ์ด๋ฅผ ์ ๋ฆฌํ๊ณ ๊ฐ์.
- Track
- ํ์ฌ Tracking๋๊ณ ์๋ Object์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค.
- Detections
- ํ์ฌ ์ด๋ฏธ์ง์์ ํ์งํ ๋ฌผ์ฒด์ Bounding Box์ ๋ฌผ์ฒด์ class๋ฅผ ๊ฐ์ง๋ค.
- IoU(Intersection of Union)
- Ground truth bounding box์ ํ์ง๋ Bounding box์์ ๋น์จ์ ์๋ฏธํ๋ค.
- ๊ฒน์ณ์ง ๋์ด/์ ์ฒด ๋์ด
- ๊ต์งํฉ/ํฉ์งํฉ
- Unmatched Tracks
- ํ์ฌ ํ์ง๋ ๊ฒฐ๊ณผ์ Track์ด ํ ๋น๋์ง ๋ชปํ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ค.
- ์ฆ, Track์ด ๋จ๋๋ค.
- ์ผ์ ์๊ฐ์ด ํ๋ฅธ ๋ค์ ํด๋น Track์ id๋ ์ญ์ ๋๋ค.
- Unmatched Detections
- ํ์ฌ ํ์ง๋ ๊ฒฐ๊ณผ ์ค ๊ธฐ์กด์ Track๊ณผ ์ผ์นํ๋ ๊ฒ์ด ์๋ค.
- ์ฆ, Detection์ด ๋จ๋๋ค.
- ๋๋ฌธ์ ์๋ก์ด ํธ๋์ด ์์ฑ๋์ด์ Followingํด์ผ ํ๋ค.
- Matched Track
- Matching์ด ์ ๋๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
Process
- Detection
- ์ด๋ฏธ์ง๋ฅผ input์ผ๋ก ๋ฐ์ ์กด์ฌํ๋ ๋ฌผ์ฒด์ ๋ํด Bounding box ์ ๋ณด๋ฅผ ๋ฐ๋๋ค.
- Kalman Filter Predict
- ์นผ๋ง ํํฐ๋ฅผ ํตํด, ๊ธฐ์กด์ Track ์ ๋ณด๋ก ๋ถํฐ ๋ค์ frame์ ๋ฌผ์ฒด์ ์์น๋ฅผ ์์ธกํ๋ค.
- IoU Matching
- Detections ๊ฒฐ๊ณผ์ Predictions์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- ์ด ๋ถ๋ถ์์ ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํ ๋น์ ์งํํ๋ค.
- Metric์ผ๋ก๋ IoU๋ฅผ ์ฌ์ฉํ๋ค.
- Matching result
- Unmatched Tracks๋ ์ผ์ ์๊ฐ ์ดํ ์ญ์ ํ๋ค.
- Unmatched Detections๋ ์๋กญ๊ฒ ํธ๋์ ์์ฑํ๊ณ Tracks์ ๋ด๋๋ค.
- Matched Tracks
- Kalman Filter Update
- ํ์ฌ ๊ฐ์ง Matched Tracks๋ฅผ ๋ค์ frame์ ์ํด Bounding box๋ฅผ ์์ธกํ๋ค.
- Reculsive
- ์ด ๊ณผ์ ์ ์ฌ๊ท์ ์ผ๋ก ์งํํ๋ค.
Limit
๊ต์ฅํ ๊ฐ๋จํ์ง๋ง SORT ์๊ณ ๋ฆฌ์ฆ์ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํ์ง๋ง Occulusion์ ์ฝํ ๋ชจ์ต์ ๋ณด์ด๊ณ , Id switching์ ์ฌ์ ํ ์ทจ์ฝํ๋ค. IoU ์ญ์ ๋ณต์กํ ์ํฉ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์๋ ๋ถ์กฑํ๋ค.
DeepSort
์ด๋ฌํ ๋จ์ ์ DeepSort ์์๋ Apperance infomation์ ํตํด์ ์ด๋ฅผ ํด๊ฒฐํ๋ค. ReID Domain์์ Feature extraction์ ์ํํ๊ณ , Detection๋ค๊ณผ Tracks๋ฅผ Matchingํ๋๋ฐ ์์ด Metric์ผ๋ก ์ฌ์ฉํ๋ค.
Process
DeepSort flowchart
- Detection
- ์ด๋ฏธ์ง๋ฅผ input์ผ๋ก ๋ฐ์ ์กด์ฌํ๋ ๋ฌผ์ฒด์ ๋ํด Bounding box ์ ๋ณด๋ฅผ ๋ฐ๋๋ค.
- Kalman Filter Predict
- ์นผ๋ง ํํฐ๋ฅผ ํตํด, ๊ธฐ์กด์ Track ์ ๋ณด๋ก ๋ถํฐ ๋ค์ frame์ ๋ฌผ์ฒด์ ์์น๋ฅผ ์์ธกํ๋ค.
- Track Check
- ํด๋น Tracks ๋ค์ด ์ถฉ๋ถํ ๊ทผ๊ฑฐ๋ฅผ ๊ฐ์ง Track์ธ์ง ํ์ธํ๋ค.
- 3๋ฒ ์ด์ ๋ฌผ์ฒด๋ฅผ ํ์งํ์ฌ Track์ผ๋ก ์ธ์ ๋ฐ์ ๊ฒฝ์ฐ โConfirmโ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ โTentativeโ ์ํ๋ก ํํ๋๋ค.
- Matching Cascade
- Confirmed์ธ tracks์ ๋ํด์ ๋งค์นญ์ ์งํํ๋ค.
- ์ด์ ๋ณด๋ค ์ ํํ Track ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์๋ค.
- ์ด ๋ถ๋ถ์ ์๋์์ ์์ธํ ๋ค๋ฃจ๋๋ก ํ๋ค.
- IoU Matching
- Match๋์ง ์์ Track, Detection๋ค์ ๋ํด์ ๊ธฐ์กด์ SORT์์ ์ฌ์ฉํ IoU ๋งค์นญ์ ์งํํ๋ค.
- ์๋กญ๊ฒ ๋ฐ๊ฒฌ๋ Detection์ ๋ํด ์ ์ฉ ์์ผ์ฃผ๊ธฐ ์ํจ์ด๋ค.
- ๋ํ Matchingํ์ง ๋ชปํ Track๋ค์ ๋ํด ๋ณด์ํ๊ธฐ ์ํ ๋ชฉ์ ๋ ์๋ค.
- Tracking Life Cycle
- ๋งค์นญ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Track ๊ฐ์ฒด์ ์์ ์ฃผ๊ธฐ๋ฅผ ์ ํด์ฃผ๋ ๋ถ๋ถ์ด๋ค.
- Unmatched Tracks
- ์์ ์คํํ ๊ฒฝ์ฐ๋ ์ญ์ ํ๋ค.
- ๊ธฐ์กด์ Tracker๋ก ์ ํ๋ํ๋ ๋ ์์ ๊ฒฝ์ฐ ์ผ๋จ ๋๊ธฐ๋ฅผ ์งํํ๋ค๊ฐ ์ค๋ ์๊ฐ ์ด์๋จ์์์ ๊ฒฝ์ฐ(age) Tracker์ ๋ชฉ์ ์ ๋คํ ๊ฒ์ผ๋ก ํ๋จํ๊ณ ์ญ์ ํ๋ค.
- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ฌผ์ฒด๊ฐ ๋ค์ ๋ฑ์ฅํ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฏ๋ก Tracks์ ๋ค์ ์ถ๊ฐํ๋ค.
- ์
๋ฐ์ดํธ๊ฐ ๋ ์ดํ ํ์ง๋์ง ๋ชปํ ์๊ฐ์ ๋ํ๋ด๋ ๋ณ์
time_since_update
๋ฅผ 1๋๋ฆฐ๋ค.
- ์
๋ฐ์ดํธ๊ฐ ๋ ์ดํ ํ์ง๋์ง ๋ชปํ ์๊ฐ์ ๋ํ๋ด๋ ๋ณ์
- Unmatched Detections
- ์๋กญ๊ฒ ํ์ง๋ ๊ฐ์ฒด์ด๋ฏ๋ก Track์ ์์ฑํ๋ค.
- ํ์ง๋ง ์คํ๋ ๊ฐ์ฒด์ผ ์ ์์ผ๋ฏ๋ก ์ํ๋ โTentativeโ๋ก ์ค์ ํ๋ค.
- Matched Tracks
- ์
๋ฐ์ดํธ ๋ ์ดํ ์ง์๋ ์๊ฐ์ ๋ํ๋ด๋ ๋ณ์
time_since_update
๋ฅผ ์ด๊ธฐํํ๋ค.
- Kalman Filter Update
- ํ์ฌ ๊ฐ์ง Matched Tracks๋ฅผ ๋ค์ frame์ ์ํด Bounding box๋ฅผ ์์ธกํ๋ค.
- ์ด ๋, Track์ ์ ๋น์ฑ์ ์ฃผ๊ธฐ ์ํด, Track์ด ๋ฑ์ฅํ ํ์(hit)๊ฐ 3ํ ์ด์ ๋์์ ๊ฒฝ์ฐ ์ํ๋ฅผ โConfirmedโ๋ก ๋ณ๊ฒฝํ๋ค.
- Reculsive
- ์ด ๊ณผ์ ์ ์ฌ๊ท์ ์ผ๋ก ์งํํ๋ค.
์ด ๋ถ๋ถ์์ ๊ฐ์ฅ ํต์ฌ์ ์ญ์ Matching Cascade์ด๋ค. ์ด๋ป๊ฒ ์งํํ๋์ง ์์๋ณด์.
Matching Cascade
Matching Cascade flowchart
Matching cascade์์ ์ฌ์ฉํ๋ ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ Metric์ ์์ ๊ฐ๋ค. ๊ณผ ์ ๊ฐ์ค ํ๊ท ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์ฐจ๊ทผ์ฐจ๊ทผ ์์๋ณด์.
Distance 1
์ฒซ๋ฒ์งธ ์ Motion์ ๊ด๋ จ๋ (kalman filter๊ฐ ์์ธกํ๋ 4๊ฐ์ง ์งํ) ๋ถํฌ์ ์์ด์ Metric์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค.
์ด ๋ ์์ธก ๊ฐ๊ณผ ์ธก์ ๊ฐ์ ๋งค์นญ์ ๋๋ฅผ ํ์ ํ๋๋ฐ ์์ด์ ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ๋ ๋๊ฐ์ ๋ถํฌ ์ฌ์ด ๋ถ์ฐ์ ๊ณ ๋ คํ ๊ฑฐ๋ฆฌ๋ฅผ ๋งํ๋ค. ์ข๋ ์ ํํ๊ฒ ๋งํ๋ฉด ํ๊ท ๊ณผ์ ๊ฑฐ๋ฆฌ๊ฐ ํ์คํธ์ฐจ์ ๋ช ๋ฐฐ์ธ์ง๋ฅผ ์์น๋ก ๋ํ๋ธ ๊ฐ์ด๋ค.
๋ถ์ฐ์ด ํฌ๋ค๋ ๊ฒ์ ๊ฐ์ด ๋ถํ์คํ๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ํ๊ท ๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ ํ์คํธ์ฐจ๋ก ๋๋๋ค๋ฉด ๋ถ์ฐ์ด ํฐ ๊ฒฝ์ฐ๊ฐ ๋ถ์ฐ์ด ์์ ๊ฒฝ์ฐ๋ณด๋ค ์์ ๊ฐ์ด ๋์ฌ ๊ฒ์ด๋ค. ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ๊ฐ ์์ ๊ฐ์ ๊ฐ๋๋ค๋ ๊ฒ์ ๋งค์ฐ ์ด์ํ ๊ฐ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
ํน์ ์ฒซ๋ฒ์งธ ๊ทธ๋ฆผ์์ ์ ๊ทํ๋ฅผ ํตํ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ๋ค๊ณ ์ดํดํด๋ ๋๊ฒ ๋ค.
์์ธก ๋จ๊ณ์์ ์ฐ๋ฆฌ๋ box์ ์ค์ฌ ์์น , aspect ratio ๋์ด ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ค. ์ด ๊ฐ์ ๋ถํฌ๋ก ๋์ค๊ฒ ๋๊ณ , ์๋ก ๋ค๋ฅธ ๋ถ์ฐ์ ๊ณ ๋ คํ๊ธฐ ์ํด์ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ณด๋ค๋ ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ณด๋ค ๋งค์นญ์ ๋ง๋ ์ฒ๋์ด๋ค. ๊ทธ ์ด์ ๋ ๊ฐ๊ฐ์ ๋งค์นญ์ ์ ๋๋ฅผ ๋น๊ตํ๋๋ฐ ์ด์ํ ๋งค์นญ์ผ ๊ฒฝ์ฐ ํฐ ๊ฐ์ ๋ฑ์ด์ฃผ๋ ์์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
Distance 2
๋๋ฒ์งธ ๋ ๋ฌผ์ฒด๊ฐ ๊ฐ์ง๋ ๋ชจ์์ ํ๋จํ๊ธฐ ์ํ ๊ฒ์ด๋ค. Neural net์ ํต๊ณผํ ์ด๋ฏธ์ง๋ ๋๋จ์ผ๋ก ๊ฐ์๋ก ๋ฌผ์ฒด์ ์ถ์์ ์ ๋ณด๋ฅผ ๋ด๊ฒ๋๋ค. ์ด ์ ์์ ์ฐฉ์ํ์ฌ, ์ด์ ์ ํ์ํ ๋ฌผ์ฒด์ Feature๋ฅผ ๊ฐ์ง ์ํ๋ก ์๋กญ๊ฒ ํ์ง๋ ๋ฌผ์ฒด์์ ์ ์ฌ๋๋ฅผ ํ๋จํ๋ ๊ฒ.
์ด ๋ถ๋ถ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด, ์์ธก๋ track์ motion์ด ๋์ผํ ์ ๋๊ฐ ๋์ ๊ฒฝ์ฐ, ์ด๋ฅผ ๋ฐ์ํ๋ ์งํ๋ก ์ฌ์ฉ๋ ์ ์๋ค. ๋ํ ์ฅ๊ธฐ๊ฐ occulsion ์ดํ ๋์ผ์ฑ์ ํ๋ณต์ํค๋๋ฐ๋ ์ ์ฉํ๋ค.
gated matrix
์ด ๋๊ฐ์ง ์งํ๋ฅผ ๊ฐ์ค ํ๊ท ํ์ฌ cost matrix๋ฅผ ์ฌ์ฉํ์ง๋ง, ์ถ๊ฐ์ ์ผ๋ก ํ๋์ ๊ณผ์ ์ ๋ ์ ์ฉํ๋ค. ๊ฐ๊ฐ์ distance matrix์์ threshold๋ฅผ ๋๋ ๊ฐ์ ๋ํด์๋ cost๋ฅผ 1๋ก ๊ณ ์ ํ๋ค. ์ด ๊ฐ๊ฐ์ threshold๋ ์คํ์ผ๋ก ๊ตฌํ๋ค.
ํ์ง๋ง ์ค์ ๋ก๋ ๋ฅผ 0์ผ๋ก ํ์ฌ ~~~๊ทธ๋ผ ํ๋ค๊ฒ ์ ์ฝ์์๊น~~~ appearance distance๋ง ์ฌ์ฉํด๋ ๋์ ์ฑ๋ฅ์ด ๋์๋ค๊ณ ํ๋ค. ํ์ง๋ง distance2์ ๋ํด์ gate_matrix๋ ์ฌ์ฉํ๋ค.
What Cascade means
๊ทธ๋ฐ๋ฐ ์ Cascade์ผ๊น? 5๋ฒ line์ ๋ณด๋ฉด, Age_max์ผ ๋๊น์ง loop๋ฅผ ๋๊ณ , track ์ค์ ํด๋น age์ ์ผ์นํ๋ track๋ถํฐ ๋งค์นญ์ ์์ํ๋ค. ๋จผ์ age๋ ํด๋น track์ด ์์ฑ๋ ์ดํ๋ถํฐ ๋ช๊ฐ์ frame์์ ๋ํ๋ฌ๋์ง๋ฅผ ์๋ฏธํ๋ ๋ณ์์ด๋ค. ์ฆ, ์์ฑ๋ ์ง๊ฐ ์ผ๋ง ์๋๋ฉด ๋์ด๊ฐ ๊ฐ์ฅ ์ด๋ฆฌ๋ค.
๊ฐ์ฅ ์ต๊ทผ์ ์์ฑ๋ track๋ถํฐ ๋จผ์ ํ ๋นํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ๊ฐ์ฅ ์ต๊ทผ์ ํ์ด๋ ๋ ์์ ๋น๊ต์ ๋ถํ์ค์ฑ์ด ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ ๋น๋ ๊ฐ์ฅ ์ฝ๊ฒ ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ด ๋ ์ ๋๋ฌธ์ ์ค๋์ ์ ๋์จ track์ ๊ฒฝ์ฐ ๊ฐ๋ ค์ง์ ๋นํด kalman ํํฐ๋ ์ด๋ ์์ ์์ํ๋๋ฐ ์์ด์ ํฐ ๋ถํ์ค์ฑ์ ๊ฐ์ง ๊ฒ์ด๋ค. ์ฆ ํฐ ๋ถ์ฐ์ ๊ฐ๋๋ค.
์์ ๋งํ ๋ผ๋ ธ๋น์ค ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๊ฐํด ๋ณผ ๋, ๋ถ์ฐ์ด ํด ๊ฒฝ์ฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ ๊ฐ๊น๊ฒ ํ๋จํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๋ ๊ฒ ๋๋ฉด track์ด ๋ ๋ง์ด ์์ฑ๋๋ค.(์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค ใ ) ๋ฐ๋ผ์ ์์ฃผ ๋ณด์ด๋ ๊ฐ์ฒด์ ๋ํด ๋จผ์ ๋งค์นญ์ ์งํํ์ฌ ์ด๋ฌํ ๊ฒฝ์ฐ๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
Class Diagram
์ด ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ๋ณด๊ณ ์ฝ๋ ๋ฆฌ๋ฉ์ ํ๋ฉด, ๋ณด๋ค ์ฝ๊ฒ ๊ตฌํ์ ์ดํดํ ์ ์๋ค.