APP下载

手持式食品残留物荧光成像检测系统开发

2023-03-04朱启兵

激光技术 2023年6期
关键词:残留物分块菠菜

徐 帅,朱启兵,黄 敏

(江南大学 物联网工程学院,无锡 214122)

引 言

食源性疾病是食品安全领域持续关注的重要问题[1]。食品生产加工设备在工作过程中会产生碎屑残留,这些残留不仅会影响后续食品生产的品质而且容易滋生食源性病菌[2]。因此对食品加工、储存器具上的食品残留物进行检测,不仅能够评判清洁程度,更可以防止病菌滋生的潜在风险。目前国内对于食品生产加工场所的卫生检测仍以目视检查为主。目视检查易受环境和检测员疲劳度的干扰,检测效果不稳定;而且对于一些透明或与背景颜色相近的残留物,目视检查难以取得较好的检测效果。荧光成像技术在食品安全检测领域具有很大的发展潜力,许多食品材料都具有荧光发射特性[3-6]。近年来,一些基于荧光成像技术的设备和系统已经被开发并应用于食品安全检查。KANG等人[7]基于食品样品的特征荧光,设计了一种快速筛查食品中多种危害因子的便携式食品安全检测仪。ZHANG[8]基于感染黄曲霉毒素的花生在365 nm紫外光照射下会发出独特的黄绿色荧光特性,设计了一款基于智能手机的黄曲霉毒素快速检测设备。在肉制品粪便污染检测应用中,SEO等人[9]利用多光谱荧光成像技术结合选定波段比(波段比为630 nm/600 nm)图像的主成分分析技术实现了鸡胴体粪便污染的在线检测;BURFOOT等人[10]开发一种荧光成像设备用于牛羊肉胴体粪便污染检测;GORJI和SUEKER等人[11-12]将荧光成像和深度学习相结合,实现肉类胴体上粪便污染的自动识别。在食品加工场所卫生检测应用中,LEFCOURT 等人[13-14]开发了一款便携式高光谱荧光成像系统,以检测加工设备表面肉眼不可见的残渣;LEE 等人[15-17]开发了一款手持式荧光成像设备并应用于加工设备表面食品残留检测。但是上述设备在操作的便携性、功能的完善性方面仍有待改进,难以适应复杂环境下的食品残留物检测。

本文作者研究开发了一套手持式食品残留物荧光成像检测设备,该设备集检测-分析-显示-存储于一身,体积较小方便携带,在成本上更具优势。设备由发光二极管(light-emitting diode,LED)、散热器、超声波测距芯片、红绿蓝(red green blue,RGB)相机、触控屏、现场可编程门阵列(field-programmable gate array,FPGA)、安全数字(secure digital,SD)存储卡、大容量锂电池组成。设备充分利用FPGA实时性高、容量大以及能够进行并行流水线处理的特点[18],在FPGA中实现基于分块阈值的大津算法[19-20](Otsu algorithm,OTSU),提高了设备在不均匀光照下的检测效果。检测人员可以使用该设备识别食品加工设备中肉眼看不见的残留物并可以通过触控屏将当前图片保存在SD存储卡中。

1 系统总体方案设计

本文系统装配如图1所示,包括主控模块、相机模块、激发光源模块、超声波测距模块、触控屏、电源板。设备启动时,打开电源开关,大功率LED激发光源启动照射,检测区域的残留物荧光图像经RGB相机采集后传送到FPGA主控模块中,FPGA根据距离信息对荧光图像进行处理,标记出残留物区域并发送到触控屏中显示,此时检测员可以根据需要选择是否操作触控屏将此时的荧光图像保存至SD存储卡中。

图1 手持式食品残留物荧光检测系统装配图

2 系统硬件设计

2.1 FPGA主控板设计

