Back to Cinamon showcase

Cinamon Inc. ยท In-betweening

๐ŸŽฅ In-betweening

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

Tech stack

PyTorch PyTorch Lightning Hydra TensorBoard GitHub

์ž„์˜์˜ ์‹œ์ž‘ ํฌ์ฆˆ์™€ ์ข…๋ฃŒ ํฌ์ฆˆ ์‚ฌ์ด๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š” ==motion in-betweening ๋ชจ๋ธ==์„ ๊ณ ๋„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. Baseline model์˜ failure scenario ๋ฅผ ์žฌํ˜„ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•ด ๊ฐœ์„  ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒŒ์•…ํ–ˆ๊ณ , ==Diffusion noise optimization(DNO)==์„ ์ ์šฉํ•ด ํŠน์ • ์ผ€์ด์Šค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ==drifting ๋ฌธ์ œ==๋ฅผ ์™„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. TorchServe๋ฅผ ์ด์šฉํ•ด ๋ชจ๋ธ์„ ์„œ๋น™ํ–ˆ์œผ๋ฉฐ, API๋ฅผ ๋ฐ๋ชจ ํŽ˜์ด์ง€์— ์—ฐ๋™ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

Media

๊ธฐ์กด ์‹œ์ž‘/์ข…๋ฃŒ ๊ตฌ๊ฐ„ ์‚ฌ์ด๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฉ”์šฐ๋Š” motion in-betweening ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

flowchart LR intro["Intro Motion"] --> masked["Masked Sequence"] outro["Outro Motion"] --> masked length["Transition Length"] --> masked masked --> init["Random Noise Init"] init --> dno["DNO Loop
Denoise -> Intro/outro MSE -> Noise Update"] dno --> motion["In-between Motion"]
- Regression ๊ธฐ๋ฐ˜ ๊ธฐ์กด ๋ชจ๋ธ์€ ์งง์€ ๊ฑฐ๋ฆฌ ์ด๋™์„ ๋น„๋กฏํ•œ ํŠน์ • ์กฐ๊ฑด์—์„œ ํ’ˆ์งˆ์ด ๋ฌด๋„ˆ์ง€๋Š” failure case๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. (Media 2) - Pretrained diffusion model์˜ ์ƒ˜ํ”Œ๋ง ๊ณผ์ •์—์„œ ==๋…ธ์ด์ฆˆ๋ฅผ ์ตœ์ ํ™”==ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ in-betweening ํ’ˆ์งˆ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. - ์ง€์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ denoising์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์›๋ณธ intro/outro ์ •๋ณด์™€์˜ MSE loss๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. - Diffusion prior๋ฅผ ํ™œ์šฉํ•ด ๊ธฐ์กด regression baseline๋ณด๋‹ค ==์ž์—ฐ์Šค๋Ÿฌ์šด ์ „ํ™˜ ๋ชจ์…˜==์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. - ๋‹ค์–‘ํ•œ ์ด๋™ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋„ intro/outro ๋ชจ์…˜์„ ๋ณด์กดํ•˜๋ฉฐ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ „ํ™˜ ๋ชจ์…˜์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. (Media 3) - ๋‹จ๊ฑฐ๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•  ๋•Œ '์ด๋™ํ•˜์ง€ ์•Š๋Š” ๋ฐฉํ–ฅ์œผ๋กœ' in-betweening ๋ชจ์…˜์ด ์ตœ์ ํ™”๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ, ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ==์ถฉ๋ถ„ํ•œ ์ตœ์ ํ™” step==์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. - ์„ฑ๋Šฅ๊ณผ ์†๋„ ๊ฐ„ trade-off๋ฅผ ๊ณ ๋ คํ•ด optimize step 400์„ ์ ์šฉํ–ˆ๊ณ , ์ƒ˜ํ”Œ 1๊ฐœ๋‹น ==์•ฝ 30์ดˆ==๊ฐ€ ์†Œ์š”๋์Šต๋‹ˆ๋‹ค. - Backpropagation ์—ฐ์‚ฐ์ด ํฌํ•จ๋˜์–ด ONNX ์ถ”๋ก  ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์–ด๋ ค์› ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐฐํฌ ์ „๋žต์„ TorchServe ๊ธฐ๋ฐ˜ ==API ์„œ๋น™==์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.