meteor_detect/PRD.md

10 KiB
Raw Blame History

流星监控系统 - 产品需求文档 (PRD)

1. 产品概述

1.1 产品愿景

构建一个基于树莓派的智能流星监测系统,为天文爱好者、科研机构和天文台提供专业级的流星观测和数据收集解决方案。

1.2 产品定位

  • 目标市场: 天文爱好者、天文台、科研院所、流星观测网络
  • 产品类别: 嵌入式天文观测设备
  • 技术定位: 实时计算机视觉 + 精密天文定位

1.3 核心价值主张

  • 24/7全天候监控: 无人值守的连续流星监测
  • 专业级精度: GPS授时 + 星图解算提供精确时空定位
  • 智能检测: 基于机器视觉的自动流星识别与分类
  • 网络化协作: 支持多点联网观测和数据共享

2. 产品功能需求

2.1 核心功能模块

2.1.1 视频采集系统

功能描述: 提供高质量的天空视频采集能力

  • 实时视频流: 支持星光级摄像头30fps高帧率采集
  • 自适应参数: 根据光照条件自动调整曝光、增益等参数
  • 多输入模式:
    • 实时摄像头采集 (生产环境)
    • 视频文件输入 (测试/回放模式)
  • 质量控制:
    • 分辨率支持: 720p/1080p/4K
    • 帧率可配置: 15-60fps
    • 视频编码: H.264压缩存储

验收标准:

  • 连续运行24小时无丢帧
  • 在不同光照条件下自动参数调整时间 < 2秒
  • 视频质量满足流星检测算法精度要求

2.1.2 智能检测引擎

功能描述: 基于计算机视觉的实时流星检测

  • 多算法支持:
    • 亮度变化检测 (快速检测)
    • 背景差分算法 (精确检测)
    • CAMS标准检测 (兼容性)
    • 帧叠加降噪 (增强检测)
  • 实时处理: 检测延迟 < 100ms
  • 智能过滤:
    • 飞机航迹过滤
    • 云层干扰排除
    • 虫子等近距离物体排除
  • 可配置参数:
    • 检测灵敏度: 0.1-1.0
    • 最小轨迹长度: 像素数
    • 持续时间阈值: 0.1-5秒

验收标准:

  • 检测准确率 > 90%
  • 误报率 < 5%
  • 检测延迟 < 100ms
  • 支持并行多算法检测

2.1.3 精准定位系统

功能描述: 提供精确的时间和空间定位

  • GPS时间同步:
    • 纳秒级时间精度 (PPS信号)
    • NMEA协议支持
    • 自动时区处理
  • 地理位置定位:
    • 经纬度坐标 (精度 < 3米)
    • 海拔高度信息
    • 磁偏角补偿
  • 星图解算:
    • astrometry.net集成
    • 实时天区识别
    • 星等标定

验收标准:

  • GPS定位精度 < 3米
  • 时间同步精度 < 1微秒
  • 星图解算成功率 > 80%
  • 解算时间 < 30秒

2.1.4 数据管理系统

功能描述: 流星事件的完整数据管理

  • 事件存储:
    • 视频片段 (事件前后10秒)
    • 原始帧序列 (JPEG格式)
    • 元数据 (JSON格式)
  • 存储策略:
    • 环形缓存 (最近N小时数据)
    • 自动清理 (基于存储空间和时间)
    • 压缩存储 (节省磁盘空间)
  • 数据格式:
    • 视频: MP4 (H.264编码)
    • 图像: JPEG (可配置质量)
    • 元数据: JSON (包含GPS、传感器、检测参数)

验收标准:

  • 存储空间利用率 > 85%
  • 数据检索时间 < 1秒
  • 支持最大存储容量 1TB+
  • 零数据丢失 (关键事件)

2.1.5 远程监控系统

功能描述: 支持远程监控和控制

  • 实时流传输:
    • RTSP协议支持
    • 多客户端并发访问
    • 可配置码率和分辨率
  • 远程控制接口:
    • HTTP REST API
    • MQTT协议支持
    • 实时状态推送
  • Web管理界面:
    • 系统状态监控
    • 参数配置管理
    • 历史数据查看
    • 事件统计分析

验收标准:

  • RTSP流延迟 < 500ms
  • API响应时间 < 100ms
  • 支持至少5个并发客户端
  • Web界面兼容主流浏览器

2.2 增强功能模块

2.2.1 环境监测系统

功能描述: 监测观测环境条件

  • 气象传感器:
    • 温度/湿度 (DHT22)
    • 光照强度 (基于摄像头或光敏传感器)
  • 系统监控:
    • CPU/内存使用率
    • 存储空间状态
    • 网络连接状态
    • 设备温度监控

2.2.2 视频增强系统

功能描述: 提供视频输出的增强功能

  • 水印叠加:
    • 时间戳 (可配置格式)
    • GPS坐标显示
    • 环境数据 (温度、湿度)
    • 设备方向信息
  • 星图叠加:
    • 实时星图显示
    • 星座线条绘制
    • 主要天体标注
    • 天区网格显示

2.2.3 网络协作系统

功能描述: 支持多设备协作观测

  • 数据同步:
    • 事件数据上传云端
    • 多站点观测数据关联
    • 轨道计算协作
  • 标准协议支持:
    • CAMS FTP格式兼容
    • IMO (国际流星组织) 数据格式
    • 自定义API接口

3. 技术需求

3.1 硬件要求

3.1.1 核心硬件

  • 计算平台: 树莓派 4B/5 (推荐 8GB RAM)
  • 摄像头: 星光级CMOS传感器 (IMX477/IMX462)
  • 存储: 高速microSD 64GB+ 或 USB3.0 SSD
  • 网络: 以太网/WiFi双网络支持

