团队作业2-《需求规格说明书》

VisionPulse 智动团队:YOLO姿态估计的智能探索之旅

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13481
这个作业的目标 完成需求规格说明书,建立和初步熟悉团队git的协作方式
github链接 https://github.com/LeoLeung314/yolo7

一、需求规格说明书

(一)、系统概述

本系统基于YOLO系列算法中的 YOLOv7 姿态估计技术,构建一个集人体姿态检测、动作评估及人机交互功能于一体的综合性系统。系统以 Java+Python 多技术栈协同为基础,聚焦姿态估计技术的深度应用,通过测试与开发双轨驱动模式,实现从基础姿态检测到复杂动作分析及人机交互场景的拓展,为科研、运动健康、智能家居等领域提供稳定、可用、有价值的技术解决方案。

(二)、面向用户分析

  1. 初期核心用户
    • 计算机视觉研究者:需要高效、准确的姿态估计工具辅助算法研究与验证,关注系统的模型性能(如检测精度、速度)、可扩展性(支持自定义数据集训练)及底层技术细节(如模型结构、参数配置)。
    • 高校师生:用于教学实验、课程设计及科研项目,注重系统的易用性(部署便捷、操作简单)、文档完整性(含开发指南、API说明)及开源性(便于二次开发与学习)。
  2. 后期拓展用户
    • 智能家居企业:需将系统集成到智能家居产品中实现人机交互控制(如通过手势控制家电),关注系统的兼容性(支持多种硬件设备)、实时性(低延迟响应)及稳定性(长时间运行无故障)。
    • 运动健康开发者:用于开发智能健身指导类应用,需要系统具备精准的动作评估能力(如姿势正确性判断、动作标准度打分)、数据输出能力(可导出姿态关键点数据用于分析)及轻量化部署特性(适配移动设备)。

(三)、功能性需求

  1. 姿态检测功能
    • 能够准确识别人体关键节点(如头部、颈部、四肢关节等),并在输出结果中清晰标记各关键点位置。
    • 可对检测到的人体目标进行边界框标记,同时显示目标的类别信息(如“person”)及置信度。
    • 支持将处理后的视频结果保存为本地文件,文件名为原文件名称加“_keypoint.mp4”后缀。
  2. 动作评估功能
    • 基于检测到的人体姿态关键点数据,实现对特定动作(如健身动作、体育动作)的评估。
    • 能够定义动作评估标准(如动作角度范围、关键点位置偏差阈值等),并根据标准对输入动作进行打分。
    • 提供动作评估结果的可视化展示,如在视频中标记出不符合标准的部位、显示实时得分等。
  3. 人机交互功能
    • 支持基于人体姿态或手势的交互控制,如通过特定手势指令(如挥手、握拳)实现对设备的操作(如启动/停止程序、切换功能等)。
    • 能够识别预设的姿态模式,并将其映射为相应的控制命令,可与智能家居系统、多媒体设备等进行通信对接。
    • 提供交互指令的配置界面,允许用户自定义姿态与控制命令的映射关系。
  4. 系统配置与管理功能
    • 提供参数调整功能,如修改检测置信度阈值、IOU(交并比)阈值等,以适应不同场景的检测需求。
    • 支持实时显示检测结果,可通过视图窗口实时查看处理后的视频流。
    • 记录系统运行日志,包括检测时间、帧率(FPS)、错误信息等,便于系统调试与性能分析。

(四)、技术需求

  1. 开发环境需求
    • 编程语言:Python(主要用于模型推理、姿态检测核心逻辑实现)、Java(用于系统交互模块、后端服务开发等)。
    • Python环境:支持Python 3.6及以上版本,需安装PyTorch、OpenCV、NumPy、Matplotlib等依赖库(具体版本参见requirements.txt)。
    • Java环境:支持Java 8及以上版本,可结合Spring Boot等框架进行后端服务开发。
  2. 硬件需求
    • CPU:至少为Intel Core i5或同等性能的处理器,用于满足基础的计算需求。
    • GPU:若使用GPU加速,需为NVIDIA显卡且支持CUDA计算架构(如GTX 1050及以上),以提升模型推理速度。
    • 内存:至少8GB RAM,推荐16GB及以上,确保系统运行流畅。
    • 存储:至少预留10GB存储空间,用于存放代码、模型权重文件、视频数据等。
    • 输入设备:支持外接摄像头(USB接口)或网络摄像头,用于获取实时视频流。
  3. 性能需求
    • 检测速度:在CPU环境下,处理720P视频的平均帧率不低于5 FPS;在GPU环境下,处理720P视频的平均帧率不低于20 FPS。
    • 检测精度:在公开的姿态估计数据集(如COCO keypoints)上,关键点检测的平均精度(AP)不低于0.65。
    • 响应时间:对于实时交互指令(如手势控制),系统从检测到姿态到执行相应命令的响应时间不超过300ms。
    • 稳定性:系统连续运行24小时无崩溃、无内存泄漏,检测结果保持稳定。
  4. 兼容性需求
    • 支持多种视频格式输入,包括MP4、AVI、MOV等常见格式。
    • 兼容主流的网络视频流协议,如RTSP、HTTP等。
    • 模型文件兼容YOLOv7-pose系列权重文件(如yolov7-w6-pose.pt),支持加载预训练模型进行推理。
    • 输出的视频文件可在常见的视频播放器(如VLC、PotPlayer)中正常播放。
  5. 安全性需求
    • 对于用户上传的视频数据及处理结果,需进行加密存储,防止未授权访问。
    • 系统操作需进行权限控制,区分管理员、普通用户等不同角色,限制不同角色的操作范围。
    • 避免在日志中记录敏感信息(如用户隐私数据、密钥等),确保数据安全。

