Hunter Goforth’s research while affiliated with Carnegie Mellon University and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (7)


Joint Pose and Shape Estimation of Vehicles from LiDAR Data
  • Preprint

September 2020

·

55 Reads

Hunter Goforth

·

Xiaoyan Hu

·

·

Simon Lucey

We address the problem of estimating the pose and shape of vehicles from LiDAR scans, a common problem faced by the autonomous vehicle community. Recent work has tended to address pose and shape estimation separately in isolation, despite the inherent connection between the two. We investigate a method of jointly estimating shape and pose where a single encoding is learned from which shape and pose may be decoded in an efficient yet effective manner. We additionally introduce a novel joint pose and shape loss, and show that this joint training method produces better results than independently-trained pose and shape estimators. We evaluate our method on both synthetic data and real-world data, and show superior performance against a state-of-the-art baseline.


Figure 2: (a) Single Pass Alignment Module (SPAM): This module estimates the pose in a single pass, from a source and template point cloud. PointNet is used in a siamese architecture to extract a global feature vectors from both source and template. The point cloud alignment problem is posed in terms of alignment of the features. This circumvents the problem of finding explicit point correspondences. Different choices for the feature alignment algorithms gives rise to different approaches with their inherent advantages and disadvantages. (b) Iterative Alignment: The output of SPAM can be iteratively improved. After each iteration, the source point cloud is transformed using the pose estimated from the previous iteration. After performing n iterations, the poses from each iteration are combined to find the overall transformation.
Figure 3: Results for Section 4.3. The y-axis is the ratio of experiments that are successful and the x-axis shows value of the maximum rotation error that qualifies the estimation to be a success. (a), (b) and (c) shows results for comparisons of i-PCRNet with ICP and PointNetLK using three different types of datasets. We observe superior performance of i-PCRNet as our network has more model/category specific information. (d) PCRNet which has not seen noise during training but tested with noisy data also shows good performance and is faster than ICP and PointNetLK.
Figure 4: Qualitative results for Section 4. For each example, template is shown by a grey rendered CAD model, purple points show initial position of source and red points show converged results of i-PCRNet trained on data with noise and green points show results of ICP. (d) shows a result with sparse point cloud, (e) shows a result with partial point cloud, and (f) shows a result of unseen category for PointNetLK with yellow points and i-PCRNet with red points. For (a) -(e), where the test data has some representation in training, i-PCRNet performs better. On the other hand, in the case of (f) where the test data is obtained from an RGBD scan and is unseen during training, PointNetLK performs better.
Figure 6: Results for Sec. 4.2. Rotation and translation error for registering incomplete source point cloud to a template model of airplane. The i-PCRNet v1 and i-PCRNet v2 are trained without and with incomplete source data, respectively. (a) 70% incompleteness, (b) 50% incompleteness, (b) 20% incompleteness, and (d) complete source data. The performance of i-PCRNet v2 is comparable to ICP (and much better than i-PCRNet v1) even with large amounts of missing points, while being computationally faster than ICP. The ICP refinement produces and improvement only for i-PCRNet v2 and not i-PCRNet v1, since the alignment of i-PCRNet v1 is poor and beyond ICP's capability of refinement.
Figure 7: Rotation and translation error for registering incomplete source point cloud to a template model of airplane. The i-PCRNet v1 and i-PCRNet v2 are trained without and with incomplete source data, respectively. The performance of i-PCRNet v2 is comparable to ICP (and much better than i-PCRNet v1) even with large amounts of missing points, while being computationally faster than ICP. The ICP refinement produces and improvement only for i-PCRNet v2 and not i-PCRNet v1, since the alignment of i-PCRNet v1 is poor and beyond ICP's capability of refinement.

+3

One Framework to Register Them All: PointNet Encoding for Point Cloud Alignment
  • Preprint
  • File available

December 2019

·

305 Reads

·

Xueqian Li

·

Hunter Goforth

·

[...]

·

PointNet has recently emerged as a popular representation for unstructured point cloud data, allowing application of deep learning to tasks such as object detection, segmentation and shape completion. However, recent works in literature have shown the sensitivity of the PointNet representation to pose misalignment. This paper presents a novel framework that uses PointNet encoding to align point clouds and perform registration for applications such as 3D reconstruction, tracking and pose estimation. We develop a framework that compares PointNet features of template and source point clouds to find the transformation that aligns them accurately. In doing so, we avoid computationally expensive correspondence finding steps, that are central to popular registration methods such as ICP and its variants. Depending on the prior information about the shape of the object formed by the point clouds, our framework can produce approaches that are shape specific or general to unseen shapes. Our framework produces approaches that are robust to noise and initial misalignment in data and work robustly with sparse as well as partial point clouds. We perform extensive simulation and real-world experiments to validate the efficacy of our approach and compare the performance with state-of-art approaches. Code is available at https://github.com/vinits5/pointnet-registrationframework.

Download

