Hello,
this post shows an example of sequential/animated ICP registration of two point clouds acquired from the Kinect device. This means that every iteration of the ICP algorithm can be observed on the 3D display, until the max iteration criteria is satisfied and the registration stops. The max iterations to perform can be modified using the control on the GUI (Figure 1 and Figure 2). The left 3D indicator on the GUI is used to show Kinect stream, i.e. acquired XYZRGBA point cloud. Any acquired cloud can be added to the right 3D indicator by clicking on the "Add cloud" control. Only two clouds can be added for registration. The button "Remove clouds" removes the clouds from the right 3D indicator. After two clouds are selected, the "Registration" button runs the ICP algorithm one iteration per program loop. This makes it possible to observe the animated registration of two point clouds.
Figure 1 below shows the situation prior to the registration and Figure 2 situation after the registration.
Figure 1. Prior to the ICP registration (hand example).
Figure 2. After the ICP registration (hand example).
The results of the registration are shown in the right-bottom indicators of the GUI: the homogeneous transformation matrix, the derived euler angles and translation parameters. Clicking on the "Remove clouds" also clears the indicators.
The video below shows the entire process of registration.
Video 1. Sequential/animated ICP registration of two point clouds.
Video link: https://www.youtube.com/watch?v=k279CssxJBQ&feature=youtu.be
The source code is in the attachment and is provided as is. There is still room for improvement, if needed.
Best regards,
K
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.