flowchart TB
subgraph Dataset["๐๏ธ ๋ฐ์ดํฐ์
๊ตฌ์ถ (60M ๊น์ด ์์)"]
A1[์๋ฎฌ๋ ์ด์
๋ฐ์ดํฐ] --> A3[ํ๋ ์ด์
๋ ๋ฐ์ดํฐ์
]
A2[์ค์ ์ผ์ ๋ฐ์ดํฐ] --> A3
end
subgraph Training["๐ Self-Distillation ํ์ต"]
B1[Teacher ViT-L/14] --> B2[Student ViT-L/14]
B2 --> B1
B3[DINO Loss + iBOT Loss]
end
subgraph Distillation["๐ฆ ๋ชจ๋ธ ์ฆ๋ฅ"]
C1[DeFM ViT-L 307M] --> C2[ViT-S 22M]
C1 --> C3[ResNet-18~50]
C1 --> C4[EfficientNet B0~B6]
C1 --> C5[RegNet 4~12M]
end
subgraph Applications["๐ค ๋ก๋ด๊ณตํ ์์ฉ"]
D1[๋ด๋น๊ฒ์ด์
]
D2[๋งค๋ํฐ๋ ์ด์
]
D3[๋ก์ฝ๋ชจ์
]
D4[์ธ๊ทธ๋ฉํ
์ด์
]
end
A3 --> Training
Training --> Distillation
Distillation --> Applications
๐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.
์๋ก : ์ ๊น์ด ์์์ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ด ํ์ํ๊ฐ?
๋ฌธ์ ์ ๋ณธ์ง
๋ก๋ด๊ณตํ์์ ๊น์ด ์ผ์(Depth Sensor)๋ ๋ง์น ๊ณต๊ธฐ์ฒ๋ผ ๋น์ฐํ๊ฒ ์ฌ๊ฒจ์ง๋ ์กด์ฌ์ ๋๋ค. Intel RealSense, ZED ์นด๋ฉ๋ผ, LiDAR ๋ฑ ๋ค์ํ ํํ๋ก ๊ฑฐ์ ๋ชจ๋ ๋ก๋ด ํ๋ซํผ์ ํ์ฌ๋์ด ์์ฃ . ๊ทธ๋ฐ๋ฐ ํ ๊ฐ์ง ์ฌ๋ฏธ์๋ ์ฌ์ค์ด ์์ต๋๋ค. RGB ์ด๋ฏธ์ง ๋ถ์ผ์์๋ DINOv2, CLIP, SAM ๊ฐ์ ๊ฑฐ๋ํ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ๋ค์ด ์ปดํจํฐ ๋น์ ์ ํ๋๋ฅผ ๋ฐ๊พธ๊ณ ์๋๋ฐ, ์ ์ ๊น์ด ์์๋ง์ ์ํ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ ์กด์ฌํ์ง ์์๋ค๋ ๊ฒ์ ๋๋ค.
์ ์ด๊ฒ์ด ๋ฌธ์ ์ผ๊น์? ํ์ฌ ๋๋ถ๋ถ์ ๊น์ด ๊ธฐ๋ฐ ๋ก๋ด ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค:
- ์ฒ์๋ถํฐ ํ์ต: ๋งค๋ฒ ์๋ก์ด ํ์คํฌ๋ฅผ ์ํด ์ธ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ํ์ต
- ํ์คํฌ ํนํ: ๋ด๋น๊ฒ์ด์ ์ฉ ์ธ์ฝ๋, ๋งค๋ํฐ๋ ์ด์ ์ฉ ์ธ์ฝ๋, ๋ก์ฝ๋ชจ์ ์ฉ ์ธ์ฝ๋๊ฐ ๊ฐ๊ฐ ๋ณ๊ฐ
- RGB ๋ชจ๋ธ ์ฐจ์ฉ: DINOv2 ๊ฐ์ RGB ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ ๊น์ด ์์์ ๊ทธ๋๋ก ์ ์ฉ (๋๋ฉ์ธ ๋ถ์ผ์น ๋ฐ์)
์ด๊ฑด ๋ง์น ์์ด ์์ด๋ฏผ์๊ฒ ํ๊ตญ์ด ๋ฌธ์๋ฅผ ๋ฒ์ญ์ํค๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์๋์ ํ๊ฒ ์ง๋ง, ํ๊ตญ์ด์ ๋์์ค๋ฅผ ์ ๋๋ก ์ด๋ฆฌ๊ธฐ๋ ์ด๋ ต์ฃ .
DeFM์ ๋ฑ์ฅ
ETH Zurich์ Robotic Systems Lab(RSL)์์ ์ด ๋ฌธ์ ์ ์ ๋ฉด์ผ๋ก ๋์ ํ์ต๋๋ค. DeFM(Depth Foundation Model)์ 6์ฒ๋ง ์ฅ์ ๊น์ด ์์์ผ๋ก ์ฌ์ ํ์ต๋, ๋ก๋ด๊ณตํ์ ์ํ ์ต์ด์ ๊น์ด ์ ์ฉ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ ๋๋ค.
โTL;DR - A DINO-style encoder, but for depth image inputs.โ
โ DeFM GitHub README
ํต์ฌ ์์ด๋์ด๋ ๋จ์ํ๋ฉด์๋ ๊ฐ๋ ฅํฉ๋๋ค: RGB์์ ์๋ํ๋ ์๊ธฐ์ง๋ํ์ต(Self-supervised Learning)์ ์ค์ผ์ผ๋ง ๋ฒ์น์ด ๊น์ด ๋ชจ๋ฌ๋ฆฌํฐ์๋ ์ ์ฉ๋ ๊ฒ์ด๋ผ๋ ๊ฐ์ค์ ๋๋ค.
์ฐ๊ตฌ ๊ธฐ์ฌ ์์ฝ
DeFM์ ์ฃผ์ ๊ธฐ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
| ๊ธฐ์ฌ | ์ค๋ช |
|---|---|
| ์ต์ด์ ๊น์ด ํ์ด๋ฐ์ด์ ๋ชจ๋ธ | 60M ๊น์ด ์์์ผ๋ก ํ์ต๋ ๋๊ท๋ชจ ์ฌ์ ํ์ต ๋ชจ๋ธ |
| Metric-Aware ์ ๊ทํ | ๋ฐ๋ฆฌ๋ฏธํฐ๋ถํฐ 100๋ฏธํฐ๊น์ง์ ์ค์ผ์ผ์ ๋ณด์กดํ๋ ์๋ก์ด ์ ๋ ฅ ์ ๊ทํ |
| ํจ์จ์ ์ธ ๋ชจ๋ธ ์ฆ๋ฅ | 307M โ 3M ํ๋ผ๋ฏธํฐ๊น์ง ๋ค์ํ ํฌ๊ธฐ์ ๋ชจ๋ธ ์ ๊ณต |
| ๋ฒ์ฉ ๋ก๋ด๊ณตํ ๋ฒค์น๋งํฌ | ๋ถ๋ฅ, ์ธ๊ทธ๋ฉํ ์ด์ , ๋ด๋น๊ฒ์ด์ , ๋งค๋ํฐ๋ ์ด์ , ๋ก์ฝ๋ชจ์ ์์ SOTA |
๋ฐฉ๋ฒ๋ก : DeFM์ ์ด๋ป๊ฒ ๊น์ด๋ฅผ ์ดํดํ๋๊ฐ?
Self-Distillation: ์ค์ค๋ก๋ฅผ ๊ฐ๋ฅด์น๋ ํ์ต
DeFM์ ํต์ฌ ํ์ต ๋ฐฉ๋ฒ์ DINOv2 ์คํ์ผ์ Self-Distillation์ ๋๋ค. ์ด ์์ด๋์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด ๊ฐ๋จํ ๋น์ ๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
์์ํด๋ณด์ธ์. ๋น์ ์ด ๋ฏธ์ ์ ์๋(Teacher)์ด๋ฉด์ ๋์์ ํ์(Student)์ ๋๋ค. ํ๋์ ํ๊ฒฝ์ ๋ค์ํ ๊ฐ๋์ ํฌ๊ธฐ๋ก ์ค์ผ์นํ ํ, ์ ์๋์ผ๋ก์์ ์์ ์ด ํ์์ผ๋ก์์ ์์ ์๊ฒ โ์ด ๋ค์ํ ์ค์ผ์น๋ค์ด ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ์ ํํํ๊ณ ์๋คโ๋ ๊ฒ์ ๊ฐ๋ฅด์นฉ๋๋ค. ๋ผ๋ฒจ์ด ์ ํ ์์ด๋, ์๊ธฐ ์์ ๊ณผ์ ๋ํ๋ฅผ ํตํด ํ๊ฒฝ์ ๋ณธ์ง์ ์ดํดํ๊ฒ ๋๋ ๊ฒ์ด์ฃ .
ํ์ต ํ๋ ์์ํฌ์ ๊ตฌ์กฐ
flowchart LR
subgraph Input["์
๋ ฅ ์ด๋ฏธ์ง"]
I[๊น์ด ์์]
end
subgraph Augment["๋ฐ์ดํฐ ์ฆ๊ฐ"]
I --> G1[Global Crop 1]
I --> G2[Global Crop 2]
I --> L1[Local Crop 1]
I --> L2[Local Crop 2]
end
subgraph Teacher["Teacher Network<br/>(Momentum Update)"]
G1 --> T[ViT-L/14]
G2 --> T
end
subgraph Student["Student Network<br/>(Gradient Update)"]
G1 --> S[ViT-L/14]
G2 --> S
L1 --> S
L2 --> S
end
subgraph Loss["์์ค ํจ์"]
T --> DINO[DINO Loss]
S --> DINO
T --> iBOT[iBOT Patch Loss]
S --> iBOT
end
ํ์ต ๊ณผ์ ์ ์์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
DINO Loss (์ ์ญ ์ผ๊ด์ฑ):
\mathcal{L}_{\text{DINO}} = -\sum_{x \in \{x_1^g, x_2^g\}} \sum_{x' \neq x} P_t(x) \log P_s(x')
์ฌ๊ธฐ์ P_t์ P_s๋ ๊ฐ๊ฐ Teacher์ Student์ ์ถ๋ ฅ ํ๋ฅ ๋ถํฌ์ ๋๋ค. ํต์ฌ์ Teacher์ ์ถ๋ ฅ์์ ๊ทธ๋๋์ธํธ๋ฅผ ํ๋ฆฌ์ง ์๋๋ค(stop-gradient)๋ ์ ์ ๋๋ค.
iBOT Loss (ํจ์น ์์ค ํ์ต):
\mathcal{L}_{\text{iBOT}} = -\sum_{i \in \mathcal{M}} P_t^{(i)} \log P_s^{(i)}
iBOT์ ๋ง์คํน๋ ํจ์น \mathcal{M}์ ๋ํด Teacher์ ํจ์น ํ ํฐ์ ์์ธกํ๋๋ก Student๋ฅผ ํ์ต์ํต๋๋ค. ์ด๋ฅผ ํตํด ์ง์ญ์ ์ธ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ฒ ๋ฉ๋๋ค.
Teacher ์ ๋ฐ์ดํธ (EMA):
\theta_t \leftarrow m \cdot \theta_t + (1-m) \cdot \theta_s
Teacher์ ํ๋ผ๋ฏธํฐ \theta_t๋ Student ํ๋ผ๋ฏธํฐ \theta_s์ ์ง์ ์ด๋ ํ๊ท (Exponential Moving Average)์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ๋ชจ๋ฉํ m์ ์ผ๋ฐ์ ์ผ๋ก 0.996~0.999 ๋ฒ์์ ๋๋ค.
Metric-Aware Input Normalization: ๊น์ด์ ์ฒ๋๋ฅผ ๋ณด์กดํ๋ค
DeFM์ ๊ฐ์ฅ ๋ ์ฐฝ์ ์ธ ๊ธฐ์ฌ ์ค ํ๋๋ 3์ฑ๋ ๋ก๊ทธ ์ ๊ทํ(Three-Channel Log Normalization) ์ ๋ต์ ๋๋ค.
์ ํน๋ณํ ์ ๊ทํ๊ฐ ํ์ํ๊ฐ?
๊น์ด ์์์ ๊ณ ์ ํ ํน์ฑ์ ์๊ฐํด๋ด ์๋ค:
- ์ค์ผ์ผ ๋ค์์ฑ: ๋งค๋ํฐ๋ ์ด์ ์์๋ ์ ์ผํฐ๋ฏธํฐ, ๋ด๋น๊ฒ์ด์ ์์๋ ์์ญ ๋ฏธํฐ์ ๊น์ด๋ฅผ ๋ค๋ฃน๋๋ค
- ๋์ ๋ฒ์: ๊ฐ๊น์ด ๋ฌผ์ฒด์ ๋จผ ๋ฌผ์ฒด์ ๊น์ด ์ฐจ์ด๊ฐ ๊ทน์ฌํฉ๋๋ค
- ๋ฉํธ๋ฆญ ์ ๋ณด: ์ค์ ๊ฑฐ๋ฆฌ ์ ๋ณด๊ฐ ๋ก๋ด ์ ์ด์ ํ์์ ์ ๋๋ค
์ผ๋ฐ์ ์ธ min-max ์ ๊ทํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
# ์ผ๋ฐ์ ์ธ min-max ์ ๊ทํ
normalized = (depth - depth.min()) / (depth.max() - depth.min())
์ด ๋ฐฉ์์ ๋ฌธ์ ์ ์ ๋ฉํธ๋ฆญ ์ ๋ณด๊ฐ ์์ ํ ์ฌ๋ผ์ง๋ค๋ ๊ฒ์ ๋๋ค. 1๋ฏธํฐ ๋ฒ์์ ๋งค๋ํฐ๋ ์ด์ ์ฌ๊ณผ 100๋ฏธํฐ ๋ฒ์์ ์ผ์ธ ์ฌ์ด ๋์ผํ [0, 1] ๋ฒ์๋ก ์์ถ๋ฉ๋๋ค.
DeFM์ ํด๊ฒฐ์ฑ : 3์ฑ๋ ๋ก๊ทธ ์์ถ
DeFM์ ์ธ ๊ฐ์ง ๋ค๋ฅธ ์ค์ผ์ผ์ ๋ก๊ทธ ์ ๊ทํ๋ฅผ ๊ฐ ์ฑ๋์ ์ ์ฉํฉ๋๋ค:
\text{Channel}_k(d) = \text{clip}\left(\frac{\log(d + \epsilon) - \log(d_{\min}^{(k)})}{\log(d_{\max}^{(k)}) - \log(d_{\min}^{(k)})}, 0, 1\right)
| ์ฑ๋ | ๋ฒ์ | ์ฉ๋ |
|---|---|---|
| ์ฑ๋ 1 (Near-field) | 0.01m ~ 1m | ๋งค๋ํฐ๋ ์ด์ , ๊ทผ๊ฑฐ๋ฆฌ ๊ฐ์ฒด |
| ์ฑ๋ 2 (Mid-range) | 0.1m ~ 10m | ์ค๋ด ๋ด๋น๊ฒ์ด์ , ๋ก์ฝ๋ชจ์ |
| ์ฑ๋ 3 (Far-field) | 1m ~ 100m | ์ผ์ธ ๋ด๋น๊ฒ์ด์ , ๋๊ท๋ชจ ํ๊ฒฝ |
# DeFM์ ๊น์ด ์ ์ฒ๋ฆฌ ์์ฌ์ฝ๋
def preprocess_depth_image(depth_meters, target_size=518, patch_size=14):
"""
๊น์ด ์์์ DeFM์ 3์ฑ๋ ๋ฉํธ๋ฆญ-์ธ์ ํ์์ผ๋ก ๋ณํ
Args:
depth_meters: ๋ฏธํฐ ๋จ์์ ๊น์ด ๋งต (H, W)
target_size: ์ถ๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ
patch_size: ViT ํจ์น ํฌ๊ธฐ
Returns:
normalized_depth: ์ ๊ทํ๋ 3์ฑ๋ ๊น์ด (3, H, W)
"""
# ์ค์ผ์ผ ์ ์ (๋ก๊ทธ ๊ณต๊ฐ)
scales = [
(0.01, 1.0), # Near-field: 1cm ~ 1m
(0.1, 10.0), # Mid-range: 10cm ~ 10m
(1.0, 100.0) # Far-field: 1m ~ 100m
]
channels = []
for d_min, d_max in scales:
log_depth = np.log(depth_meters + 1e-6)
log_min, log_max = np.log(d_min), np.log(d_max)
normalized = (log_depth - log_min) / (log_max - log_min)
normalized = np.clip(normalized, 0, 1)
channels.append(normalized)
return np.stack(channels, axis=0)์ด ์ ๊ทผ๋ฒ์ ์ฅ์ ์ ์๊ฐ์ ์ผ๋ก ์ดํดํด๋ด ์๋ค:
์ผ๋ฐ Min-Max ์ ๊ทํ:
Near objects โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ (์ ์ฒด ๋ฒ์์ ๋๋ถ๋ถ ์ฐจ์ง)
Far objects โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ (๊ฑฐ์ ๊ตฌ๋ถ ๋ถ๊ฐ)
๋ก๊ทธ ์ ๊ทํ (DeFM):
Near objects โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ (์ ์ ํ ๋น์จ)
Far objects โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ (์ถฉ๋ถํ ํด์๋)
๋ก๊ทธ ์ค์ผ์ผ์ ์ธ๊ฐ์ ๊น์ด ์ง๊ฐ๊ณผ๋ ์ ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์์๋ ์์ ์ฐจ์ด๋ฅผ ์ ๊ตฌ๋ถํ์ง๋ง, ๋จผ ๊ฑฐ๋ฆฌ์์๋ ํฐ ์ฐจ์ด๋ง ์ธ์ํ๋๊น์.
CNN์ผ๋ก์ ์ง์ ์ฆ๋ฅ: ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ์ ๊ท ํ
๋ก๋ด ์์คํ ์์ 307M ํ๋ผ๋ฏธํฐ์ ViT-L ๋ชจ๋ธ์ ์ค์๊ฐ์ผ๋ก ๋๋ฆฌ๋ ๊ฒ์ ํ์ค์ ์ผ๋ก ์ด๋ ต์ต๋๋ค. NVIDIA Jetson Orin์์ ViT-L/14์ ์ถ๋ก ์๊ฐ์ 72.82ms๋ก, ์ค์๊ฐ ์ ์ด์๋ ๋ถ์ ํฉํฉ๋๋ค.
DeFM์ ์ด ๋ฌธ์ ๋ฅผ Teacher-Student ์ฆ๋ฅ๋ก ํด๊ฒฐํฉ๋๋ค:
flowchart TB
subgraph Teacher["Teacher (Frozen)"]
T1[DeFM ViT-L/14] --> T2[Spatial Tokens]
T1 --> T3[Class Token]
end
subgraph Student["Student (Trainable)"]
S1[CNN Encoder<br/>ResNet/EfficientNet] --> S2[BiFPN Module]
S2 --> S3[Dense Features]
S1 --> S4[Global Pool]
end
subgraph Loss["์ฆ๋ฅ ์์ค"]
T2 --> L1[Spatial Distillation]
S3 --> L1
T3 --> L2[Global Distillation]
S4 --> L2
end
์ฆ๋ฅ ์์ค์ ๋ ๊ฐ์ง ๊ตฌ์ฑ์์๋ก ์ด๋ฃจ์ด์ง๋๋ค:
๊ณต๊ฐ์ ํ ํฐ ์ฆ๋ฅ: \mathcal{L}_{\text{spatial}} = \frac{1}{HW}\sum_{i,j} \|f_s^{(i,j)} - f_t^{(i,j)}\|_2
์ ์ญ ํ ํฐ ์ฆ๋ฅ: \mathcal{L}_{\text{global}} = \|g_s - g_t\|_2
์ด ์ฆ๋ฅ ์์ค: \mathcal{L}_{\text{distill}} = \lambda_s \mathcal{L}_{\text{spatial}} + \lambda_g \mathcal{L}_{\text{global}}
BiFPN(Bidirectional Feature Pyramid Network) ๋ชจ๋์ CNN์ ๋ค์ค ์ค์ผ์ผ ํน์ง์ Teacher ViT์ ๊ณต๊ฐ ํ ํฐ๊ณผ ์ ๋ ฌ์ํค๋ ์ญํ ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด 3M ํ๋ผ๋ฏธํฐ์ EfficientNet-B0๋ ViT-L์ ํํ๋ ฅ ์ผ๋ถ๋ฅผ ๋ฌผ๋ ค๋ฐ์ ์ ์์ต๋๋ค.
๋ชจ๋ธ Zoo: ๋ค์ํ ์ ํ์ง
DeFM์ ๋ค์ํ ๋ฐฐํฌ ์๋๋ฆฌ์ค๋ฅผ ์ํด ์ด 11๊ฐ์ ๋ชจ๋ธ ๋ณํ์ ์ ๊ณตํฉ๋๋ค:
| ๋ชจ๋ธ | ํ๋ผ๋ฏธํฐ | Jetson Orin (ms) | ImageNet-1k-Depth Top-5 KNN |
|---|---|---|---|
| DeFM ViT-L/14 | 307M | 72.82 | 84.79% |
| DeFM ViT-S/14 | 22.1M | 11.92 | 78.06% |
| DeFM ResNet-50 | 26.2M | 17.79 | 77.63% |
| DeFM ResNet-34 | 21.8M | 13.54 | 72.72% |
| DeFM ResNet-18 | 11.7M | 8.67 | 69.69% |
| DeFM EfficientNet-B6 | 29M | 54.11 | 77.81% |
| DeFM EfficientNet-B0 | 3M | 21.04 | 67.98% |
| DeFM RegNetY-1.6GF | 12.4M | 41.82 | 76.21% |
| DeFM RegNetY-400MF | 4.1M | 25.17 | 72.87% |
์ ํ ๊ฐ์ด๋:
- ์ต๊ณ ์ฑ๋ฅ: DeFM ViT-L/14 (์คํ๋ผ์ธ ๋ถ์, ๊ณ ์ฑ๋ฅ ์๋ฒ)
- ๊ท ํ์ : DeFM ResNet-50 ๋๋ EfficientNet-B4 (Jetson Orin๊ธ ์ฃ์ง ๋๋ฐ์ด์ค)
- ์ด๊ฒฝ๋: DeFM EfficientNet-B0 (์๋ฒ ๋๋ ์์คํ , ๋ฐฐํฐ๋ฆฌ ์ ํ ๋ก๋ด)
์คํ ๋ฐ ๊ฒฐ๊ณผ: DeFM์ ์ ๋ง ์๋ํ๋๊ฐ?
๋ฐ์ดํฐ์ : 6์ฒ๋ง ๊น์ด ์์์ ๊ตฌ์ฑ
DeFM์ ํ์ต์๋ ๋ค์ํ ์์ค์์ ํ๋ ์ด์ ๋ 60M ๊น์ด ์์์ด ์ฌ์ฉ๋์์ต๋๋ค:
pie title ๋ฐ์ดํฐ์
์์ค ๋ถํฌ (์ถ์ )
"TartanAir (์๋ฎฌ๋ ์ด์
)" : 35
"Hypersim (์๋ฎฌ๋ ์ด์
)" : 20
"ScanNet (์ค์ )" : 15
"Isaac Sim ์ปค์คํ
" : 20
"๊ธฐํ ์์ค" : 10
์ฃผ๋ชฉํ ์ ์ ์๋ฎฌ๋ ์ด์ ๋ฐ์ดํฐ์ ๋น์ค์ด ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊น์ด ์์์ ๊ณ ์ ํ ํน์ฑ ๋๋ถ์ ๊ฐ๋ฅํฉ๋๋ค:
- ์ง๊ฐ ๋ถ๋ณ์ฑ: RGB์ ๋ฌ๋ฆฌ ๊น์ด๋ ์ง๊ฐ์ ์์กดํ์ง ์์ ์๋ฎฌ๋ ์ด์ -์ค์ ๊ฐ๊ทน์ด ์ ์
- ์ ํํ GT: ์๋ฎฌ๋ ์ด์ ์์ ์๋ฒฝํ ๊น์ด ๋ผ๋ฒจ์ ์ป์ ์ ์์
- ๋ค์ํ ํ๊ฒฝ: ์ค์ ๋ก ์ ๊ทผ ๋ถ๊ฐ๋ฅํ ํ๊ฒฝ(์ฌ๋ค๋ฆฌ ๋ฑ๋ฐ, ์ํ ์ง์ญ)๋ ์๋ฎฌ๋ ์ด์ ๊ฐ๋ฅ
์๋ฏธ๋ก ์ ํด๋ฌ์คํฐ๋ง์ ์ฐฝ๋ฐ: ๊น์ด๋ง์ผ๋ก ์๋ฏธ๋ฅผ ์ดํดํ๋ค
DeFM์ ๊ฐ์ฅ ๋๋ผ์ด ๊ฒฐ๊ณผ ์ค ํ๋๋ ์์์ด๋ ์ง๊ฐ ์์ด๋ ์๋ฏธ๋ก ์ (Semantic) ํน์ง์ด ํ์ต๋๋ค๋ ์ ์ ๋๋ค.
PCA ์๊ฐํ ์คํ์์ ๋ค์์ด ๊ด์ฐฐ๋์์ต๋๋ค:
- ์ปต ์์ก์ด: ์ฌ๋ฌ ๋ค๋ฅธ ์ผ์(RealSense L515, D435i, ZED 2i, ZED X)๋ก ์ดฌ์ํ ์ปต๋ค์์ ์์ก์ด ๋ถ๋ถ์ด ์ผ๊ด๋๊ฒ ๊ฐ์ ์์(๋ ธ๋์)์ผ๋ก ํด๋ฌ์คํฐ๋ง
- ์๋ ์์ก์ด: ๋ค์ํ ๊ฐ๊ตฌ์ ์๋/์บ๋น๋ ์์ก์ด๊ฐ ์๋์ผ๋ก ํ์ด๋ผ์ดํธ
- ๋ก๋ด ํ: ์ฃผ๋ฐฉ ์ฌ์์ ๋ก๋ด ํ, ์กฐ๋ฆฌ๋, ๋ฐฐ๊ฒฝ, ์กฐ์ ๋์ ๋ฌผ์ฒด๊ฐ ๋ช ํํ ๋ถ๋ฆฌ
์ด๊ฒ์ ๊น์ด ์์์ ๊ธฐํํ์ ํน์ง๋ง์ผ๋ก๋ ๊ฐ์ฒด์ ๊ธฐ๋ฅ์ ๋ถ๋ถ(affordance)์ ํ์ตํ ์ ์์์ ์์ฌํฉ๋๋ค. ์์ก์ด๋ ์์ก์ด๋ง์ ๋ ํนํ 3D ํ์์ ๊ฐ์ง๊ณ ์์ผ๋๊น์.
๋ฒค์น๋งํฌ 1: ๋ถ๋ฅ ๋ฐ ์ธ๊ทธ๋ฉํ ์ด์
ImageNet-1k-Depth ๋ถ๋ฅ (Linear Probing):
| ๋ชจ๋ธ | ํ๋ผ๋ฏธํฐ | Top-1 | Top-5 |
|---|---|---|---|
| DINOv3 ViT-L/16 (RGBโDepth) | 307M | 58.2% | 81.3% |
| Scratch ResNet-50 | 26M | 42.1% | 65.7% |
| DeFM ViT-L/14 | 307M | 71.72% | 84.79% |
| DeFM ViT-S/14 | 22M | 61.54% | 78.06% |
DeFM์ RGB ํ์ด๋ฐ์ด์ ๋ชจ๋ธ(DINOv3)์ ๊น์ด์ ์ง์ ์ ์ฉํ ๊ฒ๋ณด๋ค 13.5% ๋์ Top-1 ์ ํ๋๋ฅผ ๋ฌ์ฑํ์ต๋๋ค.
์๋งจํฑ ์ธ๊ทธ๋ฉํ ์ด์ (mIoU, Linear Probing):
| ๋ฐ์ดํฐ์ | DINOv3 ViT-L/16 | DeFM ViT-L/14 | ๊ฐ์ |
|---|---|---|---|
| ScanNet | 28.52 | 31.34 | +2.82 |
| SUN-RGBD | 32.74 | 31.26 | -1.48 |
| OFFSED (์ผ์ธ) | 54.42 | 57.62 | +3.20 |
| TartanGround | 62.16 | 67.69 | +5.53 |
| GraspNet-1B | 23.89 | 27.85 | +3.96 |
5๊ฐ ๋ฐ์ดํฐ์ ์ค 4๊ฐ์์ SOTA๋ฅผ ๋ฌ์ฑํ์ต๋๋ค. ํนํ ViT-S ํฌ๊ธฐ์์์ ๊ฐ์ ์ด ๋๋๋ฌ์ง๋๋ค: DeFM-S/14๋ DINOv3-S/16 ๋๋น ์ต๋ 30% mIoU ํฅ์์ ๋ณด์์ต๋๋ค.
๋ฒค์น๋งํฌ 2: ๋ก๋ด ๋ด๋น๊ฒ์ด์
DeFM์ ์ง์ ํ ๊ฐ์น๋ ๋ก๋ด๊ณตํ ํ์คํฌ์์์ ์ง์ ์ ์ธ ์ ์ฉ์ ์์ต๋๋ค.
์คํ ์ค์ : - ํ๋ซํผ: ANYmal ์ฌ์กฑ๋ณดํ ๋ก๋ด - ํ๊ฒฝ: Isaac Lab ์๋ฎฌ๋ ์ด์ โ ์ค์ ํ๊ฒฝ (Sim-to-Real) - ํ์คํฌ: 100๋ฏธํฐ ์จ์ดํฌ์ธํธ ๋ด๋น๊ฒ์ด์ - ๋น๊ต ๋์: VAE ์ธ์ฝ๋, DINOv3 ํน์ง
๊ฒฐ๊ณผ:
| ์ธ์ฝ๋ | ํ๋ จ ๋ฐฉ์ | ์๋ฎฌ๋ ์ด์ ์ฑ๊ณต๋ฅ | ์ค์ ํ๊ฒฝ ์ฑ๊ณต๋ฅ |
|---|---|---|---|
| VAE (Baseline) | Scratch | 78% | 65% |
| DINOv3 ViT-L | Frozen | 82% | 71% |
| DeFM RegNet | Frozen | 89% | 85% |
DeFM์ ํน์ง์ ์ธ ์ฅ์ :
- ์ด์ ์ฅ์ ๋ฌผ ํํผ: ๊ฐ๋ก๋ฑ, ๊ตํต ํ์งํ, ์ธํ๋ฆฌ ๊ฐ์ โํฌ๊ทํโ ์ฅ์ ๋ฌผ์ ๋ ์ ์ธ์
- Sim-to-Real ๊ฐญ ์ถ์: ์๋ฎฌ๋ ์ด์ ์์ ์ค์ ํ๊ฒฝ์ผ๋ก์ ์ ์ด๊ฐ ๋ ์์ ์
- ํ์คํฌ ํนํ ์ ์ฒ๋ฆฌ ๋ถํ์: elevation map ๊ฐ์ ์์์ ํ์ดํ๋ผ์ธ ์์ด ์๋
๋ฒค์น๋งํฌ 3: ๋ฑ์คํธ๋ฌ์ค ๋งค๋ํฐ๋ ์ด์
์คํ ์ค์ : - ํ๋ซํผ: Kuka ํ + Allegro Hand V4 - ํ๊ฒฝ: Isaac Lab (256๊ฐ ๋ณ๋ ฌ ํ๊ฒฝ ร 8 GPU) - ํ์คํฌ: DextrAH ์คํ์ผ์ ์ ๋ฐ ๊ทธ๋์คํ - ๋ ธ์ด์ฆ ๋ชจ๋ธ: Speckle, Dropout, Stick noise, Kinect noise model
๊ฒฐ๊ณผ:
| ์ธ์ฝ๋ | ํ๋ จ ๋ฐฉ์ | ์ฑ๊ณต๋ฅ (Sim) | ์ฑ๊ณต๋ฅ (Kinect Noise) |
|---|---|---|---|
| ImageNet ResNet-18 | Frozen | 45.2% | 38.1% |
| DINOv3 ResNet-18 (์ฆ๋ฅ) | Frozen | 52.1% | 44.3% |
| Scratch CNN | Full Train | 61.8% | 51.2% |
| DeFM ResNet-18 | Frozen | 67.3% | 58.9% |
| DeFM ResNet-18 | Fine-tuned | 76.1% | 68.4% |
ํต์ฌ ๋ฐ๊ฒฌ:
- Frozen DeFM์ด ๋ชจ๋ Frozen ๋ฒ ์ด์ค๋ผ์ธ์ 23% ์ด๊ณผ: ํ์คํฌ ํนํ ํ์ธํ๋ ์์ด๋ ๊ฐ๋ ฅํ ์ฑ๋ฅ
- Fine-tuned DeFM์ด ์ ์ฒด ๋ฒ ์ด์ค๋ผ์ธ์ 9% ์ด๊ณผ: ํ์ธํ๋ ์ ์ถ๊ฐ์ ์ธ ์ด๋
- ๋ ธ์ด์ฆ ๊ฐ๊ฑด์ฑ: Kinect ๋ ธ์ด์ฆ ๋ชจ๋ธ์์๋ ์ฑ๋ฅ ์ ํ๊ฐ ์๋์ ์ผ๋ก ์ ์
๋ฒค์น๋งํฌ 4: ์ฌ๋ค๋ฆฌ ๋ฑ๋ฐ ๋ก์ฝ๋ชจ์
๊ฐ์ฅ ๋์ ์ ์ธ ์คํ์ ์ฌ์กฑ๋ณดํ ๋ก๋ด์ ์ฌ๋ค๋ฆฌ ๋ฑ๋ฐ์ ๋๋ค.
์คํ ์ค์ : - ํ๋ซํผ: ANYmal ์ฌ์กฑ๋ณดํ ๋ก๋ด - ํ์คํฌ: ์ฐ์ ์ฉ ์ฌ๋ค๋ฆฌ ๋ฑ๋ฐ (perceptive locomotion) - ๋น๊ต ๋์: VAE ์ธ์ฝ๋, Scratch CNN
๊ฒฐ๊ณผ:
| ์ธ์ฝ๋ | ํ๋ จ ๋ฐฉ์ | ๋ฑ๋ฐ ์ฑ๊ณต๋ฅ |
|---|---|---|
| VAE Baseline | Scratch | 85.3% |
| Scratch CNN | Scratch | 90.45% |
| DeFM RegNet | Frozen | 90.45% |
Frozen DeFM์ด Scratch ํ์ต๊ณผ ๋์ผํ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ค๋ ์ ์ด ์ค์ํฉ๋๋ค. ์ด๋:
- DeFM ํน์ง์ด ํ์คํฌ ํนํ ํ์ต ์์ด๋ ์ถฉ๋ถํ ํ๋ถํจ์ ์๋ฏธ
- ํ์ต ์๊ฐ๊ณผ ๋ฐ์ดํฐ ํจ์จ์ฑ ์ธก๋ฉด์์ ํฐ ์ด์
- ์๋ก์ด ๋ก์ฝ๋ชจ์ ํ์คํฌ๋ก์ ๋น ๋ฅธ ์ ์ด ๊ฐ๋ฅ์ฑ
์ค์ ํ๊ฒฝ์์์ PCA ์๊ฐํ๋ ์ฌํ ์ผ์ ๋ ธ์ด์ฆ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ๋ค๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ผ๊ด๋๊ฒ ํด๋ฌ์คํฐ๋งํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
๋นํ์ ๊ณ ์ฐฐ: ๊ฐ์ , ์ฝ์ , ๊ทธ๋ฆฌ๊ณ ํ๊ณ
๊ฐ์
1. ์ง์ ํ โDrop-in Replacementโ
DeFM์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ์ต์ํ์ ๋ณ๊ฒฝ์ผ๋ก ํตํฉํ ์ ์๋ค๋ ์ ์ ๋๋ค.
# ๊ธฐ์กด ์ฝ๋
encoder = ResNet18(pretrained_imagenet=True)
features = encoder(rgb_image)
# DeFM์ผ๋ก ๊ต์ฒด (๋จ 2์ค ๋ณ๊ฒฝ)
import torch
encoder = torch.hub.load('leggedrobotics/defm:main', 'defm_resnet18', pretrained=True)
depth_normalized = preprocess_depth_image(depth_meters)
features = encoder(depth_normalized)2. ์ผ์ ๋ถ๊ฐ์ง๋ก (Sensor-Agnostic)
DeFM์ ๋ค์ํ ๊น์ด ์ผ์์์ ์ผ๊ด๋ ํํ์ ํ์ตํฉ๋๋ค: - Structured Light (RealSense D4xx) - Time-of-Flight (RealSense L5xx) - Stereo Matching (ZED) - LiDAR ํ๋ก์ ์
์ด๋ ์ผ์ ๊ต์ฒด ์์๋ ์ฌํ์ต ์์ด ์ฌ์ฉ ๊ฐ๋ฅํจ์ ์๋ฏธํฉ๋๋ค.
3. Sim-to-Real ์ ์ด์ ์์ฐ์ค๋ฌ์
๊น์ด ์์์ ๋ณธ์ง์ ํน์ฑ(์ง๊ฐ ๋ถ๋ณ, ์กฐ๋ช ๋ถ๋ณ) ๋๋ถ์ ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ํน์ง์ด ์ค์ ํ๊ฒฝ์ผ๋ก ์ ์ ์ด๋ฉ๋๋ค.
4. ์คํ์์ค ๋ฐ ์์ ํ Model Zoo
์ฝ์ ๋ฐ ํ๊ณ
1. ViT ์ํฐํฉํธ ๋ฌธ์
๋ ผ๋ฌธ์์ ์ธ์ ํ ๊ฒ์ฒ๋ผ, ViT ์ํคํ ์ฒ์ ๊ณ ์ ํ ํ๊ณ๋ก ์ธํ ์๊ฐ์ ์ํฐํฉํธ๊ฐ ๋๋๋ก ๋ฐ์ํฉ๋๋ค. ์ด๋ ํนํ ๊ณ ํด์๋ ์ธ๊ทธ๋ฉํ ์ด์ ์์ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ํด๊ฒฐ์ฑ : Register Token (DINOv2์์ ์ ์๋ ๋ฐฉ๋ฒ) ๋์
2. ์ค์ ํ๊ฒฝ ์คํ์ ์ ํ์ฑ
โOur real-world experiments, though promising, are currently limited in terms of task diversity due to hardware constraints.โ
ํ์ฌ ์ค์ ํ๊ฒฝ ์คํ์ ํน์ ํ๋ซํผ(ANYmal, Kuka+Allegro)์ ๊ตญํ๋์ด ์์ต๋๋ค.
3. ๋์ ๊ฐ์ฒด ์ฒ๋ฆฌ์ ๋ถํ์ค์ฑ
DeFM์ ์ฃผ๋ก ์ ์ ํ๊ฒฝ์์ ํ๊ฐ๋์์ต๋๋ค. ๋น ๋ฅด๊ฒ ์์ง์ด๋ ์ฌ๋์ด๋ ์ฐจ๋์ด ์๋ ๋์ ํ๊ฒฝ์์์ ์ฑ๋ฅ์ ์ถ๊ฐ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
4. ๋ฉํธ๋ฆญ ์ ๊ทํ์ ํ์ดํผํ๋ผ๋ฏธํฐ
3์ฑ๋ ์ ๊ทํ์ ๋ฒ์(0.01-1m, 0.1-10m, 1-100m)๊ฐ ํน์ ์์ฉ์์๋ ์ต์ ์ด ์๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด: - ๋ง์ดํฌ๋ก ๋งค๋ํฐ๋ ์ด์ (๋ฐ๋ฆฌ๋ฏธํฐ ๋จ์) - ์์จ์ฃผํ (์๋ฐฑ ๋ฏธํฐ ๋ฒ์)
ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ
flowchart LR
ROOT((DeFM ๋ฐ์ ))
ROOT --> A[์ํคํ
์ฒ ๊ฐ์ ]
A --> A1[Register Token ์ ์ฉ]
A --> A2[Mamba/State Space ์ ์]
A --> A3[Multi-scale ์ดํ
์
]
ROOT --> B[๋ฉํฐ๋ชจ๋ฌ ํ์ฅ]
B --> B1[RGB-D ์ตํฉ]
B --> B2[Tactile ํตํฉ]
B --> B3[Point Cloud ์ฐ๋]
ROOT --> C[์์ฉ ํ์ฅ]
C --> C1[์์ค ๋ก๋ด]
C --> C2[ํญ๊ณต ๋๋ก ]
C --> C3[์์ ๋ก๋ด]
ROOT --> D[ํจ์จ์ฑ]
D --> D1[INT8 ์์ํ]
D --> D2[Pruning]
D --> D3[Mobile ์ต์ ํ]
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
RGB ํ์ด๋ฐ์ด์ ๋ชจ๋ธ๋ค
| ๋ชจ๋ธ | ํ์ต ๋ฐฉ์ | ๊น์ด ์ง์ | ๋ก๋ด๊ณตํ ํนํ |
|---|---|---|---|
| DINOv2 | Self-distillation | RGB ์ ์ฉ | ์๋์ค |
| DINOv3 | Self-distillation + Gram | RGB ์ ์ฉ | ์๋์ค |
| CLIP | Contrastive (Vision-Language) | RGB ์ ์ฉ | ์๋์ค |
| SAM | Segmentation ํนํ | RGB ์ ์ฉ | ์๋์ค |
| DeFM | Self-distillation | Depth ์ ์ฉ | ์ |
๊น์ด ๊ด๋ จ ๋ชจ๋ธ๋ค
| ๋ชจ๋ธ | ๋ชฉ์ | ๋ฐฉํฅ์ฑ | DeFM๊ณผ์ ์ฐจ์ด |
|---|---|---|---|
| Depth Anything | RGBโDepth ์ถ์ | RGB ์ ๋ ฅ | DeFM์ Depth ์ง์ ์ธ์ฝ๋ฉ |
| MiDaS | ์๋์ ๊น์ด ์ถ์ | RGB ์ ๋ ฅ | DeFM์ ๋ฉํธ๋ฆญ ๊น์ด ๋ณด์กด |
| ZoeDepth | ๋ฉํธ๋ฆญ ๊น์ด ์ถ์ | RGB ์ ๋ ฅ | DeFM์ ๊น์ด ์ผ์ ๋ฐ์ดํฐ ํ์ฉ |
๋ก๋ด๊ณตํ VFM๋ค
| ๋ชจ๋ธ | ํน์ง | DeFM๊ณผ์ ๊ด๊ณ |
|---|---|---|
| Theia | ๋ค์ค VFM ์ฆ๋ฅ | DeFM๊ณผ ์ํธ๋ณด์์ (๊น์ด ์ ๋ฌธ์ฑ) |
| VC-1 | ๋ฒ์ฉ ๋ก๋ด ๋น์ | DeFM์ด ๊น์ด ํนํ๋ก ๋ ๋์ ์ฑ๋ฅ |
| R3M | ์๊ฐ์ ๋์กฐ ํ์ต | DeFM๊ณผ ๊ฒฐํฉ ๊ฐ๋ฅ (RGB-D) |
์ค์ฉ์ ๊ฐ์ด๋: DeFM ์ฌ์ฉ๋ฒ
์ค์น ๋ฐ ๊ธฐ๋ณธ ์ฌ์ฉ
# ์์กด์ฑ ์ค์น
pip install torch torchvision numpy huggingface_hub omegaconf
# PyTorch Hub๋ฅผ ํตํ ๋ก๋ฉimport torch
from defm import preprocess_depth_image
# ๋ชจ๋ธ ๋ก๋ฉ
model = torch.hub.load('leggedrobotics/defm:main', 'defm_vit_l14', pretrained=True)
model.eval().to("cuda")
# ๊น์ด ์ ์ฒ๋ฆฌ (๋ฏธํฐ ๋จ์ ํ์)
depth_meters = load_depth_sensor_data() # ์ฌ์ฉ์์ ๊น์ด ๋ฐ์ดํฐ
normalized_depth = preprocess_depth_image(depth_meters, target_size=518, patch_size=14)
# ํน์ง ์ถ์ถ
with torch.no_grad():
output = model.get_intermediate_layers(
normalized_depth.to("cuda"),
n=1,
reshape=True,
return_class_token=True
)
spatial_features = output[0][0] # (B, C, H', W') - ๊ณต๊ฐ์ ํน์ง
class_token = output[0][1] # (B, C) - ์ ์ญ ํน์งRL ์ ์ฑ ํ์ต๊ณผ์ ํตํฉ
# Isaac Lab ์คํ์ผ ์ ์ฑ
ํ์ต ์์
class DepthPolicyNetwork(nn.Module):
def __init__(self, action_dim):
super().__init__()
# DeFM ์ธ์ฝ๋ (frozen)
self.encoder = torch.hub.load(
'leggedrobotics/defm:main',
'defm_resnet18',
pretrained=True
)
for param in self.encoder.parameters():
param.requires_grad = False
# ์ ์ฑ
ํค๋
self.policy_head = nn.Sequential(
nn.Linear(512, 256),
nn.ReLU(),
nn.Linear(256, action_dim)
)
def forward(self, depth_meters):
depth_norm = preprocess_depth_image(depth_meters)
with torch.no_grad():
features = self.encoder(depth_norm)
return self.policy_head(features)์ฑ๋ฅ ์ต์ ํ ํ
- ๋ฐฐ์น ์ฒ๋ฆฌ: ๊ฐ๋ฅํ๋ฉด ์ฌ๋ฌ ๊น์ด ์์์ ๋ฐฐ์น๋ก ์ฒ๋ฆฌ
- Mixed Precision:
torch.cuda.amp๋ฅผ ์ฌ์ฉํ์ฌ FP16 ์ถ๋ก - TensorRT ๋ณํ: ํ๋ก๋์ ๋ฐฐํฌ ์ TensorRT๋ก ์ถ๊ฐ ์ต์ ํ ๊ฐ๋ฅ
๊ฒฐ๋ก
DeFM์ ๋ก๋ด๊ณตํ ์ปค๋ฎค๋ํฐ์ ์ค๋ซ๋์ ๋น์ด์๋ ํผ์ฆ ์กฐ๊ฐ์ ์ฑ์์ฃผ๋ ์ฐ๊ตฌ์ ๋๋ค.
ํต์ฌ ํ ์ดํฌ์ด์จ์ด
- ๊น์ด ๋ชจ๋ฌ๋ฆฌํฐ๋ ํ์ด๋ฐ์ด์
๋ชจ๋ธ์ ํํ์ ๋ฐ์ ์ ์๋ค
- RGB์์ ์ฑ๊ณตํ Self-distillation์ด ๊น์ด์๋ ์ ์ฉ ๊ฐ๋ฅ
- ์์/์ง๊ฐ ์์ด๋ ์๋ฏธ๋ก ์ ํน์ง ํ์ต ๊ฐ๋ฅ
- Metric-aware ์ ๊ทํ๊ฐ ํต์ฌ์ด๋ค
- 3์ฑ๋ ๋ก๊ทธ ์ ๊ทํ๋ก ๋ค์ํ ์ค์ผ์ผ์์ ๋ฉํธ๋ฆญ ์ ๋ณด ๋ณด์กด
- ๋ฐ๋ฆฌ๋ฏธํฐ~100๋ฏธํฐ ๋ฒ์๋ฅผ ๋จ์ผ ๋ชจ๋ธ๋ก ์ปค๋ฒ
- ์ค์ฉ์ฑ์ด ๊ฒ์ฆ๋์๋ค
- ๋ด๋น๊ฒ์ด์ , ๋งค๋ํฐ๋ ์ด์ , ๋ก์ฝ๋ชจ์ ์์ ์ผ๊ด๋ ์ฑ๋ฅ ํฅ์
- Frozen ํน์ง๋ง์ผ๋ก๋ ๊ฐ๋ ฅํ Sim-to-Real ์ ์ด
- ์ ๊ทผ์ฑ์ด ๋๋ค
- ์คํ์์ค, ๋ค์ํ ๋ชจ๋ธ ํฌ๊ธฐ ์ ๊ณต
- ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ์ฝ๊ฒ ํตํฉ ๊ฐ๋ฅ
DeFM์ โ๋ ํ๋์ ๋ ผ๋ฌธโ์ด ์๋๋๋ค. ์ด๊ฒ์ ๋๊ตฌ์ ๋๋ค. ์ฌ๋ฌ๋ถ์ ๋ค์ ํ๋ก์ ํธ์์:
- ๊น์ด ์ธ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ํ์ตํ๊ณ ๊ณ์ ๊ฐ์? โ DeFM์ ์ฌ์ ํ์ต ๋ชจ๋ธ๋ก ์์ํ์ธ์
- RGB ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ ๊น์ด์ ์ต์ง๋ก ์ ์ฉํ๊ณ ๊ณ์ ๊ฐ์? โ DeFM์ด ๋ ๋์ ๋์์ ๋๋ค
- Sim-to-Real ๊ฐญ์ ๊ณ ํต๋ฐ๊ณ ๊ณ์ ๊ฐ์? โ DeFM์ ๋๋ฉ์ธ ์ผ๋ฐํ๋ฅผ ํ์ฉํ์ธ์
๋ก๋ด๊ณตํ์์ ๊น์ด ์ผ์ฑ์ ์์ผ๋ก๋ ํต์ฌ ๋ชจ๋ฌ๋ฆฌํฐ๋ก ๋จ์ ๊ฒ์ ๋๋ค. DeFM์ ๊ทธ ์ฒซ ๋ฒ์งธ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ๋ก์, ์์ผ๋ก ๋ง์ ํ์ ์ฐ๊ตฌ์ ์ถ๋ฐ์ ์ด ๋ ๊ฒ์ ๋๋ค.
์ฐธ๊ณ ๋ฌธํ
- Patel, M., Frey, J., Mittal, M., Yang, F., Hansson, A., Bar, A., Cadena, C., & Hutter, M. (2026). DeFM: Learning Foundation Representations from Depth for Robotics. arXiv preprint arXiv:2601.18923.
- Oquab, M., et al. (2023). DINOv2: Learning Robust Visual Features without Supervision. arXiv preprint arXiv:2304.07193.
- Simรฉoni, O., et al. (2025). DINOv3: Self-Distillation with No Labels v3. arXiv preprint.
- Wang, W., et al. (2020). TartanAir: A Dataset to Push the Limits of Visual SLAM. IROS 2020.
- Roberts, M., et al. (2021). Hypersim: A Photorealistic Synthetic Dataset for Holistic Indoor Scene Understanding. ICCV 2021.
โ๏ธ Dig Review
โ๏ธ Dig โ Go deep, uncover the layers. Dive into technical detail.
๐ ์๋ก : ์ Depth๋ก ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ธ๊ฐ?
๋ก๋ด์ด ์ค์ ํ๊ฒฝ์ ์ดํดํ๊ณ ํ์(decision-making)๋ก ์ด์ด๊ฐ๊ธฐ ์ํด์๋ ๊ฐ๊ฐ ์ ๋ ฅ์ ์ผ๊ด์ฑ ์๊ณ ์ผ๋ฐํ๋ ํํ์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ํ์์ ๋๋ค. ์ ํต์ ์ผ๋ก ์ด๋ฏธ์ง ๊ธฐ๋ฐ ์ธ๊ณ์์๋ RGB ๊ธฐ๋ฐ์ Vision Foundation Models (VFM) ์ด ๋์ธ์ ๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ชจ๋ธ์ ์กฐ๋ช , ์์, ํ ์ค์ฒ ๋ฑ์ ๋ฏผ๊ฐํ๊ณ ๋ก๋ด์ด ์ค์ ํ๊ฒฝ์์ ํ์ตํ RGB ๊ธฐ๋ฐ ํํ์ ๊ทธ๋๋ก ์ ์ฉํ๊ธฐ ์ด๋ ต๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
๋ฐ๋ฉด Depth ์์์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ ๊ฐ์ต๋๋ค:
- ์กฐ๋ช , ์์ ๋ณํ์ ๊ฐํจ
- ๊ฑฐ๋ฆฌ/๊ตฌ์กฐ์ ์ ๋ณด๊ฐ ๋ด์ฌํ๋จ
- ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค ๊ฐ ๊ฐ๊ทน(sim-to-real) ์ถ์ ๊ฐ๋ฅ
๊ทธ๋ฐ๋ฐ๋, ์ด์ ๊น์ง Depth ์์ฒด๋ง์ผ๋ก ํ์ต๋ ๋๊ท๋ชจ ํํ์ ๊ฑฐ์ ์์์ต๋๋ค. ๊ธฐ์กด ์ ๊ทผ์ RGB-์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ๊น์ด(depth)๋ฅผ ๊ฐ์ ๋ก ๋ง์ถ๊ฑฐ๋, ํน์ ์์ (task)์์๋ง ์ฐ๋ ์์ฝ๋๋ฅผ ํ์ตํ๋ ์๋ฐ์ ์์์ต๋๋ค.
DeFM (Depth Foundation Model)์ ์ด๋ฌํ ๊ณต๋ฐฑ์ ์ฑ์ฐ๊ธฐ ์ํด ์ ์๋ Depth ์ ์ฉ ๋๊ท๋ชจ self-supervised foundation model์ ๋๋ค.
๐ ํต์ฌ ๊ธฐ์ฌ
DeFM ๋ ผ๋ฌธ์ด ๋ก๋ด๊ณตํ์์๊ฒ ์ฃผ๋ ์ฃผ์ ๊ธฐ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Depth ๊ธฐ๋ฐ ์์ฒด self-supervised VFM์ ์ต์ด ๊ตฌํ
- 6000๋ง ์ฅ ๊ท๋ชจ์ Depth ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ๊ตฌ์ถ
- Depth ํํ์ metric awareness ์ ์ง ์ ๋ต ๋์
- ๊ฒฝ๋ํ๋ Distilled ๋ชจ๋ธ ์ํคํ ์ฒ ์ ๊ณต
- ๋ถ๋ฅโง์ธ๋ถํโง๋ด๋น๊ฒ์ด์ โง์ด๋โง์กฐ์ ๋ฑ ๋ค์ ๊ณผ์ ์์ SOTA ์ฑ๋ฅ ์ ์ฆ
์ด ๋ ผ๋ฌธ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ self-distillation์ ํ์ฉํด, ๊น์ด ์ด๋ฏธ์ง์์๋ ๊ธฐํํ ๋ฐ ์๋ฏธ ์ ๋ณด๋ฅผ ๋์์ ์ก์๋ด๋ ํํ์ ํ์ตํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
๐ง ๋ฐฉ๋ฒ: DeFM์ด Depth์์ ๋ฌด์์ ๋ฐฐ์ฐ๋๊ฐ?
DeFM์ ์ค๊ณ ์ฒ ํ์ ์๋ ๋ ์ถ์ผ๋ก ์ค๋ช ํ ์ ์์ต๋๋ค:
- Self-Supervised Learning (SSL)
- Depth-Specific Input Normalization
๐ 1) Self-Distillation ๊ธฐ๋ฐ Foundation Pretraining
DeFM์ self-distillation ๊ณ์ด์ DINO ์คํ์ผ ํ์ต ๋ชฉํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ๊ฐ๋จํ ์ง๊ด์ ์ผ๋ก ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๐ง Self-Distillation
๋ ๋คํธ์ํฌ๊ฐ ์กด์ฌํฉ๋๋ค:
- ๐ฉโ๐ซ Teacher: ๋ชจ๋ฉํ ์ ๋ฐ์ดํธ๋ก ๊ณ ์ ๋ ํน์ง์ ์ ๊ณต
- ๐จโ๐ Student: Teacher์ ์ถ๋ ฅ์ ์ต๋ํ ๋ฎ์๊ฐ๋๋ก ํ์ต
์ด๋ ๋ ๋ชจ๋ธ์ Depth ์ด๋ฏธ์ง์ ์๋ก ๋ค๋ฅธ augmentation view๋ฅผ ์ ๋ ฅ๋ฐ์, Student๊ฐ Teacher ํน์ฑ ๋ถํฌ๋ฅผ ์ ๋ชจ๋ฐฉํ๊ฒ ํฉ๋๋ค.
์ด์ ์๋ ์ด๋ฐ self-distillation ๋ฐฉ์์ RGB ๊ฐ์ฒด ํํ ํ์ต์์ ๋งค์ฐ ๊ฐ๋ ฅํ๊ฒ ์๋ํฉ๋๋ค (์: DINOv2).
๐ง 2) ์ ๋ ฅ ์ ๊ทํ (Input Normalization)
Depth์ ๊ฑฐ๋ฆฌ๊ฐ ์ ๋ ๊ฐ์ ๊ฐ๋๋ค๋ ๊ฒ์ ํฐ ์ฅ์ ์ด์ง๋ง, ์ผ์๋ง๋ค ์ค์ผ์ผ์ด๋ ๋ถํฌ๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ด๋ฅผ ํต์ผํ์ฌ ๋ชจ๋ธ์ ์ ๋ ฅํ๊ธฐ ์ํด DeFM์ ๋ค์ ์ ๋ต์ ์ฑํํฉ๋๋ค:
Depth์ ์ ๊ฑฐ๋ฆฌ ๋ถํฌ(distance distribution) ๋ฅผ ์ ์ญ ํต๊ณ(์: ํ๊ท โง๋ถ์ฐ)๋ก ์ ๊ทํํ์ฌ ๋ค์ํ ์ผ์, ํ๊ฒฝ, ์๋ฎฌ๋ ์ดํฐ ๊ฐ ์ค์ผ์ผ ๋ถ์ผ์น๋ฅผ ์ํ
์ด๋ฅผ ํตํด ๋ชจ๋ธ์ด ์ดฌ์ ํ๊ฒฝ์ ๋ ๋ฏผ๊ฐํ๊ฒ ๋ฉ๋๋ค.
๐ Distillation ๋ฐ ๊ฒฝ๋ ๋ชจ๋ธ
DeFM์ ์ฒ์์ ๋ํ Vision Transformer (ViT) ๋ก ํ์ตํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์, ๋ก๋ด ํ๋์จ์ด์์ ์ฌ์ฉํ๊ธฐ ์ข์ ๊ฒฝ๋ํ ๋ชจ๋ธ๋ก Distillation ํฉ๋๋ค:
- ConvNet ๊ธฐ๋ฐ ์ํ ๋คํธ์ํฌ (ResNet, EfficientNet, RegNet)
- ์ปดํฉํธํ ViT-Small
์ด๋ก์จ ๋ก๋ด์ ์ฐ์ฐ ์ ํ ํ์์ ๋น ๋ฅธ ์ถ๋ก ๋ ๊ฐ๋ฅํฉ๋๋ค.
๐ ์คํ: DeFM์ ์ ๋ง ์ข์๊น?
DeFM์ ์ฑ๋ฅ์ ๊ฒ์ฆํ๊ธฐ ์ํ ์คํ์ ํฌ๊ฒ ๋ ์ถ์ผ๋ก ์ด๋ฃจ์ด์ก์ต๋๋ค.
๐งช 1) Perception Task
๐ ๋ถ๋ฅ(Classification) & ๋ถํ (Semantic Segmentation)
DeFM์ ๋ค์ Task์์ ๋น๊ต๋์ ๋๋น ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค:
| Task | ๋น๊ต Baselines | DeFM ์ฑ๋ฅ |
|---|---|---|
| Depth ๋ถ๋ฅ | Scratch Depth Net / RGB ๊ธฐ๋ฐ ์ ์ฉ VFM | ์ฐ์ |
| Depth Segmentation | ์ ํต CNN / RGB-VFM + Depth | ์ต๊ณ ์ฑ๋ฅ |
์ด ์คํ์ Depth ๊ธฐ๋ฐ ์ถ์ถ ํํ์ด ๊ธฐํํ๋ฟ ์๋๋ผ ์๋ฏธ ์ ๋ณด๊น์ง๋ ํจ๊ณผ์ ์ผ๋ก ์บก์ฒํจ์ ๋ณด์ฌ์ค๋๋ค.
๐ Perception Embedding ์ง์ ์๊ฐํ
PCA ์๊ฐํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๋๋ฌ๋ ๋๋ค:
Depth Embeddings
โ ๊ฑฐ๋ฆฌ/๊ตฌ์กฐ
โ ๊ฐ์ฒด ์๋ฏธ
ํด๋ฌ์คํฐ๋ง์ด ์๋ฏธ ๊ตฌ์ฑ ์์๋ฅผ ๋ฐ์ํจ
์ด๋ RGB ๋ชจ๋ธ์ ํน์ง ๋์คํธ๋ฆฌ๋ทฐ์ ๊ณผ ์ ์ฌํ๊ฒ, DeFM์ด ์๋ฏธ/๊ธฐํ ์ ๋ณด ๋ชจ๋๋ฅผ ์ก๊ณ ์์์ ๋งํด์ค๋๋ค.
๐ค 2) Robotic Task Benchmark
DeFM์ ๋ค์ํ ๋ก๋ด ๊ฐํํ์ต ๋ฐ ์ ์ด ๊ณผ์ ์์๋ ๋ฐ์ด๋ ์ผ๋ฐํ ๋ฅ๋ ฅ์ ๋ณด์์ต๋๋ค:
| Category | Task ์์ | DeFM vs Baselines |
|---|---|---|
| Navigation | Point-Goal ๋ด๋น๊ฒ์ด์ | ์ฐ์ํ ์ฑ๋ฅ |
| Embodiment Aware Navigation | ์ผ์ ๋ฌผ๋ฆฌ ๋ชจ๋ธ ์ ์ | ๊ฐํ sim-to-real |
| Dexterous Manipulation | ๊ทธ๋ฆฌํ ์์ | ๋์ ์ฑ๊ณต๋ฅ |
| Locomotion | Quadruped Ladder Climbing | ๋ฐ์ด๋ ์ผ๋ฐํ |
์คํ์์ DeFM์ fine-tuning ์์ด frozen backbone์ผ๋ก ์ฌ์ฉํ์์๋, ๋ค๋ฅธ ์ผ์/ํ๊ฒฝ์ ๊ฐ๊ฑดํ ์ฑ๋ฅ์ ๋ด๋ ๋ชจ์ต์ ๋ณด์์ต๋๋ค.
๐ Mermeid Diagram: DeFM ํ์ต ํ์ดํ๋ผ์ธ
์๋๋ DeFM์ ๋๋ต์ ์ธ ํ์ต ํ์ดํ๋ผ์ธ์ ๋๋ค.
flowchart TD
A[Depth ์ด๋ฏธ์ง ๋ฐ์ดํฐ์
(60M)] --> B[Augmentation]
B --> C[Teacher Network]
B --> D[Student Network]
C --> E[Self-Distillation Loss]
D --> E
E --> F[Backprop ํ์ต]
F --> G[Pretrained DeFM]
G --> H[Distillation to Compact Models]
๐ง ๋นํ์ ๊ณ ์ฐฐ: ์ฅ๋จ์ ๋ฐ ํ๊ณ
โ ์ฅ์
- Depth ์ ์ฉ ํํ: RGB ๋์ ๊น์ด ์์ฒด๋ฅผ ํ์ต ๋์์ผ๋ก ํจ์ผ๋ก์จ ๋ก๋ด ํ๊ฒฝ ์ดํด๋ ฅ์ด ๊ฐํด์ง.
- Sim-to-Real ์ผ๋ฐํ: Depth ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ๋ชจ๋ธ์ด ํ์ค ์ผ์์์๋ ๊ฐ๊ฑดํจ.
- ๊ฒฝ๋ํ ๋ชจ๋ธ ์ ๊ณต: ๋ก๋ด ํ๋์จ์ด์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅ.
- ๋ค์ Task์์ SOTA: Perception์์ manipulation๊น์ง ํญ๋์ ๊ณผ์ ์ง์ ๊ฐ๋ฅ.
โ ๋จ์ ๋ฐ ํฅํ ๊ณผ์
- ๋ค์ค๋ชจ๋ฌ ํผํฉ ๋ถ์กฑ: Depth์ RGB/Language์ ํตํฉ ํํ์ ์์ง ๋ฏธํกํฉ๋๋ค.
- Policy-Level ํตํฉ ๊ฒ์ฆ ๋ถ์กฑ: RL ์ ์ฑ ๊ณผ์ end-to-end ํตํฉ ์คํ์ด ์ ํ์ ์ ๋๋ค.
- 3D ์ํ์ค/๋์ ์ ๋ณด ๋ฏธ๋ฐ์: Depth frame๊ฐ temporal 3D ์ ๋ณด ์ด์ฉ์ด ์์ง ์ ํ์ ์ ๋๋ค.
๐งฉ ๊ด๋ จ ์ฐ๊ตฌ ๋๋น
| ๋ชจ๋ธ/๋ฐฉ๋ฒ | Depth ํฌํจ | Foundation Scale | ๋ก๋ด ํนํ |
|---|---|---|---|
| R3M | โ RGB ์ค์ฌ | โณ | ์ผ๋ถ ์กฐ์ |
| MVP | โณ Depth ๋ณด์กฐ | โณ | ์ผ๋ถ |
| FP3 | โ Point Cloud | โ RL focus | Manipulation |
| DeFM | โ ์ ์ฉ Depth | โ Foundation | Navigation, Locomotion, Manipulation |
DeFM์ ์์ Depth ์ ๊ตฌ์์ ์ธ ์ญํ ์ ํ๋ฉฐ, RL๊ณผ์ ๊ฒฐํฉํ 3Dํ Foundation ๋ชจ๋ธ ์ฐ๊ตฌ์ ์ถ๋ฐ์ ์ด ๋ ์ ์์ต๋๋ค.
๐ง ์์ฝ ๋ฐ ๊ฒฐ๋ก
DeFM์ Depth ์ค์ฌ์ self-supervised foundation model๋ก์, ํ์ฌ ๋ก๋ด๊ณตํ์์ ์ค์ํ Depth ์ธ์ ๋ฌธ์ ์ ๋ํ ๊ฐ๋ ฅํ ํํ์ ์ ๊ณตํฉ๋๋ค. Depth๋ง์ผ๋ก geometry์ semantic ์ ๋ณด๋ฅผ ๋์์ ์บก์ฒํ๋ฉฐ, sim-to-real ์ฑ๋ฅ๊ณผ ์ ์ฉ ๋ฒ์๊ฐ ๋์ต๋๋ค.
์ค์ ๋ก๋ด ๊ณผ์ ์ ๋ฐ๋ก ํฌ์ ํ ์ ์๋ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ์ ๊ณตํ๋ฉฐ, ์ด๋ ๋ก๋ด perception ๋ฐ ์ ์ด ์ฐ๊ตฌ์ ์ฆ๊ฐ์ ๋๊ตฌ(tool) ๋ก์จ ํฐ ๊ฐ์น๋ฅผ ์ง๋๋๋ค.
์ฐธ๊ณ ์๋ฃ