Next Article in Journal
Infrared Thermography Approach for Effective Shielding Area of Field Smoke Based on Background Subtraction and Transmittance Interpolation
Previous Article in Journal
Centrifugal Deposited Au-Pd Core-Shell Nanoparticle Film for Room-Temperature Optical Detection of Hydrogen Gas
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fast Sparse Coding for Range Data Denoising with Sparse Ridges Constraint

1
Temasek Laboratories, National University of Singapore, 117411 Singapore
2
College of Computer Science, Sichuan University, Chengdu 610065, China
3
School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430079, China
4
College of Informatics, Huazhong Agricultural University, Wuhan 430070, China
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(5), 1449; https://doi.org/10.3390/s18051449
Submission received: 16 March 2018 / Revised: 28 April 2018 / Accepted: 5 May 2018 / Published: 6 May 2018
(This article belongs to the Section Remote Sensors)

Abstract

:
Light detection and ranging (LiDAR) sensors have been widely deployed on intelligent systems such as unmanned ground vehicles (UGVs) and unmanned aerial vehicles (UAVs) to perform localization, obstacle detection, and navigation tasks. Thus, research into range data processing with competitive performance in terms of both accuracy and efficiency has attracted increasing attention. Sparse coding has revolutionized signal processing and led to state-of-the-art performance in a variety of applications. However, dictionary learning, which plays the central role in sparse coding techniques, is computationally demanding, resulting in its limited applicability in real-time systems. In this study, we propose sparse coding algorithms with a fixed pre-learned ridge dictionary to realize range data denoising via leveraging the regularity of laser range measurements in man-made environments. Experiments on both synthesized data and real data demonstrate that our method obtains accuracy comparable to that of sophisticated sparse coding methods, but with much higher computational efficiency.

1. Introduction

In addition to their increasing proliferation and the growing importance of their roles in numerous applications (including 3D reconstruction and landscape surveying), light detection and ranging (LiDAR) sensors have recently been widely deployed on intelligent systems such as unmanned ground vehicles (UGVs) and unmanned aerial vehicles (UAVs) to perform localization, obstacle detection, and navigation tasks. Consequently, research into range data processing with competitive performance in terms of both accuracy and efficiency has attracted increasing attention. Despite the simplicity and directness in obtaining 3D information, such range data often suffer from noise due to the reflectance property of an object’s surfaces, or due to electrical and mechanical disturbances. Therefore, efficient denoising for range data remains a critical problem.
Some range data denoising methods directly originate from their counterparts for images by regarding the depth value of range data as intensity, and readers can refer to [1] for detailed discussions. However, such methods typically cause artifacts of vertex drifting, which reduce the geometric regularity [2,3]. Techniques designed specifically for range data (e.g., the 3D points cloud) can be roughly classified into point-based [4,5] and mesh-based [6,7] methods. However, estimating normal vectors from noisy data for mesh denoising appears to be a chicken-and-egg problem and remains an open topic [8,9]. In [10,11], range data and color images were fused for denoising, and promising results were reported. However, the prerequisites of these methods only hold when expensive sensors are applied or extra efforts are devoted to registering range data and images.
Sparse coding (SC) has revolutionized signal processing and led to state-of-the-art performance in a variety of applications, including image or video denoising, inpainting [12,13], restoration [14], and synthesis [15], face recognition [16], and anomaly detection [17]. These successes are mainly due to the fact that signal (images or image patches) have naturally sparse representations with respect to appropriate bases [18]. In recent years, such SC techniques have been applied to range data [19,20] and obtained competitive results. However, dictionary learning, which plays the central role in SC techniques, is computationally demanding, resulting in its limited applicability in real-time systems [21,22].
Based on the work of [20], in which reflectance information was synergized with depth data to facilitate the enforcement of adaptive sparsity constraint (therein, the depth and reflectance information that are complementary to each other work together to estimate the informative level of each patch, followed by adaptive dictionary learning which assigns more atoms to represent the patches with more information), we propose SC algorithms without dictionary learning to realize range data denoising via leveraging the regularity of laser range measurements in man-made environments. Specifically, a second-order differential transformation is applied to extract ridges that can be reconstructed and enhanced using a pre-learned ridge dictionary with sparsity constraint. Instead of performing refinement on the coefficients and dictionary alternately and iteratively [12,14,19,20,22], our method can achieve a one-step closed-form solution, resulting in much improved efficiency. Experiments on both synthesized data and real data were conducted to verify the effectiveness of our method, together with performance comparison against other state-of-the-art methods.

