๐DPT ๋ฆฌ๋ทฐ
Code Link (isl-org/DPT) โ MIT, ์ฌ์ ํ์ต ๊ฐ์ค์น ๊ณต๊ฐ. ๋จ 2024-12๋ฅผ ๋ง์ง๋ง์ผ๋ก ์์นด์ด๋ธ(read-only) ๋์ด ์ ์ง๋ณด์๊ฐ ๋ฉ์ท๋ค.
์ ์: Renรฉ Ranftl, Alexey Bochkovskiy, Vladlen Koltun
Intel Labs
ICCV 2021
- ๐ก dense prediction(๊น์ดยท๋ถํ )์ ๋ณ๋ชฉ์ ๋์ฝ๋๊ฐ ์๋๋ผ ์ธ์ฝ๋์ ๋ค์ด์ํ๋ง์ด๋ค โ ํ ๋ฒ ์์ ํด์๋๋ ๋์ฝ๋๊ฐ ๋ณต์ํ ์ ์์ผ๋ฏ๋ก, ์ ์๋ค์ ์ธ์ฝ๋๋ฅผ ํต์งธ๋ก ViT๋ก ๊ฐ์๋ผ์ด๋ค.
- โ๏ธ ViT๊ฐ ๋ฑ๋ ํ ํฐ ์งํฉ์ Reassemble(Read โ Concatenate โ Resample)๋ก 4๊ฐ ์ธตยท4๊ฐ ํด์๋์ ์ด๋ฏธ์งํ ํน์ง์ผ๋ก ๋๋๋ฆฐ ๋ค, RefineNet ๊ณ์ด Fusion ๋ธ๋ก์ผ๋ก ๋จ๊ณ๋ง๋ค 2๋ฐฐ์ฉ ์ฌ๋ ค ๋ถ์ธ๋ค.
- ๐ฏ ๋จ์ ๊น์ด zero-shot ์ ์ด 6๊ฐ ๋ฒค์น๋งํฌ์์ MiDaS ๋๋น ํ๊ท ์๋๊ฐ์ 28%(DPT-Large)ยท23%+(DPT-Hybrid), ADE20K ๋ถํ ์์ 49.02 mIoU๋ก ๋น์ SOTA.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๊น์ด ์ถ์ ์ด๋ ์๋งจํฑ ๋ถํ ์ฒ๋ผ ํฝ์ ๋ง๋ค ๋ต์ ๋ด์ผ ํ๋ ๋ฌธ์ ์์, ์ง๊ธ๊น์ง์ ์ํคํ ์ฒ๋ ๊ฑฐ์ ์์ธ ์์ด โImageNet์ผ๋ก ์ฌ์ ํ์ตํ CNN ์ธ์ฝ๋ + ํน์ง์ ๋ชจ์ ์ฌ๋ฆฌ๋ ๋์ฝ๋โ์๋ค. ์ฐ๊ตฌ์ ๊ด์ฌ๋ ๋๊ฐ ๋์ฝ๋์ ์ง๊ณ ์ ๋ต(dilated conv, skip connection, ๋ค์ค ํด์๋ ๋ณ๋ ฌ ์ ์ง)์ ์ ๋ ค ์์๋ค. ๊ทธ๋ฌ๋ ์ ์๋ค์ ์ง๋จ์ ๋ค๋ฅด๋ค. ์ธ์ฝ๋์์ ์์ ์ ๋ณด๋ ๋์ฝ๋์์ ๋ณต์ํ ์ ์๋ค. CNN ์ธ์ฝ๋๋ ์์ฉ์์ญ์ ๋ํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๋นํ๋ ค๊ณ ๋ฐ๋ณต์ ์ผ๋ก ๋ค์ด์ํ๋งํ๋๋ฐ, ๊ทธ ๋๊ฐ๋ก ๊น์ ๋จ๊ณ์ ํน์ง ํด์๋์ ์ธ๋ฐํจ์ด ์ฌ๋ผ์ง๋ค. ๋ถ๋ฅ์์๋ ๋ฌธ์ ๊ฐ ์ ๋์ง๋ง dense prediction์์๋ ๊ทธ๊ฒ์ด ๊ณง ์ฑ๋ฅ์ด๋ค.
DPT(dense prediction transformer)๋ ์ด ๋ณ๋ชฉ์ ์ฐํํ์ง ์๊ณ ์ธ์ฝ๋๋ฅผ ๊ต์ฒดํ๋ค. ViT๋ ์ด๊ธฐ ์๋ฒ ๋ฉ ์ดํ๋ก๋ ๋ช ์์ ๋ค์ด์ํ๋ง์ด ์์ด ํ ํฐ ์ = ํด์๋๊ฐ ๋๊น์ง ์ผ์ ํ๊ณ , self-attention์ ์ ์์ ์ ์ญ์ด๋ฏ๋ก ๋ชจ๋ ๋จ๊ณ์์ ์ ์ญ ์์ฉ์์ญ์ ๊ฐ๋๋ค. ๋จ์ ๋ฌธ์ ๋ โ์์ ์๋ ํ ํฐ ์งํฉโ์ ๋ค์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๋ ์ผ์ด๊ณ , ๊ทธ๊ฒ์ด ์ด ๋ ผ๋ฌธ์ด ์ ์ํ๋ Reassemble ์ฐ์ฐ์ด๋ค. ๋์ฝ๋๋ MiDaS์ ๊ฐ์ RefineNet ๊ณ์ด fusion์ ๊ทธ๋๋ก ์ด๋ค โ ์ฆ ๋ฐ๋ ๊ฒ์ ์ธ์ฝ๋๋ฟ์ด๊ณ , ๋น๊ต๊ฐ ์ธ์ฝ๋์ ์ ํต์ ๋์ด ์๋ค.

