Home

Awesome

Objects can move: 3D Change Detection by Geometric Transformation Consistency

This is the code of our ECCV'22 paper "Objects Can Move: 3D Change Detection by Geometric Transformation Consistency". The code is used for object discovery, via change detection on an object-level. Changes are initially detected as differences in the depth maps and segmented as objects if they undergo rigid motions. A graph cut optimization propagates the changing labels to geometrically consistent regions. The final output of the code, are the discovered objects, that are formed using connected component analysis on the discovered changes.

The results are evaluated on the 3Rscan dataset, a dataset built towards object instance relocalization. We also provide code for turning 3Rscan dataset into a change detection/object discovery benchmark. Evaluation is performed in terms of Accuracy, Completeness, Recall and IoU.

alt text

Setting up environment

conda env create -f environment.yml

Generate ground-truth annotations for change detection:

python create_GTchanges.py

Preprocessing:

python convertToPCD.py
./supervoxel_clustering --NT

Run object discovery pipeline:

python initialDetection.py
python computeMatches.py
python computeConsistentTransformations.py
python prepareVariablesForCutPursuit.py
python SolveCutPursuit.py

Evaluation

For the computation of the metrics 4 files are available:

python meanIoU.py
python meanRecall.py
python meanAccComplet.py

[WARNING!] The results are hard-coded to be reproducible. In the future release of the code different hyperparameters will be able to be tuned as arguments of the relevant scripts. Even though the parameters are tuned for our experiments, an element of randomness remains in the result due to RANSAC execution. In this distribution, we provide scripts for our core method, as well as the baseline of Palazzolo et al. Palazzolo et al. is equivalent to our method before optimization, so stopping after initial detection, reproduces the output of this baseline. Replacing the computed transformations by the ground-truth transformations provided by 3RScan dataset, during the graph optimization step will reproduce the ablation baseline of ground-truth transforms.

We decided to distribute this version in parts, so as to be easier to reproduce some baseline experiments. If you have completed the preprocessing and computed DGCNN features, you can run the whole pipeline using objectsCanMove.sh by executing at the command line:

bash objectsCanMove.sh

Paper

If you find the data useful please consider citing our [paper]:

Objects Can Move: 3D Change Detection by Geometric Transformation Consistency, A. Adam, K.Karantzalos, T.Sattler, T.Pajdla (to appear at ECCV'22)