Ce référentiel est la mise en œuvre officielle Pytorch de nos deux puissants modèles de reconnaissance graphique vectorielle.
Document des Neirips-2021: reconnaître les graphiques vectoriels sans rasterisation.
TPAMI-2024 Papier: Graphique vectoriel de reconnaissance hiérarchique et un nouvel ensemble de données graphiques vectorielles basées sur le graphique

Le rendu des graphiques vectoriels dans des réseaux de pixels peut entraîner des coûts de mémoire ou une perte d'informations importants, comme démontré dans la figure 1 ci-dessus. Pour résumer, nous proposons que vous ne regardez que la série de texte (Yolat & Yolat ++) qui résout les problèmes avec les graphiques raster en admirant des documents textuels des graphiques vectoriels en entrée.
conda create -n your_env_name python=3.8
conda activate your_env_name
sh deepgcn_env_install.sh a) Téléchargez et dézipez l'ensemble de données de plans de plancher dans le dossier de l'ensemble de données: data/FloorPlansGraph5_iter
b) Exécutez les scripts suivants pour préparer l'ensemble de données pour la formation / l'inférence.
cd utils
python svg_utils/build_graph_bbox.py a) Téléchargez et dézipez l'ensemble de données des diagrammes dans le dossier de l'ensemble de données: data/diagrams
b) Exécutez les scripts suivants pour préparer l'ensemble de données pour la formation / l'inférence.
cd utils
python svg_utils/build_graph_bbox_diagram.py cd cad_recognition
CUDA_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 cd cad_recognition
CUDA_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
Yolat ++ est introduit, caractérisé par une structure hiérarchique conçue pour les VG, couvrant trois niveaux: primitif, courbe et point . De plus, Yolat ++ utilise une stratégie d'amélioration consciente de la position pour différencier efficacement des primitives similaires.
Bibtex:
@inproceedings{jiang2021recognizing,
title={{Recognizing Vector Graphics without Rasterization}},
author={Jiang, Xinyang and Liu, Lu and Shan, Caihua and Shen, Yifei and Dong, Xuanyi and Li, Dongsheng},
booktitle={Proceedings of Advances in Neural Information Processing Systems (NIPS)},
volume={34},
number={},
pages={},
year={2021}}
@inproceedings{yolat24,
title={{Hierarchical Recognizing Vector Graphics and A New Chart-based Vector Graphics Dataset}},
author={Shuguang Dou, Xinyang Jiang, Lu Liu, Lu Ying, Caihua Shan, Yifei Shen, Xuanyi Dong, Yun Wang, Dongsheng Li, Cairong Zhao},
booktitle={IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume={},
number={},
pages={},
year={2024}}
Veuillez considérer? Jouez notre projet à partager avec votre communauté si vous trouvez ce référentiel utile!
Benchmark pour la détection et la compréhension des graphiques basées sur VG