SMOOTHING AND ROBUST NORMAL ESTIMATION FOR 3D POINT CLOUDS
First Claim
1. A computer-implemented process for smoothing 3D models, comprising using a computer to perform process actions for:
- receiving a set of 3D input points representing a 3D input model;
using the set of 3D input points to determine a set of the nearest j neighbors of each input point;
for each input point, fitting a corresponding plane in 3D space to the point and its set of nearest j neighbors;
creating a set of 3D output points by projecting each input point onto its corresponding plane;
using the set of 3D output points to determine a set of the nearest k neighbors of each output point;
for each output point, fitting a corresponding plane in 3D space to the point and its set of nearest k neighbors;
for each output point, computing a corresponding surface normal from the corresponding plane; and
wherein the set of 3D output points and corresponding surface normals represent a smoothed 3D output model.
2 Assignments
0 Petitions
Accused Products
Abstract
A “Point Cloud Smoother” provides various techniques for refining a 3D point cloud or other 3D input model to generate a smoothed and denoised 3D output model. Smoothing and denoising is achieved, in part, by robustly fitting planes to a neighborhood of points around each point of the input model and using those planes to estimate new points and corresponding normals of the 3D output model. These techniques are useful for a number of purposes, including, but not limited to, free viewpoint video (FVV), which, when combined with the smoothing techniques enabled by the Point Cloud Smoother, allows 3D data of videos or images to be denoised and then rendered and viewed from any desired viewpoint that is supported by the input data.
-
Citations
20 Claims
-
1. A computer-implemented process for smoothing 3D models, comprising using a computer to perform process actions for:
-
receiving a set of 3D input points representing a 3D input model; using the set of 3D input points to determine a set of the nearest j neighbors of each input point; for each input point, fitting a corresponding plane in 3D space to the point and its set of nearest j neighbors; creating a set of 3D output points by projecting each input point onto its corresponding plane; using the set of 3D output points to determine a set of the nearest k neighbors of each output point; for each output point, fitting a corresponding plane in 3D space to the point and its set of nearest k neighbors; for each output point, computing a corresponding surface normal from the corresponding plane; and wherein the set of 3D output points and corresponding surface normals represent a smoothed 3D output model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for smoothing 3D point clouds, comprising:
-
using a first device for receiving a 3D point cloud comprising a set of 3D input points; a second device for determining a set of the nearest neighbors of each 3D point; using the second device to determine sets of nearest neighbors for each input point; a third device for fitting a plane in 3D space to each 3D point and its set of nearest neighbors; using the third device to fit planes to each input point and its set of nearest neighbors; using a fourth device for creating a set of 3D output points by projecting each input point onto its corresponding plane; using the second device to determine sets of nearest neighbors for each output point; using the third device to fit planes to each output point and its set of nearest neighbors; using a fifth device for computing a surface normal for each output point from the corresponding plane; and wherein the set of 3D output points and corresponding surface normals represent a smoothed 3D point cloud. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium having computer executable instructions stored therein for smoothing 3D point-based models, said instructions causing a computing device to execute a method comprising:
-
receiving a set of 3D input points representing a 3D input model; using the set of 3D input points to determine a set of the nearest j neighbors of each input point; for each input point, fitting a corresponding plane in 3D space to the point and its set of nearest j neighbors; creating a set of output 3D points by projecting each input point onto its corresponding plane along a surface normal of that plane; using the set of 3D output points to determine a set of the nearest k neighbors of each output point; for each output point, fitting a corresponding plane in 3D space to the point and its set of nearest k neighbors; for each output point, computing a corresponding surface normal from the corresponding plane; and wherein the set of 3D output points and corresponding surface normals represent a smoothed 3D output model. - View Dependent Claims (17, 18, 19, 20)
-
Specification