DPT ์ ์ฒด ๊ตฌ์กฐ(Fig. 1) โ ์ผ์ชฝ: ์ด๋ฏธ์ง๋ฅผ ํ ํฐ(์ฃผํฉ)์ผ๋ก ์๋ฒ ๋ฉํ๊ณ readout ํ ํฐ(๋นจ๊ฐ)์ ์ถ๊ฐํด ํธ๋์คํฌ๋จธ ๋จ๊ณ๋ฅผ ํต๊ณผ์ํจ ๋ค, ์๋ก ๋ค๋ฅธ ๋จ๊ณ์ ํ ํฐ์ Reassemble(๋ น์)๋ก ์ฌ๋ฌ ํด์๋์ ์ด๋ฏธ์งํ ํน์ง์ผ๋ก ๋๋๋ฆฌ๊ณ Fusion(๋ณด๋ผ)์ด ์ ์ง์ ์ผ๋ก ํฉ์น๋ฉฐ ์ ์ํํ๋ค. ๊ฐ์ด๋ฐ: Reassemble ์ฐ์ฐ. ์ค๋ฅธ์ชฝ: RefineNet ๊ณ์ด Fusion ๋ธ๋ก.
ํต์ฌ ๋ฐฉ๋ฒ๋ก :
H\times W ์ด๋ฏธ์ง๋ฅผ p^2 ํฌ๊ธฐ์ ๊ฒน์น์ง ์๋ ํจ์น๋ก ๋๋ ์ ํ ์ฌ์ํ๋ฉด N_p = HW/p^2๊ฐ์ ํ ํฐ์ด ๋์ค๊ณ , ์ฌ๊ธฐ์ ๋ถ๋ฅ์ฉ readout ํ ํฐ t_0๊ฐ ๋ถ๋๋ค(t^0=\{t^0_0,\dots,t^0_{N_p}\},\ t^0_n\in\mathbb{R}^D). ๋ ผ๋ฌธ์ ์ ์คํ์์ p=16์ ์ด๋ค. L๊ฐ ํธ๋์คํฌ๋จธ ์ธต์ ํต๊ณผํ ์์ ์ธต l์ ํ ํฐ์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด Reassemble์ด๋ค:
\textrm{Reassemble}_s^{\hat{D}}(t) = (\textrm{Resample}_s \circ \textrm{Concatenate} \circ \textrm{Read})(t)
์ฌ๊ธฐ์ s๋ ์ ๋ ฅ ์ด๋ฏธ์ง ๋๋น ์ถ๋ ฅ ํด์๋ ๋น์จ(์์์๋ก ๊ณ ํด์๋), \hat{D}๋ ์ถ๋ ฅ ์ฑ๋ ์๋ค. ์ธ ๋จ๊ณ๋ ๊ฐ๊ฐ
- \textrm{Read}:\mathbb{R}^{N_p+1\times D}\to\mathbb{R}^{N_p\times D} โ readout ํ ํฐ ์ฒ๋ฆฌ(๋ฌด์/๋ํ๊ธฐ/์ฌ์ ์ธ ๋ณํ).
- \textrm{Concatenate}:\mathbb{R}^{N_p\times D}\to\mathbb{R}^{\frac{H}{p}\times\frac{W}{p}\times D} โ ํ ํฐ์ ์๋ ํจ์น ์์น์ ๋๋๋ ค ๋์ ํน์ง ๋งต์ ๋ง๋ ๋ค.
- \textrm{Resample}_s:\mathbb{R}^{\frac{H}{p}\times\frac{W}{p}\times D}\to\mathbb{R}^{\frac{H}{s}\times\frac{W}{s}\times\hat{D}} โ 1\times1 conv๋ก \hat{D}๋ก ์ฌ์ํ ๋ค, s\ge p๋ฉด stride 3\times3 conv, s<p๋ฉด stride 3\times3 transpose conv.
๊ธฐ๋ณธ ์ค์ ์ \hat{D}=256, readout์ ์ฌ์(projection), ๊ทธ๋ฆฌ๊ณ ๋ค ๋จ๊ณยท๋ค ํด์๋(s=4,8,16,32)์์ ๋ฝ๋๋ค. ์์ ์ธต์ ๊ณ ํด์๋๋ก, ๊น์ ์ธต์ ์ ํด์๋๋ก ์ฌ์กฐ๋ฆฝํ ๋ค Fusion ๋ธ๋ก์ด ๋จ๊ณ๋ง๋ค 2๋ฐฐ์ฉ ์ฌ๋ฆฌ๋ฉฐ ํฉ์น๊ณ , ์ต์ข ํน์ง์ ์ ๋ ฅ์ 1/2 ํด์๋๋ค.
์ฃผ์ ๊ฒฐ๊ณผ:
- ๋จ์ ๊น์ด zero-shot ์ ์ด(Table 1, ๋ฎ์์๋ก ์ข์) โ MIX 6(์ฝ 140๋ง ์ฅ)๋ก ํ์ตํ DPT-Large๊ฐ DIW 10.82, ETH3D 0.089, Sintel 0.270, KITTI 8.46, NYU 8.32, TUM 9.97. ์ MiDaS(MIX 5) ๋๋น ๊ฐ๊ฐ โ13.2 / โ31.2 / โ17.5 / โ64.6 / โ12.9 / โ30.3%๋ก, ํ๊ท ์๋๊ฐ์ 28%(DPT-Hybrid๋ 23% ์ด์).
- ๋ฐ์ดํฐ ์ฆ๊ฐ๋ง์ ํจ๊ณผ๊ฐ ์๋ โ ๊ฐ์ MIX 6๋ก ์ฌํ์ตํ MiDaS(FCN)๋ ํ๊ท โ10.0%์ ๊ทธ์น๋ค(6๊ฐ ๊ฐ์์ ํ์ ๊ณ์ฐ). ์ฆ ๋์ด๋ ๋ฐ์ดํฐ์ ์ด๋์ ํธ๋์คํฌ๋จธ ์ชฝ์ด ํจ์ฌ ์ ๋ฐ์๋จน๋๋ค.
- ์๊ท๋ชจ ๋ฐ์ดํฐ ๋ฏธ์ธ์กฐ์ โ NYUv2์์ \delta{>}1.25 0.904 / RMSE 0.357(BTS 0.885 / 0.392), KITTI Eigen split์์ 0.959 / RMSE 2.573(BTS 0.956 / 2.756).
- ์๋งจํฑ ๋ถํ โ ADE20K val์์ DPT-Hybrid 83.11 pixAcc / 49.02 mIoU(DeeplabV3+ResNeSt-200 82.45 / 48.36), Pascal Context์์ 84.83 / 60.46(ResNeSt-269 83.06 / 58.92).
- ๋น์ฉ โ ํ๋ผ๋ฏธํฐ MiDaS 105M / DPT-Base 112M / DPT-Hybrid 123M / DPT-Large 343M, 384px ์ถ๋ก ์ง์ฐ 32 / 17 / 38 / 35 ms(RTX 2080, 400ํ ํ๊ท ).
๊ฒฐ๋ก :
โ๋์ฝ๋๋ฅผ ๋ ์ ๊ตํ๊ฒโ๊ฐ ์๋๋ผ โ์ธ์ฝ๋๊ฐ ํด์๋๋ฅผ ๋ฒ๋ฆฌ์ง ์๊ฒโ๊ฐ dense prediction์ ์ง๋ ๋๋ผ๋ ๊ฒ์ ์ค์ฆํ ๋
ผ๋ฌธ์ด๋ค. ๋ฐฉ๋ฒ ์์ฒด๋ ๋๋๋๋ก ๋จ์ํ๋ค โ ViT๋ฅผ ๊ฝ๊ณ , ํ ํฐ์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๋ 3๋จ ์ฐ์ฐ ํ๋๋ฅผ ์ ์ํ๊ณ , ๋์ฝ๋๋ ๊ธฐ์กด ๊ฒ์ ๊ทธ๋๋ก ์ด๋ค. ๋์ ๊ทธ ๋จ์ํจ์ ์กฐ๊ฑด์ด ๋ถ๋ช
ํ๋ค: ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ ํด ๋๋ง ์ด๋์ด ํฌ๋ค. ๊ฐ์ ์ํคํ
์ฒ๊ฐ 140๋ง ์ฅ ๊น์ด ๋ฐ์ดํฐ์์๋ 28% ๊ฐ์ ์ ๋ด์ง๋ง, 2๋ง ์ฅ๊ธ ADE20K์์๋ DPT-Large๊ฐ DPT-Hybrid๋ณด๋ค ๋๋น ์ง๋ค(47.63 vs 49.02). ์ด ๋
ผ๋ฌธ์ด ๋จ๊ธด ์ค์ง์ ์ ์ฐ์ SOTA ์ซ์๋ณด๋ค๋ Reassemble + Fusion์ด๋ผ๋ ๋ฒ์ฉ ViT ๋์ฝ๋ฉ ์ด๋ํฐ์ด๋ฉฐ, ์ดํ ์ด๊ฐ ๊น์ด ์ถ์ (Sparsh, Neural Feels)์ฒ๋ผ ์ ํ ๋ค๋ฅธ ๋๋ฉ์ธ์์ ๋ถํ์ฒ๋ผ ์ฌ์ฌ์ฉ๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
ํ ์ค๋ก ์์ํ๋ฉด
dense prediction์์ ๋์ฝ๋๋ฅผ ์๋ฌด๋ฆฌ ์ ๋ง๋ค์ด๋ ์ธ์ฝ๋๊ฐ ๋ฒ๋ฆฐ ๊ฒ์ ๋์ด๋ฆด ์๋ ์๋ค โ ๊ทธ๋ฌ๋ ๋ค์ด์ํ๋ง์ ํ์ง ์๊ณ ์ฒ์๋ถํฐ ๋๊น์ง ๊ฐ์ ํด์๋ยท์ ์ญ ์์ฉ์์ญ์ ์ ์งํ๋ ์ธ์ฝ๋(ViT)๋ฅผ ์ฐ๊ณ , ๋์ โํ ํฐ ์งํฉ์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๋โ ๋ฌธ์ ๋ง ์๋ก ํ์.
๋ฐฐ๊ฒฝ: ๋ค์ด์ํ๋ง์ด๋ผ๋ ์ธ๊ธ
CNN ๋ฐฑ๋ณธ์ด ์ ์ง์ ์ผ๋ก ํด์๋๋ฅผ ์ค์ด๋ ๋ฐ์๋ ์ธ ๊ฐ์ง ์ด์ ๊ฐ ์๋ค. โ ์์ฉ์์ญ์ ํค์ฐ๊ณ , โก ์ ์์ค ํน์ง์ ๊ณ ์์ค์ผ๋ก ๋ฌถ๊ณ , โข ๋ฉ๋ชจ๋ฆฌยท์ฐ์ฐ์ ๊ฐ๋น ๊ฐ๋ฅํ ์์ค์ผ๋ก ์ ์งํ๋ค. ๋ถ๋ฅ์์๋ ์ธ ๊ฐ์ง ๋ชจ๋ ์ด๋์ด๊ณ ์๋ ๊ฒ์ด ๊ฑฐ์ ์๋ค. ๊ทธ๋ฌ๋ dense prediction์ ์ด์์ ์ผ๋ก ์ ๋ ฅ ํด์๋์ ๊ทผ์ ํ ์์ค์์ ํน์ง์ ํด์(resolve) ํ ์ ์์ด์ผ ํ๋ฏ๋ก, ๊น์ ๋จ๊ณ์ ํด์๋ยท์ธ๋ฐ๋ ์์ค์ด ๊ทธ๋๋ก ์ฑ๋ฅ ์ํ์ด ๋๋ค.
์ด ์์ค์ ์ํํ๋ ค๋ ์๋๋ ๊ณ๋ณด๋ฅผ ์ด๋ฃฌ๋ค โ ๋ ๋์ ํด์๋๋ก ํ์ตํ๊ธฐ, dilated convolution(Yu & Koltun)์ผ๋ก ๋ค์ด์ํ ์์ด ์์ฉ์์ญ๋ง ํค์ฐ๊ธฐ, U-Net(Ronneberger et al.)๋ฅ์ skip connection, HRNet(Wang et al.)์ฒ๋ผ ๋ค์ค ํด์๋ ํํ์ ๋คํธ์ํฌ ์ ์ฒด์์ ๋ณ๋ ฌ ์ ์งํ๊ธฐ. ๋ ผ๋ฌธ์ ์ง์ ์ ์ด ๋ชจ๋๊ฐ ๊ฐ์ ๊ธฐ๋ณธ ๋ธ๋ก(convolution) ์์ ์ํ์ฑ ์ด๋ผ๋ ๊ฒ์ด๋ค. ์ปจ๋ณผ๋ฃจ์ ์ ์ ์์ ์์ฉ์์ญ์ด ์ ํ๋ ์ ํ ์ฐ์ฐ์๋ผ, ์ถฉ๋ถํ ๋ฌธ๋งฅ๊ณผ ํํ๋ ฅ์ ์ป์ผ๋ ค๋ฉด ๊น๊ฒ ์์์ผ ํ๊ณ , ๊น๊ฒ ์์ผ๋ฉด ์ค๊ฐ ํํ์ด ๋ง์์ ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฐ์ง๊ณ , ๊ทธ๋์ ๋ค์ ๋ค์ด์ํ๋งํด์ผ ํ๋ค. ์ํ์ด๋ค.
ํธ๋์คํฌ๋จธ๋ ์ด ์ํ์ ์ ์ ๋ฅผ ๋ฐ๊พผ๋ค. ํ ํฐ ์๊ฐ ์ ์ฐ์ฐ์์ ๋ณด์กด๋๋ฏ๋ก ์ด๊ธฐ ์๋ฒ ๋ฉ ํด์๋๊ฐ ๋๊น์ง ์ ์ง๋๊ณ , MHSA๋ ๋ชจ๋ ํ ํฐ์ด ๋ชจ๋ ํ ํฐ์ ์ํฅ์ ์ค ์ ์์ผ๋ฏ๋ก ์ฒซ ๋ธ๋ก๋ถํฐ ์ ์ญ์ด๋ค. CNN์ด ์ธต์ ์์ โ์ ์ง์ ์ผ๋กโ ์ป๋ ๊ฒ์ ๊ตฌ์กฐ์ ์ผ๋ก ์ฒ์๋ถํฐ ๊ฐ๊ณ ์์ํ๋ ์ ์ด๋ค. ๋ฌผ๋ก ๊ณต์ง๋ ์๋๋ค โ ํ ํฐ ์๊ฐ N_p = HW/p^2๋ก ๊ณ ์ ๋๋ค๋ ๊ฒ์, ์ ์ด์ p=16์ด๋ผ๋ ํ ๋ฒ์ ํฐ ๋ค์ด์ํ๋ง์ ์ ๊ตฌ์์ ์ง๋ถํ๋ค๋ ๋ป์ด๊ธฐ๋ ํ๋ค(๋ค โ๋นํ์ ์ผ๋ก ๋ณด๋ฉดโ ์ฐธ์กฐ).
๋ฐฉ๋ฒ ์์ธ (1): ์ธ์ฝ๋๊ฐ ๋ฌด์์ ์ ์งํ๋๊ฐ
ViT๋ ์ด๋ฏธ์ง๋ฅผ bag-of-words๋ก ๋ค๋ฃฌ๋ค. ๊ฒน์น์ง ์๋ p\times p ํจ์น๋ฅผ ํํํํด ์ ํ ์ฌ์ํ ๊ฒ์ด ํ ํฐ์ด๊ณ , ์ฌ๊ธฐ์ ํ์ต ๊ฐ๋ฅํ ์์น ์๋ฒ ๋ฉ๊ณผ patch์ ๊ทผ๊ฑฐํ์ง ์๋ readout ํ ํฐ(t_0)์ด ๋ํด์ง๋ค. ๋ ผ๋ฌธ์ด ์ฐ๋ ์ธ ๋ณํ์:
| ๋ณํ | ์๋ฒ ๋ฉ ๋ฐฉ์ | ํธ๋์คํฌ๋จธ ์ธต ์ | ํน์ง ์ฐจ์ D |
|---|---|---|---|
| ViT-Base | ํจ์น ์ ํ ์ฌ์ | 12 | 768 |
| ViT-Large | ํจ์น ์ ํ ์ฌ์ | 24 | 1024(๋ ๋์) |
| ViT-Hybrid | ResNet50 ํน์ง ์ถ์ถ | 12 | โ |
์ฌ๊ธฐ์ ์ ์๋ค์ด ๊ฐ์กฐํ๋ ๊ด์ฐฐ์ด ํ๋ ์๋ค. Base/Large์ ์๋ฒ ๋ฉ ์ฐจ์(D=768,\ 1024)์ ํจ์น ์์ ํฝ์ ์๋ณด๋ค ํฌ๋ค(16^2=256, ์ฑ๋ ํฌํจํด๋ 768). ์ฆ ์๋ฒ ๋ฉ์ด ์ํ๋ค๋ฉด ํจ์น ์ ๋ณด๋ฅผ ์์ค ์์ด ๋ณด์กดํ ์ ์๊ณ , ์๋ฆฌ์ ์ผ๋ก๋ ํฝ์ ์์ค ์ ํ๋๋ก ํน์ง์ ํด์ํ ์ ์๋ค. Hybrid๋ ResNet50์ ๊ฑฐ์ณ ์ ๋ ฅ์ \tfrac{1}{16} ํด์๋์์ ํน์ง์ ๋ฝ๋๋ฐ, ์ด๋ ์ปจ๋ณผ๋ฃจ์ ๋ฐฑ๋ณธ์ด ํต์ ์ฐ๋ ์ต์ ํด์๋๋ณด๋ค 2๋ฐฐ ๋๋ค. (๋ถ๋ก์ ๋ฐ๋ฅด๋ฉด hybrid ์ธ์ฝ๋๋ group norm + weight standardization์ ์ฐ๋ pre-activation ResNet50์ด๊ณ , DPT-Hybrid๋ ๊ทธ 1ยท2๋จ๊ณ ์ถ๋ ฅ R0,R1์์ skip์ ๋ฝ๋๋ค.)
๋ฐฉ๋ฒ ์์ธ (2): Reassemble โ ํ ํฐ์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๊ธฐ
๋์ฝ๋์ ์ฒซ ๊ด๋ฌธ์ โ์์ ์๋ ์งํฉโ์ โ๊ฒฉ์โ๋ก ๋๋๋ฆฌ๋ ์ผ์ด๋ค. ์ธ ๋จ๊ณ๋ก ์ชผ๊ฐ ๊ฒ์ด ๊น๋ํ๋ค.

