基于Zynq SoC的嵌入式视觉系统开发流程详解.doc
《基于Zynq SoC的嵌入式视觉系统开发流程详解.doc》由会员分享,可在线阅读,更多相关《基于Zynq SoC的嵌入式视觉系统开发流程详解.doc(7页珍藏版)》请在三一文库上搜索。
1、基于Zynq SoC的嵌入式视觉系统开发流程详解将Vivado HLS与OpenCV库配合使用,既能实现快速原型设计,又能加快基于Zynq All Programmable SoC的Smarter Vision系统的开发进度。计算机视觉技术几年来已发展成为学术界一个相当成熟的科研领域,目前许多视觉算法来自于数十年的科研成果。不过,我们最近发现计算机视觉技术正快速渗透到我们生活的方方面面。现在我们拥有能自动驾驶的汽车、能根据我们的每个动作做出反应的游戏机、自动工作的吸尘器、能根据我们的手势做出响应的手机,以及其它等视觉产品。今天我们面临的挑战就是如何高效实现上述这些及未来的各种视觉系统,同时满足
2、严格的功耗和上市要求。此类产品可以Zynq All Programmable SoC为基础,并结合广泛使用的计算机视觉库OpenCV和高层次综合(HLS)工具,以实现关键功能的硬件加速。这种强强组合能为设计和实现Smarter Vision系统提供强大的平台。嵌入式系统在当今的市场中无所不在。不过,计算功能方面的局限性,尤其是在处理大型图片、高帧率时计算能力低下严重限制了嵌入式系统在计算机/机器视觉实际实现方面的应用。图像传感器技术的发展犹如为嵌入式器件装上了慧眼,能帮助该器件通过计算机视觉算法与环境互动。嵌入式系统和计算机/机器视觉的融合催生了嵌入式视觉技术,这是一个快速发展的领域,正成为设
3、计能够观看并了解周边环境的设备的基础所在。嵌入式视觉系统的开发嵌入式视觉技术要在计算平台上运行智能计算机视觉算法。对许多用户来说,标准的桌面计算处理平台即可方便地满足需求。不过,一般性计算平台或许无法满足高度嵌入式产品的生产需求,这种产品要做到小型化、高效性、低功耗,而且要处理庞大的图像数据集,比如同时处理多个每秒60帧的实时高清视频流。图1给出了设计人员通常用来创建嵌入式视觉应用的流程。算法设计是整个流程中最重要的一环,因为算法将决定我们能否满足任何特定计算机视觉任务的处理和质量标准要求。首先,设计人员在MATLAB等数字计算环境中搜索算法选项,明确高级处理选项。一旦确定了适当的算法,设计人
4、员通常用C/C+等高级语言来为算法建模,以便快速执行,并满足最终比特精度实现方案的要求。系统分区是开发过程中的重要步骤。在此,设计人员通过算法性能分析,可明确他们要对算法的哪些部分进行硬件加速,从而满足处理代表性输入数据集的实时要求。同样重要的是对目标平台中的整个系统进行原型设计,从而实际地检测性能预期。一旦原型设计过程说明设计满足了所有性能和质量目标要求,那么设计人员就能在实际的目标器件中启动最终系统实现。最后一步就是测试运行在芯片上的设计在各种用例场景下的表现。一切检查完成后,设计团队就能发布最终产品。ZYNQ SOC:嵌入式视觉的最明智的选择在开发机器视觉应用过程中,设计团队必须选择高度
5、灵活的器件,这一点至关重要。设计团队所需的计算平台应提供强大的通用处理功能,以支持多种不同的软件生态系统,此外还要有稳健可靠的数字信号处理功能,以便实现计算强度高、存储高效的计算机视觉算法。芯片的高度集成对实现高效、完整的系统至关重要。赛灵思All Programmable SoC是以处理器为中心的器件,在单芯片上提供了软/硬件和I/O可编程性。Zynq SoC在单个器件中集成了一个ARM双核Cortex-A9 MPCore处理系统、FPGA逻辑和一些关键外设。这样,该器件就能帮助设计人员实现极为高效的嵌入式视觉系统。处理子系统、FPGA逻辑和外设在Zynq SoC中的高度集成能确保相对于采用
6、分立式组件设计而成的系统而言提高数据传输速率,降低功耗和材料清单成本。我们能用Zynq SoC实现实时处理支持1080p60视频序列(1,920 x 1,080 RGB图像,每秒60帧)的系统,达到每秒数千亿次运算的处理功能。为了全面利用Zynq SoC的诸多功能与特性,赛灵思推出了以IP和系统为中心的设计环境Vivado设计套件。该套件可加速集成和实现,从而可帮助设计人员提高开发生产力,进而动态开发出Smater嵌入式产品。Vivado HLS作为该套件的一个组件,能帮助设计人员将采用C/C+语言开发的算法编译为RTL,以便在FPGA逻辑中运行。Vivado HLS工具非常适用于嵌入式视觉设
7、计。在此流程中,您用C/C+创建您的算法,再用Vivado HLS将算法或算法的一部分编译为RTL,进而确定哪些函数更适合在FPGA逻辑中运行,哪些函数更适合在ARM处理器上运行。这样,您的设计团队就能集中精力打造出最佳性能的基于Zynq SoC的视觉系统。为了进一步帮助嵌入式视觉开发人员创建Smarter Vision系统,赛灵思在Vivado中增加了对OpenCV计算机视觉算法库的支持。赛灵思还推出了最新IP Integrator工具和SmartCORE IP以支持此类设计(参见封面报道的第8页)。OPENCV推广计算机视觉技术OpenCV开辟了一条开发智能计算机视觉算法的途径,而且能预测
8、实时性能。该库为设计人员提供了用于算法试验和快速原型设计的环境。OpenCV设计框架得到多平台支持。不过在许多情况下,要提高库对嵌入式产品的效率,就需要在嵌入式平台上实现,而且该平台要能够加速高强度例程,满足实时性能要求。虽然OpenCV在设计时就考虑到计算效率问题,不过它源自传统计算环境,可支持多核处理。这种计算平台或许对高度强调效率、成本和功耗的嵌入式应用来说并不是最佳选择。OPENCV的特性OpenCV是一款基于BSD许可证授权发行的开源计算机视觉库,这就意味着它可免费用于学术和商业应用中。它最初设计旨在提高通用多处理系统的计算效率,侧重于实时应用。此外,OpenCV还提供C/C+和Py
9、thon等多种编程接口。开源项目的优势在于,用户能持续改进算法,并将算法扩展用于多种不同应用领域。目前用OpenCV可现实2,500多种功能,其中包括: 矩阵数学 公用设施和数据结构 通用图像处理功能 图像转换 图像金字塔 几何描述符函数 特性识别、提取和跟踪 图像分割与拟合 摄像头校准、立体化和3D处理 机器学习:检测、识别有关OpenCV的更多详情,敬请访问以下网址: opencv 和 opencv.willowgarage 。用HLS加速OPENCV函数一旦完成了嵌入式视觉系统架构的分区,找到了计算强度最大的部分,HLS工具就能帮助您加速这些函数,同时仍能继续使用C+编写。Vivado
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Zynq SoC的嵌入式视觉系统开发流程详解 基于 Zynq SoC 嵌入式 视觉 系统 开发 流程 详解
链接地址:https://www.31doc.com/p-3416725.html