(五)、 预期的用户数量

初期面向计算机视觉研究者、高校师生,预计500+用户;后续拓展人机交互功能后,面向智能家居企业、运动健康开发者等,预计1000+用户。

(六)、 系统的真实性、可用性以及价值所在

  1. 系统的真实性
  • 1)技术栈与开发流程真实可追溯
    采用Python+PyTorch+OpenCV等主流计算机视觉技术栈,代码开源可复现,从模型训练、推理到结果可视化的全流程均有明确实现逻辑,不存在虚构技术环节。
  • 2) 功能贴合实际场景需求
    支持本地视频真实数据源输入,输出带关键点标记的视频文件(如your-file-keypoint.mp4),与实际应用中姿态检测的数据源和输出形式一致,解决了真实场景下的视觉信息处理问题。
  • 3) 性能指标可量化验证
    系统运行时能输出FPS(帧率)、处理时间等关键指标,可通过对比不同设备(CPU/GPU)、不同输入源的性能数据验证实际效果,确保功能真实有效。

2.系统的可用性

  • 1) 部署与操作便捷性高
    提供简洁的命令行运行方式(如python pose-estimate.py --source "your-video.mp4"),支持通过参数配置设备(CPU/GPU)、输入源类型等,无需复杂环境配置,开发者可快速上手使用,降低技术门槛。
  • 2) 兼容性覆盖多场景需求
    支持MP4等常见视频格式及RTSP网络流协议,可适配电脑摄像头、外接设备等硬件,满足科研、教学、企业集成等多场景的输入输出需求。
  • 3) 支持二次开发与扩展
    基于开源代码架构,开发者可通过修改模型参数(如置信度阈值)、拓展关键点分析逻辑(如动作评估算法)进行定制化开发,且项目提供清晰的代码注释和使用文档,便于功能迭代与场景拓展。

3.系统的价值所在

  • 1) 科研与教学价值
    为计算机视觉研究者提供低成本的姿态估计工具,可用于验证新算法、对比不同模型性能;为高校师生提供开源学习案例,助力理解目标检测与姿态估计的技术原理,推动计算机视觉领域的知识传播。
  • 2) 产业应用落地价值
    为运动健康领域(如智能健身指导)提供姿态关键点数据支撑,可通过分析动作角度、轨迹实现标准化评估;为智能家居、人机交互领域提供基础技术模块,支持手势控制、动作指令识别等功能的快速集成,加速AI技术的实用化落地。
  • 3) 技术生态赋能价值
    促进开发者社区共同优化模型性能(如提升小目标姿态检测精度、降低计算资源消耗),形成技术迭代的正向循环,为后续更高阶的动作分析(如复杂运动识别)奠定基础。

二、码云

1. 团队项目的码云链接

https://github.com/LeoLeung314/yolo7

2. 团队项目issues截图

9ccd99fd3c5fff20afb741b7d69e3dc

三、计划

1. 原有计划

