当我们基于特定应用场景,来设计和搭建一个“智能”成像系统时的若干考虑


背景介绍

今天,万物互联和“所有皆一体化”给我们带来日趋增多的便利,比如智能手机,智能手表,智能手环等,正在改变我们利用科技的方式。这种便利的预期也影响了视觉系统的创新目标:追求系统的方便易用,并且通过“所有皆一体化”的方式来赋予视觉系统更强大的性能。嵌入式视觉系统被应用到越来越多的领域,比如工业自动化、无人驾驶系统、智能交通、室外智能安检系统、移动设备等,凭借其强大的处理性能和多样化的功能取代传统的人工来提高效率。采用分离的系统组成(相机和嵌入式计算机)允许系统设计者来选择当前合适的系统部件,来满足特定应用系统的要求。


这篇文件将带你了解,当设计嵌入式视觉系统来满足不同特定应用时,我们需要考虑的关键技术要点都有哪些?

系统组成一:嵌入式计算机

嵌入式计算机是系统的智能大脑,它使得系统能够进行自动化的决策,在采集到的图像基础上进行分析,上传图像数据流,上传数据到网络指定位置,在本地存储数据(如果网络连接出现问题),以及其他特定的、专有化的应用任务。


自从有了编码指令集和低阶编程后,这些智能系统就发展了相当一段时间。许多系统可以运行完整的桌面式系统,比如Linux或者Windows,这种系统使得开发者在进行编程时,就像使用自己的台式电脑或者笔记本电脑一样方便。


考虑1:操作系统


当在搭建嵌入式视觉系统时,我们有几个操作系统可以选择。大多数的嵌入式系统不带操作系统,但是会被预装一个Linux系统或者可以升级到Windows系统的选项(只要硬件支持即可)。


另外一个主流的替代方案是安装一个安卓操作系统,主要是因为安卓的开源特性和在线支持第三方软件。当初始的安卓系统不能总是支持特定的嵌入式系统时,就可以采用第三方桥接软件允许安卓软件像APP一样在LINUX操作系统内运行。Odroid XU4loTDYesLattepandaDNoNoNvidia TX2NoDNoRaspberry Pi 3loTDNoMinnowboardDDYes上表中符号含义

loT: Windows Internet of Things Version

D: Full Desktop Version

当选择操作系统和嵌入式开发平台时,可以多多浏览相应的在线社区,看看是否有足够的“故障排除”支持,是否满足开发者的要求。


考虑2: 运行窗口

在写这篇文章时,我们选择展示这样一个系统:在Lattepanda上运行Windows。Lattepand是在预装了完整便携版的Windows10 家庭版中自带的开发板。许多其他嵌入式系统支持不同版本的Windows(家庭版,loT, 嵌入式等等)。特定的嵌入式系统的网站或者社区需要多去浏览,来判断是否适于运行Windows。



除了Lattepanda,我们还会采用Lumenera Lt545R这款嵌入式版本的相机。Lumenera相机需要Windows10, DirectX 和/或 DirectShow。有一些嵌入式系统没有预装架构,这就需要进行加装。

加装此类软件比较简单的方式,就是下载Visual Studios,然后在Visual Studios内单独下载Windows SDK。,因为在安装Lumenera 软件过程中,就会创建设备和架构的链接,所以在安装任何Lumenera软件前,都必须安装此类架构。如果在安装Visual Studios前就安装了Lumenera软件,就需要卸载Lumenera软件,然后重装,以保证相机能够正常工作。

提示:

在一些(更早)版本的Lattepanda上运行一个设备,且是USB3.0模式时,需要进行BIOS升级。详情参见支持页的更多细节

考虑3:软件

运行Windows的嵌入式系统的好处就是有大量的兼容性软件可以在嵌入式设备上进行运行。除了前面提到的Visual Studios ,也有其他的大型的开发环境。比较受嵌入式系统开发者欢迎的就是QT(www.Qt.io)。这是一个跨平台的架构,允许你开发一段代码,在基于Windows,Linux,MacOS,Android, iOS的不同系统中都可以应用。

Qt和Visual Studios, 以及其他的开发环境,都支持使用OpenCV。OpenCV是一个开源计算机可视库,多达47000多名的贡献者形成了这个可视库的强大社区。它支持Windows, Linux, MacOS, Android, 以及iOS, 同时它也有供C,C++,Python和Java的开发接口。

