pip install -r requirements.txtpython web_demo.py- Setting Academy Ratio
python web_demo.py --w 1.37 --h 1์ต๊ทผ ์ ํ๋ธ, ํธ์์น ๋ฑ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ๋ถ์ผ๋ ๋ฏธ๋์ด ํ๊ฒฝ์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ต๋๋ค. ํนํ ๋ผ์ด๋ธ ์คํธ๋ฆฌ๋ฐ ๋ถ์ผ ์์ 5๊ฐ ์ฑ์ ์ง๋ 3๋ ์ฐํ๊ท ์ฑ์ฅ๋ฅ ์ด 25%๋ฅผ ๊ธฐ๋กํ๋ฉด์ ์ฌ์ง ๋ฐ ๋น๋์ค ์ฑ์ ์ฐํ๊ท ์ฑ์ฅ๋ฅ 15%๋ฅผ ๋ฐ์ด๋์์ต๋๋ค.
์ด์ฒ๋ผ ๋ผ์ด๋ธ ์ฝํ ์ธ ๋ฅผ ์ ์ํ ๋, ๋ค์ํ ์ ์ ์์ค๋ฅผ ์๋ํํ์ฌ ์ ๊ณตํ ์ ์๋ค๋ฉด ์ฝํ ์ธ ์ ์์๋ค์๊ฒ ๋งค์ฐ ์ ์ฉํ ์๋น์ค๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ ํฌ์ ์ฐ๊ตฌ์ ๋น์ทํ ์ฃผ์ ๋ก๋ mediapipe์ Autoflip[1]๊ณผ apple์ Center Stage[2]๊ฐ ์์ต๋๋ค.
- Autoflip
Autoflip์ ์๋์ผ๋ก ๋น๋์ค๋ฅผ ๋ฆฌํ๋ ์ํด์ฃผ๋ ์์คํ ์ ๋๋ค. ํ๋ ์์ ์ํ๋ ๋น์จ๋ก ๋ฆฌํ๋ ์ํ์ฌ ๋ค์ํ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ค์์๋ ์ฝํ ์ธ ๋ฅผ ์ด์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ํ์ง๋ง Autoflip์ ์ค์๊ฐ ์์์์๋ ์ฌ์ฉํ์ง ๋ชปํ๋ค๋ ์ ์์ ์ ํฌ ์ฐ๊ตฌ์์ ์ฐจ์ด์ ์ ๊ฐ์ง๋๋ค.
- Center Stage
Center Stage๋ ์์ดํจ๋์์ ์์ ํตํ๋ฅผ ํ ๋ ์ฌ๋์ ์ผ๊ตด์ ์ธ์ํ์ฌ ์๋์ผ๋ก ์ถ์ ํ๋ ์์คํ ์ ๋๋ค. Center Stage๋ ํ๋์จ์ด๋ก ์ถ์ ์์คํ ์ด ์กฐ์๋๋ ๋ฐ๋ฉด ์ ํฌ ์ฐ๊ตฌ๋ ์ํฌํธ์จ์ด๋ก ์กฐ์๋๋ ์ ์ด ํฐ ์ฐจ์ด์ ์ ๋๋ค. ๋ํ ์ ํฌ ์ฐ๊ตฌ์์๋ ์ผ๊ตด ๋ฟ๋ง ์๋๋ผ ์ฌ๋ ์์ฒด๋ฅผ ์ธ์ํ๋ค๋ ์ ์ด ๋ค๋ฅด๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ์คํฌ์ธ ๊ฒฝ๊ธฐ์์ ๊ณต์ ์ถ์ ํ๋ ๊ธฐ๋ฅ๋ ๊ตฌํ ์ค์ ์์ต๋๋ค.
์ ํฌ๋ ๋ผ์ด๋ธ ํธ๋ํน ์์คํ ์ (1) trackingํ ํผ์ฌ์ฒด๋ฅผ ์ธ์, (2) ํผ์ฌ์ฒด๋ฅผ ์ธ์ํ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํ๋ ์ ๋ฆฌ์ฌ์ด์ง, (3) ์น์ฑ์ผ๋ก ๋ฆฌํ๋ ์ํ ์์ ์ค์๊ฐ์ผ๋ก ์ก์ถํ๋ ๊ฒ์ผ๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
์ด ์ค ์ ๋ 1๋ฒ๊ณผ 2๋ฒ์ ๋ํด ์ฐ๊ตฌํ์์ต๋๋ค.
์ฐ์ ์ํ๋ ํผ์ฌ์ฒด๋ฅผ ์๋์ผ๋ก ๋ฐ๋ผ๊ฐ๋ ์์คํ ์ ๋ง๋ค๊ธฐ ์ํด์๋ ํด๋น ํผ์ฌ์ฒด๋ฅผ ์ธ์ํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ object detection ๊ธฐ์ ์ ํ์ฉํ์์ต๋๋ค.
object detection์ ์์์ด๋ ์ด๋ฏธ์ง์์ ์ฌ๋, ๋๋ฌผ ๋ฑ์ ์ ์๋ฏธํ ๊ฐ์ฒด๋ฅผ ์ฐพ๊ธฐ ์ํ ์ปดํจํฐ๋น์ ๊ธฐ์ ์ ๋๋ค. object detection์ ์ด๋ฏธ์ง ๋ด ํน์ ์ฌ๋ฌผ์ ๋ถ๋ฅํ๋ task์ธ image classification๊ณผ๋ ๋ค๋ฅด๊ฒ ํ์ง๋ ๊ฐ์ฒด์ ์ข ๋ฅ๋ฅผ ์ฐพ๊ณ (classification), ํด๋น ๊ฐ์ฒด์ ์์น(localization)๋ฅผ ์ฌ๊ฐํ์ ํํ์ธ bounding box๋ฅผ ํ์ฉํ์ฌ ์ฐพ๊ฒ ๋ฉ๋๋ค.
object detection์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ชจ๋ธ์ธ yolo์ SSD ์ค์์ ๋น๊ต์ ์๋๊ฐ ๋น ๋ฅธ SSD ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ํ์งํ๋ ๋ฐ์ ํ์ฉํ์์ต๋๋ค.
SSD[3] ๋ชจ๋ธ์ ๊ฐ์ฒด ๊ฒ์ถ ๋ฐ ๋ถ๋ฅ์ bounding box๋ฅผ ๊ตฌํ๋ Region Proposal์ด ํ ๋ฒ์ ์ด๋ฃจ์ด์ง๋ one-stage ๋ชจ๋ธ์ ๋๋ค. ๋ฐ๋ผ์ ์ด์ ๊น์ง์ two-stage ๋ชจ๋ธ๊ณผ๋ fps, ์ฆ ์ฐ์ฐ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ ์ง๋๊ณ ์์ต๋๋ค. ์ค์ ๋ก ๋ํ์ ์ธ two-stage ๋ชจ๋ธ์ธ Faster R-CNN์ 7 fps์ธ ๋ฐ๋ฉด์ SSD ๋ชจ๋ธ์ 59 fps์ ์๋๋ฅผ ์ง๋๊ณ ์์ต๋๋ค.
SSD ๋ชจ๋ธ์ ์ฌ๋ฌ ๊ฐ์ feature map์์ object detection์ ์ํ์ํค๋ ์ ์ด ๋ค๋ฅธ object detection ๋ชจ๋ธ๋ค๊ณผ์ ์ฐจ์ด์ ์ ๋๋ค. ์ฌ๋ฌ ๊ฐ์ feature map์ ๊ฐ๊ฐ ๋ค๋ฅธ ์ฌ์ด์ฆ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ํฐ ์ฌ์ด์ฆ(๋์ ํด์๋)์ feature map์์๋ ํฌ๊ธฐ๊ฐ ์์ ๊ฐ์ฒด๋ฅผ ์ ์ธ์ํ๊ณ , ์์ ์ฌ์ด์ฆ(๋ฎ์ ํด์๋)์ feature map์์๋ ํฌ๊ธฐ๊ฐ ํฐ ๊ฐ์ฒด๋ฅผ ์ ์ธ์ํฉ๋๋ค. ๋ค์์ feature map์์ ์ป์ bounding box ์ ๋ณด๋ฅผ NMS ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด์ ์ต์ข ์ ์ผ๋ก ๊ฐ์ฒด์ ์ข ๋ฅ์ ๊ฐ์ฒด์ ์์น๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
์ผ๊ตด ์ธ์์ mediapipe์์ ์ ๊ณตํ๋ face detection api๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. mediapipe์ face detection์ BlazeFace[4]๋ผ๋ ๊ฒฝ๋ํ face detection ๋ชจ๋ธ์ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ํด๋น api๋ฅผ ํตํด ์ด๋ฏธ์ง ๋ด์์์ ๋ค์ค ์ผ๊ตด์ ์ฐพ๊ณ , ๊ฐ ์ผ๊ตด์ 6๊ฐ์ ๋๋๋งํฌ(์์ชฝ ๋, ์ฝ, ์ , ์์ชฝ ๊ท)๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ค์์ผ๋ก๋ ์์์ ์ป์ ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋น์จ์ ๋ง์ถฐ์ ํ๋ ์์ ์๋ผ๋ด์ผ ํฉ๋๋ค. ๋ฆฌํ๋ ์ ๋จ๊ณ์์๋ ํผ์ฌ์ฒด์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ฅผ ํ๋ ์์ ์ค์ ์ ๊ตฌํ๊ณ , ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์์์ ๋น์จ์ ๋ง์ถฐ์ ์๋ผ๋ด๋๋ก ํ์์ต๋๋ค.
(2)-1 ๋ฆฌํ๋ ์ ์ต์ ์ธ ์ค์ ๊ตฌํ๊ธฐ
ํผ์ฌ์ฒด๊ฐ ํ๋์ธ ๊ฒฝ์ฐ์๋ ์ธ์๋ ํผ์ฌ์ฒด์ ์ค์ ์ด ์๋ฅผ ํ๋ ์์ ์ค์ ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฆฌํ๋ ์ํ ์ค์ ์ ๊ตฌํ๋ ๊ฒ์ด ๋จ์ํฉ๋๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ํผ์ฌ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ์ ๋ฐ์ํ์์ต๋๋ค. ํผ์ฌ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ ์ํฉ์ ๋ฐ๋ผ์๋ ์ต๋ํ ๋ง์ ํผ์ฌ์ฒด๋ฅผ ์๋ฅผ ํ๋ ์์ ๋ด์๋ด๊ฑฐ๋ ํน์ ๊ณผ๊ฐํ ๋ช๋ช ํผ์ฌ์ฒด๋ ๋ฒ๋ ค์ผ ํ์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ํผ์ฌ์ฒด(mAP score๊ฐ ๊ฐ์ฅ ํฐ ํผ์ฌ์ฒด)๋ฅผ ์ค์ฌ์ผ๋ก ๋ฆฌํ๋ ์์ ํ์์ต๋๋ค. ๋ํ ํด๋น ํผ์ฌ์ฒด ๊ทผ์ฒ์ ์๋ ๋ค๋ฅธ ํผ์ฌ์ฒด๋ค์ด ์กด์ฌํ๊ณ , ํผ์ฌ์ฒด ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ง ์๋ค๊ณ ํ๋จ๋ ๋ ์ด๋ค์ ๋ฆฌํ๋ ์ ์ ๊ฐ์ด ๋ด์๋ด๋ ค๊ณ ํ์์ต๋๋ค. ์ต์ ์ค์ ๊ตฌํ๊ธฐ ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ ์ค๋ช ์ ์๋์์ ๋ ์์ธํ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
Face / Object detection์ผ๋ก ์ธ์ํ ์ ๋ณด ์ค์์ mAP ์ค์ฝ์ด๊ฐ ๊ฐ์ฅ ํฐ ํผ์ฌ์ฒด๋ฅผ list์ ์ ์ฅํฉ๋๋ค. ์ดํ ์์์ ๊ฒฝ๊ณ ๋ฒ์(target width / height์ ์ ๋ฐ์ผ๋ก ์ค์ ) ์์ ๋ค๋ฅธ detection์ ์ค์ฌ ์ขํ๊ฐ ๋ค์ด์ฌ ์ ์๋ ๊ฒฝ์ฐ์ ํด๋น ์ ๋ณด๋ฅผ list์ ์ ์ฅํ๊ณ ๊ฒฝ๊ณ ๋ฒ์๋ฅผ updateํฉ๋๋ค. ์์ ๊ณผ์ ์ ๋ชจ๋ ๋ง์น ํ list์ ์ ์ฅ๋ detection ์ค์ฌ ์ขํ๋ค์ ํ๊ท ์ ๊ตฌํ๋ฉด ๋ฆฌํ๋ ์์ ์ต์ ์ธ ์ค์ ์ ์ป๊ฒ ๋ฉ๋๋ค.
์์ ์ฌ์ง์ผ๋ก ์์๋ฅผ ๋ค๊ฒ ์ต๋๋ค. ๊ฐ ํผ์ฌ์ฒด์ id๋ mAP score๊ฐ ๋์ ์์๋๋ก ๋ถ์ฌํ์๊ณ , ์ผ์ชฝ์ ํ๋ ๋ง๋๋ ์์์ ๊ฒฝ๊ณ ๋ฒ์์ ๋๋ค. 1๋ฒ์ ๊ธฐ์ค์ผ๋ก ๊ฒฝ๊ณ ๋ฒ์ ์์ 2๋ฒ, 3๋ฒ, 4๋ฒ ํผ์ฌ์ฒด๊ฐ ๋ค์ด์ฌ ์ ์๋์ง ์ฐจ๋ก๋๋ก ๋น๊ตํฉ๋๋ค. ๋ง์ฝ์ ์์ ์ํฉ์์ 2๋ฒ ํผ์ฌ์ฒด์ 1๋ฒ ํผ์ฌ์ฒด์์ ๊ฑฐ๋ฆฌ๊ฐ ์ค์ ํ ๊ฒฝ๊ณ ๋ฒ์ ๋ณด๋ค ์๋ค๊ณ ๊ฐ์ ํ๋ฉด 2๋ฒ ํผ์ฌ์ฒด๋ ์๋ฅผ ํ๋ ์์ ๋ด์๋ด๋๋ก ํ๊ณ (2๋ฒ ํผ์ฌ์ฒด์ ์ค์ ์ขํ๋ฅผ list์ ์ ์ฅ) ๊ฒฝ๊ณ ๋ฒ์๋ฅผ 2๋ฒ ํผ์ฌ์ฒด์ 1๋ฒ ํผ์ฌ์ฒด์ ๊ฑฐ๋ฆฌ๋งํผ ๋นผ์ฃผ๋ฉด์ updateํ๋ ๊ฒ์ ๋๋ค. 3๋ฒ, 4๋ฒ ํผ์ฌ์ฒด๋ 1, 2๋ฒ ํผ์ฌ์ฒด์์ ๊ฑฐ๋ฆฌ๊ฐ update๋ ๊ฒฝ๊ณ ๋ฒ์ ๋ณด๋ค ํฌ๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
์์ ์ํฉ๋๋ก ์๊ณ ๋ฆฌ์ฆ ์ฒ๋ฆฌ๋ฅผ ๋ง์น๋ฉด list์ ์ ์ฅ๋ ์ค์ ์ขํ๋ค์ ํ๊ท ์ด ๋ฆฌํ๋ ์ ์ต์ ์ค์ ์ด ๋ฉ๋๋ค. ํด๋น ์ต์ ์ค์ ์ ํตํด ๋ฆฌํ๋ ์ํ๋ฉด ์ฌ์ง์์ ๋ณด์ด๋ ๋นจ๊ฐ์ ๋ฐ์ค์ ๊ฐ์ ํ๋ ์์ ์ป์ ์ ์์ต๋๋ค.
(2)-2 ํ๋ ์ ์๋ผ๋ด๊ธฐ
๋ฆฌํ๋ ์์ ํ ๋๋ ํผ์ฌ์ฒด๋ฅผ zoomingํ์ง ์๊ณ ํน์ ๋น์จ์์ ๊ธฐ์กด ํ๋ ์์ด ์ต๋ํ ๋ด๊ธธ ์ ์๋๋ก ์ค์ ํ์ฌ ํ๋ ์์ด ๊นจ์ง๋ ์ํฉ์ด ๋ฐ์ํ์ง ์๋๋ก ํ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์๋ณธ ํ๋ ์์ ์ฌ์ด์ฆ๊ฐ 1024x720์ด๊ณ 5:4๋ก ์๋ผ์ผ ํ๋ ๊ฒฝ์ฐ, ์๋ณธ ํ๋ ์์ ๋น์จ(64/45=1.4222โฆ)์ด ๋ฆฌํ๋ ์ํ๋ ค๋ ๋น์จ(5/4=1.25)๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ์๋ณธ ํ๋ ์์ ๋์ด ๋ถ๋ถ์ ์๋ผ๋ด์ด 5:4์ ๋น์จ์ ๋ง์ถ๋ ๋ฐฉ์์ ๋๋ค.
(2)-3 ํ๋ ์ ๋ณด๊ฐ
์ธ์๋ ํผ์ฌ์ฒด๊ฐ ์์ง์ด๊ฑฐ๋, ํผ์ฌ์ฒด์ ๊ฐ์๊ฐ ๋ฐ๋๋ ๋ฑ์ ๊ฒฝ์ฐ์์๋ ์ฒ๋ฆฌํ๊ณ ์ ํ๋ ์ค์ ์ ์ขํ ๊ฐ์ด ์ด์ ํ๋ ์์ ๋นํด ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค. ์ด๋ ํน๋ณํ ์ฒ๋ฆฌ ์์ด ๊ทธ๋๋ก ์๋ผ๋ธ ํ๋ ์๋ค์ ์ก์ถํ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์ ์ฅ์์ ํ๋ฉด์ด ๋งค์ฐ ํ๋ค๋ฆฌ๋ ๊ฒ์ผ๋ก ๋ณด์ด๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์ ๋ณด๊ฐ๋ฒ์ ๊ณ ์ํ์์ต๋๋ค.
๋ณด๊ฐ์ด๋ ๊ธฐ์กด์ ์๋ ์ด๋ ํ ๋ ์ง์ ์ฌ์ด์ ์์นํ ์๋ก์ด ๋ฐ์ดํฐ์ ๊ฐ์ ์ถ์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์์ ์ฌ์ง์ ์ ํ ๋ณด๊ฐ๋ฒ์ ์์๋ก, ๋์ ์ธ (x0, y0), (x1, y1)์ ๊ฐ์ด ์ฃผ์ด์ก์ ๋ ์ง์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ๊ณ์ฐํ์ฌ ๊ทธ ์ฌ์ด์ ์์นํ ๊ฐ (x, y)๋ฅผ ์ถ์ ํ๋ ๊ฒ์ ๋๋ค.
ํ๋ ์ ๋ณด๊ฐ๋ฒ์ euclidean norm์ผ๋ก ํ ํ๋ ์์ ์ขํ์ ๋ค๋ฅธ ํ๋ ์์ ์ขํ์ ์ง์ ๊ฑฐ๋ฆฌ linearํ๊ฒ ๋ํ๋ธ ํ์ ํ ํ๋ ์์ timestamp์ ๋ค๋ฅธ ํ๋ ์์ timestamp ์ฌ์ด์ ์กด์ฌํ๋ timestamp์ ํด๋นํ๋ ์ขํ ๊ฐ์ ์ถ์ ํ์ฌ ์ด๋ฃจ์ด์ง๋๋ค. ์ฆ ํ ํ๋ ์์์ ๋ค์ ํ๋ ์์ด ์ก์ถ๋๊ธฐ ์ ์ ๋ณด๊ฐํ ์ขํ ๊ฐ์ ์ค์ฌ์ผ๋ก cropํ ํ๋ ์๋ค์ ์ฑ์ ๋ฃ์ด์ ๋ ์์ฐ์ค๋ฌ์ด ์์์ด ๋ณด์ฌ์ง๊ฒ ํ๋ ๊ฒ์ ๋๋ค.
ํ์ง๋ง ๊ธฐ์กด์ ๋ณด๊ฐ๋ฒ์ ๋ผ์ด๋ธ ํธ๋ํน์ ์ฌ์ฉํ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค.
euclidean norm ๋ณด๊ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋ Key frame๋ค์ ์ขํ๋ค๊ณผ timestamp๋ฅผ ํ์ฉํ์ฌ ๋ณด๊ฐํ๋๋ฐ, ์ค์๊ฐ์์ ์์ ๋ฐ์ดํฐ์ ๋ฌ๋ฆฌ ๋ค์์ผ๋ก ์ป์ด์ค๋ ํ๋ ์๋ค์ ์ ์ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
๋ฐ๋ผ์ ์ด์ ํ๋ ์๊ณผ ํ์ฌ ํ๋ ์์ ์ค์ฌ ์ขํ๋ฅผ ๋น๊ตํ๋ online ๋ฐฉ์์ผ๋ก ํ๋ ์์ ๋ณด๊ฐํ์์ต๋๋ค. ๋ํ timestamp๊ฐ ์๋ ๋ฌธ์ ๋ ์ด์ ํ๋ ์๊ณผ ํ์ฌ ํ๋ ์ ์ฌ์ด์ ์ฑ์ ๋ฃ๋ ๋ณด๊ฐ ํ๋ ์์ ๊ฐ์๋ฅผ ์์๋ก ์ ํ์ฌ ํด๊ฒฐํ์์ต๋๋ค.
๋ณด๊ฐ ํ๋ ์์ ์ด์ ํ๋ ์๊ณผ ํ์ฌ ํ๋ ์ ์ฌ์ด์ ๋ผ์ ๋ฃ์ด์ ๋ณด๊ฐํ๋ ๊ฒ์ Web Application์์ ์๋ํ๋ ๋ฐ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํต๋๋ค.. ํ ๊ฐ ์ด์์ ํ๋ ์์ ์ง์์ ์ผ๋ก ์ฝ์ ํ๊ฒ ๋๋ฉด, Web์์ ํ๋ ์์ ์ฒ๋ฆฌํ๋ ์ฐ์ฐ ์๊ฐ์ ์ด๊ณผํ๊ฒ ๋ฉ๋๋ค. ์ด์ ๋ฐ๋ผ ํ์ํ ํ๋ ์๋ค์ ์ก์ถํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํด์ง๋ฉฐ ๋ช๋ช ํ๋ ์๋ค์ด drop๋๋ ํ์์ด ๋ฐ์ํฉ๋๋ค.
๋ฐ๋ผ์ interpolation ๋ฐฉ๋ฒ์ ์ด์ frame step์์์ key coord์ ํ์ฌ frame step (detection + tracking์ผ๋ก ๊ตฌํ) key coord ์ฌ์ด์ linear interpolation์ ์ ์ฉํ์ฌ ํ์ฌ frame step์์์ key coord๋ฅผ updateํ๋ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.
-
$\alpha$ : fps์ ๋ฐ๋ผ ์กฐ์ ๋๋ parameter -
$\alpha$ = clamp(min=0.01, max=1.0, fps)
-> ์ด์ ๋ฐฉ๋ฒ๋ณด๋ค framing ์์ ์ฑ์ด ๋งค์ฐ ๊ฐ์ ๋์์ต๋๋ค!!
- ํผ์ฌ์ฒด์ ์์น ์ ๋ณด ๋ณํ์ ๋ฐ๋ฅธ ํ๋ ์ ํ๋ค๋ฆผ
ํผ์ฌ์ฒด์ ์๊ฐ 1๋ช ์์ 2๋ช ์ด ๋ ๋, ํน์ ์ฒ์๋ถํฐ ์ฌ๋ฌ ๋ช ์ด ์์ ๋ ํ๋ ์์ด ๋งค์ฐ ํ๋ค๋ฆฌ๋ ํ์์ด ๋ฐ์ํ์์ต๋๋ค.
์ธ์๋ ํผ์ฌ์ฒด์ ์๊ฐ 2 ์ด์์ผ ๋ ์์์ ๋ฒ์๋ฅผ ๋์ด ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์์ ์ค์ ํ ๋ฒ์์ ์ด๋ค ํผ์ฌ์ฒด๊ฐ ๊ฑธ์ณ ์์ ๊ฒฝ์ฐ ํผ์ฌ์ฒด๋ฅผ ์ก์๋ค๊ฐ ์ ์ก๋ ์ํฉ์ด ๋ฐ๋ณต๋๋ฉด์ ํ๋ ์์ด ํ๋ค๋ฆฌ๊ฒ ๋๋ ๊ฒ์ด์์ต๋๋ค.
- object detection ๋ชจ๋ธ์ ์ ํ๋๊ฐ ๋ฎ๋ค.
fps๋ฅผ 30์ด์์ผ๋ก ๊ตฌํํ๊ธฐ ์ํด์ ์๋๊ฐ ๋น ๋ฅธ object detection ๋ชจ๋ธ์ธ SSD๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋, ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์ข์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด๋ฅผ ์ธ์ํ์ง ๋ชปํ๊ฑฐ๋, ๊ฐ์ฒด์ ์์น์ ๋ฐ๋ฅธ bounding box๋ฅผ ์ ๋๋ก ๊ทธ๋ฆฌ์ง ๋ชปํ๋ ํ์์ด ๋ฐ์ํ์์ต๋๋ค.
์ด์ ๊น์ง๋ ๋งค ํ๋ ์๋ง๋ค object detection์ ํ์ฌ ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ํ์ ํ์์ต๋๋ค. ํ์ง๋ง ์์ ๋ฐฉ์์ด ํจ์จ์ ์ด์ง ์๋ค๊ณ ์๊ฐํ์์ต๋๋ค.
๋ํ fps 30์ด์์ผ๋ก ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ์๋๊ฐ ๋น ๋ฅธ object detection ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ ๊ฒ์ธ๋ฐ ๊ผญ ๋ชจ๋ธ์ ์๋๋ฅผ ๋นจ๋ฆฌํ์ฌ fps 30์ด์์ ๊ตฌํํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
๊ธฐ์กด ๋ฐฉ์์ ๋ฐ๊พธ์ด ํ ํ๋ ์์์ object detection์ ํ๋ฉด ์ดํ์ ํ๋ ์์์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ํ์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์๊ณ ์ด๋ object tracking์ ์ฌ์ฉํ๊ธฐ๋ก ํ์์ต๋๋ค.
multiple object tracking์ ๋ค์์ ๊ฐ์ฒด๋ฅผ ์ถ์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. object tracking์ ์์ ํ๋ ์์ bounding box ์ขํ๋ง์ผ๋ก trackingํ๋ Detection-Free-Tracking๊ณผ object detector๋ก ์ป๋ bounding box ์ขํ๋ก trackingํ๋ Detection-Based-Tracking์ผ๋ก ๋๋๋๋ฐ, ๋๋ถ๋ถ Detection-Based-Tracking ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ํ ์ ์ฒด ํ๋ ์์ detection ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ tracking trajactory๋ฅผ ๋ง๋๋ batch tracking ๋ฐฉ์๊ณผ ์ด์ ํ๋ ์๊ณผ ํ์ฌ ํ๋ ์์ detection ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ trackingํ๋ online tracking ๋ฐฉ์์ด ์กด์ฌํ๋๋ฐ, ์ค์๊ฐ์ผ๋ก ๊ตฌํํด์ผ ํ๋ ์ฐ๊ตฌ ๋ฐฉํฅ์ ๋ง๋๋ก online tracking ๋ฐฉ์์ ์ฑํํ์์ต๋๋ค.
object tracking์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ์ ์ SORT(simple online real-time tracker)์ ๋๋ค.
SORT[5]๋ kalman filter์ ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ํผ์ฌ์ฒด๋ฅผ ์ถ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- Kalman Filter
์นผ๋ง ํํฐ๋ ์์ ๋ด ๊ฐ์ฒด์ ์์ง์์ด ์ ํ์ ์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ (์์ ๋ด์์ ๊ฐ์ฒด๊ฐ ๊ฐ์๊ธฐ ์ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋งค์ฐ ์ ๊ธฐ ๋๋ฌธ), ์ด์ ๊ฐ์ฒด์ ์์น ๋ฐ ์๋๋ฅผ ๊ณ์ฐํ์ฌ ํ์ฌ ํ๋ ์์ ๊ฐ์ฒด ์์น๋ฅผ ํ๋ฅ ์ ์ผ๋ก ์ถ์ ํฉ๋๋ค.
uย : ์ด์ ํ๋ ์์์์ ๊ฐ์ฒด ๊ฐ๋ก ์ค์ ์์นvย : ์ด์ ํ๋ ์์์์ ๊ฐ์ฒด ์ธ๋ก ์ค์ ์์นsย : ๊ฐ์ฒด์ bounding box์ scalerย : ๊ฐ์ฒด์ bounding box์ ๋น์จ (๊ฐ๋ก / ์ธ๋ก)
u, v, s, r ์ ๊ฐ์ ์ ํ ๋ฑ์ ๋ชจ๋ธ์ ํตํด ํ์ฌ ํ๋ ์์ ๊ฐ์ฒด์ ์ํ(u', v' , s')๋ฅผ ์ถ์ ํฉ๋๋ค. ์ด๋ bounding box์ ๋น์จ์ ์ผ์ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
- ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ
-
์นผ๋ง ํํฐ๋ฅผ ํตํด ์ด์ ํ๋ ์๊น์ง์ ๊ฐ์ฒด ์์น๋ฅผ ์์ธกํฉ๋๋ค.
-
ํ์ฌ ํ๋ ์์ ๊ฐ์ฒด ์์น ์ ๋ณด๋ฅผ detector๋ก ์์๋ ๋๋ค.
-
ํ๊ฐ๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์นผ๋ง ํํฐ๋ก ์์ธกํ ๊ฐ๊ณผ detector๋ก ์ธ์ํ ๊ฐ๋ค์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ด ๊ฒ๋ผ๋ฆฌ ๋งค์นญํฉ๋๋ค.
์์ ๊ณผ์ ์ ํตํด ํ์ฌ ์ด๋ฏธ์ง ๋ด์์์ ๊ฐ์ฒด ์ ๋ณด๋ฅผ ํ์ ํ๊ณ ์ถ์ ํ๊ฒ ๋ฉ๋๋ค.
Deep SORT[6]๋ ๊ธฐ์กด SORT ๋ฐฉ์์์ Matching cascade์ Person Re-Identification์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค.
(Matching cascade์ Person Re-Identification์ ๋ถ๋ก์์ ์ค๋ช )
SORT์ DeepSORT ๋ฑ์ two-stage tracker๋ ๋งค ํ๋ ์๋ง๋ค object detector์ detection ์ธ์ ์ ๋ณด๋ฅผ ํ์๋ก ํฉ๋๋ค. ํ์ง๋ง object detector๋ฅผ ๋ ์ฑ๋ฅ์ด ์ข์ ๊ฒ์ผ๋ก ๋ฐ๊พธ๊ฒ ๋๋ค๋ฉด, ์๋๊ฐ ๋ ๋๋ฆฐ ๋ชจ๋ธ์ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก ๋งค ํ๋ ์๋ง๋ค object detection์ ํ ๊ฒฝ์ฐ์ fps๊ฐ 30์ด์์ธ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ด๋ ต๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๋งค ํ๋ ์๋ง๋ค object detection์ ํ์ง ์์๋ object tracking ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ FastMOT๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
FastMOT๋ N๊ฐ์ ํ๋ ์๋ง๋ค object detection์ ํ๊ณ , ๊ทธ ๊ณต๋ฐฑ์ ์นผ๋ง ํํฐ๋ฅผ ํตํด ํผ์ฌ์ฒด์ ์์น๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
์นผ๋ง ํํฐ์ ์์ธก ์ ํ๋๋ฅผ ๋ ๋์ด๊ธฐ ์ํด ์ด์ ํ๋ ์๊ณผ ํ์ฌ ํ๋ ์์ optical flow๋ฅผ ๊ณ์ฐํ ํ์ ์นผ๋ง ํํฐ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ object detector ์์ด๋ tracking ํ๋ ์์์ ํผ์ฌ์ฒด๋ฅผ ์ถ์ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ ํ๋ ์์์ object detector๋ฅผ ํตํด ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ์ธ์ํ ํ object tracker์ ํด๋น ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ณ , ํผ์ฌ์ฒด์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์๋ผ๋ธ ํ๋ ์์ ์ก์ถํฉ๋๋ค. ์ดํ ๋ ๋ฒ์งธ ํ๋ ์๋ถํฐ๋ ์ด์ detection ์ ๋ณด์ ์ด์ ์ด๋ฏธ์ง์ ํ์ฌ ์ด๋ฏธ์ง์ image feature ๋น๊ต ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ํ์ฌ ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ์์ธกํฉ๋๋ค. tracker๋ก ์ถ์ ๋ ์์น ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ฆฌํ๋ ์ํ์ฌ ํ๋ ์๋ค์ ์ก์ถํ๊ณ , ํด๋น ๊ณผ์ ์ 4๋ฒ ๊ฑฐ์น ํ์ ๋ค์ object detection ํ๋ ์์ผ๋ก ๋์์ค๊ฒ ๋ฉ๋๋ค. ์ฆ detection ํ๋ ์๊ณผ tracking ํ๋ ์์ ๋น์จ์ 1:4๋ก ๊ตฌ์ฑํ์์ต๋๋ค. ์ค๊ฐ์ tracker๊ฐ ์ธ์ ๋๋ ํผ์ฌ์ฒด๋ฅผ ๋์น๋ ๊ฒฝ์ฐ์๋ ๋ค์ ํ๋ ์์์ object detection์ ํ๋๋ก ํ์์ต๋๋ค.
์์ ๋ฐฉ์์ ์ฌ์ฉํ์์ ๋ ํผ์ฌ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ด์ ๋ณด๋ค ํ๋ ์์ด ํ๋ค๋ฆฌ๋ ํ์์ด ๋งค์ฐ ์ ์ด์ก์ต๋๋ค.
๋งค ํ๋ ์๋ง๋ค detection์ผ๋ก ํผ์ฌ์ฒด์ ์์น ์ ๋ณด๋ฅผ ํ์ ํ ๋์ ๋ฌ๋ฆฌ object tracker๋ฅผ ํตํด ์ธ์๋ ํผ์ฌ์ฒด๋ฅผ ์ง์์ ์ผ๋ก ์ถ์ ํ๊ณ , ๊ทธ ๊ณผ์ ์์ ๊ฐ ํ๋ ์์ ํน์ง์ ์ถ์ถํ์ฌ ์ฌ์ฉํ๋ฉด์ ์์ ๋ด์ ํ๋ฆ์ ๋ฐ์ํ ์ ์๊ฒ ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ํ object tracker๋ก ๊ฐ์ฒด๋ฅผ ์ถ์ ํ ๋ ์ฒ์ ์ธ์๋์๋ ํผ์ฌ์ฒด๋ฅผ ์์ฃผ๋ก tracking์ด ์ด๋ฃจ์ด์ง๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ํ๋ ์์ด ํ๋ค๋ฆฌ๋ ํ์์ด ์ค์ด๋ค์์ต๋๋ค.
FastMOT object tracker๋ฅผ ์ฌ์ฉํ์ฌ ์ง์์ ์ด๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ถ์ ํ ์ ์๊ฒ ํ์์ต๋๋ค. object detection๋ง์ผ๋ก ํผ์ฌ์ฒด๋ฅผ ์ถ์ ํ๋ ์ด๊ธฐ ์ ๊ทผ ๋ฐฉ์์์ object tracking ๋ฐฉ์์ผ๋ก ํผ์ฌ์ฒด๋ฅผ ์ถ์ ํ๋ ๊ฒ์ผ๋ก ๋ฐ๊พธ์๋ ๊ฒ์ด ์ฐ๊ตฌ์์ ํฐ ์ฑ๊ณผ๋ฅผ ๋ณด์์ต๋๋ค.
Visual Transformer ๊ตฌ์กฐ์์ ํ์๋ object detection ๋ชจ๋ธ์ธ DINO, SwinV2-G ๋ฑ SOTA ํน์ ๊ทธ์ ์คํ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ค๋ฉด ์ฐ๊ตฌ๊ฐ ๋์ฑ ๋ฐ์ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค. Object detection ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์ข์์ง์๋ก Object tracker์ ์ฑ๋ฅ๋ ์ข์์ง๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ ๊ต์ฒด๊ฐ ๋ ํฐ ํจ๊ณผ๋ฅผ ๋ฐํํ ๊ฒ์ด๋ผ๊ณ ์์ํฉ๋๋ค. ๋ค๋ง Object detection ๋ชจ๋ธ์ ๊ต์ฒดํ ๊ฒฝ์ฐ, ํ๋ ์์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ธฐ์กด ์๊ณ ๋ฆฌ์ฆ๋๋ก ์ฌ์ฉํ๋ค๋ฉด detection ํ๋ ์์์๋ ์ก์ถ์ด ๋งค์ฐ ๋๋ ค์ง๋ ํ์์ด ๋ฐ์ํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋ฉํฐํ๋ก์ธ์ฑ์ ์ ๋ชฉํ๋ค๋ฉด ํด๋น ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์๊น ์๊ฐํฉ๋๋ค.
- fps๋?
fps(frame per second)๋ 1์ด๋น ๋ณด์ฌ์ง๋ ํ๋ ์์ ๊ฐ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฌ๋์ ๋์ ์์์ด ์ค์๊ฐ์ผ๋ก ์์ง์ด๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ค๋ฉด fps๊ฐ 30 ์ด์์ด์ด์ผ ํฉ๋๋ค.
- bounding box
Object detection์์ ๊ฐ์ฒด์ ์์น๋ฅผ ํํํ ๋ ์ฌ์ฉํ๋ ์ง์ฌ๊ฐํ ๋ชจ์์ ๋ฐ์ค์ ๋๋ค.
x์ถ๊ณผ y์ถ์ ํตํด ํํํ๋ฉฐ, (x1, y1)์ x๊ฐ๊ณผ y๊ฐ์ ์ต์๊ฐ์ ๋ํ๋ด๊ณ (x2, y2)์ x,y ๊ฐ์ ์ต๋๊ฐ์ ๋ํ๋ ๋๋ค.
- mAP score
mAP(mean Average Precision)๋ Object detector์ ์ ํ๋๋ฅผ ํ๊ฐํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ ํ๊ฐ์งํ์ ๋๋ค. mAP์ ๋ํด ์๊ธฐ ์ ์ IOU, precision, recall๊ฐ๋ ์ ๋ํด ์์์ผ ํฉ๋๋ค.
Object detection์์ ๊ฐ์ฒด์ ์์น๋ฅผ ๋ง๊ฒ ์ถ์ ํ๋์ง ํ๋จํ ๋ IOU๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํฉ๋๋ค.
IOU(Intersection over Union)๋ ๊ต์งํฉ์ ์์ญ / ํฉ์งํฉ์ ์์ญ์ ๋๋ค.
Object detector๊ฐ ์์ธกํ bounding box์ ์ค์ ๊ฐ์ฒด์ bounding box(ground-truth) ์์ญ ๊ฐ์ IOU ๊ฐ์ด 0.5 ์ด์์ผ ๋ Object detector๊ฐ ์ณ๊ฒ ์์ธกํ๋ค๊ณ ํ๋จํ๊ฒ ๋ฉ๋๋ค.
$precision = { TP \over TP + FP }$
precision(์ ๋ฐ๋)์ ๋ชจ๋ธ์ด True๋ผ๊ณ ์์ธกํ ๊ฒ๋ค ์ค์์ ์ค์ ๋ก True์ธ ๊ฒ์ ๋น์จ์ ๋๋ค.
$recall = { TP \over TP + FN }$
recall(์ฌํ๋ฅ )์ ์ค์ ๋ก True์ธ ๊ฒ๋ค ์ค์์ ๋ชจ๋ธ์ด True๋ผ๊ณ ํ ๊ฒ์ ๋น์จ์ ๋๋ค.
๋ ์ค ํ ๊ฐ๋ง์ผ๋ก๋ ์ข์ ๋ชจ๋ธ์ ํ๋จํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ precision๊ณผ recall์ ๋์์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ๊ฐํ๊ฒ ๋ฉ๋๋ค. precision๊ณผ recall ๊ฐ์ผ๋ก ๊ทธ๋ฆฐ ๊ทธ๋ํ์ ์๋ ๋ฉด์ ์ AP(Average Precision)๋ก ์ ์ํ๊ณ ๊ฐ ํด๋์ค์์ ๊ตฌํ AP์ ํ๊ท ์ธ mAP๋ฅผ ํตํด Object detector์ ์ฑ๋ฅ์ ํ๊ฐํฉ๋๋ค.
-
DeepSORT
- Matching cascade
์ต๊ทผ์ ์์ฑ๋ track์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๊ฐ์ฅ ์ต๊ทผ์ ์์ฑ๋ track์ผ์๋ก ๋ ์ ํํ ์ถ์ ์ด๊ณ , ๋์ค์ ์์ฑ๋ track์ผ์๋ก ๋ถํ์คํ ์ถ์ ์ด๋ผ๊ณ ํ๋จํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
-
Matching Cascade๊ฐ ์ผ์ด๋๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
Track๊ณผ Detection ๊ฐ์ cost matrix๋ฅผ ๊ตฌํฉ๋๋ค. cost matrix๋ Mahalanobis distance์ cosine distance๋ฅผ ํตํด ๊ตฌํ๋๋ฐ, ๋ ผ๋ฌธ์์๋ cosine distance๋ง์ ์ฌ์ฉํ์ ๋ ์คํ๋ ค ์ฑ๋ฅ์ด ์ข๋ค๊ณ ํฉ๋๋ค.
-
track์ ๋ํ ์ถ์ ํ๋น์ฑ์ ๊ฒ์ฆํ๋ gate matrix๋ฅผ ๊ตฌํฉ๋๋ค. Track๊ณผ Detection ์ฌ์ด์ cost์ ์๊ณ๊ฐ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ํตํด ์์ ๊ฒ ๊ฐ์ง ์๋ค๊ณ ํ๋จ๋๋ track์ ์ ๊ฑฐํฉ๋๋ค.
-
matched detections๋ฅผ ๊ณต์งํฉ์ผ๋ก, unmatched detections๋ฅผ Detections๋ก ์ด๊ธฐํํฉ๋๋ค.
-
๊ฐ age๋ฅผ ๊ฐ์ง๋ track๋ค์ ์์ฐจ์ ์ผ๋ก ํ์ํ๋ฉด์, linear assignment๋ฅผ ์งํํฉ๋๋ค. ์ด๋ matching๋์ง ์์ track๋ค์ ์ ๊ฑฐํฉ๋๋ค.
-
Re-identification
-
SORT๋ ID switching์ ๋ฌธ์ ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ID switching์ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์ถ์ ํ ๋, ๊ฐ ๊ฐ์ฒด์ track ID๊ฐ ๋ฐ๋๋ ํ์์
๋๋ค. ID switching์ tracking์ ์ฑ๋ฅ์ ์ ํ์ํค๋ ์์ธ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ Re-identification ๋ชจ๋ธ์ ์ ์ฉํ์์ต๋๋ค.
Person Re-identification์ ํน์ ์ฌ๋์ ๋ค์ํ ๊ฐ๋๋ ์์น์ ์๋ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ค์์ ์ฐพ๋ task์
๋๋ค. CNN์ feature space ์์์ ๋์ผํ ์ฌ๋์ ๋ํ feature๋ feature ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น๊ฒ mappingํ๊ณ , ๋ค๋ฅธ ์ฌ๋์ ๋ํ feature๋ feature ์ฌ๋ฆฌ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๊ฒ mappingํ๋ ๋ฐฉ์์ ํตํด ์ฌ๋์ ํน์ง์ ์ ํ์
ํ๋ ๋ชจ๋ธ์ ์ป์ ์ ์๊ณ , ์ด ๋ชจ๋ธ์ด OSNet์
๋๋ค.
DeepSORT์์๋ OSNet์ ํ์ฉํ์ฌ detection๋ ํผ์ฌ์ฒด๋ฅผ ์๋ผ๋ธ ํ๋ ์์์ image feature๋ฅผ ์ถ์ถํฉ๋๋ค. ํด๋น ์ ๋ณด๋ฅผ tracking์ ์ฌ์ฉํ์ฌ ID switching ๋ฌธ์ ๋ฅผ 45% ๊ฐ์์์ผฐ์ต๋๋ค.
[1] Google Research, "AutoFlip: An Open Source Framework for Intelligent Video Reframing", https://ai.googleblog.com/2020/02/autoflip-open-source-framework-for.html (accessed Oct. 06, 2022)
[2] Apple (2021), "Capture high-quality photos using video formats", https://developer.apple.com/videos/play/wwdc2021/10047/?time=808
[3] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg (2016), "SSD: Single Shot MultiBox Detector", https://arxiv.org/pdf/1512.02325.pdf
[4] Google Research (2019), "BlazeFace: Sub-millisecond Neural Face Detection on Mobile GPUs", https://arxiv.org/pdf/1907.05047.pdf
[5] Alex Bewley, Zongyuan Ge, Lionel Ott, Fabio Ramos, Ben Upcroft (2016), "Simple Online and Realtime Tracking", https://arxiv.org/pdf/1602.00763.pdf
[6] Nicolai Wojke, Alex Bewley, Dietrich Paulus (2017), "Simple Online and Realtime Tracking with a Deep Association Metric", https://arxiv.org/pdf/1703.07402.pdf

