周期 核心目标 具体任务 交付成果
第9周(组建与计划) 立项与计划冻结 1. 组队、搭建博客、明确分工、确定选题
2. 快速阅读《构建之法》8–15章
3. 制定项目计划与贡献分规则
1. PRD一页纸
2. 迭代计划页
3. 贡献分规范
第10周(需求与雏形) 规范、环境与骨架 1. 编写SRS(仅包含P0四件套+验收线)
2. 绘制原型草图(完成上传→状态→回放流程)
3. 制定编码规范
4. 搭建仓库、配置CI、锁定依赖
5. 开发最小骨架(含pose_estimator.py / tracker.py / fsm.py / run.py / API占位)
1. SRS v0.1
2. 项目仓库+CI配置
3. 最小可跑骨架(支持假数据)
第11周(设计与测试计划) 设计冻结、估时与测试方案 1. 完成架构设计与WBS(实现接口冻结)
2. 制定测试计划(含数据采集、标注规范、评测脚本接口)
1. 架构图+接口契约
2. 任务估时表
3. 测试计划
第12–13周(Alpha) 打通整链(真实视频可跑) 1. 分配Alpha阶段任务
2. 开展7天每日Scrum(同步昨日进展/今日计划/当前阻碍+提交代码)
3. 完成冲刺验收(产出样例视频四件套,用评测脚本生成指标)
1. 可演示的Alpha版本
2. Scrum博客(记录每日同步内容)
3. 评测结果(含具体指标)
第14周(反馈与改进) 稳态与指标 1. 开展小范围试用并收集反馈
2. 调整测试计划与指标阈值
3. 优化性能与鲁棒性
4. 撰写Alpha阶段个人总结与团队展示博客
1. 改进版Alpha版本
2. 团队总结与个人总结
3. 团队展示博客
第15周(事后分析) 复盘 开展事后分析(对比计划与实际进展、梳理风险点、总结经验/教训、整理项目数据) 1. Postmortem博客
2. 指标对照表

2. 校正后的安排

周期 核心目标 具体任务 交付成果 校正计算依据(对应量化逻辑)
第9周(组建与计划) 立项与计划冻结 1. 组队、搭建博客、明确分工、确定选题
2. 制定项目计划与贡献分规则
3. 快速阅读《构建之法》8–10章(聚焦项目管理核心)
1. PRD一页纸
2. 迭代计划页
3. 贡献分规范
1. 任务负载均衡:交付成果3个×1.2≈3.6,核心任务3个≤4,符合要求;
2. 任务关联度:《构建之法》8-10章(项目管理)与“计划冻结”契合度0.8,保留;11-15章(技术实践)契合度0.3,移出。
第10周(需求与雏形) 规范、环境与骨架 1. 编写SRS(P0四件套+验收线)
2. 绘制原型草图(核心流程)
3. 制定编码规范
4. 搭建仓库、配置CI、锁定依赖
5. 开发最小骨架(核心文件+API占位)
6. 补充阅读《构建之法》11–15章(技术实践相关)
1. SRS v0.1
2. 项目仓库+CI配置
3. 最小可跑骨架(支持假数据)
4. 读书心得摘要
1. 任务负载均衡:交付成果4个×1.2≈4.8,核心任务6个拆分为“5个核心任务+1个补充阅读”,实际核心任务5个≤4.8,符合缓冲要求;
2. 任务关联度:《构建之法》11-15章与“骨架开发”契合度0.9,移入。
第11周(设计与测试计划) 设计冻结、估时与测试方案 1. 完成架构设计与WBS(接口冻结)
2. 制定测试计划(含数据采集/标注规范/评测脚本接口)
3. 完成任务估时表(按WBS拆分到人天)
1. 架构图+接口契约
2. 任务估时表(含人天分配)
3. 测试计划
1. 任务负载均衡:交付成果3个×1.2≈3.6,核心任务3个≤4,符合要求;
2. 可执行性强化:新增“拆分到人天”要求,使任务颗粒度≤0.5人天/项。
第12周(Alpha冲刺1) 核心模块开发 1. 分配核心模块任务(pose_estimator/tracker/fsm)
2. 每日Scrum(5天)+ 代码提交
3. 模块联调(解决接口适配问题)
1. 核心模块可跑版本
2. 5天Scrum博客
3. 模块联调报告
冲刺周期拆分:原14天冲刺>7天,按“开发-联调-验收”拆分为两段;本阶段为“开发+联调”,周期5天≤7天,符合最佳冲刺时长。
第13周(Alpha冲刺2) 整链打通 1. 开发run.py与API实现
2. 接入真实视频数据测试
3. 完成样例视频四件套
4. 用评测脚本生成指标
1. 可演示的Alpha版本
2. 7天Scrum博客(含前5天补充)
3. 评测结果(具体指标)
冲刺周期拆分:本阶段为“验收+整合”,周期7天≤7天,符合最佳冲刺时长;交付成果与前一阶段衔接,形成“模块-整链”闭环。
第14周(反馈与改进) 稳态与指标优化 1. 小范围试用+收集反馈
2. 性能/鲁棒性优化(按反馈优先级)
3. 调整测试计划与指标阈值
4. 撰写个人/团队总结
1. 改进版Alpha版本
2. 团队+个人总结
3. 反馈处理清单
任务负载均衡:原4个任务拆分“撰写展示博客”到第15周,剩余4个任务≤交付成果3个×1.2≈3.6(预留缓冲后可接受),避免优化与总结并行冲突。
第15周(复盘与展示) 复盘与成果输出 1. 开展事后分析(计划vs实际、风险点、经验教训)
2. 撰写团队展示博客+Postmortem博客
3. 整理指标对照表
1. Postmortem博客
2. 指标对照表
3. 团队展示博客
1. 任务负载均衡:原2个任务合并“撰写展示博客”,共3个任务≤交付成果3个×1.2≈3.6,符合要求;
2. 任务关联度均≥0.8,聚焦“成果输出”核心目标。

