机器视觉--相机
- 在拍摄高速运动物体的场合,要选用逐行扫描摄像机或使用隔行扫描摄像机的场采集方式采集图像。
- 线阵摄像机适合于目标物体幅面大,或缺陷尺寸微小的场合,如:印刷质量检测,PCB板检测,布匹或棉花的检测,颗粒(粮食、水果等)检测等。
- CCD和CMOS的主要性能比较
- 满阱容量差异:由于CMOS传感器的每个像素包括一个感光二极管、放大器和读出电路,同时整个传感器还包括寻址电路和A/D,使得每个像素的感光区域远小于像素本身的表面积,因此在像素尺寸相同的情况下,CMOS传感器的满阱能力要低于CCD传感器。
- 成本差异:由于CMOS传感器采用一般半导体电路最常用的CMOS工艺,可以轻易地将周边电路(如AGC、CDS、时序、或DSP等)集成到传感器芯片中,因此可以节省外围芯片的成本。
- CMOS 传感器可以随机寻址,能够非常方便地仅将队列中感兴趣地部分读出,提高帧率。
- 噪声差异:由于CMOS传感器的每个感光二极管都搭配一个放大器,而放大器属于模拟电路,很难让每个放大器所得到的结果保持一致,因此与只有一个放大器在水平寄存器输出端的CCD传感器相比,CMOS传感器的噪声就会增加很多,影响图像品质。
- 功耗差异:CMOS传感器的功耗低于CCD传感器。
- 最大行频
- 指线阵摄像机每秒钟能够输出的最大行数。
- 最大帧率
- 指面阵摄像机每秒钟能够采集并输出的最大帧数。限制最大帧率的因素有:曝光时间、数据读出时间(图像数据从传感器传送到摄像机内部FIFO或存储器的时间)、数据传输时间(图像数据从摄像机内部FIFO或存储器到PC的时间)、像素深度和信号输出格式。
手册上通常列出的是在最大分辨率下的帧率。如果采用部分扫描或binning技术,会提高摄像机的输出帧率。当然,前者缩小了采集视场,后者降低了分辨率。
- 指面阵摄像机每秒钟能够采集并输出的最大帧数。限制最大帧率的因素有:曝光时间、数据读出时间(图像数据从传感器传送到摄像机内部FIFO或存储器的时间)、数据传输时间(图像数据从摄像机内部FIFO或存储器到PC的时间)、像素深度和信号输出格式。
- 像素深度
- 像素深度是指每个像素用多少比特位表示。一般来说,每个像素的比特位数多,表达图像细节的能力强。
- 信噪比
- 信噪比是指测量到的信号与测量到的总噪声之比。
- 动态范围
- 动态范围用来描述每个像素能够分辨出的灰度等级。它是饱和电压(最大的输出电平)摄像机输出的噪声之比。宽动态范围能够使场景中非常亮和非常昏暗部分的细节同时被清晰的显示,如人背向站在非常亮的光线下,背景的细节和人脸上的细节都能够看的非常清晰。
- 感光度
- 摄像机的感光度(响应度)定义摄像机在固定曝光量下的灵敏性特性,它与照射的光波的波长有关。
- 图像采集方式
- 图像采集方式主要是指 (1) 什么时候开始采集?(2) 曝光的长度?(3) 如何结束采集?
- 开始采集通常有软件采集和外部硬件信号触发采集二种。软件采集是计算机向摄像机发出开始采集命令,可以是单帧采集或多帧连续采集;外触发采集是通过外部触发信号启动采集,信号可以是上升沿或下降沿触发或电平触发。
- 曝光时间,软件命令采集是通过对寄存器编程设置实现不同长度的曝光;外触发采集的沿触发方式也是通过寄存器编程设置实现,电平触发则是用触发的电平的持续时间控制的。
- 采集结束控制主要针对软件采集,单帧采集结束后自动清除采集命令,连续采集要由计算机发出命令清除设置的采集命令。
- 曝光(快门)
- 快门就是控制曝光时间。传统的照相机是通过机械快门对照射在底片上的光进行遮光动作实现曝光控制。在CCD或CMOS摄像机中是利用电子快门实现曝光控制。照射在传感器上的光不断发生光电转换,电子快门的原理是只储存一定曝光时间的信号电荷,然后进行输出。
- 常用的电子快门有二种工作方式: global shutter(帧曝光),rolling shutter(逐行曝光)。
- Global shutter 是传感器阵列中所有像素同时曝光,曝光周期由预先设定的快门时间确定。一些CMOS传感器使用rolling shutter,传感器上的所有像素不是同时曝光,而是同一行上的像素同时曝光,不同行的曝光起始时间是不同的。图像上的第一行最先曝光,最先结束,后面的行开始和结束曝光均比前一行略有延迟,相互有交迭,每一行的曝光时间是相同的,行间的延迟是不变的。
- 由于在Rolling shutter方式下,整个图像曝光需要一定的时间,对于高速运动的物体,会造成图像模糊、变形。
- 效果比较
- Binning
- Binning是感光后的像素在传感器中进行合并后再输出。像素的合并可以是行之间,也可以是列之间,因此有垂直binning和水平binning。垂直binning是把相邻的两行移到水平移位寄存器中,然后一同移位输出;水平binning是把水平移位寄存器中的相邻像素移到放大器中,在相邻像素间不复位。
显而易见,相邻像素binning,信号电荷增加一倍,摄像机对光的灵敏度增加6dB,信噪比提高3dB。当然,binning后的图像空间分辨率降低了。
- Binning是感光后的像素在传感器中进行合并后再输出。像素的合并可以是行之间,也可以是列之间,因此有垂直binning和水平binning。垂直binning是把相邻的两行移到水平移位寄存器中,然后一同移位输出;水平binning是把水平移位寄存器中的相邻像素移到放大器中,在相邻像素间不复位。
- Blooming
- Blooming是指被拍摄的场景中有非常亮的部分,在光电转换过程中,传感器上对应非常亮的部分的像素电荷超出了满阱能力,溢出到周围相邻像素,画面上产生白斑。
- Smear(漏光)
- Smear现象是指当拍摄对像中含有高亮度的光线或太阳光时,高亮度部分上下方可看见很亮的垂直白线或白带。不同的CCD结构,产生smear的机理也有所不同。
- 摄像机选型的基本原则
- 根据检测项目的需求和待检目标的特点确定选用面阵摄像机还是线阵摄像机
- 确定选用彩色摄像机还是单色摄像机。在一些颜色分类的场合,选用单色摄像机配合不同光谱的光源或滤色片,也会使处理简化
- 定义待检目标的最小特征和检测视场,由此确定摄像机的分辨率
- 根据目标运动速度和通过率,确定摄像机的帧率(行频)
- 根据处理需求,选择摄像机的智能特性,如: 平场校正,LUT, binning等
如何选择工业相机
工业相机是机器视觉系统及工业检测应用的重要组成部分,但如何选择合适的工业相机?选择工业相机前,首先要清楚自己的检测任务,是拍静态还是动态,拍照的频率是多少,是做缺陷检测还是尺寸测量,或者是定位,产品的大小(视野)是多少,需要达到多少精度,现场环境情况如何,有没有其它的特殊要求等。在这里根据我们的经验做个总结。希望帮助大家在选购工业相机时能够做到心中有数,真正能选购到适合自己的相机。
模拟相机&数字相机
模拟相机必须带数字采集卡,经数字采集卡转换为数字信号进行传输存储。一般模拟相机分辨率很低,另外帧率也是固定的。模拟信号可能会由于工厂内其他设备(比如电动机或高压电缆)的电磁干扰而造成失真。随着噪声水平的提高,模拟相机的动态范围(原始信号与噪声之比)会降低。动态范围决定了有多少信息能够被从相机传输给计算机。
数字相机采集到的是数字信号,数字信号不受电噪声影响,因此,数字相机的动态范围更高,能够向计算机传输更精确的信号。这个要根据实际需求来选择。
分辨率
分辨率不是越高越好,是要根据系统实际应用需求来选择分辨率的大小。
应用案例:假设检测一个物体的表面划痕,要求拍摄的物体大小为10*8mm,要求的检测精度是0.01mm。首先假设我们要拍摄的视野范围在12*10mm,那么相机的最低分辨率应该选择在:(12/0.01)*(10/0.01)=1200*1000,约为120万像素的相机,也就是说一个像素对应一个检测的缺陷的话,那么最低分辨率必须不少于120万像素,但市面上常见的是130万像素的相机,因此一般而言是选用130万像素的相机。但实际问题是,如果一个像素对应一个缺陷的话,那么这样的系统一定会极不稳定,因为随便的一个干扰像素点都可能被误认为缺陷,所以我们为了提高系统的精准度和稳定性,最好取缺陷的面积在3到4个像素以上,这样我们选择的相机也就在130万乘3以上,即最低不能少于300万像素,通常采用300万像素的相机为最佳(我见过最多的人抱着亚像素不放说要做到零点几的亚像素,那么就不用这么高分辨率的相机了。比如他们说如果做到0.1个像素,就是一个缺陷对应0.1个像素,缺陷的大小是由像素点个数来计算的,试问0.1个像素的面积怎么来表示?这些人以亚像素来忽悠人,往往说明了他们的没有常识性)。换言之,我们仅仅是用来做测量用,那么采用亚像素算法,130万像素的相机也能基本上满足需求,但有时因为边缘清晰度的影响,在提取边缘的时候,随便偏移一个像素,那么精度就受到了极大的影响。故我们选择300万的相机的话,还可以允许提取的边缘偏离3个像素左右,这就很好的保证了测量的精度。
CCD&CMOS
如果要求拍摄的物体是运动的,要处理的对象也是实时运动的物体,当然选择迪美捷全帧曝光的CCD芯片相机为最适宜。但有的厂商生产的CMOS相机如果采用帧曝光的方式的话,也可以当作CCD来使用的。又假如物体运动的速度很慢,在我们设定的相机曝光时间范围内,物体运动的距离很小,换算成像素大小也就在一两个像素内,那么选择CMOS相机也是合适的。因为在曝光时间内,一两个像素的偏差人眼根本看不出来(如果不是做测量用的话),但超过2个像素的偏差,物体拍出来的图像就有拖影,这样就不能选择CMOS相机了。
彩色&黑白
如果我们要处理的是与图像颜色有关,那当然是采用彩色相机,否则建议你用黑白的,因为黑白的同样分辨率的相机,精度比彩色高,尤其是在看图像边缘的时候,黑白的效果更好。
帧率
根据要检测的速度,选择相机的帧率一定要大于或等于检测速度,等于的情况就是你处理图像的时间一定要快,一定要在相机的曝光和传输的时间内完成。
线阵&面阵
对于检测精度要求很高,面阵相机的分辨率达不到要求的情况下,当然线阵相机是必然的一个选择。
传输接口
根据传输的距离、稳定性、传输的数据大小(带宽)选择USB、1394、Camerlink、百兆/千兆网接口的相机。
CCD靶面
靶面尺寸的大小会影响到镜头焦距的长短,在相同视角下,靶面尺寸越大,焦距越长。在选择相机时,特别是对拍摄角度有比较严格要求的时候,CCD靶面的大小,CCD与镜头的配合情况将直接影响视场角的大小和图像的清晰度。因此在选择CCD尺寸时,要结合镜头的焦距、视场角一起选择,一般而言,选择CCD靶面要结合物理安装的空间来决定镜头的工作距离是否在安装空间范围内,要求镜头的尺寸一定要大于或等于相机的靶面尺寸。
镜头的选择
先根据环境的远近选择镜头焦距;再根据观看的范围选择镜头角度;
相机的价格
同样参数的相机,不同的厂家价格各不相同,这就靠大家与厂家沟通和协商了。一般说来,如果你有量的话,整体价格跟你单买一个的价格是差别很大的。
举例说明工业相机的选择原则:如检测任务是尺寸测量,产品大小是18mm*10mm,精度要求是0.01mm,流水线作业,检测速度是10件/秒,现场环境是普通工业环境,不考虑干扰问题。首先知道是流水线作业,速度比较快,因此选用逐行扫描相机;视野大小我们可以设定为20mm*12mm(考虑每次机械定位的误差,将视野比物体适当放大),假如能够取到很好的图像(比如可以打背光),而且我们软件的测量精度可以考虑1/2亚像素精度,那么我们需要的相机分辨率就是20/0.01/2=1000pixcel(像素),另一方向是12/0.01/2=600pixcel,也就是说我们相机的分辨率至少需要1000*600pixcel,桢率在10桢/秒,因此选择1024*768像素(软件性能和机械精度不能精确的情况下也可以考虑1280*1024pixcel),帧率在10桢/秒以上的即可。
数字摄像头常见技术参数
1、分辨率(Resolution)
所谓分辨率就是指画面的解析度,摄像头每次采集图像的像素点数(Pixels),对于摄像头一般是直接与传感器的像元数对应。通常所看到的分辨率都以乘法形式表现的,比如1024*768,其中的1024表示屏幕上水平方向显示的点数,768表示垂直方向的点数。对于模拟摄像头则是取决于视频制式,PAL制为768*576,NTSC制为640*480。
2、最大帧率(Frame Rate)/行频(Line Rate):
摄像头采集传输图像的速率,对于面阵摄像头一般为每秒采集的帧数(Frames/Sec.),对于线阵摄像机为每秒采集的行数(Hz)。
3、曝光方式(Exposure)和快门速度(Shutter)
对于线阵摄像头都是逐行曝光的方式,可以选择固定行频和外触发同步的采集方式,曝光时间可以与行周期一致,也可以设定一个固定的时间;面阵摄像头有帧曝光、场曝光和滚动行曝光等几种常见方式,数字摄像头一般都提供外触发采图的功能。快门速度一般可到10微秒,高速摄像头还可以更快。
4、像素深度(Pixel Depth):
即每像素数据的位数,一般常用的是8Bit,对于数字摄像机一般还会有10Bit、12Bit等。
5、像元尺寸(Pixel Size):
像元大小和像元数(分辨率)共同决定了摄像头靶面的大小。目前数字摄像头像元尺寸一般为3μm-10μm。
6、光谱响应特性(Spectral Range):
是指该像元传感器对不同光波的敏感特性,一般响应范围是350nm-1000nm,一些摄像头在靶面前加了一个滤镜,滤除红外光线,如果系统需要对红外感光时可去掉该滤镜。
7、感光区靶面尺寸:
指摄像头感光芯片大小,分别有1英寸,2/3英寸,1/2英寸,1/3英寸,1/4英寸等等,英寸数越小,所照的视场范围越小。
- 图像处理器和采集卡属于相对容易选择的电子装置,它们的主要参数是存储能力和处理速度。
- CCD和CMOS二者在图像质量上没有明显的优劣之分。基于CMOS的工业相机需要的部件较少,电耗较低,提供数据的速度也比基于CCD的相机快; 但CCD则是更为成熟的技术,能够以较低的噪声提供质量更好的图像,而弱点是数据传输速度较慢,不太灵活,部件较多和电耗较高。
- 影响相机价格因素
- 典型情况下,由于传感器尺寸的原因,像素数越高的相机就越昂贵。
- 在一定的分辨率下,帧速提高,成本也趋向于增加。
- 时提高帧速和分辨率通常要求相机具有多端口读出,这使系统的复杂程度增加,因而提高了成本。
- CCD和CMOS芯片在内部都生成模拟信号,因此,模拟相机和数字相机之间的主要区别在于图像是在哪里被数字化的。数字相机在相机里将信号数字化,并且通过串行总线接口(比如FireWire, USB, Camera Link, Gigabit Ethernet)将信号以数字方式传输给计算机(或图像处理器)。而在另一方面,模拟相机系统并不是在其内部将图像信号数字化(数字化是由计算机完成的),所以,模拟信息是通过同轴电缆而进行传输的。
- 尽管两种方法都能够有效地传输信号,但模拟信号可能会由于工厂内其他设备(比如电动机或高压电缆)的电磁干扰而造成失真。随着噪声水平的提高,模拟相机的动态范围(原始信号与噪声之比)会降低。动态范围决定了有多少信息能够被从相机传输给计算机。
- 典型的模拟相机需要5瓦到10瓦操作功率,而分辨率指标相当的数字相机则不到1瓦
- 结论:为机器视觉系统选择相机时要认真考虑工业相机的性能和成本。虽然工业模拟相机远比工业数字相机便宜,但它们的分辨率和图像质量较低,所以可能会被局限在要求不太高的应用中。数字相机比模拟相机昂贵,但它们的高成本可能值得为要求高速度、高准确度和高精度的应用而付出。