尽管之前的章节偏重于Windows操作系统,我们还是需要强调一下,不管选择什么样的操作系统,Qt和OpenCV的跨平台本质使得它们依然是重要的开发选项。它们可以允许解决方案更加便携,几乎不用修改代码,就可以同步在不同的操作系统下进行开发。


考虑4:产品升级便利性

选项一:模块化计算机(CoM)


当我们在规划一个有瞬间大量计算的系统时,就需要考虑模块化计算机(CoM)。模块化计算机是个单板计算机,它没有类似USB,网口或者HDMI等计算机接口。它只有运算需要的基本组成,比如CPU/GPU, RAM, 以及SSD。模块化计算机再和载体板连接,这个载体板上包含系统所需要的接口。这样的设计,经济性更好,体积更小,应用于室外场景时,需要更小的外壳和防雨水设计。在进行产品集成过程中,设计者就要统筹考虑模块化计算机,这样当嵌入式系统制造商在几年之内升级或者修改产品时,避免每次都不得不重新设计系统。


如果图像是:

· 用单个相机来采集的

· 被OpenCV 来进行实时处理

· 处理结果被发送到现场之外的位置


  对于相机而言,唯一需要的接口是USB,并且需要Wifi发射器被用来下载连接。既然Wifi连接允许远程进入,那就不需要额外的USB接口连接周边设备,比如键盘,鼠标,或者用于显示的HDMI接口。这就允许设计一个很小的定制载体板,载体板只要带了一个USB接口,天线用于Wifi,和输入电源接口即可。


选项二: Yocto Project 帮你创建定制的 Linux 系统和嵌入式产品                  

那些在开发具备实用功能的裸机系统的设计师,Yocto Project值得你注意。在所需要的工程基础上,该软件初始的帮助指令采用样板、工具、方式等来创建Linux的自定义分布。它提供一些免费工具,比如评估环境,调试器,以及应用工具包产生器,并提供大量的信息和文件可以给新用户或者高级开发者以参考。

Yocto Project同样也支持其他几种架构的开发,比如ARM, x86,x86-64, PPC, 以及MIPS。此外,它还提供Eclipse IDE插件和图形用户接口(GUI)来构建系统。


系统组成二:相机

室外用相机不得不工作在挑战性的照明环境下。改变光照是其中挑战性的工作之一,甚至于在采集单帧图像时也会有变化。伴随这个挑战的,室外图像还有几个其他因素需要考虑。这个章节将会介绍,在根据应用选择相机时,相机的哪些方面需要进行优化。更多的和应用相关的信息,在具体的应用解决方案中有详细介绍,比如“智能交通系统(ITS)”,“无人操控系统”,以及“室外智能安检系统”。


考虑1:快门类型

大部分的数字相机都有如下一种快门,卷帘(Rolling)快门和全局(Global)快门。卷帘快门是按照时序逐行对像素进行曝光来实现图像采集,而全局快门是同一时刻同时对所有像素进行曝光来实现图像采集。这一点在“如何设计一个视觉系统”文章中有所介绍。


理解快门的重要性在于,采用卷帘快门时,如果目标或者相机在移动时,图像会产生假象或者畸变。速度越高,畸变的程度就越高。

全局快门是消除这一现象的伟大方式,付出的代价就是帧频,噪声和灵敏度的下降。不出意外的话,卷帘快门的采集帧频要比全局快门要高,有更低的噪声,而且灵敏度更高。设计者需要参考相机的实际参数来对比帧频,噪声和灵敏度这些指标。


考虑2:采集帧频

有些相机的应用,受益于不断提高的采集帧频。更高的传输帧频,可以允许更高的采集频率,这在高速探测和分析中非常关键。同样,对于通过嵌入式计算系统来探测特定条件和触发一个事件时,高的采集频率也是很重要的。一般来说,比起硬件触发,软件触发更容易实现且成本更低。

提示:

根据奈奎斯特定理,相机的采集至少要两倍于实际帧频,而这个实际帧频是要保证事件被正确地采集和记录的最低帧频。

考虑3:A/D(Bit)深度

Bit深度明确说明了每个像素能够采集信号的数量。大多数人都熟悉分辨率的原理,分辨率越高,细节被重现的程度就越精细。Bit深度和分辨率相比并无不同,但是却能够帮助更好的分辨像素中的强度变化,这一点是通过更高的Bit深度而非看到图像中更多的细节来实现的。

换句话来说,选择某个特定的bit深度,决定了你用什么样的精度来测量像素中的电荷。更高的Bit深度是非常关键的。当在探测极端微小的颜色变化,而且恰恰这种这种颜色变化对于人类又是感觉不到的,那么更高的Bit深度就变得非常关键。

