基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战

谈到机器人,我们首先要知道什么是机器人

这是从百度百科截取的我国科学家对于机器人的定义

机器人是一种自动化的机器,这种机器人具备一些人或生物相似的智能能力,如感知能力、规划能力、动作能力、协同能力、是一种具有高度灵活性的自动化机器。感知就是如同人一样看到什么、听到什么、摸到什么、能够感知获取当前自我状态。理解决策是基于感知数据能够实现自我定位,识别,规划,最终控制运动执行,或走或停;机械臂动作或抓取或释放,控制显示器显示或发出声音等等。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第1张图片

  ●  ●  ●  ●  ●  ●  ● 

我们可以把机器人的发展分为四个阶段:

1.0 电气时代,机器人对外界环境没有感知,只会重复示教动作。例如在制造业,替代工人进行机械性的重复劳动。

2.0 数字时代,机器人通过传感器和数字技术有了感觉能力,并模拟部分人类功能,从而促进了机器人在工业领域的成熟应用,也逐步开始向商业领域拓展应用。

3.0 智能时代,伴随着感知、计算、控制等技术的迭代升级和图像识别、自然语音处理、深度学习等新型数字技术在机器人领域的深入应用,机器人服务化逐渐渗透到社会生产生活的每一个角落。并且实现从感知到认知、推理、决策的智能化进阶。

4.0 自主时代,借助云-边-端无缝协同计算能力,机器人能够实现持续学习、协同学习完成场景自适应,达成自主服务。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第2张图片

了解了机器人概念及机器人发展,我们不得不谈下推动机器人发展的软力量,机器人操作系统

我们知道,机器人是一个系统工程,是诸多专业知识融合的科学。为了更高效地进行机器人的研究和开发,选择一个合适的开发工具非常必要,ROS机器人操作系统正是为机器人开发而生。ROS并非传统意义的的软件操作系统,而是以软件为基础的生态系统。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第3张图片

机器人操作系统(ROS)是一个扩展性好且复用率高软件框架,其特点为:

提供优异的开发框架:包含诸如进程管理;进程间通信等功能。

■ 提供丰富的开发工具:仿真、数据可视化、图形界面、数据记录工具等,这些工具可以加快开发进度,并且可以包含在产品中便于持续更新迭代。

 提供了大量的应用模块:从驱动程序到算法,再到用户界面,开发者只需要专注于应用场景。

■ 提供生态(社区)支持:ROS的社区规模庞大、多样化且全球化。从业余爱好者到跨国公司再到政府机构、科研院校,各行各业的人和组织都在推动着ROS项目的发展。

有了ROS我们可以着手开发机器人,若要开发智能机器人我们就需要更多的工具支持,飞桨及OpenVINO™ 工具套件就是让机器人更智能的利器。

飞桨是人工智能领域的国货之光,是深度学习的集群,它包括深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台。对于偏重应用产品者开发而言,飞桨提供从训练到部署的全流程工具,开发便捷可以提升效率。同时,飞桨提供了大量产业级开源模型库开源丰富算法和预训练模型,其中不乏国际竞赛冠军模型,借助贴近产业应用预训练模型及开发工具我们可以将深度学习应用快速导入实际场景中,这是我们使用飞桨的重要原因。

OpenVINO™ 工具套件是一款优秀的深度学习推理部署工具。优势一,深度学习框架通吃,经过模型优化器转化后可以直接用于推理。优势二,针对于x86处理器定向优化,一次编码,多次部署,适应不同应用。能够有效节省产品部署的成本。简言之,OpenVINO™ 工具套件是一个开源的神经网络模型优化及推理加速工具套件,可以最大化发挥IA x86芯片的性能用于神经网络的推理工作。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第4张图片

接下来我们一起看一个飞桨与OpenVINO™ 工具套件的案例演示。我们从paddlehub中下载mobilenet-large-imagenet-ssld模型,通过模型优化器转化后,在Xeon的处理器上进行分类推理。下图2是PaddlePaddle模型直接在CPU上运行得到的结果14.25FPS,下图3是经过优化后的运行结果达到了38.50fps,在保证准确率的前提下,性能获得了大幅度的提升。

图 1

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第5张图片

图 2

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第6张图片

图 3

有了ROS、有了人工智能工具、有了预训练模型,如何将这些组件应用于机器人开发呢?

ROS-OpenVINO™ 项目正是这座桥,将这几个岛有机的连接起来,ROS OpenVINO™ 项目将人工智能引入到ROS系统中。机器人开发者不需要过多考虑算法本身,仅需要关注于使用标准的ROS接口进行数据处理即可,这为团队中多岗位协同打下良好的基础。