2. Our Method

2.1. Notation and Preliminaries

Matrices and vectors are shown in bold capital and bold lower-cased fonts, respectively. Sets are denoted with calligraphic fonts (e.g., S ), and their cardinality is denoted as | S | . For a vector x R m , x [ i ] is the i-th entry, x S is the subvector of x corresponding to the entries with indices in S . We define 2 -norm, | | x | | 2 = i = 1 , , m x [ i ] 2 ; 1 -norm, | | x | | 1 = i = 1 , , m | x [ i ] | ; 0 -norm, | | x | | 0 = | s u p p ( x ) | (i.e., the number of nonzero elements). s i g n ( x ) is a sign vector with entries: s i g n ( x [ i ] ) = 1 if x [ i ] > 0 , s i g n ( x [ i ] ) = 1 if x [ i ] < 0 , and zero otherwise. Based on the sign operator, we define the shrinkage operator:
T α ( x ) [ i ] = ( | x [ i ] | α ) + s i g n ( x [ i ] ) = m a x ( | x [ i ] | α , 0 ) s i g n ( x [ i ] ) .
For a matrix X R m × n and an index set S , X S is the submatrix containing only the rows of X with indices in S . v e c ( X ) denotes the column-wise vectorization of matrix X . Letters d and r in superscript refer to the components related to the depth and reflectance information, respectively. Letters v and h in subscript refer to the components related to the vertical and horizontal directions, respectively.
Ridge detection for range measurements. We first take a scan from a 2D laser scanner as an example to introduce our operator of ridge detection and then extend the approach to 3D depth profiles. In Figure 1, we plot the depth profile z R n of a typical indoor environment, which is obtained using a standard planar range finder measured with (known) discrete angles. Clearly, the profile is sufficiently regular and contains a few corners. Considering three consecutive points at coordinates ( x i 1 , z i 1 ) , ( x i , z i ) , and ( x i + 1 , z i + 1 ) , there is a corner at i if z i + 1 z i x i + 1 x i z i z i 1 x i x i 1 . In the following, we assume that x i x i 1 = 1 for all i (this assumption comes without loss of generality since we can define it at arbitrary resolution). Therefore, the corner detection for the 2D profile is to find those indices i such that z i 1 2 z i + z i + 1 0 . To make the notation more compact, we introduce the second-order difference operator:
D 2 n d = 1 2 1 0 0 0 1 2 1 0 0 0 0 0 1 2 1 R ( n 2 ) × n .
Thus, a simple operation D 2 n d · z can detect corners. For a 3D depth profile Z R r × c , we estimate the ridges of vertical and horizontal directions R v and R h , respectively:
R v = D v 2 n d · Z R ( r 2 ) × c , R h = Z · D h 2 n d T R r × ( c 2 ) ,
where the matrices D v 2 n d and D h 2 n d are the same as D 2 n d in Equation (1), but with suitable dimensions. To combine the two equations of (2), we reformulate it as below:
v e c ( R h ) v e c ( R v ) = I c D v 2 n d D h 2 n d I r · v e c ( Z ) = D v h · v e c ( Z ) .
Here, ⊗ is the Kronecker product, and D v h R 2 ( r · c r c ) × ( r · c ) .

2.2. Adaptive SC and Its 0 , 1 Solutions