许多室外应用不需要Bit深度超过8 bit,除非这是一种精确的测量,比如照相测量法或者颜色分析应用。

*更多关于Bit深度的完整介绍,请参见网站www.lumenera.com,或者 www.teo.com.cn


考虑4:动态范围

动态范围决定相机的这样一种能力,假如同一张图像中既有很强的光,又有很弱的光,这种能力同样能够区分出强弱细节。室外成像中明暗差异是一种常见的挑战,比如图像中的太阳光部分以及遮挡后的阴影部分所造成的巨大差异。

这种挑战可以通过采用动态范围更大的相机来克服。提高增益或者曝光时间会使得图像中的明亮部分饱和,反之会降低阴暗部分的清晰度。通过查表或者调整相机的Gamma曲线也可以得到阴暗处和明亮处的部分细节,但是这并不能和更高动态范围的相机来相提并论。


*对于动态范围和信噪比的差别有疑问?请参见我们的网站www.lumenera.com, 或者 www.teo.com.cn


考虑5:噪声

在昏暗照明下的景色中,噪声的冲击更大,因为信噪比被大幅降低了。作为补偿,曝光时间和增益一起,通常都被增加了。在测试运动物体时,因为曝光时间在达到某个点以后就不能增加了,所以一般就用调整增益的方式来加亮景色中的暗处图像。然而,在增加增益时,图像中的噪声也同样被增加了,图像中会增加很多噪点。对比曝光时间和增益这一点,在我们网站中也有论述。


上表中,绿色框内标注为:读出噪声值


在弱光背景下要实现实现稳定可靠的图像采集,选择一台低噪声的相机是非常重要的。需要特别关注的噪声就是读出噪声。因为相对较短的曝光时间,暗电流噪声(单位:电子/秒)和读出噪声(单位:电子)相比,冲击要小得多。不管你曝光时间长短,读出噪声在每次采集图像时都会发生。读出噪声越高,针对阴暗目标的采集图像,就会有越高的噪声,采用高增益时,噪声就会更加明显。


系统组成三:镜头,照明,和滤光片

除了相机和嵌入式系统之外,还有几个图像组成也需要整体考虑一下。第一并且是重要的:相机需要镜头。其次,有些应用,当太阳光不充足时,需要外部照明光源来补光。还有一些应用中,有些特定波长的光强过大,就需要滤光片来消除这些特定波长的光。

这个章节会逐次说明介绍这些部件,来帮助您决定哪些是更优选择。您也可以重新访问网站www.lumenera.com, 或者www.teo.com.cn, 再次了解关于这些部件的介绍。


考虑1:镜头

选择镜头时,有几个重要的考虑因素,比如:工作距离,视场角,相机的芯片尺寸,以及分辨率。要决定你的应用需要哪些镜头,我们推荐您参考我们的“用于视觉系统的镜头技术白皮书”。它会帮助您决定镜头需要的焦距,分辨率,芯片尺寸通用性。下面这些镜头选项,在进行室外视觉系统设计时需要进行考虑。

选项一:昼/夜镜头

选择镜头时主要需要考虑的因素就是系统工作的时间是白天中的哪个时间段。如果系统在白天的所有时段都要使用,很有可能就需要昼/夜镜头。昼夜镜头做了红外光矫正,使得镜头可以在晚上也可以使用。另外,多光谱应用中,也是需要可见光和红外光,所以也需要红外矫正的镜头。

选项二:可变光圈镜头

室外应用中,挑战性的就是光强的变化幅度大并且不可以预估。采用光圈可变的镜头,就引入了另外一个参数,通过它的配置可以实现对图像亮度的调节。

在机器视觉市场,大家所熟知的精确的光圈光圈镜头,就是P-光圈镜头。他们采用非常精确的步进电机来准确的设置有效通光口径。这种镜头,他们远比上一代产品(DC-光圈镜头)准确的多,并且不会因为其光圈不能保持设定而引起困扰,虽然这种光圈保持在DC-光圈镜头中也非常常见。


考虑2:照明

之前曾经提到,如果采用IR照明光源,如果在整个波长范围内都要采集到分辨清晰的图像,很关键的就是需要采用红外矫正的光学元件。如果不需要红外照明光源,昼夜镜头这个章节的介绍可以忽略。


