线阵相机、镜头及光源的选型

2023-11-04

线阵相机顾名思义就是取像是成线性的。 它的传感器是成线型的。

举个例子: 比如面阵相机的分辨率是640*480就是说这个相机横向有640个像元,纵向有480个像元。
而线阵相机分辨率只体现在横向,比如2048像素的线阵相机就是说横向有2048个像元,纵向大多数为1。(RGB相机和TDI相机除外)

关于线阵相机的传感器

70年代大多数使用的是MOS,而从70年代末CCD开始迅速发展,一直到现在也是主流,CMOS大概是在80年代中期开始出现的,但是随着技术的发展CCD的取像速度要低于CMOS,而且直到2010年以前CMOS的传感器价格要高于CCD,从2010年以后几家主要的相机制造商都已经大力开发CMOS的相机了,并且也得到了不少的实际应用。

鄙人认为,以后的线阵相机主流将是CMOS的传感器。(这两种传感器的优缺点大家可以到网上找,主要是取像速度和敏感度的差异)
线阵相机的几个重要参数:

  1. resolution: 像素数, 传感器上有多少个像元。

  2. MAX DATA RATE(应该叫相机时钟吧): 意思是相机每秒可以采取最大的数据量

  3. Linerate 行频: 意思是每秒钟相机最大可以采取多少行影像

比如像素为8192*1, data rate为160Mhz, 那么此相机的行频就是160M/8192= 19000line/sec
每秒钟最大可以取像19000行,横向为8192pixel,纵向为19000pixel, 1秒钟取得的这幅图像大小大概为160M
还有就是像元的大小和镜头的尺寸。一般ccd的像元大小最小为5um,再小好像做不出来,而且感光度也差,cmos的像元可以比ccd小近一倍。

相机的选择十分重要,直接关系到整体设备的成本,像素多就要采用大的镜头,数据量大就要采用传输率大的数据线,还需要图像处理卡,数据量大对运算要求也高,对计算机的要求也高。

还是以目前的主流CCD相机为例子吧,由于相机的取像速度有限,一般每个tap最多能取得60M的数据,所以目前告诉的相机都采用多tap的处理方式,一般每个tap为40M,拿160M的相机为例就是有4个tap ,每个tap的取像为40M,40M*4=160Mhz, 当然也有single-tap(1), dual-tap(2), triple-tap(3),
octal-tap(8) 之分,目前ccd的取像速度都低于400M, 而cmos目前最高可以到1.6Ghz(以后可能会更高)
相机的输出方式也有多种,8bit,10bit,12bit, 我主要了解的就是8bit 黑白256进制影像。
有single输出,取像时1,2,3,~8192,有双输出,1,3,5,7/ 2,4,6,8, 也有1,3,5~4095/ 4097,4099~8191

这里的输出方式可以大概了解下(一般使用默认值对取像不会造成影响)

线阵相机主要接口还是以GiGe和cameralink为主流,高速的相机需要用HSlink.

相机主要的几个设定有exposre,gain, 还有内触发/外触发模式,不常用的当然也有很多如平均影像灰度,offset设定等等。
exposure , 这个设定和相机的行频有直接关联,此设定必须低于可以采取的最大行频。

比如刚才的19000行的相机,如果想采取19000行的话,设定为1sec/19000=
53us 这里还有一些延迟在里面,设定在47us左右才可以采集最大的行频。 (表达不清楚,烦)
此数值越低,获取的影像越暗,反之越亮。

gain/offset, 调整取得影像的灰度,在照明亮度不够时可以使用,但是使用后会导致影像的鲜明度下降,对分析影像时会造成一些影像,我不建议使用,即使使用也不要超过默认值的20%

还有一些其他的设定可以参照相机的说明书。

线阵相机的应用领域,主要为连续的生产线(web),比如钢铁冶金,有色金属,电子素材,纺织,造纸,LCD等等,也可以说面阵相机可以应用的领域线阵相机也都可以完成,但是就是成本问题了。
我举一个实例说明吧, 这里先举一个单目相机实例。

电子铜带的表面缺陷检测设备

电子铜带宽度450mm, 生产线速度120米每分,需要检测最小缺陷为0.2mm

那么在选型的时候就可以考虑 4096像素的线阵相机,这样使用普通F口的镜头,横向分辨率大概是0.11mm,可以检测出最小0.2mm的缺陷了,那么纵向怎么选择呢? 120米每分=2米每秒=2000mm每秒

