Implémentation PyTorch de notre article :
Corréler et exciter : correspondance stéréo en temps réel via une excitation guidée du volume et des coûts
Auteurs : Antyanta Bangunharcana 1 , Jae Won Cho 2 , Seokju Lee 2 , In So Kweon 2 , Kyung-Soo Kim 1 , Soohyun Kim 1
1 MSC Lab, 2 RVC Lab, Institut avancé coréen des sciences et technologies (KAIST)
Conférence internationale IEEE/RSJ sur les robots et systèmes intelligents (IROS), 2021
[Page du projet] | [Papier]
Nous proposons une régression d'excitation de volume à coût guidé (GCE) et de disparité top-k soft-argmax pour une correspondance stéréo précise et en temps réel.
Nous vous recommandons d'utiliser conda pour l'installation :
conda env create -f environment.yml
conda activate coex
Nos poids SceneFlow pré-entraînés peuvent être téléchargés via le lien suivant :
Notre modèle atteint un nouvel EPE SceneFlow (End-Point-Error) de 0,596, améliorant le précédent EPE de 0,69 signalé dans l'article original.
Pour une démo de notre code sur l'ensemble de données KITTI, téléchargez les "[données synchronisées+rectifiées]" à partir des données brutes KITTI. Décompressez et placez les dossiers extraits en suivant l'arborescence des répertoires ci-dessous.
Ensemble de données Sceneflow
Téléchargez les données de passage final de l'ensemble de données Sceneflow ainsi que les données Disparity .
KITTI 2015
Téléchargez l'ensemble de données kitti15 et décompressez data_scene_flow.zip, renommez-le kitti15 et déplacez-le dans le répertoire SceneFlow comme indiqué dans l'arborescence ci-dessous.
KITTI 2012
Téléchargez l'ensemble de données kitti12. Décompressez data_stereo_flow.zip, renommez-le kitti12 et déplacez-le dans le répertoire SceneFlow comme indiqué dans l'arborescence ci-dessous.
Assurez-vous que les noms de répertoire correspondent à l'arborescence ci-dessous afin que les chargeurs de données puissent localiser les fichiers.
Dans notre configuration, l'ensemble de données est organisé comme suit
../../data
└── datasets
├── KITTI_raw
| ├── 2011_09_26
| │ ├── 2011_09_26_drive_0001_sync
| │ ├── 2011_09_26_drive_0002_sync
| | :
| |
| ├── 2011_09_28
| │ ├── 2011_09_28_drive_0001_sync
| │ └── 2011_09_28_drive_0002_sync
| | :
| | :
|
└── SceneFlow
├── driving
│ ├── disparity
│ └── frames_finalpass
├── flyingthings3d_final
│ ├── disparity
│ └── frames_finalpass
├── monkaa
│ ├── disparity
│ └── frames_finalpass
├── kitti12
│ ├── testing
│ └── training
└── kitti15
├── testing
└── training
Le modèle KITTI pré-entraîné est déjà inclus dans './logs'. Courir
python demo.py
pour effectuer une correspondance stéréo sur une séquence brute de kitti. Voici un exemple de résultat sur notre système avec RTX 2080Ti sur Ubuntu 18.04.
Pour plus de résultats de démonstration, consultez notre page Projet
Pour réentraîner le modèle, configurez './configs/stereo/cfg_yaml', par exemple, batch_size, chemins, numéro de périphérique, précision, etc. Ensuite, exécutez
python stereo.py
Si vous trouvez notre travail utile dans votre recherche, pensez à citer notre article
@inproceedings{bangunharcana2021correlate,
title={Correlate-and-Excite: Real-Time Stereo Matching via Guided Cost Volume Excitation},
author={Bangunharcana, Antyanta and Cho, Jae Won and Lee, Seokju and Kweon, In So and Kim, Kyung-Soo and Kim, Soohyun},
booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={3542--3548},
year={2021},
organization={IEEE}
}
Une partie du code est reprise de travaux antérieurs : PSMNet, AANet, GANet, SpixelFCN