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

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

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

📖 项目简介

是一个集成了先进深度学习技术的错题自动检测系统,能够精准识别试卷中的题目区域和错误标记,具备以下核心能力:

  • DyHead检测器: 基于动态头部检测技术的高精度题目区域分割模型
  • YOLOv11模型: 最新的YOLO系列模型,用于错误符号精准检测
  • 智能匹配算法: 多策略错题-题目智能匹配,支持中心点包含、重叠面积、IOU、距离计算等方法
  • 多类错误识别: 支持5类错误符号检测(错号、斜线、半对、问号、圆圈)

🔧 核心技术

双模型检测架构

系统采用双模型协同检测技术实现高精度错题定位:

  1. 题目区域检测: 基于DyHead的DocumentRegionDetector实现精准题目分割
  2. 错误符号识别: 使用YOLOv11模型检测5类错误标记符号

智能匹配算法

系统实现了4层匹配策略,确保匹配的准确性和鲁棒性:

  1. 中心点包含判断: 优先级最高,错误符号中心点位于题目框内
  2. 重叠面积计算: 计算重叠区域占错误符号面积的比例
  3. IOU相似度: 使用交并比算法评估框体相似度
  4. 距离最近匹配: 兜底策略,基于中心点距离进行匹配

🚀 快速开始

环境安装

bash 复制代码
pip install --upgrade pip
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install -e . 
pip install -e detectron2
pip install ultralytics
pip install flask
pip install pillow==9.5.0

模型文件准备

将以下模型文件存储于项目目录下:

  • DyHead配置文件 : configs/dyhead_swint_atss_fpn_2x_ms.yaml
  • DyHead权重文件 :./cut_question.pth
  • YOLOv11权重文件 : ./yolo_ckps/best.pt

启动服务

bash 复制代码
python flask_error_detection.py

启动成功后访问 http://localhost:5004 使用Web界面进行错题检测。

📡 API接口

错题检测接口

端点 : POST /detect

请求参数:

参数 类型 必填 说明
image file 试卷图片文件(支持 PNG/JPG/JPEG/BMP/TIFF/WebP)

请求示例:

bash 复制代码
# 错题检测
curl -X POST http://localhost:5004/detect \
  -F "image=@test_paper.jpg"

成功响应示例:

json 复制代码
{
  "success": true,
  "data": {
    "error_count": 3,
    "question_count": 10,
    "error_symbol_count": 5,
    "error_symbols_image": "data:image/jpeg;base64,/9j/4AAQ...",
    "questions_image": "data:image/jpeg;base64,/9j/4AAQ...",
    "matched_errors_image": "data:image/jpeg;base64,/9j/4AAQ...",
    "error_details": [
      {
        "question_box": {
          "bbox": [100, 50, 200, 150]
        },
        "error_boxes": [
          {
            "bbox": [120, 70, 30, 25],
            "confidence": 0.85,
            "class_name": "cuo"
          }
        ],
        "match_method": "中心点包含"
      }
    ]
  }
}

响应字段说明:

  • error_count: 检测到的错题数量
  • question_count: 试卷总题目数量
  • error_symbol_count: 错误符号总数量
  • error_symbols_image: 错误符号检测可视化图片(Base64)
  • questions_image: 题目分割可视化图片(Base64)
  • matched_errors_image: 错题匹配可视化图片(Base64)
  • error_details: 详细的错题信息列表

📁 项目结构

复制代码
AutoCut/
├── flask_error_detection.py  # Flask主应用程序
├── infer.py                  # 切题检测模块
├── requirements.txt          # Python依赖列表
├── configs/                  # 模型配置文件目录
│   └── dyhead_swint_atss_fpn_2x_ms.yaml
├── yolo_ckps/               # YOLO模型权重目录
│   └── best.pt
├── uploads/                 # 临时文件存储目录
├── outputs/                 # 输出结果目录
└── README.md               # 项目说明文档

🎨 检测结果展示

Web界面展示

相关推荐
weixin_550083156 小时前
从零实现基于YOLO的工地安全帽检测系统python复现github项目流程
yolo
mahtengdbb19 小时前
GDSAFusion全局-局部双尺度自适应融合改进YOLOv26多尺度特征表达能力
人工智能·深度学习·yolo
AIoT科技物语10 小时前
免费开源!50+算法,Java基于YOLO框架的视频AI识别算法平台,适配低空无人机巡检、摄像头安防场景
java·人工智能·算法·yolo·开源
前网易架构师-高司机11 小时前
带标注的山体滑坡识别数据集,识别率95.4%,1848张图,支持yolo,coco json,voc xml格式,文末有模型训练代码
yolo·数据集·模型·滑坡·山体
极智视界11 小时前
无人机场景 - 目标检测数据集 - 空中救援目标检测数据集下载「包含VOC、COCO、YOLO三种格式」
yolo·目标检测·数据集·voc·coco·无人机场景·空中救援
爱思考的观赏鱼11 小时前
YOLO 系列:2026最新遥感检测:YOLOv11-OBB 旋转框训练、参数调优与踩坑全解析
人工智能·yolo·目标检测·机器学习·计算机视觉·目标跟踪
rabbit_pro13 小时前
Mac OS/M1 Pro 搭建Yolo V5环境
人工智能·yolo
羊羊小栈13 小时前
基于「YOLO目标检测 + 多模态AI分析」的增材制造粉末床熔合缺陷智能检测分析预警系统
人工智能·yolo·目标检测·计算机视觉·毕业设计·制造
QQ676580081 天前
基于yolo26算法的玉米卷叶心识别 智慧农业玉米病虫害农药丢撒识别 玉米卷心识别 玉米叶心图像识别 农作物识别第10410期
yolo·玉米卷叶心·玉米病虫害农药丢撒·玉米卷心识别·玉米叶心·农作物识别
xiaoyaohou111 天前
026、训练策略改进(二):余弦退火、热重启与早停策略
yolo