3. 矫正计算方法

  • 1. 任务负载均衡公式:单周核心任务数 = 该周“必须交付成果数”×1.2(预留20%缓冲),结果需≤4个;判断标准:>4个拆分,<2个合并。
  • 2. 任务关联度匹配公式:任务关联度=任务与本周核心目标契合度(0-1分),累计契合度≥0.8保留;判断标准:<0.5移出至关联度更高的周。
  • 3. 冲刺周期拆分公式:冲刺周期≤7天最佳,>7天按“开发-联调-验收”拆分为≤7天的小段;判断标准:>10天必须拆分,拆分后每段有独立交付成果。

四、团队分工及每个人完成的情况

姓名 风格 擅长的技术 编程的兴趣 想充当的角色 完成情况
梁子恒 细心 Java前后端开发 Java前后端协同 开发 完成既定任务
阮洪建 细心 Python后端开发 Python后端 测试 完成既定任务
罗锐楚 细心 Python后端 Python后端 救火 完成既定任务
曾子轩 规范 Python后端开发 Python后端 开发 完成既定任务
黄昌龙 规范 后端 后端 测试 完成既定任务
刘江浩 细心 Python后端 Python后端 测试 完成既定任务
程炜东 随机应变 Python后端 Python后端 开发 完成既定任务

五、每个人的感想

姓名 感想
梁子恒 聚焦基于 YOLO 的姿态估计系统技术攻坚,初期开发满是硬核挑战。从优化 YOLO 模型适配姿态关键点检测,到解决遮挡、姿态多变带来的精度难题,每一步都需反复调试参数、验证方案。数据标注规范制定、特征提取逻辑优化,无不是对技术功底的考验。虽常遇卡点,但攻克难题的成就感推着我前行,期待通过持续打磨算法、迭代模型,突破技术瓶颈,让系统在精准度与实时性上实现突破
罗锐楚 优化YOLOv7姿态估计算法的过程,像一场与精度和效率的博弈。调参时,从调整置信度阈值平衡漏检与误检,到优化锚框适配不同体型目标,每一步都在寻找性能拐点;尝试轻量化模型时,剪枝卷积层虽提升了速度,却可能丢失细小关节特征,这种取舍让我明白:好的算法优化不是单向极致,而是像这个项目展现的,在实际场景约束下,找到精度、速度与硬件适配的最佳平衡点。
曾子轩 深入这个YOLOv7姿态估计项目,最触动我的是技术细节与实际需求的碰撞。调试参数时,从帧率波动到关键点漂移,每一处优化都对应着真实场景的痛点;拓展交互功能时,更体会到算法精度与用户体验的平衡艺术。开源项目像一面镜子,既照见技术的可能性,也映出落地的挑战,让我明白做好AI应用,既要钻得进代码,也要看得见场景。
刘江浩 参与YOLOv7姿态估计项目,让我对“技术工具化”有了新认知。从调用预训练模型实现基础检测,到针对运动场景优化参数,再到尝试将结果接入交互系统,每一步都在打破“算法只存在于论文”的刻板印象。当看到足球比赛视频中球员动作被精准拆解时,忽然懂得:好的技术不仅要精准,更要像这个项目一样,以开源姿态降低使用门槛,让更多人能触摸到AI的实用价值。
阮洪建 测试这个YOLOv7姿态估计项目时,最深刻的是对“技术可靠性”的具象认知。从验证不同设备(CPU/GPU)的帧率稳定性,到测试多源输入(视频/摄像头/流)的兼容性,再到极端场景(逆光、快速运动)下的关键点识别精度,每一轮测试都是对“真实可用”的打磨。发现并修复边缘场景的bug时,才真正理解:技术落地的底气,藏在无数次针对性测试筑起的可靠性壁垒里。
程炜东 参与这个YOLOv7姿态估计项目,从代码到功能拓展,深刻感受到开源技术的魅力。它让我在计算机视觉领域实现从理论到实践的跨越,既体会到模型精准检测人体姿态的震撼,也在多场景适配中明白技术落地的不易。这不仅是一次技术实践,更是对AI赋能真实场景的生动见证,激励我继续深耕。
黄昌龙 在参与项目过程中,从最初对姿态估计技术的懵懂,到逐步掌握模型推理、多源输入适配等技能,我真切感受到开源项目在技术学习与实践中的强大助力。看到系统精准标记人体关键点、输出流畅的检测视频时,那种成就感难以言表,也让我更加坚信计算机技术在科研与产业落地中的广阔前景。
posted @ 2025-11-12 22:12  刘江浩  阅读(15)  评论(0)    收藏  举报