基于机器视觉的吸鱼泵过鱼量计数系统试验研究
2020-11-06刘世晶涂雪滢田昌凤
刘世晶,涂雪滢,田昌凤,徐 皓
(1 中国水产科学研究院渔业机械仪器研究所,上海 200092; 2 农业农村部渔业装备与工程技术重点实验室,上海 200092)
吸鱼泵作为鱼类捕捞、收集的重要作业装置已经广泛应用在渔业生产过程中,实现吸鱼泵过鱼数量的精准统计,可有效提升装置的生产工作效率和智能化水平[1]。受鱼类运动和吸鱼泵工作特性影响,鱼类存在粘连、重叠、形变等外形特征,增加了计数难度,因此如何精准统计吸鱼泵过鱼数量,已经成为制约计数装置大范围应用的技术难点。
目前,常用的通道流量统计方法主要包括人工、光电计数和机器视觉方法。其中,机器视觉技术因其非接触、高精度、可量化等优点,已被广泛应用到人流、车辆等流量统计的应用场景[2]。按照计数的方法和原理不同,现有的基于视觉计数的方法主要分为基于特征检测的方法、基于区域回归的方法以及基于兴趣线(line-of-interest,LOI)的方法[3-5]。其中,基于特征检测的方法主要利用运动物体典型外观特征,通过构建特征识别模型实现运动跟踪计数。目前广泛使用方向梯度直方图(Histogram of oriented gradient,HOG)[6-7]、哈尔特征(Haar-like features,Harr)[8-9]、纹理特征[10-11]等检测模式结合深度学习技术应用,在行人和车辆计数方面取得了良好的试验效果,但是由于物体特征的多样,需要投入大量的精力构建不同特征模型,增加了算法应用难度。另一方面,此类算法运算复杂度较高,而鱼类运动时不可避免地会产生气泡、形变等特征遮挡或变化情况,进一步增加了算法计算时间,无法满足在线快速计数的使用要求。基于区域回归[12-14]的方法不关注个体目标检测,主要是通过建立目标区域群体特征和目标数量之间的回归模型实现数量统计。Chan等[15]、Liang等[16]利用边缘、纹理、面积等混合纹理特征结合高斯回归模型和贝叶斯回归模型实现人群和车流数量统计,取得了较好的计数效果。此方法适用于大规模群体目标数量统计,针对吸鱼泵管道成像应用场景,受现场工况限制,一般采用近距离观测方法,鱼类个体成像面积较大,很难有效构建群体特征和数量关系,技术应用复杂度较大。基于兴趣线的方法[17-18]主要是通过计算不同时间切片条件下经过特定LOI的物体数量,实现特定时间片段内流量统计的方法。时间切片方法主要限制是需要根据物体运动速度在LOI的不同位置分配不同的数量权重,对于复杂场景,可能无法可靠地获得LOI处的流速,降低了计数精度。此外,针对近距离鱼道计数,该方法同样存在鱼体成像面积较大引起的全局运动特征提取困难的问题。
综上所述,现有流量计数方法在运动物体特征明显、成像距离较远时取得了较好的计数效果,但是针对吸鱼泵过鱼数量统计,由于鱼体运动速度快、成像距离短,存在气泡、重叠、形变等干扰噪声影响,导致鱼体特征稳定性差、定位困难等问题,不能满足设备高精度计数需要。
提出了一种基于机器视觉的吸鱼泵过鱼量计数系统,该系统通过构建背光照射方式,通过增强鱼体和背景差异,以期降低气泡、反光等噪声对成像质量的影响;整合区域回归和LOI技术特点,提出一种双LOI计数方法,通过构建轮廓面积时空变化模型,计算不同时间切片内过鱼数量,以期解决存在粘连、重叠、形变等异常条件鱼类精准计数问题。最后通过和经典的学习算法比较,验证方法的有效性。
1 材料与方法
1.1 试验装置与工作原理
设计了过鱼计数装置(图1),主要由相机、工业平板电脑、光源和过鱼管道组成。其中单目相机焦距8 mm,采样帧率24帧,工作距离300 mm,采用支架安装,固定在管道上方;工业平板电脑(CPU 1.6 GHz,内存 16 G)固定在采样装置侧面,主要用于视频在线处理和结果实时显示;光源采用漫反射平行白光光源,面板尺寸300 mm×400 mm,安装在装置底部,主要用于黑箱内鱼体照明;过鱼管道采用透明有机玻璃材质制作,壁厚8 mm,内径200 mm,与吸鱼泵管道内径一致。如图2所示,计数装置采用法兰安装形式与吸鱼泵进口和吸鱼管道连接,采用可调节固定支架保证装置安装稳定性。
图1 过鱼计数装置结构图Fig.1 Structure diagram of fish counting device
系统工作时,首先使用计数软件打开相机和光源,并根据成像结果检查设备工作状态;然后开启计数模式,此时相机将使用固定帧率拍摄过鱼管道介质运动情况,并将拍摄图片实时传送到计数软件中,系统软件根据过鱼情况统计过鱼数量,并实时显示。
图2 计数装置安装示意图Fig.2 Installation diagram of counting device
1.2 双兴趣线方法
目前较为先进的LOI计数方法主要是利用时间切片[19-20]统计运动物体数量,适用于相机工作距离较远、目标个体较小的使用环境。针对吸鱼泵计数工况,由于相机工作距离短、目标运动速度快,导致目标成像面积大,经典的基于速度的时间切片方法不能满足特征提取需要。针对此种情况,提出一种DLOI计数方法,如图3所示,在单帧图像内设定固定位置的双兴趣线,根据鱼类经过兴趣线不同特征,构建视频帧切片序列,然后通过建立不同视频切片序列鱼体特征与数量的回归模型,实现过鱼数量统计,具体算法逻辑如下。
1)初始化兴趣线:分析不同养殖对象外形长度,并综合考虑光源和水流影响,选择光照强度稳定区域(如图3所示)作为兴趣线起始和终止位置。根据综合分析结果,设定20 cm,30 cm和40 cm三个双兴趣线宽度选项,吸鱼泵工作前按照与鱼体长度接近原则设定双兴趣线宽度。
2)选择操作:按照鱼体首次切割起始位置兴趣线为视频切片开始位置,以连续轮廓最后一帧切割终止兴趣线为结束位置,构建视频帧切片。
3)分块操作:当同时存在双线切割时,采用canny算子结合膨胀腐蚀等形态学操作提取目标轮廓[11-13],判断视频轮廓是否连续,当轮廓连续时继续步骤2视频切片构建过程,当轮廓不连续时,按照步骤2方法,构建新视频切片(如图3所示)。
4)异常操作:由于吸鱼泵水力流速较快,存在鱼体快速进出,不切割兴趣线的情况,结合数据分析可以发现,基本未产生双兴趣线同时不切割状态,且大概率都是单条鱼产生此种情况,即不会产生重叠和粘连情况。此外,由于鱼体运动速度相对稳定,可通过分析视频图像,找到单条鱼在视频中最长运动时间阈值,以此为标准,当存在单一进线切割时,到达时间阈值而不存在出线切割时,构建顺序时间阈值长度的视频切片,当存在单一出线切割时,构建逆序时间阈值长度的视频切片。
5)构建特征:分析不同视频切片,当切片内目标轮廓连续,且不存在多个轮廓时,提取每帧图像轮廓面积s,构建视频切片面积表征向量TS,TS=[s1,…,si] ,i=1,2,…,n,其中n为视频切片中图像帧的数量;当视频切片中存在分割轮廓时,按照目标运动方向,将离视频运动起始位置较近的轮廓统计到后续视频切片,反之统计到前序视频切片。
图3 视频切片Fig.3 Video slices
1.3 过鱼数量预测模型
将过鱼视频通过视频切片的方法分割成了不同的片段,通过单位时间内过鱼数量实际上就是统计此时间段内所有视频切片中鱼类数量的总和。通过分析不同视频切片鱼类运动特点,可以发现发生4条以上鱼类粘连运动的情况较少,因此可以将视频切片中过鱼数量估计,转化成分类问题。支持向量机(support vector machines,SVM)方法[21-23]在小样本分析中取得了非常好的应用效果,具备较好的鲁棒性,由于吸鱼泵过鱼数量统计,相关样本来源较少,适用于小样本预测,因此选择SVM算法预测时间切片过鱼数量。
由于鱼体连续运动产生的视频切片长度不一致,为了统一样本空间,选择连续运动最长帧数作为样本向量长度,此外,根据样本实际情况,发现几乎未出现4条鱼连续运动情况,因此以3条鱼连续运动样本最长的18帧图像长度为样本向量维度。为了充分利用鱼体运动产生的投影面积时空变化特征,以单帧图像鱼体面积为特征向量参数,构建连续帧特征向量,当视频切片帧数不够8帧时,后续帧按照面积为0计算,得到样本空间R={Si},Si= [TSi;0i+1,…,0n],其中TSi为视频切片面积表征向量;n=18。联立样本空间和鱼体数量可得到训练样本集T= {R,R’},其中R’取值范围为1~3。建立SVM预测模型,其逻辑表达式为:
(1)
(2)
式中:ω、b分别为超平面法向量和常数项,C为惩罚因子,ξi为松弛变量,n为样本数量。本研究采用RBF(径向基)核函数进行空间映射,该映射的函数表达式为:
(3)
式中:g为核参数,控制函数的径向作用范围。
2 结果
2.1 试验环境
试验样本全部为吸鱼泵正式工作时采集,程序软件采用C++编写。吸鱼泵采用全自动控制,每次吸鱼时长30 s,间隔时间10 s。本次试验对象为池塘养殖1龄异育银鲫,平均体长20 cm,体质量230 g左右,共购买84条试验用鱼,按照约60 kg/m3密度放入试验用水箱暂养,用于重复试验。试验共采集15段30 s视频,共计吸鱼520条,随机选择13段视频共计433条鱼作为训练样本,剩余2段视频87条鱼作为测试样本验证本文方法的有效性。
2.2 试验结果
采用本文提出的双兴趣线方法将15段视频进行切片,其中13段训练视频共得到含单条鱼视频切片263个,含2条鱼的视频切片67个,含3条鱼视频切片12个,因此共得到训练集342个。2段测试样本共有单条鱼视频切片41个,2条鱼视频切片21个,3条鱼视频切片4个,共得到测试集66个。
将训练集和测试集样本分别按照本研究提出的特征构建方法生成标准样本空间,利用遗传算法[24-25]确定SVM模型参数,其中惩罚因子C=20 000和核参数g=0.01,预测结果如表1所示。采用阳性准确率Tp(precision),多数偏移Ti(increase)和少数偏移Td(decrease)三个指标评价整体计数精度和不同重叠数量预测精度,其中:
(4)
(5)
(6)
式中:TTP(True Positive)为真阳性,即视频切片中鱼类数量的预测值和真实值一致;TTPN(True Positive Number)为不同分类真阳性,本研究中不同数量鱼的视频切片预测值和真实值一致;TFN(False Negative)为真阴性,即视频切片中鱼类数量判断错误与真实值不一致;TIN(Increase Negative)为正阴性,即预测数量比真实数量多;TDN(Decrease Negative)为负阴性,即预测数量比真实数量少。
从表1中可以看出,1条鱼视频切片鱼类数量全部预测准确,2条鱼和3条鱼视频切片都只存在少数偏移情况,其中2条鱼视频切片少数偏移为19.05%,3条鱼视频切片少数偏移为50%。针对存在3条鱼的情况,预测误差较大,这主要是由于3条鱼重叠出现的情况较少,预测样本较少,导致预测精度受小样本影响较大。总体上看,两个预测视频段预测精度都达到或超过90%,其中预测视频段1出现了2条鱼预测误差,预测视频段2出现了1条鱼预测误差,分析误差产生的视频切片,发现当两条鱼重叠度较高时,误差产生概率较大,仅仅依靠单目视觉二维图像判断很难达到良好识别效果。
2.3 不同预测算法比较
针对小样本预测需求,选择BP神经网络[26-27]、NBC朴素贝叶斯[28-30]等典型算法与SVM算法进行比较,比较结果如表1所示。
表1 不同预测算法比较
表1可以看出,BP神经网络预测精度优于NBC朴素贝叶斯方法,但都低于SVM方法。从不同数量鱼类视频切片预测结果可以看出,单条鱼视频切片几乎不存在预测误差,不同预测算法预测误差差异主要集中在两条鱼视频切片中,相较于BP神经网络和本文采用的SVM方法,NBC朴素贝叶斯方法在3条鱼预测中全部出现Td误差。从不同视频段过鱼预测数量中可以看出,当视频中鱼类重叠度较高时,预测误差增大,但从15个视频段整体分析可以看出,当鱼类具备一定分散度通过计数装置时,平均预测精度基本可以超过85%。
3 讨论
3.1 异常运动特征导致的计数误差分析
针对吸鱼泵等鱼类被动运动情况,运动鱼类不可避免地出现粘连、重叠等运动特征,设计的计数装置管道内径为200 mm,长度为500 mm,当粘连或重叠鱼类目标经过时,相机捕捉的图像可局部反映鱼类运动的实时状态,但是由于鱼类是柔性物体,很难准确和大量构建特征库。此外,由于管道内径较大,靠近相机位置鱼类成像面积明显大于远离相机位置成像面积。因此,当鱼类重叠度较高或者沿水流方向并行运动时,基于单目相机的观测手段较难得到适用于判别的图像特征,导致计数精度会出现随机误差。
3.2 特征描述子改进方法分析
提出的基于双兴趣线的视频切片构建方法,能够根据鱼类运动状态准确分割单条、重叠等不同情况鱼类连续运动时间段,采用的特征构建方法建立的运动特征不仅仅包含了每帧图像的鱼类面积,还包括了鱼类运动面积变化趋势和运动时长信息,能够较全面的反应鱼类时空运动特征,因此基于双兴趣线的分类方法能够获得较好的分类效果。但是,基于面积变化构建的时空特征不具备鱼类运动轮廓特征表述能力,而轮廓特征又是重叠鱼类运动有效描述子,因此下一步研究将着重围绕轮廓变化进一步丰富特征描述子,以期提高算法计数精度。
3.3 训练样本改进方法分析
相较于BP神经网络和NBC朴素贝叶斯方法,SVM方法在鱼类视频切片识别精度更高,这主要是由于SVM算法对样本维度和样本数量不敏感,而NBC方法由于其基于概率的分类机理,当样本规模不均匀时容易导致小样本分类误差。而BP神经网络算法过于依赖样本,对差异较小样本或者规模差距较大样本,区分能力较差。本文构建的基于面积时空特征的训练样本,由于发生3条鱼重叠运动的情况较少,导致分类样本不均匀,产生较大的计数误差。下一步将通过构建仿真平台,进一步丰富样本数量,以期进一步提升分类精度。
3.4 试验装置改进方法分析
试验装置采用背光照射形式,主要用于规避气泡、杂质等随机噪声对鱼类成像的影响,背光光照强度是采用人工方法调整,适用于水体较清澈、杂质颗粒较小的工厂化或海水生产工况环境。针对池塘养殖环境,需要开展不同浊度鱼类成像补光试验和补光环境测试试验。此外,还将开展多目相机计数技术研究,以期通过增加不同角度图像,解决重叠引起的计数误差。
3.5 试验密度分析
为了验证本研究方法的有效性,采用60 kg/m3暂养密度开展吸鱼计数试验,取得了较好的试验效果。但是,相比于典型捕捞环境,鱼体密度较低,导致过鱼时发生3条及以上连续运动的情况较少。因此本研究下一步将基于提出的样本构建方法的理论基础,通过调节视频切片时间长度,开展不同密度吸鱼计数试验,以期提升装置的试用范围。
4 结论
针对吸鱼泵过鱼数量计数诉求,设计了一种基于机器视觉的过鱼数量计数装置,提出了一种基于双兴趣线和面积时空特征的计数方法。该计数方法鱼类计数平均精度超过90%,取得了较好的计数效果;提出的视频切片和运动特征构建方法,能够满足在线计数的工作要求;计数装置串接在吸鱼泵进口位置,不占用额外空间,且通过结构和算法升级可应用到多种工况环境。
□