# 无人机检测 ONNX 模型推理工具 ## 项目概述 基于ONNX Runtime的无人机目标检测解决方案,支持: - GPU加速推理(需CUDA环境) - 自适应图像预处理流水线(CPU/GPU双模式) - 误报过滤机制(ORB特征匹配) - 多格式检测报告生成(CSV/Excel) ## 项目结构 ``` Model/ ├── src/ # 源代码目录 │ ├── core/ # 核心功能模块 │ │ ├── inference.py # 推理主程序 │ │ ├── feature_extractor.py │ │ └── image_validation.py │ ├── utils/ # 工具函数 │ │ ├── visualizer.py # 可视化工具 │ │ └── dataset.py # 数据集工具 │ └── analysis/ # 分析工具 │ ├── hotspot_analyzer.py │ └── report_generator.py ├── data/ # 数据目录 │ ├── false_positive/ # 误报样本 │ └── models/ # 模型文件 ├── tests/ # 测试目录 ├── outputs/ # 输出目录 └── docs/ # 文档目录 ``` ## 环境要求 - Python 3.8+ - CUDA环境(如需GPU加速) - 依赖库: ```bash pip install -r requirements.txt ``` ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行推理 在项目根目录下运行: #### 使用图形界面(推荐) ```bash python -m src.core.inference --gui ``` #### 单张图片检测 ```bash python -m src.core.inference --input 图片路径 --threshold 0.5 --output results --report excel ``` #### 批量检测目录 ```bash python -m src.core.inference --input 图片目录 --max-bbox-ratio 0.1 --output batch_results --report all ``` ## 参数说明 | 参数 | 类型 | 默认值 | 说明 | |------|------|-------|-----| | --input | path | 必填 | 输入图像路径/目录 | | --threshold | float | 0.45 | 检测置信度阈值 | | --max-bbox-ratio | float | 0.05 | 最大检测框面积比例 | | --output | path | 自动生成 | 输出目录(自动创建) | | --report | [csv/excel/all] | excel | 报告格式 | | --save-empty | flag | False | 保存无检测结果的图像 | | --gui | flag | False | 启用图形界面选择输入目录 | ## 结果输出 输出目录包含: - `目标截图/`:检测到的无人机目标截图 - `检测报告.xlsx`:包含检测时间、置信度、坐标等详细信息 - 带检测框的标注图像 ## 模型管理 - 模型文件位置:`data/models/UAV-250321.onnx` - 模型版本通过文件名自动识别(如:UAV-250321.onnx 版本号为250321) ## 常见问题 Q: 如何启用GPU加速? A: 确保安装onnxruntime-gpu并配置CUDA环境,程序会自动优先使用GPU Q: 误报特征库如何更新? A: 将误报样本放入data/false_positive目录,程序启动时会自动加载 ## 开发指南 1. 代码规范 - 遵循PEP 8编码规范 - 使用类型注解 - 编写单元测试 2. 测试 ```bash # 运行测试 pytest tests/ # 生成测试覆盖率报告 pytest --cov=src tests/ ``` 3. 文档 - 使用Google风格文档字符串 - 保持README.md更新 - 重要功能添加使用示例