Figure 2: PCRNet Architecture: The model consists of five MLPs having size (64, 64, 64, 128, 1024). The source and template point clouds are sent as input through a twin set of MLPs, arranged in a Siamese architecture. Using a max-pooling function, we obtain global features. Weights are shared between MLPs. These features are concatenated and provided as an input to five fully connected layers 1024, 1024, 512, 512, 256, and an output layer of size 7. The first three output values represent the translation and the last four after normalization represent the rotation quaternion.
Figure 9: Qualitative results for Section 5. Replacement of chairs in office scene from Stanford S3DIS indoor dataset[3]. Red leather chairs shows the replaced chair from ModelNet40 [35] (a) Original scene. Red leather chair replaced by using registration from (b) ICP [7], (c) mixed integer programming [19], and (d) iterative PCRNet.
PCRNet: Point Cloud Registration Network using PointNet Encoding

August 2019

·

905 Reads

·

7 Citations

PointNet has recently emerged as a popular representation for unstructured point cloud data, allowing application of deep learning to tasks such as object detection, segmentation and shape completion. However, recent works in literature have shown the sensitivity of the PointNet representation to pose misalignment. This paper presents a novel framework that uses the PointNet representation to align point clouds and perform registration for applications such as tracking, 3D reconstruction and pose estimation. We develop a framework that compares PointNet features of template and source point clouds to find the transformation that aligns them accurately. Depending on the prior information about the shape of the object formed by the point clouds, our framework can produce approaches that are shape specific or general to unseen shapes. The shape specific approach uses a Siamese architecture with fully connected (FC) layers and is robust to noise and initial misalignment in data. We perform extensive simulation and real-world experiments to validate the efficacy of our approach and compare the performance with state-of-art approaches.




PointNetLK: Robust & Efficient Point Cloud Registration using PointNet

March 2019

·

786 Reads

·

1 Citation

PointNet has revolutionized how we think about representing point clouds. For classification and segmentation tasks, the approach and its subsequent extensions are state-of-the-art. To date, the successful application of PointNet to point cloud registration has remained elusive. In this paper we argue that PointNet itself can be thought of as a learnable "imaging" function. As a consequence, classical vision algorithms for image alignment can be applied on the problem - namely the Lucas & Kanade (LK) algorithm. Our central innovations stem from: (i) how to modify the LK algorithm to accommodate the PointNet imaging function, and (ii) unrolling PointNet and the LK algorithm into a single trainable recurrent deep neural network. We describe the architecture, and compare its performance against state-of-the-art in common registration scenarios. The architecture offers some remarkable properties including: generalization across shape categories and computational efficiency - opening up new paths of exploration for the application of deep learning to point cloud registration. Code and videos are available at https://github.com/hmgoforth/PointNetLK.


Aligning Across Large Gaps in Time

March 2018

·

22 Reads

·

3 Citations

We present a method of temporally-invariant image registration for outdoor scenes, with invariance across time of day, across seasonal variations, and across decade-long periods, for low- and high-texture scenes. Our method can be useful for applications in remote sensing, GPS-denied UAV localization, 3D reconstruction, and many others. Our method leverages a recently proposed approach to image registration, where fully-convolutional neural networks are used to create feature maps which can be registered using the Inverse-Composition Lucas-Kanade algorithm (ICLK). We show that invariance that is learned from satellite imagery can be transferable to time-lapse data captured by webcams mounted on buildings near ground-level.

Citations (4)


... Local feature descriptors [29,[31][32][33] are widely used in the field of point cloud registration [34,35] and segmentation [36]; their application in point cloud classification tasks is less common. This section will provide a brief overview of commonly used point cloud local feature descriptors, followed by an introduction of the specific descriptors employed in this article. ...

Reference:

Corrupted Point Cloud Classification Through Deep Learning with Local Feature Descriptor
PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet

... Subsequently, PointNetLK [24] combines PointNet and Lucas-Kanade (LK) [25] algorithm to solve the rigid transformation using an inverse synthesis algorithm. PCRNet [26] uses a fully connected network instead of the LK algorithm to improve robustness against noise. FMR [27], OMNet [28], and FINet [29] extract point cloud features by PointNet. ...

PCRNet: Point Cloud Registration Network using PointNet Encoding

... The times indicated in Table 1 represent the duration required for the initial motion of the drone calculations, particularly focusing on feature point detection. The results clearly show that the feature point detection method used in this study significantly reduces computation time compared to other approaches, achieving a 90% reduction relative to SURF [24], an 83% reduction compared to SIFT [23], and a 41% reduction compared to Method [18]. Furthermore, the proposed method demonstrates superior performance in terms of average positioning error. ...

GPS-Denied UAV Localization using Pre-existing Satellite Imagery
  • Citing Conference Paper
  • May 2019

... Substantial improvements have been achieved with the introduction of Deep Learning (DL) and CNNs: Aznar et al. [4] use a simple CNN for visual alignment of UAV and satellite image but requires a compass and altimeter for operation. More recent feature and descriptor approaches, such as Superpoint [10], D2-Net [12], and tracking-based methods like deep Inverse Compositional Lucas-Kanade (ICLK) variants [18,19,31] are able to align two images even under extreme viewpoint and appearance changes. However, the approach of Goforth et al. [18,19] does not simultaneously compute the alignment and six-DoF georeferenced pose, and [31] assumes the availability of depth images for both the target and the reference image, as it is, for instance, the case when using depth cameras. ...

Aligning Across Large Gaps in Time
  • Citing Article
  • March 2018