无人机探测模型性能测试工具

Hannnk b980049e57 chore: 移除.gitignore中的多余空行 3 viikkoa sitten
.idea 2264ad142d feat: 添加ONNX模型推理工具及误报过滤功能 3 viikkoa sitten
.vscode 2264ad142d feat: 添加ONNX模型推理工具及误报过滤功能 3 viikkoa sitten
Data 2264ad142d feat: 添加ONNX模型推理工具及误报过滤功能 3 viikkoa sitten
Output 073811a914 删除了多个输出结果文件和误报特征库文件,并更新了推理程序以加载新的特征库路径。此更改旨在清理项目并确保文件结构的合理性。 3 viikkoa sitten
__pycache__ 2264ad142d feat: 添加ONNX模型推理工具及误报过滤功能 3 viikkoa sitten
src 073811a914 删除了多个输出结果文件和误报特征库文件,并更新了推理程序以加载新的特征库路径。此更改旨在清理项目并确保文件结构的合理性。 3 viikkoa sitten
tests d23087c3ed refactor: 重构项目结构并优化代码组织 3 viikkoa sitten
.gitignore b980049e57 chore: 移除.gitignore中的多余空行 3 viikkoa sitten
README.md 073811a914 删除了多个输出结果文件和误报特征库文件,并更新了推理程序以加载新的特征库路径。此更改旨在清理项目并确保文件结构的合理性。 3 viikkoa sitten
evaluation.txt 2264ad142d feat: 添加ONNX模型推理工具及误报过滤功能 3 viikkoa sitten
move_files.py 073811a914 删除了多个输出结果文件和误报特征库文件,并更新了推理程序以加载新的特征库路径。此更改旨在清理项目并确保文件结构的合理性。 3 viikkoa sitten
reorganize.py d23087c3ed refactor: 重构项目结构并优化代码组织 3 viikkoa sitten
requirements.txt d23087c3ed refactor: 重构项目结构并优化代码组织 3 viikkoa sitten

README.md

无人机检测 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加速)
  • 依赖库:

    pip install -r requirements.txt
    

    快速开始

    1. 安装依赖

    pip install -r requirements.txt
    

2. 运行推理

在项目根目录下运行:

使用图形界面(推荐)

python -m src.core.inference --gui

单张图片检测

python -m src.core.inference --input 图片路径 --threshold 0.5 --output results --report excel

批量检测目录

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/ ```

  1. 文档
    • 使用Google风格文档字符串
    • 保持README.md更新
    • 重要功能添加使用示例