不管照明是哪个波长的光,重要的是要有个稳定的触发信号,来确保相机在曝光时,闪光灯被触发打开。相比较而言,更希望采用基于相机的触发方式而非嵌入式系统的触发,因为后者触发会有一点点延迟。如果嵌入式系统同时触发相机和闪光灯时,会有一定的延迟,主要是因为嵌入式系统的计算处理过程需要时间,从而导致对图像的照明不佳。

再次强调,当我们需要昼夜都进行图像采集而需要矫正光源和相机时,P-光圈镜头和DC-光圈镜头相比,我们推荐前者。在持续保持正确的光圈设置时,P-光圈镜头在可靠性方面要高的多。所需图像会持续进行曝光,减少甚至消除后期处理的需要。


考虑3:滤光片

在进行视觉系统设计时,要减少强光效应或者隔绝特定某个波长的影响时,滤光片是一个非常有效的方式。这种方式能够帮助提升相对的信噪比,这样嵌入式计算系统就更容易对图像进行分析。

在都市应用中,在降低太阳的强光方面,偏振滤光片也是非常有用的。它允许相机透过相机进行观测并降低强光,从而更容易进行颜色观测。从下面的照片可以看到,当采用偏振滤光片后,汽车外部的红色更加均匀,也更容易看的到汽车内部。在采用偏振滤光片时,我们也要意识到,因为偏振去掉了50%的光线,所以需要更强的光线或者采用更灵敏的相机。


其他的滤光片(比如双波长或者三波长的带通滤光片)也可以用在特殊的,多波长的应用。这里,几个特定的波长被阻隔掉,然后通过数学公式对图像进行分析。也有可见光+近红外的滤光片,允许闪光灯中很窄波段的近红外光线进入相机来进行夜间操作。相机中的近红外截止滤光片将会被这样一种滤光片所替代,它允许彩色相机和近红外的闪光灯一起使用。然而,重要的是也要注意到,这种方式会降低颜色方面的准确性,因为白天太阳光中的近红外光,会反向冲击相机的颜色响应。

室外嵌入式视觉系统中,需要考虑嵌入式计算机,相机,镜头,照明以及滤光片的重要性。

采用嵌入式计算机和相机的视觉系统,和中心计算系统相比有明显的几个优势,所以变得越来越收欢迎,同时嵌入式系统的价格也在逐渐下降。嵌入式系统能够实现接近实时的分析,采用神经网络进行决策,传输最终结果,而不是仅仅把原始数据传回到中心数据中心。

当设计一个有嵌入式计算机的系统时,需要认真考虑如何选择软件和硬件。OpenCV 这样的开源社区正变得不可思议的可靠,因为这种开源软件和注册软件变得一样好,任何购买注册软件的决定都变得越来越难。


为室外应用的嵌入式系统来选择相机时,下面这些因素需要考虑:

快门:如果是快速移动的应用,全局快门会消除成像畸变。

帧频:如果是运动分析或者采用基于软件的规则来触发事件时,会需要到更高帧频的相机。

Bit深度:如果应用是精确测量或者颜色分析,希望Bit深度尽可能大。

动态范围:如果目标中同时有明亮的区域和阴暗的区域,那么就希望动态范围越大越好。

最后,希望读出噪声尽可能小,这样在弱光测试时就可以采用较大的增益。


围绕着镜头,滤光片和照明等周边部件,还有其他考虑:

· 当不同的曝光帧频中照明光会改变时,可变光圈镜头会增加系统的自由度。

· 采用P-光圈镜头时,可以保证准确和可靠的通光设置。

· 当采用额外的近红外照明或者多光谱应用且延展到近红外时,必须选用昼夜镜头(IR矫正的)来避免色差,没矫正过的镜头所带来的色差会导致图像的锐度下降。

· 在关键波长或者降低图像的强光方面,滤光片也能帮助提升SNR(信噪比)。它允许相机透过玻璃观察内部并得到更准确的颜色。


在选择一个户外嵌入式视觉系统时,上面所列,尽管并非一个独家的考虑清单,但却需要优先考虑这些内容,从而帮助你来进行第一步的正确选择。

Lumenera理解你的成像所需,不管你的应用是什么,我们在这里都能帮助你得到所需要的相机。所有的Lumenera相机都是1年的质保期,由我们经验丰富的技术团队和专家来支援。

如果您在选择相机或者部件时需要任何帮助,请随时联系我们的技术专家。

慕尼黑展览(上海)有限公司

上海市浦东新区世纪大道1788-1800号陆家嘴金控广场T1塔楼11层

邮编 200120

电话: +86 21 2020 5500
传真: +86 21 2020 5688
info@mm-sh.com