本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

本港台直播:【j2开奖】FPGA将取代GPU和CPU成为机器人的主要芯片?(3)

时间:2016-05-13 11:10来源:报码现场 作者:j2开奖直播 点击:
根据数据总结一下,如果使用FPGA进行视觉感知定位的运算,不仅可以提高感知帧率,让感知更加精准,还可以节能,让计算持续多个小时。当感知算法确



  根据数据总结一下,如果使用FPGA进行视觉感知定位的运算,不仅可以提高感知帧率,让感知更加精准,还可以节能,让计算持续多个小时。当感知算法确定,而且对芯片的需求达到一定的量后,本港台直播们还可以把FPGA芯片设计成ASIC,进一步的提高性能以及降低能耗。

  深度学习

  深度神经网络是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。在过去几年,卷积深度神经网络(CNN)在计算机视觉领域以及自动语音识别领域取得了很大的进步。在视觉方面,Google、Microsoft与Facebook不断在ImageNet比赛上刷新识别率纪录。在语音识别方面,百度的DeepSpeech 2系统相比之前的系统在词汇识别率上有显著提高,把词汇识别错误率降到了7%左右。

  为了让读者了解FPGA对深度学习的加速以及节能,本港台直播们下面关注北京大学与加州大学的一个关于FPGA加速CNN算法的合作研究。图7展示了FPGA与CPU在执行CNN时的耗时对比。在运行一次迭代时,使用CPU耗时375毫秒,而使用FPGA只耗时21毫秒,取得了18倍左右的加速比。假设如果这个CNN运算是有实时要求,比如需要跟上相机帧率(33毫秒/帧),那么CPU就不可以达到计算要求,但是通过FPGA加速后,CNN计算就可以跟上相机帧率,对每一帧进行分析。

图7 CNN性能对比 (单位:毫秒)

 

图7 CNN性能对比 (单位:毫秒)



  图8展示了FPGA与CPU在执行CNN时的耗能对比。在执行一次CNN运算,使用CPU耗能36焦,而使用FPGA只耗能10焦,取得了3.5倍左右的节能比。与SLAM计算相似,通过用FPGA加速与节能,让深度学习实时计算更容易在移动端运行。

图8 CNN能耗对比 (单位:焦)

 

图8 CNN能耗对比 (单位:焦)



  FPGA与ROS机器人操作系统的结合

  上文介绍了FPGA对感知算法的加速以及节能,可以看出FPGA在感知计算上相对CPU与GPU有巨大优势。本节介绍FPGA在当今机器人行业被使用的状况,特别是FPGA在ROS机器人操作系统中被使用的情况。

  机器人操作系统(ROS),是专为机器人软件开发所设计出来的一套操作系统架构。它提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统,使得协作亦能被分发。ROS目前被广泛应用到多种机器人中,逐渐变成机器人的标准操作系统。在2015年的DARPA Robotics Challenge比赛中,有过半数的参赛机器人使用了ROS。

  随着FPGA技术的发展,越来越多的机器人使用上了FPGA,在ROS社区中也有越来越多的声音要求ROS兼容FPGA。一个例子是美国Sandia国家实验室的机器人手臂Sandia Hand。如图9所示,Sandia Hand使用FPGA预处理照相机以及机器人手掌返回的信息,然后把预处理的结果传递ROS的其它计算Node。

图9 ROS在Sandia Hand中对FPGA的支持

 

图9 ROS在Sandia Hand中对FPGA的支持



  为了使ROS与FPGA之间可以连接,Sandia Hand使用了Rosbridge机制。 Rosbridge通过JSON API来连接ROS与非ROS的程序。比如一个ROS的程序可以通过JSON API连接一个非ROS的网络前端。在Sandia Hand的设计中,一个ROS Node通过JSON API连接到FPGA计算器,FPGA传递数据以及发起计算指令,然后从FPGA取回计算结果。

  Rosbridge为ROS与FPGA的联通提供了一种沟通机制,但是在这种机制中,ROS Node并不能运行在FPGA上,而且通过JSON API的连接机制也带来了一定的性能损耗。为了让FPGA与ROS更好的耦合,最近日本的研究人员提出了ROS-Compliant FPGA的设计,让ROS Node可以直接运行在FPGA上。如图10所示,在这个设计中,FPGA了实现一个输入的接口,这个接口可以直接订阅ROS的topic,使数据可以无缝连接流入FPGA计算单元中。另外,FPGA上也实现了一个输出接口, 让FPGA上的ROS Node可以直接发表数据,让订阅这个topic的其开奖直播ROS Node可以直接使用FPGA产出的数据。在这个设计中,开发者只要把自己开发的FPGA计算器插入到ROS-compliant的FPGA框架中,便可以无缝连接其开奖直播ROS Node。

图10 FPGA成为ROS的一部分

 

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容