APP下载

用于智能机器人的数据驱动多核视觉识别系统

2022-03-10李建东孟广双严利民

电动工具 2022年1期
关键词:令牌队列指令

李建东,孟广双,严利民

(1.唐山工业职业技术学院,河北 唐山 063000;2.上海大学 微电子研究与开发中心,上海 200444 )

0 引言

机器视觉识别系统是机器人智能化的关键特征之一,其性能的优劣将直接影响机器人的识别性能与智能化程度。机器人视觉识别系统的核心是图像处理,为提高图像的处理速度,学术界与工业界将各种并行计算方法引入图像处理过程中,如采用MPI 标准并行编程环境和基于集群的多机处理系统对图像进行信息提取、基于多线程的图像快速处理方法和基于GPU 与CPU 异构模式图像快速处理方法等。上述方法采用的GPU 结构存在功耗、体积等问题无法在机器人系统中广泛应用,而基于CPU 的结构则共享存储结构,存在内存严重不足的问题,通常想法是将图像划分为若干块,每次只处理一块图像数据,这种方法可以显著降低内存的使用量,但存在频繁的I/O 操作,对于需要若干次迭代收敛的算法,图像处理速度将会下降几倍甚至数十倍。

业界通常采用两种方法解决上述问题,一是采用内存映射文件技术,内存映射文件建立从磁盘中文件到特定内存区域的映射关系,通过映射关系可以显著提升文件访问速度[1-2]。另一种方法是采用分布式计算技术,每个计算节点处理的分块小于其内存容量,避免了迭代过程中多次读写存储[3]。本文从分布式计算技术考虑,采用并行计算系统结构和文献[4]提出的采用数据驱动机制的多核处理器原型结构,设计了一种用于智能机器人的数据驱动多核识别系统。

1 设计思路

数据流模型(数据驱动并行程序执行模型)是冯·诺依曼在控制流计算机并行化历史上划时代的突破。数据流程序逻辑基于图表达,是一种优美、直观、强大的并行计算模型,其思路最初由麻省理工学院提出。经过近半个世纪的研究,数据流理论不断完善、成熟,由于其独特的性能、功耗表现,对计算机的众多领域产生了深远影响,直到目前仍然是前沿研究的热点。[5]

多年的实践证明数据流模型在并行方面存在优势,区别于传统指令驱动操作的冯·诺伊曼计算机。数据流计算机采用了数据驱动执行方式,仅当某一指令所需的操作数全部到齐后,指令即始执行。这样,如有多条指令同时满足上述条件,就可以彼此并发执行而不受指令顺序执行的限制,从而充分开拓并行性。

同一运算程序下控制流与数据流的不同的执行过程如图1 所示。图中可见传统冯·诺依曼机采用程序计数控制,指令执行必须按顺序执行,而采用数据驱动方式执行时,任一指令所需要的操作数完备后,只要有可以使用的计算资源就能立即驱动执行,产生的运算结果又可以驱动下一条指令,这使得数据驱动模式具有天然的并行性。

图1 控制驱动与数据驱动机制比较

本文采用显式令牌存储匹配机制实现数据驱动,即直接匹配(direct matching)[6]。其原理是为活跃的代码块(code block)分配独立的数据帧存储空间,存储空间内保存着某个代码块的操作数,存储地址的访问通过“虚拟地址+偏移地址”完成,如图2 所示。在t 时刻,当有与“乘指令”相关的数据令牌进入后进行完备性检测,当检测到乘指令所需的数据令牌未完备时,在t+1 时刻暂存相对应的帧存储空间中,同时将相应数据到达标记位置,当执行乘指令的所有数据令牌到达时,立即触发乘指令执行,同时,乘指令收到执行下一次操作的数据令牌,在t+2 时刻将其存储在FP’帧存储空间中,而乘指令执行后产生的结果数据令牌出现在乘指令的输出端,作为触发其它指令的数据令牌。

图2 硬件实现显示存储匹配机制

2 系统结构

本文提出的数据驱动多核视觉识别系统可应用在多场景下的智能机器人中,依据具体应用进行编程,系统结构如图3 所示。

图3 数据驱动视觉识别系统

系统由四个处理器核组成,每个处理器核与其相关的片上SRAM 存储、Flash 非易失存储、调试接口等其它IP 部件挂载到系统总线,构成小型单核系统,经独立硬件数据驱动模块后点对点片内通信。其中,主核CPU 完成从图像采集到目标切割等系列任务,主核CPU 总线挂载摄像头I2C 接口、SDRAM、SRAM、显示器接口,挂接相关图像预处理加速器。主核完成图像切割后,将切割得到的待识别图像信息经数据令牌驱动,通过点对点通信模块发往其它识别处理器进行相应特征的提取与识别。在识别处理器完成各自识别任务后,将识别结果经数据令牌驱动返回主核CPU 汇总识别。

主核视觉识别系统配置如图4 所示,配置接口分为三类,第一类用于图像传感器捕获及图像存放接口,如图4 中的摄像头I2C 接口、SRAM 显存读写接口、FLASH 读写接口;第二类是程序代码执行部件,如图4 中配置的处理器、SDRAM 控制器、JTAG 接口、UART 接口;第三类是其它接口,包括通信扩展口、SRAM显存控制接口、计时器等。从核系统配置中仅保留有运行识别程序的处理器,供识别代码运行的片上存储器。

图4 主核视觉识别系统配置

