Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
[TensorFlow] Official implementation of CVPR'20 oral paper - D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features https://arxiv.org/abs/2003.03164
| Date | Stars |
|---|---|
| 2026-07-30 | 274 |
| 2026-08-18 | 274 |
| 2026-08-27 | 275 |
| 2026-10-21 | 276 |
| 2026-11-04 | 276 |
Today
— stars today
This week
— stars this week
This month
+1 stars this month
Momentum
0.0
growth rate 0.00%/day
# D3Feat repository
TensorFlow implementation of D3Feat for CVPR'2020 Oral paper ["D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features"](https://arxiv.org/abs/2003.03164), by Xuyang Bai, Zixin Luo, Lei Zhou, Hongbo Fu, Long Quan and Chiew-Lan Tai.
This paper focus on dense feature detection and description for 3D point clouds in a joint manner. If you find this project useful, please cite:
```bash
@article{bai2020d3feat,
title={D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features},
author={Xuyang Bai, Zixin Luo, Lei Zhou, Hongbo Fu, Long Quan and Chiew-Lan Tai},
journal={arXiv:2003.03164 [cs.CV]},
year={2020}
}
```
**The PyTorch implementation can be found [here](https://github.com/XuyangBai/D3Feat.pytorch).**
**Check our new paper on outlier rejection for more robust registration [here](https://github.com/XuyangBai/PointDSC) !**
## Introduction
A successful point cloud registration often lies on robust establishment of sparse matches through discriminative 3D local features. Despite the fast evolution of learning-based 3D feature descriptors, little attention has been drawn to the learning of 3D feature detectors, even less for a joint learning of the two tasks. In this paper, we leverage a 3D fully convolutional network for 3D point clouds, and propose a novel and practical learning mechanism that densely predicts both a detection score and a description feature for each 3D point. In particular, we propose a keypoint selection strategy that overcomes the inherent density variations of 3D point clouds, and further propose a self-supervised detector loss guided by the on-the-fly feature matching results during training. Finally, our method achieves state-of-the-art results in both indoor and outdoor scenarios, evaluated on 3DMatch and KITTI datasets, and shows its strong generalization ability on the ETH dataset. Towards practical use, we show that by adopting a reliable feature detector, sampling a smaller number of features is sufficient to achieve accurate and fast point cloud alignment.

## Installation
* Create the environment and install the required libaries:
conda env create -f environment.yml
* Compile the customized Tensorflow operators located in `tf_custom_ops`. Open a terminal in this folder, and run:
sh compile_op.sh
* Compile the C++ extension module for python located in `cpp_wrappers`. Open a terminal in this folder, and run:
sh compile_wrappers.sh
The code is heavily borrowed from [KPConv](https://github.com/HuguesTHOMAS/KPConv/). You can find the guidance for compiling the tensorflow operators and C++ wrappers in [INSTALL.md](https://github.com/HuguesTHOMAS/KPConv/blob/master/INSTALL.md).
## Demo
We provide a small demo to extract dense feature and detection score for two point cloud, and register them using RANSAC. The ply files are saved in the `demo_data` folder, which can be replaced by your own data. Now we are using two point cloud fragments from 3DMatch dataset. To try the demo, please run
```bash
python demo_registration.py
```
It will compute the descriptors and detection scores using the released weight on 3DMatch dataset, and save them in .npz file in `demo_data`. These descriptors are then used to estimate the rigid-body transformation parameters using RANSAC. Visualization of the inital state and registered state will show up.

We also visualize the detected keypoints on two point cloud.

## Dataset Download
**3DMatch**
The training set of [3DMatch[1]](#refs) can be downloaded from [here](https://drive.google.com/file/d/1Vo-D_NOs4HS9wwAE-55ggDpgaPfzdRRt/view?usp=sharing). It is generated by `datasets/cal_overlap.py` which select all the point cloud fragments pairs having more than 30% overlap.
The test set point clouds and the evaluation files(for registration recall) can be downloExcerpt of 8,181 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b773f28dcd535714, topic:tensorflow