亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

基于AI计算机视觉的鲁棒无人机检测与追踪

摘要

随着技术创新,安全成为亟待处理的最大问题。无人机指数级普及对公共安全构成巨大威胁。近年来无人机使用激增。针对安全隐患,提出一种解决方案:首先检测无人机,再追踪其路径。

对于目标检测,计算机视觉深度学习算法极为有效。输入经YOLO处理,YOLO是用于实时目标检测和追踪的神经网络。

2.1 理解无人机概念

根据标题“计算机视觉无人机检测与追踪”,UAV(无人驾驶飞行器)是无飞行员航空器,可远程控制或由机载计算机控制。 基于AI计算机视觉的鲁棒无人机检测与追踪

无人机可用于农业、科研、气象预报、物流配送、救援行动、医疗等有益用途。也可用于攻击、导弹袭击、定点清除等破坏性目的。

2.2 什么是计算机视觉?

计算机视觉是使计算机像人眼视觉一样看见、识别和处理图像并提供适当输出的科学领域。计算机视觉几乎用于所有领域:

2.3 什么是图像处理技术?

图像处理技术被计算机视觉用于执行不同任务。对图像栈执行的操作和应用的方法,以提高图像质量或获得特定结果,称为图像处理。

图像处理被认为是当今信息技术领域发展最快的领域之一,在商业各领域应用不断增长。图像处理应用:

图像处理用例

图像处理可用于这些领域:

3. 目标检测算法

存在许多目标检测算法。其中几个如下:

表3.1:检测算法

算法 描述 优势 劣势
Viola-Jones (Viola-Jones算法由Paul Viola和Michael Jones于2001年设计) 主要目的人脸和目标检测。可实时检测目标。输入图像时算法查看较小子区域,通过观察每个子区域特殊特征寻找目标。Viola-Jones算法使用Haar-like特征检测目标
  1. 鲁棒
  2. 极高检测率
  3. 使用不同分类器各看图像不同部分
  4. 快速
  5. 擅长检测边缘和线条
  1. 无法检测倾斜或转向人脸
  2. 对光照条件敏感
  3. 无法检测移动目标
CNN (卷积神经网络) 1980年由福岛邦彦提出 生物启发分层模型,可训练执行多种检测、识别和分割。基本是深度学习算法,接收图像输入,给图像中目标分配可学习权重和偏置,区分不同目标
  1. 通过训练确定特征(自由度更高)
  2. 使用单一分类器观察整幅图像
  3. 应用矩阵运算
  4. 准确
  1. 需要大数据集
  2. 昂贵
YOLO (You Only Look Once) 实时检测算法。将神经网络算法应用于图像,将图像划分为S x S网格,在图像周围建立边界框并预测每个边界框可能性。使用回归。
  1. 可在同一图像检测多目标
  2. 实时执行
  3. 超快
  4. 高性能
  5. 无背景误差
1. 每个网格单元仅检测一个目标。

2. 偏向高性能而非准确度。

SSD (Single Shot Detector) 该方法仅单次拍摄检测多目标,速度极快。专为实时实现设计。包含主干网络和SSD头两组件。
  1. 计算时间较高
  2. 高准确度
  3. 精确度权衡适中
  1. 大目标表现好但小目标性能下降
  2. 端到端检测太慢
  3. 计算开销大

此处将使用YOLO神经网络算法。该算法实时实现极快。使用神经网络算法将图像分为S x S网格,在图像周围建立边界框预测每个边界框可能性。检测算法见表4.4。

3.1 追踪算法

检测目标后,下一重点是追踪。若检测目标是风筝或鸟无需追踪,但若是无人机则需追踪目标。

许多算法用于目标追踪。但再次使用YOLO,因该算法快且准,能检测并追踪直到目标移出相机范围。

4. 拟议设计实现

此处为拟议设计实现。执行在软件上运行项目所需所有步骤。

