Comments (13)
- Ok, non avevo considerato il "dividiamo per il numero di point cloud"
- 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.
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.
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.
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.
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.
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.
Ho due grosse questioni sul downsampling.
-
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.
-
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
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.
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.
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.
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.
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.
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.
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)
- Test di 3dSmoothNet
- Test di FPFH HOT 2
- Test di Fully Convolutional Geometric Features
- Bug script registration_from_features HOT 3
- Test di Predator HOT 12
- Test di PPFNet HOT 2
- Test di GenReg HOT 2
- Test Feature Metric Registration
- Aggiungere per ogni algoritmo delle misure di "efficienza" (tempo/memoria?) HOT 11
- Test di GeoTransformer HOT 7
- Test di RoReg
- Test di RoReg HOT 29
- Rifare test per misurare tempo/memoria
- FPFH HOT 1
- 3DSmoothNet HOT 3
- FCGF HOT 3
- 3DFeatNet HOT 1
- FMR HOT 2
- Aggiungere scenario di test "robotico" HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neural_registration_comparison.