如图2所示,所设计的FPGA主控板集成了EP4CE22F17C8主控芯片、50 MHz高精度有源晶振时钟、256 Mbit随机动态存取内存(synchronous dynamic random access memory,SDRAM)、和16 Mbit闪存(flash eeprom memory,FLASH)。根据FPGA现场可编程的优势,所设计的FPGA主控板在FPGA芯片内部实现了串行摄像机控制总线协议(serial camera control bus,SCCB)、数字视频接口(digital video port,DVP)与RGB相机、串行外设接口(serial peripheral interface,SPI)与SD存储卡,以及集成电路总线(inter-integrated circuit,IIC)、视频图形阵列(video graphics array,VGA)与触控屏的通信与数据传输。

图2 FPGA主控板

2.1.1 SDRAM存储电路设计 系统运行过程中需要开辟一块内存用来缓存图像处理过程中产生的数据,因此使用256 Mbit SDRAM作为图像检测过程中的缓存存储器。SDRAM存储器硬件电路连接如图3所示,SDRAM与FPGA相连,由于相机图像输出频率为42 MHz,RGB触控屏显示频率为32 MHz,SDRAM工作频率为133 MHz,因此FPGA在缓存和读取SDRAM过程中需要分别插入两个异步先进先出队列防止数据丢失。此外由于SDRAM工作频率较高,在进行印刷电路板布线时需要进行蛇形等长处理。

图3 SDRAM存储器电路

2.1.2 FLASH电路设计 由于FPGA是基于随机存取存储器和查找表结构,掉电时配置信息会丢失,因此选用一片16 Mbit SPI FLASH保存配置数据。所用FLASH型号为W25Q16,该型号可以等效替代相关公司的系列配置器件。电路连接如图4所示,程序下载时,下载数据经过DATA0口保存在FLASH芯片中,当系统再次上电时FPGA将读取FLASH中保存的用户程序和配置文件完成系统初始化配置。

图4 Flash存储器电路

2.1.3 SD卡存储电路设计 SD卡存储电路使用一张大容量SD卡作为外部存储器。SD卡存储电路如图5所示,SD卡与FPGA采用SPI通信模式,FPGA可以根据指令将当前视频帧保存在SD卡中。

图5 SD卡存储电路

2.1.4 电源电路设计 系统主要用到12 V、5 V、3.3 V、2.5 V、1.2 V直流电源。其中大功率LED光源以及散热风扇由12 V锂电池直接供电,RGB触控屏和FPGA主板电源由12 V锂电池经电压转换芯片MC34063转换为5 V后提供,FPGA主板电源经电压转换芯片AMS1085-3.3转换为3.3 V电压给FPGA芯片供电,并分别经过电压转换芯片AMS1117-2.5和AMS1117-1.2转换为2.5 V和1.2 V电压,作为联合测试工作组和FPGA内核供电电压。

2.2 激发光源模块

激发光源由4颗10 W LED灯珠、恒流电路、铝制散热片、光源基板组成。根据食品残留物的荧光特性,选用中心波长400 nm,波长范围395 nm~405 nm的大功率LED作为激发光源。为保证LED稳定工作,灯珠需要恒定的电流和及时散热。如图6所示,灯珠按照两并两串方式均匀分布在光源板上,且每颗LED灯珠均搭配相应的铝制散热片,中部镂空放置相机镜头。

图6 激发光源

2.3 RGB相机模块

选用高灵敏度、低串扰、低噪声、高量子效率OV5640相机采集荧光图像,并按照RGB565格式发送给FPGA。相机镜头选用广角高清M12镜头。镜头底部具有放置滤波片的凹槽,设备可以通过更换凹槽中的滤波片实现对不同荧光特性对象的检测。

2.4 超声波测距模块

为避免误检测,设备通过超声波测距模块实现检测状态判断。如图7所示,超声波测距模块采用高性价比超声波测距芯片CS100。

2.5 RGB触控屏模块

RGB触控屏采用800×480像素分辨率的电容触摸显示屏。该屏幕集成了电容触摸控制器,该控制器可以通过标准IIC总线接口将多点触摸信号的实时坐标传送给FPGA。

2.6 系统板级信号测试