Reassemble(์ผ์ชฝ)๊ณผ Fusion(์ค๋ฅธ์ชฝ) ๋ธ๋ก ์์ธ(Fig. 1 ๊ฐ์ด๋ฐยท์ค๋ฅธ์ชฝ ํจ๋) โ Read๋ก readout ํ ํฐ(๋นจ๊ฐ)์ ์ฒ๋ฆฌํ๊ณ Concatenate๋ก ๊ฒฉ์๋ฅผ ๋ณต์ํ ๋ค Project(1\times1 conv) + Resample๋ก ๋ชฉํ ํด์๋ยท์ฑ๋์ ๋ง์ถ๋ค. Fusion์ RefineNet์ residual conv unit ๋ ๊ฐ์ ร2 ์ ์ํ(Resample_{0.5})๋ก ๊ตฌ์ฑ๋๋ค.
โ Read. readout ํ ํฐ์ ๋ถ๋ฅ๋ฅผ ์ํ ์ฅ์น๋ผ dense prediction์์ ์ธ๋ชจ๊ฐ ๋ถ๋ช ์น ์์ง๋ง, ์ ์ญ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ ๊ฐ๋ฅ์ฑ์ ์๋ค. ๊ทธ๋์ ์ธ ๊ฐ์ง๋ฅผ ๋ค ํ๊ฐํ๋ค:
\textrm{Read}_{ignore}(t)=\{t_1,\dots,t_{N_p}\} \textrm{Read}_{add}(t)=\{t_1+t_0,\dots,t_{N_p}+t_0\} \textrm{Read}_{proj}(t)=\{\textrm{mlp}(\textrm{cat}(t_1,t_0)),\dots,\textrm{mlp}(\textrm{cat}(t_{N_p},t_0))\}
\textrm{Read}_{proj}๋ readout์ ๊ฐ ํ ํฐ์ ์ด์ด๋ถ์ธ ๋ค ์ ํ์ธต + GELU๋ก ์๋ ์ฐจ์ D๋ก ๋๋๋ฆฐ๋ค. ๊ธฐ๋ณธ ์ค์ ์ ์ด ์ฌ์ ๋ฐฉ์์ด๋ค.
โก Concatenate. ๊ฐ ํ ํฐ์ ์๋ ํจ์น ์์น์ ๋์ \tfrac{H}{p}\times\tfrac{W}{p}\times D ํน์ง ๋งต์ ๋ง๋ ๋ค. ์ฌ๊ธฐ์ โํ ํฐโ๏ธํจ์น์ ์ผ๋์ผ ๋์โ์ด๋ผ๋ ViT์ ์ฑ์ง์ด ๊ฒฐ์ ์ ์ผ๋ก ์ฐ์ธ๋ค. ์์น ์๋ฒ ๋ฉ์ด ํ์ต๋ ๋๋ถ์ ์ด ๋๋๋ฆผ์ด ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
โข Resample. 1\times1 conv๋ก ์ฑ๋์ \hat{D}=256์ผ๋ก ๋ง์ถ๊ณ , ๋ชฉํ s์ ๋ฐ๋ผ stride conv(์ถ์) ๋๋ stride transpose conv(ํ๋)๋ฅผ ๊ฑด๋ค. p=16์ด๋ฏ๋ก s=4,8์ ํ๋, s=16์ ๊ทธ๋๋ก, s=32๋ ์ถ์๋ค.
์ด๋ ์ธต์์ ๋ฝ์์ง๋ ๋ฐฑ๋ณธ๋ง๋ค ๋ค๋ฅด๋ค โ ViT-Large๋ l=\{5,12,18,24\}, ViT-Base๋ l=\{3,6,9,12\}, ViT-Hybrid๋ \{R0, R1, 9, 12\}(์์ ๋์ ResNet50 ์๋ฒ ๋ฉ๋ง์ ๋ค์ด์ํ ๋จ๊ณ). ์์ ์ธต โ ๊ณ ํด์๋, ๊น์ ์ธต โ ์ ํด์๋๋ก ๋ฐฐ์นํ๋ค.
๋ฐฉ๋ฒ ์์ธ (3): Fusion ๋์ฝ๋์ ์ถ๋ ฅ ํค๋
Fusion์ RefineNet(Lin et al.)์ ํน์ง ์ตํฉ ๋ธ๋ก์ ๊ฑฐ์ ๊ทธ๋๋ก ์ด๋ค: residual convolutional unit์ผ๋ก ์ ์ ํ๊ณ , ์ด์ ๋จ๊ณ์์ ์ฌ๋ผ์จ ํน์ง๊ณผ ๋ํ๊ณ , 2๋ฐฐ ์ ์ํํ๋ค. 4๊ฐ Fusion์ ๊ฑฐ์น๋ฉด ์ต์ข ํํ์ ์ ๋ ฅ์ 1/2 ํด์๋๊ฐ ๋๊ณ , ์ฌ๊ธฐ์ ํ์คํฌ๋ณ ํค๋๋ฅผ ๋ถ์ธ๋ค.
- ๊น์ด ํค๋(3๊ฐ conv): ์ฒซ conv๊ฐ ํน์ง ์ฐจ์์ ์ ๋ฐ์ผ๋ก, ๋์งธ conv์ ์ถ๋ ฅ ์ฐจ์์ 32, ๋ง์ง๋ง ์ ํ์ธต์ด ํฝ์ ๋น ๋น์์ ์ค์นผ๋ผ(์ญ๊น์ด)๋ฅผ ๋ธ๋ค. ์ฒซ conv ์งํ bilinear๋ก ์ ๋ ฅ ํด์๋๊น์ง ์ฌ๋ฆฐ๋ค.
- ๋ถํ ํค๋: ์ฒซ conv ๋ธ๋ก์ ์ฐจ์์ ์ ์งํ๊ณ ๋ง์ง๋ง ์ ํ์ธต์ด ํด๋์ค ์๋ก ์ฌ์ํ๋ค. dropout 0.1, ๋ง์ง๋ง์ bilinear ์ ์ํ โ ํฝ์ ๋ณ ๋ก์ง.
- ๋์ฝ๋์ batch norm์ ๋ถํ ์์๋ ์ผ๊ณ ๊น์ด ํ๊ท์์๋ ๋๋ค(ํ๊ท ๊ฒฐ๊ณผ๋ฅผ ๋์๊ฒ ๋ง๋ ๋ค๊ณ ๋ณด๊ณ ).
๊ฐ๋ณ ์ ๋ ฅ ํฌ๊ธฐ๋ FCN์ฒ๋ผ ๋ค๋ฃฐ ์ ์๋ค. ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ p๋ก ๋๋์ด๋จ์ด์ง๋ฉด ํ ํฐ ์ N_p๋ง ๋ฌ๋ผ์ง ๋ฟ set-to-set ๋ชจ๋ธ์ธ ํธ๋์คํฌ๋จธ๋ ๊ทธ๋๋ก ์ฒ๋ฆฌํ๊ณ , ์์น ์๋ฒ ๋ฉ๋ง ViT ๋ ผ๋ฌธ์ ๋ฐฉ์๋๋ก ์ ํ ๋ณด๊ฐํ๋ค(์ด๋ฏธ์ง๋ง๋ค ์ฆ์์์ ๊ฐ๋ฅ). ๋จ ๋์ฝ๋์ stride ๋๋ฌธ์ ์ ๋ ฅ์ 32ํฝ์ ๋ฐฐ์๋ก ์ ๋ ฌ๋์ด์ผ ํ๋ค.
์ง๊ด: โ๋ชจ๋ ๋จ๊ณ์์ ์ ์ญโ์ ๋ฌด์์ ์ฌ๋๊ฐ
์ ์ญ ์์ฉ์์ญ์ด ์ฌ์ฃผ๋ ๊ฒ์ ๋ ๊ฐ์ง๋ก ๋๋๋ค.
(a) ์ ์ญ ์ ํฉ์ฑ. ๋จ์ ๊น์ด์์ ํ๋ยท๋ฒฝ ๊ฐ์ ํฐ ๊ท ์ง ์์ญ์ด๋ โ์ด๋ฏธ์ง ์ ์ฒด์ ๊ฑธ์น ์๋์ ๊น์ด ๋ฐฐ์นโ๋ ๊ตญ์ ์ฆ๊ฑฐ๋ง์ผ๋ก๋ ๊ฒฐ์ ๋์ง ์๋๋ค. Fig. 2์์ MiDaS๋ ๋ ๋ฒ์งธ ํ ํ๋์์ ๋ฐฐ์น๊ฐ ํ๋ค๋ฆฌ๋ ๋ฐ๋ฉด DPT๋ ๋งค๋๋ฝ๋ค. (b) ์ธ๋ฐ๋. ๋ง์ง๋ง ํ์ ๋๋ญ๊ฐ์ง์ฒ๋ผ ์์ ๊ตฌ์กฐ๊ฐ DPT์์ ํจ์ฌ ์ ์ด์๋๋ค. ์ ์๋ค์ ๋ถ๋ก ๊ด์ฐฐ๋ ๊ฐ์ ๋ฐฉํฅ์ด๋ค โ zero-shot ์ด๋์ด ๊ฐ์ฅ ์ปธ๋ ๋ฐ์ดํฐ์ ๋ค์ด ์กฐ๋ฐยท๊ณ ํด์๋ ํ๊ฐ๋ฅผ ์ฐ๋ ๊ฒ๋ค์ด์๋ค.
๋ค๋ง ์ฌ๊ธฐ์ ๋ ผ๋ฌธ ์์ ์ด ์ ๊ณตํ๋ ์ค์ํ ๋์์ค๋ฅผ ์ง์ด์ผ ํ๋ค. ์ดํ ์ ๋งต์ ๋ณด๋ฉด ์์ ์ธต์ ์ดํ ์ ์ ์ฐธ์กฐ ํ ํฐ ์ฃผ๋ณ์ ๊ตญ์์ ์ผ๋ก ๋ชฐ๋ ค ์๊ณ , ๊น์ ์ธต์์์ผ ์ด๋ฏธ์ง ์ ์ฒด๋ก ํผ์ง๋ค.

