Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation
Autori: Peter R. Florence, Lucas Manuelli, Russ Tedrake · CoRL 2018
Licenze
- Open access
- Articolo: CC BY 4.0
Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.
In breve
Un robot scansiona gli oggetti con una telecamera RGBD al polso, autosupervisiona descrittori per pixel da ricostruzioni 3D, poi afferra punti scelti dall'utente attraverso pose, deformazioni e istanze.
Perché è importante
I descrittori densi permettono a un robot di riferirsi a un punto specifico di un oggetto, come il tallone di una scarpa o l'orecchio di un giocattolo, in pose nuove, con deformazioni e su altre istanze di una classe. Il robot raccoglie ed etichetta da sé i propri dati di addestramento, e un oggetto nuovo può essere appreso in circa 20 minuti.
Problema
I metodi di presa generici prelevano qualsiasi oggetto afferrabile ma non mantengono una rappresentazione coerente degli oggetti, mentre l'apprendimento specifico per compito può richiedere molti tentativi per generalizzare tra configurazioni degli oggetti o compiti. La segmentazione di istanze fornisce solo maschere dell'intero oggetto e non dice nulla sulla struttura dell'oggetto. Gli autori vogliono una rappresentazione indipendente dal compito per oggetti rigidi e non rigidi che usi i prior della visione 3D e sia appresa interamente tramite autosupervisione.
Soluzione proposta
Un braccio Kuka con una telecamera RGBD montata al polso scansiona ogni scena statica, e la fusione TSDF con le pose della telecamera ricavate dalla cinematica diretta fornisce una ricostruzione 3D densa che dà corrispondenze tra pixel di immagini diverse per una loss contrastiva per pixel su una rete completamente convoluzionale ResNet-34. Le maschere degli oggetti ottenute con il rilevamento di cambiamenti 3D consentono il campionamento mascherato delle corrispondenze e la domain randomization dello sfondo, lo scaling dei negativi difficili mantiene informativa la loss delle non corrispondenze, e la loss tra oggetti e le scene sintetiche con più oggetti rendono i descrittori distinti tra oggetti. In fase di esecuzione un utente clicca un pixel in un'immagine di riferimento, il robot trova la migliore corrispondenza di descrittori in una scena nuova e afferra il punto 3D corrispondente.
Idee chiave
- Le ricostruzioni 3D di scene statiche da un robot calibrato forniscono corrispondenze dense tra pixel senza etichette umane.
- La sola associazione dei dati di scene statiche non ha dato descrittori di oggetto coerenti; sono stati necessari il mascheramento degli oggetti, la randomizzazione dello sfondo e dell'orientamento e lo scaling dei negativi difficili.
- Addestrare solo all'interno delle scene fa sovrapporre oggetti diversi nello spazio dei descrittori; la loss tra oggetti li separa, a scapito della precisione delle corrispondenze per descrittori a bassa dimensione, che dimensioni leggermente maggiori recuperano.
- Addestrati congiuntamente su istanze simili, i descrittori generalizzano all'interno di una classe (cappelli, scarpe, tazze), mentre la modalità di addestramento 'specifica' separa anche istanze molto simili.
- Proiettare i descrittori sulla sfera unitaria ha dato guadagni sostanziali passando da D = 4 a D = 8, anche se non è stato usato negli esperimenti su hardware.
Risultati principali
- Sono stati appresi descrittori per 47 oggetti in 275 scene, comprese 3 classi (8 cappelli, 15 scarpe, 15 tazze) e altri 9 oggetti.
- L'addestramento esegue 3500 passi a circa 0,22 s per passo (circa 13 minuti) su una singola Nvidia 1080 Ti o Titan Xp; con la raccolta delle scene, un oggetto nuovo richiede circa 20 minuti.
- Con la procedura standard a oggetto singolo, nel 93 % delle coppie di immagini la migliore corrispondenza cadeva entro il 13 % della diagonale dell'immagine dalla corrispondenza vera; ha superato l'implementazione degli autori della procedura di Schmidt et al., e il mascheramento degli oggetti e lo scaling dei negativi difficili hanno dato ciascuno guadagni misurabili.
- I descrittori dei cappelli addestrati su sole 6 istanze hanno generalizzato a cappelli mai visti, incluso un cappello blu, un colore mai visto in addestramento.
- Dimostrazioni con il robot: afferrare la coda o l'orecchio destro di un bruco giocattolo in diverse configurazioni, un punto generale di classe su scarpe mai viste dopo l'addestramento su 4 scarpe, e il tallone di una scarpa in una pila disordinata di scarpe.
- Ogni scansione dura circa 70 s e acquisisce circa 2100 frame RGBD a 30 Hz, sottocampionati a circa 315 immagini per scena.
Limiti
- Con più oggetti, una persona deve ancora scambiare gli oggetti per il robot e indicare quali scene corrispondono a quale oggetto.
- Oggetti sufficientemente diversi non condividono i descrittori: i giocattoli antropomorfi Baymax e Starbot non hanno ottenuto descrittori generali.
- I descrittori non possono guidare le prese prima che l'apprendimento sia avvenuto e non vincolano l'orientamento della pinza, quindi le prese si affidano a un semplice pianificatore geometrico sulla nuvola di punti.
- La loss tra oggetti riduce la precisione delle corrispondenze per spazi di descrittori a bassa dimensione nelle reti multi-oggetto.
- Le dimostrazioni di presa sono mostrate qualitativamente; l'articolo non riporta tassi di successo di presa.
Impatto sul settore
Vincitore del CoRL 2018 Best Paper Award, con 321 citazioni. Codice, dati e video sono rilasciati su github.com/RobotLocomotion/pytorch-dense-correspondence.
Abstract
Qual è la giusta rappresentazione degli oggetti per la manipolazione? Vorremmo che i robot percepissero visivamente le scene e apprendessero una comprensione degli oggetti in esse che (i) sia indipendente dal compito e utilizzabile come elemento di base per una varietà di compiti di manipolazione, (ii) sia applicabile in generale sia a oggetti rigidi sia a oggetti non rigidi, (iii) sfrutti i forti prior forniti dalla visione 3D e (iv) sia appresa interamente tramite autosupervisione. Questo è difficile da ottenere con i metodi precedenti: gran parte del lavoro recente sulla presa non si estende alla presa di oggetti specifici o ad altri compiti, mentre l'apprendimento specifico per compito può richiedere molti tentativi per generalizzare bene tra configurazioni degli oggetti o altri compiti. In questo articolo presentiamo le Dense Object Nets, che si basano sui recenti sviluppi nell'apprendimento autosupervisionato di descrittori densi, come rappresentazione coerente degli oggetti per la comprensione visiva e la manipolazione. Dimostriamo che possono essere addestrate rapidamente (circa 20 minuti) per un'ampia varietà di oggetti mai visti prima e potenzialmente non rigidi. Presentiamo inoltre contributi nuovi che consentono l'apprendimento di descrittori per più oggetti, e mostriamo che, modificando la nostra procedura di addestramento, possiamo ottenere descrittori che generalizzano tra classi di oggetti oppure descrittori distinti per ogni istanza di oggetto. Infine, dimostriamo la nuova applicazione dei descrittori densi appresi alla manipolazione robotica. Dimostriamo la presa di punti specifici di un oggetto in configurazioni dell'oggetto potenzialmente deformate, e dimostriamo l'uso di descrittori generali di classe per trasferire prese specifiche tra oggetti di una classe.
Link
- arXiv 1806.08756: https://arxiv.org/abs/1806.08756
- DOI 10.48550/arXiv.1806.08756: https://doi.org/10.48550/arXiv.1806.08756
- PDF: http://proceedings.mlr.press/v87/florence18a/florence18a.pdf
- Codice: https://github.com/RobotLocomotion/pytorch-dense-correspondence