For each patch r i (in the vectorized form) in the depth ridge map, we formulate the following adaptive SC model:
m i n x v i , x h i r v i D L · x v i 2 + r h i D L · x h i 2 , s . t . 1 i N , x v i 0 k v i , x h i 0 k h i ,
where r v i and r h i represent the patches from vertical and horizontal ridge maps, respectively. D L is the fixed pre-learned dictionary, as shown in Figure 2, which is obtained by applying the basic SC algorithm [19] on 40 pre-selected ridge maps of man-made scenarios (here, we display our pre-learned dictionary with the optimal setting of parameters as obtained in Section 3.1.1, namely the number of dictionary atoms is 1024 and the size of each atom is 8 × 8). In [23], different dictionaries (including off-the-shelf ones such as discrete cosine transform (DCT) basis, wavelets basis, and dictionaries obtained via learning—either pre-learned or learned from the data itself) were tested for image denoising. Although the dictionary learned from the data itself reported the best denoising accuracy, it was also the most computationally demanding. In addition to our pre-learned dictionary, we also displayed the DCT dictionary, Gabor wavelets dictionary in Figure 2. The parameter tweaking of such dictionaries and their denoising performance are discussed in Section 3.1.1. x v i and x h i correspond to the sparse coefficient vectors. k v i and k h i are the given sparsity controlling parameters. Instead of setting these parameters as constants for all patches, we set them adaptively according to the informative level of each patch (see Section 3.1.1 for details) in a manner similar to that of [20]. Given k v i and k h i , the popular orthogonal-matching-pursuit (OMP) algorithm is applied to solve such 0 optimization problem. Moreover, the batch-OMP (BOMP) technique is exploited to further improve the efficiency. As the problem of (4) is non-convex and NP-hard, we reformulate its relaxation as below:
m i n x v i , x h i r v i D L · x v i 2 + λ v i x v i 1 + r h i D L · x h i 2 + λ h i x h i 1 .
Here, λ v i and λ h i , which balance the representation fidelity term and the sparsity penalty term, are again estimated adaptively (see Section 3.1.1 for details). By stacking all the patches, we obtain Equation (6):
m i n X v , X h [ r v 1 , , r v N ] D L · X v 2 + i = 1 N λ v i x v i 1 + [ r h 1 , , r h N ] D L · X h 2 + i = 1 N λ h i x h i 1 ,
in which the neighboring patches are extracted with half-overlapping. To solve such 1 optimization problem, the least-absolute-shrinkage-and-selection-operator (LASSO) algorithm was proposed, which has proven to find the global optimizer.
Clearly, Equations (4)–(6) differ from previous methods [12,14,19,20,22] in one aspect, which is that D L is fixed. Thus, X v and X h can be obtained with a one-step closed-form solution instead of performing refinement on the coefficients and dictionary alternately and iteratively, thus resulting in much improved efficiency. With X v and X h in hand, we reconstruct each patch r ^ v i and r ^ h i . When all patches are processed, the average value is used for the locations occupied by multiple patches, and then we obtain the refined ridge maps R ^ v and R ^ h . Next, we can recover Z ^ by performing the inverse operation of Equation (3). However, due to the dependency of the rows of D v h , the system is under-determined. Therefore, we need to incorporate the boundary conditions to recover Z ^ from its refined second-order difference, as shown in Equation (7):
z N v e c ( R h ) v e c ( R v ) = I N 0 N × ( r · c N ) D v h · v e c ( Z ) = A D v h · v e c ( Z ) ,
where the available N boundary points are incorporated, and six boundary points are used in our work. A more rigorous theoretical proof of the minimum necessary boundary points is out of the scope of this work. Performing the inverse operation on (7), we can recover Z ^ as Equation (8):
v e c ( Z ^ ) = A T D v h T A D v h 1 A T D v h T z N v e c ( R h ) v e c ( R v ) .
Here, all the matrices A , D v h , their transposes, and their inverses can be pre-computed to significantly reduce the overall processing time. We now summarize all previous operations as Algorithm 1. In fact, our algorithm includes two versions of implementation: our-BOMP and our-LASSO.
In Algorithm 2, the convergence criterion is well-defined as x 0 k . In Algorithm 3, the convergence criterion is that the relative update difference of x k is less than 10 3 .
Algorithm 1 Our Sparse Coding for Depth Data Denoising
 Input:
Depth map Z , dictionary D c , parameters k 1 , k 2 , λ v , λ h ;
 Output:
Restored Z ^ of Equation (8);
1:
Estimate the ridge maps R V and R H as Equation (2);
2:
Extract and vectorize ridge map patches r v i , r h i , 1 i N ;
3:
//Line 5 & 7 apply different algorithms to estimate x v i , x h i .
4:
//Line 5 belongs to the version of our-BOMP.
5:
Apply the Batch-OMP algorithm to solve Equation (4);
6:
//Line 7 belongs to the version of our-LASSO.
7:
Apply the LASSO algorithm to solve Equation (5);
8:
Obtain the refined ridge maps R ^ v and R ^ h via reconstruction;
9:
Recover Z ^ via applying Equation (8).
Algorithm 2 Batch-orthogonal-matching-pursuit [24] to solve: m i n x y D · x 2 s . t . x 0 k
 Input:
y , D , k;
 Output:
x ;
1:
Initialization: x = 0 , r = y , S = { } ;
2:
while stopping criterion not met do
3:
k = a r g m a x k | d k T · r | ;
4:
L = S ;
5:
S = { k } + L ;
6:
G S = D S T D S , G L = D L T D L ;
7:
//Line 8 obtains G S 1 using progressive Cholesky update.
8:
x S = G S 1 D S T y ;
the key updating function to estimate G S 1 is:
G S 1 = G L 1 + 1 a G L 1 D L T d k d k T D L G L 1 1 a G L 1 D L T d k 1 a d k T D L G L 1 1 a
here, a = d k T d k d k T D L G L 1 D L T d k
9:
r = y D S x S ;
10:
end while
Algorithm 3 Fast iterative shrinkage-thresholding algorithm (FISTA) [25] to solve LASSO problem: min x y D · x 2 + λ x 1
 Input:
y , D , λ ;
 Output:
x ;
1:
Initialization: x 0 = 0 , z 1 = x 0 , L = m a x ( e i g ( D T D ) ) , t 0 = 1 , k = 0 ;
2:
while not converged do
3:
k = k + 1 ;
4:
g r a d ( z k ) = D T D z k D T y ;
5:
x k = T λ L ( z k 1 L g r a d ( z k ) ) ;
6:
//see Section 2.1 for the definition of T α ( x ) .
7:
t k = ( 1 + 1 + 4 · t k 1 2 ) / 2 ;
8:
z k + 1 = x k + t k 1 1 t k ( x k x k 1 ) ;
9:
end while

3. Experiments and Analysis

We performed experiments on both synthesized data and actual data recorded using a laser scanner. In the synthesized data experiments where the ground truth was available, the setting of important parameters was investigated, followed by denoising evaluation. In the real data experiments, the results are also demonstrated for visual assessment, in addition to the performance comparison. Similar to [14,20], the peak signal-to-noise ratio (PSNR) value is employed to evaluate the performance. Here, we clarify that our work is run on an ASUS Pro Notebook with a 2.4 GHz Intel Quad-Core i7-4500U processor and 12 GB RAM executing MATLAB code in parallel.

3.1. Experiments on Synthesized Data

Similar to [20,26], we designed a scene of a square box having sides of one meter in a room, as shown in Figure 3, where all information is known as the ground truth.

3.1.1. Important Parameters

To achieve plausible performance in terms of both accuracy and efficiency, the following parameters play the central role: the sparsity controlling parameters k v i , k h i , λ v i , λ h i , dictionary dimension d (which indicates that the patch size is d × d pixels), and its atom number n D ( r = n D d is the redundancy of the dictionary).
Applying the same parameter tweaking strategy as that in [20], we recommend the sparsity controlling parameters as shown in Table 1. For each patch P j ( j = v or h, from vertical or horizontal ridge maps, respectively), the parameters α v i , β v i (or α h i , β h i ) are related to its informative-level measurement ( I n M ), which is estimated as below:
D e n P v d = i = 1 d j = 1 d P v d i , j , R e n P r = i = 1 d j = 1 d G r a d M a g ( P r ) i , j , G r a d M a g ( P r ) i , j = ( P r [ i , j ] x ) 2 + ( P r [ i , j ] y ) 2 , I n M ( P v d ) = D e n P v d · exp ( σ ( R e n P r ) 0.5 ) .
Here, G r a d M a g ( P r ) is the gradient magnitude map of patch P r , and σ ( · ) is the sigmoid function σ ( · ) = 1 1 + e x p ( · ) . For the input from ( , + ) , the output of σ ( · ) is in the range ( 0 , 1 ) . In our work, as the value of R e n cannot be negative, the output of σ ( R e n ) is in the range [ 0.5 , 1 ) . The output of exp ( σ ( R e n ( P r ) ) 0.5 ) ) is in the range [ 1 , e 0.5 ) . With I n M ( P v d ) , I n M ( P h d ) for all patches in hand, we determine the sparsity controlling parameters via computing α v i , β v i , α h i , a n d β h i as below:
I n M m i n = m i n { I n M ( P v i d ) , I n M ( P h i d ) } , i = 1 , , N , I n M m a x = m a x { I n M ( P v i d ) , I n M ( P h i d ) } , i = 1 , , N , α j i = I n M m a x I n M ( P j i d ) I n M m a x I n M m i n , j = v o r h , β j i = I n M ( P j i d ) I n M m i n I n M m a x I n M m i n , j = v o r h .
In Table 1, the positions of α j i and β j i are exchanged in Our-BOMP and Our-LASSO because k j i and λ j i enforce the sparsity constraint in different manners to adaptively determine the number of dictionary atoms permitted for the patches with different informative levels. For example, to assign more atoms to represent the patch with more information, k j i should increase to push up the sparsity limit, whereas λ j i should decrease to penalize the sparsity constraint term to a lower degree.
In addition to k j i , λ j i , we tested different combinations of patch size and redundancy to find the most reasonable settings of d and r. Specifically, d can be 4, 8, 16, or 24, and r can be 4, 8, 16, or 24. Thus, a total of 16 combinations were tested. As shown in Figure 4a, dictionaries with redundancy 16 consistently achieved better denoising results than dictionaries with redundancy 4, 8, and 24, when their patch sizes were the same. Figure 4b shows the computation time. Clearly, the time increased dramatically with increasing patch size and redundancy. Taking both the denoising performance and computation time into account, we conclude that the dictionary setting of d = 8 and r = 16 (namely 1024 atoms) can yield decent outputs, while allowing fast computation. Such parameters are used throughout this paper, except where indicated. In Table 2, we further report the denoising result using different fixed dictionaries: our pre-learned dictionary, DCT dictionary, and Gabor wavelets dictionary. Clearly, the results using our pre-learned dictionary were better those using off-the-shelf ones.

