发布时间:2017-10-29
对速度和分辨率的需求推动着机器视觉系统转向数字图像采集技术。当从模拟转向数字相机时你需要考虑学习这个五个关键因素。
对一项检测来说图像分辨率有两个因素决定:需求的视场和图像处理系统能够解决的最小尺寸。当然,镜头、光源、机械装置和其它因素也会起作用,但是,如果我们将讨论限制到像素,我们能避免接受这些话题,而专注于相机特性。
举个基本的例子,如果一个饮料包装系统必须验证盒子在密封之前是否装满,对相机来讲需要对上面的内容进行成像,来验证24只瓶盖是否存在。这很好理解,因为瓶子和盖子是一一对应的,在这个图像中最小的特征就是盖子,那么盖子就必须要解决的。
一旦确定好应用彩色和最小的特征,需求的相机分辨率就能初步确定了。可以估计,当盒子被成像时,瓶盖在一个黑背景下都能凸现出来。随着瓶盖变圆,图像将随着两个边缘间隔所形成的圆圈呈现出来。边缘是图像从暗的地方过渡到亮的地方,或从亮的地方过渡到暗的地方这些点所构成的。间距就是在边缘之间的直接距离。
在这点上,有必要定义每个边缘点代表的像素个数。在这个应用中,每个边缘点由三个像素,间距由四个像素就是充足的。因此,在图像中25mm瓶盖可由10个像素来定义。从这里,我们就能确定一个像素代表物体的2.5mm。
现在我们能确定整个相机的分辨率了。选择对象的400mm来代表相机的水平分辨率,那么相机需要水平分辨率最小值为400/2.5=160像素。在垂直方向上,相机需要250/2.5=100像素的垂直分辨率。另外对水平和垂直分辨率各自添加10%的富裕,因为在视场内对象位置的变化,这样计算下来最小的相机分辨率大约为176(H)×110(V).
如果这样分辨率的相机可用,那么获取的图像可如图1所示。注意比背景相对亮的一簇像素代表瓶盖。在这幅图中,基本上能够区分出这里有24个瓶盖,但再小就不太容易了。
如果选择更高分辨率的相机,比如640×480,这是非常用到的,将产生出更高质量的图像,它能获得更多的图像细节(比如印记),如图2所示。
1. 提高分辨率的优缺点
虽然更高分辨率相机有助于提高精确度,通过分析更清晰的,更精细的图像,但是降低了速度。数字相机传输图像数据是由一系列代表像素值的数字组成的。一个分辨率为200×100的相机具有20000个像素,因此,20000个数字值会被发送到采集系统。如果相机工作在25MHz的数据速率下,它每40纳秒传送一个值。这造成一幅整个图像需要大约0.0008秒,相当于1250帧/秒。
将分辨率提高到640×480会有307200个像素,大约是上面的15倍。使用同样的25MHz数据速率,采集整幅图像需要0.012288秒,或相当于81.4帧/秒。这些值都是期望值,实际的相机帧率会较低,因为我们不得不添加曝光和调整次数,但是相机分辨率的增加会导致相机帧率成比例的下降这是显而易见的。虽然各种相机输出配置会在不牺牲帧率的情况下提高相机分辨率,但是这也需要增加复杂性和更高的成本。
2. 速度和曝光
在选择一款数字相机时,物体成像的速度必须充分考虑好。在先前的例子中,假设物体在曝光
中没有移动;因此可用相对简单和便宜的相机。这种情况不会总是存在,但是会经常碰到。在一些应用中物体连续移动,换句话说,它们只是在非常短的时间上是静止的。
静止或缓慢移动的物体:面阵相机最适合于对静止或移动缓慢的物体成像。因为整个面阵区域必须一次曝光,在曝光时间当中任何的移动会导致图像的模糊。但是,运动模糊可以通过减少曝光时间或使用闪光灯来控制。
快速移动的物体:当对运动的物体使用一个面阵相机时,需要考虑在曝光时间当中处于相机当中的运动对象数量,还需要考虑物体上能用一个像素表征的最小特征,也就是对象分辨率。在采集运动物体的图像的拇指规则就是曝光必须发生在采集物体移动量小于一个像素的时间内。
如果你采集的物体是在以1厘米/秒的速度匀速移动,而且物体分辨率已经设置为1 pixel/mm,那么需要的最大曝光时间是1/10每秒。因为物体移动一个距离恰好等于相机传感器中的一个像素,当使用最大曝光时间时这里会有一定数量的模糊。在这种情况下,一般倾向于将曝光时间设置的比最大值要快,比如1/20每秒,就能保持物体在移动半个像素内成像。如果同样的物体以1厘米/秒的速度移动,物体分辨率为1 pixel/微米,那么一秒中所需要的最大曝光是1/10000.曝光设置的对快取决于所采用的相机,还有你是否能够给物体足够的光来获得一幅好的图像。
在尝试获得移动物体的短曝光时间时有一些额外的技巧可以运用。在这种情况下,在需要非常短的曝光时间相机的地方就没有这个能力,这样的应用可使用电子快门或闪光灯。如果应用需求速度超过单个输出相机能力,那么可以考虑配置多个输出的相机。
3. 帧率
相机的帧率相机在一个预定周期内发送给采集系统的完整帧的个数,它通常也称作为每秒钟的帧数。举个例子,分辨率为640×480的一款相机最大的帧率为每秒钟50帧。因此,这个相机需要在一个曝光之后用20毫秒来发送一帧。一些相机在当前曝光被读取的时候不能采用后来的曝光,因此它们需要在没有图像时的一个固定时间间隔。而另外一些类型的相机能在读取一幅图像中同时采集下一个曝光。因此,在对移动物体成像时必须考虑相机的读取时间和方法。当没有曝光时候还要进一步考虑帧间时间间隔。
4. 频谱响应和灵敏度
所有数字相机都配置对光能量敏感的电子传感器。相机对光能量敏感的光能量波长一般在400纳米到1000多纳米之间。除此之外,在低于400纳米就进入到紫外光谱,而其它高于1000纳米就进入到红外光谱。这里还有对物体发出某个光的特定波长进行成像的需求,而且按这种波长定义的相机特征也需要被定义。滤波器也应用来阻挡不想要的波长的光,但是仍然需要了解相机对需求的波长的光如何很好的响应。
相机的灵敏度定义相机怎样对固定曝光感应的。相机的灵敏度也能定义为LUX或DN/(nJ/cm^2)。“LUX”是图像工程师常见的词汇,它用来定义一定范围可见光上光子单元的灵敏度,而DN/(nJ/cm^2)是放射表达,没有局限于对可见光的响应。一般而言,两种形式都描述了相机将对光的反应能力。DN/(nJ/cm^2)的放射表达表示1 nJ/cm^2的预知曝光将输出DN个像素数据(数字,也成为灰度值)。增益是另一个可用的特征,它能提供灵敏度的各种级别。相机的灵敏度应该在一个定义好的增益设置下来描述。但是,要当心相机在高增益设置下会有高灵敏度,但是增加的噪声能导致动态范围的降低。
5. 比特深度
数字相机生产数字数据,或像素值。要成为数字的,这个数据就要有一个每个像素的位数,称之为像素比特深度。这个深度通常从8到16比特。在单色相机中,比特深度定义从暗到亮的灰度级别的数量,这里0代表完全暗,255(8比特深度)代表完全亮。在0到255之间的值就代表灰度阴影,接近0的为暗灰度,接近255的几乎为白。10比特数据提供1024个灰度级别,而12比特数据提供4096个灰度级别。
每个应用都应该谨慎地来确定使用精细的灰度级,还是使用粗糙的灰度级。机器视觉系统通常使用8比特像素,使用10比特或12比特就意味着使得数据量增倍,作为传送数据的另一种类型。这样导致系统在速度上的降低,因为使用两种类型的像素比特,但是并不是所有的比特都是有意义的。较高位深度还增加了系统集成的复杂性,因为更高比特深度需要更宽的带宽,特别是在相机有多个输出的情况下。
这五个关键因素决定着机器视觉系统的图像采集部分,也制约着整个机器视觉系统的定位以及后面的图像分析。针对自己的应用,充分考虑这五个因素,会在图像采集上做出正确的决定,有助于硬件的选型与成本控制。应该多学学这方面的经验,尽量让自己少走弯路,最大限度满足客户的需求
发布时间:2017-10-27
发布时间:2017-10-25
发布时间:2017-10-25