DPT-Large ๊น์ด ๋ชจ๋ธ์ ์ดํ ์ ๋งต(Fig. A4 ์๋จ ์์) โ ์ข์๋จ/์ฐํ๋จ ์ฐธ์กฐ ํ ํฐ์ด ์ธต 6ยท12ยท18ยท24์์ ์ด๋๋ฅผ ๋ณด๋์ง. ์ธต 6์์๋ ์ฐธ์กฐ ํ ํฐ ๊ทผ๋ฐฉ์๋ง ๋ฐ์์ด ์๊ณ , ๊น์ ์ธต์ผ๋ก ๊ฐ์๋ก ์ ์ด๋ฏธ์ง๋ก ํผ์ง๋ค.
์ฆ โ๋ชจ๋ ๋จ๊ณ์์ ์ ์ญ ์์ฉ์์ญโ์ ๊ตฌ์กฐ์ ํ์ฉ์ด์ง ํ์ต๋ ํ๋์ด ์๋๋ค. ๋ชจ๋ธ์ ์์ ์ธต์์ ์ค์ค๋ก ๊ตญ์์ฑ์ ์ ํํ๋ค. ๊ทธ๋ผ์๋ CNN๊ณผ ๋ค๋ฅธ ์ ์ด ๋จ๋๋ฐ, CNN์์๋ ๊ทธ ๊ตญ์์ฑ์ด ๋ถ๋ณ์ ์ ์ฝ์ด๋ผ ํ์ํ ๋ ์ ์ญ์ผ๋ก ๊ฐ ์ ์์ง๋ง ViT์์๋ ๋ฐ์ดํฐ๊ฐ ์๊ตฌํ๋ฉด ์ธ์ ๋ ์ ์ญ์ผ๋ก ๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด ์ฐจ์ด๊ฐ ์ค์ ๋ก ์ธก์ ๋ ๊ณณ์ด ๋ค์ ๋์ฌ ์ถ๋ก ํด์๋ ์คํ์ด๋ค. (์ฐธ๊ณ ๋ก ๋ถ๋ก์ Fig. A4ยทA5 ๋ชจ๋ โ12๊ฐ ์ดํ ์ ํค๋์ ํ๊ท โ์ด๋ผ ์ ๋๋ฐ, A4๋ 24์ธต ViT-Large ๋ชจ๋ธ์ด๋ค. ViT-Large์ ํค๋ ์๋ ์ด ๋ ผ๋ฌธ์ ์ ํ ์์ง ์์ ํ์ธํ ์ ์์ผ๋, Base/Hybrid ๊ธฐ์ค ๋ฌธ๊ตฌ๊ฐ ๊ทธ๋๋ก ๋จ์ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.)
์คํ (1): ๋จ์ ๊น์ด โ MIX 6์ zero-shot ์ ์ด
์ ์ . MiDaS(Ranftl et al., TPAMI 2020)์ ํ๋กํ ์ฝ์ ๊ฑฐ์ ๊ทธ๋๋ก ๋ฐ๋ฅธ๋ค. ์ญ๊น์ด ํํ ์์์ scaleยทshift ๋ถ๋ณ trimmed loss + gradient-matching loss๋ก ํ์ตํ๊ณ , MiDaS์ MIX 5์ 5๊ฐ ๋ฐ์ดํฐ์ ์ ๋ํ MIX 6(์ฝ 140๋ง ์ฅ, ๋ ผ๋ฌธ ์์ ์ต๋ ๊ท๋ชจ) ์ ์ด๋ค. Adam, ๋ฐฑ๋ณธ lr 1\mathrm{e}{-5} / ๋์ฝ๋ lr 1\mathrm{e}{-4}, ๋ค๋ชฉ์ ์ต์ ํ, ๊ธด ๋ณ 384๋ก ๋ฆฌ์ฌ์ด์ฆ ํ 384 ์ ์ฌ๊ฐ ํฌ๋กญ, ๋ฐฐ์น 16, 1 epoch = 72,000 step, 60 epochs. ์ ์ ์ ๋ ๋ถ๋ถ์งํฉ์์ 60 epoch ์ฌ์ ํ์ต ํ ์ ์ฒด ๋ฐ์ดํฐ๋ก ํ์ตํ๋ค. (ํ์ ๊ณ์ฐ: 60\times72{,}000\times16\approx6.9\times10^7 ์ํ = MIX 6 ๊ธฐ์ค ์ฝ 49ํ ํต๊ณผ. ํ์ต์ ์ด ํ๋์จ์ดยท์๊ฐ์ ๋ ผ๋ฌธ์ ์๋ค.)
๊ฒฐ๊ณผ(Table 1, ๋ชจ๋ ์งํ ๋ฎ์์๋ก ์ข์). ๊ดํธ๋ ์ MiDaS(MIX 5) ๋๋น ์๋ ๋ณํ๋ค.
| ๋ชจ๋ธ | ํ์ต์ | DIW (WHDR) | ETH3D (AbsRel) | Sintel (AbsRel) | KITTI (\delta{>}1.25) | NYU (\delta{>}1.25) | TUM (\delta{>}1.25) |
|---|---|---|---|---|---|---|---|
| DPT-Large | MIX 6 | 10.82 (โ13.2%) | 0.089 (โ31.2%) | 0.270 (โ17.5%) | 8.46 (โ64.6%) | 8.32 (โ12.9%) | 9.97 (โ30.3%) |
| DPT-Hybrid | MIX 6 | 11.06 (โ11.2%) | 0.093 (โ27.6%) | 0.274 (โ16.2%) | 11.56 (โ51.6%) | 8.69 (โ9.0%) | 10.89 (โ23.2%) |
| MiDaS(์ฌํ์ต) | MIX 6 | 12.95 (+3.9%) | 0.116 (โ10.5%) | 0.329 (+0.5%) | 16.08 (โ32.7%) | 8.71 (โ8.8%) | 12.51 (โ12.5%) |
| MiDaS (์๋ณธ) | MIX 5 | 12.46 | 0.129 | 0.327 | 23.90 | 9.55 | 14.29 |
์ฝ์ด์ผ ํ ๊ฒ์ ์ธ ์ค์ ๊ด๊ณ๋ค. โ DPT-Large์ 6๊ฐ ์๋๊ฐ์ ์ ํ๊ท ํ๋ฉด ์ ํํ 28.3%, DPT-Hybrid๋ 23.1% โ ๋ณธ๋ฌธ์ โ28% / 23% ์ด์โ๊ณผ ์ผ์นํ๋ค(์ง์ ๊ฒ์ฐ). โก ๊ฐ์ MIX 6๋ก ์ฌํ์ตํ FCN(MiDaS)์ ํ๊ท โ10.0%์ ๊ทธ์น๊ณ , DIWยทSintel์์๋ ์คํ๋ ค ๋๋น ์ง๋ค(+3.9%, +0.5%). ๋ฐ์ดํฐ๋ฅผ ๋๋ฆฌ๋ฉด CNN๋ ์ข์์ง์ง๋ง ๊ทธ ์ด๋์ ๋ฐ์๋จน๋ ์ ๋๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ด ์ด ํต์ ์คํ์ ์์ง๋ค. โข ๊ฐ์ ํญ์ ๋ฐ์ดํฐ์ ๋ณ๋ก ํฌ๊ฒ ๊ฐ๋ฆฐ๋ค โ KITTI์์ โ64.6%์ธ ๋ฐ๋ฉด NYU๋ โ12.9%๋ค. ์ด๋ก์ โup to 28%โ๋ผ๋ ํํ๋ณด๋ค ๋ณธ๋ฌธ์ โํ๊ท 28%โ๊ฐ ์คํ๋ ค ๋ ๊ฐํ ์ฃผ์ฅ์ธ๋ฐ, ํ๋ฅผ ๊ฒ์ฐํ๋ฉด ๋ณธ๋ฌธ ์ชฝ์ด ๋ง๋ค.

๋จ์ ๊น์ด ์ ์ฑ ๋น๊ต(Fig. 2) โ ์ผ์ชฝ๋ถํฐ ์ ๋ ฅ / MiDaS(MIX 6) / DPT-Hybrid / DPT-Large. ๋ ๋ฒ์งธ ํ ํ๋์ ์ ์ญ ์ ํฉ์ฑ, ๋ง์ง๋ง ํ ๋๋ญ๊ฐ์ง์ ์ธ๋ฐ๋์์ ์ฐจ์ด๊ฐ ๋๋๋ฌ์ง๋ค. ์ธ ๋ชจ๋ธ ๋ชจ๋ ๊ฐ์ 384px ์ ๋ ฅ์ด๋ค.
์๊ท๋ชจ ๋ฐ์ดํฐ ๋ฏธ์ธ์กฐ์ . affine ๋ถ๋ณ ์์ค๋ก ํ์ต๋ ์์ธก์ ์ค์ผ์ผยท์ํํธ๊ฐ ์์๋ผ ๊ทธ๋๋ก ๋ฏธ์ธ์กฐ์ ํ๋ฉด ํฌ๊ธฐ ๋ถ์ผ์น๊ฐ ์์ค์ ์ง๋ฐฐํ๋ค. ๊ทธ๋์ ํ์ต ์ํ๋ณ robust alignment๋ก ์ค์ผ์ผยท์ํํธ๋ฅผ ๊ตฌํด ํ๊ท ๊ฐ์ ์ ์ฒด์ ์ ์ฉํ ๋ค Eigen et al.์ ์์ค๋ก ๋ฏธ์ธ์กฐ์ ํ๋ค(KITTI๋ GT๊ฐ ํฌ์ํด gradient-matching loss๋ฅผ ๋๋ค).
| NYUv2 | \delta{>}1.25 | \delta{>}1.25^2 | \delta{>}1.25^3 | AbsRel | RMSE | log10 |
|---|---|---|---|---|---|---|
| DORN | 0.828 | 0.965 | 0.992 | 0.115 | 0.509 | 0.051 |
| VNL | 0.875 | 0.976 | 0.994 | 0.111 | 0.416 | 0.048 |
| BTS | 0.885 | 0.978 | 0.994 | 0.110 | 0.392 | 0.047 |
| DPT-Hybrid | 0.904 | 0.988 | 0.998 | 0.110 | 0.357 | 0.045 |
| KITTI (Eigen split) | \delta{>}1.25 | \delta{>}1.25^2 | \delta{>}1.25^3 | AbsRel | RMSE | RMSE log |
|---|---|---|---|---|---|---|
| BTS | 0.956 | 0.993 | 0.998 | 0.059 | 2.756 | 0.096 |
| DPT-Hybrid | 0.959 | 0.995 | 0.999 | 0.062 | 2.573 | 0.092 |
์ฌ๊ธฐ์ ๋ณธ๋ฌธ์ โ๋ ๋ฐ์ดํฐ์ ๋ชจ๋ ์งํ์์ SOTA๋ฅผ ๋ฐ๋ผ์ก๊ฑฐ๋ ๊ฐ์ ํ๋คโ๊ณ ์ ์ง๋ง, KITTI AbsRel์ BTS 0.059 < DPT 0.062๋ก DPT๊ฐ ์ง๋ค(ํ์์๋ BTS ์ชฝ์ด ๋ณผ๋). ์ฌ์ํ์ง๋ง โin all metricsโ๋ผ๋ ์ด์นญ์ ์๊ธฐ ํ์ ์ด๊ธ๋๋ค.
์คํ (2): ์๋งจํฑ ๋ถํ
๊ฐ์ ๋ฐฑ๋ณธยท๋์ฝ๋์ ๋ถํ ํค๋๋ง ๋ถ์ด๊ณ Zhang et al.(ResNeSt)์ ํ๋กํ ์ฝ์ ๋ฐ๋ฅธ๋ค. cross-entropy + ๋ง์ง๋ง ์ง์ fusion ์ธต์ ๋ณด์กฐ ํค๋/๋ณด์กฐ ์์ค(๊ฐ์ค์น 0.2), dropout 0.1, SGD(momentum 0.9) + poly ์ค์ผ์ค(decay 0.9), ๋ฐฐ์น 48, 520 ๋ฆฌ์ฌ์ด์ฆ ํ 480 ํฌ๋กญ, ์ข์ฐ ๋ฐ์ ๋ฐ (0.5,2.0) ๋๋ค ๋ฆฌ์ค์ผ์ผ, lr 0.002, ํ ์คํธ ์ multi-scale ์ถ๋ก . ADE20K๋ 240 epoch, Pascal Context ๋ฏธ์ธ์กฐ์ ์ 50 epoch์ด๋ค.
| ADE20K val | Backbone | pixAcc [%] | mIoU [%] |
|---|---|---|---|
| OCNet | ResNet101 | โ | 45.45 |
| ACNet | ResNet101 | 81.96 | 45.90 |
| DeeplabV3 | ResNeSt-101 | 82.07 | 46.91 |
| DeeplabV3 | ResNeSt-200 | 82.45 | 48.36 |
| DPT-Hybrid | ViT-Hybrid | 83.11 | 49.02 |
| DPT-Large | ViT-Large | 82.70 | 47.63 |
Pascal Context์์๋ DPT-Hybrid๊ฐ 84.83 / 60.46์ผ๋ก ResNeSt-269(83.06 / 58.92)๋ฅผ ๋๋๋ค. ๋์ฌ๊ฒจ๋ณผ ๊ฒ์ DPT-Large๊ฐ DPT-Hybrid๋ณด๋ค ๋ชปํ๋ค๋ ์ฌ์ค์ด๊ณ , ์ ์๋ค์ ์ด๋ฅผ โ์ด์ ์คํ ๋๋น ๋ฐ์ดํฐ์ ์ด ํจ์ฌ ์๊ธฐ ๋๋ฌธโ์ผ๋ก ํด์ํ๋ค. ๋ ผ๋ฌธ์ ํต์ฌ ์กฐ๊ฑด(๋ฐ์ดํฐ๊ฐ ๋ง์์ผ ํธ๋์คํฌ๋จธ๊ฐ ์ฐ๋ค)์ ์๊ธฐ ์คํ์ด ๋ฐ์ฆ์ด ์๋๋ผ ์ฆ๊ฑฐ๋ก ๋ณด์ฌ์ฃผ๋ ๋๋ฌธ ๊ฒฝ์ฐ๋ค.

