鱼加工生产线头尾定向调理上料系统设计与试验*
2021-04-09单慧勇张程皓李晨阳赵辉田云臣
单慧勇,张程皓,李晨阳,赵辉,田云臣
(1.天津农学院工程技术学院,天津市,300384;2.天津农学院计算机与信息工程学院,天津市,300384)
0 引言
鱼类前加工处理主要包括去头、去尾、去鳞、剖切去脏及切片等环节。其中,鱼类定向处理是极重要的一环,能否准确可靠的进行鱼体定向上料,直接关系到鱼体的后续加工处理的效率和可靠性。
在鱼体定向方面,陈福礼等[1]研制了鲜鱼加工装置。在其整理部分,输送带倾斜布置,在其输送带上方设有规律排列的插针。当鱼体经过传送带时,插针会插入鱼鳞或者鱼鳃中,带动鱼体向上运动,鱼体在重力作用下,实现头前尾后向前输送。该装置主要靠插针插入鱼体鳃部或鱼鳞处带动鱼体运动,容易造成鱼体损伤。高星星等[2]利用鱼体体型差异及摩擦特性,将鱼体放置在倾斜的振动台面上,可以实现鱼体头尾定向。但是其试验样机结构较小,不能同时处理大批量的鱼,难以推广至生产线使用。此外振动台仅依靠四根螺杆悬挂固定,中间再无其他支撑,在工作中,振动台持续振动,对螺杆及机架损耗较大。向云鹏[3]针对淡水鱼振动定向方面进行研究,研制出淡水鱼振动定向设备。该设备主要采用往复振动的方法,对鱼体实现头尾定向。但是该设备若达到共振频率时,振动设备震动情况剧烈,而且只针对单条鱼体进行设计研究,难以适用于实际生产中的大批量鱼体同时处理。
本文采用测量光幕扫描鱼体图像,通过对鱼体图像进行处理,根据图像特征识别鱼体头尾方向,同时为方便操作者实时监测鱼体状态,设计了基于Matlab环境的人机交互GUI界面。
1 系统整体设计
鱼加工生产线头尾定向调理上料系统包括检测装置和调整装置。检测装置主要由导向装置和测量光幕组成。控制系统整体结构如图1所示。鱼体在传送带上向前输送,经过导向装置梳理,鱼体竖直通过测量光幕[4],待鱼体完全通过测量光幕后,计算机绘制鱼体图像,计算鱼体长度,判断鱼体头尾方向,根据判断结果向同步带驱动电机发送相应的指令,完成鱼体头尾定向。
图1 系统整体结构示意图
1)检测装置。控制系统中测量光幕的型号为STC-D96025测量光幕,包括发光器和受光器[5]。发光器上每隔2.5 mm有一个光束点,与之对应的,受光器每隔2.5 mm有一个接收点,共包括96个光束点,检测范围237.5 mm。检测时,鱼体竖直经过测量光幕,鱼宽10~15 cm不等,测量光幕检测范围可满足检测需要。发光器以固定频率不断的发出光束,受光器检测接收光束。自然状态下,受光器可完全接收到发光器发出的光束,光幕以固定频率持续扫描读取数据[6],待鱼体通过测量光幕时,部分光束被遮挡,其遮挡的光束为一组数据,待鱼体完全通过测量光幕后,将所有的数据统计,绘制所得的鱼体图像如图2所示。
2)头尾调整装置。头尾调整装置主要包括机架、同步带及驱动电机等。同步带驱动电机型号为57HBP112AL4-TFA两相四线步进电机,外接M36J驱动器与计算机相连接。同步带首末端均安装有光电限位开关。
当传送带输送鱼体经过测量光幕,测量光幕扫描鱼体图像,发送至控制器,判断鱼的头尾和腹背朝向、体态数据等。如图3所示为头尾调整工作原理图,若检测结果为头前尾后,则不向后续同步带驱动电机发送指令,移动平板位于原点处(同步带中心位置)。鱼体在传送带带动下向前输送,在传送带末端掉落到弧形滑轨中,保持头前尾后姿态输出。检测结果为尾前头后,计算机向同步带驱动电机发送运动指令,带动移动平板向传送带末端移动,平板到位后触发光电限位开关,自动停靠在传送带末端。传送带末端布置有光电开关,待鱼体到达传送带末端时,遮挡光电开关,根据绘制的鱼体图像,分析计算鱼体长度及重心位置,设定合适的延迟时间,待鱼体一部分移动到平板上后,同步带驱动电机反转,速度与传送带速度一致,保证鱼体在不掉落的情况下,向前继续运送待鱼体离开传送带末端,因鱼体一部分搭在平板上,鱼体在重力作用下掉落,翻转落入弧形滑道,最后保证头前尾后向前运送。
(a)头前尾后
2 控制系统算法实现
2.1 控制系统整体控制流程
采用Modbus RTU通讯协议[7],通过RS485问答方式与测量光幕和步进电机M36J驱动器通讯,在Matlab环境中开发控制系统,系统总体控制流程图如图4所示。
图4 控制系统总体流程图
为方便操作者监测鱼体状态及各项数据,实时调整各项参数,设计Matlab GUI控制界面[8],如图5所示。控制界面包括操作控制区、参数配置区、图像显示区及状态显示栏4部分。操作控制区包括开关按钮、调整平板复位按钮等,可以控制程序总体启停,平板初始化。参数配置区可设置平板等待时间与鱼体经过测量光幕时间的比例参数、调整平板移动速度。
图5 GUI控制界面
t1=t/n
(1)
式中:t1——平板等待时间;
t——鱼体经过光幕的时间;
n——比例参数。
图像显示区包括三个图窗,其中上部较大的图窗可以显示鱼体轮廓曲图像,下侧图像分别显示鱼体头尾曲线拟合图,便于操作者实时监测控制系统头尾识别过程。状态显示栏可以显示调整的鱼体数量、时间、鱼体长度及头尾方向。
2.2 鱼体的头尾识别
鱼体图像处理控制流程如图6所示。
图6 鱼体图像处理流程图
2.2.1 图像预处理
光幕检测较为敏感,可精准的检测鱼体输送过程中是否发生歪斜,同时扫描的鱼体截面间隙较大,需对图像进行预处理。鱼体截面图由多组不同长度的直线组成,将图像转换为二值图像,根据图像间隙特征,进行阈值寻优,选定构建半径为11的平面圆盘形的结构元素对其执行形态学膨胀处理[9],可保证图像基本特征不变的前提下,将松散的直线连通。
图7 膨胀后的图像
图像间隙填充完成后,需对鱼体边缘轮廓进行提取,Canny算法受噪声影响较小,保存的边缘信息最完整[10],因此使用Canny边缘检测算法提取图像轮廓。Canny边缘检测分为以下四步。
1)高斯滤波:使用高斯滤波对图像进行去噪,使图像变得平滑,高斯函数是一个类似与正态分布的中间大两边小的函数。对于一个位置(m,n)的像素点,其灰度值(这里只考虑二值图)为f(m,n)。经高斯滤波后的灰度值
(2)
式中:gσ——经高斯滤波后的图像灰度值;
f(m,n)——(m,n)点处图像的灰度值;
σ——标准差。
2)计算梯度幅值及方向:灰度值变化较大的像素点的集合即为边缘。在图像中,用梯度来表示灰度值的变化程度和方向。通过式(3),式(4)计算梯度幅值和方向。
(3)
(4)
式中:G(m,n)——图像边缘的梯度幅值;
α——图像边缘的梯度方向;
gx(m,n)——x方向梯度幅值;
gy(m,n)——y方向梯度幅值。
3)边缘点过滤:采用非极大值抑制法[11],对边缘点进行检测,对每个像素点沿其梯度方向比较其前后的梯度值,若该像素点属于边缘,它在梯度方向上的梯度值是最大的,否则不是边缘,将其灰度值设为0。
(5)
4)双阈值法检测边缘:设置两个阈值,分别为maxVal和minVal。其中大于maxVal的都被检测为边缘,而低于minVal的都被检测为非边缘。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。
经Canny边缘检测算法提取后的鱼体轮廓图如图8所示,其边线较为模糊,对轮廓图执行形态学开运算[12],对图像轮廓进行增强,优化后图像如图9所示。
图8 图像轮廓提取
图9 优化图像轮廓
在测量光幕前端有导向装置可对鱼体起到一定梳理导向的作用,测量光幕检测精度可达2.5 mm,在外界的干扰下鱼身难免会发生偏移,如图8则为发生偏移的鱼体图像,为增加头尾腹背检测可靠性,对图像进行矫正,使鱼身头尾轴水平[13]。采用Radon变换法对鱼体图像进行矫正[14],Radon变换是一种积分变换算法,其原理是将目标图像里经过某一点(m,n)的直线ρ=mcosθ+nsinθ,投影到对应参数空间里的一个点,其原理公式如式(6),式(7)所示。
(6)
(7)
式中:D——图像平面;
f(m,n)——图像中点(m,n)像素点的灰度值;
ρ——图像中点(m,n)与原点之间的长度;
θ——该直线与原点间的垂线与x轴的角度。
Radon变换的本质是将原函数做了一个空间转换[15]其转换效果可理解为将图像顺时针旋转了θ角之后映射到水平轴上。矫正后鱼体图像如图10所示,通过边界点追踪定位鱼体,将背景多余部分裁剪剔除,鱼体定位效果如图11所示。
图10 Radon变换后鱼体图像
图11 鱼体定位
2.2.2 鱼体头尾识别
通过对鱼体头尾部分轮廓进行拟合,结果如图12、图13所示,头部轮廓与抛物线相似,尾部形状与三周期内正弦函数图线相似,可利用头尾图像角点数量差别,对鱼体头尾进行识别。采用Harris算子[16]进行检测识别鱼体头尾朝向。
图12 鱼体头部拟合曲线
图13 鱼体尾部拟合图线
Harris算子是1988年由Chris Harris等提出的[17],具有旋转不变性的角点相应测度。其检测原理如下:通过控制特定像素大小的选框在图像中移动,选框移动过程中,计算其移动前后灰度值的变化,若选框在某一方向移动中,灰度值发生突变,则判定为该选框部分存在有角点。
图像I(x,y)在点(x,y)处平移(u,v)后产生的灰度变化E(x,y,u,v)如式(8)所示。
I(x,y)]2
(8)
式中:S——移动选框的区域;
w(x,y)——窗口函数(可以为常数或是高斯函数);
I(x+u,y+v)——平移后的图像灰度;
I(x,y)——平移前的图像灰度。
对平移后的图像灰度公式I(x+y,u+v)进行泰勒展开
(9)
灰度变化可写为
(10)
(11)
M是关于x,y的二阶函数,因此E(x,y,u,v)是一个椭圆方程,M的特征值决定了椭圆的大小及扁率,其特征矢量决定了椭圆的方向[18]。
图14 椭圆方程示意图
使用Harris算法对鱼体轮廓图像进行检测,检测结果如图15所示,尾部角点数量大于头部角点个数,根据图像检测出的角点数量差别,可精准识别鱼体头尾。
图15 头部轮廓检测图
图16 尾部轮廓检测
3 试验分析
为检验控制系统识别鱼体头尾的可靠性,购买淡水鱼进行试验,采集鱼体参数及各种不同姿态的鱼体图像,检测系统头尾识别准确率,同时在头尾识别成功的条件下,检测调整装置对鱼体头尾定向的成功率。
3.1 试验材料
试验采用市场购得的草鱼进行试验,为检测系统识别准确性及调整装置的适应性,选购的草鱼长度差异较大,部分草鱼参数如表1所示。
表1 草鱼参数
3.2 试验方法
为检测输送速度对系统识别头尾方向的影响,同时寻找最优输送速度,设定不同的输送速度,每一个输送速度下进行150次试验,观察系统的识别结果,试验数据如表2所示。
表2 输送速度对检测结果的影响
通过观察光幕扫描图像,输送速度大于15 cm/s时,鱼体经过光幕时间较短,扫描的鱼体图像中像素点较为松散,膨胀处理时图像填充效果较差,拟合出的鱼体轮廓不理想。根据试验结果分析,输送带速度设定为10 cm/s时,其判断成功率接近95%,同时检测时长为6 s,检测时间较短,成功率较高。
在头尾调整部分,头前尾后时,平板不动作,鱼体能稳定掉落至弧形滑道中,头前尾后输送上料,其成功率为100%。尾前头后状态,需要进行调整,设定输送速度均为10 cm/s,通过设定不同的n值,可改变鱼尾搭上平板的长度。
l1=l/n
(12)
式中:l1——鱼体搭上调整平板的长度;
l——鱼体总长;
n——比例参数。
试验数据如表3所示。
表3 不同上板长度对调整结果的影响
经试验验证,针对草鱼,n值设置为3时,即鱼体1/3搭上平板,平板开始运动,调整效果最佳,成功率可达90%,同时发现,不同上板长度对调整时长无显著影响。
图17 系统测试
4 结论
使用Matlab软件,以Modbus RTU协议为通讯协议,设计了鱼体头尾调整控制系统,通过光幕扫描的鱼体图像,对鱼体图像进行处理,通过提取鱼体轮廓曲线,对鱼体头尾曲线进行拟合,采用Harris角点检测算法辅助识别头尾方向。在此基础上,设计了调整装置对鱼体实现头尾定向调整。初步实验结果表明,根据光幕扫描的鱼体图像进行头尾检测识别的成功率可达95%,头尾调整装置对鱼体定向成功率可达90%,系统控制精度高,处理速度较快,可靠性较好,可满足生产加工需求。对比当前机械加工中单纯依靠鱼类体态特征和机械结构实现头尾定向,更为可靠,使用光幕扫描鱼体进行头尾定向可实现无损检测,更容易保护鱼体。
研究主要针对草鱼,对于其他种类特征差别较大的鱼体适用性有待进一步研究,后续将研究各种不同鱼体的种类识别与头尾定向算法。