Summary
This paper proposes a method, NeuroGauss4D, to tackle the problem of 4d point cloud interpolation. NeuroGauss4D consists of the following 5 components:
1. "Iterative Gaussian Soft Clustering": a module to encode the scene to Gaussian representation with DGCNN features (map: X, Y, Z, T -> Gaussians(Mu, Cov, Feat)).
2. "4D Neural Field": a neural field with Fourier features and MLP to capture spatio-temporal features in latent space (map: X, Y, Z, T -> latent).
3. "Temporal RGB-GR": a module with temporal radial basis functions to interpolate Gaussian parameters in continuous time (map: Mu, Cov, Feat, T -> ΔMu, ΔCov, ΔFeat, ΔT).
4. "4D Gaussian Deformation Field": a module that take Gaussian parameters (Mu, Cov, Feat) and the latent features as input to predict the motion and feature deformation field (map: Mu, Cov, Feat, T -> deformation field).
5. "Fast-LG-Fusion": an attention mechanism that fuses the latent features (FL) and the geometric features (FG, from the deformation field) to predict the point cloud at the target time step (map: FL, FG, T -> point cloud).
Weaknesses
1. This method shows the application of dynamic Gaussian representation to the problem of 4D point cloud interpolation, which is a good idea. However, the execution of the idea seems to make the method overly complex. NeuroGauss4D-PCI's pipeline contains 5 different components, where a mixture of representations are used. Besides more hand-tuning for hyperparameters and longer training time, this complexity could make it hard to interpret the fundamental principles and the key components behind the full model.
2. It seems that the method is not very efficient. For example, the "Iterable Gaussian Soft Clustering" procedure shown in Algorithm 1 is only capable of taking one timestamp of point cloud (N, 3) as input, which means that this has to be done for each timestamp of the point cloud sequence.
3. Similar to the point above, the method might be limited on the size of the point cloud sequence that it can handle. For example, line 218 says "we sample the input points to 1024 for object-level scenes and 8192 for autonomous driving scenes". A point cloud of 1024 points in autonomous driving scenes is very small, which could limit the method's applicability to real-world scenarios. The authors can provide more information on how the method will perform when we have a larger point cloud size or a longer sequence of point clouds.
4. The author provides rich information about the method, which is good, but the clarity of the writing can be improved. Some of these are mentioned in the "Questions" section, and it would be nice to include them in future versions of the paper. There are other inconsistencies in the paper, for example:
- Equation 1 uses 0-based indexing, but line 29 uses 1-based indexing.
- Line 109 has an extra double quote.
- Line 117 says "Iterative Gaussian Cloud Soft Clustering" but the Figure 2 uses "**Iterable** Gaussian ...".
- Equations shall be written as part of a sentence, not as separate sentences (Eq. 5, 8, 9, 10, 11; and also Eq. 4).
Questions
1. It would be good to clarify in paper the exact meaning of "Frame-1, Frame-2, and Frame-3" in Table 2. Does it mean that we fit the scene with frame {0, 4, 8, 12, ...}, and then we evaluate on frame {1, 2, 3, 5, 6, 7, 9, 10, 11, ...}, and we call frame {1, 5, 9, ...} as Frame-1, frame {2, 6, 10, ...} as Frame-2, and frame {3, 7, 11, ...} as Frame-3?
2. In Table 5, when we say "4 frames of point clouds sampled at regular 3-frame intervals", does it mean that for each scene, we only train on 4 frames {0, 4, 8, 12} and we evaluate on 9 frames {1, 2, 3, 5, 6, 7, 9, 10, 11}? If this is the case, why do we only train on these 4 frames but not fit the full point cloud sequence of the scene in the raw dataset?
3. In line 456, when we say "initial frame at time step 0 and the final frame at time step 1", what do the "0" and "1" refer to? For example, in equation 1, it is clear that there can be time steps larger than 1, e.g. time step 4, 8, etc. Is the "0" and "1" in line 456 referring to some form of normalized time step? So, what exactly is the time step gap (in seconds) between the training frame and evaluation frames?
4. From equation 1, it seems that the method only fits one model for one whole scene, which is good. Can you confirm this?
5. In line 476 we report the "average training time is ∼ 1.31 seconds per iteration". Per my understanding, this "iteration time" means the training iteration. It is not clear if the time includes "Iterative Gaussian Cloud Soft Clustering" (which has to be done for each time step), and other feature extraction steps. It would be more clear to give a high-level timing number, for example, could you report "how long does it take to fit a full of ~X training frames each containing ~Y number of points"?