์๋งจํฑ ๋ถํ ์ ์ฑ ๋น๊ต(Fig. 3) โ ์ ResNeSt-200 / ์๋ DPT-Hybrid, 1ยท2์ด ADE20K, 3ยท4์ด Pascal Context. ๋ ธ๋ ๋ฐ์ค ํ๋์์ ๋ณด๋ฏ ๊ฐ์ฒด ๊ฒฝ๊ณ(์ฌ๋ ๋ค๋ฆฌ, ๋ฒ์ ๋ถ๋ฆฌ)์ ๋ ์ ๋ถ๊ณ ์ก์์ด ์ ๋ค.
์คํ (3): Ablation โ ๋ฌด์์ด ์ค์ ๋ก ๊ธฐ์ฌํ๋๊ฐ
์ ์ ์คํ์ ๋ชจ๋ ๋จ์ ๊น์ด๋ก ํ๋, ๊ณ ํ์ง GT๋ฅผ ๊ฐ์ง 3๊ฐ ๋ฐ์ดํฐ์ (ReDWebยทHRWSIยทBlendedMVS, ์ฝ 41,000์ฅ)๋ง ์ฐ๊ณ ์ฝ 1,000์ฅ์ ๊ฒ์ฆ์ ์์ affine ์ ๋ ฌ ํ ์๋ ์ ๋ํธ์ฐจ๋ฅผ ๋ณด๊ณ ํ๋ค. ๋ณ๋ ์ธ๊ธ์ด ์์ผ๋ฉด ๋ฐฑ๋ณธ์ ViT-Base๋ค.
โ Skip connection ์์น(Table 6, mean ๋ฎ์์๋ก ์ข์). Base์์ \{3,6,9,12\} 0.0822 < \{9,10,11,12\} 0.0828 < \{6,8,10,12\} 0.0831 โ โ์์ ์ธต(์ ์์ค)๊ณผ ๊น์ ์ธต(๊ณ ์์ค)์ ์์ด ๋ฝ๋ ๊ฒ์ด ์ข๋คโ๋ ๊ฒฐ๋ก ์ด๋ค. Hybrid์์๋ \{R0,R1,9,12\}๊ฐ \{3,6,9,12\}(0.0787)๋ณด๋ค ๋ซ๋ค๊ณ ๋ณด๊ณ ํ๋ค.
โ ๏ธ ํ ๋ด๋ถ ๋ถ์ผ์น ํ๋. Table 6์ Hybrid \{R0,R1,9,12\} ํ์ ์ธ ์ด์ด 0.0742 / 0.0751 / 0.0857์ธ๋ฐ Mean์ด 0.0733์ผ๋ก ์ ํ ์๋ค. ์ธ ๊ฐ์ ํ๊ท ์ 0.0783์ด๋ค(๋ค๋ฅธ ๋ค ํ์ ๋ชจ๋ ์ด ํ๊ท ๊ณผ ์ผ์นํ๋ ๊ฒ์ ํ์ธํ๋ค). ์คํ๋ก ๋ณด์ด๋ฉฐ, 0.0783์ผ๋ก ๊ณ ์ณ๋ ์ฌ์ ํ \{3,6,9,12\}์ 0.0787๋ณด๋ค ๋ฎ์ ๊ฒฐ๋ก ์ ๋ฐ๋์ง ์๋๋ค. ๋ค๋ง ์ฐจ์ด๊ฐ 0.0787 vs 0.0783(0.5%)๋ก ์ค์ด๋ ๋ค.
โก readout ํ ํฐ ์ฒ๋ฆฌ(Table 7). Ignore 0.0822 / Add 0.0831 / Project 0.0819. ๋ํ๋ ๊ฒ์ ๋ฌด์ํ๋ ๊ฒ๋ณด๋ค๋ ๋์๊ณ , ์ฌ์์ด ๊ทผ์ํ๊ฒ ๋ซ๋ค. ์ฑํ ๊ทผ๊ฑฐ๊ฐ 0.0003 ์ฐจ์ด๋ผ๋ ์ ์ ๊ธฐ์ตํด ๋ ๋งํ๋ค.
โข ๋ฐฑ๋ณธ(Table 8).
| ๋ฐฑ๋ณธ | HRWSI | BlendedMVS | ReDWeb | Mean |
|---|---|---|---|---|
| ResNet50 | 0.0890 | 0.0887 | 0.1029 | 0.0935 |
| ResNext101-WSL (= MiDaS) | 0.0780 | 0.0751 | 0.0886 | 0.0806 |
| DeiT-Base | 0.0798 | 0.0804 | 0.0925 | 0.0842 |
| DeiT-Base-Dist | 0.0758 | 0.0758 | 0.0871 | 0.0796 |
| ViT-Base | 0.0797 | 0.0764 | 0.0895 | 0.0819 |
| ViT-Large | 0.0740 | 0.0747 | 0.0846 | 0.0778 |
| ViT-Hybrid | 0.0738 | 0.0746 | 0.0864 | 0.0783 |
์ธ ๊ฐ์ง๊ฐ ์ฝํ๋ค. โ ViT-Large๊ฐ ์ต๊ณ ์ง๋ง ViT-Base/Hybrid์ ์ฝ 3๋ฐฐ ํฌ๊ธฐ๋ค. โก ViT-Hybrid๊ฐ ViT-Base์ ๋น์ทํ ํ๋ผ๋ฏธํฐ๋ก Large์ ๊ทผ์ ํด ์ ํ๋-์ฉ๋ ์ ์ถฉ์ ์ด๋ค. โข ViT-Base๋ ResNext101-WSL๊ณผ ๋น์ทํ๋ฐ, ํ์๋ ImageNet ์ธ์ ์ญ์ต ๊ท๋ชจ ์ฝ์ง๋ ๋ฐ์ดํฐ๋ก ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ด๋ค โ ์ฆ ํจ์ฌ ์ ์ ์ฌ์ ํ์ต์ผ๋ก ๋๊ธ์ด๋ผ๋ ๋ป์ด๋ค. ๋ง๋ถ์ฌ DeiT-Base-Dist(0.0796)๊ฐ ViT-Base(0.0819)๋ฅผ ์ด๊ธฐ๋ ๊ฒ์, ๋ถ๋ฅ์ฉ ์ฌ์ ํ์ต ์ ์ฐจ์ ๊ฐ์ ์ด dense prediction์ผ๋ก ๊ทธ๋๋ก ์ ์ด๋๋ค๋ ์ ํธ๋ค(๊ตฌ์กฐ๋ DeiT-Base = ViT-Base๋ก ๋์ผ).
โฃ ์ถ๋ก ํด์๋(Fig. 4). ํ์ต ํด์๋ 384ร384์์ ๋ฒ์ด๋ ํด์๋๋ก ์ถ๋ก ํ ๋์ ์๋ ์ฑ๋ฅ ์ ํ๋ค. CNN์ ์ ๋ ฅ ๊ทผ์ฒ ์ธต์ ์์ฉ์์ญ์ด ๊ตญ์์ ์ด๋ผ ํด์๋๊ฐ ๋ฐ๋๋ฉด ํฌ๊ฒ ํ๋ค๋ฆฐ๋ค๋ ๊ฐ์ค์ ๊ฒ์ฆํ๋ค.

