本发明涉及高浓度纳米颗粒动态特性测量,特别涉及一种基于fpga(field programmable gate array)的图像扩散波光谱技术的检测系统及方法。
背景技术:
1、随着纳米科技的日益进步和发展,高浓度纳米颗粒体系在制药、石油、化工、食品等多个领域的应用越来越宽泛,颗粒的流动性和稳定性等动态特性是表征纳米颗粒性能的重要参数,提升其测量精度对相关产品的质量、研发速度提升具有重要意义。在低浓度纳米颗粒测量中主要采用动态光散射法,但在高浓度纳米颗粒的测量过程中,动态光散射法测量颗粒粒度分布和动态特性时需要进行抽样稀释,会导致测量结果偏离标准粒径,难以准确测量。而基于高浓度纳米颗粒会发生多重光散射提出的图像扩散波光谱法,具有非接触性、操作便捷、可重复性高等优点。图像扩散波光谱法是通过摄像头获取高浓度纳米颗粒体系中经多重光散射产生的散斑图,再对其进行去相关分析以得到光强去相关函数,进一步分析获得颗粒的动态特性。
2、图像扩散波光谱法通过摄像头采集散斑图像进行处理的方法具有图像数据量大,处理速度要求高,灵活性强,实时性的特点。目前的基于cpu的图像处理平台存在体积大、成本高、运算慢的问题。基于gpu的图像处理平台存在功耗大的问题。基于asic的图像处理平台存在开发周期长、成本高、灵活性差的问题。基于dsp的图像处理平台对复杂算法的处理能力差。而基于fpga的具有电路并行性、可编程性、实时性和体积小的特点,可以很好的适用于图像扩散波光谱算法的设计。同时如何应用fpga结合高带宽的大容量存储资源设计具有高并行性、稳定性、实时性的图像扩散波光谱算法逻辑电路也是一个重要的技术问题(brunel,l.et al_2007_adaptive speckle imaging interferometry;method anddevice for the analysis of movement in a scattering medium(us7782458b2))。
技术实现思路
1、针对现有技术存在的问题,本发明提供了基于fpga的图像扩散波光谱技术的系统及方法,该系统和方法能够利用fpga实现具有高并行性、实时性和稳定性的图像扩散波光谱算法的逻辑电路设计,简化实验操作以及极大地提高实验结果的获取速度。
2、本发明的目的至少通过如下技术方案之一实现。
3、基于fpga的图像扩散波光谱技术的检测方法,包括如下步骤:
4、s1、获取散斑图像:应用cmos摄像头采集激光经过高浓度纳米颗粒体系散射产生的散射光信息,采集的散斑图像经光电转换输出视频数据流传入fpga;
5、s2、视频格式灰度变换:输入fpga的散斑图像视频数据经过串并转换输出rgb565格式数据,经格式转换输出ycbcr格式数据,输出y通道像素点灰度值;
6、s3、图像归一化处理:等待输入视频流的数据稳定后,在第一帧稳定的数据输入时同步作累加及平均处理以获得灰度图像一帧的平均值,并同时将第一帧数据存入sdram,再得到第一帧图像数据平均值后将存入的第一帧图像取出并与其作差得到归一化图像,对每一帧图像都进行归一化操作;
7、s4、多帧间差分处理:将第一帧归一化后的图像数据存入sdram,并在去相关函数未饱和时,将后续输入的归一化图像对应位置的像素点与存入的第一帧归一化后的图像数据相减,得到第2至第n帧都减去第一帧的差分图;
8、s5、相关性分析:将差分的结果再经过平方、除法、求和、累加和平均计算,获得去相关系数,在判断去相关函数饱和的情况下存下数值,并重复步骤s4处理,得到去相关系数并通过串口传入上位机,可进一步作出去相关曲线。
9、进一步地,步骤s1中,采集到的散射光信息经cmos摄像头光电转换及模数转换输出为8bit的数据,通过摄像头接口的数据信号线从fpga写数据到摄像头图像信息相关的寄存器,配置输出为640*480,30fps的散斑图像数据流传入fpga。
10、进一步地,步骤s2中,cmos摄像头输出的8bit数据,经串并转换拼接成一个16bit的rgb565数据,再根据rgb转ycbcr公式及浮点转定点操作来实现灰度变换,得到8bit的y通道灰度值、8bit的cb通道蓝色色度值和8bit的cr红色色度值,取其中的y通道灰度值作为图像归一化模块的输入数据。
11、进一步地,步骤s3中,实现传入的8bit的640*480大小的图像灰度数据减去本身像素点灰度值平均值的功能,降低环境光的变换所带来的影响;
12、当数据稳定后的第一帧图像写入时,将一帧的图像灰度数据累加并寄存,同时将数据输入写fifo1缓存,设定sdram的第一片地址空间,在达到sdram的突发读写长度时再写入这片空间,当第二帧图像到来时,将sdram第一片地址空间中存储的第一帧图像读出到读fifo1缓存,再将其读出与寄存的平均值相减,完成每一帧的图像归一化处理,将归一化后的图像数据传入多帧间差分模块。
13、进一步地,步骤s3中,对每一帧图像都进行归一化操作,计算公式如(1)所示:
14、
15、其中,i0(x,y,t)表示t时刻坐标(x,y)图像归一化后的像素值,i(x,y,t)表示t时刻坐标(x,y)的像素值,表示t时刻一帧图像的像素点平均值。
16、进一步地,步骤s4中,通过4个fifo和sdram的控制、命令接口、数据位宽控制模块完成sdram中两片地址空间的同时读写,并将传入的已归一化的第一帧图像数据写入写fifo2缓存,在到达突发读写长度256时再写入sdram的第二片地址空间,并在第三帧以及后续图像数据到来时读出至读fifo2,再从读fifo2取出与新传入该模块的第二帧以及后续已归一化的图像数据做差,得到第2至第n帧都减去第一帧的差分图,计算公式如(2)所示:
17、id(x,y,t)=i0(x,y,t)-i0(x,y,0)(2)
18、其中,id(x,y,t)表示t时刻坐标(x,y)多帧间差分处理后的像素值,i0(x,y,0)表示0时刻坐标(x,y)图像归一化后的像素值。将差分结果传入去相关处理模块。
19、进一步地,步骤s5中,在去相关函数未饱和时,对差分图像与归一化图像数据做时序同步处理,并进行除法、求和、累加和平均操作计算得到去相关系数,在去相关函数饱和后,将新一帧归一化后的图像数据写入sdram的第二片存储空间,重复计算多帧间差分和图像去相关运算,将计算获得的去相关系数通过串口传入上位机,进一步作出对应的去相关曲线。
20、进一步地,去相关系数计算公式如(3)所示:
21、
22、其中,dim x和dim y分别代表水平和垂直像素的个数,d(τ)为去相关系数,τ为两帧图像间隔的时间。
23、基于fpga的图像扩散波光谱技术的检测系统,包括散斑图像信号生成单元、光电转换单元、fpga图像处理单元和上位机单元;
24、其中,散斑信号生成单元由激光器、准直镜、反射镜和高浓度纳米颗粒体系组成,激光照射高浓度纳米颗粒体系,产生经过多重散射的光信息;光电转换单元为cmos摄像头,应用传感阵列探测散射光信号并转换为电信号将散斑图像信息输入fpga图像处理单元;fpga图像处理单元包括fpga芯片、sdram芯片及在fpga芯片内部编程产生的数字电路对应的查找表,所述上位机单元为通用计算机,通过串口接收fpga传入的去相关系数数据,进一步作出去相关曲线。
25、进一步地,在fpga芯片内部编程产生的数字电路对应的查找表包括查找表模拟的散斑sccb接口协议模块、图像获取模块、视频格式灰度变换模块、图像归一化模块、多帧间差分模块和相关性分析模块。
26、相比与现有技术,本发明的优点在于:
27、与以往技术相比,本发明提出了一种基于fpga的图像扩散波技术的实现方法,应用cmos摄像头结合fpga芯片及外围存储电路并行性的设计,高速实时地实现了扩散波光谱算法的运算,降低了系统的成本,并为系统的小型化做好了充足的准备。