Giter Club home page Giter Club logo

Comments (13)

fdila avatar fdila commented on May 28, 2024 2
  1. Ok, non avevo considerato il "dividiamo per il numero di point cloud"
  2. Magari provo a ridare un occhio ai paper delle 4 reti che c'erano nel paper per confermare che nel paper non è scritto il downsampling o che non è "compatibile" con i nostri dataset. Se non è indicato farei tutti gli esperimenti a 0.1 (sperando di non avere problemi di OOM o simili) e amen

from neural_registration_comparison.

simone-fontana avatar simone-fontana commented on May 28, 2024 1

Userei 0.1 per gli altri, che ha più senso. Per GetoTransformer usiamo quello che richiede, specificando il motivo per cui sia diverso.

from neural_registration_comparison.

simone-fontana avatar simone-fontana commented on May 28, 2024 1

Sì, per alcuni voxel col kaist restituisce quell'errore perché è troppo sparso, ma dovrebbe comunque sottocampionare il resto della point cloud

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024 1

Riassunto breve dell'ultima conversazione:

  • Usiamo voxel a 0.1, a meno che la rete non richieda un voxel size specifico
  • Se avanza tempo facciamo anche gli esperimenti con voxel consigliato dagli autori

from neural_registration_comparison.

simone-fontana avatar simone-fontana commented on May 28, 2024

Eliminerei il tempo di downsampling dal calcolo dei tempi. Eventualmente lo misuriamo una volta e lo indichiamo a parte.
Che leaf size specifica richiede GeoTransformer?

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Dipende dalla rete pretrainata, ne hanno una trainata su 3DMatch e leaf size 2.5cm e una trainata su KITTI e leaf size 30cm.

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Ho due grosse questioni sul downsampling.

  1. Per il calcolo dei tempi secondo me avrebbe senso contare come parte dei tempi dell'algoritmo, senza quindi fare il downsampling separatamente. Anche se contassimo il tempo di downsampling (fatto a parte) dei vari dataset i risultati sarebbero un po' falsati: ad esempio per il dataset di ETH apartment ci sono 44 point cloud, ma i problemi di registration sono 100 problemi. Calcolando i tempi facendo downsampling prima viene fuori il tempo per 44 pc, ma nel caso reale il downsampling lo fai al momento, quindi lo faresti per 200 pc.

  2. L'altra questione (imho anche più grossa) è la scelta della leaf size. Nel paper abbiamo è scelta in base all'algoritmo (non ricordo con quale criterio):

  • 3DSmoothNet 0.05m
  • FMR 0.1m (we downsampled the point clouds using a voxel grid with a leaf sizeof 0.1 meters rather than 0.05, because otherwise we kept running out of memory on our GPU)
  • FPFH 0.2m
  • 3DFeatNet 0.1m
  • FCGF ha due reti, quella trainata su KITTI e downsampling 0.2 e quella trainata su 3DMatch con downsampling a 0.05

C'è poi questo paragrafo che parla della leaf size nel paper:

"We set the parameters of the different approaches to obtain the best results within the limits of the available hardware. Although most parameters depend on the particular method and are therefore not comparable, we always applied a voxel grid filter as a preprocessing step. The leaf size was adjusted to obtain the best results, resulting in different values being used for different approaches. We are aware that using a different subsampling could be considered unfair. Therefore, we also performed experiments using the same granularity of subsampling for each approach. That is, a voxel grid filter with a leaf size of $0.1$ meters. However, the results of this second set of experiments are virtually identical to those of the others and do not change the discussion. Therefore, we do not report them here, but provide them as supplementary material."

Ora, per rifare gli esperimenti va capito con quale leaf size vogliamo farli. Personalmente riprenderei un attimo in mano i paper e mi atterrei a quello specificato dagli autori originali (cosa che forse avevamo fatto a giudicare dalle diverse leaf size di sopra, ma non ne sono sicura al 100%), potenzialmente anche eliminando le due frasi riguardo agli esperimenti rifatti con leaf size uguale per tutti. Quella parte era stata aggiunta come "giustifica" sulla leaf size scelta, sotto consiglio del prof, ma personalmente credo che "ho usato i parametri consigliati dagli autori" sia una giustifica più che sufficiente. (In tutto questo non so se una modifica del genere possa essere fatta essendo già stata fatta la prima review).

from neural_registration_comparison.

simone-fontana avatar simone-fontana commented on May 28, 2024

1- Non capisco il problema. Noi prendiamo il tempo di downsampling totale e lo dividiamo per il numero di point cloud. Per ogni sequenza diciamo che ci vogliono in media tot secondi per fare il downsampling. Il tempo di allineamento lo indichiamo a parte per ogni algoritmo.

2- Il criterio della scelta della leaf size era: quella che funziona meglio. Non possiamo usare i parametri usati dagli autori originali per due motivi. Primo, spesso usano dei dati molto diversi dai nostri. Secondo, spesso non indicano che tipo di downsampling hanno usato.
Però appoggio l'idea di usare 0.1 per tutti e amen, togliendo quella frase che indichi.

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Comunque il kaist non è sottocampionabile a 0.1, probabilmente ha delle point cloud troppo sparse. PCL dà come errore "Leaf size is too small for the input dataset. Integer indices would overflow."

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Ho aggiunto in utilities/downsampling gli script che ho usato per il downsampling e in results/downsampling_times le sottocartelle con i tempi.

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Per le 4 reti che avevamo già testato ho trovato questo nei rispettivi paper:

  • 3DFeat-Net: usano downsampling a 0.2m per il training su Oxford e i test su Oxford e KITTI, e downsamplign a 0.1m per i test su dati ETH.

  • Fully Convolutional Geometric Features: per la rete trainata su 3DMatch usano downsampling a 0.05m, per la rete trainata su KITTI riportano: "We trained FCGF on the KITTI registration dataset with various voxel-downsampling sizes."

  • Feature metric registration: nel paper non scrivono nulla, ma aprendo il codice usano (quantomeno nella demo) downsampling a 0.05. Io avevo provato e andava OOM, noi avevamo fatto i test a 0.1 per questo motivo.

  • 3DSmoothNet: Non parla esplicitamente di downsampling prima di dare in input alle point cloud all'algoritmo. Prima della parte di rete neurale ha tutta la sua parte di preprocessing particolare. Non so se ha più senso dargli in input le point cloud senza downsampling.

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Stavo riguardando gli esperimenti di 3DSmoothNet. @simone-fontana avevi fatto tutta una parte di oulier removal con pcl prima di dare in input le cose a 3DSmoothNet, ti ricordi il perchè?

from neural_registration_comparison.

fdila avatar fdila commented on May 28, 2024

Numero di pc per ogni dataset:

ETH
apartment: 45
gazebo_summer: 32
gazebo_winter: 31
hauptgebaude: 36
plain: 31
stairs: 31
wood_autumn: 32
wood_summer: 37

KAIST urban05: 7207

Planetary:
box_met: 112
p2at_met: 102
planetary_map: c'è solo un file con il tempo di downsampling della mappa

TUM:
pioneer_slam: 152
pioneer_slam3: 148
long_office_household: 164

from neural_registration_comparison.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.