XAPP1167(v2.0)2013.8.27-Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC翻译

July 21, 2016
作者:dengshuai_super
出处:http://blog.csdn.net/dengshuai_super/article/details/51975607
声明:转载请注明作者及出处。


整理自:
http://xilinx.eetrend.com/files-eetrend-xilinx/download/201401/6326-10718-xapp1167.pdf

Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC using Vivado HLS Video Libraries

Author: Stephen Neuendorffer, Thomas Li, and Devin Wang


Summary

本应用笔记介绍OpenCV库如何被用来制定Zynq® -7000所有Programmable SoC的计算机视觉应用。 OpenCV的可在设计过程中的许多不同的点被使用,从算法原型到在系统执行。 OpenCV的代码也可以使用与Vivado®高层次综合( HLS)交付视频库迁移到综合的C ++代码。当集成到一个ZYNQ SoC设计,合成的块使能高的分辨率和帧速率的计算机视觉算法来实现。


Introduction

计算机视觉是一个领域,广义上包括许多有趣的应用程序,从检测不当制造项目,可以驱动汽车的汽车系统工业监控系统。许多计算机视觉系统的实施或使用OpenCV的,其中包含了许多常见的计算机视觉功能针对台式机处理器和GPU的优化实现库原型。虽然在OpenCV库许多功能已被高度优化,以使许多计算机视觉应用至接近运行以实时的,优化的嵌入式实现是常优选的。

本应用笔记介绍设计流程使OpenCV的程序重新定向到ZYNQ设备。设计流程利用了HLS技术在Vivado设计套件,具有优化的综合视频库一起。该库可以直接使用,或与特定应用程序代码来构建针对特定应用定制的加速器。这种流动可以启用许多计算机视觉算法与高性能和低功耗的快速实施。流也使设计目标的高数据率的像素处理任务到可编程逻辑,而基于帧更低的数据速率处理任务保留在ARM®内核。

如下面的图所示,OpenCV的可在多个点处的视频处理系统的设计中使用。在左边,一种算法可以被设计并实现完全使用OpenCV的函数调用,既输入和输出图像使用文件访问的功能和处理图像。接着,该算法可以在嵌入式系统(如ZYNQ基地TRD)来实现,访问使用特定平台的函数调用的输入和输出的图像。在这种情况下,视频处理仍然实现使用OpenCV函数调用的处理器(如在ZYNQ处理器系统的CortexTM-A9处理器内核)上执行。可替代地,OpenCV的函数调用可通过从Xilinx Vivado HLS视频库对应合成函数来代替。然后OpenCV的函数调用可用于访问输入和输出图像,并提供一个视频处理算法的金色参考实现。合成后,将处理块可被集成到ZYNQ可编程逻辑。根据在可编程逻辑中实现的设计,集成块可以是能够处理由处理器,创建的视频流,例如从文件,或从外部输入的现场实时视频流读出的数据。

这里写图片描述

本应用笔记的设计流程一般遵循以下步骤:
1.制定并执行桌面的应用程序的OpenCV 。
2.重新编译和执行的ZYNQ SoC的OpenCV的应用,无需修改。
3.使用I / O功能封装加速器函数 重构OpenCV的应用。
4.用加速器函数的综合视频库函数调用代替OpenCV的函数的调用。
5.使用Vivado HLS生成加速器函数和相应的API 。
6.通过调用加速器API函数代替调用加速器函数
7.重新编译并执行加速应用程序


Reference Design

The reference design files can be downloaded from:
https://secure.xilinx.com/webreg/clickthrough.do?cid=323570
The reference design matrix is shown in Table 1.
这里写图片描述
这里写图片描述


Video Processing Libraries in Vivado HLS

Vivado HLS包含了一些视频库,目的是为了使您更容易构建各种视频处理的。这些库被实现为综合的C ++代码,并大致相当于OpenCV的实现视频处理功能和数据结构。许多的视频概念和抽象非常类似于在OpenCV的概念和抽象。特别是,许多OpenCV的imgproc模块中的功能也相应的Vivado HLS库函数。

例如,在OpenCV的最中心的元件中的一个是CV ::Mat类,它通常是用于表示在视频处理系统中的图像。cv::Mat对象通常是声明是这样的:
cv::Mat image(1080, 1920, CV_8UC3);
此声明一个可变图像和初始化它具有1080行和1920列,其中每个像素由3八位无符号数代表的代表图像。该综合库包含相应的H

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
加速基于相似性模型匹配的On-The-Fly相似性保持哈希 摘要: 在软件工程中,模型匹配是一项核心任务,广泛应用于模型驱动工程、软件重构、需求管理、代码检查等领域。由于模型通常包含大量的元素和复杂的结构,模型匹配问题变得越来越具有挑战性。相似性匹配是一种流行的模型匹配方法,它通过计算语义相似度来匹配模型元素。然而,由于相似性匹配算法的计算复杂度很高,导致它们的效率低下。 为了提高相似性匹配的效率,我们提出了一种基于On-The-Fly相似性保持哈希的加速方法。该方法利用哈希表将元素映射到桶中,并在桶中使用相似性保持哈希函数计算相似性,从而避免了在匹配过程中进行昂贵的相似性计算。此外,我们还提出了一种基于哈希冲突的剪枝策略,以进一步提高匹配效率。 我们在多个数据集上进行了实验,并与现有相似性匹配算法进行了比较。实验结果表明,我们的方法可以显著提高匹配效率,同时保持高精度。 关键词:模型匹配,相似性匹配,哈希,剪枝 Abstract: In software engineering, model matching is a core task widely applied in model-driven engineering, software refactoring, requirement management, code inspection, etc. Due to the fact that models usually contain a large number of elements and complex structures, model matching problems become increasingly challenging. Similarity-based matching is a popular model matching approach that matches model elements by computing semantic similarities. However, due to the high computational complexity of similarity-based matching algorithms, they suffer from poor efficiency. To improve the efficiency of similarity-based matching, we propose an acceleration method based on On-The-Fly similarity preserving hashing. This method uses a hash table to map elements to buckets and employs similarity preserving hash functions to compute similarities within buckets, thus avoiding expensive similarity computations during the matching process. In addition, we propose a hash conflict-based pruning strategy to further improve the matching efficiency. We conduct experiments on multiple datasets and compare our method with existing similarity-based matching algorithms. Experimental results show that our method can significantly improve the matching efficiency while maintaining high accuracy. Keywords: Model matching, similarity-based matching, hashing, pruning.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值