了解如何利用Ultralytics YOLO11 构建人工智能驱动的无人机应用,实现实时物体检测和基于无人机的计算机视觉任务。
店内购物和网上购物看似相似,但它们依赖于不同的物流。店内需要货架补货,而网上订单则需要送货上门。得益于技术进步,这两种购物体验正在同步重塑。
例如,快递业正在发生重大转变。人工智能驱动的无人机正在改变产品送货上门的方式。预计未来十年,这些智能无人机将处理约8.08 亿次送货,将天空变成日常商业的最新送货路线。
送货无人机使用人工智能(AI)和计算机视觉(AI 的一个子领域,用于分析视觉数据)来导航和绕过障碍物。计算机视觉模型,如 Ultralytics YOLO11等计算机视觉模型可以帮助无人机实时检测和跟踪物体,使其更好地了解周围环境并与之互动。
美团和大疆等公司已经将计算机视觉集成到无人机中。事实上,无人机在各行各业的快速应用,已经预示着人工智能无人机市场将在 2031 年达到 2,069 亿美元。
在本文中,我们将仔细研究Ultralytics YOLO11 等计算机视觉模型如何用于无人机送货等基于无人机的应用。我们将通过一个示例来展示这些技术在实际应用场景中使用之前如何进行开发和测试。
送货无人机的一个关键部分是在飞行过程中探测房屋的能力。为了重现这种能力并了解其工作原理,我们将训练一个计算机视觉模型,以识别无人机航拍镜头中的房屋。为此,我们将对YOLO11 进行定制训练,这包括使用标注示例对预训练的YOLO11 模型进行微调,以识别和检测房屋。
为此,我们需要来自无人机的高质量视频数据。有趣的是,即使没有真正的无人机,我们也能生成逼真的航拍画面。让我们来看看如何做到这一点。
Google 地球工作室是一款基于网络的动画工具,用户可使用Google 地球的卫星和三维图像创建静态和动画内容。我们可以用它来制作逼真的航拍镜头。
第一步是打开Google Earth Studio并创建一个项目,如下图所示。
您需要一个Google 帐户才能登录。
登录后,您可以为人工无人机视频选择一个地点。使用页面左上角的搜索栏可以搜索地点。在本教程中,我们将选择加拿大。此外,由于我们要训练一个模型来检测房屋,因此我们的无人机视频应该有房屋的鸟瞰图。
接下来,我们可以设置第一个和最后一个时间帧来捕捉人工无人机镜头的运动。选择好无人机拍摄的起始位置后,如下图所示使用蓝色钻石设置第一帧。
接下来,我们可以选择最后一帧来确定无人机的目的地。这将帮助我们为无人机镜头创建移动效果。为此,向右滑动条形图(如下图高亮显示)至特定时间,以便为无人机镜头创建移动效果。再次使用蓝色钻石设置最后一点。
最后,点击页面右上角的红色 "Render(渲染)"按钮,保存并渲染该项目。这将为您提供无人机拍摄的最终视频输出,成功创建人工无人机视频片段。
现在我们已经创建了人工无人机视频片段,下一步就是给其中的房屋贴上标签或添加注释。我们还需要将视频的各个帧分开。
要开始使用,我们先安装 LabelImg。LabelImg 是一款开源图像标注工具。你可以使用 pip 软件包安装程序直接从终端安装它,方法是运行以下命令:"pip install labelImg"。
安装完成后,可以在终端或命令提示符下使用 "labelImg "命令运行该工具。这将带你进入下图所示的页面。
同时,我们可以使用在线视频图像转换器或名为FFmpeg的工具将视频分割成帧。FFmpeg 是一个处理多媒体内容(如音频、视频、字幕和相关元数据)的库和工具集合。
您可以使用以下终端命令来分离无人机拍摄视频的每一帧:
ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg
将无人机拍摄的画面分离出来后,我们就可以开始标注其中的物体(房屋)了。通过 LabelImg 工具导航到图像文件夹,我们就可以为每张图像中的对象贴上标签。确保保存并验证每张标注过的图像。注释完图像后,我们就可以使用这些数据训练YOLO11 了。
在开始训练YOLO11 之前,我们先整理一下图像和标签。首先创建两个文件夹:一个名为 "train",另一个名为 "valid"。将图像分放在这两个文件夹中。在每个文件夹中,为图像和相应的标签文件(文本格式)创建单独的子文件夹,如下图所示。
然后,我们就可以开始训练YOLO11 模型了:
from ultralytics import YOLO
# Load a YOLO11 model
model = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano
# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
现在,经过训练的YOLO11 模型可以通过一个称为推断的过程进行预测。推理是指根据模型在训练过程中学到的知识来分析新的、未见过的数据。在这种情况下,模型可以通过在图像或视频中绘制边界框来查找和标注特定的物体(如房屋)。
要运行预测,您可以使用以下Python 代码在输入视频上使用训练有素的YOLO11 模型。在本例中,我们将使用与训练时相同的人工无人机视频,但如果您愿意,也可以使用任何其他视频文件。
# Import library
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("best.pt") # Choose your custom-trained model
# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)
运行此代码后,将保存带有预测结果和边界框的输出视频文件。
为无人机送货包裹检测房屋只是计算机视觉和YOLO11 应用的一个例子。以下是计算机视觉、YOLO11 和无人机在现实世界中的其他一些应用:
由计算机视觉驱动的人工智能无人机正在改变许多行业,从递送包裹到帮助应急和农业生产。在本指南中,我们将介绍如何创建人工无人机视频、标注其中的物体、训练YOLO11 并用它来检测房屋。
在无人机拍摄的画面中应用物体检测技术,可以让无人机变得更加智能,使其能够实时自动识别和跟踪物体。随着技术的进步,人工智能驱动的无人机可能会在加快送货速度、提高安全性和帮助灾难应对方面发挥更大的作用。
加入我们的社区,探索我们的GitHub 存储库,了解更多有关视觉人工智能的信息,并查看 我们的许可选项,启动您的计算机视觉项目。对制造业中的人工智能 或汽车行业中的计算机视觉等创新感兴趣?访问我们的解决方案页面,了解更多信息。