3.1.2 可选硬件

  • GPS模块: 支持PPS输出的GPS接收器
  • 传感器: DHT22温湿度传感器
  • 电源: 不间断电源(UPS)支持

3.2 软件环境

  • 操作系统: Raspberry Pi OS / Ubuntu 20.04+
  • 运行时: Rust 1.70+ / Tokio异步运行时
  • 依赖库: OpenCV 4.x, FFmpeg, astrometry.net
  • 数据库: SQLite 3 (本地) + 可选云数据库

3.3 性能指标

  • 检测延迟: < 100ms (实时检测)
  • 系统响应: < 500ms (用户界面)
  • 连续运行: > 30天 (无人值守)
  • 数据处理: > 1000 事件/日 (高活跃期)

4. 用户体验需求

4.1 安装部署

  • 一键安装: 提供自动化安装脚本
  • 配置向导: 图形化或命令行配置工具
  • 硬件检测: 自动检测和配置硬件设备
  • 文档支持: 详细的安装和配置文档

4.2 日常使用

  • 零维护运行: 自动故障恢复和系统优化
  • 智能告警: 关键事件和系统异常及时通知
  • 简单配置: 主要参数通过Web界面或配置文件调整
  • 状态透明: 实时显示系统运行状态和统计信息

4.3 数据访问

  • 多种访问方式: Web界面、API、直接文件访问
  • 数据导出: 支持多种标准格式导出
  • 快速检索: 基于时间、位置、事件类型的快速搜索
  • 数据备份: 自动或手动备份重要观测数据

5. 质量需求

5.1 可靠性

  • 系统稳定性: MTBF > 720小时 (30天)
  • 数据完整性: 关键事件数据零丢失
  • 自动恢复: 软件故障30秒内自动恢复
  • 错误处理: 优雅处理所有异常情况

5.2 性能

  • 实时处理: 检测处理能力 > 30fps
  • 资源使用: CPU使用率 < 80% (平均负载)
  • 内存管理: 内存使用 < 2GB (8GB系统)
  • 存储效率: 压缩比 > 50% (不影响检测精度)

5.3 可扩展性

  • 模块化设计: 支持功能模块独立升级
  • 插件架构: 支持第三方检测算法插件
  • 多设备协作: 支持10+ 设备网络部署
  • 云端集成: 支持多种云服务平台集成

5.4 安全性

  • 网络安全: 所有外部通信支持TLS加密
  • 访问控制: API访问需要身份认证和授权
  • 数据保护: 本地数据加密存储可选
  • 更新安全: 系统更新包数字签名验证

6. 合规性需求

6.1 开源协议

  • MIT许可证: 代码采用MIT开源许可证
  • 第三方库: 兼容所有依赖库的许可证要求
  • 文档开放: 技术文档采用知识共享协议

6.2 标准兼容

  • CAMS格式: 兼容CAMS网络数据格式
  • NMEA协议: 完整支持GPS NMEA协议
  • 视频标准: 输出标准H.264/MP4格式

7. 项目约束

7.1 技术约束

  • 硬件平台: 主要针对ARM64架构优化
  • 编程语言: 使用Rust语言开发 (性能和安全考虑)
  • 依赖管理: 最小化外部依赖优先使用Rust生态
  • 跨平台: 支持Linux/macOS开发和测试

7.2 资源约束

  • 开发团队: 小团队开发,重视代码质量和文档
  • 维护成本: 设计简单易维护的架构
  • 硬件成本: 控制单套设备成本 < 500美元

7.3 时间约束

  • 迭代开发: 采用敏捷开发,每月发布新版本
  • 功能优先级: 核心功能优先,增强功能后续迭代
  • 文档同步: 功能开发与文档编写并行进行

8. 验收标准

8.1 功能验收

  • 连续运行30天无重大故障
  • 检测准确率达到90%以上
  • 所有API接口100%可用
  • Web界面所有功能正常

8.2 性能验收

  • 检测延迟 < 100ms
  • 系统资源使用率在合理范围
  • 网络传输稳定可靠
  • 存储管理自动化运行

8.3 用户体验验收

  • 安装部署时间 < 30分钟
  • 主要功能配置时间 < 10分钟
  • 用户文档覆盖所有功能
  • 常见问题有明确解决方案

9. 风险评估

9.1 技术风险

  • 硬件兼容性: 不同摄像头和传感器兼容性问题
  • 算法精度: 检测算法在不同环境下的鲁棒性
  • 性能瓶颈: 树莓派硬件性能限制

9.2 市场风险

  • 用户接受度: 天文爱好者对技术产品的接受程度
  • 竞争产品: 现有商业解决方案的竞争压力
  • 维护支持: 长期技术支持和社区建设

9.3 风险缓解

  • 充分测试: 多环境、多硬件配置测试
  • 社区建设: 建立用户社区和反馈机制
  • 文档完善: 提供详细的技术文档和教程
  • 开源优势: 利用开源社区力量进行改进

10. 成功指标

10.1 技术指标

  • 检测精度: > 90% 准确率
  • 系统可用性: > 99% 正常运行时间
  • 处理性能: 支持30fps实时检测
  • 数据质量: < 1% 数据丢失率

10.2 用户指标

  • 用户满意度: > 4.5/5.0 评分
  • 社区活跃度: > 100 活跃用户/月
  • 问题解决: < 24小时 响应时间
  • 功能使用: > 80% 核心功能使用率

10.3 项目指标

  • 代码质量: > 90% 代码覆盖率
  • 文档完整: 100% 功能文档覆盖
  • 发布节奏: 每月一个版本发布
  • 社区贡献: > 10 外部贡献者

此PRD文档将随着项目进展持续更新和完善