机器视觉用高速CMOS线阵相机的制作方法

文档序号:14725252发布日期:2018-06-19 05:59阅读:580来源:国知局

本发明属于图像采集技术领域,涉及一种机器视觉用高速CMOS线阵相机。



背景技术:

在以智能生产为代表的机器4.0时代,设备自动化大大提升,智能设备将解放人们的双手,提高生产效率。而机器视觉检测在这个过程中将发挥不可替代的作用,它可以实现图像的自动采集与图像处理。而线阵相机则处于机器视觉检测的最前端。线阵相机在机器视觉领域有着广泛的应用,如PCB电路板缺陷检测,印刷字符检测,产品颜色分拣,布匹疵点检测等等。

由于发展起步较晚,国内使用的线阵相机多以进口为主,如德国的Balser,加拿大Dalsa等。而国内科研院校对线阵相机的研究,多集中于航天,遥感等领域。在工业用线阵相机的研发方面,投入相对较少。工业用线阵相机成本敏感,更新速度快,但需求量巨大,因此有必要加强这方面的研究。

传统线阵相机的传感器芯片多以CCD为主。但是随着科技的不断进步,CMOS芯片在灵敏度、信噪比等方面有着很大的提高,逐渐可以替代CCD芯片。另外CMOS芯片内部集成了ADC单元,读出数据为数字信号,无需增加AD模块进行模数转换。从而减少了相机体积,降低了开发难度。

目前,市场上的线阵相机,多以千兆网、CameraLink、和usb2.0三种接口为主要通信方案。CameraLink最大传输速度为5.4Gb/s。USB2.0传输速度为450Mb/s,另外USB3.0传输速度达到5Gb/s。由于线阵相机产生的数据较大,usb2.0逐渐被usb3.0接口代替。CameraLink接口的线阵相机需要在电脑端安装图像采集卡。另外CameraLink和USB3.0的传输距离较近。因此在远距离传输,多机组网的模式下,千兆网通信的线阵相机具有更好的应用优势。

线阵CMOS芯片具有集成度高,读出速度高、控制简单的特点。但是由于制造工艺的原因,线阵CMOS芯片的每个像元的光照灵敏度是不同的,导致其读出的图像是不均匀的。导致线阵CMOS采集图像不均匀的原因主要包括两个:暗信号非均匀度(DSNU)和光响应非均匀度(PRNU)。暗信号非均匀度(DSNU)是一种固定模式噪声,与入射光无关,是由于制造工艺导致的感光像元的不一致性造成的。光响应非均匀度(PRNU)则是在同样的光照条件下,每个感光像元对光的转换不一致造成的。

未经校正的线阵CMOS芯片,采集到的图像,容易出现条带状的图像阴影,如果不对其校正,而直接用来应用,会导致读出的图像失真。因此必须对其进行校正。



技术实现要素:

为了解决背景技术中的问题,本发明提供了一种机器视觉用高速CMOS线阵相机。该相机基于FPGA内部实现的图像处理算法,对其进行暗信号非均匀度(DSNU)和光响应非均匀度(PRNU)两方面的校正,解决了线阵CMOS相机采集图像不均匀的问题。

本发明的具体技术方案是:

一种机器视觉用高速CMOS线阵相机,包括FPGA芯片、CMOS芯片、DDR2芯片、FLASH芯片以及PHY芯片;其特殊之处是:运行在FPGA芯片上的控制调度模块、图像校正模块、数据存取模块、数据收发模块、图像采集模块、相机参数存取模块;

控制调度模块按照逻辑顺序依次启动图像采集模块、相机参数存取模块、数据收发模块、数据存取模块以及用于将数据收发模块发送的命令进行解析后分别发送给图像校正模块、数据存取模块、图像采集模块、相机参数存取模块;

数据收发模块用于控制PHY芯片接收上位机的命令以及将采集到的图像数据进行封装后发送上位机;

相机参数存取模块用于控制FLASH芯片存取相机的IP地址、MAC地址、曝光时间、偏置、增益、触发方式;

图像采集模块用于控制CMOS芯片对图像进行采集;

图像校正模块用于对采集的图像依次进行暗信号非均匀度和光响应非均匀度两方面的校正;

