Este repositório é a implementação oficial do Pytorch de nossos dois poderosos modelos de reconhecimento de gráficos vetores.
Papel Neurips-2021: Reconhecendo gráficos vetoriais sem rasterização.
Artigo TPAMI-2024: Gráficos vetoriais de reconhecimento hierárquico e um novo conjunto de dados de gráficos vetoriais baseados em gráficos

A renderização de gráficos vetoriais em matrizes de pixels pode resultar em custos significativos de memória ou perda de informações, conforme demonstrado na Figura 1 acima. Além disso, esse processo descarta informações estruturais de alto nível nas primitivas, o que é crítico para tarefas de reconhecimento, como identificar cantos e contornos. Para resumir, propomos que você apenas observe a série de texto (Yolat & Yolat ++), que aborda problemas com os gráficos raster, observando documentos textuais de gráficos vetoriais como entrada.
conda create -n your_env_name python=3.8
conda activate your_env_name
sh deepgcn_env_install.sh a) Faça o download e descompacte o conjunto de dados do piso na pasta do conjunto de dados: data/FloorPlansGraph5_iter
b) Execute os seguintes scripts para preparar o conjunto de dados para treinamento/inferência.
cd utils
python svg_utils/build_graph_bbox.py a) Faça o download e descompacte o conjunto de dados dos diagramas na pasta do conjunto de dados: data/diagrams
b) Execute os seguintes scripts para preparar o conjunto de dados para treinamento/inferência.
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
O Yolat ++ é introduzido, caracterizado por uma estrutura hierárquica projetada para VGs, abrangendo três níveis: primitiva, curva e ponto . Além disso, o Yolat ++ emprega uma estratégia de aprimoramento com reconhecimento de posição para diferenciar efetivamente primitivas semelhantes.
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}}
Por favor, considere? Estrela nosso projeto para compartilhar com sua comunidade se você achar útil este repositório!
Referência para detecção baseada em VG e compreensão do gráfico