算法工程师遵循主流框架开发模型并利用OpenVINO™ 工具套件优化模型, ROS工程师遵循标准接口处理数据,协同共进,能够有效加快产品开发进度。诸多已经使用IA芯片的产品可以无缝升级,从普通机器人变为智能机器人。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第7张图片

ROS OpenVINO™ Runtime提供了更为灵活的接口,适用于更多更多变的应用场景,而且不需要修改代码,通过配置文件就可以获得你期望的视觉推断结果。

框架提供了标准的数据输入源,支持多种图像输入来源。从本地的图片视频、到通用的USB摄像头、乃至RealSense深度摄像头,都可以轻松驾驭,符合ROS系统标准的输入接口要求,适配不同的应用场景。

框架提供了标准的数据输出接口,支持ROS2的标准接口Topic,service模型。通过对标准的ROS接口支持,开发者可以直接使用ROS标准工具,例如RViz工具、以及openCV的图像显示工具Image Window直接处理推理结果。 

框架支持大量的预训练模型,得益于OpenVINO™ 工具套件的模型仓库提供了大量的预训练模型,从机器视觉到NLP都有支持,此外,模型优化器可以将主流框架Pytorch、Tensorflow、PaddlePaddle等预训练模型转化为IR格式,借助于ROS OpenVINO™ 运行时框架可以将大量的已有模型直接导入机器人应用中,为应用开发提供了无限的想象空间。值得一提的是ROS OpenVINO™ 项目同时支持ROS及ROS2两个版本。

ROS OpenVINO™ Runtime将与人工智能相关的功能做了很好的封装以pipeline的概念呈现出来。应用程序被调用时,用户将代表配置文件路径的参数传递给应用;ROS OpenVINO™ 运行时框架内部的Parameter Manager(配置管理器)解析文件,形成结构化的参数信息。框架通过处理这些结构化的参数信息后,自动创建一个包含输入、推断组合、输出三个部分的Pipeline。此后,Pipeline Manager会接管该pipeline,管理所有pipeline的生命周期。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第8张图片

技术发展和市场环境都在推动机器人产业向前,人工智能技术,物联网、大数据为机器人发展提供了技术支撑、数据支撑。人口老龄化及新兴的应用,则为机器人发展提供了广阔的市场环境。尽管如此,机器人要取得快速发展,也需要借鉴互联网的三级火箭发展模式:

第一阶段——关键场景,提高机器人在关键应用场景的能力,扩大用户基础

第二阶段——人工增强, 通过加入持续学习和场景自适应的能力,延伸服务能力,取代部分人力, 让机器人的能力满足用户预期

第三阶段——规模化,让机器人达到数百万千万级水平,从而降低价格、降低成本,实现大规模商用

在第三阶段中,想要实现大规模的商用,就需要有足够的开发者及高性价比的开发套件。高性价比的机器人开发套件应该具备以下几个特点:

01  降低环境搭建配置门槛

许多开发者倒在了环境配置上,ROS环境安装配置、人工智能框架安装配置、优化工具安装配置,往往还没开始就结束了,上演了一出从入门到放弃的喜剧。开发套件的软件环境中已经安装好ROS、深度学习框架、OpenVINO™ 工具套件以及,VScode、VLC等开发过程中可能遇到的各种软件工具,开箱即用。同时,开发套件中也提供了环境搭建脚本,方便开发者定制自己的环境。

02  降低学习门槛

联盟伙伴提供了优质的学习教程及案例,并且提供社区交流支持。有的学、有的聊、在实战中成长。

03  降低产品开发门槛

提供高性价比的开发套件及产品参考设计。高昂的硬件成本往往阻挡了很多开发者使用某一技术,高性价比的硬件在此时显得尤为重要。我们筛选了稳定可靠的硬件供应商,诸如底盘、控制器、雷达为广大开发者提供高性价比的开发套件AIxKit。

基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战_第9张图片

我们直接使用经过飞桨与英特尔联合认证的NUC主机,可以实现开发、部署一机搞定,有效的节省了学习成本。

纵然条条大路通罗马,但在产品开发、机器人开发这条路上,大家都在寻找最优路径,以在最短时间满足市场需要,为此ROS开发者联盟的伙伴们不懈努力着,也希望有更多的伙伴加入,在枯燥的开发路上,志同者一起会更愉悦。

你可能感兴趣的:(OpenVINO,自动驾驶,人工智能,机器学习)