More effective implementation of farthest point sampling
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
- Área
- computer-vision, performance
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
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
- Lenguaje dominante
- C++
- Estrellas
- 11.2k
- Forks
- 4.7k
- Merge medio
- 5 d 8 h
- PR fusionados (30 d)
- 10
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PointCloudLibrary/pcl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
PointCloudLibrary/pcl#6509 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
kind: bug status: triage
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
PointCloudLibrary/pcl#6395 ·
Los mantenedores suelen responder en 4 días
-
[sample_consensus] Migrated the SSE and AVX implementations of countWithinDistance to RISC-V RVV 1.0Abiertokind: request status: triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
PointCloudLibrary/pcl#6385 · 1 reacción ·
Los mantenedores suelen responder en 4 días
-
2 tests failPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
PointCloudLibrary/pcl#6373 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 4 días
-
kind: question kind: request
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
PointCloudLibrary/pcl#6370 · 2 comentarios ·
Los mantenedores suelen responder en 4 días
Todos los issues de PointCloudLibrary/pcl
Issues similares
-
Missing icon for .cpp2 filesAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
madskristensen/FileIcons#385 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
microsoft/SysmonCommon#26 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
espressif/esp-matter#1913 ·
-
bug priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
chipsalliance/verible#2644 ·