์ถ๋ก ํด์๋์ ๋ฐ๋ฅธ ์๋ ์ฑ๋ฅ ์ ํ(Fig. 4, ๋ฎ์์๋ก ์ข์) โ 640px์์ ๊ทธ๋ฆผ์ผ๋ก ์ฝ์ผ๋ฉด ResNet-50 ์ฝ 21.3%, ResNext-101 ์ฝ 18.3%์ธ ๋ฐ๋ฉด ViT-Hybrid๋ ์ฝ 7.5%, DeiT-Distilled๋ ์ฝ 9.0%๋ค. ํธ๋์คํฌ๋จธ ๊ณ์ด์ด ํจ์ฌ ์๋งํ๊ฒ ๋๋น ์ง๋ค.
โค ์ถ๋ก ์๋(Table 9). Intel Xeon Platinum 8280(8์ฝ์ด) + NVIDIA RTX 2080, 384px ์ ์ฌ๊ฐ, 400ํ ํ๊ท ์ด๋ค.
| MiDaS | DPT-Base | DPT-Hybrid | DPT-Large | |
|---|---|---|---|---|
| ํ๋ผ๋ฏธํฐ [M] | 105 | 112 | 123 | 343 |
| ์๊ฐ [ms] | 32 | 17 | 38 | 35 |
DPT-Large๋ ํ๋ผ๋ฏธํฐ๊ฐ 3.3๋ฐฐ์ธ๋ฐ๋ ์ง์ฐ์ MiDaS์ ๋น์ทํ๋ค(35 vs 32 ms). ์ ์ ์ค๋ช ์ โ๋๊ณ ์๋์ ์ผ๋ก ์์ ๊ตฌ์กฐ๋ผ ๋ณ๋ ฌ์ฑ์ด ๋๋คโ๋ ๊ฒ์ด๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ DPT-Hybrid(38 ms)๊ฐ DPT-Large(35 ms)๋ณด๋ค ๋๋ฆฐ๋ฐ ๋ ผ๋ฌธ์ ์ด ์ญ์ ์ ๋ฐ๋ก ์ค๋ช ํ์ง ์๋๋ค(ResNet50 ์๋ฒ ๋ฉ๋ง์ ์์ฐจ ๊น์ด ๋๋ฌธ์ผ๋ก ์ถ์ ๋์ง๋ง ๊ทผ๊ฑฐ๋ ๋ ผ๋ฌธ์ ์๋ค).
๋นํ์ ์ผ๋ก ๋ณด๋ฉด
๊ฐ์
- ๋ณ์ ํต์ ๊ฐ ๊น๋ํ๋ค. ๋์ฝ๋(RefineNet ๊ณ์ด fusion), ์์ค, ๋ฐ์ดํฐ, ํ๋กํ ์ฝ์ MiDaS์ ๋์ผํ๊ฒ ๋๊ณ ์ธ์ฝ๋๋ง ๋ฐ๊พผ๋ค. ๊ฒ๋ค๊ฐ โ๋ฐ์ดํฐ๊ฐ ๋์ด์ ์ข์์ง ๊ฒ ์๋๋โ๋ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ๋ฐ๋ก ์ MiDaS๋ฅผ MIX 6๋ก ์ฌํ์ตํด ๋ฏธ๋ฆฌ ๋ง์๋ค. ์ด ํ ํ(ํ๊ท โ10.0%)์ด ๋ ผ๋ฌธ ์ฃผ์ฅ์ ์ ๋ฐ์ ์งํฑํ๋ค.
- ๋ฐฉ๋ฒ์ด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ถํ์ด๋ค. Reassemble์ โViT ํ ํฐ์ ์์ ํด์๋์ ํน์ง ๋งต์ผ๋กโ๋ผ๋ ์ผ๋ฐ ์ธํฐํ์ด์ค๋ผ, ๋ฐฑ๋ณธ์ด๋ ํ์คํฌ๊ฐ ๋ฐ๋์ด๋ ๊ทธ๋๋ก ๊ฐ์๋ผ์ธ ์ ์๋ค. ์ค์ ๋ก ์ดํ ์ฐ๊ตฌ๋ค์ด ์ด๊ฐ ์ด๋ฏธ์ง์์ ์ ค ํ๋ฉด ๊น์ดยทํ์ฅ์ ๋ฝ๋ ๋ฐ DPT ๋์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ด๋ค(Sparsh์ dense ์์ธก ๋ธ๋์น, Neural Feels์ 21.7M ๊ฒฝ๋ Dense ViT).
- ์ฃผ์ฅ๊ณผ ์ธก์ ์ด ๋์ฒด๋ก ์ง์ ์ด๋ฃฌ๋ค. โ์ ์ญ ์์ฉ์์ญ์ด ์ด๋กญ๋คโ๋ ์ ์ฑ์ ์ฃผ์ฅ์ ๋ํด ์ถ๋ก ํด์๋ ์คํ(Fig. 4)์ด๋ผ๋ ์ ๋ ๋๋ฆฌ ์งํ๋ฅผ ์ ์ํ๊ณ , ์ดํ ์ ๋งต(Fig. A4/A5)์ผ๋ก ์ธต๋ณ ๊ตญ์์ฑโ์ ์ญ์ฑ ์ ์ด๊น์ง ๋ณด์ฌ์ค๋ค.
- ํ๊ณ๋ฅผ ์จ๊ธฐ์ง ์๋๋ค. ADE20K์์ DPT-Large๊ฐ DPT-Hybrid์ ์ง๋ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ์ฃ๊ณ ๋ฐ์ดํฐ ๊ท๋ชจ๋ก ํด์ํ๋ค.
์ฝ์ ยทํ๊ณ
- โ๋ชจ๋ ๋จ๊ณ์์ ์ ์ญ ์์ฉ์์ญโ์ ๊ตฌ์กฐ์ ๊ฐ๋ฅ์ฑ์ด์ง ์ฑ๋ฅ์ ์์ธ์ผ๋ก ๋ถํด๋์ง ์์๋ค. ์ ํ ํญ ๋น๊ต(Fig. 4)๋ ์ข์ ๊ฐ์ ์ฆ๊ฑฐ์ง๋ง, ์ด ๊ทธ๋ฆผ์๋ DPT ๊ณ์ด ์ค ViT-Hybrid ํ๋๋ง ๋ฑ์ฅํ๊ณ ViT-Large๋ ๋น ์ ธ ์๋ค. ๋ํ โ์ ์ญ์ฑโ ์์ฒด๋ฅผ ๋๊ณ ์ผ๋ ์ ์ (์: ์ดํ ์ ์ฐฝ์ ๊ตญ์๋ก ์ ํํ ๋์กฐ๊ตฐ)๋ ์๋ค. ์ฆ ์ธก์ ๋ ๊ฒ์ โํธ๋์คํฌ๋จธ ๊ณ์ด์ด ํด์๋ ๋ณํ์ ๊ฐํ๋คโ์ด์ง โ์ ์ญ ์์ฉ์์ญ์ด ๊ทธ ์์ธ์ด๋คโ๊ฐ ์๋๋ค.
- ์ ๊ตฌ์ ๋ค์ด์ํ๋ง์ ์ฌ์ ํ๋ค. p=16์ด๋ผ๋ ๊ฒ์ ์ฒซ ์๋ฒ ๋ฉ์์ 16๋ฐฐ ์ถ์๋ฅผ ํ ๋ฒ์ ์ง๋ถํ๋ค๋ ๋ป์ด๊ณ , ๊ทธ๋์ ๋์ฝ๋์๋ s=4๊น์ง ๋๋๋ฆฌ๋ transpose conv๊ฐ ํ์ํ๋ค. ๋ ผ๋ฌธ์ โ์๋ฒ ๋ฉ ์ฐจ์์ด ํจ์น ํฝ์ ์๋ณด๋ค ์ปค์ ์๋ฆฌ์ ์ผ๋ก ์ ๋ณด๋ฅผ ๋ณด์กดํ ์ ์๋คโ๊ณ ๋ ผ์ฆํ์ง๋ง ์ด๋ ๊ฐ๋ฅ์ฑ์ ๋ ผ์ฆ์ด์ง ์ธก์ ์ด ์๋๋ค. ํจ์น ํฌ๊ธฐ ์ ์ (p=8 ๋ฑ)๋ ์๋ค.
- ์ ์ ์คํ์ ์ฐจ์ด๊ฐ ๋๋ฌด ์๊ณ ๋ถํ์ค์ฑ์ด ์๋ค. readout ์ฑํ ๊ทผ๊ฑฐ๋ 0.0822โ0.0819(0.4%), skip ์์น๋ 0.0822 vs 0.0831(1%)์ด๋ค. ๊ฒ์ฆ์ ์ ์ฝ 1,000์ฅ์ด๊ณ ์๋ยทํ์คํธ์ฐจยท์ ๋ขฐ๊ตฌ๊ฐ์ด ํ๋๋ ๋ณด๊ณ ๋์ง ์๋๋ค. ์ด ์ ๋ ์ฐจ์ด์์ โprojection์ด ๋ซ๋คโ๋ฅผ ๋จ์ ํ๊ธฐ๋ ์ด๋ ต๋ค. ์ฌ๊ธฐ์ Table 6 Hybrid ํ์ Mean ์คํ(0.0733 vs ์ฌ๊ณ์ฐ 0.0783)๊น์ง ๊ฒน์ณ, ์ ์ ํ๋ ์ธ์ฉํ ๋ ์ฃผ์๊ฐ ํ์ํ๋ค.
- ์ฌํ์ ๊ฒฐ์ ์ ์ธ ์ ๋ณด๊ฐ ๋น ์ ธ ์๋ค. โ ์ธ์ฝ๋ ์ฌ์ ํ์ต์ด ImageNet-1k์ธ์ง 21k์ธ์ง ๋ ผ๋ฌธ์ ์๋ค(โImageNet-pretrained weightsโ๋ผ๊ณ ๋ง ์ ๋๋ค). ViT๋ ์ฌ์ ํ์ต ์ฝํผ์ค์ ์ฑ๋ฅ์ด ํฌ๊ฒ ์ข์ฐ๋๋ฏ๋ก ์ด๋ ์ฌ์ํ ๋๋ฝ์ด ์๋๋ฉฐ, ํํ ๋ ผ๋ฌธ์ ํต์ฌ ์ฃผ์ฅ ์ค ํ๋๊ฐ โResNext101-WSL๋ณด๋ค ์ ์ ์ฌ์ ํ์ต ๋ฐ์ดํฐ๋ก ์ด๊ธด๋คโ๋ ๊ฒ์ด๋ผ ๋ ๊ทธ๋ ๋ค. โก ํ์ต์ ์ด GPUยท์๊ฐ์ด ์ด๋์๋ ์๋ค. ๋ณด๊ณ ๋ ํ๋์จ์ด๋ ์ถ๋ก ์ธก์ ์ฉ RTX 2080 ํ๋๋ฟ์ธ๋ฐ, ํ์ ๊ณ์ฐ์ผ๋ก ๊น์ด ํ์ต๋ง ์ฝ 6.9ร10โท ์ํ(MIX 6 ๊ธฐ์ค โ49ํ ํต๊ณผ)์ ์ฌ์ ํ์ต 60 epoch์ด ๋ ๋ถ๋๋ค. ์ฌ์ค์ ๊ฐ์ธ ์ฐ๊ตฌ์๊ฐ ์ฒ์๋ถํฐ ์ฌํํ๊ธฐ ์ด๋ ค์ด ๊ท๋ชจ์์ ๋ ์๊ฐ ์ค์ค๋ก ์ถ์ ํด์ผ ํ๋ค.
- โ๋ชจ๋ ์งํ์์ SOTAโ๋ผ๋ ์ด์นญ์ด ์๊ธฐ ํ์ ์ด๊ธ๋๋ค. ์์์ ๋ณธ KITTI AbsRel(0.062 vs BTS 0.059)์ด ๋ฐ๋ก๋ค. ๊ฒฐ๋ก ์ ๋ค์ง๋ ์์ค์ ์๋์ง๋ง, ์ด์นญ ํํ์ ๊ทธ๋๋ก ์ธ์ฉํ๋ฉด ๋ถ์ ํํด์ง๋ค.
- ๋ฐ์ดํฐ ์์กด์ฑ์ด ๋ฐฉ๋ฒ์ ์กฐ๊ฑด์ด์ ํ๊ณ๋ค. ADE20K(์ฝ 2๋ง ์ฅ)์์ DPT-Large๊ฐ ์ง๋ ๊ฒ์ ์ ์งํ ๋ณด๊ณ ์ด์ง๋ง, ๋ค์ง์ด ๋งํ๋ฉด 140๋ง ์ฅ์ ๋ชจ์ ์ ์๋ ๋๋ถ๋ถ์ dense prediction ๋ฌธ์ ์์๋ ์ด ๋ ผ๋ฌธ์ ์ด๋์ ๊ทธ๋๋ก ๊ธฐ๋ํ ์ ์๋ค๋ ๋ป์ด๋ค. ๋ ผ๋ฌธ์ ์ด ๊ฒฝ๊ณ๊ฐ ์ด๋์ฏค์ธ์ง(๋ช ๋ง ์ฅ์์ ๋ช ์ญ๋ง ์ฅ ์ฌ์ด ์ด๋์ ์ญ์ ๋๋์ง)๋ฅผ ์ฌ๋ ์คํ์ ํ์ง ์์๋ค.
- ํจ์จ์ฑ ๋ ผ์๊ฐ ์ง์ฐ ์๊ฐ์๋ง ๋จธ๋ฌธ๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ํ์ต ๋น์ฉ, ๊ณ ํด์๋ ์ ๋ ฅ์์์ ์ดํ ์ O(N_p^2) ๋น์ฉ์ ๋ค๋ฃจ์ง ์๋๋ค. 384pxยทp{=}16์ด๋ฉด N_p=576์ด๋ผ ๊ฐ๋น๋์ง๋ง, ์ด ์ถ์ด dense prediction์์ ๊ณง ๋ณ๋ชฉ์ด ๋๋ค๋ ์ ์ (์ดํ Swin๋ฅ ๊ณ์ธต์ ํธ๋์คํฌ๋จธ๊ฐ ๋ตํ) ์ด๋ฆฐ ๋ฌธ์ ๋ก ๋จ์๋ค.
๐ง ์ฌํ ๋ ธํธ
์๋๋ ๋ ผ๋ฌธ์ ์ฃผ์ฅ์ด ์๋๋ผ ๋ฆฌ๋ทฐ ์์ (2026-08-05)์ ๊ณต๊ฐ ์ฝ๋๋ฅผ ์ง์ ๋๋ ค ๋ณธ ๊ฒฐ๊ณผ๋ค. ์๋ณธ isl-org/DPT(MIT, archived)๋ฅผ ๋ฏธ๋ฌ๋งํ private ์คํ ๋ ํฌ
curieuxjy/DPT์ ๋ธ๋์นdemo/dpt-inference-2026-08-05(PR #1)์ ์ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค. ์ฌํ ๋ฒ์๋ ์ถ๋ก + NYUv2 ์ ๋ ํ๊ฐ์ด๊ณ , ํ์ต์ ์ ์ด์ ๋์์ด ๋ ์ ์๋ค(โค).
โ 5๋ ์ ํ์ ๋ชป ์ฐ์ง๋ง, ์ต์ ์คํ์ด ๊ฑฐ์ ๊ทธ๋๋ก ํตํ๋ค
์๋ณธ requirements.txt๊ฐ ํํ ์กฐํฉ์ ์ธ ์ ์์๋ค. ์ด ๋จธ์ ์ GPU๋ RTX 5090(sm_120, Blackwell) ์ด๋ผ torch 1.8.1์๋ ์ ์ด์ ํด๋น ์ปค๋์ด ์๊ณ , timm 0.4.5๋ Python 3.11์ ์ค์น๋์ง ์๋๋ค(upstream issue #94๊ฐ ์ ํํ ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ , ๋ฏธํด๊ฒฐ). ๊ทธ๋์ ํ์ ๋ฒ๋ฆฌ๊ณ ๋ฐ๋์ชฝ ๋์ผ๋ก ๊ฐ๋ค.
| ์๋ณธ ํ | ์ค์ ๋ก ํตํ ์กฐํฉ | |
|---|---|---|
| Python / torch | 3.7 / 1.8.1 |
3.11.15 / 2.11.0+cu128 |
| torchvision / timm | 0.9.1 / 0.4.5 |
0.26.0+cu128 / 1.0.28 |
| numpy | (ํ ์์) | 2.4.4 โ โก์ ๋ฐฉ์์ |
๋๋ ๋๋ชฉ์ timm์ด์๋ค. DPT๋ patch_embed.backbone.stages[i]ยทpos_dropยทblocks[i] ๊ฐ์ timm ๋ด๋ถ ์์ฑ์ ์ง์ ๋ง์ง๋ ์ฝ๋์ธ๋ฐ, 0.4.5 โ 1.0.28์ด๋ผ๋ 30๋จ๊ณ ์ ํ์์ dpt/vit.py๊ฐ ํ ์ค๋ ๊นจ์ง์ง ์์๋ค. timm์ด deprecated ๋ชจ๋ธ๋ช
๋งคํ์ ์ ์งํด vit_base_resnet50_384๊ฐ vit_base_r50_s16_384.orig_in21k_ft_in1k๋ก ์๋ ๋ฆฌ๋ค์ด๋ ํธ๋๊ณ , ์ฐธ์กฐํ๋ ๋ด๋ถ ๊ฒฝ๋ก๋ ์ ๋ถ ์ด์ ์์๋ค. ์ฒดํฌํฌ์ธํธ๋ matched 368/368 | missing 0 | unexpected 0์ผ๋ก ์์ ์ผ์นํ๊ณ (์กฐ์ฉํ ๊ธฐ๋ฅ ์์ค ์์), GitHub Release ์์ฐ 4์ข
(hybrid/large/ade20k/nyu)์ ์์นด์ด๋ธ๋ ์ง๊ธ๋ ์ ๋ถ ์ด์ ์๋ค. โ2021๋
์ฝ๋๋๊น ๋ค ๊นจ์ง ๊ฒโ์ด๋ผ๋ ์ฌ์ ๊ฐ์ ์ด ํ๋ ธ๋ค.
โก ์กฐ์ฉํ ์คํจ โ ๊นจ์ง ๊ฒ์ torch๋ timm๋ ์๋๋ผ numpy์๋ค
์๋ณธ ์์ค์ ํ์ํ ์์ ์ ๋จ ํ ๊ณณ(3์ค) ์ด์๋๋ฐ, ๊ทธ ํ ๊ณณ์ด ์์ผ๋ฉด ์คํฌ๋ฆฝํธ๋ ์๋ฌ ์์ด exit 0์ผ๋ก โfinishedโ๋ฅผ ์ฐ์ผ๋ฉด์ ๊น์ด๋งต PNG๋ฅผ ์ ๋ถ 0์ผ๋ก ์ ์ฅํ๋ค.
output_monodepth/city.png (427, 640) uint16 min=0 max=0 mean=0.0 uniq=1 โ ์ ๋ถ 0
๋ฒ์ธ์ util/io.py์ write_depth()๋ค. run_monodepth.py๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก model.half()๋ฅผ ํ๋ฏ๋ก depth๊ฐ float16์ผ๋ก ๋์ฐฉํ๋๋ฐ, ์ ์ฅ ์ง์ ์ค์ผ์ผ๋ง์ด max_val = 65535๋ฅผ ๊ณฑํ๋ค. NumPy 1.x๋ value-based casting์ผ๋ก ๋ฐฐ์ด์ float32๋ก ์น๊ฒฉ์์ผ ์ ์ ๋์ํ์ง๋ง, NumPy โฅ 2.0(NEP 50) ์์๋ ์ค์นผ๋ผ๊ฐ ๋ฐฐ์ด dtype์ ๋ฐ๊พธ์ง ๋ชปํด ๊ณ์ฐ์ด float16์ผ๋ก ๋จ๋๋ค. 65535 > float16 max(65504) โ inf/nan โ .astype("uint16") โ ์ ๋ถ 0. ์ค์ผ์ผ๋ง ์ ์ float32๋ก ์น๊ฒฉํ๋ 3์ค๋ก ๋๋ฌ๋ค.
์ด ์คํจ์ ์ฑ์ง์ด ๊ณ ์ฝํ๋ค. .pfm ์ถ๋ ฅ์ ์ ์์ด์๊ณ (float32 ๊ฒฝ๋ก), ํ์ผ ๊ฐ์ยทํฌ๊ธฐ๋ ์ ์์ด๋ฉฐ, 16-bit ๊น์ด PNG๋ ๋ทฐ์ด์์ ์๋๋ ๊ฑฐ์ ๊ฒ๊ฒ ๋ณด์ธ๋ค. ์ ์ผํ ๋จ์๋ RuntimeWarning: overflow encountered in cast ์ธ ์ค๋ฟ์ด์๊ณ , ์ง๋จ์ min/max/mean/uniq ํต๊ณ ํ ์ค๋ก ๋๋ฌ๋ค. ๋ช
๋ น ์ฑ๊ณต โ ๊ฒฐ๊ณผ ์ฑ๊ณต์ ๊ต๊ณผ์ ์ฌ๋ก์ด๊ณ , ๋์์ โ์ ์ฝ๋์ ์์กด์ฑ ์กฐ์ฌโ์์ torchยทCUDAยทtimm๋ง ๋ณด๊ณ numpy๋ฅผ ๋นผ๋์ผ๋ฉด ์ ๋๋ค๋ ๊ตํ์ด๋ค โ fp16 ์ถ๋ก ๊ฒฝ๋ก๋ฅผ ์ฐ๋ ๋ชจ๋ ๊ตฌ์ฝ๋๊ฐ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์กฐ์ฉํ ๊นจ์ง ์ ์๋ค.
โข ์ ์ฑ ๊ฒฐ๊ณผ โ ๋ ผ๋ฌธ Fig. 2์ ์ธ์์ ๊ทธ๋๋ก ์ฌํ๋๋ค

์ฌํ ์ฐ์ถ๋ฌผ(๋ ผ๋ฌธ ๊ทธ๋ฆผ ์๋) โ ์ ๋ ฅ / DPT-Hybrid / DPT-Large ๋จ์ ๊น์ด(inferno ์ปฌ๋ฌ๋งต). ๊ฐ ํธ ์ค๊ณฝยท๋ฒค์น ์ดยท๊ต์ค ์ฑ ์ ๋ค๋ฆฌ ๊ฐ์ ๊ฐ๋ ๊ตฌ์กฐ๊ฐ ์ด์ ์๊ณ ์ ์ญ ๊น์ด ์์๋ ๋ฌด๋์ง์ง ์๋๋ค. ๋์งธ ํ ๊ต์ค์์ ๋ณด๋ฏ DPT-Large ์ชฝ์ด ๋ฏธ์ธ๊ตฌ์กฐ๊ฐ ๋์ ๋๊ฒ ๋ ์ ๋ช ํ๋ค.

์ฌํ ์ฐ์ถ๋ฌผ(๋ ผ๋ฌธ ๊ทธ๋ฆผ ์๋) โ DPT-Hybrid ADE20K ๋ถํ ์ค๋ฒ๋ ์ด 4์ฅ. ๋ฒค์นยท์ฑ ์ยท๊ฑด๋ฌผ ๊ฒฝ๊ณ๋ ์ ๋ถ์ง๋ง, ADE20K ๋ถํฌ์์ ํ์ฐธ ๋ฒ์ด๋ ๊ฐ ์ฌ์ง์์๋ ๋ผ๋ฒจ์ด ๋ ์์ผ๋ก ๊ฐ๋ฆฐ๋ค.
โฃ ์ ๋ ์ฌํ โ NYUv2 654์ฅ์์ ฮด1 0.898 (๋ ผ๋ฌธ 0.904)
dpt_hybrid_nyu ์ฒดํฌํฌ์ธํธ๋ก --absolute_depth, eigen_crop, max_depth_eval=10, 654์ฅ ์ ๋ถ์ ๋ํด ์ ์ EVALUATION.md์ ํ๋กํ ์ฝ(BTS eval_with_pngs.py)์ ๊ทธ๋๋ก ๋๋ ธ๋ค.
| ฮด1โ | ฮด2โ | ฮด3โ | AbsRelโ | RMSEโ | log10โ | |
|---|---|---|---|---|---|---|
์ ์ ๋ณด๊ณ (EVALUATION.md) |
0.904 | 0.988 | 0.998 | 0.109 | 0.357 | 0.045 |
| ์ฌํ โ fp16(๊ธฐ๋ณธ) | 0.898 | 0.987 | 0.998 | 0.112 | 0.360 | 0.046 |
์ฌํ โ fp32(--no-optimize) |
0.899 | 0.987 | 0.998 | 0.112 | 0.359 | 0.046 |
ฮด1 ๊ฒฉ์ฐจ 0.006(์๋ 0.7%), RMSE ๊ฒฉ์ฐจ 3 mm(0.8%) โ ์ฌํ ์ฑ๊ณต์ผ๋ก ํ๋จํ๋ค. ๋จ์ ๊ฒฉ์ฐจ์ ์์ธ์ ๋ ๊ฐ์ง๋ก ์ขํ์ง๋ค. โ fp16/fp32 ์ด๋ธ๋ ์ด์
์์ ฮด1 ์ฐจ์ด๊ฐ 0.001์ ๊ทธ์ณ ์ ๋ฐ๋ ํ์ ๋ฐฐ์ ๋๋ค. โ ๊ทธ๋ ๋ค๋ฉด ๊ฐ์ฅ ์ ๋ ฅํ ๊ฒ์ GT ์์ค ์ฐจ์ด๋ค. ์ ์๊ฐ ๋ฐฐํฌํ nyu_eval_dataset.zip(Google Drive)์ด HTTP 404๋ผ Marigold(prs-eth)๊ฐ ๋ฏธ๋ฌ๋งํ nyu_depth_v2_labeled.mat ์ถ์ถ๋ณธ + ๊ณต์ 654์ฅ test split์ ์ผ๋๋ฐ, ๋ ๋ฐฐํฌ๋ณธ์ depth ์ถ์ถยท์ ๋ ฌ ์ธ๋ถ๊ฐ ๊ฐ๋ค๋ ๋ณด์ฅ์ด ์๋ค. ์ ์ ๋ฐฐํฌ๋ณธ์ผ๋ก๋ ๊ฒ์ฆํ์ง ๋ชปํ๋ค(๋ฏธ๊ฒ์ฆ ํญ๋ชฉ). ์์นด์ด๋ธ๋ ๋ ํฌ์์ GitHub Release ์์ฐ์ ์ด์ ์๋๋ฐ Google Drive ๋งํฌ๋ง ์ฃฝ์๋ค๋ ๊ฒ๋ ๊ธฐ๋กํด ๋ ๋งํ๋ค โ ๋ฐฐํฌ์ฒ๋ง๋ค ์๋ช
์ด ๋ค๋ฅด๋ค.
(์ ํ์ ์ ์ ๊ฐ์ EVALUATION.md ๊ธฐ์ค์ด๋ค. ๋
ผ๋ฌธ Table 2๋ AbsRel๋ง 0.110์ผ๋ก ์ ์ด 0.001 ์ฐจ์ด๊ฐ ์๊ณ , ๋๋จธ์ง ์งํ๋ ๋์ผํ๋ค.)
๋ถ์์ ์ผ๋ก ์ป์ ์ค์ธก์น๋ ๋จ๊ฒจ ๋๋ค. 640ร480 NYU 654์ฅ ์ถ๋ก ์ด 12.2 img/s(fp16) vs 9.0 img/s(fp32) ๋ก fp16์ด 1.36๋ฐฐ ๋น ๋ฅด๋ฉด์ ์ ํ๋ ์์ค์ ฮด1 0.001์ด๋ค. peak VRAM(batch 1, torch.cuda.max_memory_reserved())์ DPT-Hybrid ๊น์ด 384px 414 MiB, DPT-Large ๊น์ด 848 MiB, DPT-Hybrid ๋ถํ 480px 1,134 MiB, DPT-Hybrid-NYU 640ร480 1,308 MiB โ ๋
ผ๋ฌธ์ด ๋ณด๊ณ ํ RTX 2080 ์ง์ฐ ์๊ฐ๊ณผ ๋ณ๊ฐ๋ก, ์ถ๋ก ์์ฒด๋ 1 GB๊ธ GPU ๋ฉ๋ชจ๋ฆฌ๋ก ์ถฉ๋ถํ๋ค๋ ๋ป์ด๋ค.
โค ํ์ต์ โํ๊ฒฝ์ด ์ ๋ผ์โ๊ฐ ์๋๋ผ ์ฝ๋๊ฐ ์์ด์ ๋ฒ์ ๋ฐ์ด๋ค
์ โ์ฝ์ ยทํ๊ณโ์์ ํ์ต ๋น์ฉ์ด ๋ณด๊ณ ๋์ง ์์๋ค๊ณ ์ ์๋๋ฐ, ์ฌํ ๊ด์ ์์๋ ๊ทธ๋ณด๋ค ์์ ์ฌ์ค์ด ์๋ค. ์๋ณธ ๋ ํฌ์ ํ์ต ์ฝ๋๊ฐ ์์ ์๋ค. ํ์ผ ํธ๋ฆฌ์ train*.pyยทdataloaderยทlossยทconfig๊ฐ ํ๋๋ ์๊ณ , README ์ฒด์ธ์ง๋ก๊ทธ๋ โInitial release of inference code and modelsโ๋ผ๊ณ ๋ง ์ ๋๋ค. ํ์ต ์ฝ๋๋ฅผ ์๊ตฌํ๋ ์ด์ #64ยท#60ยท#54๋ ์ ๋ถ OPENยท๋ฏธ์๋ต์ด๋ฉฐ ๋ ํฌ๋ archived๋ค. ์ฆ ๋
ผ๋ฌธ์ ํ์ต ๊ด๋ จ ์ฃผ์ฅ(MIX 6 ์ฌ์ ํ์ต, ์์ค ์ค๊ณ, ๋ฏธ์ธ์กฐ์ ์ ์ฐจ)์ ์ 3์๊ฐ ๊ฒ์ฆํ ์ ์๋ ๋์์ด ์๋๋ค โ ๊ณต๊ฐ๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฌผ์ธ ๊ฐ์ค์น๋ฟ์ด๋ค.
๊ทธ ๋ฐ์ ์๋ํ์ง ์์ ๊ฒ: KITTI ์ ๋ ํ๊ฐ(๊ฐ์ ์ด์ ๋ก kitti_eval_dataset.zip ๋งํฌ๊ฐ ์ฃฝ์๊ณ ๋์ฒด ๋ฏธ๋ฌ ํ๋ณด ์๊ฐ์ ์ฐ์ง ์์๋ค), DPT-Large ADE20K ๋ถํ (Hybrid๋ก ๋ชฉ์ ๋ฌ์ฑ ํ๋จ).
๊ด๋ จ ์ฐ๊ตฌ์์ ์๋ฆฌ ๋งค๊น
DPT๋ โViT๋ฅผ dense prediction์ผ๋ก ์ฎ๊ธฐ๋โ ์ฒซ ์ธ๋์ ์ํ๋ค. 2020๋ ๋ง ViT(Dosovitskiy et al.)๊ฐ ๋ถ๋ฅ์์ CNN๊ณผ ๊ฒจ๋ฃฐ ์ ์์์ ๋ณด์ธ ์งํ, 2021๋ ์๋ฐ๊ธฐ์ ๊ฐ์ ์ง๋ฌธ์ด ๊ฒ์ถยท๋ถํ ยท๊น์ด๋ก ๋ฒ์ก๊ณ DPT๋ ๊ทธ์ค โ์ธ์ฝ๋๋ง ๋ฐ๊พธ๊ณ ๋์ฝ๋๋ ๊ฒ์ฆ๋ ๊ฒ์ ์ด๋คโ๋ ๊ฐ์ฅ ๋ณด์์ ์ด๋ฉด์ ๋ช ํํ ํด๋ต์ ๋๋ค.
- ์์ชฝ(๋ฌด์์ ๊ณ์นํ๋). ๋์ฝ๋๋ RefineNet(Lin et al.)๊ณผ MiDaS(Ranftl et al.)์ ์ง๊ณ๋ค. ์คํ ํ๋กํ ์ฝ(zero-shot cross-dataset transfer, affine ๋ถ๋ณ ์์ค)๋ MiDaS ๊ทธ๋๋ก๋ค. DPT๋ ์ฌ์ค์ โMiDaS์ ์ธ์ฝ๋ ๊ต์ฒดํโ์ด๋ฉฐ, ๊ทธ๋์ ๋น๊ต๊ฐ ์ ๋ํ ๊นจ๋ํ๋ค.
- ์์ชฝ(๊ฒฝ์ ๊ณ๋ณด). ๊ฐ์ ์๊ธฐ CNN ์ชฝ ๋ต์ HRNet์ฒ๋ผ ๋ค์ค ํด์๋๋ฅผ ๋ณ๋ ฌ ์ ์งํ๊ฑฐ๋ ResNeSt์ฒ๋ผ ๋ฐฑ๋ณธ ์์ฒด๋ฅผ ๊ฐํํ๋ ๊ฒ์ด์๋ค(Table 4์ ๋น๊ต ๋์์ด ์ ํํ ์ด๋ค์ด๋ค). ํธ๋์คํฌ๋จธ ์ชฝ์์๋ ์ ๊ตฌ์ ํฐ ํจ์น์ O(N^2) ์ดํ ์ ์ ๊ณ์ธตํ๋ก ํธ๋ ํ๋ฆ์ด ๊ณง๋ฐ๋ก ์ด์ด์ง๋๋ฐ, ์ด ์ถ์ ํ์ ๋ ผ์๋ MambaVision ๋ฆฌ๋ทฐ์์ ๋ค๋ฃฌ ํ์ด๋ธ๋ฆฌ๋ ๋ฐฑ๋ณธ ๊ณ๋ณด(๊ณ์ธต์ ๊ตฌ์กฐ + ๋ง์ง๋ง ์ธต self-attention, ADE20K๋ก ํ๊ฐ)์ ์ง์ ๋ง๋ฟ๋๋ค. DPT์ ๋ฑ๋ฐฉ(isotropic) ViT๋ ๊ทธ ๊ณ๋ณด์์ ๋ณด๋ฉด โ๊ฐ์ฅ ๋จ์ํ ๊ทน๋จโ์ด๋ค.
- ์๋์ชฝ(๋ฌด์์ด ์ด์ด์ก๋). โ ์ค์ฉ์ ์ผ๋ก๋ MiDaS v3(DPT ๊ธฐ๋ฐ)๊ฐ ์ฌ์ค์ ํ์ค ๋จ์ ๊น์ด ๋ชจ๋ธ์ด ๋์๊ณ , ๊ทธ ๋ค Depth Anything ๊ณ์ด๊น์ง โ๋๊ท๋ชจ ํผํฉ ๋ฐ์ดํฐ + ViT ๋ฐฑ๋ณธ + DPT ๋์ฝ๋โ๋ผ๋ ์กฐํฉ์ด ์ง์๋๋ค. โก ๋ถํ์ผ๋ก์์ ์ฌ์ฌ์ฉ์ด ํนํ ๋์ ๋๋ค โ ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์์ ์ ค ํ๋ฉด ๊น์ด/ํ์ฅ ๋ณต์์ฒ๋ผ ์ ๋ ฅ ๋๋ฉ์ธ์ด ์ ํ ๋ค๋ฅธ ๋ฌธ์ ์์๋ DPT ๋์ฝ๋๊ฐ ๊ธฐ๋ณธ๊ฐ์ฒ๋ผ ์ฐ์ธ๋ค(Sparsh, Neural Feels). ์ธ์ฝ๋ ๊ต์ฒด๋ฅผ ์ฃผ์ฅํ ๋ ผ๋ฌธ์ ์ ์ฐ์ด ์ ์ ๋์ฝ๋ ์ชฝ์์ ๊ฐ์ฅ ๋๋ฆฌ ์๋น๋๊ณ ์๋ค๋ ์ ์ ์์ด๋ฌ๋ํ๋ฉด์๋, Reassemble์ด ์ผ๋ง๋ ์ ์ ์๋ ์ธํฐํ์ด์ค์ธ์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
์์ฝ
DPT์ ๊ธฐ์ฌ๋ ์ํคํ ์ฒ์ ์ผ๋ก ํ๋๋ก ์์ฝ๋๋ค: dense prediction์ ์ธ์ฝ๋์์ ๋ค์ด์ํ๋ง์ ๊ฑท์ด๋ด๊ณ , ๋์ ํ ํฐ์ ์ด๋ฏธ์ง๋ก ๋๋๋ฆฌ๋ ์ ์ ์๋ 3๋จ ์ฐ์ฐ(Reassemble)์ ์ค๋ค. ์ด ๋จ์ํ ๊ต์ฒด๊ฐ ๋จ์ ๊น์ด zero-shot ์ ์ด์์ ํ๊ท 28%(DPT-Large) ๊ฐ์ , ADE20K 49.02 mIoU๋ผ๋ ๋น์ ์ต๊ณ ์์น๋ก ์ด์ด์ก๊ณ , ๋ฐ์ดํฐ ์ฆ๊ฐ๋ง์ ํจ๊ณผ๊ฐ ์๋์ ํต์ ์คํ์ผ๋ก ๋ณด์๋ค.
ํ๊ณ๋ ๊ทธ๋งํผ ๋ถ๋ช ํ๋ค. ์ด๋์ ์ ์ ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ด๋ฉฐ(ADE20K์์ Large๊ฐ Hybrid์ ์ง๋ค), โ์ ์ญ ์์ฉ์์ญ์ด ์์ธโ์ด๋ผ๋ ์ธ๊ณผ๋ ์ ์ ๋ก ๋ถํด๋์ง ์์๊ณ , ์ ์ ์คํ์ ์ฐจ์ด๋ ๋ถํ์ค์ฑ ๋ณด๊ณ ์์ด๋ ํด์ํ๊ธฐ ์ด๋ ค์ธ ๋งํผ ์๋ค. ์ฌ์ ํ์ต ์ฝํผ์ค์ ํ์ต ๋น์ฉ์ด ๋ณด๊ณ ๋์ง ์์ ๊ฒ์ ์ฌํ ๊ด์ ์์ ๊ฐ์ฅ ์์ฌ์ด ๋๋ชฉ์ด๋ค.
์ฌํ ์ํ(2026-08-05 ๊ธฐ์ค): ๊ณต๊ฐ๋ ์ถ๋ก ์ฝ๋๋ ํ ๋ฒ์ (torch 1.8.1 / timm 0.4.5)์ ๋ฒ๋ฆฌ๊ณ torch 2.11.0+cu128 / timm 1.0.28 / Python 3.11(RTX 5090, sm_120)๋ก ์ฌ๋ ค๋ ์๋ณธ ์์ 3์ค๋ก ๊ทธ๋๋ก ๋์๊ฐ๊ณ , NYUv2 654์ฅ ์ ๋ ํ๊ฐ์์ ฮด1 0.898 / RMSE 0.360(์ ์ ๋ณด๊ณ 0.904 / 0.357)์ผ๋ก ์ฌํ๋๋ค. ๋ค๋ง ์ ์ ๋ฐฐํฌ ํ๊ฐ์
๋งํฌ๊ฐ ์ฃฝ์ด ๋์ฒด ๋ฏธ๋ฌ GT๋ฅผ ์ผ์ผ๋ฏ๋ก ๋จ์ 0.006์ ๊ฒฉ์ฐจ๋ GT ์์ค ์ฐจ์ด์ผ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค(fp16/fp32 ์ด๋ธ๋ ์ด์
์ผ๋ก ์ ๋ฐ๋ ์์ธ์ ๋ฐฐ์ ). ๊ฐ์ฅ ์ธ์์ ์ธ ์คํจ๋ 5๋
์น torchยทtimm ์ ํ๊ฐ ์๋๋ผ NumPy 2.0์ ์บ์คํ
๊ท์น ๋ณ๊ฒฝ์ด ๊น์ด PNG๋ฅผ ์กฐ์ฉํ ์ ๋ถ 0์ผ๋ก ๋ง๋ ๊ฒ์ด์๋ค. ํํธ ํ์ต ์ฝ๋๋ ๊ณต๊ฐ๋ ์ ์ด ์์ด ๋
ผ๋ฌธ์ ํ์ต ๊ด๋ จ ์ฃผ์ฅ์ ์ ์ด์ ์ 3์ ๊ฒ์ฆ ๋์์ด ์๋๋ค. ์์ธํ ๋ด์ฉ๊ณผ ํ๊ณ๋ ๐ง ์ฌํ ๋
ธํธ.
2021๋
์ ์์ ์์ ์ด ๋
ผ๋ฌธ์ ์์น๋ โViT๊ฐ ๋ถ๋ฅ๋ฅผ ๋์ด ํฝ์
๋จ์ ์์ธก์์๋ ํตํ๋คโ๋ ๊ฒ์ ๊ฐ์ฅ ํต์ ๋ ๋ฐฉ์์ผ๋ก ์
์ฆํ ์ฆ๊ฑฐ๋ค. ์ดํ ๊ณ์ธต์ ๋น์ ํธ๋์คํฌ๋จธ์ ๋๊ท๋ชจ ๊น์ด ํ์ด๋ฐ์ด์
๋ชจ๋ธ์ด ๊ทธ ์์ ์์๊ณ , Reassemble + Fusion ๋์ฝ๋๋ ์ ๋
ผ๋ฌธ์ ๋ฌธ์ (๊น์ดยท๋ถํ )๋ฅผ ํจ์ฌ ๋์ด ์ด๊ฐ ๊ฐ์ ์ด์ง์ ๋๋ฉ์ธ์์๊น์ง ํ์ค ๋ถํ์ผ๋ก ์ด์๋จ์๋ค.