如果让横向纵向分辨率都一致的话 应该是2000mm/ 0.11=
18180line 相机需要每秒采取18180行才可以完成对产品的全幅取像。 这样 我们可以选择 4096像素,行频为19000的相机了。这种参数的相机可以对产品全幅取像。

刚才群友 上海-Alex-VC问 会不会出现一秒钟扫的全是同一行的现象出现。
使用外触发就不会。

外触发意思是,外部给相机一个pulse,相机就扫描一行。生产线速度快,扫描频率就高,反之则低。

外触发主要有编码器来实现(有点扯远了,到编码器了), 编码器主要有2种,一种为固定pulse(比如1mm就是1pulse,不变),一种为转一圈为固定pulse, 编码器的输出信号也有多种,例如linediver等, 相机获取的信号种类也有多种,如ttl, lvds,differetion,等。

还拿电子铜带举例吧,这里我们使用固定的pulse编码器,每1mm发生1pulse,

那么就是说相机每1mm扫描一次取一次影像,这样的话横向分辨率是0.11mm, 纵向是1mm了,整体影像变形就不好了。有2种方案解决,1是选择编码器的时候尽量选择和行频一样的编码器,2是通过相机的设定来改变行频。

各种相机都含有convert模式,意思是对收到的pulse进行转换,转换成需要的数值,如果将横向和纵向都变成0.11mm的话,就增加9倍就可以了,相机每收到1pulse自动连续扫描9次,那么每一行的分辨率就是1mm/9=0.11mm,

这样横向和纵向的分辨率就一致了。

比如刚才的1mm发生1pulse, 相机得到1pulse扫描9行的情况:

生产线为1米没秒的时候,相机扫描行数为1000mm/1*9=9000行每秒 , 生产线没进行1米,编码器发生1000pulse, 相机取像9000行,生产线为2米每秒的时候,相机扫描行数为2000mm/1*9=
18000行每秒,生产线每进行2米,编码器法师2000pulse, 相机取像18000行。 只要外触发设置好是不会出现连续在同一行扫描的情况。
这里又关系到了彩色相机,彩色相机是3线的,三线在同一行扫描,然后组合得到这一行的彩色影像。

还有TDI相机,有8行,16行,32行最高好像512行,就是在同一行取像,获得最佳影像,这种相机贵,对照明要求低,但是需要很高的datarate。

 

关于线线相机、镜头、光源的选型,欢迎来电探讨线扫描系统的搭建与选型

     随着机器视觉的大规模普及与工业流水线速度、精度的提高,线扫描系统越来越被视觉工程师和最终用户所认可。  

首先,我对线扫描系统做一个大致的介绍。线扫描系统用于被测物体和相机之间有相对运动的场合,通过线扫描相机高速采集,每次采集完一条线后正好运动到下一个单位长度,继续下一条线的采集,这样一段时间下来就拼成了一张二维的图片,也就类似于面阵相机采集到的图片,不同之处是高度可以无限长。接下来通过软件把这幅“无限长”的图片截成一定高度的图片,进行实时处理或放入缓存稍后进行处理。

        视觉部分,包括线扫描相机,镜头,光源,图象采集卡和视觉软件;  

运动控制部分,包括马达, 马达驱动器, 运动控制卡或PLC,为了保证采集的图象与输送带同步,有时还会需要编码器。  

由于线扫描信息量大,所以需要一台高性能的工控机,配置大容量的内存和硬盘,主板要提供PCI、PCI-E或PCI-X插槽。  

一般来说,一个面阵视觉系统的配置选型是按照这样的顺序进行的。:  

           相机+采集卡->镜头->光源  

线阵项目也类似,根据系统的检测精度和速度要求,确定线阵CCD相机分辨率和行扫描速度,同时确定对应的采集卡,只是需要选线阵相机镜头接口(mount)时同时考虑镜头的选型,最后确定光源的选型。

线阵摄像机(线阵工业相机)的选型  

计算分辩率:幅宽除以最小检测精度得出每行需要的像素
选定相机:幅宽除以像素数得出实际检测精度
每秒运动速度长度除以精度得出每秒扫描行数
根据以上数值选定相机

