手机版    二维码   标签云  厨具企业大全

英特尔movidius神经元计算棒(ncs)基于ros的实现与封装

2024-06-21 14:00 来源: 作者/编辑: 浏览次数:3748 手机访问 使用手机“扫一扫”以下二维码,即可分享本文到“朋友圈”中。

技术背景

如今,人工智能的热潮正在席卷各行各业,而计算力和数据、算法一同支撑着人工智能的蓬勃发展。作为人工智能的一个重要分支,深度学习以其良好的表现,越来越受到业界的广泛关注。深度学习模型包含海量的参数,需要强大的计算力进行大规模的神经网络矩阵运算;而终端和物联网设备往往更多考虑小体积和功耗的要求,以至于很难兼顾满足高性能神经网络计算力和低功耗的要求。英特尔在去年发布的针对神经网络矩阵运算优化的movidius神经元计算棒(ncs)就很好的适应了这一应用领域的需求。本文将向您介绍基于movidius ncs的ros开发包的功能及其使用方法,您可以轻松地将深度学习技术引入项目,和其他ros节点无缝连接,为您的机器人装上人工智能的利器。

与movidius神经元计算棒一同发布的还有ncsdk和ncappzoo,为用户在movidius神经元计算棒之上开发各自的应用提供了良好的软件支持。

ncsdk目前提供了c和python两种语言的编程的接口,通常应用开发者通过调用这些接口就能操作ncs做深度学习方面的图像预测工作。然而,在机器人研究领域,人们广泛采用ros框架,这一框架下的各个应用通常采用消息(message)和话题(topic)的方式进行通信。在这种特殊情况下,机器人应用开发者不得不对ncsdk做进一步的封装才能使其无缝工作在ros系统中。针对ncsdk到ros系统的衔接问题,我们提出并实现了一种基于ros系统的对ncsdk的封装。该项目目前已经在github上面开源(github地址)。

项目介绍

1.软件架构设计

本项目主体由一个ros发布节点和一个ros服务节点组成,以适应不同的应用场景。ros发布节点用于处理来自相机的视频流数据,预测结果以消息(message)的形式发布到相应的话题(topic)中,供上层应用调用。ros服务节点用于处理单张图片数据,预测结果直接返回给上层消费服务的节点做进一步处理。为了更好的演示这两个节点的使用方法,我们还开发了多个客户端节点,最终处理结果会以图像的形式展现出来。

目前项目可以支持物体分类和物体识别两种应用。物体分类可以采用不同的cnn模型,例如,googlenet, alexnet和squeezenet等。物体识别可以支持tinyyolo, mobilenet-ssd等。

figure 1. ros ncs structure

2.运行条件

·运行ubuntu16.04的x86_64计算机

·ros kinetic

·movidius神经元计算棒(ncs)

·ncsdk和ncappzoo

·rgb相机

具体环境配置可以参考这里。

3.编译与安装

下载源码到本地ros工作区,切换到最新发布,编译、安装。

复制cnn标签文件到指定目录。

4.运行演示程序

目前本项目可以支持一般的usbcamera和intel realsense camera。也允许用户根据需要配置不同的相机。以下以一般usb camera和realsense d400系列为例进行说明。其他使用方式请参考文档。

·物体分类

视频流处理

在一个终端启动视频流处理节点:

在另一个终端启动demo节点显示分类结果:

静态图像处理

在一个终端启动图像处理节点:

在另一个终端启动demo节点显示分类结果,例如:

ros客户端软件的输出效果如下图所示.

·物体识别(不仅给出物品分类,还给出物体所在图像中的二维坐标)

视频流处理

在一个终端启动视频流处理节点:

在另一个终端启动demo节点显示物体识别结果:

静态图像处理

在一个终端启动图像处理节点:

在另一个终端启动demo节点显示物体识别结果,例如:

ros客户端软件的输出效果如下图所示.

应用领域

本项目提供的物体分类和物体检测的能力,可以运用于多种机器人使用场景,例如:

1.3d物体识别与追踪

基于已经识别出的2d物体信息,结合深度传感器采集到的深度信息,可以定位到物体在三维空间当中的位置,从而对物体进行3d识别与跟踪。

2.机器人智能避障

传统的机器人避障对于障碍物不加以区分,采取相同的策略。而基于物体识别的避障,能够根据识别出的物体信息,通过指定不同的策略来应对不断变化的场景,使机器人避障更加智能。

3.基于语义的同步定位与建图(slam)

通过将识别出的物体标注在slam得到的地图上,可以极好地提高地图的可读性。

展望

本项目目前开发到v0.5.0版本,基于movidius ncsdk的不断演进,本产品在不断迭代开发当中。一方面,由于ros2相对ros具有更好的安全性和实时性,我们计划移植项目到ros2中。另一方面,深度学习正经历着快速发展,所以我们希望能支持更多的cnn模型以适应不同的机器人使用场景的需要。

转载:中国机器人网(原始来源:评论:0)

以上是网络信息转载,信息真实性自行斟酌。

 
本文标题:英特尔movidius神经元计算棒(ncs)基于ros的实现与封装
本文网址:
版权/免责声明:
一、本文图片及内容来自网络,不代表本站的观点和立场,如涉及各类版权问题请联系及时删除。
二、凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性。
三、转载本站原创文章请注明来源:中华厨具网

文本助手 资讯搜索 分享好友 打印本文 关闭窗口
  • 手机浏览本文

    手机应用中扫描本文二维码,即可浏览本文或分享到您的社交网络中。

  • 微信公众号

    扫描二维码,关注中华厨具网微信公众号,实时了解行业最新动态。

今日热点文章更多
品牌聚焦更多
推荐品牌更多
热门频道
关闭广告
合作伙伴:
中华厨具网 鲁ICP备2021046805号         鲁公网安备 37162502000363号 (c)2018-2026SYSTEM All Rights Reserved 投资有风险 加盟需谨慎
关闭广告
关闭广告