嵌入式视觉系统的概念及关键因素
读出,因此会增大读出噪声。如果要对快速运动物体拍摄快照,适合使用该模式。
● 滚动快门模式 — 这种模式下,进行逐行曝光和读出。这种模式的读出噪声较小,然而,在捕获快速运动物体方面不如全局快门模式。
系统开发
选择了合适的传感器之后,在进行系统开发的过程中还需要考虑和解决诸多挑战。
除了技术挑战以外,开发系统时还会面对时间压力,确保在既定时限内将产品推向市场。我们要根据时间限制,重点弄清楚开发过程中的哪部分活动能实现附加价值,然后做出正确选择,分清哪部分应该自己开发(增值活动),哪部分可以购买商用现成产品 (COTS) 或者分包出去。重点关注增值活动并利用硬件、软件和 FPGA 层面的 IP 模块,是满足上市时间要求的重要促成因素之一。
除了上市时间要求,嵌入式视觉系统开发过程中还要经常考虑尺寸、重量、功耗和成本 (SWAP-C) 要求。究竟哪种要求占主导,取决于具体应用领域,例如手持设备在功耗方面就要比驾驶员辅助系统更为严格。然而,对于高级驾驶员辅助系统来说,由于要生产几百万台,因此方案成本就成了主导因素。
要在尺寸、重量、功耗和成本方面获得很好的效果,应该在传感器和处理系统中实现更为紧密的系统集成,即使用数量更少但功能更强的集成组件。
每种应用领域都具有不同增值点以及不同的尺寸、重量、功耗和成本考量,因此几乎所有嵌入式视觉系统都需要我们实现所谓的图像处理流水线。这种流水线可与所选的传感器建立接口连接,并且执行所需的操作以生成适合进一步加工或直接在网络上传输的图像。基本的图像处理流水线包含
● 照相机接口 — 接收来自传感器的原始图像
● 颜色滤波阵列 — 重建像素颜色
● 色彩空间转换 — 转换成针对编解码器的正确色彩空间。
● 输出格式化 — 与输出介质进行接口连接
在图像处理流水线中对接收的图像执行和应用算法。所实现应用不同,算法也会不同;不过,有一些常用的图像处理算法可用来提高对比度,检测图像中的特性、目标或运动,或者校正模糊图像。
该在一个框架中开发这些算法,以便我们以最短时间将产品推向市场,并鼓励重复使用,降低非重复性和重复性工程成本。有几种现成的框架我们可以考虑使用。
● OpenVX — 用于开发图像处理应用的开源应用程序。
● OpenCV — 开源计算机视觉,多个面向实时计算机视觉的库,基于 C/C++
● OpenCL — 基于 C++ 的开源计算机语言,用于开发 GPU、FPGA 等器件中常见的并行处理应用。
● SDSoC — 赛灵思的一款设计环境,借助该环境开发人员可在 Zynq 或 UltraScale+ MPSoC 器件的 ARM 处理系统中最初实现用 C/C++ 编写的算法,分析代码库特性以找出性能瓶颈,然后利用赛灵思高层次综合功能将这些瓶颈转换到硬件支持的 IP 核,并在器件的可编程逻辑 (PL) 部分运行。
采用 FPGA 或 All Programmable SoC 方案时,将这些框架与 HLS 结合使用,能够高效开发出嵌入式视觉应用,并通过硬件在闭环中快速演示。
图像经过处理流水线后,数据从系统的输出方式也很重要,我们有三种选择。
● 利用视频图形阵列 (VGA)、高清多媒体接口 (HDMI)、串行数字接口 (SDI) 或 DisplayPort 等标准将图像输出到显示器。很多电动车采用触摸式显示屏对系统进行控制和配置。
● 将图像或从图像中提取的信息传送到另一个系统,该系统像云处理应用那样使用图像或提取出的信息
● 将图像存储在非易失存储介质中,供以后访问。
对于绝大多数方式而言,在完成成像链后,我们都需要确定图像格式化方式,以便使用。此时,我们需要决定是否使用诸如 H.264(MPEG-4 Part 10 高级视频编码)或 H.265(高效率视频编码)等行业标准图像/视频压缩算法对图像进行编码,这些实现方案通常称为编解码器。编解码器能提高通信和网络带宽的使用效率,或降低实现高保真度所需的存储空间,因为编码通常存在较大失真 。如果因使用编解码器导致失真度无法接受,还可以按原始格式发送和存储图像,或者以无损格式进行编码。
大多数编解码器所使用的色彩空间都与图像传感器输出的色彩空间(前提是系统使用彩色器件)不同。嵌入式视觉中常用的色彩空间是:
● 红、绿、蓝 — 包含 RGB 信息作为图像传感器的输出,常用作 VGA 等简单接口的输出
● YUV — 包含亮度 (Y) 和色度 (U 和 V),该色彩空间用于大多数编解码器和一些显示标准。常用的 YUV 格式为 YUV4:4:4 和 YUV4:2:2。两种格式的区别在于:4:4:4 格式下,每像素由 8 位表示,得到 24 位像素。在 4:2:2 格式下,U 值和 V 值在像素之间共享,得到 16 位像素,可节省存储空间。
- 嵌入式系统在电源设计中的运用(09-20)
- 一种小型智能化UPS系统的嵌入式设计方案(09-16)
- 基于无线传感器网络的嵌入式远程测控系统研究(10-17)
- 嵌入式工业以太网控制器的设计和应用(10-17)
- 基于4G通信的嵌入式数据通信系统设计(10-10)
- 嵌入式CPU卡在医用便携式监护仪中的应用及设计(09-23)