机器视觉相关硬件
完整的图像采集系统一般包括相机、镜头、图像采集卡、光源等。硬件的选型将关系到图像的质量和传输的速率,也会间接影响视觉软件算法的工作效率。硬件和软件需要配合得当,彼此互补。本文将介绍机器视觉的4个主要硬件的选型。
一、相机
做机器视觉项目的第一步就是图像输入,而图像输入离不开相机。相机是一种将现场的影像转化成数字信号或模拟信号的工具,是采集图像的重要设备。
1. 相机的主要参数
在开始选择相机之前,首先应对相机有基本的了解,这些基本信息在各厂商提供的产品页面上应该都有详细的介绍。接下来介绍与机器视觉相关的相机的主要参数。
(1)分辨率:一般用W×H的形式表示,W为图像水平方向上每一行的像素数,N为垂直方向上每一列的像素数
(2)像素尺寸:指每一个像素的实际大小,即传感器中像元的大小,单位一般是mm。在分辨率一样的情况下,像素尺寸越小,得到的图像越大。
(3)帧率:指相机每一秒钟拍摄的帧数。帧率越大,每秒捕捉到的图像越多,图像显示就越流畅。对于高速运转的机器,帧率应与物体的运动速度相匹配,这样才能保证捕捉到物体及其关键细节。
(4)像素深度:指色彩的丰富程度。一般来说,8bits 表示黑白图像,24bits表示彩色RGB图像,其中 RGB 图像有3个颜色通道,每一个颜色用8bits表示。这样一张图片能表示的颜色信息大概是2°×2°×2°-16777216种,图像色彩非常丰富。如果还有32bits 的选项,那么除了RGB各占用的8位外,还有一个8位是预留给透明通道a的,透明通道可以用来表现颜色的深浅强度和遮挡、透视等关系。总之,像素的深度值越大,图像的颜色信息越丰富,但相应的图像文件也越大。
(5)数字接口:相机的接口是用来输出相机数据的,一般有 GigE、USB2.0/3.0、CarmeraLink、FireWare 等类型。
图中是Uniforce Sales 网站上的IMPERX相机,在相机图像的右边列举了该相机的一些主要参数。
从图中中可以看到,该相机的类型(Camera Type)是面阵(Area);传感器类型(Sensor Type)是CCD;芯片尺寸(Sensor Size)是43.3mm;镜头接口(Mount)有C、EOS、F、M42几种类型;分辨率(Resolution)非常高,大概能达到29MP:数据接口(Interface)是CameraLink,因为高分辨的图像只能用功能最强的传输方式;色彩模式(Color/Mono)是单色(Monochrome);帧率(Frame Rate)小于10fps,最大帧率(Max Frame Rate)为4.7fps,这也与高分辨率有关。该相机适用于需要超高清图像,对图像细节有高要求,同时还需要高灵敏度的应用场景。
2. 相机的种类
相机按传感器的像素排列方式分,可以分为面阵相机和线阵相机。
面阵相机是将图像以整幅画面的形式输出。一般需要直观地表达整个场景画面时可以选择面阵相机,如需要识别物体、进行空间测量及静态物体特征检测的场合。常用的应用领域如交通运输、安全监控、医疗检测等。
线阵相机是将图像逐行输出,图像宽度与面阵相机无异,但高度只有1像素。这样的图像输入到图像处理模块之后,由软件端根据需要的画面宽度进行截取,并重新拼接出整幅画面的内容。线阵相机非常适合检测图像区域是条形或者高速运动的物体,可用于检测工业高速传送带上的对象。
相机按感光芯片的技术分,可以分为CMOS和CCD。关于CMOS与CCD的区别与技术细节的参考资料已经非常多,这里不再赘述,在选购相机时可以向专业人士咨询更详细的解释。笔者的看法是,根据项目的应用需求进行选择。例如,在弱光低速的检测环境下可以选择CCD,有助于获得更丰富的图像细节;若追求高性价比、高成像速度和成像质量,可以选择新式的CMOS。
相机按色彩分,又可以分为黑白相机和彩色相机。机器视觉使用的相机,除了需要检测颜色的情况外,一般选黑白相机更高效。因为图像处理多数是在黑白图像上进行的,即使采集了彩色图像,输入到软件处理模块后也要先转为黑白,再进行后续处理。因此,可以直接选择黑白相机。
3. 相机的接口
在选择相机时,还有一个重要的考虑因素是相机的数据传输接口。接口是相机将图像数据输出的一种方式,一般使用如下几种接口。
(1)GigE 接口:俗称“网口”,利用网络传输图像数据,适合远距离的传输。这类接口要与千兆网卡搭配使用。
(2)USB 3.0:USB3.0已经逐渐开始普及并有取代USB2.0的趋势,利用USB3.0接口可以高效率地传输数据。与USB2.0相比,USB3.0的传输速度大大提高,此外还有USB口固有的即插即用、支持热插拔等优点。USB 3.0也有局限性,由于有CPU的参与,会占用一些系统资源,而且传输线长度有限,因此使用距离需要比较近。不过目前USB3.0的性能正在不断提高,在一些对速度和分辨率要求不是很高的情况下,USB3.0接口是一个不错的选择。
(3)Camera Link 接口:指图像采集卡接口。采集卡是一种独立的信号控制设备,具有传输速度快、支持高分辨率等优点。如果传输的图像比较大,速度要求比较高,或者是要触发和控制多部相机时,可以选用这种接口。
(4)Fireware 接口:主要用于连接嵌入式系统。
在选择数据接口时,可以综合考虑以下几个要点。
(1)传输带宽。根据图像分辨率可以算出单帧图像的大小,然后用图像尺寸乘以帧率可以推算出每秒需要传输的带宽。例如,一张5MB的图像,帧率为30fps,因此每帧的传输带宽应当不低于 150MB/s。由于 Fireware 的最大带宽能达到100MB/s,USB3.0最大能达到350MB/s,最快的是Camera Link,传输速率最高可达到 850MB/s(数据来自Basler 官网),因此可以选择USB3.0接口或者Camera Link接口。
(2)传输距离。一般近距离的传输选择范围会比较大,而如果传输距离比较远,如大于10m,就可以选择网口。
(3)即插即用要求。从使用方便的角度来看,可以选择网口或者USB3.0,这二者都比较便于移动。
(4)实时性要求。如果系统对实时性要求比较高,可以选择Camera Link、USB3.0或Fireware。
(5)成本。在上面介绍的这几种接口中,Camera Link接口需要独立的板卡,成本是最高的。
4. 相机的选型
选择相机之前,应明确系统对相机的需求、拍摄对象是什么,以及如何拍才能满足图像处理系统的输入要求。有了明确的需求之后,选型就会有清晰的方向。相机的选型主要看两点,一是类型,二是参数。
首先确定相机的类型,如选择面阵还是线阵,选择CCD还是CMOS,选择黑白还是彩色,这些完全取决于检测环境和物体的特性。前文在介绍相机分类时已有推荐,可以根据实际需要进行
选择。
1.面阵相机的选型
面阵相机的选型可考虑以下几个因素。
(1)帧率:单位是fps,指每秒钟采集的图像帧数。值得注意的是,相机的理论帧率与实际帧率仍有差别,这个数值会受到图像分辨率、曝光时长等多个因素的影响。因此,选择帧率的时候,也要考虑到其他因素的影响。
(2)分辨率:指单幅画面包含的像素数,一般用水平像素数乘以垂直像素数来表示。像素越高,画面越精细,但文件也越大。
(3)接口:指数据传输接口。接口的选择在上文已有介绍,应结合实际传输距离、速率要求、系统类型、成本等多个因素综合考虑,可选择Camera Link、GigE、USB3.0或硬件接口。
(4)靶面尺寸:指图像传感器的尺寸,如112"、1/3”、2/3"等。在分辨率固定的情况下,靶面尺寸越大,传感器的面积越大,图像的质量越好。靶面尺寸应与镜头匹配。
(5)黑白/彩色:根据图像处理的需求和传输需求选择是否需要用彩色。
(6)感光芯片类型:CMOS或CCD,根据需要选择。
(7)像元尺寸:指每个像素的实际大小。靶面尺寸固定的情况下,像元尺寸越小,水平或垂直方向的像素就越多,分辨率越大,画质越清晰。
(8)快门:指曝光的方式,可选的如全局快门(GlobalShutter)和滚动快门(Rolling Shutter)。前者是全局曝光,后者是逐行曝光。如果拍摄高速运动的物体,可以选全局快门,因为逐行曝光的滚动快门会产生畸变;如果拍摄静态的或低速的物体,可以选择滚动快门。
2.线阵相机的选型
评估线阵相机的参数时也要以实际需求出发,应确定以下信息。
(1)幅宽:成像区域的实际宽度。
(2)对精度的要求:对最小的可分辨单元的尺寸的要求。
(3)运动速度:待检测物体的移动速度。
确定了需求信息后,可以从以下几个方面进行选型。
(1)行频:行频的单位为kHz,可选范围一般为10~140kHz。行频为10kHz,表示1s扫描10000行图像数据。行频的选择取决于待检测物体的运动速度,速度越快,选择的行频应当越高。其具体计算公式应咨询相关专业人员。
(2)分辨率:可选范围一般为2~12k。分辨率的值可以根据幅宽和精度进行推算。
(3)像素尺寸:一个像素的实际大小,可以由幅宽除以单行的像素数量得到。
(4)数据接口:可选的接口有Camera Link或GigE。
(5)黑白/彩色:根据实际需求选择是否需要用彩色。如果检测中不需要RGB信息,则选择黑白相机更方便。
(6)感光芯片类型:CMOS或CCD,根据需要选择。
(7)镜头接口:镜头接口有标准C口、F口、V口等。接口的尺寸与靶面尺寸或者图像分辨案相关,应与镜头接口匹配。一般2k或2k以下的图像选择标准C口即可。
最后就是将符合条件的相机进行价格和服务的比较,选出适合的产品。
二、图像采集卡
图像采集卡的功能主要是将来自相机的模拟信号或数字信号转化为所需的图像数据流并发送到计算机端,是相机和计算机之间的重要连接组件。它同时还包含了相机采集控制的一些功能,可以对图像属性、采集控制等参数进行设置。图像采集卡的外观类似于一块板卡,安装在计算机的PCI(Pedpherd Component Interconnection,周边元件扩展接口)插槽中,如图所示。
对一些传输速率比较高的需求,图像采集卡是标准的选择,同时也适合高分辨率、高帧率的相机。对一些没有外触发功能的相机,使用采集卡可以方便地对相机进行控制。如果要搭载多个相机,如双目或多目的情况,也需要使用图像采集卡进行同步或异步控制。
1. 图像采集卡的种类
图像采集卡按接收信号的种类可以分为模拟信号图像采集卡和数字信号采集卡;按接口的适用性可以分为专用接口(如Camera Link、模拟视频接口等)采集卡和通用接口(如GigE、USB3.0等)采集卡;按支持的颜色可以分为彩色图像采集卡和黑白图像采集卡。
2. 图像采集卡的选型
选择图像采集卡之前,要明确项目的功能需求,如分辨率、传输速率等要求,以及相机的详细参数。
图像采集卡的选型应当与相机匹配,主要指以下几个方面的匹配。
(1)支持的接口模式:如Camera Link接口的相机支持的模式有Base模式、Medium模式、Full 模式,那么图像采集卡在选择时也应当与相机的模式匹配。在实际项目中曾发现,如果相机选择Base 模式,而图像采集卡选用Full 模式,会造成图像数据的丢失或缺色。
(2)支持的分辨率:在选择时应考虑图像采集卡的分辨率是否能满足输入图像的要求。
(3)其他:还应当考虑硬件的可靠性,如有没有过电压保护、散热性能如何等。除了硬件外,还要考虑配套软件的易用性。图像采集卡一般都有配套的开发包,如SDK、开发平台等,可根据开发者的经验和偏好进行选择。
三、镜头
镜头是与相机配套使用的一种成像设备。选择相机之后,就可以考虑选择合适的镜头了。为了使相机与镜头相匹配,还需要了解镜头的一些参数。
镜头的参数有很多,机器视觉项目选型要关注的镜头参数主要包括以下几种。
1. 接口
接口是镜头与相机的机械连接方式。镜头的接口应与相机的物理接口相匹配。例如,相机的接口是C口,镜头也应选择C口。还有F口、CS口、S口等接口,不同的接口是为了适应不同的相机芯片尺寸。
2. 最大靶面尺寸
最大靶面尺寸也称芯片尺寸。镜头使用的芯片尺寸应与相机的传感器靶面尺寸相匹配,简单来说,就是镜头投射的图像面积应不小于相机的芯片尺寸,这样通过镜头捕捉到的图像就能够刚好覆盖相机传感器的区域。镜头的供应厂商一般会提供匹配的芯片尺寸。
3. 物距与焦距
物距是目标对象距离相机的距离。焦距表示相机到焦点的距离,镜头的焦距分为固定的和可变的两种。如果物距很大,可以选择焦距比较长的镜头,这样拍得更清晰,但是视野范围也会变小。因此,可以根据物距和视场的范围来确定焦距。当视觉项目中的设备需要固定时,应尽可能选择定焦镜头,成像会比较稳定。
4. 光圈
光圈的值关系到光线进入相机的量。光圈越大,进入相机的光线也越多。对于光线比较暗的场合,可选用大一点的光圈。
5. 分辨率与成像质量
镜头的分辨率越高,成像越清晰。分辨率的选择,关键看对图像细节的要求。同时,镜头的分辨率应当不小于相机的分辨率。
6. 镜头倍率与视场范围
镜头倍率即放大倍数,这个值与被测物体的工作距离有关,要根据放大需求决定。选择镜头时,可以参考以下步骤。
(1)确定相机连接镜头的接口类型,如C口或F口等,这个接口决定了镜头的接口。
(2)确定镜头的最大靶面尺寸与相机相匹配。
(3)确定焦距。首先测量工作距离和目标物体的大小,得到图像的宽或高;然后确定相机的安装位置,从相机的拍摄角度推测视角,最后根据二者的几何关系计算相机的焦距。
(4)根据现场的拍摄要求,考虑光圈、价格等其他因素。
四、光源
光线对机器视觉至关重要,光线的变化不但会影响到硬件设备的选型,也会影响到图像处理算法的选择。因此,有时需要屏蔽一些光线变化,有时需要增加照明或调整打光方式。如果工作环境光线不充足,则需要补充光源。
光源的种类很多,市面上常见的有LED光源、红外光源、激光光源、卤素灯等。按形状分,光源有环形光源、背光源、点光源等。选择光源时,应根据检测的目标物体和检测要求决定如何打光以及选择何种光源。例如,如果要突出被测物体的结构细节,可以使用正面或者正侧面光源;如果要凸显物体的轮廓,可以使用背面光源。在选择和布置光源时,应根据检测的对象和希望呈现出
的画面效果进行设计。
除了可见光外,某些情况下也需要使用红外光源。例如,某眼球追踪项目需要捕捉瞳孔位置,
这时就应该选择红外光源,这样光线不可见,不会对测试者造成干扰。
在选择光源时,应尽可能地到客户现场进行测试,感受实际应用场景中的光线需求。结合图像
处理的算法需求,选择合适的光源产品。
五、实例:便件选型
下面以一个例子说明相机的选择方式。例如,需要在一个城市的路口安装交通监控相机,用于
捕捉超速车辆并提取车牌等车辆信息,那么选择相机时可以按下面的思路进行分析。
(1)选择面阵相机还是线阵相机?因为要拍到全局图像进行分析,所以选择面阵相机。
(2)选择彩色相机还是黑白相机?由于需要识别车型和拍照,因此可以选择两个相机,一个黑白相机用于抓拍,一个彩色相机用于识别车型车貌。
(3)选择CCD相机还是CMOS相机?在这种应用场景下,车辆速度极快,因此相机也需要极高的成像速度、高清分辨率,功耗也要尽可能低,因此可以选择新式CMOS相机。
(4)分辨率:根据实际图像幅宽与精度要求推算,一般1920像素×1080像素的图像就可以满足需求了。
(5)帧率:由于城市车辆超速的判断标准比较低,因此30fps的帧率就足够拍到超速车辆了。(6)数据接口:根据分辨率和帧率计算出传输带宽,再结合传输距离、安装条件、成本预算等因素选择合适的数据接口,如USB3.0接口、Camera Link接口或GigE接口等。
(7)镜头与光圈:镜头的接口应与相机相匹配。由于白天与黑夜的光照变化大,因此可以考虑选择自动光圈。
(9)其他需求:如灵敏度、背光补偿、自动曝光,以及是否可以平衡周围环境光线对拍摄的影响等需求。
(8)快门:拍摄高速运动的物体应选择全局快门,滚动快门可能会产生图像的畸变。
综合以上选择,再结合成本、品牌偏好等因素,就可以在各厂商的产品页上筛选出合适的设备了。