You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
pengda 5b6b8e683e 1 4 weeks ago
..
template_json ppt修复bug 1 month ago
template_json_v2 ppt修复bug 1 month ago
2_new.pptx 1 4 weeks ago
3_new.pptx 1 4 weeks ago
5_new.pptx 1 4 weeks ago
Readme.md 首次提交 1 month ago
~$2_new.pptx 首次提交 1 month ago

Readme.md

ppt识别流程

内容介绍

  1. 项目目录结构

    • PPT
      • template_json
        • 2.json
        • 3.json
      • 2_new.pptx
      • 3_new.pptx
  2. gpt生成内容

  {
"title_paper": "基于深度学习模型的小麦蚜虫检测方法研究",
"catalogue": [
  "研究背景与技术意义",
  "国内外研究进展",
  "研究方法与技术实现",
  "实验设计与结果分析",
  "系统开发与功能展示",
  "研究总结与未来展望"
],
"content_1": [
  {
    "title_level_1": "研究背景与技术意义",
    "content_2": [
      {
        "title_level_2": "小麦蚜虫危害与防控挑战",
        "content_3": {
          "产量损失严重": "小麦蚜虫通过刺吸汁液破坏光合作用,轻则减产10%-25%,重则超过40%,并传播病毒,造成更大经济损失。",
          "传统防控局限": "传统依赖化学农药,导致蚜虫抗药性增强,农药残留问题严重,且监测滞后,施药时机错位。",
          "智能识别需求": "小麦蚜虫体型微小、群体密集,传统图像处理方法漏检率高,难以适应复杂田间环境。",
          "深度学习优势": "深度学习具备强大特征提取与非线性建模能力,能显著提升小目标识别精度,适用于农业病虫害检测。"
        }
      }
    ]
  },
  {
    "title_level_1": "国内外研究进展",
    "content_2": [
      {
        "title_level_2": "国内研究现状",
        "content_3": {
          "模型架构创新": "山西农大提出CNN-CapsNet融合架构,结合卷积与胶囊网络优势,提升复杂场景下的识别能力。",
          "光照适应优化": "中国农大改进YOLOv8,引入光照补偿模块,在强光暴雨等极端环境下识别准确率提升至82.5%。",
          "移动端部署": "河南农大设计MobileNetV3-Large-WS模型,支持安卓设备离线识别,结合联邦学习提升区域适应性。"
        }
      },
      {
        "title_level_2": "国外研究进展",
        "content_3": {
          "混合模型检测": "Anil Utku等人提出ConvViT模型,融合CNN与ViT,提升微小目标与遮挡目标的检测精度。",
          "多模态融合": "Vijayalakshmi等人构建IoT+UAV系统,结合YOLOv8s与时序特征提取,实现低功耗高精度检测。"
        }
      }
    ]
  },
  {
    "title_level_1": "研究方法与技术实现",
    "content_2": [
      {
        "title_level_2": "数据集构建与处理",
        "content_3": {
          "数据来源整合": "整合PlantVillage、IP102等公开数据集,构建包含300张图像的小麦蚜虫数据集。",
          "标注与划分": "使用LabelMe进行图像标注,转换为COCO格式,并按70/20/10比例划分训练、验证、测试集。",
          "预处理策略": "图像归一化、多尺度缩放、随机翻转等增强手段提升模型泛化能力,适应不同场景。"
        }
      },
      {
        "title_level_2": "PAA算法与网络结构",
        "content_3": {
          "骨干网络设计": "采用ResNet101作为骨干网络,结合FPN实现多尺度特征提取,增强小目标检测能力。",
          "锚框分配机制": "PAA通过GMM建模锚框得分分布,自适应选择正样本,避免人工设定IoU阈值。",
          "IoU预测机制": "引入IoU预测头,将定位质量融入NMS排序,提升检测框筛选准确性。",
          "得分投票优化": "通过几何相似性与联合得分加权平均,优化NMS后检测框坐标,提高定位精度。"
        }
      },
      {
        "title_level_2": "模型评价与实验设置",
        "content_3": {
          "评价指标多样": "采用mAP@50、mAP@75、mAP@s等指标全面评估模型在不同目标尺度下的检测性能。",
          "实验平台配置": "使用GTX3060显卡、PyTorch框架,设置SGD优化器、批量大小4、训练轮数10-20。"
        }
      }
    ]
  },
  {
    "title_level_1": "实验设计与结果分析",
    "content_2": [
      {
        "title_level_2": "不同骨干网络对比",
        "content_3": {
          "模型性能对比": "PAA(ResNet-101+MS-3x)在mAP@50上达90.6%,优于ResNet-50版本,检测精度显著提升。",
          "训练过程表现": "分类损失快速下降,回归损失波动下降,mAP整体上升,模型学习能力逐步增强。",
          "速度与精度权衡": "虽然ResNet-101模型推理速度略慢,但检测精度高,适合对精度要求高的农业场景。"
        }
      },
      {
        "title_level_2": "与其他模型对比",
        "content_3": {
          "精度优势明显": "PAA在mAP、mAP@75、mAP@s等指标上均优于DDOD和VFNet,尤其在小目标检测上表现突出。",
          "速度劣势存在": "PAA推理速度为17FPS,低于DDOD的40FPS,适合精度优先的应用场景。",
          "适用场景分析": "PAA适合密集小目标检测任务,DDOD和VFNet更适合实时性要求高的场景。"
        }
      }
    ]
  },
  {
    "title_level_1": "系统开发与功能展示",
    "content_2": [
      {
        "title_level_2": "系统开发工具",
        "content_3": {
          "PyQt5优势": "PyQt5支持跨平台GUI开发,内置丰富控件,适合构建图像上传、模型选择、结果展示等功能模块。"
        }
      },
      {
        "title_level_2": "系统架构设计",
        "content_3": {
          "模块化设计": "系统包含图像选择、模型选择、预测执行与结果展示三大模块,功能清晰,操作便捷。",
          "异步任务机制": "采用REST API与异步通信机制,确保检测过程稳定高效,支持多模型切换与结果保存。"
        }
      },
      {
        "title_level_2": "系统界面展示",
        "content_3": {
          "界面布局清晰": "系统界面支持图像预览、模型选择、检测结果可视化,用户可直观查看蚜虫位置与置信度。",
          "操作流程简洁": "用户通过选择图像与模型,点击预测即可完成检测,结果自动保存,便于后续分析。"
        }
      }
    ]
  },
  {
    "title_level_1": "研究总结与未来展望",
    "content_2": [
      {
        "title_level_2": "研究总结",
        "content_3": {
          "方法有效性验证": "基于PAA的检测方法在小麦蚜虫识别中表现优异,结合多尺度特征融合显著提升小目标检测精度。",
          "存在局限问题": "数据集多集中于特定环境,模型泛化能力待提升;PAA计算资源需求高,不利于边缘部署。"
        }
      },
      {
        "title_level_2": "未来研究方向",
        "content_3": {
          "多模态融合": "结合图像、光谱、环境数据构建多模态模型,提升检测鲁棒性与适应性。",
          "模型轻量化": "设计PAA轻量化版本,适配无人机、智能摄像头等资源受限设备,实现实时检测。",
          "动态场景适应": "引入自监督学习与领域自适应技术,提升模型在复杂光照与背景下的泛化能力。",
          "自动化监测系统": "结合无人机与视觉技术,构建实时蚜虫监测系统,提升农业病虫害预警效率。"
        }
      }
    ]
  }
]
}

