README.md 2.5 KB

无人机检测 ONNX 模型推理工具

项目概述

基于ONNX Runtime的无人机目标检测解决方案,支持:

  • GPU加速推理(需CUDA环境)
  • 自适应图像预处理流水线(CPU/GPU双模式)
  • 误报过滤机制(ORB特征匹配)
  • 多格式检测报告生成(CSV/Excel)

项目结构

Model/
├── src/                    # 源代码目录
│   ├── core/              # 核心功能模块
│   ├── utils/             # 工具函数
│   └── analysis/          # 分析工具
├── configs/               # 配置文件目录
├── data/                  # 数据目录
│   ├── false_positive/   # 误报样本
│   └── models/           # 模型文件
├── tests/                # 测试目录
├── outputs/              # 输出目录
└── docs/                 # 文档目录

环境要求

  • Python 3.8+
  • 依赖库:

    pip install -r requirements.txt
    

    快速开始

    # 单张图片检测
    python src/core/inference.py --input test.jpg --threshold 0.5 \
    --output results --report excel
    
    # 批量检测目录
    python src/core/inference.py --input UAV/ --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 保存无检测结果的图像

结果输出

输出目录包含:

  • 目标截图/:检测到的无人机目标截图
  • 检测报告.xlsx:包含检测时间、置信度、坐标等详细信息
  • 带检测框的标注图像

模型管理

模型版本通过文件名自动识别(如: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更新
    • 重要功能添加使用示例