3.1.2. Denoising Results

The denoising results of our work on the synthesized data (see Figure 3d in which 100% dense Gaussian noises with standard deviation of 0.02 m and gray-scale value 5 for range and reflectance data respectively were added) are reported in Table 3, together with the comparison against available competitive methods including Trilateral filter [26], Basic SC [19], and Adaptive SC [20]. Moreover, in addition to the Gaussian noise, sparse outliers (5% of the total positions, which were randomly distributed) were added to the scene, as shown in Figure 3e, and the denoising results are also reported in Table 3. In addition to the PSNR criteria, the root mean square (RMS, with units of millimeters) error indicating the difference between the recovered range data and the ground truth is also included, since it can give readers a more direct indication of how well the contaminated range information was restored by these methods. Moreover, the computational time of each method is also reported. As shown in Table 3, our methods outperformed Trilateral filter, Basic SC, and obtained comparable results to Adaptive SC in terms of denoising accuracy (the best results were obtained by Adaptive SC with PSNR = 33.83 and RMS = 1.98), while achieving significantly higher efficiency than Adaptive SC. Moreover, Our-BOMP even worked slightly more efficiently than Our-LASSO, achieving the processing speed of approximately 13 fps for the range image with resolution 800 × 800.

3.2. Denoising Data from Laser Scanner

This set of experiments used the Brown range image database [27] captured with a Riegl LMS-Z210 laser scanner, its field of view (FoV) is 80 vertically and 259 horizontally. We focused only on the 15 indoor scenes (e.g., classrooms and theatres). To deal with (and benefit from) such a large horizontal FoV, similar to the multiple local projection method in [19], we partitioned the scene into several parts with 80 FoV vertically and horizontally. Note that in the Brown range image database, the depth of each measuring point is saved sequentially, left to right and up to down. Thus, the image location only indicates the order of saving and it was necessary to perform local projection to obtain reasonable images. The consecutive parts were half-overlapping along the horizontal direction, then each part was projected to an image plane orientated to the center. Finally, the average of all the restored parts was computed to restore the whole scene. In the following, the denoising results on such real data are reported and discussed. Similar to Section 3.1, Gaussian noise was added to the depth and reflectance data, and the results on three representative scenes are shown in Figure 5.
As can be observed in Figure 5, the results of Trilateral filter were good in the planar regions, but contained a great deal of noise in the edge regions. Our method, Basic SC, and Adaptive SC are all based on SC, and obtained consistent results in all regions. Moreover, the results of our method in the third column were slightly worse than those of columns 1 and 2, because the curved structure of the scene in the third column posed a greater challenge to our sparse ridge assumption. In Table 4, the average denoising results on all 15 indoor scenes of the dataset are reported. Similar to the results on the synthesized data, our method outperformed Trilateral filter and Basic SC consistently, and obtained comparable results to those of Adaptive SC in terms of denoising accuracy, while achieving significantly higher efficiency than Adaptive SC. Compared with the results in Table 3, the results of Table 4 deteriorated as the structure of real scenes was more complex than the synthetic scene. Similar to the previous section, in addition to the Gaussian noise, sparse outliers were added to the scene, and the denoising results are also reported in Table 4.

