PyTorch-Implementierung unseres Artikels:
Korrelieren und anregen: Echtzeit-Stereoanpassung über geführte Kosten-Volumen-Anregung
Autoren: 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, Korea Advanced Institute of Science and Technology (KAIST)
Internationale IEEE/RSJ-Konferenz über intelligente Roboter und Systeme (IROS), 2021
[Projektseite] | [Papier]
Wir schlagen eine Guided Cost Volume Excitation (GCE) und eine Top-K-Soft-Argmax-Disparitätsregression für eine präzise Stereoanpassung in Echtzeit vor.
Wir empfehlen die Verwendung von Conda für die Installation:
conda env create -f environment.yml
conda activate coex
Unsere vorab trainierten SceneFlow-Gewichte können über den folgenden Link heruntergeladen werden:
Unser Modell erreicht einen neuen SceneFlow-EPE (Endpunktfehler) von 0,596 und verbessert damit den vorherigen EPE von 0,69, der im Originalpapier angegeben wurde.
Für eine Demo unseres Codes im KITTI-Datensatz laden Sie die „[synchronisierten+korrigierten Daten]“ aus den KITTI-Rohdaten herunter. Entpacken Sie die extrahierten Ordner und platzieren Sie sie entsprechend der Verzeichnisstruktur unten.
Sceneflow-Datensatz
Laden Sie die Finalpass- Daten des Sceneflow-Datensatzes sowie die Disparity- Daten herunter.
KITTI 2015
Laden Sie den kitti15-Datensatz herunter, entpacken Sie data_scene_flow.zip, benennen Sie ihn in kitti15 um und verschieben Sie ihn in das SceneFlow-Verzeichnis, wie in der Baumstruktur unten gezeigt.
KITTI 2012
Kitti12-Datensatz herunterladen. Entpacken Sie data_stereo_flow.zip, benennen Sie es in kitti12 um und verschieben Sie es in das SceneFlow-Verzeichnis, wie in der Baumstruktur unten gezeigt.
Stellen Sie sicher, dass die Verzeichnisnamen mit der Baumstruktur unten übereinstimmen, damit die Datenlader die Dateien finden können.
In unserem Setup ist der Datensatz wie folgt organisiert
../../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
Das vorab trainierte KITTI-Modell ist bereits in „./logs“ enthalten. Laufen
python demo.py
um ein Stereo-Matching für die Roh-Kitti-Sequenz durchzuführen. Hier ist ein Beispielergebnis auf unserem System mit RTX 2080Ti unter Ubuntu 18.04.
Weitere Demoergebnisse finden Sie auf unserer Projektseite
Um das Modell neu zu trainieren, konfigurieren Sie „./configs/stereo/cfg_yaml“, z. B. Batchgröße, Pfade, Gerätenummer, Genauigkeit usw. Führen Sie es dann aus
python stereo.py
Wenn Sie unsere Arbeit für Ihre Forschung nützlich finden, denken Sie bitte darüber nach, unseren Artikel zu zitieren
@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}
}
Ein Teil des Codes ist aus früheren Arbeiten übernommen: PSMNet, AANet, GANet, SpixelFCN