Next Article in Journal
Time-Frequency Characteristics of In-Home Radio Channels Influenced by Activities of the Home Occupant
Previous Article in Journal
A Photoluminescent Colorimetric Probe of Bovine Serum Albumin-Stabilized Gold Nanoclusters for New Psychoactive Substances: Cathinone Drugs in Seized Street Samples
Previous Article in Special Issue
The Fabrication and Characterization of InAlAs/InGaAs APDs Based on a Mesa-Structure with Polyimide Passivation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

HoloLens-Based AR System with a Robust Point Set Registration Algorithm

1
Degree Program of Digital Space and Product Design, Kainan University, Taoyuan 33857, Taiwan
2
Department of Electrical Engineering, Chang Gung University, Taoyuan 333, Taiwan
3
Department of Neurosurgery, Chang Gung Memorial Hospital at LinKou, Taoyuan 333, Taiwan
4
Department of Electrical Engineering, Ming Chi University of Technology, New Taipei City 24301, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(16), 3555; https://doi.org/10.3390/s19163555
Submission received: 15 June 2019 / Revised: 28 July 2019 / Accepted: 13 August 2019 / Published: 15 August 2019
(This article belongs to the Special Issue Selected Papers from TIKI IEEE ICASI 2019)

Abstract

:
By the standard of today’s image-guided surgery (IGS) technology, in order to check and verify the progress of the surgery, the surgeons still require divert their attention from the patients occasionally to check against the display. In this paper, a mixed-reality system for medical use is proposed that combines an Intel RealSense sensor with Microsoft’s Hololens head-mounted display system, for superimposing medical data onto the physical surface of a patient, so the surgeons do not need to divert their attention from their patients. The main idea of our proposed system is to display the 3D medical images of the patients on the actual patients themselves by placing the medical images and the patients in the same coordinate space. However, the virtual medical data may contain noises and outliers, so the transformation mapping function must be able to handle these problems. The transform function in our system is performed by the use of our proposed Denoised-Resampled-Weighted-and-Perturbed-Iterative Closest Points (DRWP-ICP) algorithm, which performs denoising and removal of outliers before aligning the pre-operative medical image data points to the patient’s physical surface position before displaying the result using the Microsoft HoloLens display system. The experimental results shows that our proposed mixed-reality system using DRWP-ICP is capable of performing accurate and robust mapping despite the presence of noise and outliers.

1. Introduction

AR/MR (Augmented reality/mixed reality) is a field of study that is rapidly catching the interests of researchers of medical and image processing technologies [1,2]. This study is on the use of AR in the field of image-guided surgery [3], which seeks to reduce invasiveness by showing the doctor the exact locations of the lesions on the skin surface of the patient. An important part of any AR-based research is the problem of data registration; i.e., how to register two sets of data points, e.g., the image data point and the physical object’s surface data points, in the same coordinate space using alignment so as to superimpose two sets of data points accurately. The traditional method used for registration is the ICP (iterative closest points) algorithm, introduced by Besl and Zhang [4]. It uses non-elastic transformations to convert 3D data points from one coordinate system to another. The problems with it include that it requires a good starting position to start the alignment in order to get a good result, and any noise in the data could potentially corrupt the final alignment result. Later, Andriy et al. proposed the coherent point drift (CPD) [5], the main idea of which is to initialize a Gaussian mixture model and use the expectation-maximization calculation to move the centroid of the mixture. The CPD uses a uniform distribution component to account for the outliers, and could also handle some noise in the data. However, the CPD does not consider the scaling factor, so there is a possibility of deformation if there are distortions between the floating and reference datasets. The point cloud library-ICP (PCL-ICP) [6] calculates iteratively using the least squares method to obtain a rotational matrix and a displacement matrix in order to align the set of floating data points to the set of reference data points, which are assumed to be in the same coordinate system. The CloudCompare-ICP (CC-ICP) [7] implements the greedy four points congruent sets registration methods for coarse alignment then uses the standard ICP and rigid transformations for refinement. Recently, Wu [8] presented an improved ICP algorithm, the Improved-ICP, that uses weighting and perturbation to match a single floating data set to the reference data set, but it does not consider the problem of noise and outliers. Generally, the traditional ICP algorithm is considered fine to use for general purposes. However, the traditional ICP has multiple issues: (1) If there are gaps in the floating data that do not correspond well to the reference data, then a good match may not be achievable; (2) If the alignment process is started from a random starting position, then it could result in a locally optimal result, so a global optimal solution is not guaranteed; even the Globally optimal-ICP algorithm [9], which claimed that it can achieve global optimal solutions, was shown in Wu’s paper [8] to be unable to reach better solutions without performing initial coarse alignments; and (3) Outlier data points or noise in the original floating data points may affect the final result of the alignment.
In this paper, we introduce the DRWP-ICP (Denoised-Resampled-Weighted-and-Perturbed ICP), which has the advantages the other ICP-based method do not. It seeks to improve the traditional ICP algorithm by preprocessing the floating datasets before alignment, in order to achieve a smoother, less noisy and more uniform floating dataset. For each floating dataset, it first performs denoising (D) to remove noisy data and outliers, then resample (R) the floating datasets set which results in a better, smoother floating data set. It then performs line-search with proper weights (W) in the floating data in order to find matching reference data, and uses perturbation (P) to escape from local minima if the searching result is not below a small preset threshold in order to reach a better, near optimal, solution. It will be shown in the results of comparison experiments in a later section that the DRWP-ICP outperformed other ICP-based algorithms with greater accuracy and shorter running times. So, the DRWP-ICP should result in a better match of the floating data sets to the reference data set more quickly. It can be used in a medical AR system using HoloLens [10] and allows the surgeon to see his patient at the same time as the pre-operatively obtained medical data by accurately superimposing them, and allows the surgeon to focus his/her attention more on the patient during an image-guided surgery (IGS) operation.