如幅宽为1600毫米、精度1毫米、运动速度22000mm/s
相机:1600/1=1600像素
最少2000像素,选定为2k相机
1600/2048=0.8实际精度
22000mm/0.8mm=27.5KHz
应选定相机为2048像素28kHz相机

线阵镜头的选型  

为什么在选相机时要考虑镜头的选型呢?常见的线阵相机分辨率目前有1K,2K,4K,6K,7K,8K,12K几种,象素大小有5um,7um,10um,14um几种,这样芯片的大小从 10.240mm (1Kx10um) 到 86.016mm (12Kx7um)不等。很显然,C接口远远不能满足要求,因为C接口最大只能接 22 mm 的芯片,也就是1.3inch。而很多相机的接口为F,M42X1,M72X0.75等,不同的镜头接口对应不同的后背焦(Flange distance),也就决定了镜头的工作距离不一样。  

  

光学放大倍率(β,Magnification)  

确定了相机分辨率和像素大小,就可以计算出芯片尺寸(Sensor size);芯片尺寸除以视野范围(FOV)就等于光学放大倍率。β=CCD/FOV  

  

接口(Mount):  

主要有C、M42x1 、F、T2、Leica、M72x0.75等几种,确定了之后,就可知道对应接口的长度。                 

  

后背焦(Flange Distance)  

后背焦指相机接口平面到芯片的距离,是一个非常重要的参数,由相机厂家根据自己的光路设计确定。不同厂家的相机,哪怕是接口一样,也可能有不同的后背焦。  

  

有了光学放大倍率、接口、后背焦,就能计算出工作距离和节圈长度。选好这些之后,还有一个重要的环节,就是看MTF值是否足够好?很多视觉工程师不了解MTF,而对高端镜头来说就必须用MTF来衡量光学品质。MTF涵盖了对比度、分辨率、空间频率、色差等相当丰富的信息,并且非常详细地表达了镜头中心和边缘各处的光学质量。不仅只是工作距离、视野范围满足要求,边缘的对比度不够好,也要重新考虑是否选择更高分辨率的镜头。  

  

(下图为一个典型的MTF表格,横坐标为像高,也就是到图像中心的距离除以图像半径的百分比;纵坐标为图像对比度。共有三组曲线,依次为三种不同分辨率的情况下的对比度,每一组又有实线和虚线,实线为半径方向的对比度,虚线为切线方向的对比度)  

线扫描线阵光源的选型    

线扫描项目中,常用的光源有LED光源、卤素灯(光纤光源)、高频荧光灯。   

卤素灯也叫光纤光源,特点是亮度特别高,但缺点也很明显--寿命短,只有1000-2000小时左右,需要经常更换灯泡。发光源是卤素灯泡,通过一个专门的光学透镜和分光系统,最后通过光纤输出,光源功率很大,可高达250瓦。卤素灯还有一个名字叫冷光源,因为通过光纤传输之后,出光的这一头是不热的且色温稳定,适合用于对环境温度比较敏感的场合,比如二次元量测仪的照明。用于线扫描的卤素灯,常常在出光口加上玻璃聚光镜头,进一步聚焦提高光源亮度。对于较长的线光源,还用几组卤素光源同时为一根光纤提供照明。   

高频荧光灯,发光原理和日光灯类似,只是灯管是工业级产品,特点是适合大面积照明,亮度较高, 

成本低,但荧光灯最大的缺点是有闪烁、衰减速度快。荧光灯一定需要高频电源,也就是光源闪烁的频率远高于相机采集图象的频率(对线扫描相机来说就是行扫描频率),消除图像的闪烁。专用的高频电源可做到60KHz。  

LED光源是目前主流的机器视觉光源。特点是寿命长,稳定性好,功耗非常小。  

1,直流供电,无频闪。
2,专业的LED光源寿命非常长。(如美国AI的寿命50000小时亮度不小于50%)  

3,亮度也非常高,接近卤素灯的亮度,并且随着LED工艺的改善不断提高。(目前美国AI线光源亮度高达90000LUX)  

3,可以灵活地设计成不同结构的线光源,如直射、带聚光透镜、背光、同轴以及类似于碗状的漫反射线光源。  

4,有多种颜色可选,包括红、绿、蓝、白,还有红外、紫外。针对不同被测物体的表面特征和材质,选用不同颜色也就是不同波长的光源,获得更佳的图像。  

  线扫描相机、光源与被测物体之间的角度分析                                       

