主要内容

使用Parrot FPV无人机进行图像分类

本示例向您展示如何使用MATLAB®Parrot®无人机支持包对无人机的FPV相机捕获的图像金宝app进行分类。

简介

Parrot无人机的MA金宝appTLAB®支持包使您能够控制Parrot无人机并从第一人称视角(FPV)相机捕获图像。无人机的FPV摄像头捕捉到的图像可以被分类GoogLeNet,一个预训练的深度卷积神经网络。GoogLeNet是在100多万张图片上训练的ImageNet数据库。它将图像作为输入,并为图像中的对象提供一个标签。

先决条件

完整的开始使用MATLAB®Parrot®无人机支持包金宝app

所需的硬件

要运行这个例子,你需要:

  • 充满电的鹦鹉FPV无人机

  • 一台有WiFi连接的电脑

任务1 -创建一个连接到鹦鹉无人机

创建一个鹦鹉对象。

parrotObj =鹦鹉;

任务2 -创建GoogLeNet神经网络对象

创建GoogLeNet神经网络对象。

Nnet = googlenet;

任务3 -激活FPV相机

启动无人机飞行并激活FPV摄像机。

起飞(parrotObj);

与无人机的FPV摄像头建立连接。

camObj = camera(parrotObj, 'FPV');

任务4 -捕获和分类图像中的对象

沿着一个方形路径的边缘向前移动无人机2秒。捕获一个对象的图像。在无人机向前移动时对图像进行分类。

1将无人机向前移动,每向前一步的默认持续时间为0.5秒,以确保无阻塞行为。这使得无人机能够在运动中捕捉图像并对其进行分类。

2从无人机的FPV摄像头捕捉一帧。

3.利用神经网络调整图像大小,对图像中的物体进行分类。

4显示带有标题的图像作为分类函数返回的标签。

5在每个正方形顶点转动无人机π/2弧度。

招徕顾客者=抽搐;while(toc(tOuter)<=30 && parrotObj.BatteryLevel>20) tInner = tic;%在(toc(tInner)<=2)向前移动(parrotObj)的同时,沿每个方形路径边缘持续移动无人机2秒;向前移动无人机,默认时间为0.5秒(无阻塞行为)picture = snapshot(camObj);%从无人机的FPV相机捕获图像resizedPicture = imresize(图片,[224,224]);%调整图片标签的大小=分类(nnet,resizedPicture);%分类图片imshow(图片);显示图片标题(char(label));%显示标签图纸;最终把(parrotObj函数(90); % Turn the drone by pi/2 radians end

6执行步骤1-5,持续30秒。

例如,无人机将FPV摄像机捕捉到的监视器屏幕分类。

任务5 -降落无人机

降落无人机。

土地(parrotObj);

任务6 -清理

完成后,清除与Parrot无人机、FPV摄像机和GoogLeNet的连接。

清楚parrotObj;清楚camObj;清楚nnet;