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 ์๋น==์ผ๋ก ์ ํํ์ต๋๋ค.