"title_paper" 论文标题 "catalogue" 论文目录 "title_level_1" 字段是目录对应的一级标题 "title_level_2" 字段是对应的每一页ppt的标题,也就是二级标题、 "content_1" 表示有多少个一级标题内容 "content_2" 表示一级标题下面有多少二级标题内容 "content_3" 表示二级标题下面有多少内容要点

  1. xxx.json内容
    [
      {
       "page number": "5",     
       "title": "标题",
       "text": [
          {
            "title_lable": "内容_标题_1",
            "title_lable_len": 6,
            "content_lable": "内客_1",
            "content_lable_len": "27-52"
          },
          {
            "title_lable": "内容_标题_2",
            "title_lable_len": 6,
            "content_lable": "内容_2",
            "content_lable_len": "27-52"
          }
        ],
        "picture": [
          "图片_1"
        ]
      },
      ...
    ]
    

"page number"代表对应ppt的页码 "title" 指代的是二级标题在ppt中的标签 "text" 代表ppt中有多少内容要点 "title_lable" 代表内容要点的小标题在ppt中的标签 "title_lable_len" 代表的要点标题在这页ppt中容纳的字数 "content_lable": 代表内容要点的内容小标题在ppt中的标签 "content_lable_len": 代表的要点的内容在这页ppt中容纳的字数范围 "picture"的值代表这页ppt中图片的标识符,"picture"的值是个列表,列表中有多少元素代表有多少个图片

流程

  1. 根据gpt输出的json中"content_2"字段统计当前一级标题下有多少二级标题,有多少二级标题就代表这个章节下有多少页ppt
  2. 遍历"content_2"字段得到单页ppt字典
  3. 对单页ppt字典遍历"content_3"字段的到每一个小标题中的数据
  4. 统计每条数据标题字数和内容字数,找出最匹配的ppt模版

统计字数匹配

# 根据gpt生成的内容统计单页PPT信息,假如有四个要点
单条标题长度 = [6, 6, 6, 6]
单条内容长度 = [23, 26, 30, 39]
单条标题最大长度 = 6
单页ppt内容最大长度 = 39    
单页ppt内容最小长度 = 23

ppt_dict = json.loads(2.json) # 假如选择了第2号模版
符合的ppt模版的页数 = []
for pagc_info in ppt_dict: # 遍历ppt模板的每一页
    for main_content in pagc_info["text"]: # 遍历内容要点
        min,max = main_content["content_lable_len"].split("-")
        if 单页ppt内容最小长度 > min and 单页ppt内容最大长度< max
            符合的ppt模版的页数.append(当前ppt对应的页码)
            跳出  

if 符合的ppt模版的页数 == []:
for pagc_info in ppt_dict: # 遍历ppt模板的每一页
    for main_content in pagc_info["text"]: # 遍历内容要点
        min,max = main_content["content_lable_len"].split("-")
        if 单页ppt内容最小长度 > min+10 and 单页ppt内容最大长度< max+10
            符合的ppt模版的页数.append(当前ppt对应的页码)
            跳出