Point Cloud - hyeonju102/PARK GitHub Wiki
Point Cloud์ ์ ์ ๋ฐ ํน์ง
- 3์ฐจ์ ๊ณต๊ฐ์์ ํผ์ ธ ์๋ ์ฌ๋ฌ ํฌ์ธํธ(Point)์ ์งํฉ(set cloud)๋ฅผ ์๋ฏธํ๋ค.
- 2D ์ด๋ฏธ์ง์ ๋ค๋ฅด๊ฒ ๊น์ด(z์ถ) ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, ๊ธฐ๋ณธ์ ์ผ๋ก
N X 3
Numpy ๋ฐฐ์ด๋ก ํํ๋๋ค. - ๊ฐ N ์ค์ ํ๋์ ์ ๊ณผ ๋งตํ์ด ๋๋ฉฐ, 3(x,y,z) ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ์ฃผ์ ๋ฐฉ๋ฒ : LiDAR(Light Detection And Ranging)๋ฅผ ์ฌ์ฉํ๋ค.
Point Cloud Data์ ์ฑ์ง
- ์ ๋ ฌ๋์ด ์์ง ์๊ณ ์ ํํ๋์ด ์์ง ์์ ๋ฐ์ดํฐ
- 2D ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ์ ํด์ง ๊ฒฉ์ ๊ตฌ์กฐ์ ํํ ์์ ์ ๋ณด๊ฐ ์ ์ฅ๋์ง๋ง, Point Cloud ๋ฐ์ดํฐ๋ 3D ๊ณต๊ฐ ์์ ์๋ง์ ์ ๋ค์ ์์ ์์ด ๊ธฐ๋กํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.
- Point Cloud ๋ฐ์ดํฐ๋ฅผ Voxel ํํ์ ์ ํํ๋ ๋ฐ์ดํฐ๋ก ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ์ง๋ง ํ๊ณ๊ฐ ์๋ค.
- Sparseํ ์ฑ์ง์ ์ง๋ Point cloud ๋ฐ์ดํฐ
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ 3D ๊ณต๊ฐ ์์๋ Point๋ค์ ๋นํด ๋น๊ณต๊ฐ์ด ์๋นํ ๋ง๋ค -> ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋นํด ์ป์ ์ ์๋ ์ ์๋ฏธํ ์ ๋ณด๊ฐ ๊ฑฐ์ ์๋ค.
Point Cloud ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ 3D ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ
PointNet(2017)
์ ๋ ฅ ํฌ์ธํธ์ ์์์ ๋ฌด๊ดํ๊ฒ ๊ณ ์ ํฌ๊ธฐ์ ํํ์ ์์ฑํ ์ ์๋ค.
PointNet++(2017)
์ง์ญ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ์บก์ฒํ๊ธฐ ์ํ ๊ณ์ธต์ ์ธ ์ ๊ทผ ๋ฐฉ์ ์ฌ๋ฌ ํฌ๊ธฐ์ ์ด์์ ๊ณ ๋ คํ์ฌ ๋ค์ํ ๊ท๋ชจ์์ ํน์ง์ ์ถ์ถ
VoxelNet(2017)
ํฌ์ธํธ ํด๋ผ์ฐ๋๋ฅผ 3D Voxels๋ก ๋๋๊ณ , ๊ฐ ๋ณต์ ๋ด์ ํฌ์ธํธ๋ค์ ๊ณ ์ ํฌ๊ธฐ์ ํน์ง ๋ฒกํฐ๋ก ์ธ์ฝ๋ฉํ๋ค. ์ฃผ๋ก ์์จ ์ฃผํ ๋ถ์ผ์์ ๊ฐ์ฒด ํ์ง์ ์ฌ์ฉ
Dynamic Graph CNN (DGCNN) (2018)
DGCNN์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์์ ๊ธฐ๋ฐ์ผ๋ก ๋์ ์ผ๋ก ๊ทธ๋ํ๋ฅผ ๊ตฌ์ฑํ์ฌ ํฌ์ธํธ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ์์ ํน์ง์ ์ถ์ถํ๋ค. ์ด ๋์ ๊ทธ๋ํ ๊ตฌ์กฐ๋ฅผ ํตํด CNN๊ณผ ์ ์ฌํ ์ฐ์ฐ์ ์ํํ๋ค.
PointCNN(2018)
ํฌ์ธํธ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด CNN ์ฐ์ฐ์ ์ ์ฉํ๊ธฐ ์ ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ท ์ผํ ๊ทธ๋ฆฌ๋ ํํ๋ก ๋ณํํ๋ค. X-conv ์ฐ์ฐ์ ๋์ ํ์ฌ ๊ณต๊ฐ์ ์์๋ฅผ ๊ฐ๋ ๋ฐ์ดํฐ๋ก ๋ณํํ๊ณ , ์ดํ์ ์ผ๋ฐ CNN ์ฐ์ฐ์ ์ ์ฉํ๋ค.
PointTransformer(2020)
Transformer ์ํคํ ์ฒ์ ๊ฐ๋ ์ ํฌ์ธํธ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ์ ์ ์ฉํ๋ค. self attention mechanism์ ํ์ฉํ์ฌ ํฌ์ธํธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ชจ๋ธ๋งํ๋ค.
Point Cloud Registration
- ๋ Point Cloud๋ฅผ ์ ๋ ฌํ๋ ๊ณต๊ฐ ๋ณํ์ ์ฐพ๋ ๊ณผ์
- Scan matching์ ํ๊ฑฐ๋ Scan registration์ ์งํํ ๋ ๋์ผํ reference frame์์ ๋ณด๋ฉด ๊ฐ๊ฐ์ Map point๋ค์ด ์ผ์นํด์ผ ์ ํํ ์ฃผ์ ํ๊ฒฝ์ Mapping ํ ์ ์๋ค.
Point Cloud Registration์ ํตํด ๊ฐ์ฅ ์ ๋ ฌ์ ์ํ๋ Rotation Matrix R๊ณผ Translation Vector t๋ฅผ ์ฐพ๋ ๊ฒ์ด ํต์ฌ!
- ๋ Point Cloud์ ๋์ ๊ด๊ณ๋ฅผ ์ ๋ (Known Data Association)
- ๋ Point Cloud์ ๋์ ๊ด๊ณ๋ฅผ ๋ชจ๋ฅผ ๋(Unknown Data Association)
- Robustํ Least Squares Approaches๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
Initial registration
์ ๋ฐํ ์ ํฉ์ ์ํ ์ค์ํ ์ ํ ์์ ์ผ๋ก, ๋ณด๋ค ์ ๋ฐํ ์ ๋ ฌ ๊ธฐ์ ์ ์ ์ฉํ๊ธฐ ์ ์ ์ฌ๋ฌ ํฌ์ธํธ ํด๋ผ์ฐ๋ ์กฐ๊ฐ ๊ฐ์ ๋๋ต์ ์ธ ์ ๋ ฌ์ ํ๋ฆฝํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ฉฐ, SLAM, ์ฅ๋ฉด ์ฌ๊ตฌ์ฑ, ์ฐ์ ๋์์ธ๊ณผ ๊ฐ์ ๋ค์ํ ์์ฉ ๋ถ์ผ์์ ์ ๋ฐ์ ์ธ ๋ฑ๋ก ์ ํ๋์ ๊ฒฌ๊ณ ์ฑ์ ํฌ๊ฒ ํฅ์์ํจ๋ค.
Refine registration
initial registration ์ดํ์ accuracy๋ฅผ ๋์ด๊ธฐ ์ํด ์ ๋ ฌ ๊ฒฐ๊ณผ๋ฅผ fine-tunningํ๋ ๊ณผ์
ICP
๋ point cloud ์ฌ์ด์ ๋์ ๊ด๊ณ๊ฐ ์ฃผ์ด์ ธ ์์ง ์์ ๋ Point๋ค์ Registrationํ๋ ๋ฐฉ๋ฒ optimal solution์ด ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ pointcloud์ ๊ด๊ณ๋ฅผ ์ estimationํ๋ ๊ฒ์ด ์ค์ํ๋ค.