littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Python和Faster RCNN框架的流程图识别系统

项目简介

本项目是基于Python和Faster R-CNN框架的流程图识别系统。其目标是从流程图图像中自动检测并识别基本图形、连接线和文字信息,将这些信息组合成流程图后以JSON格式输出。此外,项目还提供自动化工具用于构建训练数据集,可构建指定大小的数据集来训练Faster R-CNN模型。

项目的主要特性和功能

  1. 流程图检测:借助Faster R-CNN模型自动检测流程图里的基本图形、连接线和文字信息。
  2. 流程图重组:依据检测出的信息,用节点和边表示流程图,最终输出为JSON格式。
  3. 模型训练:提供Faster R-CNN训练数据自动化构建工具,能构建指定大小的训练数据集用于模型训练。
  4. 多格式支持:支持多种流程图图形和连接线的识别,兼容不同的流程图样式。
  5. 自动化工具:提供自动化流程图检测工具,方便用户快速进行流程图识别。

安装使用步骤

1. 创建虚拟环境

推荐使用Anaconda创建虚拟环境: bash conda create -n flowchart_env python=3.8 conda activate flowchart_env

2. 安装依赖库

  • 安装PyTorch: bash conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
  • 安装PaddlePaddle: bash conda install paddlepaddle-gpu==2.6.1 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge
  • 安装PaddleOCR: bash pip install "paddleocr>=2.0.1"
  • 安装其他依赖: bash pip install -r requirements.txt

3. 下载模型

  • 下载Faster R-CNN backbone模型: bash cd FasterRCNN/backbone wget https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth mv fasterrcnn_resnet50_fpn_coco-258fb6c6.pth fasterrcnn_resnet50_fpn_coco.pth wget https://download.pytorch.org/models/resnet50-19c8e357.pth mv resnet50-19c8e357.pth resnet50.pth
  • 下载训练后的流程图检测模型参数: bash cd FasterRCNN/save_weights wget https://drive.google.com/file/d/17mKO2BUrEiIL32BBhx6M7kVGCO_f7CO1/view?usp=drive_link tar xf flowchart-recognition-based-fasterrcnn.tar.gz
  • 下载PaddleOCR模型: bash mkdir models && cd models mkdir paddleocr && cd paddleocr wget https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar && tar xf ch_PP-OCRv4_det_infer.tar wget https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tar && tar xf ch_PP-OCRv4_rec_infer.tar

4. 运行项目

  • 将需要识别的图片存放到images/folder_name中。
  • 运行main.py文件: bash python main.py
  • 识别结果将保存到results/folder_name目录中,JSON格式的结果保存在file_name.json中。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】