YOLOv11深度学习错题自动切分系统

作者:技术拾光

时间:2026-06-09

浏览:620

基于DyHead与YOLOv11构建双模型协同架构,实现试卷错题自动切分。题目分割采用DyHead搭配Swin-Transformer,mAP@0.5达98.2%;错符检测使用YOLOv11-640,F1-score为96.5%,可识别五种常见符号。通过四重匹配策略(中心点包含、重叠面积、IOU、欧氏距离)将错题与符号对应。

文章目录

基于DyHead和YOLOv11的错题自动切分系统

本项目的核心思路是结合动态头部检测与YOLOv11,构建一套能够自动识别错题的系统。系统主要完成三项任务:利用DyHead精确切分试卷上的题目区域,使用YOLOv11识别五种常见错误符号(、/、、、○),并通过四级匹配策略将错题与符号对应关联。

YOLOv11深度学习错题自动切分系统

核心技术

YOLOv11深度学习错题自动切分系统

双模型协同架构

模块 技术方案 精度指标
题目分割 DyHead+Swin-Transformer mAP@0.5: 98.2%
错符检测 YOLOv11-640 F1-score: 96.5%

在题目分割环节,DyHead配合Swin-Transformer取得了mAP@0.5 98.2%的性能,能够较为精准地框出每道题的范围。错符检测采用YOLOv11-640模型,F1-score达到96.5%,对五类错误符号的识别率表现良好。

四级匹配策略

匹配策略是系统的关键设计之一,用于将错题与错符进行对应。该方案包含四个层级,优先级从高到低排列:

  • 中心点包含(最高优先级)——若错符中心落在题目框内,直接配对,简单高效。
  • 重叠面积占比 >30%——若中心点未包含,则检查两者重叠面积是否达到阈值。
  • IOU相似度 >0.25——重叠面积不达标时,计算交并比进行判断。
  • 欧氏距离 <50px(兜底方案)——若前述条件均不满足,则选取距离最近的错符和题目,50像素以内即为匹配。

该策略几乎不会出现漏匹配的情况。实际测试表明,中心点包含方案能够覆盖绝大多数场景——大部分错符位于题目区域内。后三层主要应对极端情况,例如错符恰好写在题目边界上。

快速部署

环境配置

# 安装PyTorch+CUDA11.8
pip install torch==2.4.1 torchvision==0.19.1 --index-url https://download.pytorch.org/whl/cu118

# 安装项目依赖
pip install -e detectron2 ultralytics flask pillow==9.5.0

模型部署

下载预训练模型后,按以下路径放置:

./configs/dyhead_swint_atss_fpn_2x_ms.yaml
./yolo_ckps/best.pt

启动服务

python flask_error_detection.py  # 访问 http://localhost:5004

YOLOv11深度学习错题自动切分系统

API接口文档

错题检测接口

Endpoint: POST /detect

请求示例:

curl -X POST http://localhost:5004/detect -F "image=@test.jpg"

响应示例:

{
  "success": true,
  "data": {
    "error_count": 3,
    "questions": [
      {
        "bbox": [100,50,200,150],
        "errors": [
          {
            "type": "cuo",
            "confidence": 0.92,
            "match_method": "中心点包含"
          }
        ]
      }
    ],
    "visualization": {
      "errors_img": "base64...",
      "matches_img": "base64..."
    }
  }
}

接口返回内容清晰,包括错题数量、每道题的边界框、对应的错符类型与置信度,以及可视化结果图。base64编码的图片可直接在前端展示,省去了额外的图片处理流程。

系统架构

Cut/
├── core/
│   ├── dyhead_detector.py  # 题目区域分割
│   └── yolo_detector.py    # 错符检测
├── utils/
│   ├── matcher.py          # 四级匹配算法
│   └── visualization.py   # 结果可视化
└── web/
    ├── static/             # 前端资源
    └── templates/          # HTML页面

架构设计轻量,核心逻辑仅包含四个文件:两个检测器、一个匹配器、一个可视化工具。Web层使用Flask构建,前端资源直接挂载在static目录下,部署过程较为简便。

效果演示

Web界面支持实时上传试卷图片,系统会自动标注出错题区域,并支持逐一切分下载。实际处理中,无论是A4还是B5规格的试卷,手写批改痕迹还是印刷体符号,均能稳定处理。

![检测效果对比图]

左:原始试卷 | 右:错题标记与切分结果

教育场景适配:支持A4/B5试卷、手写批改痕迹、多科目符号体

该系统已在真实教育场景中稳定运行一段时间。其优势在于无需对试卷做任何预处理——拍照上传即可使用。若试卷存在严重歪斜或光线极差,建议先进行预处理,以提升检测精度。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章