[CV Notes] Lecture 17 - 3D Vision
์๋ณธ ๊ฒ์๊ธ: https://velog.io/@euisuk-chung/Notes-Computer-Vision-Lecture-17
๋ค์์ ์๋ Lecture์ ๋ํ ์์ฝ ๋ฐ ํ๊ธฐ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. ํ๋ฆฐ ๋ด์ฉ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค ๐
- Course Website: https://web.eecs.umich.edu/~justincj/teaching/eecs498/
- Instructor: Justin Johnson
- Lecture 17: 3D Vision
1. 3D ๋น์ ๊ฐ์
- 2D์์ 3D๋ก์ ํ์ฅ:
- ์ด์ ๊ฐ์์์๋ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๋ฅผ ์ธ์ํ๊ณ ์์น๋ฅผ ์ฐพ๋ ๋ค์ํ ์์ (์: ๊ฐ์ฒด ํ์ง, ์๋ฏธ๋ก ์ ๋ถํ , ์ธ์คํด์ค ๋ถํ ๋ฑ)์ ๋ํด ๋ค๋ค์ต๋๋ค.
- ์ค์ ์ธ๊ณ๋ 2D๊ฐ ์๋๋ผ 3D์ด๋ฏ๋ก, ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ 3์ฐจ์ ๊ณต๊ฐ ์ ๋ณด๋ฅผ ์ถ๊ฐํ์ฌ 3D ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ์ด ๊ฐ์์์๋ 2D ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชจ๋ธ์ 3D ๊ณต๊ฐ์ ํฌํจ์์ผ 3D ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ํ๊ตฌํฉ๋๋ค.
2. 3D ๋ฌธ์ ์ ๋ ๊ฐ์ง ์ฃผ์ ๊ณผ์
- ๋ณธ๊ฒฉ์ ์ธ ์ค๋ช ์ ์์, 3D ๋ฌธ์ ์ ๋ ๊ฐ์ง ์ฃผ์ ๊ณผ์ ์ ๋ํด์ ๊ฐ๋ณ๊ฒ ์ค๋ช ์ ์ํํฉ๋๋ค.
-
๋จ์ผ ์ด๋ฏธ์ง์์ 3D ๋ชจ์ ์์ธก (์ข):
- ๋จ์ผ RGB ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ทธ ์ด๋ฏธ์ง ๋ด ๊ฐ์ฒด์ 3D ๋ชจ์์ ์์ธกํ๋ ์์ .
- ์ ๋ ฅ์ ์ฌ์ ํ 2D ์ด๋ฏธ์ง์ง๋ง, ์ถ๋ ฅ์ ๊ฐ์ฒด์ 3D ํํ์ด ๋ฉ๋๋ค.
-
3D ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ ์์ (์ฐ):
- 3D ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ถ๋ฅ ๋๋ ์ธ๋ถํ ์์ ์ ์ํํฉ๋๋ค.
- ์ด ์์ ์์๋ 3D ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ค๋ฃจ๋ฉฐ, ์ด๋ฅผ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค.
3. 5๊ฐ์ง 3D ๋ชจ์ ํํ ๋ฐฉ์
-
โ
๋ชจ๋ธ๋ง
โ์ด๋ผ๋ ์ฉ์ด๋ 3D ๋ชจ์๊ณผ 3D ์ ๋ณด๋ฅผ ํํํ๊ฑฐ๋ ํํํ๋ ๋ฐฉ๋ฒ์ ์ค๊ณํ๊ณ ๊ตฌ์ฑํ๋ ๊ณผ์ ์ ์๋ฏธํฉ๋๋ค.- ๊ตฌ์ฒด์ ์ผ๋ก๋, ์ปดํจํฐ ๊ทธ๋ํฝ์ค๋ ์ปดํจํฐ ๋น์ ์์ ๊ฐ์ฒด์ 3D ๊ตฌ์กฐ๋ฅผ ์ํ์ ๋๋ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ๋ฐฉ์์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ ๋งํฉ๋๋ค.
- ๋ชจ๋ธ๋งํ๊ธฐ ์ํด ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๋ค์ํ ์ ํ์ ํํ ๋ฐฉ์(representation)์ด ๋ง์ด ์์ผ๋ฉฐ, ๋ณธ ๊ฐ์์์๋ ์ด๋ฌํ ์๋ก ๋ค๋ฅธ 3D ๋ชจ์ ํํ ๋ฐฉ์ ์ค์์ ์ฌ๋๋ค์ด ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉํ๋ ๋ค์ฏ ๊ฐ์ง๋ฅผ ์๊ฐํฉ๋๋ค.
-
๊น์ด ๋งต(Depth Map):
- ๊ฐ๋ : ๊น์ด ๋งต์ ๊ฐ ํฝ์ ์ ๋ํด ์นด๋ฉ๋ผ์ ํด๋น ํฝ์ ์ด ํํํ๋ ๊ฐ์ฒด ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ฐ๋จํ 3D ํํ ๋ฐฉ์์ ๋๋ค.
-
ํํ ๋ฐฉ์: ์ ํต์ ์ธ RGB ์ด๋ฏธ์ง๊ฐ ์์ ๊ฐ์ ์ ์ฅํ๋ 2D ๊ทธ๋ฆฌ๋๋ผ๋ฉด, ๊น์ด ๋งต์ ๊ฐ ํฝ์ ์ ๊ฑฐ๋ฆฌ ๊ฐ์ ํ ๋นํ๋ 2D ๊ทธ๋ฆฌ๋๋ก, RGB ์ด๋ฏธ์ง์ ๊น์ด ์ ๋ณด๋ฅผ ์ถ๊ฐํ ๊ฒ์ ๋๋ค.
- ์ฅ์ : ๊น์ด ๋งต์ ๋ค์ํ 3D ์ผ์(์: ๋ง์ดํฌ๋ก์ํํธ Kinect, iPhone์ Face ID ๋ฑ)๋ก๋ถํฐ ์ง์ ์บก์ฒํ ์ ์๋ ์ ํ์ 3D ๋ฐ์ดํฐ์ ๋๋ค.
- ๋จ์ : ๊น์ด ๋งต์ ๊ฐ๋ ค์ง ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์บก์ฒํ ์ ์์ผ๋ฏ๋ก, ์ผ๋ถ ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์จ์ ํ ํํํ์ง ๋ชปํฉ๋๋ค. ์ด ๋๋ฌธ์ ์์ ํ 3D๊ฐ ์๋ โ2.5Dโ๋ก ๋ถ๋ฆฝ๋๋ค.
-
๊น์ด ๋งต ์์ธก: ์ ๊ฒฝ๋ง์ ์ฌ์ฉํด RGB ์ด๋ฏธ์ง๋ก๋ถํฐ ๊น์ด ๋งต์ ์์ธกํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ์ ์ฒด์ ์ผ๋ก ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Fully Convolutional Network, FCN) ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ก Scale-depth ambiguity
- Scale-depth ambiguity๋ 3D ๋น์ ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก, ๋จ์ผ 2D ์ด๋ฏธ์ง์์๋ ๊ฐ์ฒด์ ์ค์ ํฌ๊ธฐ์ ๊ฑฐ๋ฆฌ ๊ฐ์ ๊ตฌ๋ถ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ์ ์ ์๋ฏธํฉ๋๋ค.
์ฆ, ์ด๋ค ๊ฐ์ฒด๊ฐ ๋ฉ๋ฆฌ ์๋ ํฐ ๊ฐ์ฒด์ธ์ง, ๊ฐ๊น์ด ์๋ ์์ ๊ฐ์ฒด์ธ์ง ๋จ์ผ ์ด๋ฏธ์ง์์๋ง์ผ๋ก๋ ๊ตฌ๋ณํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ ๋ฐฐ ๋ ํฐ ๊ณ ์์ด๊ฐ ๋ ๋ฐฐ ๋ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ค๊ณ ์์ํด๋ณด๊ฒ ์ต๋๋ค(์ ์ด๋ฏธ์ง ์ฐธ๊ณ ). ์ด ๋ ๊ณ ์์ด๋ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ ๊ฑฐ๋ฆฌ์ ์์ง๋ง, 2D ์ด๋ฏธ์ง์์๋ ๋ ๊ณ ์์ด๊ฐ ๋์ผํ ํฌ๊ธฐ๋ก ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ด ๋์ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ด๋ฌํ ๋ชจํธ์ฑ ๋๋ฌธ์, 3D ๋ฐ์ดํฐ๋ฅผ ์์ธกํ๊ฑฐ๋ ๋ถ์ํ ๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ด ๊ฐ์ฒด์ ์ ๋์ ์ธ ํฌ๊ธฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ํํ๊ฒ ์์ธกํ๊ธฐ ์ด๋ ต์ต๋๋ค.
-
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, scale-invariant loss function์ด๋ผ๋ ํน์ํ ์์ค ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋์ ์ธ ํฌ๊ธฐ ๋์ , ๊ฐ์ฒด์ ์๋์ ์ธ ํฌ๊ธฐ์ ๊น์ด ๊ด๊ณ์ ์ง์คํ์ฌ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํตํด ์ค์ผ์ผ ์ฐจ์ด์ ์ํ ์ค๋ฅ๋ฅผ ์ค์ด๊ณ , ๋ชจ๋ธ์ด ๋ณด๋ค ์ผ๊ด๋ 3D ์์ธก์ ํ ์ ์๋๋ก ๋์์ค๋๋ค.
-
ํ๋ฉด ๋ฒ์ ๋งต(Surface Normal Map):
- ๊ฐ๋ : ๊ฐ ํฝ์ ์ ๋ํด ๊ฐ์ฒด ํ๋ฉด์ ๋ฐฉํฅ์ ๋ํ๋ด๋ ๋ฒกํฐ๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค.
- ํํ ๋ฐฉ์: ๋ฒ์ ๋ฒกํฐ์ ๋ฐฉํฅ์ RGB ์์์ผ๋ก ํํํ์ฌ, ๊ฐ ํฝ์ ์์ ํ๋ฉด์ด ์ด๋ ๋ฐฉํฅ์ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ๋ํ๋ ๋๋ค.
-
ํ์ฉ: ํ๋ฉด ๋ฒ์ ๋งต์ ๋ฌผ์ฒด์ ์ธ๋ถ์ ์ธ ํ๋ฉด ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ๋ฐ ์ ์ฉํ๋ฉฐ, ํ๋ฉด ๋ฒ์ ๋งต๊ณผ ๊น์ด ๋งต์ ๊ฒฐํฉํ์ฌ ๊ฐ์ฒด์ 3D ๊ตฌ์กฐ๋ฅผ ๋ณด๋ค ์ ํํ๊ฒ ์์ธกํ ์ ์์ต๋๋ค.
-
๋ณต์ ๊ทธ๋ฆฌ๋(Voxel Grid):
-
๊ฐ๋ : 3D ๊ณต๊ฐ์ ์ผ์ ํ ํฌ๊ธฐ์ ๊ทธ๋ฆฌ๋๋ก ๋๋๊ณ , ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์ด ์ ์ ๋์๋์ง ์ฌ๋ถ๋ฅผ ์ด์ง ๊ฐ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ์์ ๋๋ค.
-
ํน์ง: ๋ง์น โ๋ง์ธํฌ๋ํํธโ์ ๊ฐ์ ๋ธ๋ก ๊ธฐ๋ฐ์ ์ธ๊ณ๋ฅผ ์์ํ๋ฉด ์ดํดํ๊ธฐ ์ฌ์ฐ๋ฉฐ, 2D์ ํฝ์ ๊ทธ๋ฆฌ๋๋ฅผ 3D๋ก ํ์ฅํ ๊ฐ๋ ์ ๋๋ค.
-
๋ณต์ ์์ธก: ๋ณต์ ๊ทธ๋ฆฌ๋์์ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฅํ๊ฑฐ๋ ์ธ์ํ๊ธฐ ์ํด 3D ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(3D Convolutional Neural Network)์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- 2D ์ ๋ ฅ ์ด๋ฏธ์ง: ์ ๋ ฅ์ผ๋ก 3์ฑ๋ RGB ์ด๋ฏธ์ง(ํฌ๊ธฐ: 3xHxW)๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- 2D CNN: 2D ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(CNN)์ด ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ์ฌ ํน์ง ๋งต์ ์์ฑํฉ๋๋ค. ์ด๋, ์์ฑ๋ 2D ํน์ง ๋งต์ ํฌ๊ธฐ๋ CxHxW์ ๋๋ค.
- 3D CNN: 2D CNN์์ ๋์จ ํน์ง ๋งต์ ๊ธฐ๋ฐ์ผ๋ก, 3D CNN์ด ์ฌ์ฉ๋์ด 3D ํน์ง ๋งต(CโxDxHxW)์ ์์ฑํฉ๋๋ค.
- ๋ณต์ ๊ทธ๋ฆฌ๋ ์์ฑ: ๋ง์ง๋ง์ผ๋ก, 3D CNN์ ์ฌ์ฉํด 4D ํ ์(ํฌ๊ธฐ: 1xVxVxV)๋ก ๋ณํํ์ฌ, ๋ณต์ ์ ์ ์ ํ๋ฅ (occupancy probability)์ ์์ธกํฉ๋๋ค.
-
ํ์ต: ๊ฐ ๋ณต์ ์ ์์ธก๋ ์ ์ ํ๋ฅ ์ ๊ทธ๋ผ์ด๋ ํธ๋ฃจ์ค์ ๋น๊ตํ๋ per-voxel cross-entropy loss๋ฅผ ์ฌ์ฉํด ํ์ตํฉ๋๋ค.
๐ ์ ๋ฐฉ์์ 3D CNN์ ์ฌ์ฉํ์ฌ 3D ๊ณต๊ฐ ์ ์ฒด์์ ํน์ง์ ์ถ์ถํ๊ณ ๋ณต์ ์ ์ ํ๋ฅ ์ ๊ณ์ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ 3D CNN์ 2D CNN์ ๋นํด ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค:
- ํ๋ธ์ ์ฆ๊ฐ: 3D CNN์ ๊ณ์ฐ ๋ณต์ก๋๋ 2D CNN๋ณด๋ค ํจ์ฌ ํฝ๋๋ค. ์ด๋ 3D ํฉ์ฑ๊ณฑ ํํฐ๊ฐ 3D ๊ณต๊ฐ ๋ด์์ ์ฌ๋ผ์ด๋ฉํ๋ฉฐ ์ ์ฉ๋๊ธฐ ๋๋ฌธ์, ๊ณ์ฐ ๋น์ฉ์ด ํ๋ธ์ ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ: 3D CNN์ 3D ํน์ง ๋งต์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๋ ๋งค์ฐ ํฝ๋๋ค. ํนํ ๊ณ ํด์๋์ ๋ณต์ ๊ทธ๋ฆฌ๋๋ฅผ ์์ฑํ๋ ค๋ฉด, ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
๐ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ Voxel Tubes ๋ฐฉ์์ ์ด๋ฌํ ๊ณ์ฐ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด ๊ณ ์๋์์ต๋๋ค:
- ํจ์จ์ฑ: 3D CNN ๋์ 2D CNN๋ง์ ์ฌ์ฉํ์ฌ ๋ณต์ ๊ทธ๋ฆฌ๋๋ฅผ ์์ธกํฉ๋๋ค. ์ด๋ 2D CNN์ด ๋ ์ ์ ๊ณ์ฐ ๋น์ฉ๊ณผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์, ํจ์ฌ ๋ ํจ์จ์ ์ ๋๋ค.
- ๊ฐ๋จํ ํด์: ๋ง์ง๋ง ๊ณ์ธต์์ ๋ณต์ ๊ทธ๋ฆฌ๋๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ด ์ง๊ด์ ์ด๋ฉฐ, Z์ถ ๋ฐฉํฅ์ผ๋ก ๋ณต์ ์ ์ ์ ํ๋ฅ ์ ๊ณ์ฐํ๋ โํ๋ธโ๋ก ํด์ํ ์ ์์ต๋๋ค.
- 2D CNN: ์ด์ ๊ณผ ๋์ผํ๊ฒ, 2D CNN์ด ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ์ฌ ํน์ง ๋งต์ ์์ฑํฉ๋๋ค.
- 3D ํน์ง ์ถ์ถ: 3D CNN์ ์ฌ์ฉํ์ง ์๊ณ , 2D CNN์ ๋ง์ง๋ง ํฉ์ฑ๊ณฑ ๊ณ์ธต์์ โํ๋ธโ ํํ์ ๋ณต์ ์ ์ ํ๋ฅ ์ ์์ธกํฉ๋๋ค. ์ฌ๊ธฐ์ โํ๋ธโ๋ ๊ฐ ์ฑ๋์ด ๋ณต์ ๊ทธ๋ฆฌ๋์ ํ ์ถ(Z์ถ)์ ๋ฐ๋ผ ์์ธก๋ ์ ์ ํ๋ฅ ์ ๋ํ๋ด๋ ๋ฐฉ์์ ๋๋ค.
- ํ๋ธ์ ํด์: ๋ง์ง๋ง ๊ณ์ธต์ ์ถ๋ ฅ์ VxVxV ํฌ๊ธฐ์ ๋ณต์ ๊ทธ๋ฆฌ๋๋ก ํด์๋๋ฉฐ, ๊ฐ ์ฑ๋์ 3D ๊ณต๊ฐ์์ Z์ถ ๋ฐฉํฅ์ ๋ณต์ ์ ์ ํ๋ฅ ์ ๋ํ๋ ๋๋ค.
- ํ์ต: ๋ง์ฐฌ๊ฐ์ง๋ก per-voxel cross-entropy loss๋ฅผ ์ฌ์ฉํด ํ์ตํฉ๋๋ค.
-
๋จ์ : ๋์ ํด์๋๋ก ๋ณต์ ๊ทธ๋ฆฌ๋๋ฅผ ํํํ๋ ค๋ฉด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 1024ร1024ร1024 ํด์๋์ ๋ณต์ ๊ทธ๋ฆฌ๋๋ฅผ ์ ์ฅํ๋ ๋ฐ๋ง ์ฝ 4GB์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
-
ํจ์จ์ฑ ๋ฌธ์ ํด๊ฒฐ: ๋ณต์ ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๊ธฐ ์ํด ๋ค์ค ํด์๋ ๋ณต์ ๊ทธ๋ฆฌ๋(Multi-resolution Voxel Grid)๋ ์ฅํธ๋ฆฌ(Octree) ๋ฑ์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
-
์์์ ํ๋ฉด(Implicit Surface):
-
๊ฐ๋ : 3D ๋ชจ์์ ํจ์๋ก ํํํ์ฌ, ์์์ 3D ์ขํ๊ฐ ๊ฐ์ฒด์ ๋ด๋ถ์ธ์ง ์ธ๋ถ์ธ์ง๋ฅผ ํ๋ฅ ๋ก ๋ํ๋ด๋ ๋ฐฉ์์ ๋๋ค.
-
ํํ ๋ฐฉ์: ์ฃผ์ด์ง 3D ๊ณต๊ฐ์ ์ขํ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์, ๊ทธ ์ขํ๊ฐ ๊ฐ์ฒด์ ํ๋ฉด์ธ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ํจ์์ ๋๋ค. ์ด ํจ์๋ ์ ๊ฒฝ๋ง์ผ๋ก ํ์ต๋ ์ ์์ต๋๋ค.
์์์ ํจ์๋ 3D ๊ณต๊ฐ์์ ์์์ ์ ์ด ํน์ ๊ฐ์ฒด์ ๋ด๋ถ์ ์๋์ง ๋๋ ์ธ๋ถ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ํจ์์ ๋๋ค.
โ๏ธ ์ด ํจ์๋ 3D ๊ณต๊ฐ ๋ด์ ์ขํ (x, y, z)๋ฅผ ์ ๋ ฅ๋ฐ์, ํด๋น ์ขํ๊ฐ ๊ฐ์ฒด์ ๋ด๋ถ์ ์์ผ๋ฉด 1, ์ธ๋ถ์ ์์ผ๋ฉด 0์ ๋ฐํํฉ๋๋ค.
โ๏ธ ๊ฒฐ๊ณผ์ ์ผ๋ก, 3D ๊ฐ์ฒด์ ํ๋ฉด์ o(x) = 1/2์ธ ์ ๋ค์ ์งํฉ์ผ๋ก ์ ์๋ฉ๋๋ค.
-
ํ์ฉ: ์์์ ํ๋ฉด ํํ์ ๋ณต์ ๊ณผ ๋ฌ๋ฆฌ ํน์ ์ ์์๋ง ํ๋ฉด์ ์ ์ํ์ง ์๊ณ , 3D ๊ณต๊ฐ ์ ์ฒด์์ ํ๋ฉด์ ์ ์ํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.
-
-
ํฌ์ธํธ ํด๋ผ์ฐ๋(Point Cloud):
-
๊ฐ๋ : 3D ๋ชจ์์ ํํํ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ๊ฐ์ฒด์ ํ๋ฉด์ 3D ๊ณต๊ฐ์ ์๋ง์ ์ ์ผ๋ก ํํํฉ๋๋ค. ๊ฐ ์ ์ 3D ์ขํ๊ณ์์ (x, y, z) ์์น ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ์ ๋ค์ ์งํฉ์ด ๊ฐ์ฒด์ ์ ์ฒด ๋ชจ์์ ํ์ฑํฉ๋๋ค.
- ํน์ง: ํฌ์ธํธ ํด๋ผ์ฐ๋๋ ๋ณต์ ๊ทธ๋ฆฌ๋๋ณด๋ค ๋ ์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ๊ฐ์ฒด์ ์ธ๋ถ ์ฌํญ์ ํํํ๊ธฐ ์ํด ์ ์ ๋ฐ๋๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
-
์ฅ์ :
- ์ธ๋ถ ๊ตฌ์กฐ ํํ: ๋ง์ ์ ๋ค์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ์ธ๋ฐํ ๋ถ๋ถ(์: ๋นํ๊ธฐ ๋ ๊ฐ์ ๋๋ถ๋ถ)์ ์ ํํ๊ฒ ํํํ ์ ์์ต๋๋ค.
- ์ ์์ฑ: ์ ์ Loss Function ๋ฐ๋๋ฅผ ์ํฉ์ ๋ง๊ฒ ์กฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ๋ถ ์ฌํญ์ด ํ์ํ ๋ถ๋ถ์๋ ์ ์ ๋ ๋ฐฐ์นํ๊ณ , ์ธ๋ถ ์ฌํญ์ด ๋ ์ค์ํ ๋ถ๋ถ์๋ ์ ์ ๋ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
-
๋จ์ :
- ๋ช ์์ ํ๋ฉด ํํ ๋ถ์กฑ: Point Cloud๋ ์ ๋ค์ ์งํฉ์ผ๋ก๋ง ํํ๋๊ธฐ ๋๋ฌธ์, ๊ฐ์ฒด์ ๋ช ์์ ํ๋ฉด์ ์ง์ ์ ์ผ๋ก ๋ํ๋ด์ง ์์ต๋๋ค. ๋ฐ๋ผ์, ๋ ๋๋ง์ด๋ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ค๋ฉด ์ถ๊ฐ์ ์ธ ํ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ค๋ก๋ถํฐ ์ผ๊ฐํ ๋ฉ์ฌ๋ฅผ ์ถ์ถํด์ผ ํฉ๋๋ค.
- ์๋ก์ด ์ํคํ
์ฒ์ ์์ค ํจ์ ํ์: Point Cloud๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋, ์๋ก์ด ์ ๊ฒฝ๋ง ์ํคํ
์ฒ์ ์์ค ํจ์๊ฐ ํ์ํฉ๋๋ค.
๐ก PointNet
PointNet์ Point Cloud ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ ๊ฒฝ๋ง ์ํคํ ์ฒ๋ก, ๋ค์ํ ์์ฉ ๋ถ์ผ์์ Point Cloud ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ํ์ฉํ ์ ์๋ ์ค์ํ ๋๊ตฌ์ ๋๋ค.
๐ก Loss Function
=> Chamfer Distance๋ ๋ ๊ฐ์ Point Cloud ์งํฉ ๊ฐ์ ์ ์ฌ์ฑ์ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ค ํจ์์ ๋๋ค.
- Point Cloud๋ 3D ๊ณต๊ฐ ๋ด์์ ๊ฐ์ฒด์ ํ๋ฉด์ ํํํ๋ ์ ๋ค์ ์งํฉ์ด๊ธฐ ๋๋ฌธ์, ๋ Point Cloud๋ฅผ ๋น๊ตํ๊ธฐ ์ํด์๋ ๋ ์งํฉ ๋ด ๊ฐ ์ ๋ค์ด ์ผ๋ง๋ ๊ฐ๊น์ด์ง๋ฅผ ์ธก์ ํ๋ ๋ฐฉ์์ด ํ์ํฉ๋๋ค.
-
Chamfer Distance๋ ์ด๋ฌํ ๋น๊ต๋ฅผ ์ํํ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ๋ผ์ด๋์์ ๋ณด์ด๋ ์์์ ์๋์ ๊ฐ์ด ์ค๋ช ํ ์ ์์ต๋๋ค:
โถ๏ธ (์ฒซ๋ฒ์งธํญ) ์งํฉ ๐1์ ๊ฐ ์ ๐ฅ์ ๋ํด, ๐2์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ๐ฆ๊น์ง์ L2 ๊ฑฐ๋ฆฌ(์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ)๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด ์ต์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ชจ๋ ๐1์ ์ ๋ค์ ๋ํด ํฉ์ฐํฉ๋๋ค.
โถ๏ธ (๋๋ฒ์งธํญ) ์งํฉ ๐2์ ๊ฐ ์ ๐ฆ์ ๋ํด, ๐1์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ x๊น์ง์ L2 ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ํฉ์ฐํฉ๋๋ค.
-
-
ํ์ฉ ์: ์์จ ์ฃผํ ์ฐจ๋์ LiDAR ์ผ์๊ฐ ํฌ์ธํธ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ, ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ฃผํ ํ๊ฒฝ์ ์ธ์ํฉ๋๋ค.
-
๋ฉ์ฌ(Mesh) ํํ
-
๊ฐ๋ : ๋ฉ์ฌ๋ 3D ๊ณต๊ฐ์์
์ ์ (Vertices)
,๋ชจ์๋ฆฌ(Edges)
, ๊ทธ๋ฆฌ๊ณ๋ฉด(Faces)
์ ์งํฉ์ผ๋ก ๊ฐ์ฒด๋ฅผ ํํํ๋ ๋ฐฉ์์ ๋๋ค.์ ์ (Vertices)
: ํด๋ฆฌ๊ณค์ ๋ชจ์๋ฆฌ๋ฅผ ์ ์ํ๋ ๊ณต๊ฐ์ ์ ์ ๋๋ค.๋ชจ์๋ฆฌ(Edges)
: ๊ผญ์ง์ ์ ์ฐ๊ฒฐํ๋ ์ ์ ๋๋ค.๋ฉด(Faces)
: ๋ชจ์๋ฆฌ๋ก ๋๋ฌ์ธ์ธ ํํํ ํ๋ฉด์ ๋๋ค. ๋๋ถ๋ถ์ ๋ชจ๋ธ์์ ๋ฉด์ ์ผ๊ฐํ ๋๋ ์ฌ๊ฐํ์ ๋๋ค.- ๋ฉ์ฌ๋ ์ผ๊ฐํ ๋ฉ์ฌ(Triangle Mesh)๊ฐ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ์ด ๋ฐฉ์์ ๊ฐ์ฒด์ ํ๋ฉด์ ๋ช ํํ๊ฒ ์ ์ํ๊ณ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.
-
- ํน์ง: ๊ทธ๋ํฝ์ค์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ํ๋ฉด์ ๋ช ์์ ์ผ๋ก ํํํ๊ธฐ ๋๋ฌธ์ ํ ์ค์ฒ๋ ์์ ๋ฑ์ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ๋ถ์ฌํ ์ ์์ต๋๋ค.
- ์ฅ์ :
- ์ ํํ ํ๋ฉด ํํ: ๋ฉ์ฌ๋ ๊ฐ์ฒด์ ํ๋ฉด์ ๋ช ์์ ์ผ๋ก ํํํ๊ธฐ ๋๋ฌธ์, ๊ทธ๋ํฝ์ค๋ ๋ ๋๋ง์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
- ํ ์ค์ฒ ๋งคํ: ๋ฉ์ฌ ๊ตฌ์กฐ๋ฅผ ํตํด ํ๋ฉด์ ํ ์ค์ฒ๋ ์์, ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋ถ์ฌํ๊ณ ์ด๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค.
- ๋จ์ :
- ๋ณต์ก์ฑ: ๋ฉ์ฌ๋ฅผ ์ ๊ฒฝ๋ง์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋ณต์กํ ์์ ์ ๋๋ค. ํนํ, ๋ฉ์ฌ๋ ๊ทธ๋ํ ๊ตฌ์กฐ๋ก ํํ๋๋ฏ๋ก, ๊ธฐ์กด์ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(CNN)์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ต์ต๋๋ค.
-
TASK: Predicting Meshes (Pixel2Mesh)
- Pixel2Mesh์ ์ํคํ
์ณ๋ ํฌ๊ฒ
Mesh Deformation Block
๊ณผGraph Unpooling Layer
์์ญ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค:- Mesh Deformation Block์ ์ํ๋ 3D-shape์ผ๋ก ํผ์ณ๋ฅผ ํ์ตํ๋ ๋จ๊ณ
- Graph Unpooling Layer์ ์ข ๋ ๋์ resolution์ 3D ๊ฒฐ๊ณผ๋ฅผ ํ์ตํ ์ ์๋๋ก ์ ๊ตํํ๋ ๋จ๊ณ
-
์๋๋ ์ด์ ๋ํด์ ๋ ผ๋ฌธ์์ ์ฐพ์์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
- Pixel2Mesh์ ์ํคํ
์ณ๋ ํฌ๊ฒ
4. 3D ๋ชจ์ ํ๊ฐ ๋ฐฉ์
- Intersection over Union (IoU):
- ์ค๋ช : IoU๋ ๊ฒน์น๋ ๋ถ๋ถ์ ์ธก์ ํ๋ ์งํ๋ก, ๋ 3D ํํ ์ฌ์ด์ ๊ฒน์น๋ ๋ถํผ๋ฅผ ๋ ํํ์ ๊ฒฐํฉ๋ ๋ถํผ๋ก ๋๋ ๊ฐ์ ๋๋ค.
-
์ฅ๋จ์ : ๋ฏธ์ธํ ๊ตฌ์กฐ๋ฅผ ์ ํฌ์ฐฉํ์ง ๋ชปํ๋ฉฐ, ๊ฐ์ด ๋ฎ์ ๋๋ ์๋ฏธ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ์ง ๋ชปํฉ๋๋ค.
-
Chamfer Distance (CD):
- ์ค๋ช : Chamfer Distance๋ ๋ 3D ์ ๊ตฌ๋ฆ ๊ฐ์ ํ๊ท ์ต์ ๊ฑฐ๋ฆฌ๋ก ์ธก์ ๋ฉ๋๋ค. ํ ํํ์ ๊ฐ ์ ์ด ๋ค๋ฅธ ํํ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ์ฌ ํ๊ท ์ ๊ตฌํฉ๋๋ค.
-
์ฅ๋จ์ : ์ด์์น์ ๋งค์ฐ ๋ฏผ๊ฐํ๋ฉฐ, ์ง์ ์ ์ผ๋ก ์ต์ ํํ ์ ์๋ ์งํ์ ๋๋ค.
-
F1 Score:
- ์ค๋ช : Precision๊ณผ Recall์ ๊ฒฐํฉํ F1 Score๋ ์๊ณ๊ฐ์ ์กฐ์ ํจ์ผ๋ก์จ ๋ค์ํ ์ค์ผ์ผ์์์ ๋ํ ์ผ์ ํฌ์ฐฉํ ์ ์์ต๋๋ค.
-
์ฅ๋จ์ : ์ด์์น์ ๋ํด ๊ฐ๊ฑดํ์ง๋ง, ๋ค์ํ ์ค์ผ์ผ์์ ๋ํ ์ผ์ ํฌ์ฐฉํ๊ธฐ ์ํด์๋ ๋ค๋ฅธ ์๊ณ๊ฐ์ ์ค์ ํด ์ฃผ์ด์ผ ํฉ๋๋ค.
๋ค์ ๋์ค๋ ๊ฐ๋ ๋ค์ ์ดํดํ๊ธฐ ์ํด์๋ 3D Vision์ ๋ํ ์ดํด๋ฅผ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด โ3D Visionโ ๊ฐ์๋ฅผ ๋ฃ๊ณ , ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
- ์ด ๊ฐ์๋ 2D ์ด๋ฏธ์ง์์ 3D ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ํํํ๋ ๋ค์ํ ๋ฐฉ๋ฒ๊ณผ ๊ทธ ํ๊ณ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ์ฌ๋ฌ ๊ฐ์ง ํ์ ์ ์ธ ๊ธฐ์ ์ ํ๊ตฌํฉ๋๋ค.
- ๊ฐ๊ฐ์ ํํ ๋ฐฉ์์ ํน์ ์์ ์ ๋ฐ๋ผ ์ฅ๋จ์ ์ด ์์ผ๋ฉฐ, ๋ณต์กํ 3D ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ์ ์์ธก์ ์ํ ๋ค์ํ ์ ๊ทผ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐ค