From 29b37d74c09ec5473afcce9e97d39916dcb35941 Mon Sep 17 00:00:00 2001 From: roger <18309862+rogerwwww@users.noreply.github.com> Date: Mon, 21 Nov 2022 13:06:28 +0800 Subject: [PATCH] update doc and readme --- README.md | 51 ++++++++++++++++++++++++++++++++++++++++++-------- docs/index.rst | 13 +++---------- 2 files changed, 46 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 291b6a5..b586401 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,15 @@ Graph Matching (GM) is a fundamental yet challenging problem in computer vision, Graph matching techniques have been applied to the following applications: * [Bridging movie and synopses](https://openaccess.thecvf.com/content_ICCV_2019/papers/Xiong_A_Graph-Based_Framework_to_Bridge_Movies_and_Synopses_ICCV_2019_paper.pdf) - Bridging movie and synopses, ICCV 2019 + Bridging movie and synopses, ICCV 2019 * [Image correspondence](https://arxiv.org/pdf/1911.11763.pdf) - Superglue, CVPR 2020 + Superglue, CVPR 2020 * [Molecules matching](https://openaccess.thecvf.com/content/CVPR2021/papers/Wang_Combinatorial_Learning_of_Graph_Edit_Distance_via_Dynamic_Embedding_CVPR_2021_paper.pdf) - Molecules matching, CVPR 2021 + Molecules matching, CVPR 2021 * and more... @@ -62,6 +62,34 @@ _ThinkMatch_ currently contains pytorch source code of the following deep graph * Michal Rolínek, Paul Swoboda, Dominik Zietlow, Anselm Paulus, Vít Musil, Georg Martius. "Deep Graph Matching via Blackbox Differentiation of Combinatorial Solvers." _ECCV 2020_. [[paper]](https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123730409.pdf) +## When to use ThinkMatch + +ThinkMatch is designed as a research protocol for deep graph matching. It is recommended if you have any of the +following demands: +* Developing new algorithms and publishing new graph matching papers; +* Understanding the details of deep graph matching models; +* Playing around with the hyperparameters and network details; +* Benchmarking deep graph matching networks. + +### When not to use ThinkMatch + +You may find the environment setup in ThinkMatch complicated and the details of graph matching hard to understand. +``pygmtools`` has a user-friendly API, and is recommended for the following cases: + +* If you want to integrate graph matching as a step of your pipeline (either learning or non-learning, + with ``numpy``/``pytorch``/``jittor``/``paddle``). +* If you want a quick benchmarking and profiling of the graph matching solvers available in ``pygmtools``. +* If you do not want to dive too deep into the algorithm details and do not need to modify the algorithm. + +You can simply install the user-friendly package by +```shell +$ pip install pygmtools +``` + +Official documentation: https://pygmtools.readthedocs.io + +Source code: https://github.com/Thinklab-SJTU/pygmtools + ## Deep Graph Matching Benchmarks ### PascalVOC - 2GM @@ -130,10 +158,10 @@ _ThinkMatch_ also supports the following graph matching settings: Get the recommended docker image by ```bash -docker pull runzhongwang/thinkmatch:torch1.6.0-cuda10.1-cudnn7-pyg1.6.3-pygmtools0.3.0 +docker pull runzhongwang/thinkmatch:torch1.6.0-cuda10.1-cudnn7-pyg1.6.3-pygmtools0.3.2 ``` -See available images at [docker hub](https://hub.docker.com/r/runzhongwang/thinkmatch/tags). +Other combinations of torch and cuda are also available. See available images at [docker hub](https://hub.docker.com/r/runzhongwang/thinkmatch/tags). See details in [ThinkMatch-runtime](https://github.com/Thinklab-SJTU/ThinkMatch-runtime). @@ -192,7 +220,9 @@ Note: All following datasets can be automatically downloaded and unzipped by `py 1. PascalVOC-Keypoint 1. Download [VOC2011 dataset](http://host.robots.ox.ac.uk/pascal/VOC/voc2011/index.html) and make sure it looks like ``data/PascalVOC/TrainVal/VOCdevkit/VOC2011`` + 1. Download keypoint annotation for VOC2011 from [Berkeley server](https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/shape/poselets/voc2011_keypoints_Feb2012.tgz) or [google drive](https://drive.google.com/open?id=1D5o8rmnY1-DaDrgAXSygnflX5c-JyUWR) and make sure it looks like ``data/PascalVOC/annotations`` + 1. The train/test split is available in ``data/PascalVOC/voc2011_pairs.npz``. **This file must be added manually.** Please cite the following papers if you use PascalVOC-Keypoint dataset: @@ -216,7 +246,9 @@ Note: All following datasets can be automatically downloaded and unzipped by `py } ``` 1. Willow-Object-Class + 1. Download [Willow-ObjectClass dataset](http://www.di.ens.fr/willow/research/graphlearning/WILLOW-ObjectClass_dataset.zip) + 1. Unzip the dataset and make sure it looks like ``data/WillowObject/WILLOW-ObjectClass`` Please cite the following paper if you use Willow-Object-Class dataset: @@ -231,7 +263,9 @@ Note: All following datasets can be automatically downloaded and unzipped by `py ``` 1. CUB2011 + 1. Download [CUB-200-2011 dataset](http://www.vision.caltech.edu/visipedia-data/CUB-200-2011/CUB_200_2011.tgz). + 1. Unzip the dataset and make sure it looks like ``data/CUB_200_2011/CUB_200_2011`` Please cite the following report if you use CUB2011 dataset: @@ -246,7 +280,9 @@ Note: All following datasets can be automatically downloaded and unzipped by `py ``` 1. IMC-PT-SparseGM + 1. Download the IMC-PT-SparseGM dataset from [google drive](https://drive.google.com/file/d/1Po9pRMWXTqKK2ABPpVmkcsOq-6K_2v-B/view?usp=sharing) or [baidu drive (code: 0576)](https://pan.baidu.com/s/1hlJdIFp4rkiz1Y-gztyHIw) + 1. Unzip the dataset and make sure it looks like ``data/IMC_PT_SparseGM/annotations`` Please cite the following papers if you use IMC-PT-SparseGM dataset: @@ -299,9 +335,8 @@ We also offer the following chat rooms if you are more comfortable with them: * Discord (for English users): - [](https://discord.gg/8m6n7rRz9T) + [![discord](https://discordapp.com/api/guilds/1028701206526304317/widget.png?style=banner2)](https://discord.gg/8m6n7rRz9T) * QQ Group (for Chinese users)/QQ群(中文用户): 696401889 - [ThinkMatch/pygmtools交流群](https://qm.qq.com/cgi-bin/qm/qr?k=NlPuwwvaFaHzEWD8w7jSOTzoqSLIM80V&jump_from=webapi&authKey=chI2htrWDujQed6VtVid3V1NXEoJvwz3MVwruax6x5lQIvLsC8BmpmzBJOCzhtQd) - + [![ThinkMatch/pygmtools交流群](http://pub.idqqimg.com/wpa/images/group.png)](https://qm.qq.com/cgi-bin/qm/qr?k=NlPuwwvaFaHzEWD8w7jSOTzoqSLIM80V&jump_from=webapi&authKey=chI2htrWDujQed6VtVid3V1NXEoJvwz3MVwruax6x5lQIvLsC8BmpmzBJOCzhtQd) diff --git a/docs/index.rst b/docs/index.rst index fca6532..d03ede0 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,14 +1,7 @@ -Welcome to ThinkMatch's documentation! -====================================== +.. mdinclude:: ../README.md -**ThinkMatch** is a deep graph matching repository developed and maintained by -`ThinkLab `_ at Shanghai Jiao Tong University. - -This repository is developed for the following purposes: - -* **Providing modules** for developing deep graph matching algorithms to facilitate future research. -* **Providing implementation** of state-of-the-art deep graph matching methods. -* **Benchmarking** existing deep graph matching algorithms under different dataset & experiment settings, for the purpose of fair comparison. +Contents of Official Documentation +------------------------------------ .. toctree:: :maxdepth: 2