图像处理

【视频】:提升图像处理开发的 10 大技巧

Adam Taylor 讨论了使用 Zynq和 Zynq UltraScale SoC 开发图像处理应用时学到的一些技巧。

【视频】AWS 云上的机器学习加速堆栈

视频演示了亚马逊 AWS EC2 F1 实例上实现的机器学习,该方案展示了每秒超过 10,000 张图像的处理和学习能力。该视频同时也展现了 FPGA 池是如何为您提供一个高性能、且低功耗的解决方案的。一个 x86 可以同时搭配 8 个 FPGA 进行工作,从而不再需要 1:1 地对 CPU 和 FPGA 进行配比。

Vivado HLS嵌入式实时图像处理系统的构建与实现

作者:张艳辉,郭洺宇,何 宾

摘 要: 传统的基于CPU、GPU和DSP的处理平台难以满足图像实时处理的要求,而FPGA在并行图像处理上有着独一无二的优势,在性能和成本之间提供更加灵活的选择。通过Xilinx最新的Vivado HLS工具,设计实现了可变参数的拉普拉斯算子图像滤波算法,并且在ZYNQ-7000 SoC上构建了可视化的实时嵌入式图像处理系统。实验结果表明,系统可以实现不同的图像处理算法,很好地满足了图像处理的实时性、高性能、低成本要求,对未来高性能图像处理系统的设计和实现提供了很好的借鉴。

0 引言

CPU vs FPGA?图像处理谁更“应景”?

作者:Brandon Treece,NI总部数据采集和控制产品市场经理

机器视觉在工业自动化系统中的应用已经有一定的历史,它取代了传统的人工检查,提高了生产质量和产量。 我们已经看到了相机在计算机、移动设备和汽车等日常生活设备中的迅速普及,但是机器视觉的最大进步莫过于处理能力。随着处理器的性能以每两年翻一番的速度不断提升,以及多核CPU和FPGA等并行处理技术日益受到关注,视觉系统设计人员现在可以应用复杂的算法来可视化数据,并创建出更加智能的系统。

性能的提高意味着设计人员可以获得更高的数据吞吐量,从而实现更快速的图像采集,使用更高分辨率的传感器,并充分利用市场上具有最高动态范围的一些新款相机。性能的提高不仅可让设计人员更快速地采集图像,而且还能更快速地处理图像。预处理算法(如阈值和滤波)或处理算法(如模式匹配)也可以更快速地执行。最终设计人员能够比以往更快地基于可视化数据制定决策。

德州奥斯汀NI总部数据采集和控制产品市场经理,主要负责机器视觉领域的Brandon Treece认为,随着视觉系统越来越多地集成最新一代多核CPU和强大FPGA,视觉系统设计人员需要了解使用这些处理元件的好处和得失。他们不仅需要在正确的硬件上运行正确的算法,还需要了解哪些架构最适合作为其设计的基础。

基于Zynq的HDMI视频解码方式和相关IP核介绍

在图像处理应用开发中,捕获或显示图像的最简单方法之一是使用HDMI(高清晰度多媒体接口)。HDMI是一种可以传输高清数字视频和音频数据的专有标准,被许多显示器和相机支持并广泛采用。这个特点使得HDMI成为Zynq图像处理应用的理想接口标准。

在这篇文章中,我们将向大家介绍如何在不同目标开发板上使用基于Zynq的HDMI传输。

图:Arty Z7 HDMI输入输出案例

图:Arty Z7 HDMI输入输出案例

FPGA : 用“芯”做图

作者:张博/闵彪/章恒

背景

“No PP,No WAY”这是个眼见为实的世界,这是个视觉构成的信息洪流的世界。大脑处理视觉内容的速度比文字内容快6万倍,而随着智能手机的普及,图片、视频的产生和分享已经是人们在社交平台上的基本交流方式。用户通过手机、平板、电脑上传和分享自己的图片,而且这个趋势是每年都在增长(参见图1)。

图1. 2016年KPCB统计报告

图1. 2016年KPCB统计报告

参考资料:xilinx大学计划
实验平台:ZYBO开发板

本次实验要做的是一个基于FPGA的简单图像处理程序, 共实现两个功能:
1.输出一个灰度图像的直方图。
2.将一个曝光不足的图像进行处理,使其对比度更大。

一、Vivado HLS 部分

首先我们用Vivado HLS来编写FPGA图像处理所用的IP核。

1.绘制直方图

1.首先编写相应的C/C++语言程序,加入到Vivado HLS工程中,再编写相应的testbench代码进行编译测试。


代码很简单大家看一下就明白了。

注意到右侧Directive窗口中的优化部分,分别表示doHist的输出接口使用AXI4-lite传输协议,inStream图像输入接口采用AXI4协议,输入数组histo存入bram中,loop_init循环进行展开。

2.点击Run C Simulation进行对C/C++源文件进行编译测试。

矩阵卷积理解

在图像处理的过程中,经常会看到矩阵卷积的概念,比如说用一个模板去和一张图片进行卷积,因此很有必要了解矩阵卷积到了做了什么,具体又是怎么计算的。

在matlab中有conv2函数对矩阵进行卷积运算,其中有一个shape参数,取值具体有三种:
-full - (default) returns the full 2-D convolution,
-'same' - returns the central part of the convolution
that is the same size as A.
-'valid' - returns only those parts of the convolution
that are computed without the zero-padded edges.
size(C) = max([ma-max(0,mb-1),na-max(0,nb-1)],0).

用一幅图可以很好的理解这三个参数代码的具体含义:

视频:尖端的视频/图像处理方案

RGB Spectrum 是尖端视频/图形处理器和决策支持系统的领先厂商,为计算机及视频信号的显示,记录和传输提供创新解决方案。公司产品包括多显示器,视频墙处理器,矩阵切换器,视频编解码器,记录仪,以及集成的中央控制室方案。RGB Spectrum 的产品涉及工业、安全、医疗、教育、商业等领域。本视频展示了基于赛灵思 FPGA 的一些尖端视频/图像处理方案。

长文揭秘图像处理和卷积神经网络架构

本文由微信公众号“机器之心”(ID:almosthuman2014)编译,选自 Analyticsvidhya,作者:DISHASHREE GUPTA

近日,Dishashree Gupta 在 Analyticsvidhya 上发表了一篇题为《Architecture of Convolutional Neural Networks (CNNs) demystified》的文章,对用于图像识别和分类的卷积神经网络架构作了深度揭秘;作者在文中还作了通盘演示,期望对 CNN 的工作机制有一个深入的剖析。

引言

同步内容