如图8所示,采用嵌入式逻辑分析仪SingalTap抓取系统运行过程中的时序关系。CMOS_Frame_clken为像素有效信号,CMOS_Vsync、CMOS_Href和COMS_Data分别为相机输出的场信号、行信号和像素数据,当CMOS_Href为高电平,且CMOS_Frame_clken使能时像素数据有效输出;SDRAM_Read和SDRAM_Write分别为SDRAM存储器读写控制信号,当SDRAM_Read或SDRAM_Write为高电平时,FPGA根据读写地址SDRAM_Rrd1_addr或SDRAM_Rwrd1_addr对SDRAM存储器进行读写,读写数据通过双向读写数据通道SDRAM_DQ进行传输,SDRAM_Dqm为2位数据掩码器,SDRAM_Dqm为16进制数0x03时,表示当前传输数据SDRAM_DQ无效,为16进制数0x00时,表示数据有效;LCD_Vs、LCD_Hs和LCD_De分别为显示器场信号、行信号和数据使能信号,当LCD_Vs、LCD_Hs和LCD_De均为高电平时,像素数据LCD_Data有效输出;SDCARD_Init_done信号为高电平表明设备检测到SD存储卡并初始化配置完成;Ultrasonic_Echo为超声波测距模块输出回响信号,其高电平脉冲宽度为超声波往返时间之和,FPGA根据回响信号高电平持续时间计算距离,当回响信号Ultrasonic_Echo产生下降沿时,FPGA内部寄存器Ultrasonic_distance更新距离信息(单位为mm)。

图8 板级硬件测试信号

由硬件测试信号可知,硬件系统图像采集功能正常、SDRAM存储器读写正常、RGB显示器工作正常、SD卡初始化完成、超声波模块测距正常,系统硬件电路设计达到设计要求。

3 FPGA逻辑设计

3.1 系统流程设计

系统工作流程如图9所示。设备启动时,大功率LED灯打开同时散热风扇开始工作,FPGA开始初始化配置并将掩模寄存器初始值清零;FPGA初始化完成后开始初始化配置相机寄存器;相机初始化完成后系统开始采集图像信息,为确保图像输出稳定系统丢弃前10帧图像;当设备距离被测物体40 cm以内时,系统启动图像处理功能,一方面,RGB图像与掩模寄存器中保存的掩模进行融合,并将带有残留物标记的图像传送到RGB触控屏中,另一方面,RGB图像通过分块大津算法生成新的残留物掩模并更新掩模寄存器;而当距离超过40 cm时,RGB图像直接显示在RGB触控屏;在RGB屏中可以选择是否将融合后的荧光图像进行保存。

图9 系统流程图

3.2 硬件逻辑设计

3.2.1 相机配置 当FPGA初始化完成后,FPGA需要配置相机的252个寄存器。相机配置状态机如图10所示,状态机从idle跳转到wrreg_req状态并向IIC控制器发送写命令,IIC控制器开始向相机一个寄存器地址写入命令,写入完成后rw_done置1,状态机跳转为judge状态并判断相机寄存器配置完成个数,当计数器cnt小于252时,状态机跳转回wrreg_req状态继续写命令;当cnt等于252时,状态机跳转到finish状态,从而完成相机的初始化配置。

图10 相机配置状态机

相机部分配置参数如表1所示。其中16进制数0x3808~0x380b为图像分辨率寄存器地址范围,0x3503为手动曝光寄存器地址,0x3500~0x3502为曝光时长寄存器地址范围,0x4300为格式控制寄存器地址,0x501f为图像输出格式选择寄存器地址。

表1 相机主要配置参数

