Autonomous Vehicle/Video Geometry

ICP (Iterative Closest Point)

Naranjito 2026. 3. 5. 17:18
  • Iterative closest point (ICP) is a point cloud registration algorithm employed to minimize the difference between two clouds of points. 

 

 

Here are two different types of data. 'Model' is the model we are actually looking for, and 'sample' is the result of extracting the data.


 

The purpose of this algorithm is to match 'sample' to 'model'.
Somewhere, 'sample' is above a certain coordinate system, and this algorithm transforms and moves the coordinate system to match it to 'model'.


Use cases :


 

In the model and sample, there are point data expressed as dots and triangles, respectively.


  • Process

 

 

1. Find the nearest point in the model from all the points on the sample.


 

2. Calculate how much each point on the sample needs to move to get closer to the point found in the model.


 

3. Move the sample to the model as much as the calculated results.


 

4. Find the H matrix by the amount of vector shifted.

From here, the arrows point up and left, so you have to move more to the left.


 

5. Repeat the above process to find the best matching position.


  • Breakdown the equation

 

1. ICP in Chen-Medioni Method

 

 

The H matrix consists of R and T. \( H = \begin{bmatrix} R & T \\ 0 & 1 \end{bmatrix} \)

And x vector : \(\binom{x}{1}\)

Apply x vector to the H matrix :

 

Let's say the point data in the 'model' is 'q', and in the 'sample' is 'p'.

 

- p transform(p'): multiply p by the H matrix.
- Subtract q: \(Hp_{i}-q_{i}\)
- minimizing the distance between q and p :

 

- \(p_{i}\) : All points in the 'sample'.
- \(Rp_{i}+t\) : Rotate and then translate the \(p_{i}\), \({p_{i}}^{'}\), vector.
- N : The number of \(p_{i}\).
- \(q_{i}\) : The closest point of 'model' For all samples points, vector.
- \(n_{i}\) : normal vector, indicates the direction.
\(\therefore \)
- E : scalar

2. Linearization of Objective Function, E

 


 

In the region where the angle of the sine curve(2023.04.03 - [Math] - Sine, Cosine, Tangent) is small, this looks like a straight line. 

So,

linear : x=y

sine curve : y=Sin x

look like a straight line and similar.



And then after multifly 3 Matrixes, we can get the matrix that has rotation in the very tiny angle.

 


 

What we need to figure out through this formula is above-𝛼, 𝜷, 𝛄, \(T_{x},T_{y},T_{z}\).

The goal is minimize the 'E'.

 


3. Linearized Objective Function ➔ Solving Matrix

 

 

\(Ax=B \)
\(x=A^{-1}B \)
By this way, we can get an '\(x \)'.

 

https://www.youtube.com/watch?v=DP8awL5Xp9Q

'Autonomous Vehicle > Video Geometry' 카테고리의 다른 글

RANdom SAmple Consensus(RANSAC)  (0) 2026.03.04
Pangolin, Pangolin installation error  (0) 2026.01.19
[Uncertainty] Sensing  (0) 2025.11.30
[Uncertainty] Odometry  (0) 2025.11.27
[Uncertainty] Gaussian VS Samples  (0) 2025.11.27