4. Conclusions

In this study, based on our previous work [20], we propose SC-based algorithms in which a pre-learned ridge dictionary is applied to realize range data denoising by leveraging the regularity of laser range measurements in man-made environments. Experiments on both synthesized data and real data demonstrate that our method obtained accuracies comparable to those of sophisticated SC methods with much higher efficiency, achieving approximately 13 fps (for resolution of 800 × 800) with the resource of a lightweight laptop computer. Therefore, our method can be applied for real-time systems in man-made environments. Furthermore, we are trying to implement our method with GPU acceleration, intending to further increase the efficiency and also save the precious payload for unmanned systems, especially UAVs.

Author Contributions

Zhi Gao designed the algorithm and wrote the paper; Mingjie Lao designed the codes and performed the experiments; Yongsheng Sang also helped in coding and experimental tuning; Fei Wen focused on the search of related work and experimental comparison; Bharath Ramesh provided significant comments and suggestions; Ruifang Zhai helped with revision.

Funding

This research was supported in part by the Science Foundation of Ministry of Education (MOE) of China and China Mobile Communications Corporation under Grant MCM20160307.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Buades, A.; Coll, B.; Morel, J.M. A review of image denoising algorithms, with a new one. Multiscale Model. Simul. 2005, 4, 490–530. [Google Scholar] [CrossRef]
  2. Lysaker, M.; Lundervold, A.; Tai, X.C. Noise removal using fourth-order partial differential equation with applications to medical magnetic resonance images in space and time. IEEE Trans. Image Proc. 2003, 12, 1579–1590. [Google Scholar] [CrossRef] [PubMed]
  3. Wu, Y.; Tracey, B.; Natarajan, P.; Noonan, J.P. Probabilistic non-local means. IEEE Signal Proc. Lett. 2013, 20, 763–766. [Google Scholar] [CrossRef]
  4. Smigiel, E.; Alby, E.; Grussenmeyer, P. TLS data denoising by range image processing. Photogramm. Rec. 2011, 26, 171–189. [Google Scholar] [CrossRef]
  5. Sun, B.; Fang, H.; Huang, D. Lidar signal denoising using least-squares support vector machine. IEEE Signal Proc. Lett. 2005, 12, 101–104. [Google Scholar]
  6. Fleishman, S.; Drori, I.; Cohen-Or, D. Bilateral mesh denoising. ACM Trans. Graph. 2003, 22, 950–953. [Google Scholar] [CrossRef]
  7. Marco, M.; Luca, P.; Augusto, S.; Stefano, T. Fast PDE approach to surface reconstruction from large cloud of points. Comput. Vis. Image Underst. 2008, 112, 274–285. [Google Scholar] [CrossRef]
  8. Belyaev, Y.; Seidel, H. Mesh smoothing by adaptive and anisotropic Gaussian filter applied to mesh normals. In Vision, Modeling, and Visualization; IOS Press: Amsterdam, The Netherlands, 2002; pp. 203–210. [Google Scholar]
  9. Tasdizen, T.; Whitaker, R.; Burchard, P.; Osher, S. Geometric surface smoothing via anisotropic diffusion of normals. In Proceedings of the Conference on Visualization’02, Boston, MA, USA, 27 October—1 November 2002; pp. 125–132. [Google Scholar]
  10. Crabb, R.; Tracey, C.; Puranik, A.; Davis, J. Real-time foreground segmentation via range and color imaging. In Proceedings of the Computer Vision and Pattern Recognition Workshops, Anchorage, AK, USA, 23–28 June 2008; pp. 1–5. [Google Scholar]
  11. Huhle, B.; Schairer, T.; Jenke, P.; Straber, W. Fusion of range and color images for denoising and resolution enhancement with a non–local filter. Comput. Vis. Image Underst. 2010, 114, 1336–1345. [Google Scholar] [CrossRef]
  12. Elad, M.; Aharon, M. Image denoising via sparse and redundant representations over learned dictionaries. IEEE Trans. Image Proc. 2006, 15, 3736–3745. [Google Scholar] [CrossRef]
  13. Ji, H.; Huang, S.; Shen, Z.; Xu, Y. Robust video restoration by joint sparse and low rank matrix approximation. SIAM J. Imaging Sci. 2011, 4, 1122–1142. [Google Scholar] [CrossRef]
  14. Mairal, J.; Elad, M.; Sapiro, G. Sparse representation for color image restoration. IEEE Trans. Image Proc. 2008, 17, 53–695. [Google Scholar] [CrossRef]
  15. Peyré, G. Sparse modeling of textures. J. Math. Imaging Vis. 2009, 34, 17–31. [Google Scholar] [CrossRef]
  16. Wright, J.; Yang, A.Y.; Ganesh, A.; Sastry, S.S.; Ma, Y. Robust face recognition via sparse representation. IEEE Trans. Pattern Anal. Mach. Intell. 2009, 31, 210–227. [Google Scholar] [CrossRef] [PubMed]
  17. Adler, A.; Elad, M.; Hel-Or, Y.; Rivlin, E. Sparse coding with anomaly detection. J. Signal Proc. Syst. 2015, 79, 179–188. [Google Scholar] [CrossRef]
  18. Wright, J.; Ma, Y.; Mairal, J.; Sapiro, G.; Huang, T.S.; Yan, S. Sparse representation for computer vision and pattern recognition. Proc. IEEE 2010, 98, 1031–1044. [Google Scholar] [CrossRef]
  19. Mahmoudi, M.; Sapiro, G. Sparse representations for range data restoration. IEEE Trans. Image Proc. 2012, 21, 2909–2915. [Google Scholar] [CrossRef] [PubMed]
  20. Gao, Z.; Li, Q.; Zhai, R.; Lin, F. Laser Range Data Denoising via Adaptive and Robust Dictionary Learning. IEEE Geosci. Remote Sens. Lett. 2015, 12, 1750–1754. [Google Scholar]
  21. Elad, M.; Figueiredo, M.A.; Ma, Y. On the role of sparse and redundant representations in image processing. Proc. IEEE 2010, 98, 972–982. [Google Scholar] [CrossRef]
  22. Gao, Z.; Li, Q.; Zhai, R.; Shan, M.; Lin, F. Adaptive and Robust Sparse Coding for Laser Range Data Denoising and Inpainting. IEEE Trans. Circuits Syst. Video Technol. 2016, 26, 2165–2175. [Google Scholar] [CrossRef]
  23. Elad, M. Sparse and Redundant Representations: From Theory to Applications in Signal and Image Processing; Springer: New York, NY, USA, 2010. [Google Scholar]
  24. Rubinstein, R.; Zibulevsky, M.; Elad, M. Efficient implementation of the K-SVD algorithm using batch orthogonal matching pursuit. CS Technion 2008, 40, 1–15. [Google Scholar]
  25. Beck, A.; Teboulle, M. A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM J. Imaging Sci. 2009, 2, 183–202. [Google Scholar] [CrossRef]
  26. Oishi, S.; Kurazume, R.; Iwashita, Y.; Hasegawa, T. Denoising of range images using a trilateral filter and belief propagation. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), San Francisco, CA, USA, 25–30 September 2011; pp. 2020–2027. [Google Scholar]
  27. Lee, A.B.; Huang, J. Brown Range Image Database. 2000. Available online: www.dam.brown.edu/ptg/brid/index.html (accessed on 26 April 2017).
