- Published on
๐ PROJECT | Skate Analytics #1
๊ฐ๋ฐ ๋ฐฐ๊ฒฝ
2022๋ ๋ฒ ์ด์ง ์ฌ๋ฆผํฝ์ ๊ธฐ๋ ํด์ ๋ง๋ค์๋ skating ai๊ฐ ๋ค๊ฐ์ค๋ 2026๋ ๋ฐ๋ผ๋ ธ ์ฌ๋ฆผํฝ์ ๊ธฐ๋ ํด์ ์ฌ๋ฐ๊ฒ ๋ง๋ค๊ณ ์ ๋ค์ ๊บผ๋ด๋ณด๊ฒ ๋์๋ค. ์ฌ์ค ๋๋ 2014๋ ์ ๊ต์ฅํ ๋ถํฉ๋ฆฌํ ํ์ ์ ๋ณด๊ณ ๋ด ๋ง์ ์ด๋๊ฐ์ judge ai ๊ด๋ จํด์ ๋ง๋ค๊ณ ์ถ์ ์๋ง์ 10๋ ์ด์ ๋ด๋ด ์์ด์๋ค..ใ ใ ใ ใ
์์๋ค์ถ์ด ๋น์ 2022๋ ์๋ transformer๊ธฐ๋ฐํด์ ์ฌ๋ฌ pose estimation์ด ๋ง์ด ๋์ค๋ ์๊ธฐ์์ง๋ง, ๋ด ๊ธฐ์ต์.. ์ผ์๊ณผ ๊ด๋ จํ์ฌ ๋ฒ์ด๋ ํ๋์ ํ๋ฉด ์ ์ธ์ํ์ง ๋ชปํ ํ๊ณ๋ฅผ ์ง๋๊ณ ์์๋ค. ์ ํ์ ๊ฐ์ ๊ฒฝ์ฐ ์๋๋ก ์ธํด์ ๋ธ๋ฌ๋ฆฌํ๊ฒ ๋ณด์ด๋ ์์์ด ๋ง๊ณ ์ ์ด์ ๋ฐ์ดํฐ์ ์์ฒด๊ฐ ์คํฌ์ธ ๊ด๋ จ ๋ฐ์ดํฐ๋ก ํ๋ จํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ถ์ง๊ธฐ์๋ผ..
๋ ผ๋ฌธ์ ์์ธํ๊ฒ ์ฝ์ง๋ ์์์ง๋ง pose estimation ๊ด๋ จํด์๋ ์ฌ๋ฌ ๊ฐ ์ ๋ ๊ฐ๋ง ์ก๊ณ ์์๋ค.
๊ทธ๋ฌ๋ค๊ฐ ์ฐ์ฐํ ์ด ๋ ผ๋ฌธ์ ๋ฐ๊ฒฌํ๊ฒ ๋๋๋ฐ.. ๋ณด์ํ๋ ํด๋น ๋ชจ๋ธ ํ ๋๋ก ์ค์ ๋ก ์น์ฌ์ดํธ๋ฅผ ๋ก์ปฌ๋ก ๋ง๋์ ๊ฑด์ง..
์ํผ ์ต๋ํ ํด๋น ๋ ผ๋ฌธ์ ๋ณด๊ณ ๋ฐ๋ผํ๋ฉด์ ์ถ๊ฐ์ ์ธ ๋ช๊ฐ์ง๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ๋ก ํ์๋ค.
- ์ค์ผ์ดํธ ๊ถค์ ๊ทธ๋ฆด ๊ฒ
- ์ดํ ์ ๋ฐ ํ์ ์์: ๋์ฝ๊ณผ ์ฐฉ์ง์์๋ง ๊ฐ๋ ๊ณ์ฐ
- ์ ๋ค ํจ๊ป ์ฌ์ํ ์ ์๋๋ก(?)
- ์์์ ๋จ์ ์นด๋ฉ๋ผ๋ก ์ดฌ์๋ ์์๋ง -> ์ ํ ๊ตฌ๊ฐ ์ฌ์ฉ์๊ฐ ํด๋ฆฝํํ ์ ์๋๋ก
๋ ผ๋ฌธ ๊ตฌํ
๋ณธ ๋ ผ๋ฌธ contribution์ ์๋์ ๊ฐ๋ค
- ์ ํ ๋ฐ์ดํฐ์
- 2d pose estimation + 3d pose estimation + temporal action segmentation
- DWposeEstimator
- MotionAGFormer
- FACT
๋จผ์ MotionAGFormer๋ก 2d->3d pose ๋ชจ๋ธ์ ๋ง๋ค์ด๋ณด์..
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
๋ผ๊ณ ์ฐ๊ณ ์ฝ์ง ์ฐ๋๊ธฐ๋ผ๊ณ ์ฝ๋๋ค.
์ปค์คํ ๋ฐ์ดํฐ์ ํ ๋๋ก ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์๋ ์ด์์ ์ ๋จ๊ฒจ์ ธ์๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ์ ์ ์๋ฏ, world -> camera -> image ์ขํ๊ณ๋ก ๋ณํ์ ํด์ผํ๋ค. ๊ทธ๊ฑฐ๋ ๋ชจ๋ฅด๊ณ ์ฝ์ง์ ํ์๋ค.. ๊ทธ๋ฆฌ๊ณ ๋๊ตฐ๋ค๋ ๋ ผ๋ฌธ์ ๋์จ FSJump3D ๋ฐ์ดํฐ์ ์์๋ 2D ๊ด๋ จ ์ ๋ณด๊ฐ ์๊ณ , ์ขํ๊ณ ๋ณํ์์๋ ์นด๋ฉ๋ผ ์ ๋ณด๊ฐ ํ์๋ผ.. ๊ฒฐ๊ตญ์๋ ์ด ๋ถ๋ถ์ ์ ์์๊ฒ ๋ฌธ์ํ๋ค.
์ฝ์งํ๋ฉด์ ์๋์ฒ๋ผ ์ด๋ ๊ฒ ๋ง๋ค์๋๋ฐ ์๊ฐ๋ณด๋ค ์ ๋์ง ์์์๋ค..ใ ใ