2. Method

A dummy head was used to simulate the patient’s head. A set of CT scans using Intel RealSense [11] sensor were performed on the dummy head in order to obtain a stack of images which were processed to build a 3D model of the dummy head, these constituted the reference set data, R. The Intel RealSense RGB-Depth sensor was used to obtain the patient’s surface data points, and Point Cloud Library was used to reconstruct the 3D information of the patient’s surface as the floating data point set F1. This process was repeated again to obtain a second floating points set, F2. So we had the reference dataset, R, and the floating data point sets, F1 and F2. The DRWP-ICP algorithm first performed preprocessing of the floating datasets by denoising then resampling to achieve a more accurate floating dataset, F. Then the DRWP-ICP performed a weighted line search scheme [12] to match each point in the floating dataset to the reference dataset. The purpose of the weighting, which was proportional to the distance of the corresponding points in the floating dataset and the target dataset, was to prevent the accumulation of errors when multiple floating points match the same target point. However, a weighted line search could still result in reaching local minima rather than the global minimum, so a perturbation scheme was added to escape from the local minima. Once the floating dataset was matched to the reference dataset, the resulting data points were displayed on the doctor’s HoloLens headwear by aligning and overlaying the virtual data to the actual patient’s skin surface. The flowchart of the DRWP-ICP is shown in Figure 1 below.

The DRWP-ICP Procedure

