# 水平框版面分析 基于 [Official YOLOv7](https://github.com/WongKinYiu/yolov7) 和 [PaddleYOLO](https://github.com/PaddlePaddle/PaddleYOLO),用于水平框版面分析。 ## 环境 ```shell conda env create -f environment.yml ``` ## 服务端 ```shell python run.py --port 8080 ``` ## 镜像打包 ```shell make all ``` ## 模型配置 | 模型名称 | 模型配置 | | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | | [Official YOLOv7](https://github.com/WongKinYiu/yolov7) | [./core/detectors/yolov7.py](./core/detectors/yolov7.py) | | [PaddleYOLO YOLOv7P6-E6](https://github.com/PaddlePaddle/PaddleYOLO/tree/develop/configs/yolov7#p6%E5%A4%A7%E5%B0%BA%E5%BA%A6%E6%A8%A1%E5%9E%8B) | [./core/detectors/paddle_yolo/\_\_init\_\_.py](./core/detectors/paddle_yolo/__init__.py) | 如果更新了模型权重,请同时修改创建镜像时的下载地址,如: ```bash $ cat Dockerfile ... # 模型权重下载地址 RUN wget ftp://192.168.199.31/yolov7p6_e6_300e/20240314/yolov7p6_e6_300e_coco.zip ... ``` ## 模型训练 请参考:[目标检测模型训练与评估](https://gogs.soaringnova.com/jingze_cheng/layout-ocr-data-utils/src/main/docs/train_and_eval.md) ## 服务实现 版面分析服务的简化流程为: ```text 图片 + 模型名称 | | (根据模型名称,对图片进行相应的布局检测) v 布局检测框集 ``` 其中基于 PaddleYOLO 的布局检测实现中还包含图像预处理,模型预测,后处理等。源码:[PaddleYOLO/deploy/python/infer.py#L62](https://github.com/PaddlePaddle/PaddleYOLO/blob/2d68b6605a828c62b63268b9d512cafb25ddb2ea/deploy/python/infer.py#L62) 注:[PaddleYOLO](https://github.com/PaddlePaddle/PaddleYOLO/tree/develop) 基于 [PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection),预测部署的代码实现大部分是一致的。