机器视觉学习汇总
AD转换就是模数转换。顾名思义,就是把模拟信号转换成数字信号。主要包括积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、压频变换型。A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
DSP 即数字信号处理技术, DSP 芯片即指能够实现数字信号处理技术的芯片。 DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。 DSP 芯片的内部采用程序和数据分开的哈佛结构,区别于计算机用的冯诺依曼结构,它具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法。
CCD(Charge Coupled Device),即“电荷耦合器件”,它是数字和机器视觉相机中用于捕捉静止和移动物体的一种传感器,以百万像素为单位。数码相机规格中的多少百万像素,指的就是CCD的分辨率。CCD是一种感光半导体芯片,用于捕捉图形,广泛运用于扫描仪、复印机以及无胶片相机等设备。
线阵CCD用于高分辨率的静态照相机,它每次只拍摄图像的一条线,这与平板扫描仪扫描照片的方法相同。这种CCD精度高,速度慢,无法用来拍摄移动的物体,也无法使用闪光灯。
面阵CCD,它的每一个光敏元件代表图像中的一个像素,当快门打开时,整个图像一次同时曝光。
等效焦距 = 实际焦距 * 焦距转换系数
焦距转换系数(Focal Length Multiplier)= 43.27 / 图像传感器靶面对角线长度
根据一般的CCD靶面尺寸之宽高比为 4∶3 、其规格英寸数约为"宽度*2/25.4",我们可以推出这类CCD靶面对角线的长度近似等于"规格英寸数*25.4*(5/8)"。
另外,依据1英寸CCD的对角线长为16mm,我们也可以简单地用 "规格英寸数*16" 来确定某型CCD对角线的长度是多少。
CCD成像原理
1、用相机拍摄景物时,景物反射的光线通过相机的镜头透射到CCD上。
2、当CCD曝光后,光电二极管受到光线的激发释放出电荷,感光元件的电信号便由此产生。
3、CCD控制芯片利用感光元件中的控制信号线路对光电二极管产生的电流进行控制,由电流传输电路输出,CCD会将一次成像产生的电信号收集起来,统一输出到放大器。
4、经过放大和滤波后的电信号被送到A/D,由A/D将电信号(此时为模拟信号)转换为数字信号,数值的大小和电信号的强度即电压的高 低成正比。这些数值其实就是图像的数据了。
5、不过单依靠第4步所得到的图像数据还不能直接生成图像,还要输出到数字信号处理器(DSP)。在DSP中,这些图像数据被进行色彩校正、白平衡处理(视用户在相机中的设定而定)等后期处理,编码为相机所支持的图像格式、分辨率等数据格式,然后才会被存储为图像文件。
6、最后,图像文件就被写入到存储器上(内置或外置存储器)。
CCD成像特性
1、 CCD电荷耦合器存储的电荷信息,需在同步信号控制下一位一位地实施转移后读取,电荷信息转移和读取输出需要有时钟控制电路和三组不同的电源相配合,整个电路较为复杂。
2、 CCD电荷耦合器需在同步时钟的控制下,以行为单位一位一位地输出信息,速度较慢
3、 CCD电荷耦合器大多需要三组电源供电,耗电量较大
CCD工业用途
在高速低照明应用中,CCD时间延迟积分成像器优于CMOS时间延迟积分成像器。在近红外成像方面, CCD面阵和线阵成像器是更好的选择。
CMOS(Complementary Metal Oxide Semiconductor),即“互补金属氧化物半导体”,这是一种为集成电路供电的技术。它是计算机系统内一种重要的芯片,保存了系统引导所需的大量资料。CMOS型图像传感器及互补金属氧化物场效应管。
CMOS成像原理
- 外界光照射像素阵列,发生光电效应,在像素单元内产生相应的电荷。
- 通过行选择电路和列选择电路选取希望操作的像素,并将像素上的电信号读取出来。
- 把相应的像素单元进行信号处理。
CMOS成像特性
1、 传感器尺寸:图像传感器的尺寸越大,则成像系统的尺寸越大,捕获的光子越多,感光性能越好,信噪比越低
2、 像素总数和有效像素数: 像素总数是指所有像素的总和,像素总数是衡量CMOS图像传感器的主要技术指标之一。CMOS图像传感器的总体像素中被用来进行有效的光电转换并输出图像信号的像素为有效图像传感器对入射光功率的响应能力被称为响应度。
3、 灵敏度:对于CMOS图像传感器来说,通常采用电流灵敏度来反映响应能力,电流灵敏度也就是单位光功率所产生的信号电流。
4、 分辨率:分辨率是指CMOS图像传感器对景物中明暗细节的分辨能力。
5、 光电响应不均匀性: CMOS图像传感器是离散采样型成像器件,光电响应不均匀性定义为CMOS图像传感器在标准的均匀照明条件下,各个像元的固定噪声电压峰峰值与信号电压的比值。
6、 光谱响应特性: 光谱响应特性就是指CMOS图像传感器的响应能力随波长的变化关系,它决定了CMOS图像传感器的光谱范围。
CMOS工业用途
在多数可见光成像应用中,CMOS面阵和线阵成像器优于CCD成像器。在紫外成像中,考虑到全局快照要求,能否实施背面减薄表面处理是关键。此外,低噪声要求也是一个因素。在这一方面,因为拥有高读出速度,CMOS的优势比CCD更为明显。
像元大小
像素顾名思义就是图像元素的简称,它通常用于描述影像,而像元则主要用于描述栅格数据,所以像素通常会作为像元的同义词使用,像元和像素都是栅格数据中的最小信息单位,所以,以后只要一提到像素我们就作为是像元。
1、 光学系统的分辨率
是指"物"在经过光学系统后的"像"在细节上能被分辨的最小距离。一般我们会用光学系统所能分辨的两个像点的最小距离来表示,大于这个距离的两个像点就能被识别为两个点,而小于这个距离的两个点经过光系统后就会被识别为一个点。
存在分辨率的原因是因为光学系统的衍射和像差导致的“失真”(可以把光学系统看作一个空间上的低通滤波器,只允许某个范围内的空间频率信号通过,导致高频信号丢失)
2、 相机的图像分辨率
单位距离内的像用多少个像素来显示。这就意味着像元尺寸越小,其图像分辨率越高。
FITS文件标准
一个 FITS 文件包含一系列逻辑单元,而每个单元的开头都是用一组标题记录描述随后的数据记录。
一个 FITS 文件的逻辑记录长度总是 2880 字节(bytes),每字节 8 位(bits)。标题和数据组都在一个新的逻辑记录里起始。FITS 标题用 ASCII 码编辑成每一个开始用一个 8 字符的关键词(keyword) 定义信息的类型(80个字节,36行)。参数值用标准 FORTRAN-77 规则编辑,它们详细地描述了标题记录后面的数据。在文件里最后的标题/数据单元后面,可能存在附加的记录。
标题的设计对描述的数据组所需的参数定义有较大的灵活性。总是需要给出很好定义的标准关键词组,甚至用简单的程序也容易能够读出数据的基本内容。一个 FITS 文件的模块结构也使它容易转换更复杂的数据。以后,它提供了一种可能性,即将 FITS 基本格式标准扩展到新的数据类型,而不用修改现在的 FITS定义, 也就是所谓的“once FITS, always FITS”一说。
相比于其他有损压缩图片格式或者无损压缩图片格式
FITS和其他图片格式之间的区别
作为一种科学数据,FITS相比于jpg或者png之间的区别就在于拥有更多的关键词来记录信息。
GigE Vision
GVCP协议:
GVCP允许应用程序配置和控制GigE相机,应用程序使用UDP协议发送命令,并等待设备响应,然后发送下一命令,该机制弥补了UDP协议的面向无连接缺点,保证了数据传输的完整性和可靠性。
GVSP协议:
该协议定义了GVSP发射机如何发送图像数据、图像状态等信息到GVSP接收机,GVSP数据包总是在GVSP发射机和接收机之间传输。GVSP通过GVCP对数据包的传输提供了一种可靠性机制。
遵循AIA发布的GIGE VISION 2.0标准,可以让多个视觉系统实现精确实时同步,该功能非常适合需要多相机同步抓拍图像的应用。例如:三维视觉,运动动态分析,高速实时检测。
GIGE VISION 2.0标准的重要组成是PTP协议(IEEE 1588标准定义)
IEEE1588协议的同步原理就是PTP 协议延迟响应机制
主时钟:最精确的时钟,一般受控于GPS接收器,用来同步UTC时间。
从时钟:网络中的其他时钟,其他相机和主时钟相机同步时间,精确到纳秒。
图中所描述的 PTP 报文为以下几种:
(1)sync 同步报文
(2)Follow_up 跟随报文
(3)Delay_req 延迟请求报文
(4)Delay_resp 延迟请求响应报文
延迟响应同步机制的报文收发流程:
1. 主时钟周期性的发出 sync 报文,并记录下 sync 报文离开主时钟的精确发送时间 t1;
(此处 sync 报文是周期性发出,可以携带或者不携带发送时间信息,因为就算携带也只能是预估发送时间戳 originTimeStamp)
2. 主时钟将精确发送时间 t1 封装到 Follow_up 报文中,发送给从时钟;
(由于 sync 报文不可能携带精确的报文离开时间,所以我们在之后的 Follow_up 报文中,将 sync 报文精确的发送时间戳 t1 封装起来,发给从时钟)
3. 从时钟记录 sync 报文到达从时钟的精确时到达时间 t2;
4. 从时钟发出 delay_req 报文并且记录下精确发送时间 t3;
5. 主时钟记录下 delay_req 报文到达主时钟的精确到达时间 t4;
6. 主时钟发出携带精确时间戳信息 t4 的 delay_resp 报文给从时钟;
这样 从时钟处 就得到了 t1,t2,t3,t4 四个精确报文收发时间。
时钟偏差 & 网络延时
offset : 时钟间偏差(主从时钟之间存在时间偏差,偏离值就是 offset,图1 中主从时钟之间虚线连接时刻,就是两时钟时间一致点)
delay : 网络延时(报文在网络中传输带来的延时)
从时钟得到 offset 和 delay 之后就可以通过修正本地时钟进行时间同步。
PTP报文分类
IEEE1588 把所涉及到的报文分为 事件报文 和 通用报文,分类依据是:是否在收发报文时需要记录精确时间戳,根据上文中所描述的几种报文,可以进行如下分类:
事件报文 < 收发时候需要记录精确时间戳 > :sync 报文,delay_req 报文
通用报文 < 收发时候不需要几率精确时间戳 > :follow_up 报文,delay_resp 报文
Note
1. 因为需要高同步精度,选取的时间都是精确时间戳
2. sync 同步报文是周期性从主时钟向从时钟以广播的形式发出
3. 时钟偏差延时的计算在从时钟中进行,所以需要把 t1,t2,t3,t4 四个时间戳信息都发往从时钟,所以需要 follow_up 报文和 delay_resp 报文的存在
PLC
由于PLC涉及的内容太多太杂我这边选择从modbus切入来分析一下