Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

More effective implementation of farthest point sampling

Abierto
#5,797 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
cpp

Línea de trabajo

Comienza localizando la clase y la implementación actuales de farthest point sampling de PCL; después, estudia las implementaciones de CPU y GPU enlazadas y el artículo de QuickFPS. Determina cómo encaja en PCL el enfoque propuesto de buckets de KD-tree y cómo debería gestionarse su compromiso en nubes pequeñas. Se considera terminado cuando la implementación del muestreo esté integrada, se haya conservado su precisión y se haya evaluado su rendimiento frente a la versión actual.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

kind: request module: filters

Is your feature request related to a problem? Please describe.

Farthest point sampling (FPS) is an important kernel for point cloud processing, I found that the current implementation of FPS needs to process all points to generate one sampling point, which often becomes a bottleneck for point cloud-based applications.

Context

I have implemented a more effective version of farthest point sampling named bucket-based farthest point sampling (BFPS) in both CUDA and CPP.

In short, It applies the KD-tree to split the point cloud into multiple buckets and uses some prune mechanisms to reduce the number of processed points during each iteration.

The test results show that the CPP version achieves a 10-15x speedup against the current implementation without any accuracy loss. It will help the farthest point sampling kernel applied in large-scale point clouds.

Expected behavior

Update the implementation of the farthest point sampling class and implementation.

Current Behavior

I would like to implement the BFPS in PCL, but I am not familiar with the PCL framework. Maybe some volunteers could finish it.

Describe alternatives you've considered

It is worth noting that the BFPS relies on the KD-tree construction stage, which will make the BFPS slower than the current implementation when the point cloud scale is smaller than 4000.

Additional context

some references

  1. the CPU implementation of FPS
  2. the GPU implementation of FPS
  3. the reference paper: QuickFPS: Architecture and Algorithm Co-Design for Farthest Point Sampling in Large-Scale Point Clouds
Lenguaje dominante
C++
Estrellas
11.2k
Forks
4.7k
Merge medio
5 d 8 h
PR fusionados (30 d)
10

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PointCloudLibrary/pcl

Todos los issues de PointCloudLibrary/pcl

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.