4.1 初始阶段

  1. 图像处理需好CPU/GPU,选CPU。从网站安装Anaconda Anaconda安装见图4.1 基于AI计算机视觉的鲁棒无人机检测与追踪
  2. 安装Anaconda Navigator后,通过环境对话框创建环境并选择Python版本。

  3. 成功创建环境后,下一步安装Spyder(易用)。再通过命令pip install cv2安装OpenCV。 基于AI计算机视觉的鲁棒无人机检测与追踪

4.2 准备数据集

  1. 收集大量不同空中目标图像:无人机、鸟类、飞机、直升机、风筝、气球。

注意: 制作数据集不仅是收集图像。还需给图像命名并标注各图像中特定目标位置。为此使用名为LabelImg软件,将图像转为文本文件。如图4.6所示

  1. 所有目标Txt文件制作完成后,将所有图像和文本文件放入zip文件。也为包含类别命名文件。

基于AI计算机视觉的鲁棒无人机检测与追踪

4.3 YOLO配置

配置步骤如下:

  1. 安装带YOLO v3的Darknet。
  2. 配置YOLO:在darknet/data创建文件夹,含之前制作数据集的所有图像和.txt文件。
  3. 制作自定义配置文件:修改YOLO v3的cfg,根据类别和步数调整batch、subdivisions、max batches。
  4. 输入类别数时,更改YOLO上方卷积层。设random为1。cfg参数见表4.1

表4.1:CFG参数

名称 描述
Batch 前向传播中用于计算梯度并通过反向传播更新权重的图像和标签数量。
Subdivisions Batch细分为多个"块"。块内图像并行运行。
Steps 500,1000:在500和1000批次后调整学习率。
Layers (Filters) 一层中有多少卷积核。
Layers (Random) 放入YOLO层。设为1时,每隔几个批次将图像调整为不同尺寸进行数据增强,用于泛化目标尺寸。
  1. 通过data/obj.names创建自定义目标文件夹,写入所有想检测的名称如无人机、UAV、鸟、风筝等。
  2. obj.data包含类别数、train.txt、valid、names、weights文件夹并保存。 基于AI计算机视觉的鲁棒无人机检测与追踪
  3. train.txt保存所有数据和图像名称。 基于AI计算机视觉的鲁棒无人机检测与追踪

4.4 在你的数据集上训练YOLO

针对自定义数据集的YOLO训练也通过Darknet完成。克隆并启用Darknet以及启用OpenCV。使用上述创建的ZIP文件夹、.cfg文件、.names文件、obj.data文件、train.txt文件,配置Darknet网络训练YOLO v3,计算执行次数。

数千次迭代后(基于CPU算力约2小时),训练好数据集即可集成到系统,给出平均损失。

4.5 图像和视频输入测试代码

针对自定义数据集训练YOLO后,开始在称为YOLO权重的训练数据集上测试代码。本例有4个类别。

在不同输入尝试YOLO检测。大权重准确度好但处理稍慢(帧率低)。制作无人机、鸟类视频作为输入。所有目标成功按给定标签、fps和阈值检测追踪。

现在可通过摄像头实时输入测试代码应对实时场景,改变相机范围飞行无人机并记录结果,输出将显示所需"无人机检测与追踪"。

基于AI计算机视觉的鲁棒无人机检测与追踪


工业技术

  1. 树莓派 3 计算机视觉运动传感器:人脸检测对接 SmartThings
  2. 在 Sonbi 机器人上集成 Microsoft Kinect 与树莓派实现实时人体检测
  3. 计算机视觉驱动效率与降本的七大实证应用
  4. 工业4.0变革:计算机视觉如何驱动智能制造
  5. PC 示波器:利用电脑声卡构建低成本波形分析仪
  6. SPICE 编程基础:实用指南
  7. Mastercam 单元 7:图像管理与刀路创建完整指南
  8. 机器人视觉赋能自动化:柔性为核心的多维优势与应用全景
  9. 高空长航时无人机:精准气象监测的新平台
  10. 防止线扫机器视觉相机热致图像畸变
  11. 智能漏水检测四大核心价值:守护建筑安全与降本增效
  12. Biz4Intellia物联网漏水检测:五大优势驱动工业效能跃升