详解如何利用SpireCV进行G1吊舱控制,实现点击跟踪

文摘   科技   2024-08-09 15:36   四川  

功能概述

SpireCV-SDK是一个专为智能无人系统打造的边缘实时感知SDK库。该库能够控制无人机的相机和吊舱,包括拍照、录像、推流等功能,并可以保存视频和进行推流。此外,SpireCV-SDK还集成了目标检测、识别与跟踪功能,以实现更智能的无人系统控制。本文将详细介绍如何利用SpireCV进行吊舱,并提供相关算法原理及操作步骤。

注:

1.控制Amovlab的吊舱产品,如G1、Q10等,具体功能实现详情,请在公众号内搜索相关文章或者关注阿木实验室官网。

2.若要使用SpireCV-ROS接口,请先跳转到ROS通信部分,进行ROS环境配置。



目标检测与点击跟踪

SpireCV-SDK提供了基于深度学习的目标检测算法和基于图像处理的目标跟踪算法。通过实时检测图像中的目标物体并生成检测结果,同时通过点击图像中的目标物体实现跟踪,为后续的吊舱控制提供位置信息。此外,SpireCV-SDK还集成了吊舱控制算法,可实现半自动搜寻功能。通过设置搜索区域和搜索条件,吊舱可以自动在目标区域内进行搜索,并实时反馈搜索结果。


检测跟踪原理

目标检测基于深度学习模型来实现,SpireCV-SDK使用预训练的深度学习模型来识别图像中的对象,并根据这些对象的特征来对其进行分类和定位。其原理是通过卷积神经网络(CNN)对图像进行前向传播,提取出图像的特征,并使用这些特征来预测图像中每个像素的类别。一旦目标被检测到,SpireCV-SDK会将其位置、大小、旋转角度等信息提取出来。



跟踪算法原理

点击跟踪是SpireCV-SDK的高级功能之一,它基于目标检测和图像处理技术来实现。使用目标检测算法来识别图像中的对象,并根据这些对象的特征来对其进行分类和定位。并根据提取出每个对象的轮廓信息来计算出每个对象的形状和大小。一旦目标被检测到并定位,SpireCV-SDK会根据用户的点击位置和目标的位置来计算出点击点和目标之间的距离和角度等信息。



原理说明


Nanotrack原理

Nanotrack算法是一种基于深度学习的目标跟踪方法,通过在每一帧中搜索与目标模板最匹配的区域来定位目标。它是一个轻量级的高速跟踪网络,结合了SiamBAN和LightTrack的优势,适合部署在嵌入式或移动设备上。事实上,它可以在SpireCV套件上以 > 60FPS的速度运行。


Nanotrack算法结构图


算法对比实验

下表对比实验表明,NanoTrack算法在跟踪数据集上具有良好的性能。



操作步骤


G1吊舱权限设置
ls /dev/ttyUSB*sudo chmod 777 /dev/ttyUSB*



配置吊舱网络

打开终端,输入ping 192.168.2.64 ,检测吊舱是否连接成功。



运行demo
cd <path to SpireCV/build>./GimbalClickedTracking
执行命令启动demo程序。通过点击鼠标左键选择目标物体并实现跟踪。



ROS通信

ROS接口编译及调用:ROS(Robot Operating System)是一个开源的机器人操作系统,提供了丰富的功能和工具,方便开发者进行机器人控制和数据处理等方面的开发。SpireCV-SDK提供了ROS接口编译和调用的功能,开发者可以使用ROS提供的工具和功能来扩展SpireCV-SDK的功能和应用场景。



接口编译


安装SpireCV SDK

首先确认是否安装SpireCV SDK,可参考教程:SDK安装

https://docs.amovlab.com/Spire_CV_Amov/#/src/%E5%BF%AB%E9%80%9F%E4%BD%BF%E7%94%A8/SDK%E5%AE%89%E8%A3%85/SDK%E5%AE%89%E8%A3%85

ROS安装

安装方式可选择一键安装或者官网安装。

(1)一键安装
wget http://fishros.com/install -O fishros && . fishros

注:参照提示安装ROS1。


(2)官网安装
安装ROS,根据Ubuntu系统版本自行选择安装Ubuntu1804/Ubuntu2004,安装链接如下:
http://wiki.ros.org/melodic/Installation/Ubuntu#/src/SpireCV-ROS%E6%8E%A5%E5%8F%A3/_blank



执行如下命令
#下载SpireCV-ros目录git clone https://gitee.com/amovlab1/spirecv-ros.gitcd spirecv-roschmod +x build.sh./build.sh
# 添加到自动执行echo "source devel/setup.bash" >> ~/.bashrcsource ~/.bashrc



接口调用
使用如下命令启动ROS接口:
roslaunch spirecv_ros gimbal_track.launch

注:gimbal_track.launch文件在SpireCVROS的add-lgimbal分支下



- End -


往期推荐:





如何利用SpireCV进行吊舱控制,实现目标检测及跟踪


不想敲代码,如何快速实现数据标注、模型训练、高效部署


揭秘!SpireCV如何实现低延时推流、视频保存!

阿木实验室:为机器人研发提供开源软硬件工具和课程服务,让研发更高效!


硬件工程师:yinyue199506(欢迎洽谈合作)

课程助手:jiayue199506 (领取学习资料包)


技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

阿木实验室
为机器人研发提供开源软硬件工具和课程服务,让研发更高效!
 最新文章