๐DeFM ๋ฆฌ๋ทฐ
๐ Ping. ๐ Ring. โ๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.
- ๐ค DeFM์ ๋ก๋ด ๊ณตํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ํ๋ ์ด์ ๋ 6์ฒ๋ง ๊ฐ์ depth ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์์ DINOv2 ์คํ์ผ์ self-distillation์ ์ฌ์ฉํ์ฌ ์ฌ์ ํ์ต๋ ์ต์ด์ depth ์ ์ฉ foundation model์ ๋๋ค.
- โจ ์ด ๋ชจ๋ธ์ metric awareness๋ฅผ ๋ณด์กดํ๋ ์๋ก์ด 3์ฑ๋ input normalization ์ ๋ต์ ๋์ ํ์ผ๋ฉฐ, ํจ์จ์ ์ธ ๋ก๋ด ๋ฐฐํฌ๋ฅผ ์ํด ViT-S ๋ฐ CNN๊ณผ ๊ฐ์ ์ํ ๋ชจ๋ธ๋ก๋ distillation๋์์ต๋๋ค.
- ๐ DeFM์ classification, semantic segmentation, ๊ทธ๋ฆฌ๊ณ navigation, manipulation, locomotion๊ณผ ๊ฐ์ ๋ค์ํ ๋ก๋ด task์์ SOTA ์ฑ๋ฅ์ ๋ฌ์ฑํ์ผ๋ฉฐ, ๊ฐ๋ ฅํ sim-to-real transfer ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๋ณธ ๋ ผ๋ฌธ์ ๋ก๋ด ๊ณตํ ๋ถ์ผ์์ Depth ์ด๋ฏธ์ง์ ์ค์์ฑ์๋ ๋ถ๊ตฌํ๊ณ , ํด๋น ๋ชจ๋ฌ๋ฆฌํฐ์ ํนํ๋ ๋๊ท๋ชจ ์ผ๋ฐ ๋ชฉ์ ์ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ(Foundation Model, FM)์ด ๋ถ์ฌํ๋ค๋ ๋ฌธ์ ์ ์ ์ง์ ํ๋ค. ๊ธฐ์กด์ ์ ๊ทผ ๋ฐฉ์๋ค์ RGB ์ฌ์ ํ์ต ๋ชจ๋ธ์ Depth ์ด๋ฏธ์ง์ ์ฌํ์ฉํ๊ฑฐ๋ ํ์คํฌ๋ณ(task-specific)๋ก ์ธ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ํ์ต์์ผ ๋ถํฌ ๋ถ์ผ์น(distribution mismatch) ๋ฐ ์ผ๋ฐํ(generalization) ์ฑ๋ฅ ์ ํ์ ๊ฐ์ ํ๊ณ๋ฅผ ๋ณด์๋ค. ์ด๋ฌํ ๊ฐ๊ทน์ ๋ฉ์ฐ๊ธฐ ์ํด ๋ณธ ๋ ผ๋ฌธ์ DeFM(Depth Foundation Model)์ ์ ์ํ๋ค. DeFM์ 6,040๋ง ๊ฐ์ Depth ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑ๋ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ์ฌ DINOv2 ์คํ์ผ์ ์๊ธฐ ์ง๋ ํ์ต(self-supervised learning) ๋ฐฉ์์ผ๋ก ํ์ต๋ Depth ์ ์ฉ FM์ด๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก :
DeFM์ DINOv2 ํ๋ ์์ํฌ๋ฅผ Depth ๋ชจ๋ฌ๋ฆฌํฐ์ ๋ง๊ฒ ์กฐ์ ํ์ฌ ํ์ฉํ๋ค. ์ด๋ ํ์ ๋คํธ์ํฌ(f_s)๊ฐ ๋ชจ๋ฉํ (momentum) ์ ๋ฐ์ดํธ๋๋ ๊ต์ฌ ๋คํธ์ํฌ(f_t)์ ์ถ๋ ฅ ๋ถํฌ๋ฅผ ์์ธกํ๋๋ก ์ต์ ํ๋๋ ์๊ธฐ ์ฆ๋ฅ(self-distillation) ๋ฐฉ์์ ๋ฐ๋ฅธ๋ค. ์ ๋ ฅ Depth ์ด๋ฏธ์ง x์ ๋ํด, ๋ค์ํ ๊ธฐํํ์ (geometric) ๋ฐ ์ธก๊ดํ์ (photometric) ์ฆ๊ฐ์ด ์ ์ฉ๋ G๊ฐ์ ๋๊ท๋ชจ ๊ธ๋ก๋ฒ ํฌ๋กญ(x_g)๊ณผ L๊ฐ์ ์๊ท๋ชจ ๋ก์ปฌ ํฌ๋กญ(x_l)์ ์ค๋นํ๋ค. ๊ต์ฌ ๋คํธ์ํฌ๋ ๊ธ๋ก๋ฒ ํฌ๋กญ์ ์ฒ๋ฆฌํ์ฌ ๋ชฉํ ๋ถํฌ p_t๋ฅผ ์์ฑํ๊ณ , ํ์ ๋คํธ์ํฌ๋ ๋ก์ปฌ ํฌ๋กญ ๋ฐ ๋ถ๋ถ์ ์ผ๋ก ๋ง์คํน๋ ๊ธ๋ก๋ฒ ํฌ๋กญ(x'_g)์ ์ฒ๋ฆฌํ๋ค. ํ์ต์๋ ๋ค์ ์ธ ๊ฐ์ง ์ฃผ์ ์์ค ํจ์๊ฐ ์ฌ์ฉ๋๋ค:
- DINO ๊ธ๋ก๋ฒ ํฌ๋กญ ์์ค(\mathcal{L}_{Global}): ํ์ ๋คํธ์ํฌ์ ๋ถ๋ถ์ ์ผ๋ก ๋ง์คํน๋ ๊ธ๋ก๋ฒ ํฌ๋กญ(x'_g) ํํ๊ณผ ๊ต์ฌ ๋คํธ์ํฌ์ ๋ง์คํน๋์ง ์์ ๊ธ๋ก๋ฒ ํฌ๋กญ(x_g) ํํ์ ์ ๋ ฌํ๋ค. ์ด๋ Vision Transformer(ViT)์ ํด๋์ค ํ ํฐ(
clstoken) ํผ์ฒ์ ๋ํด ๊ณ์ฐ๋๋ DINO ์์ค์ด๋ค: \mathcal{L}_{Global} = \sum_{i=1}^G \sum_{j=1, j \neq i}^G \mathcal{L}_{DINO}(f_s(x'_{g_i}), f_t(x_{g_j})) - DINO ๋ก์ปฌ ํฌ๋กญ ์์ค(\mathcal{L}_{Local}): ํ์ ๋คํธ์ํฌ์ ๋ก์ปฌ ํฌ๋กญ(x_l) ํํ๊ณผ ๊ต์ฌ ๋คํธ์ํฌ์ ๊ธ๋ก๋ฒ ํฌ๋กญ(x_g) ํํ์ ์ ๋ ฌํ๋ค. ์ด ์ญ์
clsํ ํฐ ๊ฐ์ ๊ณ์ฐ๋๋ค: \mathcal{L}_{Local} = \sum_{g=1}^G \sum_{l=1}^L \mathcal{L}_{DINO}(f_s(x_l), f_t(x_g)) - iBOT ํจ์น ์์ค(\mathcal{L}_{iBOT}): ๋ฐ์ง ๊ณต๊ฐ ํผ์ฒ(dense spatial features) ํ์ต์ ํ์์ ์ด๋ค. ๋๋คํ๊ฒ ๋ง์คํน๋ ์ ๋ ฅ ํจ์น์ ๋ํด ํ์์ ํผ์ฒ ์์ธก(p_{s_i})๊ณผ ๊ต์ฌ์ ํด๋น ํจ์น ๋ชฉํ ๋ถํฌ(p_{t_i}) ๊ฐ์ ๊ต์ฐจ ์ํธ๋กํผ ์์ค(cross-entropy loss)์ ์ ์ฉํ๋ค: \mathcal{L}_{iBOT} = - \sum_{i \in \text{masked}} p_{t_i} \log p_{s_i}
์ ์ฒด ์์ค์ ์ด ์ธ ํญ์ ๊ฐ์ค์น ํฉ๊ณผ ํผ์ฒ ๊ณต๊ฐ ๋ถ๊ดด๋ฅผ ๋ฐฉ์งํ๋ KoLeo ์ ๊ทํ(regularizer)๋ก ๊ตฌ์ฑ๋๋ค.
DeFM ํ์ต์ ์ํ ๋ฐ์ดํฐ์ ์ ์ด 6,040๋ง ๊ฐ์ Depth ์ด๋ฏธ์ง๋ก, ๋จ์ Depth ์ถ์ (Monocular Depth Estimation, MDE)์ ํตํด RGB ๋ฐ์ดํฐ์ ์ ๋ณํํ ์ด๋ฏธ์ง, ์๋ฎฌ๋ ์ด์ (Synthetic) ๋ฐ์ดํฐ, ๊ทธ๋ฆฌ๊ณ ์ค์ (Real) ์ผ์ ๋ฐ์ดํฐ๋ฅผ ํผํฉํ์ฌ ๊ตฌ์ฑ๋์๋ค. ์ด๋ Depth ๋ฐ์ดํฐ์ ๋ค์์ฑ, ๊ท๋ชจ, ๋ ธ์ด์ฆ ํน์ฑ์ ๋ชจ๋ ํฌ๊ดํ์ฌ ์ธ์ฝ๋๊ฐ ๊ด๋ฒ์ํ ํ๊ฒฝ์์ ๊ฐ๊ฑดํ๊ฒ ์ผ๋ฐํ๋ ์ ์๋๋ก ํ๋ค.
ํนํ, Depth ์ด๋ฏธ์ง์ ๋์ ์ค์ผ์ผ ๋ฒ์(๋ฐ๋ฆฌ๋ฏธํฐ์์ ์๋ฐฑ ๋ฏธํฐ)๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์๋ก์ด ์ ๋ ฅ ์ ๊ทํ ์ ๋ต์ด ๋์ ๋์๋ค. ๊ทผ๊ฑฐ๋ฆฌ Depth ๋ณํ๊ฐ ๋ก๋ด ์์ฌ๊ฒฐ์ ์ ๋ ์ค์ํจ์ ๊ณ ๋ คํ์ฌ, ๋ค์ ์ธ ๊ฐ์ ์ฑ๋๋ก ๊ตฌ์ฑ๋ ๋ก๊ทธ ์์ถ Depth ํํ์ ์ฌ์ฉํ๋ค:
๊ธ๋ก๋ฒ ๋ก๊ทธ ์ค์ผ์ผ Depth(C_1): ํ์ฌ ์ด๋ฏธ์ง ๋ด์ ์ต์(D_{min}) ๋ฐ ์ต๋ Depth(D_{max})๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ์์ถ Depth๋ฅผ ์ ๊ทํํ์ฌ ์๋์ ์ธ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ๋ณด์กดํ๋ค. ๋ก๊ทธ ๋ณํ์ \text{logp}(D) = \log(1+D)๋ก ์ ์๋๋ค: C_1 = \frac{\log p(D) - \log p(D_{\min})}{\log p(D_{\max}) - \log p(D_{\min})}
์ค๊ฐ ๋ฒ์ ์ ๊ทํ(C_2): ์กฐ์ ๋ฐ ์ค๋ด ์ํธ์์ฉ์ ๊ฐ์ฅ ์ ํฉํ Depth ๋ฒ์๋ฅผ ๊ฐ์กฐํ๋ค: C_2 = \frac{\log p(D)}{\log p(10)}
์๊ฑฐ๋ฆฌ ๋ฒ์ ์ ๊ทํ(C_3): ์ฅ๊ฑฐ๋ฆฌ ๋ด๋น๊ฒ์ด์ ๋ฐ ์ค์ธ ์ฅ๋ฉด์ ์ ํฉํ Depth ๋ฒ์๋ฅผ ๊ฐ์กฐํ๋ค: C_3 = \frac{\log p(D)}{\log p(100)}
์ต์ข ์ ๋ ฅ์ X_{in} = [C_1, C_2, C_3]์ ๊ฐ์ด ์ธ ์ฑ๋์ ์์ ๊ตฌ์ฑ๋๋ฉฐ, ์ ์ญ ํ๊ท ๋ฐ ํ์ค ํธ์ฐจ ์ ๊ทํ๊ฐ ์ ์ฉ๋๋ค. ์ด ๋ฐฉ์์ ์ ์ญ ๋ฉํธ๋ฆญ Depth๋ฅผ ๋ณด์กดํ๋ฉด์ ๋ฏธ์ธํ ๊ทผ๊ฑฐ๋ฆฌ ๊ตฌ์กฐ์ ์์ ์ ์ธ ๊ทธ๋๋์ธํธ๋ฅผ ์ ์งํ๋ค.
DeFM์ ๊ฐ์ฅ ํฐ ๋ชจ๋ธ์ธ ViT-L/14(3์ต 7๋ฐฑ๋ง ๋งค๊ฐ๋ณ์)๋ FSDP(Fully-Sharded Data Parallel) ๊ตฌํ์ ์ฌ์ฉํ์ฌ ํ์ต๋์๋ค. ๋ก๋ด ์์คํ ์ ์์ ์ ์ฝ์ ๊ณ ๋ คํ์ฌ, DeFM-L/14๋ฅผ ๊ต์ฌ ๋ชจ๋ธ๋ก ์ฌ์ฉํ์ฌ ViT-S, ResNet, RegNet, EfficientNet ๋ฑ 3๋ฐฑ๋ง~3์ฒ๋ง ๋งค๊ฐ๋ณ์์ ์ํ ๋ชจ๋ธ๋ก ์ง์ ์ฆ๋ฅ(knowledge distillation)๋ฅผ ์ํํ๋ค. ํนํ, CNN ํ์ ๋ชจ๋ธ์ด ViT ๊ต์ฌ์ ๋ฐ์ง ๊ณต๊ฐ ํผ์ฒ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ ์ ์๋๋ก BiFPN(Bi-directional Feature Pyramid Network)์ CNN ์ธ์ฝ๋ ์์ ์ถ๊ฐํ์ฌ ๋ค์ํ ํด์๋์ ํผ์ฒ ๋งต์ ์ตํฉํ๋๋ก ์ค๊ณํ๋ค.
์คํ ๊ฒฐ๊ณผ:
DeFM์ ๊ฐ๊ฑด์ฑ๊ณผ ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ๊ด๋ฒ์ํ ์คํ์ ํตํด ์ ์ฆ๋์๋ค.
- ์ ์ฑ์ ํ๊ฐ: PCA(Principal Component Analysis)๋ฅผ ํตํด DeFM-L/14 ์ธ์ฝ๋๊ฐ ์ถ์ถํ ํผ์ฒ๊ฐ ์ง๊ฐ์ด๋ ์์ ์ ๋ณด ์์ด๋ Depth ์ด๋ฏธ์ง์์ ์๋ฏธ๋ก ์ ํด๋ฌ์คํฐ๋ง(์: ์ปต ์์ก์ด)์ ํ์ฑํจ์ ๋ณด์ฌ์ฃผ์๋ค. ์ด๋ ๋ค์ํ ์ผ์ ๋ชจ๋ฌ๋ฆฌํฐ์ ๊ฑธ์ณ ์ผ๊ด์ฑ์ ๋ณด์ด๋ฉฐ, ๋ก๋ด ์กฐ์์ ์ ์ฉํ ์ฌ์ ์ง์์ ํ์ตํ์์ ์์ฌํ๋ค.
- ๋ถ๋ฅ(Classification): ImageNet-Depth-1K ๋ฒค์น๋งํฌ(MDE๋ฅผ ํตํด ์์ฑ)์์ DeFM-L/14๋ ๊ธฐ์กด์ ์ต์ฒจ๋จ RGB ๊ธฐ๋ฐ FM(DINOv2, DINOv3, C-RADIOv3)์ ๋ฅ๊ฐํ๋ SOTA ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ค. ํนํ DeFM-S/14๋ ๋์ผ ํฌ๊ธฐ ๋ฒ์ฃผ์ ๊ธฐ์กด ๋ชจ๋ธ ๋๋น ์ต๋ 10%๊น์ง ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์๋ค. ์ฆ๋ฅ๋ ์ํ CNN ๋ชจ๋ธ๋ค๋ ์ผ๋ถ ๋ ํฐ RGB ViT-S ๊ธฐ๋ฐ ๋ชจ๋ธ๋ณด๋ค ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์๋ค.
- ์๋ฏธ๋ก ์ ๋ถํ (Semantic Segmentation): ScanNet, SUN-RGBD(์ค๋ด), OFFSED, TartanGround(์ค์ธ), GraspNet-1B(์กฐ์) ๋ฑ ๋ค์ํ Depth ๋ฐ์ดํฐ์ ์์ DeFM์ ๊ธฐ์กด ๋ฒ ์ด์ค๋ผ์ธ์ ๋๋ถ๋ถ ๋ฅ๊ฐํ๋ ๊ฐ๊ฑดํ ์ผ๋ฐํ ์ฑ๋ฅ์ ์ ์ฆํ๋ค (ViT-S์์ mIoU ์ต๋ 30% ํฅ์).
- ๋ก๋ด ๊ณตํ ์์ฉ:
- ๋ด๋น๊ฒ์ด์ (Habitat Point-Goal Nav): DeFM ๊ธฐ๋ฐ ๋ชจ๋ธ(DeFM-S/14, DeFM-ResNet-50)์ ๊ธฐ์กด์ ์คํฌ๋์น ํ์ต๋ ResNet-50๊ณผ ๊ฒฝ์ํ๊ฑฐ๋ ๋ ์ฐ์ํ SPL(Success weighted by Path Length) ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, DeFM์ ์ฆ๊ฐ์ ์ธ ํ์ฉ์ฑ์ ์ ์ฆํ๋ค.
- ๋ด๋น๊ฒ์ด์ (Embodiment Aware Point-Goal Nav - Unitree B2W): Unitree B2W ๋ก๋ด์ ์ฌ์ฉํ ์ค์ ์ฅ๊ฑฐ๋ฆฌ ๋ด๋น๊ฒ์ด์ ํ์คํฌ์์ DeFM ์ธ์ฝ๋ ๊ธฐ๋ฐ ์ ์ฑ ์ VAE(Variational Auto Encoder) ๊ธฐ๋ฐ ๋ฒ ์ด์ค๋ผ์ธ๋ณด๋ค ๋์ ์ฑ๊ณต๋ฅ (SR)์ ๋ฌ์ฑํ๋ค. ํนํ DeFM์ OOD(Out-of-Distribution) ์ฅ์ ๋ฌผ์ ๋ํ ๋ฐ์ด๋ ์ธ์๊ณผ ํํผ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ์ด๋ ๋ ๋์ ๊ธฐํํ์ ๋ฐ ์๋ฏธ๋ก ์ ํ๊ฒฝ ์ดํด ๋๋ถ์ผ๋ก ๋ถ์๋๋ค. ๋ค์ํ ์ค์ ํ๊ฒฝ์์์ ๊ฐ๊ฑดํ sim-to-real ์ ์ด๊ฐ ์์ฐ๋์๋ค.
- ์กฐ์(Dexterous Grasping - KUKA-Allegro): Teacher-student ํ๋ จ ํจ๋ฌ๋ค์์ ์ฌ์ฉํ ์ ๊ตํ ๋ก๋ด ํ-์ ๊ทธ๋ฆฝ ํ์คํฌ์์ DeFM ๋ชจ๋ธ(ํนํ ๋ฏธ์ธ ์กฐ์ ๋ ๋ฒ์ )์ ๊ฐ์ฅ ๋์ ์ฑ๊ณต๋ฅ ์ ๊ธฐ๋กํ์ผ๋ฉฐ, ๋ค์ํ ๋ ธ์ด์ฆ ๋ชจ๋ธ์ ๋ํ ๊ฐ๊ฑด์ฑ์ ์ ์ฆํ๋ค.
- ์ด๋(Locomotion - Quadrupedal Ladder Climbing - ANYmal): ์ฌ์กฑ ๋ณดํ ๋ก๋ด์ ์ฌ๋ค๋ฆฌ ์ค๋ฅด๊ธฐ ํ์คํฌ์์ DeFM ๊ธฐ๋ฐ ์ธ์ฝ๋๋ ์คํฌ๋์น ํ์ต๋ CNN ๋ฒ ์ด์ค๋ผ์ธ๊ณผ ์ ์ฌํ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ฉด์๋ ํจ์ฌ ์ ์ ๊ณ์ฐ ๋ฆฌ์์ค๋ฅผ ์๊ตฌํ๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, DeFM์ Depth ์ด๋ฏธ์ง๋ฅผ ์ํ ์ต์ด์ ๋๊ท๋ชจ ์๊ธฐ ์ง๋ ํ์ต ํ์ด๋ฐ์ด์ ๋ชจ๋ธ๋ก์, ๊ฐ๊ฑดํ๊ณ ์ผ๋ฐํ ๊ฐ๋ฅํ ๊ธฐํํ์ ๋ฐ ์๋ฏธ๋ก ์ ํผ์ฒ๋ฅผ ํ์ตํ๋ค. ์ด๋ ๋ถ๋ฅ, ๋ถํ , ๋ด๋น๊ฒ์ด์ , ์ด๋, ์กฐ์ ๋ฑ ๊ด๋ฒ์ํ ๋ก๋ด ์ธ์ ๋ฐ ์ ์ด ํ์คํฌ์ ์ฆ์ ํ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ๋ค์ํ ์ค์ ํ๊ฒฝ์์์ ๊ฐ๊ฑดํ sim-to-real ์ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ํนํ, ํจ์จ์ฑ์ ์ํด ์ฆ๋ฅ๋ ์ํ ๋ชจ๋ธ๋ค์ ์์ ์ ์ฝ์ ์ธ ๋ก๋ด ์์คํ ์ ํจ๊ณผ์ ์ผ๋ก ๋ฐฐํฌ๋ ์ ์์์ ๋ณด์ฌ์ค๋ค. ํฅํ ์ฐ๊ตฌ๋ก๋ ViT ์ํคํ ์ฒ์ ์ํฐํฉํธ ์ํ, ํ์คํฌ ๋ค์์ฑ ํ์ฅ, LiDAR ๋ฐ์ดํฐ๋ก์ ์ ์ฉ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ์ ๋ฐ ๋ชจ๋ธ ์ค์ผ์ผ์ ์ง์์ ์ธ ํ์ฅ์ด ์ ์๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
โ๏ธ Dig Review
โ๏ธ Dig โ Go deep, uncover the layers. Dive into technical detail.