3.2.2 相机接口逻辑设计 相机接口逻辑主要完成相机RGB565格式输出数据的并行接收,其接收功能主要由10个不同位宽寄存器和2个数据选择器组成。如图11所示,其中寄存器r_Data、r_Href、r_Vsync分别对输入数据Data、Href、Vsync、进行打一拍操作。H_count对每行像素数据进行计数,当H_count为偶数时将r_Data中8位图像数据保存在r_DataPixel高8位中;H_count为奇数时将r_Data中8位图像数据保存在r_DataPixel低8位中。在完成16位数据接收后,寄存器r_DataValid置1,表明此时r_DataPixel中16位图像数据为正确数据,可以输出到DataPixel口。为确保图像输出稳定,需要舍弃系统开始运行前10帧图像。寄存器FrameCnt对每帧图像进行计数,当FrameCnt计数到第10帧后dump_frame置1,表明此后图像有效。

图11 相机接口逻辑设计

3.2.3 触控屏接口逻辑设计 触控屏接口逻辑是将RGB565格式图像数据流转换成VGA模式下的并行数据并发送到触控屏中。如图12所示,根据触控屏接收时序要求,寄存器Hcount_r和Vcount_r分别产生行同步和场同步信号;Disp_Hs、Disp_Vs和Disp_De根据Hcount_r和Vcount_r产生数据有效信号;寄存器Disp_Red、Disp_Green、Disp_Bule分别将RGB565格式视频数据转换为并行数据。寄存器Frame_begin在场同步信号Disp_Vs上升沿置1,表明开始显示一帧图像。

图12 触控屏接口逻辑设计

3.3 分块大津算法原理及FPGA实现

3.3.1 算法原理 当完成荧光图像的采集后,需要利用图像分割算法实现残留物的准确分割。由于具有计算简单、不受图像亮度和对比度影响的优点,大津算法在图像分割领域得到广泛引用。然而大津算法是一种全局阈值分割方法,其在非均匀光照下会产生错误分割,并且当感兴趣目标灰度分布范围较大且部分目标灰度接近背景强度时,接近背景强度的部分目标会检测丢失。针对上述缺点,本文中基于分块大津算法的思想,通过对检测图像的合理分块,避免了背景子块误分割,提高了设备在不均匀光照或目标灰度差异较大情况下的检测能力。分块大津算法流程如图13所示。 首先FPGA从SDRAM缓存中读取荧光图像并经过灰度转换模块转换为灰度图像;然后FPGA按照行同步、场同步信号将一幅灰度图像划分M行N列的子块,并运用大津算法计算每个子块分割阈值和类间平均灰度差;进一步对每个子块的类间平均灰度差进行判断,当子块类间平均灰度差较小时,该子块前景和背景灰度差异不大,判断为背景块,该子块分割阈值复位为0;当子块类间平均灰度差较大时,该子块中存在荧光残留物,保留计算的分割阈值。在系统实际使用中分块大津算法在设备距离被测表面40 cm以内启动,系统根据40 cm以内激发光源光强特点结合FPGA硬件资源占用将图像分为5行8列的子块进行处理,将判断子块是否为纯背景的类间平均灰度差设置为8。

图13 荧光残留物提取以及掩膜生成流程图

3.3.2 FPGA实现 分块大津算法在FPGA中实现如图14所示。FPGA以数据流形式从SDRAM中读取的荧光图像Rgb_data缺少位置信息;为实现荧光图像准确分块,FPGA在统计模块中对经过的荧光图像数据流进行坐标统计并生成行同步信号Href、列同步信号Vsync和数据有效信号De;16位荧光图像数据经过灰度转换模块转换为8位灰度数据;系统通过调用8个大津算法模块和串行流水线设计方法实现分块大津算法计算。

图14 分块大津算法实现

分块大津算法中,使用大津算法模块计算每个子块的阈值和类间平均灰度差。如图14中虚线框中所示,直方图统计模块具有5个输入,4个输出,其中输入Gray_data为8位图像灰度数据。输入Data_end在直方图统计完成后拉高,灰度阈值求完后拉低。输入Data_valid只在灰度直方图统计时为高,其余拉低。输入T为分割阈值,输入Clr为清零信号,当灰度阈值求完后拉高使直方图统计模块清零复位等待下一次统计。在直方图统计模块中输出表达式[20]为:

(1)

