بدون توضیح

jingze_cheng 3b645a9305 docs: 更新README 8 ماه پیش
core cd44fdf2d2 chore: 更新代码目录结构 8 ماه پیش
deploy 8a43236ce0 更新 'deploy/Jenkinsfile' 11 ماه پیش
minimal_client_server_example b6077d2e00 init 2 سال پیش
sx_utils 961521c830 fix: 重构结构 1 سال پیش
templates b6077d2e00 init 2 سال پیش
test_imgs f9e641d1b0 first 2 سال پیش
testing a412d85bcb - 2 سال پیش
.DS_Store f9e641d1b0 first 2 سال پیش
.gitignore 82da82d435 chore: 更新gitignore 8 ماه پیش
Dockerfile cd44fdf2d2 chore: 更新代码目录结构 8 ماه پیش
Dockerfile.base 3b59c0ca5b fix: Dockerfile 1 سال پیش
Makefile 588f8e69da fix: pt文件 1 سال پیش
README.md 3b645a9305 docs: 更新README 8 ماه پیش
client.py 3e4238836d 更新模型使用 2 سال پیش
create_md.py ba9ddf64fc first 2 سال پیش
cutimgs.py ba9ddf64fc first 2 سال پیش
docker-compose.yml f9e641d1b0 first 2 سال پیش
environment.yml f9810ae35a fix: Dockerfile 1 سال پیش
kubeconfig-sxkj 671746b0b3 feat: kubeconfig 1 سال پیش
kubeconfig-sxkjprod 671746b0b3 feat: kubeconfig 1 سال پیش
requirements.txt 696357c898 feat: 添加PaddleYOLO模型 8 ماه پیش
run.py 2fa551ba1f feat: yolov7 1 سال پیش
server.py a8c4cf1f49 fix: 返回中间服务需要的数据格式 8 ماه پیش
test.py 2fa551ba1f feat: yolov7 1 سال پیش
writeMD.py f9e641d1b0 first 2 سال پیش

README.md

水平框版面分析

基于 Official YOLOv7PaddleYOLO,用于水平框版面分析。

环境

conda env create -f environment.yml

服务端

python run.py --port 8080

镜像打包

make all

项目结构

.
├── core/
│   ├── detectors/              # 布局检测类目录
│   │   ├── base.py             # 布局检测基类
│   │   ├── paddle_yolo/        # 基于 PaddleYOLO 实现的布局检测类
│   │   └── yolov7.py           # 基于 Official YOLOv7 实现的布局检测类
│   └── predictor.py            # 布局检测工厂
├── models/                     # 模型权重目录
├── run.py                      # 启动入口
├── server.py                   # 路由
├── sx_utils/                   # 工具目录
├── templates/                  # 模板目录
└── testing/                    # 单元测试目录

模型配置

模型名称 模型配置
Official YOLOv7 ./core/detectors/yolov7.py
PaddleYOLO YOLOv7P6-E6 ./core/detectors/paddle_yolo/__init__.py

如果更新了模型权重,请同时修改创建镜像时的下载地址,如:

$ cat Dockerfile
...
# 模型权重下载地址
RUN wget ftp://192.168.199.31/yolov7p6_e6_300e/20240314/yolov7p6_e6_300e_coco.zip
...

服务实现

版面分析服务的简化流程为:

图片 + 模型名称
    |
    | (根据模型名称,对图片进行相应的布局检测)
    v
布局检测框集

其中基于 PaddleYOLO 的布局检测实现中还包含图像预处理,模型预测,后处理等。源码:PaddleYOLO/deploy/python/infer.py#L62

注:PaddleYOLO 基于 PaddleDetection,预测部署的代码实现大部分是一致的。