以玻璃检测为例,需要检测的缺陷有:脏点、结石、杂质、气泡、刮伤,裂纹,破损等,其大致可以分成两类,一类在玻璃表面的,一类是玻璃内部的。不同的缺陷,在图象中表现的出的灰度不一样,有黑的,有白的,也有灰的,并且在不同的光源照射角度或者相机接受角度,缺陷的对比度会变化,如在一个角度时,某一种缺陷的对比度最好,但其他缺陷可能比较次,甚至根本看不到。这样也就需要大量的分析、组合,才能确定最后的光源选型和相机、光源和被测物体之间的相对角度。如下图所示,相机、光源在不同角度安装,分别测试。  

结果发现:  

脏点,正面光源或背光都较容易凸现;  

结石和杂质,需要正面接近法线的照明或背面穿透照明;  

气泡,形状不固定,且要分析形成的原因以及方向,采用背面照明;  

刮伤和破损,正面低角度照明容易凸现。  

裂纹,需要背面侧照   

而且,以上缺陷并不是独立的,而是互相影响。统计、分析如下。  

综合以上因素,最后选用背光斜射和正面照射结合,相机接近法线方向安装。   

光源、镜头的调试   

线扫描系统,对光源和相机来说,有效的工作区域都是一个窄条。也就是保证光源照在这个最亮的窄条与相机芯片要完全平行,否则只能拍到相交叉的一个亮点。所以机械安装、调试是比较费工夫的。同时由于幅宽比较宽,对于线光源有两个特别的要求,就是均匀性和直线性。因为线光源不同位置的亮暗差异,会直接影响图象的亮度高低,这一点LED比卤素灯更好控制。出光部分的直线性,取决于LED发光角度的一致性、聚光透镜的直线性以及线光源外壳的直线性。         

由于现场环境比较复杂,客户总是希望花多一些时间去现场调试。但如我们前面讲到的相机、光源、被测物体的相对角度测试、分析,许多因素会直接影响到检测效果。所以我们建议先做实验室测试,有了方案之后,再去现场调试,这样会最有把握,也能提高调试效率。毕竟服务也是一种成本。  

        线扫描系统除了机械结构之外, 其主要组成部分还包括机器视觉和运动控制。

 

 

 

要保证采集到的图像不被拉伸或者压缩,必须遵从一点,即“横向和纵向的分辨率相等”。
首先设定以下变量:

1)线阵相机的每线像素数(单位:pixel):Hc

2)目标物的宽幅(单位:m):Lo

3)目标物运行速率(单位:m/s):Vo

4)线阵相机线扫描速率(单位:Hz,即 线/s):Vc

5)扫描一帧图像目标物运行的时间(单位:s):To

6)扫描一帧图像线阵相机的扫描时间(单位:s):Tc

那么,
横向的分辨率为:Lo/ Hc,标定纸的值/单个相机像素(4096)

纵向分辨率为:( Vo* To ) / ( Vc* Tc ),速度/line值

很容易知道,To = Tc

根据“横向和纵向的分辨率相等”的原则,得到公式如下:

Lo/ Hc = Vo / Vc

则相机的线扫描速率为:

