Verificación de PointNet con dataset de referencia, Estudio e Implementación de PointNet++, Visualización de las predicciones
Esta semana he comprobado el funcionamiento de mi implemantación de PointNet en PyTorch con el dataset de referencia ShapeNet, el cual se utiliza en el repositorio oficial de la arquitectura para mostrar su funcionamiento. Esto servirá como verificación de las arquitecturas que monte. Los resultados en Accuracy y mIoU fuerons similares a las del repositorio oficial en solo 3 épocas de entrenamiento, demostrando su funcionamiento. También avancé con el estudio de otras arquitecturas que mejoraran la interpretación del entorno. Me centré en PointNet++, una arquitectura que se basa en PointNet pero que añade mecanismos para capturar relaciónes espaciales entre puntos. Estudié la arquitectura a fondo para montarla de nuevo en PyTorch. Después de entrenar esta arquitectura con el dataset GOOSE, las métricas mejoraron, consiguiendo una mejor interpretación gracias a estas capturas de relaciones espaciales. Por último, desarrollé el código para inferenciar nuevas nubes de puntos y visualizar el resultado.
Verificación de PointNet con el dataset ShapeNet
Se entrenó la arquitectura para segmentar semánticamente en las partes de los aviones. Se consiguió un 88% de Accuracy y un 86% de mIoU.
Segmentación Real

Segmentación Predicha

PointNet++
PointNet++ es una extensión jerárquica de PointNet que permite comprender no solo la forma global de una nube de puntos, sino también su estructura local a múltiples escalas. Está diseñado para captar patrones espaciales complejos presentes en regiones cercanas de los datos 3D, lo que lo hace especialmente eficaz en escenas detalladas o con variaciones de densidad.
Farthest Point Samplig (FPS)
Para reducir la complejidad computacional de las nubes de puntos, se selecciona un subconjunto de puntos (centroides). FPS garantiza que estén separados uniformenente a lo largo de la nube, maximizando la cobertura de esta.
Ball Query (Agrupación Local)
Cada centroide define una región local (esfera de cierto radio) y se agrupan los vecinos deseados dentro de ella. Esto emula el funcionamiento de un receptive field en las CNNs, pero adaptado a un espacio irregular (no en estructurado en cuadrícula).
Mini PointNet
Cada Agrupación local es procesada con una versión reducida de PointNet, extrayendo una representación de cada vecindario con sus características geométricas locales.
Jerarquía Multinivel
El proceso se repite jerárquicamente, es decir, las carácteristicas de varios vencindarios pequeños se agrupan en uno más grande y repite el proceso. De esta manera se consiguen captar relaciones espaciales más complejas.
Extensiones MSG y MRG
-
Multi-Scale Grouping (MSG): agrupa puntos usando varios radios simultáneamente, lo que permite capturar tanto detalles finos como contextos amplios en una misma región.
-
Multi-Resolution Grouping (MRG): combina features de distintas resoluciones (niveles anteriores + vecindarios grandes actuales) para adaptarse a nubes de puntos con densidad variable.
Feature Propagation
Para tareas como segmentación punto a punto, las features extraídas jerárquicamente deben proyectarse de vuelta a todos los puntos originales. Esto se logra mediante interpolación basada en distancias y skip connections, permitiendo una predicción precisa por punto.
Resultados con PointNet++
Se ha conseguido mejorar la segmentación semantica tanto en métricas como en la interpretación que se hace del entorno visualmente. A continuación, se muestra un ejemplo comparativo de las etiquetas reales y de las predicciones que realiza el modelo una vez entrenado
Segmentación Real

Segmentación Predicha
