{"id":22366071,"url":"https://github.com/microsoft/yolat-vectorgraphicsrecognition","last_synced_at":"2025-09-07T02:39:10.578Z","repository":{"id":45167148,"uuid":"434506644","full_name":"microsoft/YOLaT-VectorGraphicsRecognition","owner":"microsoft","description":"Source Code of NeurIPS21 and T-PAMI24 paper: Recognizing Vector Graphics without Rasterization","archived":false,"fork":false,"pushed_at":"2025-08-26T15:41:22.000Z","size":2505,"stargazers_count":98,"open_issues_count":6,"forks_count":17,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-09-02T00:38:01.578Z","etag":null,"topics":["gnn-model","vector-database","vector-graphics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-03T07:36:33.000Z","updated_at":"2025-08-26T05:58:45.000Z","dependencies_parsed_at":"2024-04-30T18:57:55.472Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/YOLaT-VectorGraphicsRecognition","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/YOLaT-VectorGraphicsRecognition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FYOLaT-VectorGraphicsRecognition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FYOLaT-VectorGraphicsRecognition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FYOLaT-VectorGraphicsRecognition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FYOLaT-VectorGraphicsRecognition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/YOLaT-VectorGraphicsRecognition/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FYOLaT-VectorGraphicsRecognition/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273989002,"owners_count":25203184,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["gnn-model","vector-database","vector-graphics"],"created_at":"2024-12-04T18:07:35.542Z","updated_at":"2025-09-07T02:39:10.551Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :fire: [NIPS2021, TPAMI2024] YOLaT \u0026 YOLaT++: Powerful and Efficient Graph Models for Vector Graphics Recognition\n##  :scroll: Introduction\n[![arXiv](https://img.shields.io/badge/arXiv-Paper-\u003cCOLOR\u003e.svg)](https://arxiv.org/abs/2111.03281)\n\nThis repository is the official PyTorch implementation of our two powerful vector graphics recognition models.\n\u003e NeurIPS-2021 [paper](https://arxiv.org/abs/2111.03281): Recognizing Vector Graphics without Rasterization.\n\n\u003e TPAMI-2024 [paper](https://ieeexplore.ieee.org/abstract/document/10508965): Hierarchical Recognizing Vector Graphics and A New Chart-based Vector Graphics Dataset\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"img-name\" src=\"misc/RGvsVG.png\" width=\"900\"\u003e\n\nRendering vector graphics into pixel arrays can result in significant memory costs or loss of information, as demonstrated in above Figure 1. Additionally, this process discards high-level structural information within the primitives, which is critical for recognition tasks such as identifying corners and contours. \nTo summarize, we propose You Only Look at Text series (YOLaT \u0026 YOLaT++)  which addresses issues with raster graphics by taking in textual documents of vector graphics as input.\n## Environments\n```sh\nconda create -n your_env_name python=3.8\nconda activate your_env_name\nsh deepgcn_env_install.sh \n```\n\n## YOLaT \n### 1. Data Preparation\n\n#### Floorplans\na) Download and unzip the [Floorplans dataset](http://mathieu.delalandre.free.fr/projects/sesyd/symbols/floorplans.html) to the dataset folder: `data/FloorPlansGraph5_iter`\n\nb) Run the following scripts to prepare the dataset for training/inference.\n\n```sh\ncd utils\npython svg_utils/build_graph_bbox.py\n```\n#### Diagrams\na) Download and unzip the [Diagrams dataset](http://mathieu.delalandre.free.fr/projects/sesyd/symbols/diagrams.html) to the dataset folder: `data/diagrams`\n\nb) Run the following scripts to prepare the dataset for training/inference.\n```sh\ncd utils\npython svg_utils/build_graph_bbox_diagram.py\n```\n\n### 2. Training \u0026 Inference\n#### Floorplans\n```sh\ncd cad_recognition\nCUDA_VISIBLE_DEVICES=0 python -u train.py --batch_size 4 --data_dir data/FloorPlansGraph5_iter --phase train --lr 2.5e-4 --lr_adjust_freq 9999999999999999999999999999999999999 --in_channels 5 --n_blocks 2 --n_blocks_out 2 --arch centernet3cc_rpn_gp_iter2  --graph bezier_cc_bb_iter --data_aug true  --weight_decay 1e-5 --postname run182_2 --dropout 0.0 --do_mixup 0 --bbox_sampling_step 10\n```\n#### Diagrams\n```sh\ncd cad_recognition\nCUDA_VISIBLE_DEVICES=0 python -u train.py --batch_size 4 --data_dir data/diagrams --phase train --lr 2.5e-4 --lr_adjust_freq 9999999999999999999999999999999999999 --in_channels 5 --n_blocks 2 --n_blocks_out 2 --arch centernet3cc_rpn_gp_iter2  --graph bezier_cc_bb_iter --data_aug true  --weight_decay 1e-5 --postname run182_2 --dropout 0.0 --do_mixup 0 --bbox_sampling_step 5\n```\n\n## YOLaT++\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"img-name\" src=\"misc/Yolat%2B%2B.png\" width=\"900\"\u003e\n  \nYOLaT++ is introduced, characterized by a hierarchical structure designed for VGs, spanning three levels: **Primitive, Curve, and Point**. Additionally, YOLaT++ employs a position-aware enhancement strategy to effectively differentiate similar primitives. \n\n## Citation\nBibTex:\n```\n@inproceedings{jiang2021recognizing,\ntitle={{Recognizing Vector Graphics without Rasterization}},\nauthor={Jiang, Xinyang and Liu, Lu and Shan, Caihua and Shen, Yifei and Dong, Xuanyi and Li, Dongsheng},\nbooktitle={Proceedings of Advances in Neural Information Processing Systems (NIPS)},\nvolume={34},\nnumber={},\npages={},\nyear={2021}}\n\n@article{journals/pami/DouJLYSSDWLZ24,\n  author       = {Shuguang Dou and Xinyang Jiang and Lu Liu and Lu Ying and Caihua Shan and Yifei Shen and Xuanyi Dong and Yun Wang and  Dongsheng Li and Cairong Zhao},\n  title        = {Hierarchically Recognizing Vector Graphics and {A} New Chart-Based\n                  Vector Graphics Dataset},\n  journal      = {{IEEE} Trans. Pattern Anal. Mach. Intell.},\n  volume       = {46},\n  number       = {12},\n  pages        = {7556--7573},\n  year         = {2024},\n  doi          = {10.1109/TPAMI.2024.3394298},\n}\n\n```  \nPlease do consider :star2: star our project to share with your community if you find this repository helpful!\n\n# Related Dataset\n[Benchmark for VG-based Detection and Chart Understanding](https://github.com/Vill-Lab/2024-TPAMI-VGDCU)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fyolat-vectorgraphicsrecognition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fyolat-vectorgraphicsrecognition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fyolat-vectorgraphicsrecognition/lists"}