Back to Cinamon showcase

Cinamon Inc. ยท Motion Refinement

๐Ÿช„ Motion Refinement

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 2025. 11 - 2025. 12

Tech stack

PyTorch PyTorch Lightning Lightning Fabric TensorBoard Triton FastAPI GitHub

์ƒ์„ฑ๋ชจ๋ธ์„ ์ด์šฉํ•œ ๊ฒฐ๊ณผ๋ฌผ์˜ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ RQVAE ๊ธฐ๋ฐ˜ ==motion refinement ๋ชจ๋ธ== ์„ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋žœ๋ค test case ๊ธฐ์ค€์œผ๋กœ ==MSE๋ฅผ 43.6% ๊ฐ์†Œ==์‹œ์ผฐ์œผ๋ฉฐ, ๊ฐ€๋ฒผ์šด ์•„ํ‚คํ…์ณ๋ฅผ ์ด์šฉํ•œ ์‚ฌ๋‚ด ๋ชจ์…˜ ๋ชจ๋ธ์˜ 2๋‹จ๊ณ„ ํ’ˆ์งˆ ๊ฐœ์„  ํŒŒ์ดํ”„๋ผ์ธ์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Media

refiner ์ ์šฉ ํ›„ foot skating๊ณผ ๋ถˆ์—ฐ์†์„ฑ์ด ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“œ๋Š”์ง€ ์ „ํ›„ ๋น„๊ต๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ ์—…๋ฌด ์ˆ˜ํ–‰ ๋‚ด์šฉ

flowchart LR input["Generated Motion"] --> encoder["Encoder"] subgraph refiner["1D Conv RQVAE Refiner"] encoder --> quant["Residual Quantizer"] quant --> decoder["Decoder"] end decoder --> merge["Merge Original Global Translation"] merge --> output["Refined Motion"]
- ์‚ฌ๋‚ด ๋ชจ์…˜ ์ƒ์„ฑ ๋ชจ๋ธ์€ '์ง€์ •ํ•œ ์ง€์ ์— ๋„์ฐฉํ•˜๊ธฐ', '์ž…๋ ฅ ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ์— ๋งž๋Š” ๋ชจ์…˜์„ ์ƒ์„ฑํ•˜๊ธฐ' ๋“ฑ ๋ชฉํ‘œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ฌ์„ฑํ•˜์ง€๋งŒ, ==๊ฒฐ๊ณผ๋ฌผ์˜ ํ€„๋ฆฌํ‹ฐ ์ด์Šˆ==๊ฐ€ ๋ฐ˜๋ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - ๋ชฉํ‘œ๋ฅผ '์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ' ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋””๋ฒ„๊น… ๋ณต์žก๋„๊ฐ€ ๋†’์•„์ง€๊ณ , ๋ชจ๋ธ ๋ฐฐํฌ ์‚ฌ์ดํด์ด ๊ธธ์–ด์ง€๋Š” ํ•œ๊ณ„๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. - ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ชจ์…˜์„ ๋‹ค์‹œ ==์ž์—ฐ์Šค๋Ÿฌ์šด ๋ชจ์…˜ ๋ถ„ํฌ ์•ˆ์œผ๋กœ ์œ ๋„==ํ•˜๋Š” ๋ชจ์…˜ ๋ณด์ • ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•˜๊ณ  ๋‹ด๋‹น ํ”„๋กœ์ ํŠธ์— ์„ ์ œ์ ์œผ๋กœ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. - ==VQVAE, RQVAE, diffusion== ๊ธฐ๋ฐ˜ ๋ชจ์…˜ ๋ณด์ • ๋ชจ๋ธ PoC๋ฅผ ์ง„ํ–‰ํ•ด ๋น„๊ต ๋ฆฌํฌํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ, ==์ •๋Ÿ‰ ์ง€ํ‘œ== (foot skating, MSE) ๋ฅผ ์ธก์ •ํ•ด ๊ณ ๋„ํ™” ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. - Canonicalized ๋ชจ์…˜ ํ‘œํ˜„ํ˜•์„ ๋ฐ”ํƒ•์œผ๋กœ 1D Convolution RQVAE ==tokenizer==๋ฅผ ๊ณ ๋„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. - ๋ชจ์…˜์˜ ์–ด์ƒ‰ํ•จ์ด global translation๋ณด๋‹ค local rotation์—์„œ ์ฃผ๋กœ ๋ฐœ์ƒํ•จ์„ ๋ฐœ๊ฒฌ, ๋ชจ๋ธ์ด ==local ์ •๋ณด๋งŒ ์•ˆ์ •์ ์œผ๋กœ ํ•™์Šต==ํ•˜๋„๋ก ์œ ๋„ํ•ด ํ•™์Šต ๋ณต์žก์„ฑ์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค. - ์˜ˆ) Blender ์ขŒํ‘œ๊ณ„ ๊ธฐ์ค€์œผ๋กœ 'y์ถ•์œผ๋กœ 2m ๊ฑท๊ธฐ'์™€ '-y์ถ•์œผ๋กœ 2m ๊ฑท๊ธฐ'๋ฅผ ๊ฐœ๋ณ„ ์ •๋ณด๊ฐ€ ์•„๋‹Œ ๋™์ผํ•œ '๊ฑท๊ธฐ' ํฌ์ฆˆ ์ •๋ณด๋กœ ์ธ์‹ํ•˜๋„๋ก ๊ตฌ์„ฑ - ์ถ”๋ก  ์‹œ์—๋Š” ์›๋ณธ ๋ชจ์…˜์˜ pelvis joint translation์„ ์œ ์ง€ํ•˜๊ณ , ๋ณด์ • ๋ชจ๋ธ์ด ์ƒ์„ฑํ•œ local rotation ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•ด ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.