Figure 1. Illustration of the depth profile of a 2D laser scan.
Figure 1. Illustration of the depth profile of a 2D laser scan.
Sensors 18 01449 g001
Figure 2. Our pre-learned dictionary of ridge maps (a), discrete cosine transform (DCT) dictionary (or say basis) (b), and Gabor wavelet dictionary (or say basis) (c).
Figure 2. Our pre-learned dictionary of ridge maps (a), discrete cosine transform (DCT) dictionary (or say basis) (b), and Gabor wavelet dictionary (or say basis) (c).
Sensors 18 01449 g002
Figure 3. Synthesized data (of size 800 × 800 pixels) designed for experiments. (a) Reflectance image. (b) Depth map. (c) Result of informative-level estimation. (d) Gaussian noise-corrupted depth data. (e) Gaussian noise and outliers-corrupted depth data.
Figure 3. Synthesized data (of size 800 × 800 pixels) designed for experiments. (a) Reflectance image. (b) Depth map. (c) Result of informative-level estimation. (d) Gaussian noise-corrupted depth data. (e) Gaussian noise and outliers-corrupted depth data.
Sensors 18 01449 g003
Figure 4. (a) PSNR and (b) computation time with dictionaries of different combinations of patch size and redundancy.
Figure 4. (a) PSNR and (b) computation time with dictionaries of different combinations of patch size and redundancy.
Sensors 18 01449 g004
Figure 5. Results of denoising experiments on real data (see online version for details). The original and noisy corrupted range images are shown in the first and second rows, respectively. The third row depicts our intermediate results of informative level estimation. Rows 4 to 8 depict the results of Our-BOMP, Our-LASSO, Adaptive SC, Basic SC, and Trilateral filter, respectively.
Figure 5. Results of denoising experiments on real data (see online version for details). The original and noisy corrupted range images are shown in the first and second rows, respectively. The third row depicts our intermediate results of informative level estimation. Rows 4 to 8 depict the results of Our-BOMP, Our-LASSO, Adaptive SC, Basic SC, and Trilateral filter, respectively.
Sensors 18 01449 g005
Table 1. Setting of sparsity controlling parameters. BOMP: batch orthogonal-matching-pursuit; LASSO: least-absolute-shrinkage-and-selection-operator.
Table 1. Setting of sparsity controlling parameters. BOMP: batch orthogonal-matching-pursuit; LASSO: least-absolute-shrinkage-and-selection-operator.
ParametersOur–BOMPOur–LASSO
k vi , k hi λ vi , λ hi
Max value k m a x = 6 λ m a x = 2.2
Min value k m i n = 1 λ m i n = 0.2
Adaptive value * k i v = α i v k m i n + β i v k m a x λ i v = β i v λ m i n + α i v λ m a x
k i h = α i h k m i n + β i h k m a x λ i h = β i h λ m i n + α i h λ m a x
* α i v , β i v , α i h , β i h are related to the informative estimation of each patch.
Table 2. Denoising results (peak signal-to-noise ratio (PSNR) value) using different dictionaries (unit: dB).
Table 2. Denoising results (peak signal-to-noise ratio (PSNR) value) using different dictionaries (unit: dB).
DictionaryDictionary with Different Dimensions
r = 10 , d = 8 r = 16 , d = 8 r = 16 , d = 16
DCT dictionary32.2632.3732.17
Gabor Wavelet dictionary32.4632.5832.92
Our pre-learned dictionary32.8633.7533.81
Table 3. Denoising results on the synthesized data. RMS: root mean square; SC: sparse coding.
Table 3. Denoising results on the synthesized data. RMS: root mean square; SC: sparse coding.
MethodOnly Gaussian NoiseGaussian Noise and Outliers
PSNR (dB)RMS (mm)Time * (s)PSNR (dB)RMS (mm)Time * (s)
Our–BOMP33.722.060.0833.282.140.09
Our–LASSO33.782.040.1233.352.120.15
Adaptive SC33.831.98227.3833.712.04239.62
Basic SC33.172.17153.6233.022.56172.38
Trilateral filter32.372.490.0432.122.670.06
* Time indicates the computation time for each method.
Table 4. Denoising results on real data.
Table 4. Denoising results on real data.
MethodOnly Gaussian NoiseGaussian Noise and Outliers
PSNR (dB)RMS (mm)Time * (s)PSNR (dB)RMS (mm)Time * (s)
Our–BOMP35.372.310.8635.172.430.89
Our–LASSO35.432.271.1535.212.371.28
Adaptive SC35.722.03918.7135.682.08972.33
Basic SC34.282.83538.3734.162.97572.81
Trilateral filter32.133.270.1632.023.750.18
* Time indicates the computation time for each method.

Share and Cite

MDPI and ACS Style

Gao, Z.; Lao, M.; Sang, Y.; Wen, F.; Ramesh, B.; Zhai, R. Fast Sparse Coding for Range Data Denoising with Sparse Ridges Constraint. Sensors 2018, 18, 1449. https://doi.org/10.3390/s18051449

AMA Style

Gao Z, Lao M, Sang Y, Wen F, Ramesh B, Zhai R. Fast Sparse Coding for Range Data Denoising with Sparse Ridges Constraint. Sensors. 2018; 18(5):1449. https://doi.org/10.3390/s18051449

Chicago/Turabian Style

Gao, Zhi, Mingjie Lao, Yongsheng Sang, Fei Wen, Bharath Ramesh, and Ruifang Zhai. 2018. "Fast Sparse Coding for Range Data Denoising with Sparse Ridges Constraint" Sensors 18, no. 5: 1449. https://doi.org/10.3390/s18051449

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