2d pose๋ dwpose๋ก ์ป์ ๋ฐ์ดํฐ, world3d ์ขํ๋ ์๊ฒ ๋ค ์ถ์ด์ focal length๋ linear regression์ผ๋ก 650 ์ถ์ ํ ๊ฐ์ ์ด์ฉํ๊ณ (ํ์ค์ 1650..^^) extrinsic๊ฐ์ cv2.solvePnP
์ด์ฉํด์ ์ถ์ ํ๋ค. ๊ทธ๋์ ๊ทธ๋ฐ์ง ์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ..๋์๋ค..ใ
ใ
ใ
๊ทธ๋๋ ์ผ๋ จ์ ์ฝ์ง ๋๋ถ์ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๊ฐ ์ ์ฒ๋ฆฌ๋๋์ง ํ์
์ ๋์ด์.. ๋คํ?์ธ ๊ฑฐ ๊ฐ๊ธฐ๋
๋ฐ์ดํฐ ํํ
MotionAGFormer์์ ์ง์ํ๋ ๋ฐ์ดํฐ format ํํ๋ Human 3.6M๊ณผ mpiํํ๋ฅผ ์ง์ํ๋ค. ๋ฌผ๋ก ์ ์ด์๋ฅผ ํตํด์ ์ปค์คํ ์ผ๋ก๋ ํ๋ จ์ด ๊ฐ๋ฅํ๋ค. ์ปค์คํ ์ผ๋ก ํ๋ จ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์์ผ๋.. ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ฒ๋ฆฐ ๋ฐ๋์ ๋ฐ์ฏค ์๋ฏธ๊ฐ ์์ด์ง๊ธด ํ๋ค..ใ ใ
MotionAGFormer๋ ํด๋น ๋ฐ์ดํฐ ํํ๋ก train, test๋ก ๋๋์๋๋ฐ,
dict_keys(['joint_2d', 'confidence', 'joint3d_image', 'joints_2.5d_image', '2.5d_factor', 'camera_name', 'action', 'source', 'frame', 'world_3d', 'cam_3d', 'cam_param'])
์ฌ๊ธฐ์ joint_2.5d_image = 2.5_factor * joint3d_image์ ๋์ผํ๋ค. ์ด์ ๊ด๋ จ๋ ์ด์๋ ๋ค์ ํ ๋ฒ ์ฌ๊ธฐ์์ ํ์ธํ์๋ฉด ๋๊ฒ ๋ค.
์๋ ์์ธํ ์ฝ๋๋ Reference์์ ์ฒดํฌ!
ํ๋ จ ๊ฒฐ๊ณผ๋ ๋ค์ ํฌ์คํ ์์..!
Reference
- Authors
- Name
- Amelia Young
- GitHub
- @ameliacode