{"id":13442696,"url":"https://github.com/haomo-ai/OverlapTransformer","last_synced_at":"2025-03-20T15:30:35.424Z","repository":{"id":38533000,"uuid":"458176111","full_name":"haomo-ai/OverlapTransformer","owner":"haomo-ai","description":"[RAL/IROS 2022]  OverlapTransformer: An Efficient and Yaw-Angle-Invariant Transformer Network for LiDAR-Based Place Recognition.","archived":false,"fork":false,"pushed_at":"2024-07-29T09:12:59.000Z","size":36319,"stargazers_count":253,"open_issues_count":1,"forks_count":30,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-28T05:59:37.990Z","etag":null,"topics":["global-localization","lidar-place-recognition","loop-closure-detection","place-recognition","slam"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haomo-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-11T12:23:43.000Z","updated_at":"2024-10-13T02:57:51.000Z","dependencies_parsed_at":"2024-07-29T12:33:21.787Z","dependency_job_id":null,"html_url":"https://github.com/haomo-ai/OverlapTransformer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haomo-ai%2FOverlapTransformer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haomo-ai%2FOverlapTransformer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haomo-ai%2FOverlapTransformer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haomo-ai%2FOverlapTransformer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haomo-ai","download_url":"https://codeload.github.com/haomo-ai/OverlapTransformer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244639844,"owners_count":20485940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["global-localization","lidar-place-recognition","loop-closure-detection","place-recognition","slam"],"created_at":"2024-07-31T03:01:49.305Z","updated_at":"2025-03-20T15:30:35.417Z","avatar_url":"https://github.com/haomo-ai.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# OverlapTransformer\n\nThe code for our paper for **RAL/IROS 2022**:  \n\n**OverlapTransformer: An Efficient and Yaw-Angle-Invariant Transformer Network for LiDAR-Based Place Recognition.**  [[paper](https://arxiv.org/pdf/2203.03397.pdf)]\n\nOverlapTransformer (OT) is a novel lightweight neural network exploiting the LiDAR range images to achieve fast execution with **less than 4 ms per frame using python, less than 2 ms per frame using C++** in LiDAR similarity estimation. \nIt is a newer version of our previous [OverlapNet](https://github.com/PRBonn/OverlapNet), which is faster and more accurate in LiDAR-based loop closure detection and place recognition.\n\nDeveloped by [Junyi Ma](https://github.com/BIT-MJY), [Xieyuanli Chen](https://github.com/Chen-Xieyuanli) and [Jun Zhang](https://github.com/zhangjun-xyz).\n\nOverlapTransformer is not a sophisticated model but holds natural mathematical properties in a lightweight style for surround-view observations. It can be seamlessly integrated into any range-image-based approach as a backbone, e.g., [EINet](https://arxiv.org/abs/2402.17264) (IROS 2024). **Welcome to post results in issues if you have tried other input types (e.g., RGBD camera, Livox, 16/32-beam LiDAR).**\n\n\n## News!\n\n**[2024-06]** [EINet](https://arxiv.org/abs/2402.17264) successfully integrates OT into its framework as a powerful submodule, which is accepted by IROS 2024!  \n**[2023-09]** **The multi-view extension of OT, [CVTNet](https://github.com/BIT-MJY/CVTNet)**, is accepted by IEEE Transactions on Industrial Informatics (TII)! A better long-term recognition performance is available :star:\t     \n**[2022-12]** SeqOT is accepted by IEEE Transactions on Industrial Electronics (TIE)!  \n**[2022-09]** We further develop **a sequence-enhanced version of OT named as SeqOT**, which can be found [here](https://github.com/BIT-MJY/SeqOT).\n\n## Haomo Dataset\n\n\u003cimg src=\"https://github.com/haomo-ai/OverlapTransformer/blob/master/query_database_haomo.gif\" \u003e  \n\nFig. 1 An online demo for finding the top1 candidate with OverlapTransformer on sequence 1-1 (database) and 1-3 (query) of [Haomo Dataset](https://github.com/haomo-ai/OverlapTransformer/tree/master/Haomo_Dataset).\n\n\u003cdiv align=center\u003e\n\u003cimg src=\"https://github.com/haomo-ai/OverlapTransformer/blob/master/Haomo_Dataset/haomo_dataset.png\" width=\"98%\"/\u003e\n\u003c/div\u003e  \n\nFig. 2 [Haomo Dataset](https://github.com/haomo-ai/OverlapTransformer/tree/master/Haomo_Dataset) which is collected by **HAOMO.AI**. \n\nMore details of Haomo Dataset can be found in dataset description ([link](https://github.com/haomo-ai/OverlapTransformer/tree/master/Haomo_Dataset)).\n\n## Table of Contents\n1. [Introduction and Haomo Dataset](#OverlapTransformer)\n2. [Publication](#Publication)\n3. [Dependencies](#Dependencies)\n4. [How to Use](#How-to-Use)\n5. [Datasets Used by OT](#Datasets-Used-by-OT)\n6. [Related Work](#Related-Work)\n7. [License](#License)\n\n## Publication\n\nIf you use the code or the Haomo dataset in your academic work, please cite our paper ([PDF](https://arxiv.org/pdf/2203.03397.pdf)):\n\n```\n@ARTICLE{ma2022ral,\n  author={Ma, Junyi and Zhang, Jun and Xu, Jintao and Ai, Rui and Gu, Weihao and Chen, Xieyuanli},\n  journal={IEEE Robotics and Automation Letters}, \n  title={OverlapTransformer: An Efficient and Yaw-Angle-Invariant Transformer Network for LiDAR-Based Place Recognition}, \n  year={2022},\n  volume={7},\n  number={3},\n  pages={6958-6965},\n  doi={10.1109/LRA.2022.3178797}}\n```\n\n## Dependencies\n\nWe use pytorch-gpu for neural networks.\n\nAn nvidia GPU is needed for faster retrival.\nOverlapTransformer is also fast enough when using the neural network on CPU.\n\nTo use a GPU, first you need to install the nvidia driver and CUDA.\n\n- CUDA Installation guide: [link](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)  \n  We use CUDA 11.3 in our work. Other versions of CUDA are also supported but you should choose the corresponding torch version in the following Torch dependences.  \n\n- System dependencies:\n\n  ```bash\n  sudo apt-get update \n  sudo apt-get install -y python3-pip python3-tk\n  sudo -H pip3 install --upgrade pip\n  ```\n- Torch dependences:  \n  Following this [link](https://pytorch.org/get-started/locally/), you can download Torch dependences by pip:\n  ```bash\n  pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html\n  ```\n  or by conda:\n  ```bash\n  conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch\n  ```  \n  \n\n- Other Python dependencies (may also work with different versions than mentioned in the requirements file):\n\n  ```bash\n  sudo -H pip3 install -r requirements.txt\n  ```\n  \n## How to Use\nWe provide a training and test tutorials for KITTI sequences in this repository. \nThe tutorials for Haomo dataset will be released together with the complete Haomo dataset.  \n\nWe recommend you follow our code and data structures as follows.\n\n### Code Structure\n\n```bash\n├── config\n│   ├── config_haomo.yml\n│   └── config.yml\n├── modules\n│   ├── loss.py\n│   ├── netvlad.py\n│   ├── overlap_transformer_haomo.py\n│   └── overlap_transformer.py\n├── test\n│   ├── test_haomo_topn_prepare.py\n│   ├── test_haomo_topn.py\n│   ├── test_kitti00_prepare.py\n│   ├── test_kitti00_PR.py\n│   ├── test_kitti00_topN.py\n│   ├── test_results_haomo\n│   │   └── predicted_des_L2_dis_bet_traj_forward.npz (to be generated)\n│   └── test_results_kitti\n│       └── predicted_des_L2_dis.npz (to be generated)\n├── tools\n│   ├── read_all_sets.py\n│   ├── read_samples_haomo.py\n│   ├── read_samples.py\n│   └── utils\n│       ├── gen_depth_data.py\n│       ├── split_train_val.py\n│       └── utils.py\n├── train\n│   ├── training_overlap_transformer_haomo.py\n│   └── training_overlap_transformer_kitti.py\n├── valid\n│   └── valid_seq.py\n├── visualize\n│   ├── des_list.npy\n│   └── viz_haomo.py\n└── weights\n    ├── pretrained_overlap_transformer_haomo.pth.tar\n    └── pretrained_overlap_transformer.pth.tar\n```\n\n\u003c!---\nTo use our code, you need to download the following necessary files and put them in the right positions of the structure above:\n- [pretrained_overlap_transformer.pth.tar](https://drive.google.com/file/d/1FNrx9pcDa9NF7z8CFtuTWyauNkeSEFW4/view?usp=sharing): Our pretrained OT on KITTI sequences for easier evaluation.\n- [des_list.npy](https://drive.google.com/file/d/13btLQiUokuSHYx229WxtcHGw49-oxmX2/view?usp=sharing): descriptors of Haomo dataset generated by our pretrained OT for visualization.\n--\u003e\n\n\n\n### Dataset Structure\nIn the file [config.yaml](https://github.com/haomo-ai/OverlapTransformer/blob/master/config/config.yml), the parameters of `data_root` are described as follows:\n```\n  data_root_folder (KITTI sequences root) follows:\n  ├── 00\n  │   ├── depth_map\n  │     ├── 000000.png\n  │     ├── 000001.png\n  │     ├── 000002.png\n  │     ├── ...\n  │   └── overlaps\n  │     ├── train_set.npz\n  ├── 01\n  ├── 02\n  ├── ...\n  ├── 10\n  └── loop_gt_seq00_0.3overlap_inactive.npz\n  \n  valid_scan_folder (KITTI sequence 02 velodyne) contains:\n  ├── 000000.bin\n  ├── 000001.bin\n  ...\n\n  gt_valid_folder (KITTI sequence 02 computed overlaps) contains:\n  ├── 02\n  │   ├── overlap_0.npy\n  │   ├── overlap_10.npy\n  ...\n```\nYou need to download or generate the following files and put them in the right positions of the structure above:\n- You can find the groud truth for KITTI 00  here: [loop_gt_seq00_0.3overlap_inactive.npz](https://drive.google.com/file/d/1upAwJBF-_UIB7R8evW0PuJBM3RnrTbzl/view?usp=sharing)\n- You can find `gt_valid_folder` for sequence 02 [here](https://drive.google.com/file/d/13_1j20Uq3ppjVEkYaYcKjiJ2Zm7tudyH/view?usp=sharing).   \n- Since the whole KITTI sequences need a large memory, we recommend you generate range images such as `00/depth_map/000000.png` by the preprocessing from [Overlap_Localization](https://github.com/PRBonn/overlap_localization/blob/master/src/prepare_training/gen_depth_and_normal_map.py) or its [C++ version](https://github.com/PRBonn/overlap_localization/tree/master/src/prepare_training/c_utils), and we will not provide these images. Please note that in OverlapTransformer, the `.png` images are used instead of `.npy` files saved in [Overlap_Localization](https://github.com/PRBonn/overlap_localization/blob/master/src/prepare_training/gen_depth_and_normal_map.py).\n- More directly, you can generate `.png` range images by [the script from OverlapNet](https://github.com/haomo-ai/OverlapTransformer/blob/master/tools/utils/gen_depth_data.py) updated by us.\n- `overlaps` folder of each sequence below `data_root_folder` is provided by the authors of OverlapNet [here](https://drive.google.com/file/d/1i333NUC1DnJglXasqkGYCmo9p45Fx28-/view?usp=sharing). You should rename them to `train_set.npz`.\n\n\n### Quick Use\n\nFor a quick use, you could download our [model pretrained on KITTI](https://drive.google.com/file/d/1FNrx9pcDa9NF7z8CFtuTWyauNkeSEFW4/view?usp=sharing), and the following two files also should be downloaded :\n- [calib_file](https://drive.google.com/file/d/1LAcFrRSZQPxdD4EKSwIC0d3-uGvLB3yk/view?usp=sharing): calibration file from KITTI 00.\n- [poses_file](https://drive.google.com/file/d/1n02m1OqxK122ce8Cjz_N68PkazGqzj9l/view?usp=sharing): pose file from KITTI 00.\n\nThen you should modify `demo1_config` in the file [config.yaml](https://github.com/haomo-ai/OverlapTransformer/blob/master/config/config.yml).  \n\nRun the demo by:  \n\n```\ncd demo\npython ./demo_compute_overlap_sim.py\n```\nYou can see a query scan (000000.bin of KITTI 00) with a reprojected positive sample (000005.bin of KITTI 00) and a reprojected negative sample (000015.bin of KITTI 00), and the corresponding similarity.  \n\n\u003cimg src=\"https://github.com/haomo-ai/OverlapTransformer/blob/master/demo.png\" width=\"100%\" height=\"100%\"\u003e  \n\nFig. 3 Demo for calculating overlap and similarity with our approach.    \n\n\n### Training\n\nIn the file [config.yaml](https://github.com/haomo-ai/OverlapTransformer/blob/master/config/config.yml), `training_seqs` are set for the KITTI sequences used for training.  \n\nYou can start the training with\n\n```\ncd train\npython ./training_overlap_transformer_kitti.py\n```\nYou can resume from our pretrained model [here](https://github.com/haomo-ai/OverlapTransformer/blob/86cd4a53e1be7029de445ec8b2f3d0fbdb8d38c4/train/training_overlap_transformer_kitti.py#L53) for training.\n\n\n### Testing\n\nOnce a model has been trained , the performance of the network can be evaluated. Before testing, the parameters shoud be set in [config.yaml](https://github.com/haomo-ai/OverlapTransformer/blob/master/config/config.yml)\n\n- `test_seqs`: sequence number for evaluation which is \"00\" in our work.\n- `test_weights`: path of the pretrained model.\n- `gt_file`: path of the ground truth file provided by the author of OverlapNet, which can be downloaded [here](https://drive.google.com/file/d/1upAwJBF-_UIB7R8evW0PuJBM3RnrTbzl/view?usp=sharing).\n\n\nTherefore you can start the testing scripts as follows:\n\n```\ncd test\nmkdir test_results_kitti\npython test_kitti00_prepare.py\npython test_kitti00_PR.py\npython test_kitti00_topN.py\n```\nAfter you run `test_kitti00_prepare.py`, a file named `predicted_des_L2_dis.npz` is generated in `test_results_kitti`, which is used by `python test_kitti00_PR.py` to calculate PR curve and F1max, and used by `python test_kitti00_topN.py` to calculate topN recall.   \n\nFor a quick test of the training and testing procedures, you could use our [pretrained model](https://drive.google.com/file/d/1FNrx9pcDa9NF7z8CFtuTWyauNkeSEFW4/view?usp=sharing).  \n\n### Visualization \n\n#### Visualize evaluation on KITTI 00\n\nFirstly, to visualize evaluation on KITTI 00 with search space, the follwoing three files should be downloaded:\n- [calib_file](https://drive.google.com/file/d/1LAcFrRSZQPxdD4EKSwIC0d3-uGvLB3yk/view?usp=sharing): calibration file from KITTI 00.\n- [poses_file](https://drive.google.com/file/d/1n02m1OqxK122ce8Cjz_N68PkazGqzj9l/view?usp=sharing): pose file from KITTI 00.\n- [cov_file](https://drive.google.com/file/d/1ZaY_OJegIsI0rD5WGOzJ296dh7c7wyiz/view?usp=sharing): covariance file from SUMA++ on KITTI 00.\n\n  \nand modify the paths in the file [config.yaml](https://github.com/haomo-ai/OverlapTransformer/blob/master/config/config.yml). Then\n\n```\ncd visualize\npython viz_kitti.py\n```\n\n\u003cimg src=\"https://github.com/haomo-ai/OverlapTransformer/blob/master/query_database_kitti.gif\" width=\"70%\" height=\"70%\"\u003e  \n  \nFig. 4 Evaluation on KITTI 00 with search space from [SuMa++](https://github.com/PRBonn/semantic_suma) (a semantic LiDAR SLAM method).    \n\n#### Visualize evaluation on Haomo challenge 1 (after Haomo dataset is released)\n\nWe also provide a visualization demo for Haomo dataset after Haomo dataset is released (Fig. 1). Please download the [descriptors](https://drive.google.com/file/d/13btLQiUokuSHYx229WxtcHGw49-oxmX2/view?usp=sharing) of database (sequence 1-1 of Haomo dataset) firstly and then:  \n\n```\ncd visualize\npython viz_haomo.py\n```\n\n### C++ Implementation\n\nWe provide a C++ implementation of OverlapTransformer with libtorch for faster retrival.  \n* Please download [.pt](https://drive.google.com/file/d/1oC9_Iyts4r1itu5N3_GAfbdPoZ54C1q4/view?usp=sharing) and put it in the OT_libtorch folder.\n* Before building, make sure that [PCL](https://github.com/PointCloudLibrary/pcl) exists in your environment.\n* Here we use [LibTorch for CUDA 11.3 (Pre-cxx11 ABI)](https://download.pytorch.org/libtorch/cu113/libtorch-shared-with-deps-1.11.0%2Bcu113.zip). Please modify the path of **Torch_DIR** in [CMakeLists.txt](https://github.com/haomo-ai/OverlapTransformer/blob/master/OT_libtorch/ws/CMakeLists.txt). \n* For more details of LibTorch installation , please check this [website](https://pytorch.org/get-started/locally/).  \nThen you can generate a descriptor of 000000.bin of KITTI 00 by\n```\ncd OT_libtorch/ws\nmkdir build\ncd build/\ncmake ..\nmake -j6\n./fast_ot \n```\nYou can find our C++ OT can generate a decriptor with **less than 2 ms per frame**.\n\n\n## Datasets Used by OT\n\nIn this section, we list the files of different datasets used by OT for faster inquiry.  \n\n### KITTI Dataset\n\nKITTI is used to validate the place recognition performance in our paper. Currently we have released all the necessary files for evaluation on KITTI. \n\n* Pretrained model: [pretrained_overlap_transformer.pth.tar](https://drive.google.com/file/d/1FNrx9pcDa9NF7z8CFtuTWyauNkeSEFW4/view)\n* Overlaps folder of each sequence for training: [train_set_from_overlapnet.zip](https://drive.google.com/file/d/1i333NUC1DnJglXasqkGYCmo9p45Fx28-/view?usp=sharing).\n* Validation folder from sequence 02: [computed_overlap_02.zip](https://drive.google.com/file/d/13_1j20Uq3ppjVEkYaYcKjiJ2Zm7tudyH/view?usp=sharing).   \n* The groud truth for sequence 00 for testing: [loop_gt_seq00_0.3overlap_inactive.npz](https://drive.google.com/file/d/1upAwJBF-_UIB7R8evW0PuJBM3RnrTbzl/view?usp=sharing) (You can follow this [issue](https://github.com/PRBonn/OverlapNet/issues/35) to generate this file yourself.)\n* Calibration file from the orginal benchmark (00): [calib.txt](https://drive.google.com/file/d/1LAcFrRSZQPxdD4EKSwIC0d3-uGvLB3yk/view?usp=sharing)\n* Pose file the orginal benchmark (00): [00.txt](https://drive.google.com/file/d/1n02m1OqxK122ce8Cjz_N68PkazGqzj9l/view?usp=sharing)\n* Covariance file from SUMA++ (00): [covariance_2nd.txt](https://drive.google.com/file/d/1ZaY_OJegIsI0rD5WGOzJ296dh7c7wyiz/view?usp=sharing)\n\n### Ford Campus Dataset\n\nFord is used to validate the generalization ability with zero-shot transferring in our paper. Currently we have released all the necessary preprocessed files of Ford except the code for the evaluation which is similar to KITTI. You just need to follow our existing scripts.\n\n* The overlap-based groud truth for sequence 00 for testing: [loop_gt_seq00_0.3overlap_inactive.npz](https://drive.google.com/file/d/1oYxux_8nrm51foFU7gjv_UWHCQeklKA8/view?usp=sharing)\n* The distance-based groud truth for sequence 00 for testing: [loop_gt_seq00_10distance_inactive.npz](https://drive.google.com/file/d/1wSmsK_4PNOR_Omp5Yo9dAb_MfLAxKynX/view?usp=sharing)\n* Calibration file from the orginal benchmark (00): [calib.txt](https://drive.google.com/file/d/1yEtzAYcInO-H3QUsQWuQjmmMLKpmujyZ/view?usp=sharing)\n* Pose file the orginal benchmark (00): [poses.txt](https://drive.google.com/file/d/1YenoUNTt5e_vRCQN1XJ952A8CfA_eNQs/view?usp=sharing)\n* Covariance file from SUMA++ (00): [covariance_2nd.txt](https://drive.google.com/file/d/1OCQhv6rzbdorrl04YSRrGZ_cVLPoGJsf/view?usp=sharing)\n\n### Haomo Dataset\n\nYou can find the detailed description of Haomo dataset [here](https://github.com/haomo-ai/OverlapTransformer/tree/master/Haomo_Dataset).\n\n## Related Work\n\nYou can find our more recent LiDAR place recognition approaches below, which have better performance on larger time gaps.\n\n* [SeqOT](https://github.com/BIT-MJY/SeqOT): spatial-temporal network using sequential LiDAR data (IEEE TIE 2022)\n\n```\n@ARTICLE{ma2022tie,\n  author={Ma, Junyi and Chen, Xieyuanli and Xu, Jingyi and Xiong, Guangming},\n  journal={IEEE Transactions on Industrial Electronics}, \n  title={SeqOT: A Spatial-Temporal Transformer Network for Place Recognition Using Sequential LiDAR Data}, \n  year={2022},\n  doi={10.1109/TIE.2022.3229385}}\n```\n* [CVTNet](https://github.com/BIT-MJY/CVTNet): cross-view Transformer network using RIVs and BEVs (IEEE TII 2023)\n\n```\n@ARTICLE{10273716,\n  author={Ma, Junyi and Xiong, Guangming and Xu, Jingyi and Chen, Xieyuanli},\n  journal={IEEE Transactions on Industrial Informatics}, \n  title={CVTNet: A Cross-View Transformer Network for LiDAR-Based Place Recognition in Autonomous Driving Environments}, \n  year={2023},\n  doi={10.1109/TII.2023.3313635}}\n```\n\n## License\nCopyright 2022, Junyi Ma, Xieyuanli Chen, Jun Zhang, HAOMO.AI Technology Co., Ltd., China.\n\nThis project is free software made available under the GPL v3.0 License. For details see the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaomo-ai%2FOverlapTransformer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaomo-ai%2FOverlapTransformer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaomo-ai%2FOverlapTransformer/lists"}