Vc = Hc * Vo / Lo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线阵相机、镜头及光源的选型 的相关文章

  • ​机器视觉( 一) ——ROS中的图像数据​

    转载自 xff1a 机器视觉 xff08 一 xff09 ROS中的图像数据 我不是 耀 神的博客 CSDN博客 机器视觉 xff08 一 xff09 ROS中的图像数据 我不是 耀 神 2021 01 30 16 55 58 425 正在
  • 机器视觉 与 人眼错觉

  • slowfast解读:facebook用于机器视觉分析视频理解的双模CNNk

    检测并归类图像中的物体是最广为人知的一个计算机视觉任务 随着ImageNet数据集挑战而更加流行 不过还有一个令人恼火的问题有待解决 视频理解 视频理解指的是对视频片段进行分析并进行解读 虽然有一些最新的进展 现代算法还远远达不到人类的理解
  • 添加高斯噪声

    coding utf 8 import cv2 as cv import numpy as np import sys def add noise image mean 0 val 0 01 size image shape image i
  • 机器视觉1

    以下无需要参考 gt 直接跳过到官方文件篇 资源 64位 下载地址 资源 下载地址 opencv4 6 https opencv org releases cmake https cmake org download ffmpeglibs
  • 推荐一个超好用的视觉算法可视化分析工具

    First of all 先甩个项目github链接 https github com aiyojun cv algo analysis 如果觉得不错的给个star吧 鉴于视觉软件的开发成本太高 所以本人基于历史经验写了一个超级方便的可视化
  • LabVIEW开放神经网络交互工具包【ONNX】,大幅降低人工智能开发门槛,实现飞速推理

    文章目录 前言 一 工具包内容 二 工具包下载链接 三 工具包安装步骤 四 实现物体识别 五 实现图像分割 六 自然场景下的文字识别 七 人体关键点检测 总结 前言 前面给大家介绍了自己开发的LabVIEW ai视觉工具包 后来发现有一些o
  • opencv图像处理(加法运算)

    加法运算 import os import re import cv2 cv2 imshow image img 显示 cv2 waitKey 10000 停留 cv2 destroyAllWindows 关闭 from PIL impor
  • 像素和毫米怎么换算

    像素和毫米怎么换算 像素和毫米是不能直接转换的 只有在分辩率 dpi 下才能进行转换 因此 像素与毫米的转换 需要知道参数 DPI 每英寸多少点 象素数 DPI 英寸数 英寸数 25 4 毫米数 对于显示设备 不管是打印机还是屏幕 都有一种
  • FFT频谱分析原理

    FFT频谱分析原理 采样定理 采样频率要大于信号频率的两倍 N个采样点经过FFT变换后得到N个点的以复数形式记录的FFT结果 假设采样频率为Fs 采样点数为N 那么FFT运算的结果就是N个复数 或N个点 每一个复数就对应着一个频率值以及该频
  • LUT学习了解

    知乎 LUT Lookup Table 颜色查找表 通过LUT可以将一组RGB值输出为另一组RGB值 从而改变画面的曝光与色彩 如果我们规定 当原始R值为0时 输出R值为5 当原始R值为1时 输出R值为6 当原始R值为2时 输出R值为8 当
  • OpenCV相机标定全过程

    一 OpenCV标定的几个常用函数 findChessboardCorners 棋盘格角点检测 bool findChessboardCorners InputArray image Size patternSize OutputArray
  • KCF论文技术路线

    https blog csdn net crazyice521 article details 53525366 http www cnblogs com YiXiaoZhou p 5925019 html 一 算法介绍 KCF全称为Ker
  • 【python】将自定义常用的一些函数封装成可以直接调用的模块方法

    将常用一些的函数封装成可以直接调用的模块方法 1 背景 2 具体步骤 3 扩展 1 背景 在实际的操作过程中 经常会用到一个功能 如果每次编写代码的时候都进行重新编写或者打开已经编写好的函数进行复制粘贴 这样就显得很麻烦 有没有什么方法可以
  • 使用Matlab相机标定库(Camera Calibration Toolbox)问题小记

    使用Matlab相机标定库 Camera Calibration Toolbox 问题小记 Camera Calibration Toolbox的官方网站 http www vision caltech edu bouguetj calib
  • Ubuntu yolov5 环境配置

    查看Ubuntu版本 cat proc version Linux version 5 4 0 150 generic buildd bos03 amd64 012 gcc version 7 5 0 Ubuntu 7 5 0 3ubunt
  • 机器视觉基础

    机器视觉基础 什么是机器视觉 机器视觉常见的应用 机器视觉常用的概念 硬件选型 控制器 相机 镜头 附件选型 什么是机器视觉 机器视觉常见的应用 机器视觉常用的概念 快门时间越短 图片越暗淡 光圈小了 照片会暗淡 硬件选型的时候考虑物距 W
  • CV 经典主干网络 (Backbone) 系列: CSP-Darknet53

    CSP Darknet53 0 引言 1 网络结构图 1 1 输入部分 1 2 CSP部分结构 1 3 输出部分 2 代码实现 2 1 代码整体实现 2 2 代码各个阶段实现 3 代码测试 4 结论 0 引言 CSP Darknet53无论
  • 图像加权运算

    import os import re import cv2 cv2 imshow image img 显示 cv2 waitKey 10000 停留 cv2 destroyAllWindows 关闭 from PIL import Ima
  • open3D点云分割

    将底面和物体分割开 import time import open3d as o3d import numpy as np mesh box o3d geometry TriangleMesh create box width 0 4 he

随机推荐