(2)

(3)

(4)

式中,i为灰度值,t为灰度值,ni为灰度值等于i的像素个数,S0为灰度值不大于t的像素个数,S1为灰度值大于t的像素个数,G0为灰度值不大于t的像素灰度总和,G1为灰度值大于t的像素灰度总和。直方图统计模块输出经过后续乘法器、除法器、减法模块计算后得到类间方差,在比较器模块中保存类方间差最大时的阈值T,输出此时阈值以及类间灰度差。

4 系统测试

为了测试本文中所开发系统的适用性,本文作者选用食品加工场所中3种常见包装和加工材质(木制案板、不锈钢板、聚乙烯材质塑料板)进行测试,其中木制案板和不锈钢板不产生荧光,聚乙烯(polyethylene,PE)材质塑料菜板会产生荧光[17]。测试对象为5种不同体积分数的奶粉溶液和菠菜汁液,奶粉溶液采用全脂牛奶粉和纯净水按照不同体积分数(50%、33%、20%、10%、2%)配制;菠菜汁液采用新鲜菠菜榨汁[17]和纯净水按照不同体积分数(50%、33%、25%、20%、10%)配制。由于奶粉在516 nm处存在荧光发射峰[17],菠菜汁在685 nm处存在荧光发射峰[17,21],因此针对奶粉选用520 nm窄带宽滤波片,针对菠菜汁选用670 nm窄带宽滤波片。

木制案板表面不同体积分数奶粉溶液和菠菜汁残留物检测效果如图15所示。其中图15a和图15e分别是环境光下采集的奶粉残留物和菠菜汁液残留物RGB图像;图15b和图15f分别为激发光源下采集的奶粉残留物和菠菜汁液残留物荧光图像;图15c和图15g分别是分块大津算法生成的奶粉残留物和菠菜汁液残留物掩模图像;图15d和图15h分别是奶粉残留物和菠菜汁液残留物最终检测结果。如图15a、图15e所示,环境光下,当奶粉、菠菜汁液体积分数分别低于20%和10%时,肉眼几乎不可见木制案板上的残留物;而奶粉残留物、菠菜汁液与木制案板的荧光图像有着明显的区别(见图15b和图15f),在图15f中,体积分数为50%和33%的菠菜残留物由于存在大量菠菜纤维等固形物导致其荧光强度较弱;图15c和图15g中给出了分块大津算法的检测效果,可以看出,不同体积分数的残留物均被有效检出,且在图15g中还检测出了部分在图15e中未被标记的残留物,这些残留物是木板在简单清洗中未被发现的历史残留,这进一步体现了设备对不可见残留物的检测能力。

图15 木制案板表面残留物检测效果

图16中给出了材质为不锈钢板条件下,奶粉和菠菜汁残留物的检测效果。其中图16a和图16e分别是奶粉残留物和菠菜汁残留物RGB图像;图16b和图16f分别为奶粉残留物和菠菜汁残留物荧光图像;图16c和图16g分别是分块大津算法生成的奶粉残留物和菠菜汁残留物掩模图像;图16d和图16h分别是奶粉残留物和菠菜汁残留物最终检测结果。如图16a和图16e所示,由于不锈钢光滑镜面反射影响,体积分数为10%的菠菜汁残留物因接近无色而基本不可见;在荧光图像16b和图16f中不同体积分数的残留物均清晰可见;分块大津算法可较好克服光照的影响,能够准确分割出污染物区域(见图16c和图16g)。

图16 不锈钢表面残留物检测效果

PE塑料板上的奶粉和菠菜汁残留物检测效果如图17所示。其中图17a和图17e分别是奶粉残留物和菠菜汁残留物RGB图像;图17b和图17f分别为奶粉残留物和菠菜汁残留物荧光图像;图17c和图17g分别是分块大津算法生成的奶粉残留物和菠菜汁残留物掩模图像;图17d和图17h分别为奶粉残留物和菠菜汁残留物最终检测结果。从图中可以看出,在环境光下,当奶粉体积分数低于33%、菠菜汁液体积分数低于10%时,难以通过RGB图像检测出残留物;而荧光图像可以较好地实现残留物检测。但从图17c来看,当奶粉体积分数低于20%时,残留物的分割区域存在部分缺失现象,其原因可能在于:PE塑料板会发出和奶粉波段相近的荧光,当奶粉体积分数较低时,其荧光强度与背景接近,导致分割困难。

