基于机器视觉技术的罗非鱼去鳞率无损快速在线检测系统
2022-11-01李朋朋李雨乐曾凡一王慧慧
李朋朋 李雨乐 曾凡一 刘 阳 张 旭 王慧慧,2
罗非鱼(Tilapia),又称非洲鲫鱼,具有肉质鲜美、蛋白质含量高、脂肪含量低等特点[1]。中国罗非鱼的加工制品主要为条冻鱼和冷冻鱼片[2],其中条冻鱼的前处理加工过程主要包括去鳞、去内脏和清洗等环节,而去鳞质量直接影响罗非鱼的外观品质和商业价值[3-4]。目前去鳞率的检测主要由人工完成,主观性较强,效率低且无法为去鳞设备加工状态检测和优化提供实时或统计数据支持。
随着光学仪器和传感器技术的发展,机器视觉技术作为一种快速、无损、经济的检测方法,已被广泛应用于水产品的品质评估、分类、分级等研究中[5-7]。Sture等[8]使用3D彩色成像的机器视觉系统根据鱼的三维几何特征和颜色信息完成了对大西洋鲑鱼的质量分级。Issac等[9]基于计算机视觉建立的鱼鳃质量与新鲜度评估模型可以较准确地预测鱼的新鲜度。Wang等[10]研究表明高光谱技术可用于鲤鱼去鳞率检测,但该技术仅利用光谱数据预测鲤鱼去鳞率,并未实现去鳞区域的可视化,此外高光谱设备价格昂贵,将其应用于实际生产中还比较困难。朱鑫宇等[11]建立了基于荧光响应的去鳞率视觉检测系统,该系统具有较好的识别效果,但系统对于去鳞区域的识别由卷积神经网络算法实现,图像处理和数据运行时间相对较长。
研究拟在文献[11]的基础上,利用罗非鱼鱼鳞和鱼皮的荧光响应差异构建罗非鱼去鳞率在线检测系统,建立针对罗非鱼去鳞率检测的图像预处理、背景分割、ROI区域选取、未去鳞区域快速识别等算法实现去鳞区域和未去鳞区域的快速识别和去鳞率计算。并在生产现场进行系统的验证,以期为实现罗非鱼加工生产线自动化提供技术支持。
1 检测系统设计
1.1 检测原理
鱼鳞主要由胶原蛋白和羟基磷灰石组成,在可见光下呈半透明状[12]。前期研究[11]表明,在紫外光源激发下,鱼鳞会呈现较强的荧光反射,而鱼皮则在相同条件下荧光响应较差。因此可利用鱼鳞与鱼皮的荧光响应差值区分有鳞区域和无鳞区域从而计算鱼体的去鳞率。在360~370 nm紫外光照射下,罗非鱼的鱼鳞、鱼皮荧光响应差距较大,视觉检测效果最好。
1.2 去鳞检测系统
构建如图1所示的罗非鱼去鳞率检测系统。该系统工业相机(Basler acA2000-165um)为CMOS彩色面阵相机,分别率为2 048像素×1 088像素;镜头固定焦距为8 mm,光圈范围为F1.4~F16,分辨率为2 MP;紫外激发光源为条形光源;滤波片中心波长为365 nm;输送装置由调速电机控制;计算机内集成了自行开发的控制软件,可实现图像的自动采集、处理过程实时显示、去鳞率的统计及与上位机的通讯等,软件开发采用LabVIEW2016。为防止外界光线对检测的干扰,将相机与光源安装于暗箱内;8条光源分两组安装于暗箱两侧,与水平方向呈45°,与输送带表面的垂直距离为55 mm;输送装置运行速度为0.3 m/s,输送带表面为草纹状以防止鱼体滑动给检测带来干扰。
2 去鳞检测算法
系统的检测流程如图2所示,包括图像自动采集、图像预处理与背景分割、ROI区域确定、未去鳞区域识别等模块。
图1 罗非鱼去鳞检测系统示意图Figure 1 Schematic diagram of tilapia descaling detection system
图2 系统检测流程图Figure 2 Flow chart of system detection
2.1 图像自动采集
为了使相机准确抓取目标,采用阈值法对相机输出的实时图像设置目标触发检测线。图3为鱼体触发相机获取图像示意图。设图像左上角O为像素坐标系的原点,图像中某一像素点坐标(u,v)代表该点在数字图像数组中的行列数。在图3中,检测线AB的起点位置A的坐标为(uA,vA),终点位置B的坐标为(uA,vB)。当鱼通过检测线位置时,鱼体与接触线接触的起点位置A'的坐标为(uA,vA′),终点B'的坐标为(uA,vB′),此时A'B'位置检测线上像素值发生变化,当检测线上发生改变的像素值达到一定数目时触发图像采集。
为了减小输送带绿色背景和鱼鳞蓝色荧光反射对触发造成的干扰,选取R通道颜色值作为颜色特征值。无鱼经过检测线时,检测线AB上所有像素的R通道值的总和为SAB;有鱼通过检测线时,检测线上的所有像素的R通道值的总和为SAA′B′B。分别按式(1)、式(2)计算SAB和SAA′B′B。
(1)
(2)
式中:
RuAvi——数字图像数组中第uA行vi列处像素的红色通道颜色值。
当满足SAB
2.2 图像预处理与背景分割
2.2.1 阈值分割 采用加权平均值法[13]对彩色鱼体图像[图4(a)]进行灰度化处理,处理结果如图4(b)所示。为将鱼体区域与输送带背景进行分割,采用最大类间方差法[14-15]对灰度图像进行二值化处理。该方法基于图像的统计特性实现阈值自动选取,即选取确定灰度值将整幅图像进行背景分割,计算分割后的类间方差,当类间方差最大时所对应的灰度值为最佳阈值[16]。通过试验得知,当灰度值为80时分割效果最好,分割结果见图4(c)。
2.2.2 形态学处理 阈值分割后,鱼体区域仍有孔洞区域存在,可能对后续背景的分割产生影响。采用Canny算子[17-18]对阈值分割后的图像进行轮廓提取,然后将轮廓内鱼体区域中的内部孔洞进行填充。设内部孔洞大小为N,像素值为0,填充粒子大小为M,像素值为1,孔洞填充按式(3)运算:
(3)
式中:
H(u,v)——轮廓区域内第v行u列像素值;
Nmax——孔洞最大尺寸;
Mmin——填充粒子最小尺寸。
经试验得知Mmin为5像素×5 像素时填充效果最好,轮廓内部像素值设为255,此时填充后灰度图像见图4(d)。
图像填充后,采用低通滤波法[19]去除鱼体轮廓外部杂散的噪声点。该方法是利用待处理像素与周围领域内像素的均值进行像素间的差值比较,若待处理像素与周围领域内像素均值的差值大于指定的百分比,则将待处理像素设置为周围领域内像素均值,否则待处理像素值保持不变。当领域尺寸设置为7像素×7像素、百分比为40时,滤波除杂效果最好,处理后图像如图4(e)所示。低通滤波处理后的图像中仍有少量离散点,采用闭运算处理进一步消除离散点。图像的闭运算是图像依次进行膨胀、腐蚀处理后的过程,能够消除图像中鱼体轮廓外的离散点,平滑轮廓边界的同时不改变其面积。经试验,当结构元素尺寸为3像素×3 像素时,离散点被消除且鱼体区域轮廓形状保持不变,处理结果见图4(f)。
2.2.3 背景分割 将图4(f)与图4(a)进行图像运算以获得去除背景后的彩色鱼体区域。设未处理彩色图像位置像素为SrcA(x,y),图像预处理后的位置像素为SrcB(x,y),式(4)为去除背景的彩色鱼体区域位置像素Dst(x,y)的表达式。
Dst(x,y)=SrcA(x,y)×SrcB(x,y),
(4)
式中:
(x,y)——图像中像素点的位置坐标。
图4(g)为去除背景后的彩色鱼体图像。
2.3 ROI确定
原始彩色图像去除背景后, 鱼体区域的鱼头、腹鳍、尾鳍、背鳍和臀鳍均会对去鳞检测造成干扰。生物体虽具有其自身的形状和大小,但鱼头、鱼尾、鱼鳍比例近似,据此,基于最小外界矩形法[20]并结合统计计算对上述干扰区域予以去除。随机选择10个批次共计300条罗非鱼进行图像采集和处理,对图像进行横向和纵向扫描,构建最小外接矩形。鱼的长度(L)和宽度(W)、鱼头(K头)、尾鳍(K尾)的长度,腹鳍(K腹)、背鳍(K背)的宽度测量见图5,计算K头和K尾所占鱼体长度的比例以及K腹和K背所占鱼体宽度的比例,统计数据见表1。根据统计结果将K头/L、K尾/L、K腹/W、K背/W分别确定为0.212,0.238,0.084,0.166,由此可得去除头部、尾鳍、腹鳍和部分背鳍的ROI区域,即图6中的矩形mnrs。由图6中的椭圆区域可以看出,臀鳍和部分背鳍对去鳞率的计算有干扰,因此分别构建opn和oqr 2个掩膜区域来去除干扰,其中所选o点为bc的中点,p点和q点分别为ab和cd的三等分点。综上,将图6中mpoqs区域作为去鳞与未去鳞的ROI识别区域。
图4 图像处理结果Figure 4 Results of image processing
图5 干扰区去除Figure 5 Removal of interference zone
图6 ROI选取Figure 6 Selection of ROI
2.4 未去鳞区域识别
随机选择300个未去鳞区域和去鳞区域分别计算R(红色)、G(绿色)和B(蓝色)通道颜色平均值,结果如图7所示。由图7可知,未去鳞区域和去鳞区域的B、G通道平均颜色值有明显差异,B通道颜色值差异最大,R通道颜色平均值无明显规律;未去鳞区域的B通道颜色平均值大于180,G通道颜色平均值小于140;去鳞区域的B通道颜色值小于180,G通道颜色值大于140。因此采用B通道颜色值和G通道颜色值作为颜色特征值来建立像素阈值T1和T2从而对罗非鱼进行未去鳞区域和去鳞区域的识别。T1和T2分别按式(5)、式(6)计算。
表1 鱼头和尾鳍长度占比、腹鳍和背鳍宽度占比统计Table 1 Statistics of fish head, caudal, pelvic fin and dorsal
T1=B-G>0‖B>180,
(5)
T2=B-G<0‖B<140,
(6)
式中:
B——蓝色通道颜色值;
G——绿色通道颜色值。
以彩色鱼体未去鳞区域图像为例,进行像素阈值计算和灰度化处理,未去鳞识别效果见图8。
图7 未去鳞区域与去鳞区域通道颜色值Figure 7 Channel color values of scaled region and descaled region
图8 未去鳞区域识别Figure 8 The identification of descaled areas
3 去鳞检测系统测试
3.1 试验设备与方法
为对去鳞检测系统进行评估,在罗非鱼加工企业进行系统性能测试,现场测试系统如图1所示。
3.1.1 人工去鳞率计算 采用硫酸纸法[21-22],即将硫酸纸覆盖在鱼体单侧,用铅笔勾勒出鱼体轮廓和鱼鳞的外形,再使用单位坐标纸对硫酸纸上鱼的外轮廓及去鳞外形的面积进行统计,按式(7)计算去鳞率。
(7)
式中:
P——罗非鱼的去鳞率,%;
S1——未去鳞区域面积之和;
S2——加工前被加工面上鱼鳞面积总和。
3.1.2 去鳞率检测精度验证 选取不同转速条件下滚筒去鳞加工后的罗非鱼,鱼长约为290~330 mm,鱼宽约为100~120 mm,鱼重约为588~712 g,将选取的罗非鱼分成3个批次,每个批次10条罗非鱼,依次进行传统去鳞率检测和机器视觉去鳞率检测,按式(8)计算去鳞率检测。
(8)
式中:
A——去鳞率检测精度,%;
P1——人工检测去鳞率,%;
P2——机器视觉检测去鳞率,%。
3.2 结果与分析
由表2可知,机器视觉检测去鳞率的精度为90.18%~94.14%,检测速度为0.294 4~0.341 1 m/s,均满足生产线检测要求。当罗非鱼的去鳞率较低时,机器视觉的去鳞率检测的精度也随之下降。滚筒式去鳞机难以将靠近背鳍和腹鳍位置的鱼鳞去除,而正好靠近背鳍位置的鱼鳞颜色较暗,紫外激发光源照射下的鱼鳞荧光反射较弱;靠近腹鳍位置的鳞片较小,都可能是造成去鳞率降低检测精度下降的原因。
表2 3个批次下罗非鱼的去鳞率检测试验结果Table 2 Test results of descaling rate of three batches of tilapia
4 结论
基于机器视觉技术构建了针对罗非鱼加工生产线的去鳞率无损、快速检测系统。利用鱼鳞和鱼皮在紫外激发下的荧光响应差异,提出了专门针对罗非鱼去鳞率检测的图像预处理、背景分割、ROI区域选取、未去鳞区域快速识别等算法,生产现场验证去鳞率检测精度为90.18%~94.14%,满足生产线检测要求。由于检测精度与光源照射有关,后期将通过调整光源角度优化在线检测系统从而提高检测精度。