做机器视觉项目,选相机和镜头这关迟早都要过。我见过太多人卡在这一步:需求明明很明确,但供应商一问“要多少分辨率、什么接口、镜头多大靶面”,当场就懵了。还有些项目,相机和镜头买到手,装上去发现视野不对,或者成像模糊,又或者跑起来一直丢帧,最后排查来排查去,问题全出在当初选型时埋下的坑。
这篇东西不打算写成官方选型手册那种条条框框,就按我自己做项目时实际走过的路径来讲。围绕工业相机、镜头这两个核心环节,把参数怎么读、怎么算、怎么匹配,以及现场最容易出问题的细节,一次说透。如果你正在准备方案、做评估板选型,或者刚接手一个视觉工位,这篇文章应该能帮你省下几周弯路。
1. 选型前必须搞清楚的几个问题
选相机和镜头,本质上不是在选产品,而是在回答一组关于检测需求的答案。参数只是答案的量化表达。所以第一步不是打开品牌册子,而是先坐到工位上,把以下问题一项一项写下来。
1.1 检测需求拆解:精度、视野、工作距离
这三个参数是选型的起点,任何一项变了,相机和镜头的计算结果都会跟着变。
先看检测精度。精度指单个像素对应的物理尺寸,一般叫单像素精度,单位是mm/pixel。比如你要检测一个划痕,最小宽度0.1mm,那单像素精度至少要达到0.05mm/pixel,甚至更严。初学者常犯的错误是把“精度”和“公差”搞混。公差是对最终判断结果的允许误差,而像素精度是图像采样的物理密度,二者是两码事。我在实际项目中通常这样换算:要求的检测精度如果是0.1mm,那么单像素精度至少要按0.05mm来设计,也就是留出2倍以上余量,再考虑到边缘检测算法通常要跨3到5个像素才能稳定判断,实际余量还应更大。
再看视野范围。视野就是相机能看到的最大物理区域,长宽各是多少毫米。比如要拍一个尺寸为50mm×40mm的零件,视野至少要放到60mm×50mm,四周留出边界余量。视野越大,相同分辨率下每个像素对应的物理尺寸越大,精度就越低。这就是为什么“像素高不一定看得细”——如果视野太大,高像素也会被摊薄。
工作距离是镜头前端到被测物体表面的距离。这个参数直接影响镜头焦距的计算,也受限于现场机械结构。有的工位空间狭窄,镜头只能装到离物体100mm的位置,有的可以放到300mm以上。工作距离一定要现场量准,它不是随意定的,而是由机台结构、光源安装空间、操作维护空间共同决定的。
1.2 现场环境与工况对选型的制约
除了检测需求,现场环境会反过来卡选型,而且是那种你没想到它就坑你没商量的方式。
温度是很典型的因素。如果产线环境超过40℃,又需要相机长时间运行,就得关注相机的散热设计和额定工作温度范围。工业相机虽然工作温度标称能到50℃甚至更高,但长时间高温运行,传感器噪声会变大,暗电流上升,图像质量顶多算“能看”,不稳定。凡是能安装在空调柜里的,尽量别裸装在现场。
安装空间也是硬约束。有的设备内部空间极其有限,镜头加相机总长超过80mm就装不进去,这时候就必须选短筒镜头或直角相机(比如海康的MV-CH系列里就有部分短机身型号),甚至要考虑分体式的工业相机模组。有些项目为了追求小型化,反而把光源、镜头、相机的相对位置设计得很别扭,最后成像效果一塌糊涂,这就是选型时没有把安装可行性纳入约束条件的结果。
另外还要问清楚,目标物体是静止的还是运动的。如果是在流水线上运动拍照,就涉及到运动模糊。假设被测物体运动速度是0.5m/s,曝光时间如果设为2ms,那么物体在曝光期间的位移就是1mm。这个位移直接反映在图像上,表现为拖影。想控制拖影不超过0.1mm,曝光时间就得压到0.2ms以下。这不仅仅影响相机的快门能力,还会影响光源亮度的选择——曝光一短,进光量就少,光源功率和镜头通光量都得跟上。
这些约束条件先列全,再去计算选型,才不会出现“相机买回来装不上”“镜头装上了视野不对”这类返工。
2. 工业相机核心参数逐项拆解
工业相机的参数表,看起来密密麻麻,但真正影响选型的就十几个。把这些参数吃透,比看再多样品都管用。下面按优先级逐个讲。
2.1 分辨率:不是越高越好,是够用且有余量
分辨率是工业相机最直观的参数,500万、1000万、2000万甚至更高。分辨率决定的是图像能包含多少像素信息,但在选型时,分辨率不是越高越好,而是“够用+有余量”。
怎么算够用?用视野除以精度。举个例子,视野宽度是100mm,单像素精度需要0.05mm/pixel,那么横向像素数 = 100 / 0.05 = 2000像素。如果再考虑3~5个像素的边缘检测占位,实际按3000~4000像素来选更稳。于是500万像素相机(约2448×2048)横向2448像素就有点紧张,而600万像素(约3072×2048)或900万像素(约4096×2160)则更有余量。
这里有个关键点要记住:分辨率高,不只是价格高,还会带来数据量大、帧率下降、存储和处理压力增大等连锁反应。我用过一个1200万像素的相机,帧率只有10fps左右,如果产线节拍要求每秒处理15个工件,这台相机就满足不了。分辨率的选择,本质是在精度、速度、成本之间取平衡,并不是数字越大越有面子。
还有一点容易忽略,就是长宽比。很多初学者只关注总像素数,不关注传感器的长宽比例。同一个500万像素,可能是2448×2048,也可能是2592×1944,横向视野能力是有差异的。对于视野比较长条的工件,横向像素数往往比总像素数更关键。
2.2 靶面尺寸和像元大小:藏在规格书里的关键
靶面尺寸指的是传感器感光区域的对角线长度,常见有1/4″、1/3″、1/2″、2/3″、1″、1.1″等。这个数值直接决定了两件事:一是镜头的靶面必须不小于相机靶面,否则图像四角会发暗或出现黑角;二是靶面大小和分辨率共同决定了像元尺寸。
像元尺寸是每个像素的物理大小,常见的有2.2μm、3.45μm、3.75μm、4.8μm等。像元大小直接影响感光能力和噪声水平。像元越大,单个像素接受的光子越多,低照度下的表现越好,动态范围也更大,但分辨率做不高。像元太小,比如1.2μm以下,就比较容易出现信噪比不足的问题,在暗场环境噪点会很明显。
怎么理解像元尺寸?可以把它想成相机的“进光口径”。口径大,单位时间进光多,信号更强,抗噪性好;口径小,同样曝光时间下进光少,为了达到同样的亮度,就要提高增益或延长曝光,噪点就上来了。所以在光照条件一般、又需要较高帧率的场合,优先选择像元尺寸较大(比如3.45μm以上)的传感器方案。
另外,靶面尺寸会直接影响镜头选型。买镜头时一定要看镜头的最大靶面规格。用2/3″靶面的镜头去配1/1.8″的相机,是可行的,画面不会有暗角,只是镜头有些“大材小用”;反过来,拿1/2″靶面的镜头去配2/3″的相机,四周就会发黑,这是非常典型的安装错误。
2.3 帧率、曝光与快门模式:运动场景的重头
帧率表示每秒采集多少帧图像,单位fps。对于静态拍照,帧率要求不高,5~15fps都够用;但对于运动检测、高速分拣,帧率就是核心指标。
这里要区分两个概念:帧率和曝光时间不是一回事。帧率决定的是每秒能拍多少张,曝光时间决定的是每张图像传感器累积光线的时间长短。二者共同作用,决定了动态成像是否清晰。如果帧率很高但曝光时间很长,依然会产生严重的运动模糊。
快门模式也值得单独说一下。工业相机常见的快门方式有全局快门(Global Shutter)和卷帘快门(Rolling Shutter)。全局快门是所有像素同时曝光,适合拍摄运动物体,不会有变形;卷帘快门是逐行曝光,拍摄快速运动物体会出现斜影、果冻效应。只要是拍运动目标,我基本不推荐卷帘快门,哪怕它帧率标得再高也不行。特别要注意的是,有些相机标称“全局快门”但实际是“全局重置+卷帘读出”,虽然能避免部分果冻效应,但严格来说和真正的全局快门还是有差异,选型时最好看传感器型号去核对。
运动场景还要关注相机的触发延迟抖动(Trigger Delay Jitter)。如果相机接到外部传感器的触发信号后才开始曝光,触发信号的响应时间不稳定,会导致同一个工件每次拍摄的位置有偏差。这个参数一般以微秒计,好的工业相机能控制在几微秒以内。
2.4 数据接口怎么选:GigE、USB3.0、Camera Link、CoaXPress
工业相机的数据接口决定了传输速率、传输距离、CPU占用率和连接方式。这几乎是选型时最影响现场稳定性的一个环节。
GigE(千兆网口)是应用最广泛的接口。优点是线缆便宜、传输距离长(普通网线100米内)、无需额外采集卡,配合交换机还能多相机组网。缺点是CPU占用率相对高,如果网卡和驱动配置不当,容易丢帧。Basler、海康、大华都有成熟的千兆网工业相机产品线。凭借千兆网的灵活性,大多数视觉项目我都会优先考虑。
USB3.0接口的相机,传输速度快,带宽通常比GigE高,使用上像普通摄像头一样即插即用。实时性更强,图像传输延迟低。但缺点是传输距离短,一般线缆长度不要超过5米(加有源延长线另说),而且USB接口的稳定性不如专业网口,长时间运行的工业现场,偶尔会遇到识别不到相机的问题。
Camera Link接口是传统的高速传输方案,带宽高、稳定,但需要专用的采集卡和专用的Camera Link线缆,价格昂贵,线也硬,布线麻烦。CoaXPress是新一代高速标准,单根同轴线就能到6.25Gbps甚至12.5Gbps,传输距离远,抗干扰能力强,但同样需要专用采集卡。对于普通项目,这两种接口的使用成本偏高,一般只有在高速高分辨场景才会考虑。
这里有一个很实际的建议:如果项目对帧率要求不高、又没有极端的实时性要求,优先选GigE接口的工业相机,后续调试和排障都省心。如果追求低延迟和高帧率,且安装距离在3米内,USB3.0可以考虑。Camera Link和CoaXPress,让给专业高速视觉系统去用就行。
2.5 触发模式、增益与其他规格
工业相机和普通摄像头最大的区别之一,就是支持外部触发。通过硬件信号(如光电传感器、接近开关)触发相机拍照,能在精确的时刻采集图像,尤其适合流水线上工件到位后再拍照的场景。
触发模式分为硬件触发和软件触发。硬件触发通过相机的I/O接口输入一个电平信号或光耦信号,响应速度以微秒计,适合高速产线。软件触发通过程序指令或SDK函数控制相机抓拍,适合节拍较慢、或帧率要求不高的场景。选型时注意看相机的I/O口数量、触发输入电平类型(NPN/PNP、差分信号等),避免和现场PLC的I/O电平不匹配。
增益(Gain)是另一个容易踩坑的参数。增益本质是放大电信号。增益提高,图像变亮,但噪声也被同步放大。做视觉检测时,如果图像亮度不足,优先考虑增强光源,而不是一味调高增益。增益不是不能用,但它是最后的手段。我一般会把增益控制在6dB以内使用,超过这个范围,图像的颗粒感会明显增加,直接影响边缘提取和尺寸测量的稳定性。
另外还要看相机是否支持感兴趣区域(ROI)。ROI功能允许你只读出传感器某个区域,从而提升帧率。比如一个500万像素相机全幅帧率14fps,但只读取中间200万像素区域时,帧率能跳到30fps以上。这个功能在高节拍项目中非常好用。
3. 镜头参数与选型要点
很多项目出问题,问题不在相机,而在镜头。镜头决定了成像的清晰度、视野范围、亮度和畸变水平。而且镜头选型的计算量其实不大,真正难的是理解参数之间的匹配关系。
3.1 靶面匹配:镜头靶面必须覆盖传感器靶面
这是镜头和相机匹配的第一原则,也经常被人忽略。镜头支持的靶面规格,必须大于等于相机传感器的靶面规格。
举个例子,如果相机靶面是2/3″,镜头至少要选2/3″规格的。你用1/2″的镜头去配2/3″的相机,图像四周会出现暗角,严重点的直接黑圈,根本不能用于检测。反过来,2/3″的镜头配1/2″的相机,成像面只用了镜头中央区域,视野更清晰、畸变更小,是完全可以接受的,只是有点“杀鸡用牛刀”,成本偏高。
选镜头时,除了看靶面,还要看镜头是否在对应相机上可以成清晰像。有些镜头边缘解像力一般,用在分辨率很高的传感器上,中心清晰但四周发虚,这种情况在1000万像素以上的相机上尤其明显。高分辨率相机就要配高分辨率镜头,这不是玄学,而是镜头设计时的解像力指标就摆在那里。
3.2 焦距计算:公式、单位与实操示例
焦距是镜头的核心参数,决定了镜头的视场角。焦距越短,视场角越大,视野范围越大;焦距越长,视场角越小,视野范围越小,类似望远镜的效果。
焦距的计算公式很简单:
f = 工作距离 × 靶面尺寸宽度 / 视野宽度
需要注意的是,靶面尺寸宽度和视野宽度要保持同样的量纲,工作距离的量纲要和焦距一致。比如靶面宽度是8.8mm(2/3″传感器的实际宽度),视野宽度要拍100mm,工作距离是300mm,那么焦距 f = 300 × 8.8 / 100 = 26.4mm。市面上没有26.4mm这个规格,就要选接近的定焦镜头,比如25mm或35mm,重新验证视野是否满足要求。
这里有个常见的单位误区:靶面尺寸描述中“1/2″”、“2/3″”的数字并不是传感器的实际宽度,而是沿用摄像管时代的命名方式。真实传感器宽度必须查具体型号规格书。比如1/2″传感器的实际宽度约为6.4mm,2/3″约为8.8mm,1″约为12.8mm,直接按英寸换算成毫米反而会选错。
选好镜头焦距后,还要复核视场角。例如25mm镜头配2/3″靶面,水平视场角大约20°,在300mm工作距离下的视野宽度大约是104mm,满足100mm视野需求,最终就可以入围。
3.3 光圈、F数与景深控制
光圈是镜头的进光口径,用F数表示,F值越小,光圈越大,进光量越多,图像越亮。但光圈不只是控制亮度的,还直接影响景深。F值越大,景深越大,前后清晰的范围越大;F值越小,景深越浅,只有焦点平面附近清晰。
在工业检测里,经常会遇到被测物体表面有高度差,或者需要同时拍清两个不同高度的特征。这时候合适的做法是缩小光圈(增大F数)来增加景深,而不是去调整其他参数。但光圈缩得太小也会有问题——光线衍射导致清晰度下降,图像整体发软。我个人的经验是,光圈一般设置在F4到F8之间,既能保证足够的通光量,又能获得比较好的景深和解像力。
这里还有一个容易忽略的问题:光圈值的大小直接影响曝光。如果现场用频闪光源,曝光时间非常短,光圈开太大虽然能进更多光,但景深变浅,边缘可能模糊;光圈开太小,光源亮度又得加码。实际调试中,光源、光圈、曝光时间三者往往需要联动调整,是一个“三角平衡”的过程。
3.4 CRA(主光线角)匹配:高分辨率传感器上的隐形门槛
CRA中文叫主光线角,指到达传感器边缘像素的主光线与光轴之间的夹角。这个参数在选型中经常被忽略,但恰恰是高分辨率、小像元传感器上的一个隐形门槛。
每个CMOS传感器芯片都有自己对应的CRA设计值。镜头的出射主光线角如果和传感器CRA不匹配,特别是镜头CRA值大于传感器CRA值时,边缘像素收到的光线会大打折扣,表现为图像四周偏暗、色彩偏移,严重时边缘清晰度明显下降,也就是常说的色彩阴影或边缘偏色问题。
选型时怎么办?查传感器规格书里的CRA曲线,再问镜头供应商要镜头的出射CRA数据。一般镜头供应商,尤其是工业和机器视觉镜头厂商,都会提供这些数据。如果两者匹配度不好,优先换镜头,不要指望软件校正能完全解决边缘解像力问题。软件校正能修亮度,但修不了光学解像力损失。
3.5 定焦与变焦、接口类型、光圈方式等其他细节
工业镜头绝大多数用定焦。变焦镜头虽然灵活,但机械结构复杂,长期运行容易产生焦平面漂移,而且解像力通常不如同价位定焦镜头。除非一个工位需要频繁切换视野,否则尽量选定焦。
镜头的接口类型也要和相机匹配。最常见的工业镜头接口是C接口和CS接口。C接口的法兰距离(镜头安装面到焦平面的距离)是17.526mm,CS接口是12.5mm,两者差了5mm。如果C接口镜头装在CS接口相机上,图像会模糊;装上5mm接圈就可以正常成像。反过来,CS接口镜头装在C接口相机上是装不上的。选型时看清楚相机接口和镜头接口是否一致,能省去一堆转接圈折腾的功夫。
光圈的控制方式也值得注意。手动光圈镜头靠手动调节,适合固定照明环境;自动光圈镜头则根据光强自动调节光圈,适合环境光变化大的场景。工业现场多用频闪光源或恒亮光源,环境光相对稳定,所以大多数情况下手动光圈就够了。
4. 完整选型流程:从需求到落地的五步实操
前面讲了参数,这段我把整个选型流程串起来,用一个具体的案例走一遍。假设要做的是一个小零件的尺寸测量工位,需要测量一个长度20mm、宽度15mm的金属片,公差要求±0.05mm,在流水线上以每秒2个的速度移动。
4.1 先做需求换算和精度分解
公差±0.05mm,这个数值被称为测量重复性要求。视觉测量的经验法则是,测量精度通常需要达到公差的1/5到1/10,即重复测量误差要小于0.01mm。如果按0.01mm来控制,那么单像素精度至少要达到0.005mm/pixel,甚至更小。为什么?因为测量算法是基于像素边界提取的,边缘定位的亚像素精度通常能达到0.1~0.3像素。如果你要求最终测量误差0.01mm,而算法能定位到0.2像素,那单像素精度就是0.01 / 0.2 = 0.05mm/pixel。再留出环境振动、光源波动等余量,最终按0.02mm/pixel来设计视野和分辨率是比较稳妥的。
视野设计方面,要测量20mm×15mm的零件,视野至少放大到30mm×25mm,四周留出零件位置摆动和旋转的余量。
由此计算:横向像素数 = 30 / 0.02 = 1500像素,纵向像素数 = 25 / 0.02 = 1250像素。加上边缘检测和定位的余量,直接按2000×1500以上来选择,也就是300万像素相机就够了。但考虑到将来可能有扩产和视野调整需求,我会适当往上选,比如500万像素。
4.2 相机选型的实际计算
流水线速度每秒2个,拍照需要在零件到达拍摄位时完成,再配合外部光电传感器触发,所以相机的帧率要求不高,15fps就绰绰有余。但零件是运动的,速度多少?假设流水线速度0.2m/s,曝光时间如果2ms,运动位移就是0.4mm,图像上的拖影会严重影响测量。为了控制运动模糊在0.02mm以内,曝光时间要小于0.1ms。这就要求现场光源足够亮,而且相机要支持这么短的曝光时间。很多工业相机在2ms曝光下没问题,但要求0.1ms曝光时,必须确认相机的曝光最小步进和传感器灵敏度是否支持。
传感器类型方面,运动目标测量必须用全局快门,排除卷帘快门。数据接口方面,现场距离工控机大概10米,用GigE接口最合适,传输稳定,线缆成本也低。这样相机的大致选型范围就出来了:500万像素,全局快门,GigE接口,像元尺寸3.45μm或者更大,最好支持硬件触发。Basler的acA2500系列、海康的MV-CA050系列,在这个工况下都是常见选择。
4.3 镜头计算与匹配验证
根据相机靶面尺寸查规格书,假设选的是2/3″靶面,实际传感器宽度约8.8mm,高度约6.6mm。目标视野宽度30mm,工作距离如果能放到200mm,那么焦距:
f = 200 × 8.8 / 30 ≈ 58.7mm
这个焦距比较尴尬,市场上常见的定焦镜头有50mm和75mm。选50mm镜头时,在200mm工作距离下视野宽度 = 8.8 × 200 / 50 = 35.2mm,略大于目标35mm,但完全够用,而且视野留有一点余量是好事。用75mm镜头,视野会缩小到23.5mm,视野不够,排除。所以最终选择50mm定焦镜头,靶面至少2/3″,F值选F4~F8区间。
这时还要验证一下景深是否满足要求。如果零件本身是平放的,平面度在0.1mm以内,景深通常不是问题。如果安装时零件有轻微倾斜,那么适当缩小光圈(增大F数)来增加景深即可。
4.4 验证清单与最终选型
最终选型结果可以整理成一张表:
| 项目 | 选型结果 | 选型理由 |
|---|---|---|
| 工业相机 | 500万像素,2/3″,全局快门,GigE | 满足像素精度,运动无拖影,传输距离10m |
| 镜头 | 定焦50mm,靶面2/3″,F4~F8 | 满足视野35mm,景深可控 |
| 光源 | 高亮LED条形光或同轴光 | 配合0.1ms曝光时间提供足够亮度 |
| 触发方式 | 光电传感器硬件触发 | 保证每次拍照位置一致 |
| 相机品牌 | Basler或海康、大华 | 综合考虑价格、售后、SDK成熟度 |
选完之后不要急着下单,先做一个样机验证。很多供应商都支持样机测试,你可以把相机和镜头拿到手,用光源打光,实测一下精度、曝光、景深和稳定性。尤其是低照度下的噪点水平、长时间运行的发热情况、触发延迟稳定性,这些参数规格书上看不出来,只能实测。
5. 现场最容易踩的坑:丢帧与网络异常排查
选型过关,组装完毕,不代表万事大吉。工业相机在现场最常见的故障,就是丢帧和网络异常,特别是大华和海康的GigE相机,几乎每个项目现场都会被问一遍这类问题。我在这里把排查经验和解决方案一块写出来。
5.1 丢帧的常见原因:从驱动到链路逐条查
丢帧的本质是图像数据传输跟不上,数据链路某个环节出现了瓶颈或丢包。排查顺序一般是从下往上,先查硬件链路,再查驱动配置,最后查程序逻辑。
硬件链路方面,先看网线。工业相机对网线质量是有要求的,普通办公室网线在电磁干扰较强的车间里,丢包率会明显上升。建议使用千兆屏蔽网线(至少Cat6及以上),并确保网线两端接地良好。很多莫名其妙的丢帧,换了根好网线就解决了。再看网卡。如果用的是板载千兆网卡,性能一般,建议使用Intel芯片的PCIe千兆网卡,实测稳定性显著优于板载网卡。
驱动配置方面,最常犯的错误是没有开启巨型帧(Jumbo Frame)。GigE相机传输图像数据时,数据包默认大小一般是1500字节(标准以太网MTU),如果开启9KB巨型帧,每个包携带的数据更多,CPU中断次数减少,传输效率更高。怎么开启?在网卡的“高级”属性里,把Jumbo Packet设置为9KB,同时确认相机驱动(如Basler的Pylon、海康的MVS、大华的MV Viewer)里的GigE Vision传输包大小也调到9000字节左右,两者要匹配。
另一个高频坑是网卡电源管理。Windows系统默认允许网卡关闭以节约电能,检测到网络空闲一段时间后会断开连接,导致相机掉线或丢帧。在设备管理器里找到网卡,属性-电源管理,取消勾选“允许计算机关闭此设备以节约电源”,同时要把“节能以太网”设置为关闭。这个操作看起来不起眼,但能解决很多“相机时不时断一下”的问题。
5.2 插上网速不对怎么办:网卡协商、IP冲突与流量限制
“工业相机插上网速不对”这个热搜词背后,其实是一个很常见的现象:工业相机接入后,电脑的网速就从千兆掉到百兆,或者网络延迟极高。
先看网卡协商结果。在网卡状态里查看当前链路速度,如果显示100Mbps而不是1.0Gbps,说明线路或对端设备不支持千兆。可能的原因包括网线只接了4芯(百兆网线)、网线质量差、水晶头接触不良、或交换机端口限制为百兆。换一条六类成品网线,通常就能恢复千兆。
再看IP地址规划。工业相机默认IP如果和电脑网卡IP不在同一网段,网络会持续广播,传输效率极低。最简单的方式是给电脑网卡设置固定的静态IP,和相机IP保持同一网段,同时不要设置默认网关。有些相机(如大华和海康的机器视觉相机)可以通过厂商客户端(MVS、MV Viewer)一键修改相机IP。
还有一个容易被忽略的坑:电脑上的杀毒软件或防火墙,可能会实时扫描GigE Vision的UDP广播包,导致图像传输卡顿和丢包。装完相机驱动后,要把相机软件、SDK对应的进程加入防火墙白名单,或者直接在测试机上关闭防火墙做对比验证。
5.3 交换机和物理链路的影响
多台相机组网时,交换机也是丢帧的重灾区。千兆交换机看着只是“分线器”,实际影响很大。如果交换机背板带宽不足,多路相机数据并发时就会排队丢包。选交换机时,除了看端口速率,还要看背板带宽和转发能力。一个口不够用就换两个,两条链路用链路聚合或者给相机分组接不同交换机。
有些项目为了防止广播风暴,给相机单独划分VLAN,这也是好办法。多相机同时广播时,如果不做VLAN隔离,网络会非常拥塞。GigE Vision协议默认使用UDP广播来发现设备,但这个发现机制在现场反而容易造成网络风暴。很多厂家的SDK都支持关闭自动发现,采用静态IP直连,或者设置子网掩码来限制广播域。
5.4 排查顺序速查表
遇见丢帧,我一般按下面这个顺序来,节省排查时间:
| 排查项 | 操作 | 预期结果 |
|---|---|---|
| 物理链路 | 换六类屏蔽网线,插紧 | 网卡协商显示1.0Gbps |
| 网卡设置 | 关闭节能以太网,开启巨型帧 | 丢帧率下降 |
| 相机驱动 | 设置Packet Size对准9KB | 传输效率提升 |
| IP规划 | 静态IP同网段,关闭网关 | 连接稳定 |
| 防火墙/杀软 | 加入白名单或临时关闭 | 丢包消失 |
| 交换机 | 用千兆工业交换机隔离VLAN | 多相机并发稳定 |
| 程序逻辑 | 检查是否每帧都及时取走 | CPU负载正常,无内存堆积 |
我见过不少人把大量时间花在改代码上,最后发现是网线问题或者网卡节能的问题。先软后硬、先链路后逻辑,能少走很多弯路。
6. 相机和镜头品牌的选型经验
说到品牌,就聊聊我这些年实际用下来的一些感受。不一定适合所有人,但能给你一个参照。
6.1 工业相机主流品牌怎么挑
Basler是我用过文档最规范、SDK最完善的品牌。它的Pylon软件上手快,驱动稳定,GigE相机的丢帧率极低,而且每个型号的规格书、应用笔记、示例代码都齐全,非常有利于开发效率。缺点是价格偏高,同配置可能比国产贵20%~30%。如果项目对稳定性要求高、开发周期紧、预算充足,Basler是第一梯队选择。
海康机器人,也就是海康的机器视觉产品线,最近几年发展非常快。它的优势是性价比高、型号齐全、技术支持响应快、MVS软件免费且功能完善,而且兼容GigE Vision标准。我做过几个用海康相机的项目,整体稳定性不错。唯一要留意的,是部分型号在Windows下的USB3.0接口容易出现偶发断连,建议优先用GigE接口。
大华的机器视觉相机,性价比也不错,但我在实际项目中遇到过丢帧的反馈相对多一些。不过大多数丢帧问题通过调整网卡设置和驱动参数可以解决。大华的MV Viewer软件也在持续更新中,目前已经比较成熟了。如果你手上已经有大华相机的现场项目,遇到丢帧不要慌,先按前面第5章的排查步骤走一遍,大概率能解决。
其他品牌方面,FLIR(灰点)的相机也很稳定,HIKROBOT之外的国产还有华睿、康耐视等。选品牌不必执着于某一个,核心是看型号性能、文档完整度、售后支持周期和SDK的易用性。工业相机不像消费品,一用就是好几年,品牌能不能持续提供固件更新和技术支持,比初始价格更重要。
6.2 镜头品牌:宾得、Computar、Kowa、Opt等
镜头品牌方面,宾得(Pentax)和Computar这两家,在工业镜头圈子里都很受认可。宾得镜头的解像力高、色彩还原好,尤其是FA系列工业定焦镜头,是比较多视觉工程师的首选。网上那个“宾得镜头排名及评级”,说的多是对比评测后的排名,实际使用中我个人觉得闭眼选宾得FA系列,大部分场景都不会出错。缺点是宾得镜头价格不算低,一些特殊焦距型号需要订货。
Computar的品牌认知度同样很高,尤其在FA(工厂自动化)镜头领域。它的镜头规格覆盖广,从2/3″到1″靶面、从短焦到长焦都有,价格比宾得稍微友好一点。Kowa的镜头低畸变特性很出色,适合精密测量类项目。Opt(Opto Engineering)则擅长远心镜头,远心镜头在尺寸测量中优势很大,畸变极小,但也贵,而且安装距离比较远,需要提前预留空间。
国产镜头这几年的进步比我预想的要大。如果你预算有限,一些国产FA镜头在标准光照条件下,成像完全够用。但要注意国产镜头批次一致性参差不齐,同一个型号两批产品的解像力可能有差异,采购时要向供应商确认并做来料抽检。
6.3 关于选型预算和售后的实在建议
关于预算分配,我给一个经验比例供参考:相机和镜头的成本大约占视觉系统总成本的30%~40%,光源和支架可能占到15%~20%,软件和工控机的占比往往更大。很多项目想省钱,把预算压缩在相机和镜头上,这恰恰是最不该省的地方。镜头是成像质量的源头,相机是信号的载体,这两者出了问题,后面的算法再厉害也是白搭。
还有一点容易被忽视,就是售后周期。工业相机和镜头要选择生命周期长的型号。有些型号因为零部件停产,很快就变成过时产品,一旦损坏无法维修,整台设备就得重新选型、重新调试。选型时尽量咨询供应商产品线的生命周期规划,尽量选那些销量大、通用性强的型号,降低日后维护的风险。
最后分享一点个人体会
选型这件事,说到底是一个不断做权衡的过程。分辨率、帧率、靶面、接口、品牌、价格、交期,每一项指标之间都有牵制关系。我做过几个项目的经验是:永远给自己留出20%的余量——分辨率多留一点,视野适当放宽,光源亮度足够富余。因为现场环境永远比实验室复杂,粉尘、温度、振动、光线变化都会侵蚀你的余量。
另外一个很实用的小技巧:在最终下单前,把选型的相机和镜头型号、关键参数、计算过程,用一页纸写清楚,发给供应商和现场电气工程师各确认一遍。很多时候现场的安装空间、电气接口、通信协议,只有电气工程师最清楚。提前沟通,比设备到了现场再改要省太多时间和成本。
希望这篇关于工业相机和镜头参数与选型的分享,能帮你少踩几个坑。