Step 1. Data Input. The pre-operative medical/CT image was the set of reference points R, and the patient’s surface data captured by the RGB-Depth sensor was the set of floating points, F1 and F2.
Step 2. Floating Data Processing by Denoising and Resampling. The main idea in the denoising stage was to use a statistical filter on the neighborhood of each data point and remove points that did not meet certain criteria. The sparse outlier removal method was based on the calculation of the distance distribution from the point in the input data to the adjacent point. The statistical filter assumed that the average distance between all points in the point cloud and the nearest K neighbors satisfies the Gaussian distribution. According to the mean variance, a distance threshold can be determined. When the average distance between a point and the nearest K points was greater than this the threshold, the points beyond this threshold were then removed. First the average distance between each point and its nearest K neighbors was calculated, and then the mean μ and standard deviation σ of all the average distances were calculated. The distance threshold can be defined as:
dmax = μ + α × σ,
where α is a constant known as the scale factor and its values depend on the number of neighbors. Finally each point whose distance was greater than dmax was removed. In the resampling stage, the main idea was to use a moving least squares surface reconstruction method [13] to smooth and resample the noisy data. This algorithm attempted to reconstruct the missing portion of the surface by high-order polynomial interpolation between surrounding data points. First, the corresponding surface was obtained from the acquired point cloud data set, and then the surface normal was calculated from the model. The solution for estimating the surface normal was simplified by analyzing the eigenvectors and eigenvalues (or PCA—principal component analysis [14]) of the covariance matrix from the nearest neighbor of the query point. The purpose of the surface normal estimation was to first obtain the nearest neighbor element of point p and then calculate the surface normal n of point p. Then we checked whether the direction of n was consistently pointing to the viewpoint. If not, it was flipped. The viewpoint coordinates were preset to (0,0,0). The least squares method is a global method, which cannot meet the requirements for localized processing, and it can cause difficulty in model setting and computational instability for a large number of point data. Therefore, this method used the moving least squares method to solve the registration problem. The scatter adaptability also has the advantages of local curve fitting, being adaptable to distributed difference characteristics, as well as having a high precision. The moving least squares method divided the region into meshes, then looped through each point in the mesh to compute the shape function at each node, then finally connected the nodes to form a fitted curve surface. This was done for both floating datasets, then the data were resampled from both datasets to generate a smoother, more accurate floating dataset, F.
Step 3. ICP Alignment. For any given point f in F, we found its nearest corresponding point r in R by calculating the minimum distance between f and each possible r, d. Then weight values were assigned to each pair in the same group of data that matches the same reference point, then the min value was calculated according to the following:
α m i n = 1 N B N C i = 1 N B N C d i
where NB is the total number of points in the floating data set, and NC is the number of points to be excluded. This number was determined after sorting di in order to reduce the overall complexity. Then the weight was assigned as follows:
w = { 1 α m e a n ( d i ) t    i f    d i < α m e a n e l s e .
After the assignments were completed, then the objective function which seeks to minimize the root mean square (RMS) value, was calculated. The way to evaluate the objective function was similar to gradient descent, so in order to speed up the search, the line search method was implemented, which searched in the nonlinear space of the objective function, F, in order to arrive at a minimum faster. If the solution was accepted, then a transformation matrix T’ was obtained by the ICP algorithm, and if the RMS value calculated was less than the previous iteration, then T’ replaced the currently optimal transformation matrix T, then automatically jumped to the perturbation stage. Otherwise, whether the stop condition had been reached had to be determined first.
Step 4. Stop Condition. The stop condition was so that if the RMS value is less than a preset threshold, or if the number of iterations so far was greater than a preset value, then the stop condition was determined to be reached, and the algorithm stopped.
Step 5. Perturbation. If we let Tinit be the initialization transformation T before the ICP begins and let the Ttemp be the transformation matrix for the converged solution, then the range to explore for Ttemp would be in the range of r, where
r = | Tinit − Ttemp |
since Tinit and Ttemp are both 4 × 4 transformation matrices, the range of r represents the range of possible discrete 4 × 4 transforms. Now suppose Ttemp only reached a local minimum, then the transformation for perturbation was chosen from the range of r, where probability of being selected was:
p ( θ ) = { α θ 2 0   i f   α r < θ < + α r o t h e r w i s e
where α is the scaling factor to help expand the perturbation range if the current search range was not sufficient to escape from a local solution.
The illustrations for the effects of denoising and resampling can be seen below in Figure 2.

3. Experimental Results

In the experiments, a specially-designed marker was placed next to the patient’s head (dummy head), so when the camera detected the marker plate, the built-in Vuforia image tracking SDK (Software Development Kit) [15] would know the spatial position of the patient’s head so as to map the HoloLens’ coordinate system to the marker’s coordinate system, then the medical image data points were aligned to the patient’s surface information via different ICP-based algorithms, including our proposed method. The RMS (root-mean-squared) errors and alignment times were recorded as the performance of DRWP-ICP was compared to other well-known ICP-based algorithms proposed in the literature. The final results were then displayed in the HoloLens output. In this setup, each floating dataset was composed of 48,596 points.
The hardware setup included a desktop running Windows with Intel® Core™ i5-4460 CPU, an Intel® RealSense RGB-Depth sensor (Santa Clara, CA, USA), and the Microsoft HoloLens MR system (Redmond, WA, USA). The software and user interface was developed using Unity [16] and OpenCV [17]. In order to compare the DRWP-ICP’s accuracy with other ICP-based algorithms, positional values of five references points were first obtained by using the MicroScribe G2X digitizer coordinate tracking device [18]. The number of pre-measured reference points was chosen based on the experimental setup in the Improved-ICP paper [8]. Figure 3 shows possible alignment results, where Figure 3a is one of the alignment results through the use of the Improved-ICP algorithm (blue points represent the reference dataset, the pink points represent the floating dataset (that are different from the values of the reference dataset), and yellow points represent the five reference points whose positional values are pre-measured); Figure 3b is one of the alignment results through the use of our proposed DRWP-ICP algorithm (the blue points represent the reference dataset, the pink points represent the floating dataset (that are different from the values of the reference dataset), and yellow dots represents the five pre-measured reference points); and Figure 3c is the output taken using a regular camcorder, without Hololens, with the areas representing floating data points marked in gray; and Figure 3d is the outputs on the Hololens display, with the reference data points (in pink) overlaying the dummy. As it can be seen, HoloLens provided an augmented display over the reality of the dummy head.
The experiments were designed for two groups of tests, identical except for the pre-alignment process. In the first group, no initial coarse pre-alignment was performed for each ICP algorithm under testing for their effectiveness under non-ideal conditions. In the second group of experiments, initial coarse pre-alignments were performed for each ICP algorithm (except Improved-ICP and DRWP-ICP algorithms) before further testing. Each of these groups were divided into two subgroups of experiments. Each of the subgroups had several sets of experiments to be performed: The first set of experiments tested the efficacy of each ICP-based algorithm in the presence of sparse floating data. The second set of experiments tested the efficacy of each ICP-based algorithm in the presence of additive Gaussian noises. The third and final set of experiment tested the efficacy of each ICP-based algorithm in the presence of outliers. Both averaged alignment time (excluding coarse alignment), and the average RMS errors of five pre-measured reference points were recorded after multiple repeated experiments. The ICP-based algorithms to be tested included the PCL-ICP, the CPD, the CC-ICP, the CC-ICP with its denoise function enabled (CC-ICP+D), the Improved-ICP, and our proposed DRWP-ICP.

3.1. Without Coarse Alignment (Random Staring Position)

3.1.1. Sparse Data

In order to test the effect of sparse data, the cases included testing 100% of floating data used in the alignment as reference, as well when only 70%, 50%, 25%, and 10% of the floating data points were used. The searches all started from random positions, including random distance and orientation. The following figure, Figure 4, shows examples of the floating data points in white and the reference data points in gold. Table 1 and Table 2 show the average, maximum and minimum errors; and alignment times, respectively. Since the alignment times for CC-ICP and CC-ICP+D were almost the same, no extra column was used for the CC-ICP+D alignment times.

3.1.2. Noise

In this set of experiments, Gaussian noises of different variances, i.e., 1.0, 2.0, 5.0, and 7.0, were added to the floating datasets. The following figure, Figure 5, shows examples of the floating data points in green and the reference data points in gold. Table 3 and Table 4 show the average, minimum, maximum errors; and the alignment times, respectively.

3.1.3. Outliers

In this set of experiments, different numbers of outliers, i.e., 600, 1800, 3000, and 6000, were deliberately added to the floating dataset. The following figure, Figure 6, shows examples of the floating data points in pink and the reference data points in gold. Table 5 and Table 6 show the average, minimum, maximum errors; and alignment times, respectively.

3.2. With SAC-IA Coarse Pre-Alignment

In this subgroup of experiment a preliminary coarse pre-alignment, the sampling consensus initial alignment (SAC-IA) [19], was first performed for each ICP-based algorithm. However, no coarse alignments were performed for the Improved-ICP algorithm, because its authors indicated no coarse alignment is necessary. Also, no coarse alignment was performed for our proposed DRWP-ICP, because we also believe that it is not necessary. Their values in the tables below are exactly the same as their values in the first group of experiments and are listed for reference purposes only. The figure below, Figure 7, illustrates the process of coarse alignment, where the green points represents the floating data and the red points represent the reference data. Table 7 displays the average RMS errors after the coarse alignment for the five reference points.

3.2.1. Sparse

Again, in order to test the effects of different ICP-based algorithm in the presence of sparse data, only 70%, 50%, 25%, and 10% of the floating data points were used. The original 100% of the data was also used for reference purposes. Table 8 and Table 9 show the average, minimum, maximum errors; and alignment times, respectively (not including the times taken for coarse pre-alignments).

3.2.2. Noise

In this set of experiments, Gaussian noises of different variances, i.e., 1.0, 2.0, 5.0, and 7.0, were added to the floating datasets. The mathematical expression of Gaussian distribution is:
ƒ ( x ) = 1 2 π σ e ( x µ ) 2 2 σ 2
where μ is the sample mean and the σ is the sample standard deviation. Table 10 and Table 11 show the average, minimum, maximum errors; and alignment times, respectively.

3.2.3. Outliers

In this set of experiments, different numbers of outliers, i.e., 600, 1800, 3000, and 6000, were deliberately added to the floating dataset. Table 12 and Table 13 show the average, minimum, maximum errors; and alignment times, respectively.
A final experiment using floating datasets with sparse data (10%), Gaussian noise (Variance = 7.0), and outliers (6000) was tested in order to test the robustness of our proposed DRWP-ICP when all three conditions exist. Table 14 below shows the average, maximum, and minimum alignment errors of the five registration methods. Coarse alignments were performed for PCL-ICP, CPD, and CC-ICP.

4. Discussion

The same observation as the Improved-ICP paper [8] can be drawn from the differences between the RMS values of experiments with and without coarse alignment: that the performances of the PCL-ICP, CPD and CC-ICP algorithms can all be improved by a coarse pre-alignment. The results from the experiments without alignments, seem to partially validate the claims by CPD, that is more robust under noisy and outliers, because all of the RMS errors of CPD were less than those of the PCL-ICP and the CC-ICP. However, in the experiments with coarse alignment, the performance of CPD dropped below the other ICP-base methods when that data became too noisy, or had too many outliers. Also in all the experiments the CPD took longer to terminate. Also, an obvious observation can also be made: noisier data, or data that have more outliers, will take longer to align. In the case of sparse data, the sparser the data, the less time it takes to perform alignment. Another interesting observation concerns the effects of the additional coarse pre-alignment for PCL-ICP, CPD, and CC-ICP algorithms. For example, by first performing coarse alignment, the alignment time for the PCL-ICP, CPD, and CC-ICP algorithms took shorter times to achieve their respective, and better alignment results, including sparse, noisy, and in most of the outliers cases. We believe that this is due to the fact that CPD and the other ICP-based methods, except Improved-ICP, did not fully consider being trapped into local minima, so when the floating data started from a random starting position, they were trapped into sub-optimal solutions. Our study proposes a method to escape from local minima even when the search appears to have converged. The coarse alignment reduced the search-space for the other methods and allowing them to reach better solutions.
Another observation is that by including the pre-alignment operation, and without counting the time for the pre-alignment, most of the alignment times for the PCL-ICP, CPD, and CC-ICP algorithms actually decreased, even though they achieved better results with pre-alignments. This is an interesting phenomena, however, because their performances still lag behind DRWP-ICP, it remains just a mildly interesting phenomena.
The entries in the tables above show that in almost all of the test cases, including RMS errors and running times, the proposed DRWP-ICP exhibited much better performances than the other algorithms in the test group, even the Improved-ICP algorithm. However, it is also observed that the CC-ICP with denoise function turned on can perform better. This is even more obvious with our coarse alignment, CC-ICP with denoise function was able to also reach near optimal solutions. This shows the importance of a good coarse alignment for the CC-ICP algorithm. So, these results combined show that the operations of denoising and resampling do affect the final results of alignment, and implies that DRWP-ICP algorithm is not only more accurate but also more robust than the other algorithms tested in the experiment for point set registration/alignment. This observation is valid since the original coarse alignment algorithm included in CC-ICP was not sufficient for it to reach near optimal solutions. The results in Table 14 show that it is superior even when all three conditions exists; i.e., noisy, sparse, and having outliers. It is also clear that the DRWP-ICP algorithm also does not require pre-alignment in order to reach near globally optimal solutions, so there is no need to consider pre-alignment in order to improve DRWP-ICP, which is makes it more efficient than the other algorithms that require pre-alignments in order to achieve better results.

5. Conclusions

In this work, a mixed-reality system for aiding the surgeons during image-guided surgeries is proposed. The pre-operative medical images are first taken and then superimposed on the patient through the use of the DRWP-ICP algorithm, which was shown by experiments to be superior both in performance and robustness when compared to other ICP-based algorithms in the presence of sparse data, noisy data, outlier data, or a combination of them. The aligned results are then displayed on the Microsoft’s HoloLens display as the medical data are superimposed on the patient. The use of the proposed MR system implies that the surgeon does not need to remove his focus from the patient during the operation in order to ascertain the progress of the operation, and that the surgeon can have full confidence that the medical data will be accurately displayed over the patient.

Author Contributions

Conceptualization and Methodology, J.-C.C., and J.-D.L.; Software, Y.-R.T., and C.-T.W.; Validation, Formal Analysis, and Writing, J.-C.C., Y.-R.T., C.-T.W. and J.-D.L.

Funding

This work was partly supported by Ministry of Science and Technology (MOST) and Chang Gung Memorial Hospital, Taiwan, Republic of China, under Grants MOST107-2221-E-182-026-MY2 and CMRPD2G0121, respectively.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kundu, S.N.; Muhammad, N.; Sattar, F. Using the augmented reality sandbox for advanced learning in geoscience education. In Proceedings of the 2017 IEEE 6th International Conference on Teaching, Assessment, and Learning for Engineering (TALE), Hong Kong, China, 12–14 December 2018; pp. 13–17. [Google Scholar]
  2. Hamacher, A.; Kim, S.J.; Cho, S.T.; Pardeshi, S.; Lee, S.H.; Eun, S.J.; Whangbo, T.K. Application of Virtual, Augmented, and Mixed Reality to Urology. Int. Neurourol. J. 2016, 20, 172–181. [Google Scholar] [CrossRef] [PubMed]
  3. Traub, J.; Sielhorst, T.; Heining, S.; Navab, N. Advanced Display and Visualization Concepts for Image Guided Surgery. J. Disp. Technol. 2008, 4, 483–490. [Google Scholar] [CrossRef]
  4. Besl, P.J.; McKay, N.D. A Method for Registration of 3-D Shapes. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  5. Myronenko, A.; Song, X. Point Set Registration Coherent Point Drift. IEEE Trans. Pattern Anal. Mach. Intell. 2010, 32, 2262–2275. [Google Scholar] [CrossRef] [PubMed]
  6. PCL-Point Cloud Library. Available online: http://pointclouds.org/ (accessed on 16 June 2017).
  7. CloudCompare. Available online: http://www.cloudcompare.org/ (accessed on 24 August 2017).
  8. Wu, M.L.; Chien, J.C.; Wu, C.T.; Lee, J.D. An Augmented Reality System Using Improved-Iterative Closest Point Algorithm for On-Patient Medical Image Visualization. Sensors 2018, 18, 2505. [Google Scholar] [CrossRef] [PubMed]
  9. Yang, J.; Li, H.; Campbell, D.; Jia, Y. Go-ICP: A Globally Optimal Solution to 3D ICP Point-Set Registration. IEEE Trans. Pattern Anal. Mach. Intell. 2015, 38, 2241–2254. [Google Scholar] [CrossRef] [PubMed]
  10. Intel RealSense Technology. Available online: https://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html (accessed on 14 May 2018).
  11. Hololens. Available online: https://www.microsoft.com/en-us/hololens/ (accessed on 31 August 2017).
  12. Grippo, L.; Lampariello, F.; Lucidi, S. A Nonmonotone Line Search Technique for Newton’s Method. SIAM J. Numer. Anal. 1986, 23, 707–716. [Google Scholar] [CrossRef]
  13. Fleishman, S.; Cohen-Or, D.; Silva, C.T. Robust Moving Least Squares Fitting with Sharp Features. ACM Trans. Graph. 2005, 24, 544–552. [Google Scholar] [CrossRef]
  14. Jolliffe, I.T.; Cadima, J. Principal Component Analysis: A Review and Recent Developments. Philos. Trans. A Math. Phys. Eng. Sci. 2016, 374, 20150202. [Google Scholar] [CrossRef] [PubMed]
  15. Vuforia. Available online: https://developer.vuforia.com/ (accessed on 13 September 2017).
  16. Unity. Available online: https://unity3d.com/ (accessed on 13 March 2018).
  17. OpenCV. Available online: https://opencv.org/ (accessed on 13 March 2018).
  18. MicroScribe G2X Digitizer. Available online: http://www.3d-microscribe.com/G2%20Page.htm (accessed on 11 April 2017).
  19. Rusu, R.B.; Blodow, N.; Beetz, M. Fast Point Feature Histograms (FPFH) for 3D Registration. In Proceedings of the Robotics and Automation Conference, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. [Google Scholar]
Figure 1. The flowchart of the Denoised-Resampled-Weighted-and-Perturbed-Iterative Closest Points (DRWP-ICP) algorithm.
Figure 1. The flowchart of the Denoised-Resampled-Weighted-and-Perturbed-Iterative Closest Points (DRWP-ICP) algorithm.
Sensors 19 03555 g001
Figure 2. Simulated effects of denoising and resampling of the original floating data.
Figure 2. Simulated effects of denoising and resampling of the original floating data.
Sensors 19 03555 g002
Figure 3. Sample alignment results. (a) Improved-ICP; (b) DRWP-ICP; (c) without HoloLens; and (d) with HoloLens.
Figure 3. Sample alignment results. (a) Improved-ICP; (b) DRWP-ICP; (c) without HoloLens; and (d) with HoloLens.
Sensors 19 03555 g003
Figure 4. Examples of sparse floating (white) and reference points (gold) used in the experiments.
Figure 4. Examples of sparse floating (white) and reference points (gold) used in the experiments.
Sensors 19 03555 g004
Figure 5. Examples of floating (green) with Gaussian noises and reference points (gold) used in the experiments.
Figure 5. Examples of floating (green) with Gaussian noises and reference points (gold) used in the experiments.
Sensors 19 03555 g005
Figure 6. Examples of floating (pink) with Gaussian noises and reference points (gold) used in the experiments.
Figure 6. Examples of floating (pink) with Gaussian noises and reference points (gold) used in the experiments.
Sensors 19 03555 g006
Figure 7. A possible scenario of (a) pre-coarse-alignment (b) post-coarse-alignment positions.
Figure 7. A possible scenario of (a) pre-coarse-alignment (b) post-coarse-alignment positions.
Sensors 19 03555 g007
Table 1. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 1. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average Root Mean Square (RMS) Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)0.9322.24846.94815.49433.5627.88
70% (~34,017)1.3083.31446.95415.5849.527.93
50% (~242,9801.5123.44446.94815.49449.57.965
25% (~12,149)1.8063.26246.92015.65649.5168.156
10% (~4860)1.823.64447.02615.4649.5028.04
Minimum of RMS Errors of Five Reference Points (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)0.371.9624.216.8916.485.05
70% (~34,017)0.772.6124.136.8625.095.04
50% (~242,9801.072.8924.266.9725.035.1
25% (~12,149)1.442.7924.337.1624.995.23
10% (~4860)1.363.1624.036.9424.775.04
Maximum of RMS Errors of Five Reference Points (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)1.492.8466.4522.6360.0510.44
70% (~34,017)1.773.7466.5422.5975.7710.56
50% (~242,9802.154.2266.4322.5375.7110.55
25% (~12,149)2.293.7566.3222.6975.7510.81
10% (~4860)2.513.9966.7322.7775.9810.71
Table 2. Alignment times (seconds).
Table 2. Alignment times (seconds).
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
100% (~48,596)3.856.218018410
70% (~34,017)3.165.97811649
50% (~242,9803.015.1771628
25% (~12,149)2.994.76651605.4
10% (~4860)2.544.65491454.1
Table 3. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 3. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average RMS Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.01.0242.01846.96215.49249.53612.285
Variance = 2.01.0482.11446.90215.49249.49.534
Variance = 5.01.492.39846.76415.53648.87430.5
Variance = 7.01.6622.64446.6115.53648.53831.35
Minimum of RMS Errors of Five Reference Points (mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.00.41.3824.246.9324.077.34
Variance = 2.00.431.4224.286.9525.005.74
Variance = 5.01.031.5124.137.0024.6720.13
Variance = 7.01.11.4923.587.0223.9021.2
Maximum of RMS Errors of Five Reference Points (mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.01.32.3466.4522.5975.7716.46
Variance = 2.01.52.4166.422.5375.7112.86
Variance = 5.02.132.7166.5922.6975.7539.02
Variance = 7.02.493.2767.0122.7775.9839.94
Table 4. Alignment times (seconds).
Table 4. Alignment times (seconds).
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
Variance = 1.04.344.1416936020
Variance = 2.06.248.1623169126
Variance = 5.09.2414.7430878235
Variance = 7.014.6519.89384144035
Table 5. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 5. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average RMS Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6000.9922.23246.90217.79449.47211.036
18001.0183.85646.83615.57249.3289.338
30001.5364.78446.79615.56649.07227.32
60001.554.83246.47415.59448.68610.454
Minimum RMS Errors of Five Reference Points (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6000.371.7124.1913.8125.07.22
18000.363.5224.197.0224.966.92
30001.033.4524.297.0724.8316.4
60001.033.4324.187.1524.485.98
Maximum RMS Errors of Five Reference Points (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6001.352.6166.4722.2675.714.56
18001.515.9166.5222.6975.5412.33
30002.135.6366.5722.7175.2139.8
60002.165.866.3722.7474.8214.49
Table 6. Alignment times (seconds).
Table 6. Alignment times (seconds).
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
6005.1735.2424831812
18006.136.2428839926
30007.173835258133
600013.4145.3439560237
Table 7. Average RMS errors of five reference points after coarse-Alignment for original data (mm).
Table 7. Average RMS errors of five reference points after coarse-Alignment for original data (mm).
Reference PointPoint 1Point 2Point 3Point 4Point 5Average of Five Points
Average Error17.1314.4216.8013.7815.8215.59
Table 8. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 8. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average RMS Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)0.9322.2481.8322.1347.470.904
70% (~34,017)1.3083.3141.92.3767.5560.928
50% (~242,9801.5123.4442.2622.4067.5880.852
25% (~12,149)1.8063.2624.3387.7427.8240.822
10% (~4860)1.823.6449.2848.2811.8380.904
Minimum RMS Errors of Five Reference Points (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)0.371.961.041.344.860.23
70% (~34,017)0.772.611.122.164.860.24
50% (~242,9801.072.891.711.614.930.28
25% (~12,149)1.442.793.33.885.090.26
10% (~4860)1.363.164.454.546.680.21
Maximum RMS Errors of Five Reference Points (mm)
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
100% (~48,596)1.492.842.293.019.541.27
70% (~34,017)1.773.742.322.539.991.27
50% (~242,9802.154.222.692.959.991.26
25% (~12,149)2.293.755.7410.7510.31.29
10% (~4860)2.513.9913.6111.0115.941.22
Table 9. Alignment times (seconds).
Table 9. Alignment times (seconds).
Method/SparsityDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
100% (~48,596)3.856.21651755
70% (~34,017)3.165.97641595.8
50% (~242,9803.015.1611545.5
25% (~12,149)2.994.76571514.8
10% (~4860)2.544.65491453.9
Table 10. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 10. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average RMS Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.01.0242.0181.963.0868.0560.916
Variance = 2.01.0482.1149.388.2788.2480.844
Variance = 5.01.492.3989.43610.169.6661.12
Variance = 7.01.6622.6449.64211.27210.6841.526
Minimum RMS Errors of Five Reference Points(mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.00.41.381.252.365.310.16
Variance = 2.00.431.423.944.425.420.49
Variance = 5.01.031.514.656.486.760.71
Variance = 7.01.11.493.297.358.081.2
Maximum RMS Errors of Five Reference Points (mm)
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
Variance = 1.01.32.342.465.1410.541.37
Variance = 2.01.52.4113.8810.8410.781.05
Variance = 5.02.132.7113.7813.0312.511.63
Variance = 7.02.493.2714.4714.6913.371.98
Table 11. Alignment times (seconds).
Table 11. Alignment times (seconds).
Method/NoiseDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
Variance = 1.04.344.141082407
Variance = 2.06.248.161984807
Variance = 5.09.2414.7421660015
Variance = 7.014.6518.89247120032
Table 12. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Table 12. The Average, Minimum and Maximum of Reference Points’ Alignment Errors.
Average RMS Errors of Five Reference Points of Different ICP-based Methods (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6000.9922.2329.3447.4485.810.872
18001.0183.8569.33619.8789.4780.874
30001.5364.7849.4320.1812.4720.844
60001.554.83210.03820.19414.0280.848
Minimum RMS Errors of Five Reference Points (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6000.371.714.643.294.30.19
18000.363.524.711.488.140.23
30001.033.454.633.519.10.28
60001.033.433.21.710.620.2
Maximum RMS Errors of Five Reference Points (mm)
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPCC-ICP+D
6001.352.6113.6811.787.271.38
18001.515.9113.6432.5311.331.31
30002.135.6313.830.4817.141.34
60002.165.815.1533.218.321.38
Table 13. Alignment times (seconds).
Table 13. Alignment times (seconds).
Method/OutliersDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICPs
6005.1735.2419421511
18006.136.2417338411
30007.173818139113
600013.4145.3422046115
Table 14. RMS errors of five reference points under all sparse, noisy, and outlier conditions (mm).
Table 14. RMS errors of five reference points under all sparse, noisy, and outlier conditions (mm).
Method/StatisticDRWP-ICPImproved-ICPPCL-ICPCPDCC-ICP
Average3.6786.9769.80713.0349.193
Minimum3.576.496.947.748.05
Maximum3.857.3213.6719.3610.79

Share and Cite

MDPI and ACS Style

Chien, J.-C.; Tsai, Y.-R.; Wu, C.-T.; Lee, J.-D. HoloLens-Based AR System with a Robust Point Set Registration Algorithm. Sensors 2019, 19, 3555. https://doi.org/10.3390/s19163555

AMA Style

Chien J-C, Tsai Y-R, Wu C-T, Lee J-D. HoloLens-Based AR System with a Robust Point Set Registration Algorithm. Sensors. 2019; 19(16):3555. https://doi.org/10.3390/s19163555

Chicago/Turabian Style

Chien, Jong-Chih, Yao-Ren Tsai, Chieh-Tsai Wu, and Jiann-Der Lee. 2019. "HoloLens-Based AR System with a Robust Point Set Registration Algorithm" Sensors 19, no. 16: 3555. https://doi.org/10.3390/s19163555

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop