QC-DGM
This is the official PyTorch implementation and models for our CVPR 2021 paper: Deep Graph Matching under Quadratic Constraint.
It also contains the configuration files to reproduce the results of qc-DGM_1 reported in the paper on Pascal VOC Keypoint and Willow Object Class dataset.
Get started
- pytorch (GPU version) >= 1.1
- ninja-build:
apt-get install ninja-build
- python packages:
pip install tensorboardX scipy easydict pyyaml
- Download dataset:
- Pascal VOC Keypoint:
- Download and tar VOC2011 keypoints, and the path looks like:
./data/PascalVOC/VOC2011
. - Download and tar Berkeley annotation, and the path looks like:
./data/PascalVOC/annotations
. - The train/test split of Pascal VOC Keypoint is available in:
./data/PascalVOC/voc2011_pairs.npz
.
- Willow Object Class dataset:
- Download and unzip Willow ObjectClass dataset, and the path looks like:
./data/WILLOW-ObjectClass
.
Training
-
Run training and evaluation on Pascal VOC Keypoint:
python train_eval.py --cfg ./experiments/QCDGM_voc.yaml
or you could replace the default
./experiments/QCDGM_voc.yaml
with path to your own configuration file. -
Run training and evaluation on Willow Object Class dataset:
python train_eval.py --cfg ./experiments/QCDGM_willow.yaml
or you could replace the default
./experiments/QCDGM_willow.yaml
with path to your own configuration file.
Evaluation
-
Run evaluation on Pascal VOC Keypoint on epoch k:
python eval.py --cfg ./experiments/QCDGM_voc.yaml --epoch k
or you could replace the default
./experiments/QCDGM_voc.yaml
with path to your own configuration file. -
Run evaluation on Willow Object Class dataset on epoch k:
python eval.py --cfg ./experiments/QCDGM_willow.yaml --epoch k
or you could replace the default
./experiments/QCDGM_voc.yaml
with path to your own configuration file.
Results
We report the performance on Pascal VOC Keypoint and Willow Object Class datasets.
Pascal VOC Keypoint
method | aero | bike | bird | boat | bottle | bus | car | cat | chair | cow | table | dog | horse | mbike | person | plant | sheep | sofa | train | tv | mean |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
qc-DGM | 48.4 | 61.6 | 65.3 | 61.3 | 82.4 | 79.6 | 74.3 | 72.0 | 41.8 | 68.8 | 65.0 | 66.1 | 70.9 | 69.6 | 48.2 | 92.1 | 69.0 | 66.7 | 90.4 | 91.8 | 69.3 |
Willow Object Class
method | face | m-bike | car | duck | wbottle | mean |
---|---|---|---|---|---|---|
qc-DGM | 100.0 | 95.0 | 93.8 | 93.8 | 97.6 | 96.0 |
Citation
@InProceedings{Gao_2021_CVPR,
author = {Gao, Quankai and Wang, Fudong and Xue, Nan and Yu, Jin-Gang and Xia, Gui-Song},
title = {Deep Graph Matching under Quadratic Constraint},
booktitle = {Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}