了解如何使用 Ultralytics YOLO11 构建 AI 驱动的无人机应用,从而实现实时目标检测和基于无人机的计算机视觉任务。

了解如何使用 Ultralytics YOLO11 构建 AI 驱动的无人机应用,从而实现实时目标检测和基于无人机的计算机视觉任务。
实体店购物和在线购物可能看起来很相似,但它们依赖于不同的物流。商店需要补货,而在线订单则依赖于送货上门。由于技术进步,这两种购物体验都在并行地被重塑。
例如,交付领域正在发生重大转变。人工智能驱动的无人机正在改变产品到达我们家的方式。预计在未来十年内,这些智能无人机将处理大约 8.08 亿次交付,将天空变成日常商业的最新交付路线。
送货无人机使用人工智能 (AI) 和计算机视觉(AI 的一个子领域,用于分析视觉数据)来导航和避开障碍物。像Ultralytics YOLO11这样的计算机视觉模型可以帮助无人机实时检测和跟踪物体,从而使它们能够更好地理解和与其环境互动。
像美团和 DJI 这样的公司已经将计算机视觉集成到他们的无人机中。事实上,无人机在各个行业的迅速普及已使人工智能无人机市场有望在 2031 年达到 2069 亿美元。
在本文中,我们将仔细研究像 Ultralytics YOLO11 这样的计算机视觉模型如何在无人机应用中使用,例如无人机送货。我们将通过一个示例来展示如何在实际场景中使用这些技术之前对其进行开发和测试。
送货无人机的一个关键部分是它们在导航时检测房屋的能力。为了重现这种能力并了解其工作原理,我们将训练一个计算机视觉模型,该模型可以识别航拍无人机拍摄的镜头中的房屋。我们将为此定制训练 YOLO11,这涉及微调预训练的 YOLO11 模型,通过使用标记的示例来识别和检测房屋。
为此,我们需要来自无人机的高质量视频数据。有趣的是,即使没有真正的无人机,我们仍然可以生成逼真的航拍镜头。让我们来看看如何操作。
Google Earth Studio 是一款基于 Web 的动画工具,用户可以使用它来创建使用 Google Earth 卫星和 3D 图像的静态和动画内容。 我们可以使用它来创建逼真的航拍镜头。
第一步是打开 Google Earth Studio 并创建一个项目,如下所示。
您需要一个 Google 帐户才能登录。
登录后,您可以为您的无人机视频选择一个位置。使用页面左上角的搜索栏,您可以搜索位置。在本教程中,我们将选择加拿大。此外,由于我们将训练一个模型来检测房屋,我们的无人机视频应该有房屋的鸟瞰图。
接下来,我们可以设置第一个和最后一个时间帧来捕捉人工无人机镜头的运动。选择无人机镜头的起始位置后,使用蓝色菱形设置第一帧,如下所示。
接下来,我们可以选择最后一帧来确定无人机的目的地。这将帮助我们为无人机镜头创建移动效果。为此,将条(在下面突出显示)向右滑动到特定时间,以便为无人机镜头创建移动效果。再次使用蓝色菱形设置最后一个点。
最后,您可以保存此项目,然后点击页面右上角的红色“渲染”按钮进行渲染。这将为您提供无人机拍摄的最终视频输出,成功创建人工无人机视频素材。
既然我们已经创建了人工无人机视频素材,下一步是标记或注释其中的房屋。我们还需要分离视频的各个帧。
首先,我们将安装 LabelImg。LabelImg 是一个开源图像标注工具。您可以使用 pip 包管理器直接从终端安装它,方法是运行以下命令:“pip install labelImg”。
安装完成后,您可以使用终端或命令提示符中的 ‘labelImg’ 命令来运行该工具。这将带您进入如下所示的页面。
同时,我们可以使用在线视频转图像转换器或名为 FFmpeg 的工具将视频分割成帧。FFmpeg 是一组用于处理多媒体内容(如音频、视频、字幕和相关元数据)的库和工具。
您可以使用以下终端命令来分离无人机拍摄视频的每一帧:
分离无人机拍摄的视频帧后,我们就可以开始标注其中的对象(房屋)。通过 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 仓库,以了解更多关于视觉 AI 的信息,并查看我们的许可选项,以启动您的计算机视觉项目。对制造业中的 AI或汽车行业的计算机视觉等创新感兴趣?访问我们的解决方案页面以了解更多信息。