数据存储模块用于控制DDR2芯片对校正后图像数据进行缓存。

进一步地,所述暗信号非均匀度和光响应非均匀度两方面的校正具体步骤是:

1)暗信号非均匀度的校正;

1.1)获取暗信号非均匀度校正参数;

1.1.1)当CMOS线阵相机工作状态稳定后,加上相机镜头盖,使其处于无光照射状态,图像采集模块控制CMOS芯片逐帧采集暗背景的图像并将其传输给图像校正模块;其中,每帧暗背景的图像为一行数据,每行数据包括2048个像素灰度值;采集图像数据的帧数≥1024帧;

1.1.2)将采集的每帧图像数据相加,相加的原则是同一像素位置的数据依次相加,从而形成一个和数组,记为SUM={SUM1,SUM2…SUM2048};

1.1.3)分别求解和数组中每一个数的均值,从而形成一个均值数组,记为Mean={Mean1,Mean2…Mean2048},具体求解公式是:Mean=SUM/1024;

1.1.4)在均值数组中找出最小均值Meanmin;

1.1.5)分别用均值数组Mean中的每一个数与最小值Meanmin做差,得到暗信号非均匀度校正数组,记为T={T1,T2…T2048};

1.2)将暗信号非均匀度校正数组与新采集的每一帧图像数据相加后完成对该帧图像数据的暗信号非均匀度校正;

2)在完成暗信号非均匀度校正后进行光响应非均匀度校正;

2.1)获取光响应非均匀度参数;

2.1.1)去掉线阵CMOS相机镜头盖,使其采集到的图像灰度值达到饱和状态的75%后进行持续均匀照射,图像采集模块控制CMOS芯片逐帧采集饱和状态下的图像并将其传输给图像校正模块;其中,每帧饱和状态下的图像为一行数据,每行数据包括2048个像素灰度值;采集图像数据的帧数≥1024帧;

2.1.2)将采集的每帧图像数据相加,相加的原则是同一像素位置的数据依次相加得出一个和,从而形成一个和数组,记为SUM饱={SUM饱1,SUM饱2…SUM饱2048};

2.1.3)分别求解和数组SUM饱中每一个数的均值,从而形成一个均值数组,记为Mean饱={Mean饱1,Mean饱2…Mean饱2048},具体求解公式是:Mean饱=SUM饱/1024;

2.1.4)在均值数组Mean饱中找出最小均值Mean饱min;

2.1.5)分别用均值数组Mean饱中的每一个数与最小均值Mean饱min相除,得到光响应非均匀度校正数组,记为T饱={T饱1,T饱2…T饱2048};

2.2)将光响应非均匀度校正数组T饱与新采集的每一帧图像数据相乘后完成对该帧图像数据的光响应非均匀度校正。

进一步地,所述机器视觉用高速CMOS线阵相机,还包括温度传感器以及运行在FPGA芯片上的温度查询模块;温度查询模块控制温度传感器将其采集到的温度实时传送给上位机。

本发明的有益效果是:

1.本发明通过基于FPGA芯片中运行的图像校正模块实现了暗信号非均匀度(DSNU)和光响应非均匀度(PRNU)的校正处理,可以自适应的调整状态,解决了现有CMOS线阵相机采集图像不均匀的问题

2.采用线阵CMOS芯片作为传感器,与采用线阵CCD芯片的方案相比,开发周期缩短,减少了AD模块的设计,省去了多余的电路板,缩小了相机体积。

3.增加了温度传感器和温度查询模块,可以实时监控图像采集前端的温度。

4.实现了基于CMOS芯片的TDI采集模式,提高了线阵相机在光照强度较弱的情况下图像采集质量。

附图说明

图1为本发明中运行在FPGA上的功能模块连接示意图;

图2为CMOS芯片与FPGA连接示意图;

图3为图像校正模块的校正原理图;

图4为获取暗信号非均匀度校正参数的方法示意图;

图5为获取光响应非均匀度校正参数的方法示意图。

具体实施方式

下面结合附图对本发明的具体实施方式进行介绍:

一种机器视觉用高速CMOS线阵相机,包括硬件结构是:FPGA芯片、CMOS芯片、DDR2芯片、FLASH芯片、PHY芯片以及温度传感器(DS18B20芯片);如图1所示,还包括基于FPGA芯片运行的功能模块包括,控制调度模块、图像校正模块、数据存取模块、数据收发模块、图像采集模块、相机参数存取模块以及温度查询模块。

下面就每个一个功能单元进行详尽介绍:

1、控制调度模块按照逻辑顺序依次启动图像采集模块、相机参数存取模块、数据收发模块、数据存取模块以及用于将数据收发模块发送的命令进行解析后分别发送给图像校正模块、数据存取模块、图像采集模块、相机参数存取模块;

2、图像采集模块:线阵CMOS传感器(CMOS芯片)负责采集图像,其与FPGA芯片的通信方式如图2所示。线阵CMOS传感器(CMOS芯片)能够正常工作,除了需要正常的电源配置外,还需要FPGA芯片提供完整的时序驱动。另外FPGA芯片还需从四个读出端口中获取数据,从而拼接成完整的图像。

3、图像校正模块:图像校正单元由FPGA芯片内部实现,如图3所示,主要解决暗信号非均匀度(DSNU)和光响应非均匀度(PRNU)两个方面的问题,让相机分别在无光条件下,采集图像,然后消除暗信号非均匀度(DSNU),然后使其采集到的图像灰度值达到饱和状态的75%后进行持续均匀照射,采集图像,消除光响应非均匀度(PRNU)。

4、温度查询模块:温度查询模块控制温度传感器(DS18B20芯片)来用于实现相机采集图像时的实时温度的上传,其为单线接口方式,与FPGA芯片只有一条连线,即可实现双向通信。FPGA芯片为其提供驱动程序,并将其采集到的温度实时传送给上位机。

5、数据存储模块控制DDR2芯片来实现图像的缓存,由FPGA内生成的DDR2IP核来控制DDR2的读写功能,图像存储进DDR2后,当接收到采集命令时,即发出。

6、相机参数存取模块:线阵相机里的一些参数,即使掉电也不会失去,例如IP地址、MAC地址、曝光时间、偏置、增益、触发方式等设置。这里使用相机参数存取模块控制SPI-FLASH芯片与FPGA相互通讯,利用SPI总线协议实现对该芯片的控制和参数存取。

7、数据收发模块:据收发模块用于控制PHY芯片接收上位机的命令以及将采集到的图像数据进行封装后发送上位机;FPGA芯片与PHY芯片通过RGMII接口相连,实现数据的通道,由FPGA内生产的TSEIP核实现MAC层的功能;由FPGA通过MIDO和MDC配置PHY芯片的工作状态,在这里,可以选择传输介质是RJ45网线或是光纤。由FPGA芯片内的TSEIP核实现MAC层的功能,在FPGA硬件逻辑实现传送层、网络层的协议。

具体的校正方法是:

如图4所示,步骤1)暗信号非均匀度的校正;

步骤1.1)获取暗信号非均匀度校正参数;

步骤1.1.1)当CMOS线阵相机工作状态稳定后,加上相机镜头盖,使其处于无光照射状态,图像采集模块控制CMOS芯片逐帧采集暗背景的图像并将其传输给图像校正模块;其中,每帧暗背景的图像为一行数据,每行数据包括2048个像素灰度值;采集图像数据的帧数≥1024帧;

步骤1.1.2)将采集的每帧图像数据相加,相加的原则是同一像素位置的数据依次相加,从而形成一个和数组,记为SUM={SUM1,SUM2…SUM2048};

步骤1.1.3)分别求解和数组中每一个数的均值,从而形成一个均值数组,记为Mean={Mean1,Mean2…Mean2048},具体求解公式是:Mean=SUM/1024;

步骤1.1.4)在均值数组中找出最小均值Meanmin;

步骤1.1.5)分别用均值数组Mean中的每一个数与最小值Meanmin做差,得到暗信号非均匀度校正数组,记为T={T1,T2…T2048};

步骤1.2)将暗信号非均匀度校正数组与新采集的每一帧图像数据相加后完成对该帧图像数据的暗信号非均匀度校正;

如图5所示,步骤2)在完成暗信号非均匀度校正后进行光响应非均匀度校正;

