【目标检测软件 02】AirsPy 目标检测系统操作指南

目录

一、软件简介

二、功能概览

2.1、多源输入支持

2.2、检测与显示

[2.3 、参数配置](#2.3 、参数配置)

[2.4 、结果管理](#2.4 、结果管理)

[2.5 、模型与配置管理](#2.5 、模型与配置管理)

三、安装与环境要求

3.1、系统要求

3.2、软件依赖

3.3、安装步骤

四、主界面布局

4.1、顶部栏

4.2、左侧功能区

4.3、中间显示区

4.4、右侧信息区

4.5、交互特性

五、功能操作指南

5.1、系统配置(首次使用必做)

5.2、图片文件检测

5.3、视频文件检测

5.4、本地摄像头检测

5.5、网络视频流检测

5.6、检测结果管理

5.7、模型管理

六、配置文件详解

[6.1、config.json 结构](#6.1、config.json 结构)

6.2、关键配置项说明

6.2.1、路径配置

6.2.2、设备配置

6.2.3、检测参数

6.2.4、保存选项

6.3、类别文件格式要求

6.3.1、文件格式

6.3.2、格式要求

6.3.3、示例文件

6.3.4、自定义类别文件

七、软件打包部署

7.1、打包工具介绍

7.2、打包脚本说明

7.2.1、目录打包脚本(build.bat)

7.2.2、单文件打包脚本(build_onefile.bat)

7.3、打包操作

八、常见问题与解决方案

九、版本信息

十、技术支持


一、软件简介

AirsPy 是一款基于Python 与 PyQt5 开发的图形化目标检测应用,专为科研、教学、工业质检及安防监控等场景设计。该软件以 YOLO 系列模型为核心,支持加载 .pt 或 ONNX 格式 的目标检测模型,对图像、视频、本地摄像头及网络流媒体进行实时推理,并以直观的方式可视化检测结果。

本系统具备友好的用户界面、灵活的参数配置能力、多源输入兼容性以及完善的检测结果管理机制。用户无需编写代码即可完成从模型部署到结果导出的全流程操作。同时,软件架构清晰,支持在此基础上进行二次开发与功能拓展。

软件界面展示:

二、功能概览

AirsPy 集成了以下核心功能模块,满足多样化目标检测需求:

2.1、多源输入支持

  • 图片文件夹批量检测:自动遍历指定文件夹内所有图像(支持 .jpg、.png、.jpeg 等格式)
  • 本地视频文件检测:支持 .mp4、.avi、.h264、.h265 等主流视频格式
  • 本地摄像头实时检测:调用计算机内置或外接 USB 摄像头进行连续推理
  • RTSP 视频流检测:接入网络摄像机(如海康、大华)的 RTSP 地址
  • HTTP 视频流检测:支持 MJPEG 或直接 MP4 流的 HTTP/HTTPS 视频链接

2.2、检测与显示

  • 实时目标检测与边界框绘制
  • 显示类别名称、置信度分数及坐标信息
  • 支持鼠标悬停交互:当光标位于检测框内时,右侧信息区自动显示该目标详情
  • 表格化记录每帧/每图的完整检测结果

2.3 、参数配置

  • IoU 阈值(交并比):控制非极大值抑制(NMS)的严格程度(范围 0.01--1.00)
  • **置信度阈值:**过滤低可信度预测(范围 0.01--1.00)
  • **帧间隔:**在视频或摄像头模式下设置跳帧频率(1--100 帧),平衡性能与精度
  • 所有参数支持 运行时动态调整,即时生效

2.4 、结果管理

  • 自动保存检测画面:生成带检测框的图像或视频文件
  • 自动生成结构化表格:导出为 Excel(.xlsx)格式,包含目标类别、坐标、置信度、原文件路径、检测保存文件路径等字段
  • 结果导入/导出:可加载历史检测数据进行回溯分析
  • 结果导航:通过"上一张/下一张"按钮或点击表格行快速切换查看对应画面

2.5 、模型与配置管理

  • 支持 .pt / .onnx 模型文件
  • 提供 模型转换工具(convert_pt_to_onnx.py),便于部署优化
  • 配置文件(config.json)自动保存与加载,支持一键复用工作环境
  • 类别文件采用 JSON 格式,键为英文类别名,值为中文显示名,便于本地化

三、安装与环境要求

3.1、系统要求

项目 要求
操作系统 Windows 10/11(推荐 64 位)、Ubuntu 20.04+、macOS 12+
CPU Intel Core i5 或更高(建议支持 AVX2 指令集)
内存 ≥16 GB
GPU(支持) NVIDIA 显卡,支持 CUDA 11+(如 RTX 3060/4060 及以上)

GPU 非必需,但如果硬件支持可显著提升推理速度。

3.2、软件依赖

  • Python 版本:3.11(推荐)
  • 核心依赖包 (详见 requirements.txt):
    • PyQt5 ≥ 5.15
    • OpenCV-Python (cv2)
    • NumPy
    • ONNX Runtime(CPU 或 GPU 版)
    • Ultralytics 8.3.160(用于 .pt 模型加载)
    • Pandas、openpyxl(用于 Excel 导出)

3.3、安装步骤

操作步骤如下:

Python 下载地址 www.python.org

下载完成,直接点击安装。

使用PyCharm IDE 打开工程,创建虚拟环境。

安装依赖库

安装完成 python 解析器会显示所有依赖库

四、主界面布局

AirsPy 主窗口采用三栏式布局,结构清晰,操作便捷。

4.1、顶部栏

  • 系统标题:居中显示 "YOLO识别系统"
  • 窗口控制按钮:右上角提供最小化(Ctrl+M)、最大化/还原(Ctrl+F)、关闭(Alt+F4)功能

4.2、左侧功能区

包含三大子区域:

(1)功能按钮区(快捷键支持)

  • 系统配置(Ctrl+S):打开参数设置对话框
  • 图片文件(Ctrl+I):选择图像文件夹
  • 视频文件(Ctrl+V):选择本地视频
  • 网络视频(Ctrl+H):输入 HTTP 视频流地址
  • 本地摄像(Ctrl+C):启用本地摄像头
  • 远程摄像(Ctrl+R):输入 RTSP 流地址

(2)系统信息显示区

实时展示当前状态:

  • 模型文件:当前加载的模型名称
  • 抑制 IoU:当前 IoU 阈值
  • 置信度 Conf:当前置信度阈值
  • 类别数:类别文件中定义的类别总数
  • 文件数:当前选中的媒体文件数量

(3)控制按钮区

  • 上一张(Ctrl+←):切换至上一条检测结果
  • 运行/暂停(Ctrl+Space):启动或暂停检测
  • 停止(Ctrl+Q):终止当前任务
  • 下一张(Ctrl+→):切换至下一条检测结果
  • 导入(Ctrl+E):加载历史 Excel 检测结果
  • 导出(Ctrl+O):将当前结果保存为 Excel 文件

4.3、中间显示区

  • 视频/图像显示区域:主画面展示带检测框的实时或静态内容
  • 检测结果表格:下方表格列出所有检测记录,支持点击选中行高亮对应画面

4.4、右侧信息区

  • 目标信息:显示当前鼠标悬停目标的类别名称与置信度
  • 位置信息:精确坐标(xmin, ymin, xmax, ymax)
  • 进度可视化:圆形进度条动态显示检测完成比例

4.5、交互特性

  • 窗口拖拽:在非边框区域按住左键可移动窗口
  • 窗口缩放:边缘或角落可调整大小
  • 表格联动:点击表格行 → 自动定位并显示对应检测画面
  • 悬停提示:鼠标移至检测框内 → 右侧实时更新目标信息

窗口拖拽

窗口缩放:

五、功能操作指南

5.1、系统配置(首次使用必做)

  • 点击 "系统配置" 按钮
  • 模型配置
    • 点击"打开",选择 .pt.onnx 模型文件
    • 成功后主界面"模型文件"区域显示文件名
  • 类别文件配置
    • 选择 JSON 格式类别文件(格式见第6章)
    • 系统自动解析并更新"类别数"
  • 参数调节
    • 拖动滑块或直接输入数值设置 IoU(范围:0.01-1.00)、置信度(范围:0.01-1.00)、帧间隔(范围:1-100帧)
  • 保存选项
    • 勾选"图片/视频"和/或"表格"以启用自动保存
  • 关闭窗口,配置自动写入 config.json

操作展示

1、点击"系统配置",选择模型、类文件、设置IoU、置信度、帧间隔、勾选"图片/视频"和/或"表格"

2、展示系统设置

5.2、图片文件检测

  • 点击 "图片文件" → 选择包含图像的文件夹
  • 点击 "运行" 开始批量检测
  • 检测过程中:
    • 中间区域逐张显示结果
    • 表格实时追加记录
    • 进度条反映完成比例
  • 可随时 暂停/恢复/停止
  • 完成后,结果自动保存(若启用)

操作展示

1、选择图片文件夹

2、展示图片文件数

3、图片检测结果

4、自动保存的检测图片、表格

5、鼠标移动目标检测框,光标成十字光标,同时在右侧显示目标信息。

6、上下按钮切换或者表格选中行,自动展示检测的对应检测图片

5.3、视频文件检测

  • 点击 "视频文件" → 选择视频
  • 点击 "运行" 开始检测
  • 系统按"帧间隔"跳帧处理,其余帧正常播放(无检测)
  • 支持全程暂停、停止、结果导航

操作展示

1、选择视频文件

2、显示文件数

3、开始运行、显示检测进程、检测结果

4、检测过程可以按暂停或者停止检测键。暂停或者停止播放后也可以支持鼠标悬停显示目标信息。

5、检测结果保存

6、播放检测保存的视频效果

5.4、本地摄像头检测

  • 点击 "本地摄像"
  • 若存在多个设备,弹出选择对话框 → 选择摄像头 ID
  • 点击 "运行" 启动实时检测
  • 可在运行中动态调整参数,效果即时体现

操作展示

1、找到一个本地摄像头

2、找到多个本地摄像头

3、开始播放摄像头、本地视频没有进度显示

4、摄像头检测保存

5、播放摄像头检测保存视频

5.5、网络视频流检测

  • HTTP 流 :点击"网络视频" → 输入如 http://ip:port/video.mp4
  • RTSP 流 :点击"远程摄像" → 输入如 rtsp://user:pass@ip:554/stream
  • 系统尝试连接,成功后点击"运行"开始检测
  • 具备基础断线重连机制

操作展示

1、填写http视频URL

2、开始或暂停或停止播放http视频,暂停或停止播放时也支持鼠标悬停目标信息显示

3、保存检测结果

4、播放检测http检测保存的视频效果

5、RTSP 同样的操作步骤

6、RTSP 播放效果,没有进度显示,同样支持鼠标悬停显示,上下键和表格选中行。

7、RTSP 检测保存的视频名称规则跟HTTP一致。

8、RTSP 检测视频播放

5.6、检测结果管理

  • 查看:表格中每行包含编号、目标数、详细结果、原始路径、保存路径
  • 导航:使用"上一张/下一张"或点击表格行切换画面
  • 导出:点击"导出" → 选择路径 → 生成带格式的 Excel 文件
  • 导入:加载历史 Excel → 数据回填至表格,支持回看

操作展示

1、导出检测结果成 Excel 文件

2、查看导出的Excel 文件,包含编码、检测数、检测结果、原文件路径、检测文件路径

3、导入,选中之前保存的Excel 文件作为导入文件。

4、导航查看、使用"上一张/下一张"或点击表格行切换画面

5.7、模型管理

  • 切换模型:重新打开配置窗口,选择新模型文件即可
  • 模型转换 :运行 convert_pt_to_onnx.py 将 .pt 转为 .onnx(提升部署效率)
  • 性能提示:首次加载较慢,后续使用缓存;GPU 可用时自动加速

操作展示

1、模型格式转换

六、配置文件详解

6.1、config.json 结构

软件使用JSON格式的配置文件(config.json)保存所有用户设置,位于软件根目录。

复制代码
{
    "model_path": "model/yolov8s.onnx",
    "class_file_path": "model/class.json",
    "img_path": "media/img/",
    "video_path": "media/video/",
    "http_url": "http://example.com/stream.mp4",
    "rtsp_url": "rtsp://192.168.1.64:554/stream",
    "camera_id": 0,
    "iou_threshold": 0.75,
    "conf_threshold": 0.25,
    "frame_interval": 10,
    "save_media": true,
    "save_table": true
}

6.2、关键配置项说明

6.2.1、路径配置

  • model_path:模型文件的绝对路径,支持.pt和.onnx格式

  • class_file_path:类别定义JSON文件路径,格式要求见下文

  • img_path:默认图片文件夹路径,用于快速选择图片文件夹

  • video_path:默认视频文件路径,用于快速选择视频文件

6.2.2、设备配置

  • camera_id:默认摄像头ID,0表示第一个可用摄像头

  • http_url:默认HTTP视频流URL,用于快速配置网络视频

  • rtsp_url:默认RTSP视频流URL,用于快速配置远程摄像

6.2.3、检测参数

  • iou_threshold:交并比阈值,范围0.01-1.00,默认0.75

  • conf_threshold:置信度阈值,范围0.01-1.00,默认0.5

  • frame_interval:视频帧采样间隔,正整数,默认10

6.2.4、保存选项

  • save_media:是否自动保存处理后的媒体文件,布尔值

  • save_table:是否自动保存检测结果为Excel,布尔值

6.3、类别文件格式要求

6.3.1、文件格式

类别文件必须是JSON格式的字典文件,基本结构如下:

复制代码
json

{
    "key1": "value1",
    "key2": "value2",
    ...
}

6.3.2、格式要求

键值对应关系

  • 键(key):英文类别名称,必须与训练模型时使用的类别名完全一致
  • 值(value):中文类别名称,显示在软件界面中

顺序要求

  • 字典的顺序必须与训练模型的类别顺序完全对应
  • 例如COCO数据集的80个类别,第一个是"person",那么字典的第一个键必须是"person"

完整性要求

  • 必须包含模型支持的所有类别
  • 不能缺少任何类别,否则可能导致显示错误
  • 可以包含额外的类别,但多余的类别不会被使用

6.3.3、示例文件

COCO数据集80类别示例(前几个类别):

复制代码
json

{
    "person": "人",
    "bicycle": "自行车",
    "car": "汽车",
    "motorcycle": "摩托车",
    "airplane": "飞机",
    "bus": "公共汽车",
    "train": "火车",
    "truck": "卡车",
    "boat": "船",
    "traffic light": "交通灯",
    "fire hydrant": "消防栓",
    "stop sign": "停车标志",
    "parking meter": "停车计时器",
    "bench": "长椅",
    "bird": "鸟",
    "cat": "猫",
    "dog": "狗",
    "horse": "马",
    "sheep": "羊",
    "cow": "牛",
    "...": "其余类别..."
}

6.3.4、自定义类别文件

对于自定义训练的模型,需要根据训练时使用的类别创建对应的类别文件:

创建步骤

  1. 获取训练模型的类别列表(按顺序)

  2. 为每个类别准备英文名称和中文翻译

  3. 按照训练顺序创建JSON字典

  4. 保存为UTF-8编码的JSON文件

验证方法

  1. 在软件中加载类别文件

  2. 查看显示的类别数量是否正确

  3. 测试检测结果的中文显示是否正常

七、软件打包部署

7.1、打包工具介绍

软件使用PyInstaller工具进行打包,将Python脚本和相关资源打包成可执行文件,方便在没有Python环境的计算机上使用。

7.2、打包脚本说明

7.2.1、目录打包脚本(build.bat)

此脚本生成一个包含所有依赖文件的目录结构,适合需要灵活部署的场景。

脚本内容

复制代码
pyinstaller --name=AirsPyqt5v1.0 --windowed --onedir ^
    --add-data="config.json;." ^
    --icon=./ui/icons/logo.ico ^
    --distpath=../version/AirsPyqt5v1.0/onedir/dist ^
    --workpath=../version/AirsPyqt5v1.0/onedir/build ^
    --specpath=. ^
    --hidden-import=PyQt5.QtCore ^
    --hidden-import=PyQt5.QtGui ^
    --hidden-import=PyQt5.QtWidgets ^
    --hidden-import=cv2 ^
    main.py

pause

参数说明

  • --name:指定生成的可执行文件名称

  • --windowed:不显示控制台窗口(纯图形界面)

  • --onedir:打包为目录形式(多个文件)

  • --add-data:添加额外的数据文件(配置文件)

  • --icon:设置应用程序图标

  • --distpath:指定输出目录路径

  • --hidden-import:显式包含可能自动检测不到的模块

输出结果

生成一个包含以下内容的目录:

复制代码
text

dist/AirsPyqt5v1.0/
├── AirsPyqt5v1.0.exe    # 主可执行文件
├── config.json          # 配置文件
├── _internal/           # 依赖库目录
│   ├── PyQt5/
│   ├── cv2/
│   ├── ultralytics/
│   └── 其他依赖库...
└── 其他运行时文件...

7.2.2、单文件打包脚本(build_onefile.bat)

此脚本生成单个可执行文件,适合简单分发和部署。

脚本内容

复制代码
pyinstaller --name=AirsPyqt5v1.0 --windowed --onefile ^
    --add-data="config.json;." ^
    --icon=./ui/icons/logo.ico ^
    --distpath=../version/AirsPyqt5v1.0/onefile/dist ^
    --workpath=../version/AirsPyqt5v1.0/onefile/build ^
    --specpath=. ^
    main.py

pause

参数说明

  • --onefile:打包为单个可执行文件

  • 其他参数与目录打包相同

输出结果

生成单个可执行文件:

复制代码
text

dist/AirsPyqt5v1.0.exe

特点

  • 所有依赖都打包在一个文件中

  • 启动时需要解压到临时目录

  • 文件体积较大但部署简单

7.3、打包操作

八、常见问题与解决方案

问题现象 可能原因 解决方案
模型加载失败 路径含中文/空格;文件损坏;格式不支持 使用纯英文路径;验证模型完整性;确认为 .pt 或 .onnx
摄像头无法打开 被其他程序占用;ID 错误 关闭微信、Zoom 等;在配置中修改 camera_id 为 1 或 2
RTSP 连接超时 网络不通;账号密码错误;端口阻塞 用 VLC 测试流是否可达;检查防火墙设置
检测框无标签 未加载类别文件;类别数不匹配 加载正确的 class.json;确保类别数量与模型一致
软件运行卡顿 帧间隔过小;未使用 ONNX;硬件不足 提高帧间隔(如设为 10);转换为 ONNX 模型;关闭保存功能

九、版本信息

  • 软件名称:AirsPy YOLO 目标检测系统
  • 版本号:v1.0
  • 最后更新日期:2024 年 12 月
  • 版本特性:基础功能完整,支持多种检测模式和结果管理

十、技术支持

如遇无法解决的问题,或需定制开发服务,请联系:

  • QQ:1029421735

视频演示:

https://www.bilibili.com/video/BV18VqSB7ETz/?share_source=copy_web\&vd_source=814d88cbf7c14e8a7604ad564517469a

软件地址:

目标检测软件AirsPy (YOLO识别)

相关推荐
kimi-2222 小时前
LangChain 中 Prompt 模板
人工智能
米有哥2 小时前
[Embodied AI] Mac上安装ROS2
人工智能·macos·ros2
爱笑的眼睛112 小时前
JAX 函数变换:超越传统自动微分的编程范式革命
java·人工智能·python·ai
Wuhan87827211m2 小时前
鬃毛形态识别与分类:基于YOLOv8的PST方法
yolo·分类·数据挖掘
CoovallyAIHub2 小时前
无人机低空视觉数据集全景解读:从单机感知到具身智能的跨越
深度学习·算法·计算机视觉
黑客思维者2 小时前
机器学习014:监督学习【分类算法】(逻辑回归)-- 一个“是与非”的智慧分类器
人工智能·学习·机器学习·分类·回归·逻辑回归·监督学习
安思派Anspire2 小时前
AI智能体:完整课程(高级)
人工智能
540_5402 小时前
ADVANCE Day27
人工智能·python·机器学习
北邮刘老师2 小时前
马斯克的梦想与棋盘:空天地一体的智能体互联网
数据库·人工智能·架构·大模型·智能体·智能体互联网