使用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;