系统借鉴文献[7]中提出的交点队列型通信结构,在数据通信中增加了支持中断信号处理与广播式数据传播,其是一种点对点的并行通信结构,在每个交点处都有一个FIFO 缓存,具体结构见图5 所示,由解码流水、仲裁器、FIFO 缓存队列、Crossbar、中断控制组成。数据输入时解码流水对数据解包,根据匹配地址表查找数据目的FIFO 缓存队列,每个输入端口对应3 个FIFO 存储队列组。解码流水为两级流水线结构,首先是标签过滤器,根据数据包信息判定数据目的地寄存有效数据,根据数据包控制信息将有效数据存储到相应FIFO缓存队列中,缓存FIFO 队列非空时向相应目的地发送请求信号,经仲裁器仲裁后,通过Crossbar 形成一条链路进行数据传送。

图5 点对点通信结构

为提高系统效率,设计集成广播指令,即一个数据包同时发送至其它处理器核,集成中断控制,无需频繁查询避免拥堵。

为保证系统的绝对公平,通信仲裁算法采用轮询方式,关键参数是交点缓存深度,需构建通信模型。交点队列通信是多队列单服务台结构,借助排队论构建M/M/1 的排队模型,具体过程如下。

1)问题的一般描述

设输入为泊松过程,服务时间呈负指数分布,单个服务台、系统无限制、数据源无限制,求系统状态概率Pn与系统运行指标数据平均长度Ls,滞留队列长度Lq,数据平均停留时间Ws,平均队列等待时间Wq之间的关系。

2)系统状态概率

利用状态转移图列出平衡方程。设到达与服务率分别为λ和μ,可列出平衡方程如下:

可解得状态概率为:

3)系统运行指标

排队系统运行指标分别有Ls、Lq、Ws、Wq,可证明得到其与服务强度的关系如下:

指标关系可用little 公式表示:

基于上述理论分析,采用轮询的仲裁算法,通过Matlab 构建模型进行仿真验证,最终实现的缓存实时队长在深度4 时,数据吞吐达到98%,基于此,将缓存深度提高至8 时,也仅为99%,即仅增加1 个百分点。综合上述分析,权衡系统性能与资源消耗,选择系统互联缓存深度为4。

3 实验场景

系统的关键特性表现在分布式任务计算和数据驱动表征数据相关性上。

识别系统由目标定位和目标识别两部分组成,系统示意图如图6 所示,主要流程包括图像采集处理、红色分量提取、前后列相减、sobel 算法二值化、数据膨胀、数据腐蚀、目标定位和目标识别。识别系统以FPGA 为设计平台,FPGA 资源消耗见表1,图像传感器采用OmnVision 公司OV9650。

图6 目标识别系统示意图

表1 FPGA资源消耗

目标识别系统最初是在单核系统完成图像采集至目标识别任务,本文将其移植至多核平台,使用点对点通信结构为多核核间通信连接,提高系统多核并行性,使用数据驱动标定待计算数据间的依赖关系。相比于单核识别系统,特征明显:

1)任务分工更明确,主核CPU 由按顺序执行转变成为由主核CPU 管理和控制下的多核分布式计算任务模型。

2)多处理器核以数据驱动方式自发进行数据交换,避免程序控制,数据并行性优异。

3)模型具备扩展性,简单拆解成多核平台分布式计算。

以台球识别场景为例,一般包括色彩、大小、位置等参数,识别系统的分布式计算任务围绕参数识别展开,系统将一个处理器作为主核,其余三个处理器作为从核。主核是从核的任务发起者,即从核的计算任务由主核在数据驱动机制作用下开始,完成从图像采集到目标切割任务,将切割得到的图像矩阵值以数据驱动方式分别发送至色彩、大小、位置等识别处理器,分别完成识别任务。本文设计的机器人应用平台如图7 所示,平台由主控板和机械臂组成,通过视觉识别系统进行目标球识别和定位,控制机械臂进行抓取,识别结果如图8 所示。

图7 机器人实物图

图8 台球识别

针对多应用场景,对单核系统和四核系统进行了加速比趋势分析,如图9 所示。在计算误差允许的范围内,加速比随着计算量增大而缓慢上升,四核加速比逐渐趋近于4。表明随着计算量增大,通信时间所占比例逐渐减小,不因通信量与计算量的增大而线性增大,不会成为限制多核性能的瓶颈,具有很好的性能,设计的多核处理器结构实现过程中每个C 代码段执行纯函数的操作,消除了函数间的共享变量,并行编程的复杂度有所降低。同时,采用的数据驱动机制没有执行顺序的严格限制,充分挖掘了算法潜在的并行性。

图9 加速比趋势图

4 结语

针对智能机器人中图像识别对并行化的处理以及低功耗应用需求,结合分布式计算与数据流计算模型,设计了一种用于智能机器人的数据驱动多核识别系统,系统采用分布式多核结构,核间通信采用数据驱动机制,支持函数语言编程。实验结果表明,系统采用的数据驱动机制充分增加粗粒度的多核并行性,线性加速比较好。

猜你喜欢

令牌队列指令
称金块
基于抽象汇编指令的恶意软件家族分类方法
基于车车通讯的队列自动跟驰横向耦合模型
队列队形体育教案
《单一形状固定循环指令G90车外圆仿真》教案设计
队列里的小秘密
新机研制中总装装配指令策划研究
青春的头屑
太空第一人
《道教法印令牌探奥》出版发行