在前面的文章中我们介绍了瑞萨独有的DRP技术是如何工作的,本文将作为DRP-AI系列文章,继续介绍如何基于DRP技术实现工业自动化中的目标物体检测与追踪。
工业生产要实现自动化,必然离不开机器视觉的帮忙。RZ/A2M集成了瑞萨第一代DRP(动态可重新配置处理器)技术,拥有超高性能的图形图像处理能力,相关产品系统框图如下:
图1 RZ/A2M硬件结构框图和产品特色
本文中,我们将重点介绍RZ/A2M在工业自动化领域应用的优势,包括更高的图像处理能力以及超低的功耗。
机械臂之所以能够如此灵活的识别并抓取目标物体,是因为有RZ/A2M独有的DRP模块对机器视觉的图像处理过程进行加速。外接的显示器上可以看到,整个图像处理流程(包括bayer转RGB、波纹校正&白平衡、RGB转二值化图像、寻找轮廓、图像降噪、Bayer转灰阶送显示等)只用了不到3ms,最终达到VGA(640x480)分辨率下60fps的优良性能。
“
如何实现的?
前边介绍了诸多DRP的优势,大家可能对于DRP的使用方法有诸多猜测,可能会担心难以上手。但是!不用担心!瑞萨电子为大家提供了完整的服务,目前我们开发了大约80+个算法库供大家使用,大部分算法库与opencv的库功能相同、接口一致,非常方便即可在一个普通的工程中使用DRP。
图2 CV库和DRP库的切换
下面我们以Bayer转RGB的库为例,看看在使用DRP的时候需要做哪些事情。
首先是函数接口,需要提供的参数包括输入地址、输出地址、图像宽高以及是否使用tinning(在转换过程中可以同时对图像尺寸进行压缩)。
在函数内部,需要先将DRP的库load到DRP硬件中去,g_drp_lib_bayer_binning2rgb这个数组中存放的就是编译好的二进制格式DRP库。我们使用6个Tile并行处理一张图片的方式,因此给6个Tile都load此库。
Load之后,依次给每个Tile计算参数并启动它。由于这里是同一张图裁成6份,所以每个Tile只负责一张图的1/6,因此在这里需要分别计算每个Tile的起始位置和输出位置。计算完毕后下发Start命令让这个Tile开始运行。
最后等待6个Tile全部运算完毕即可。
目前我们可以提供的约50个库都能实现2~80倍不等的性能提升,DRP库对性能的提升普遍在10~20倍之间,10倍以下的库提升效果不明显的原因是这些算法本身过于简单,优化空间太小。以下列举了部分现有的库以及运算能力对比供大家参考。
当然,如果客户有想要的库是我们暂时没有的,也欢迎提出需求,我们会综合考虑后安排到后续开发计划中。
或者,如果客户有一些自有的比较机密的算法想移植到DRP中使用,我们也可以提供DRP库开发的相关培训,手把手教你开发DRP库。