# ppt识别流程 ## 内容介绍 1. 项目目录结构 - PPT - template_json - 2.json - 3.json - 2_new.pptx - 3_new.pptx 2. gpt生成内容 ```json { "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" 表示二级标题下面有多少内容要点 3. xxx.json内容 ```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对应的页码) 跳出