图17 PE塑料表面残留物检测效果

图18给出了大津算法与分块大津算法对典型残留物的分割结果。其中图18a和图18b分别是奶粉残留物在木制案板和不锈钢板上的荧光图像;图18c和图18d分别为菠菜汁残留物在木制案板和不锈钢板上的荧光图像;图18e、图18f、图18g和图18h分别是图18a、图18b、图18c和图18d采用分块大津算法计算得到的掩模图像;图18i、图18j、图18k和图18l分别是图18a、图18b、图18c和图18d采用大津算法计算得到的掩模图像。绿色框为成功检测出残留物;红色框为未检测或错误检测残留物。在图18a中检测设备位于木制案板上方,案板中间部分靠近光源的反射光强度更高,左上角远离光源强度较低,这导致在使用大津算法进行分割时图18i中部分较为明亮的背景被判定为残留物而光照强度较低的残留物则未被检出;在图18b中,检测设备位于不锈钢板斜上方,不锈钢板右上角光照强度更高,左下角光照强度较低,大津算法在图18j中将靠近光源的残留物检出而远离光源且体积分数较低的残留物未检出。大津算法在检测灰度范围较大的目标时会出现漏检;在木制案板(见图18c)和不锈钢板(见图18d)上菠菜汁荧光强度分布范围较大,且部分菠菜汁残留物荧光强度接近背景光强;当使用大津算法进行检测时,部分荧光强度较低的残留物漏检(见图18k),而尽管在图18l中所有残留物均被检出,但是相较于分块大津算法结果(见图18h),大津算法分割出的目标不够完整;图18e、图18f、图18g和图18h为分块大津算法检测结果,不同体积分数残留物均被检出;相较于大津算法检测结果,分块大津算法提高了设备在不均匀光照下的检测效果以及对于荧光强度分布范围较大检测目标的检测能力。

图18 分块大津算法和大津算法检测效果对比图

5 结 论

基于荧光成像技术开发了一种能够协助现场检测员对食品加工场所进行视觉卫生检查的手持式荧光成像检测设备,该设备具有荧光图像采集、图像处理、图像显示、图像保存功能,能够实时地将检测到的污染区域进行标记,并根据需要保存在SD卡中。此外,还可以通过更换不同波长的滤波片实现多种食品残留物的检测。基于改进的分块大津算法,提高了设备在不均匀光照下的检测效果。在3种不同材质表面的实测证明,设备相较于检测员目视能够更清晰地观察到食品残留物,能够显著提高卫生检测效果,可以协助检测员进行卫生安全检查。受现场检测环境的限制,所开发的设备与待检测样本为非接触测量,由于现场多种因素的不确定性(如环境光源的干扰、手持式测量装置与被测对象的距离、角度等),导致利用荧光图像反演残留物体积分数的精度还存在较大困难。

在今后的研究中,将深入分析影响残留物体积分数反演精度的关键要素和规律,构建补偿模型,以实现残留物体积分数的高精度反演,此外,还将实现云组网功能以及将荧光图像与深度学习算法相结合实现自动检测自动分割。

猜你喜欢

残留物分块菠菜
废机油残留物再生沥青性能评价
菠菜用肥料要谨慎
SPE-GC法在小麦粉中典型农药残留物测定中的应用
分块矩阵在线性代数中的应用
不同蒸发状态下改性乳化沥青残留物性质与取样方法优化
冬鲜菠菜
菠菜花生米
菠菜含铁
反三角分块矩阵Drazin逆新的表示
两城镇陶器的脂类残留物分析