微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 嵌入式视觉系统的构建模块

嵌入式视觉系统的构建模块

时间:02-08 来源:eetrend 点击:

传统嵌入式视觉系统采用FPGA/处理器组合来实现,也有越来越多地使用将高性能处理器与FPGA相结合的片上系统来实现。在本文中我们将会介绍嵌入式视觉系统的高级元素;如何简便快捷地使用软件 API 和 IP 库构建嵌入式视觉系统,如何把算法开发的增值部分添加到图像处理链中。

从监控摄像头等简单监控系统到更高级的应用,例如当今最新款汽车配备的高级驾驶员辅助系统 (ADAS)和先进生产设施及工厂里使用的机器视觉,嵌入式视觉系统已在一系列应用中得到使用。不论何种应用,嵌入式视觉系统都具备一些共同之处,总体来讲它们可以分为下列三大类:

设备接口 — 提供到所选成像设备的接口。根据选择的设备类型,提供所需的时钟、偏置和配置数据。这样还可以从设备接收图像数据,根据需要进行解码和格式化,以供图像处理链做进一步处理。

图像处理链 — 通过设备接口接收图像数据并进行彩色滤波器阵列内插和色域转换(即从彩色转换到灰度)等操作。这部分仍处于我们对接收到的图像使用大量算法的图像处理链内。这些可以是降噪或边缘增强等简单算法,也可以是对象识别或光流等复杂得多的算法。常见情况是在图像处理链的上游部分调用算法实现方案。当然图像处理链上游的实现复杂性取决于要实现的应用。而输出格式化部分(即将处理后的图像数据转换为正确格式,以输出到显示器或是通过通信接口输出)被称为下游部分。

系统监视与控制 – 这是一项独立于设备接口和图像处理链的类别,它从两个方面提供系统监视和控制。第一个位于设备内部,它提供:
图像处理链的配置
图像分析功能
在算法执行过程中根据要求更新图像处理链

第二个是更广泛的嵌入式视觉系统的控制与管理,它提供:

电源管理和图像设备上电排序
执行自检及其他系统管理功能
网络支持通信或点对点通信
在首次成像操作前通过 I2C 或 SPI 配置图像设备

部分应用允许系统监视功能访问帧存储器并在其中的帧上执行算法。在这种情况下系统监视能够构成图像处理链的一部分。

这三大类别因为每个阶段内在的难点不同,需要不同的实现方法。设备接口和图像处理链都要求有能力处理带宽高数据,从而在内部实现图像处理链,在外部从系统传输图像数据。而系统监视与控制要求能够处理和响应通过通信接口接收到的命令并为外部通信提供支持。如果系统监视也要构成图像处理链的组成部分,就需要一个高性能处理器。

照此,传统嵌入式视觉系统采用FPGA/处理器组合来实现,也有越来越多地使用将高性能处理器与FPGA相结合的片上系统来实现。在我们演示上述几个方面如何结合在一起之前,我们先来了解一下这三个类别中每一个的不同难点。

设备接口

传感器接口由应用所选择的设备决定,大多数嵌入式视觉应用使用 CMOS 图像传感器 (CIS)。一般情况下这些传感器使用 CMOS 并行输出总线,用控制信号提示行和帧的有效顺序,或者使用速率更高的串行通信,实现较简单的系统接口,但会导致 FPGA 实现方案略显复杂。与并行总线相比,这些串行数据流能通过更少数量的通道传输图像,因为它们以快得多的数据速率运行,因此相比并行接口而言,能让成像器支持更高的帧速率。为实现同步,常见的做法是让包含图像及其它数据字的数据通道与包含用于定义数据通道上的内容的代码字的同步通道相结合。与数据通道和同步通道结合的还有一个时钟通道,因为该接口采用源同步。这些高速串行通道一般实现为 LVDS 或微摆幅差分信号 (Reduced Swing LVDS),以降低系统噪声和功耗。

不论输出图像格式如何,通常是 CIS 设备在获取任何图像之前需要由嵌入式视觉系统加以配置。这是由 CIS 设备的多功能性造成的。这种多功能性在提供强大的片上处理功能的同时,也需要在输出图像前使用正确的设置进行配置。这些接口对带宽的要求没有图像传输要求的那么高,因此常常使用 I2C 或 SPI 接口标准。

因为所需的图像数据带宽较高,经常把该接口实现在 FPGA 中,这样更便于与图像处理链集成。该 CIS 设备的配置接口一般使用 I2C 或 SPI,它们既可以用 FPGA 实现,也可以用支持这种接口的系统监视与控制处理器实现。

图像处理链

图像处理链由上下游元件和接口组成,像素数据通过设备接口输出。但是接收到的像素的格式可能不能用于正确显示图像。我们可能需要进行图像校正,尤其是在使用彩色成像器的情况下。 为维持所需数据率下的吞吐量,图像处理链常实现在 FPGA 中,以发挥其并行优势。这样可以生成图像处理流水线,使得处理

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top