【图像处理】工业相机原理详述 (转载)
转自: https://blog.csdn.net/HelloZEX/article/details/80905095
工业相机是机器视觉系统中的一个关键组件,其最本质的功能就是将光信号转变成有序的电信号。选择合适的相机也是机器视觉系统设计中的重要环节,相机的选择不仅直接决定所采集到的图像分辨率、图像质量等,同时也与整个系统的运行模式直接相关。
欢迎关注微信公众号“智能算法”!
一. 相机的芯片类型:
一般情况下,工业相机按照芯片类型可以分为CCD相机和CMOS相机,当然也有一些其他的芯片,比如富士公司生产的Super CCD芯片。这里我们只讨论市场主流的CCD相机和CMOS相机的工作原理。数码相机的CCD和CMOS都深藏于相机内部,就算您有机会看到它们的样子,也很难进行区分。
CCD芯片相机:
CCD芯片工作原理,如图所示:
在感光像点接受光照之后,感光元件产生对应的电流,电流大小与光强对应,因此感光元件直接输出的电信号是模拟的。在CCD传感器中,每一个感光元件都不对此作进一步的处理,而是将它直接输出到垂直寄存器,传到水平寄存器中,最后才能形成统一的输出。由于感光元件生成的电信号实在太微弱了加上在此过程中会产生大量电压损耗,无法直接进行模数转换工作,因此这些输出数据必须做统一的放大处理—这项任务是由CCD传感器中的放大器专门负责,经放大器处理之后,每个像点的电信号强度都获得同样幅度的增大;因信号只通过一个放大器进行放大,所以产生的噪点较少。但由于CCD本身无法将模拟信号直接转换为数字信号,因此还需要一个专门的模数转换芯片进行处理,最终以二进制数字图像矩阵的形式输出给专门的DSP处理芯片。
CMOS芯片相机:
CMOS工作原理,如图所示:
而对于CMOS传感器,上述工作流程就完全不适用了。CMOS传感器中每一个感光元件都直接整合了放大器和模数转换逻辑,当感光二极管接受光照、产生模拟的电信号之后,电信号首先被该感光元件中的放大器放大,然后直接转换成对应的数字信号。换句话说,在CMOS传感器中,每一个感光元件都可产生最终的数字输出,所得数字信号合并之后被直接送交DSP芯片处理,问题恰恰是发生在这里,CMOS感光元件中的放大器属于模拟器件,无法保证每个像点的放大率都保持严格一致,致使放大后的图像数据无法代表拍摄物体的原貌—体现在最终的输出结果上,就是图像中出现大量的噪声,品质明显低于CCD传感器,不过目前这方面的技术已大幅改善。
二. 黑白相机成像原理:
以CCD原理为例,CCD原理并不复杂。我们可以把它想象成一个顶部被打开的记忆芯片。因此光束可以射到记忆单元中。根据"光电效应”,这些光束在记忆单元中产生负电荷(下图中右上部分)。
曝光后,这些电荷被读出,进而被相机处理单元进行预处理。从相机处理单元输出的就是一幅数字图像。
三. 彩色彩色成像原理:
CCD芯片将光子转换为电子,在这一过程当中,光子数目与电子数目互成比例。但光子还有另外一个特征值——波长(波长决定颜色),而这条信息却没有在这个过程中被转换为电子。因此,从这个意义上说,CCD芯片都可以被称为色盲。所以彩色相机的成像稍微复杂些,目前主要有两种方式:三棱镜方式和滤光片方式,下面分别介绍:
三棱镜方式:
为了获取光线的颜色信息,我们很容易想到用三棱镜将光束分成单色光,然后分别成像,对,三棱镜方式就是这个原理,如下图:
它将从镜头射入的光分成三束,每束光都由不同的内置光栅来过滤出某一种三原色,然后使用三块CCD分别感光。这些图象再合成出一个高分辨率、色彩精确的图象。如300万像素的相机就是由三块300万像素的CCD来感光。也就是可以做到同点合成,因此拍摄的照片清晰度相当高。该方法的主要困难在于其中包含的数据太多。在你照下一张照片前,必须将存储在相机的缓冲区内的数据清除并存盘。因此这类相机对其他部件的要求非常高,其价格自然也非常昂贵。
滤光片方式:
当然,为了获取光线的颜色信息,我们很容易想到用滤光片来实现,原理图如下:
在该图中,每个感光元件对应图像传感器中的一个像点,由于感光元件只能感应光的强度,无法捕获色彩信息,因此必须在感光元件上方覆盖彩色滤光片。在这方面,不同的传感器厂商有不同的解决方案,最常用的做法是覆盖RGB红绿蓝三色滤光片,以1:2:1的构成由四个像点构成一个彩色像素(即红蓝滤光片分别覆盖一个像点,剩下的两个像点都覆盖绿色滤光片),采取这种比例的原因是人眼对绿色较为敏感。而索尼的四色CCD技术则将其中的一个绿色滤光片换为翡翠绿色(英文Emerald,有些媒体称为E通道),由此组成新的R、G、B、E四色方案。不管是哪一种技术方案,都要四个像点才能够构成一个彩色像素。
从上图我们看到,经过相机处理单元之后,上图右上角中的空白值,被补上了255,这里牵涉到色彩插值,详见下:
色彩插值:
一开始我们将使用在用于成像与测量的单CCD相机(测量)一节中介绍过的数字原始图像。为了简单起见,该数字原始图像、它的源图及拜尔滤光片都被列于下图。
这里介绍两种简单的插值方式:
复制临近像素法:
填补缺失的色彩值的最简单方法就是从临近像素中获取色彩值。让我们以第二行第一个绿色像素(来自拜尔滤光片)为例(如下图中被加粗黑框之像素所示)。
在源图像中该点实际是红色,但经拜尔滤光片绿色像素过滤后色彩值变为零。我们只需要把临近红蓝像素中的红色与蓝色值(见上图)复制到该像素中,就能获得其RGB值(255,0,0)。就上图所示例子而言,插值法产生了正确的RGB值。但在实际应用当中,对于静止图像,这种简单的插值法所生成的结果是不可接受的。但由于它并不耗费多少时间,我们可以将其用于对质量标准要求不高的视频数据流中(例如视频预览)。
临近像素均值法(双线性插值):
我们可以对“复制插值法”作出的第一个改进就是使用若干临近像素的均值。如图所示,这种方法同样可以得到正确的RGB值(255,0,0)。但第二个例子指出了均值法的一个重大缺陷:均值法有低通特性,并由此将清晰的边界钝化。RGB值本应是(255,0,0),但实际上变成了(255,128,64),因此该点变成了棕橙色。
今天相机中所使用的插值法的性能要大大高于前面介绍的这两种基本方法。A Study of Spatial Color Interpolation Algorithms for Single-Detector Digital Cameras一文 对这些算法做了很好的介绍和比较。
四. 相机接口类型:
GIGE千兆网接口:
千兆网协议稳定,该接口的工业相机是近几年市场应用的重点。使用方便,连接到千兆网卡上,即能正常工作。
在千兆网卡的属性中,也有与1394中的Packet Size类似的巨帧。设置好此参数,可以达到更理想的效果。
传输距离远,可传输100米。可多台同时使用,CPU占用率小。
USB2.0接口:
所有电脑都配置有USB2.0接口,方便连接,不需要采集卡。
USB2.0接口的相机,是最早应用的数字接口之一,开发周期短,成本低廉,是目前最为普通的类型,缺点是其传输速率较慢,理论速度只有480Mb(60MB)。
在传输过程中CPU参与管理,占用及消耗资源较大。USB2.0接口不稳定,相机通常没有坚固螺丝,因此在经常运动的设备上,可能会有松动的危险。传输距离近,信号容易衰减。
USB3.0接口:
USB 3.0的设计在USB 2.0的基础上新增了两组数据总线,为了保证向下兼容,USB 3.0保留了USB 2.0的一组传输总线。
在传输协议方面,USB 3.0除了支持传统的BOT协议,新增了USB Attached SCSI Protocol (USAP),可以完全发挥出5Gbps的高速带宽优势。
由于总线标准是近几年才发布,所以协议的稳定性同样让人担心。传输距离问题,依然没有得到解决。
Camera Link接口:
需要单独的Camera Link接口,不便携,导致成本过高。传输速度是目前的工业相机中最快的一种总线类型。
一般用于高分辨率高速面阵相机,或者是线阵相机上。
传输距离近,可传输距离为10米。
1394(火线):
1394接口,在工业领域中,应用还是非常广泛的。协议、编码方式都非常不错,传输速度也比较稳定,只不过由于早期苹果的垄断,造成其没有被广泛应用。
1394接口,特别是1394B口,都有坚固的螺丝。1394接口不太方便的地方是其未能普及,因此电脑上通常不包含其接口,因此需要额外的采集卡,传输距离仅为4.5米。
占用CPU资源少,可多台同时使用,但由于接口的普及率不高,已慢慢被市场淘汰。
五. 线阵和面阵相机:
面阵:
上面我们所说的相机均属于面阵相机,相机像素是指这个相机总共有多少个感光晶片,通常用万个为单位表示,以矩阵排列,例如3百万像素、2百万像素、百万像素、40万像素。百万像素相机的像素矩阵为W*H=1000*1000。相机分辨率,指一个像素表示实际物体的大小,用um*um表示。数值越小,分辨率越高。
线阵:
线阵相机是一类特殊的视觉机器。与面阵相机相比,它的传感器只有一行感光元素,因此使高扫描频率和高分辨率成为可能。线阵相机的典型应用领域是检测连续的材料,例如金属、塑料、纸和纤维等。被检测的物体通常匀速运动 , 利用一台或多台相机对其逐行连续扫描 , 以达到对其整个表面均匀检测。可以对其图象一行一行进行处理 , 或者对由多行组成的面阵图象进行处理。另外线阵相机非常适合测量场合,这要归功于传感器的高分辨率 。
六. 相机常见参数介绍:
1. 分辨率(Resolution):相机每次采集图像的像素点数(Pixels),对于工业数字相机一般是直接与光电传感器的像元数对应的,对于工业数字模拟相机则是取决于视频制式,PAL制为768*576,NTSC制为640*480。
2. 像素深度(Pixel Depth):即每像素数据的位数,一般常用的是8Bit,对于工业数字数字相机一般还会有10Bit、12Bit等。
3. 最大帧率(Frame Rate)/行频(Line Rate):相机采集传输图像的速率,对于面阵相机一般为每秒采集的帧数(Frames/Sec.),对于线阵相机机为每秒采集的行数(Hz)。
4. 曝光方式(Exposure)和快门速度(Shutter):对于工业线阵相机都是逐行曝光的方式,可以选择固定行频和外触发同步的采集方式,曝光时间可以与行周期一致,也可以设定一个固定的时间;面阵相机有帧曝光、场曝光和滚动行曝光等几种常见方式,工业数字相机一般都提供外触发采图的功能。快门速度一般可到10微秒,高速相机还可以更快。
5. 像元尺寸(Pixel Size):像元大小和像元数(分辨率)共同决定了相机靶面的大小。目前工业数字相机像元尺寸一般为3μm-10μm,一般像元尺寸越小,制造难度越大,图像质量也越不容易提高。
6. 光谱响应特性(Spectral Range):是指该像元传感器对不同光波的敏感特性,一般响应范围是350nm-1000nm,一些相机在靶面前加了一个滤镜,滤除红外光线,如果系统需要对红外感光时可去掉该滤镜。