步骤2.1)获取光响应非均匀度参数;

步骤2.1.1)去掉线阵CMOS相机镜头盖,使其采集到的图像灰度值达到饱和状态的75%后进行持续均匀照射,图像采集模块控制CMOS芯片逐帧采集饱和状态下的图像并将其传输给图像校正模块;其中,每帧饱和状态下的图像为一行数据,每行数据包括2048个像素灰度值;采集图像数据的帧数≥1024帧;

步骤2.1.2)将采集的每帧图像数据相加,相加的原则是同一像素位置的数据依次相加得出一个和,从而形成一个和数组,记为SUM饱={SUM饱1,SUM饱2…SUM饱2048};

步骤2.1.3)分别求解和数组SUM饱中每一个数的均值,从而形成一个均值数组,记为Mean饱={Mean饱1,Mean饱2…Mean饱2048},具体求解公式是:Mean饱=SUM饱/1024;

步骤2.1.4)在均值数组Mean饱中找出最小均值Mean饱min;

步骤2.1.5)分别用均值数组Mean饱中的每一个数与最小均值Mean饱min相除,得到光响应非均匀度校正数组,记为T饱={T饱1,T饱2…T饱2048};

步骤2.2)将光响应非均匀度校正数组T饱与新采集的每一帧图像数据相乘后完成对该帧图像数据的光响应非均匀度校正。

机器视觉用高速CMOS线阵相机的硬件平台构建方式如下:

下面就上电后的工作状态进行说明:

上电:复位完成后,FPGA从SPI-FLASH中读取相机参数,一部分发送给数据收发模块,用于配置IP地址和MAC地址,另一部分发送给图像采集模块,通过SPI总线配置给CMOS芯片中的寄存器中。

启动CMOS芯片:CMOS芯片在配置完成后,即开始工作,这里CMOS芯片的配置命令比较丰富,如主频时钟,行频,图像宽度,增益,偏置,触发方式,外触发方式,读出方式等等。其主频时钟可以设置在50MHz,或者75Mhz;行频最高达到26KHz;触发方式包括内触发,外触发;外触发方式包括上升沿和下降沿两种触发方式。图像宽度可以根据实际使用情况设置。对CMOS芯片上下两行感光像元的增益和偏置采用分别的配置模块,使其读出图像的灰度值尽量达到一致。读出方式包括第一行感光像元输出、第二行感光元输出,以及TDI模式。

图像校正:由于CMOS芯片的生成工艺问题,其采集到的原始图像像素有明显的条带状亮暗不均的现象,因此必须进行图像校正,并且在每次设置完相机的参数后,有必要再次校正。具体流程如下:当相机连接完成后,点击电脑上位机的采集命令,图像开始上传至电脑上位机,调整相机的参数,当其工作状态稳定后,加上相机镜头盖,使其处于无光照射状态。点击DSNU按钮,相机即进行暗信号非均匀度(DSNU)校正,得出每个像元的暗信号非均匀度(DSNU)校正参数。去掉相机的镜头盖,将相机对准均匀照射光,增加照射光强度,使其采集到图像的灰度值达到满量程的75%,点击PRUN按钮,相机即进行PRNU校正,计算出每个像元的光响应非均匀度(PRNU)校正参数。

图像存取:已经校正后的图像数据,按顺序存入DDR2芯片中,DDR2芯片开辟了两块存储空间,用于缓存图像,采用PingPong方式,一块空间存储时,另外一块空间用于读出,然后周期性的轮转。如果PC上位机不采集图像时,则不进行读出。

实时查询温度:FPGA芯片正常工作后,即实时查询DS18B20芯片,DS18B20芯片将采集的温度信息传送给FPGA芯片,FPGA芯片按照每秒一次的频率,将温度信息发送给上位机。

网络通信:FPGA内部逻辑正常工作后,会通过MDIO和MDC接口配置PHY芯片,PHY芯片通过检测传输介质,并与电脑进行自动协商后,使得网络进入千兆网双工工作模式。数据收发模块的功能包括,搜寻相机,连接相机,采集,暂停,修改IP,设置相机参数等功能。在数据收发模块开辟两个通道,分别进行命令设置和数据传输两个部分。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1