일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- realtimerendering
- Ros
- pointcloud
- raspberrypi
- Slam
- turtlebot3
- opencv
- roslaunch
- usbcamera
- vectorcalculus
- rostopics
- 3dgaussiansplatting
- imageprocessing
- covariancematrix
- NERF
- sensorfusion
- 3dmapping
- rosnoetic
- alphablending
- tilebasedrasterizer
- vectorfields
- differentiablerendering
- ComputerVision
- catkinworkspace
- adaptivedensitycontrol
- electromagnetism
- LIDAR
- turtlebot
- gaussiansplatting
- rospackages
- Today
- Total
Wiredwisdom
Point Cloud Normal 본문
포인트 클라우드에서 "normal"은 각 점(point)에서의 표면 법선 벡터(normal vector)를 의미합니다. 법선 벡터는 해당 점에서의 표면의 방향을 나타내며, 주로 표면의 기울기와 관련이 있습니다. 포인트 클라우드의 법선 벡터는 3D 데이터 처리와 분석에서 중요한 역할을 합니다. 예를 들어, 법선 벡터는 표면 재구성, 물체 인식, 세그멘테이션, 그리고 충돌 회피 등 다양한 응용 분야에서 사용됩니다.
1. 법선 벡터의 정의:
법선 벡터(normal vector)는 3D 표면의 특정 점에서 표면에 수직인 벡터를 말합니다.
이 벡터는 표면의 기울기와 방향을 나타내며, 표면의 미세한 구조를 이해하는 데 도움이 됩니다.
2. 포인트 클라우드와 표면:
포인트 클라우드는 단순히 표면의 점들을 나열한 것입니다. 각 점 자체는 그 위치 정보만 가지고 있습니다.
표면의 방향이나 기울기를 알기 위해서는 각 점 주변의 이웃 점들과의 관계를 분석해야 합니다.
법선 벡터는 이러한 관계를 분석하여 각 점에서의 표면의 기울기를 설명합니다.
평평한 표면:
평평한 표면 위의 포인트 클라우드를 생각해봅시다. 각 점에서의 법선 벡터는 표면에 수직으로 뻗어 있습니다.
예를 들어, 바닥 표면 위의 포인트 클라우드에서는 법선 벡터가 모두 위쪽(또는 아래쪽)을 향하게 됩니다.
곡면:
곡면 위의 포인트 클라우드를 생각해봅시다. 각 점에서의 법선 벡터는 곡면의 기울기에 따라 다양한 방향을 가집니다.
곡면의 특정 지점에서 법선 벡터는 그 지점에서의 미세한 표면 기울기를 나타냅니다.
법선 벡터의 중요성
1. 표면 재구성: 포인트 클라우드 데이터를 기반으로 3D 표면을 재구성할 때, 법선 벡터는 표면의 기울기와 방향을 제공하여 더 정확한 재구성을 가능하게 합니다.
2. 물체 인식: 물체의 표면 특징을 분석할 때 법선 벡터를 사용하여 특정 모양이나 패턴을 인식할 수 있습니다.
3. 세그멘테이션: 포인트 클라우드를 서로 다른 영역으로 분할할 때, 법선 벡터를 사용하여 표면의 변화가 큰 영역을 감지하고 분할할 수 있습니다.
4. 충돌 회피: 로봇의 경로 계획에서 법선 벡터를 사용하여 장애물의 표면을 감지하고 회피 경로를 계획할 수 있습니다.
법선 벡터 계산 방법
법선 벡터는 다양한 알고리즘을 사용하여 계산할 수 있습니다. 가장 일반적인 방법 중 하나는 주성분 분석(PCA, Principal Component Analysis)을 사용하는 것입니다. 다음은 법선 벡터를 계산하는 일반적인 과정입니다:
1. 이웃 점 찾기: 각 포인트에 대해 일정 반경 내 또는 일정 개수의 이웃 점들을 찾습니다.
2. 공분산 행렬 계산: 이웃 점들의 공분산 행렬을 계산합니다.
`Sigma=1/N sum_(i=1)^N (p_i-hatp)(p_i-hatp)^T`
3. 고유값 분해: 공분산 행렬의 고유값과 고유벡터를 계산합니다.
`Sigma=QLamdaQ^T`
4. 법선 벡터 선택: 가장 작은 고유값에 해당하는 고유벡터가 법선 벡터가 됩니다.
`lamda_1<lamda_2<lamda_3` 에서
`lamda_1` 에 해당되는 v1 Eigen Vector가 법선 벡터
'2D Vision > Vision Basic' 카테고리의 다른 글
Spherical Harmonics on 3D Graphics (0) | 2024.07.13 |
---|---|
Camera Calibration (0) | 2024.07.11 |
3D Reconstruction summary (0) | 2024.06.21 |
VID (0) | 2024.06.21 |
Recent Feature point Algorithm (0) | 2024.06.21 |