掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图像视觉的鱼群活跃度监测方法

文献发布时间:2023-06-19 12:24:27


一种基于图像视觉的鱼群活跃度监测方法

技术领域

本发明属于图像处理技术领域,具体涉及一种基于图像视觉的鱼群活跃度监测方法。

背景技术

近年来,结合信息技术的智慧水产养殖方式提供了更加专业和方便的管理方案,降低了水产养殖的风险,越来越受到人们的认可,成为渔业发展的趋势。在智能水产养殖管理中,监测鱼群的活跃程度可以较好地反映鱼群状态,例如,活跃程度的偏高和偏低都可能为鱼群活动状态不正常的体现,利用鱼群活跃度的监测数值以及变化趋势,能够及时地提醒养殖者检查鱼群健康状态并就异常现象深入调查原因。进一步,在关于鱼类养殖的实验中,探究某种因素对鱼群的影响时,鱼群活跃程度能够作为其中一项参考指标,提供有效帮助。

但是,目前鱼群活跃程度的监测缺少具体的量化计算方法,现有技术存在如下不足:

(1)基于深度学习进行鱼的监测再计算活跃度的方法需要大量带标签的数据集,在现实中获取难度较大,且监测需要的计算量大;

(2)单纯的依据图像间差异计算活跃度的方法没有考虑鱼群相互重叠的可能,且易受背景的影响,计算误差大;

(3)基于混合高斯模型的去背景方法根据像素点变化率来区分前景和背景,计算量较大,且鱼池外有人或物移动会被分到前景中,从而给活跃度计算带来较大误差。另一种去背景方法使用事先准备的背景图片来减去背景,计算量较低,但容易因为背景光线变化或物体移动导致无法去除背景,实用性较低。

发明内容

本发明的目的在于针对上述问题,提出一种基于图像视觉的鱼群活跃度监测方法,可消除背景影响,减少干扰因素,提高鱼群活跃度计算的准确性和有效性,并降低计算量,通过对鱼群活跃度合理量化,为智慧养殖中鱼群状态监测提供重要依据,更加直观有效。

为实现上述目的,本发明所采取的技术方案为:

本发明提出的一种基于图像视觉的鱼群活跃度监测方法,包括如下步骤:

S1、获取鱼群运动视频,随机选取视频中的一帧图像,划分背景区域和鱼池区域,并设定背景区域的颜色,以不同的像素值标记背景区域和鱼池区域,获得参照图P;

S2、分别对视频中的第K帧图像和第K+N帧图像进行预处理,对应获得图像a和图像b,K≥1,N为正整数,预处理具体如下:

S21、转换为灰度图;

S22、完成灰度图的二值化;

S23、将二值化后的灰度图进行颜色反转;

S3、将图像a和图像b分别与参照图P相乘去除背景区域,对应获得图像a’和图像b’;

S4、分别过滤图像a’和图像b’中存在的轮廓,获得图像a”和图像b”,并计算图像a”和图像b”对应的鱼群所占面积area_a和area_b,具体如下:

S41、监测图像中的全部轮廓;

S42、计算每个轮廓的面积,并保留面积处于预定阈值范围内的轮廓,置滤除的轮廓区域像素值与背景区域等同,获得图像a”和b”;

S43、判断maxArea是否赋初值,maxArea为鱼群不重叠时所占最大面积,若否,记录图像a”中的轮廓总数num_a和图像b”中的轮廓总数 num_b,否则,跳至下一步;

S44、分别对图像a”和图像b”中的轮廓进行面积求和,对应记为area_a 和area_b;

S5、计算鱼群初始活跃度activity_ori,公式如下:

其中,a(x,y)为图像a”在(x,y)处的像素值,b(x,y)为图像b”在(x,y)处的像素值,w为图像的宽,h为图像的高;

S6、计算鱼群最终活跃度activity,满足如下公式:

activity=o*activity_ori

其中,o为鱼群重叠系数;

S7、记录时间和对应的最终活跃度activity;

S8、判断是否收到停止信号,若是,停止监测鱼群活跃度,否则,置K=K+M,M为正整数,并对第K+M帧图像和第K+M+N帧图像执行如下操作:

第K+M+N帧图像返回执行步骤S2以更新图像b”,并判断M是否等于N,若是,则更新第K+M帧图像获得的图像b”为图像a”,跳至步骤 S5,否则,返回执行步骤S2以更新图像a”,循环计算最终活跃度activity 并进行记录。

优选地,步骤S1中,背景区域的像素值为0,鱼池区域的像素值为1。

优选地,步骤S2中,视频中的第K帧图像和第K+N帧图像还均通过中值滤波抑制图像噪声后再转换为灰度图。

优选地,步骤S2中,采用局部自适应阈值分割方法完成灰度图的二值化。

优选地,步骤S6中,鱼群不重叠时所占最大面积maxArea计算如下:

当为第一轮时,为maxArea赋初值,n为鱼群中的鱼实际总数,则

否则,maxArea等于上一轮获得的maxArea值,且当area_a或area_b 大于maxArea时,更新

maxArea=MAX(area_a,area_b)。

优选地,步骤S7中,记录时间和对应的最终活跃度activity具体如下:

判断是否为线上监测,若是,记录当前时间和对应的最终活跃度 activity,若否,记录图像a的帧序号和对应的最终活跃度activity;

与现有技术相比,本发明的有益效果为:

1)该方法可快速划分图像的背景区域和鱼池区域,在背景区域的任何变化不会影响鱼群活跃度的计算,且不受背景区域的形状、连贯性限定,可灵活地根据实际情况自由划分,计算量低,具有较好地抵抗背景变化的能力;

2)通过图像处理消除背景的影响,获得仅剩鱼群的二值化图像,并计算不同帧图像对应像素间的差异,获得鱼群初始活跃度,同时采用鱼群重叠系数对初始活跃度进行校正,计算量小,且可减少干扰因素(如移动的人或物、光线等),提高监测数据的合理性和有效性;

3)根据面积过滤方法,过滤不是鱼类所有的面积大小的物体或形状,有助于减少计算量和影响因素,提高实用性;

4)该方法对鱼群活跃度进行了合理量化,为智慧养殖中鱼群状态监测提供重要依据,且相较于现有技术中通过水质和含氧量监测来说,监测鱼群活跃度更加直观有效。

附图说明

图1为本发明的鱼群活跃度监测方法的总框图;

图2为本发明的鱼群活跃度监测方法的流程框图;

图3为本发明的参照图P;

图4为本发明的待预处理图像对应的二值化图;

图5为本发明的待预处理图像颜色反转图;

图6为本发明的图像去除背景图;

图7为本发明的图像轮廓过滤图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

如图1-7所示,一种基于图像视觉的鱼群活跃度监测方法,包括如下步骤:

S1、获取鱼群运动视频,随机选取视频中的一帧图像,划分背景区域和鱼池区域,并设定背景区域的颜色,以不同的像素值标记背景区域和鱼池区域,获得参照图P;

其中,实时获取鱼群图像,如采用固定摄像头拍摄出鱼群运动视频,并转化为若干帧图像形成图像集,以保证每张图像的背景区域一致。任取图像集中的一帧图像,指定背景区域,背景区域的像素不会参与鱼群活跃度计算,无论它们是否有变化。具体地,将背景区域的颜色设定为RGB (0,0,0),即纯黑色,此处也可根据实际需求选取其他颜色进行标记。

在一实施例中,步骤S1中,背景区域的像素值为0,鱼池区域的像素值为1。

由于实际图像中的像素值难以达到理想的纯黑RGB(0,0,0),因此可以区分指定的背景区域和鱼池区域。将指定的背景区域的像素值置为 0,鱼池区域的像素值置为1,制作出参照图P,如图3所示(由于像素值 1和0的区别较小,肉眼看到的图像为全黑)。保存参照图P,用于图像去除背景。在摄像头不移动的情况下,视频中的背景范围一般不会改变,因此只需要在鱼群活跃度监测前进行一次即可。需要说明的是,当摄像头位置变动后,应根据最新拍摄的图像更新参照图P。

S2、分别对视频中的第K帧图像和第K+N帧图像进行预处理,对应获得图像a和图像b,K≥1,N为正整数,预处理具体如下:

S21、转换为灰度图;

S22、完成灰度图的二值化;

S23、将二值化后的灰度图进行颜色反转;

在一实施例中,步骤S2中,视频中的第K帧图像和第K+N帧图像还均通过中值滤波抑制图像噪声后再转换为灰度图。以提高图像处理和分析的有效性和可靠性。

在一实施例中,步骤S2中,采用局部自适应阈值分割方法完成灰度图的二值化。

其中,将图像转换为灰度图可采用现有技术的任意方式,如通过 opencv实现图像的灰度化。并采用局部自适应阈值分割方法完成灰度图的二值化,将二值化后的灰度图进行颜色反转,使鱼群在二值化图像中呈现为白色,以黑色为底,第K帧图像处理后对应获得图像a,第K+N帧图像处理后对应获得图像b。这里根据不同区域有不同二值化阈值,采用局部自适应阈值分割方法来对鱼群进行二值化处理,能够更好地适应鱼池不同区域亮度不同带来的问题,减少光线的影响,以获得较好的鱼群图像。需要说明的是,抑制图像噪声或灰度图的二值化还可采用现有技术中的其他实现方式,且N可根据实际需求调整,N取值越小,参考数据越准确,鱼群活跃度监测效果越好。

S3、将图像a和图像b分别与参照图P相乘去除背景区域,对应获得图像a’和图像b’。

S4、分别过滤图像a’和图像b’中存在的轮廓,获得图像a”和图像b”,并计算图像a”和图像b”对应的鱼群所占面积area_a和area_b,具体如下:

S41、监测图像中的全部轮廓;

S42、计算每个轮廓的面积,并保留面积处于预定阈值范围内的轮廓,置滤除的轮廓区域像素值与背景区域等同,获得图像a”和b”;

S43、判断maxArea是否赋初值,maxArea为鱼群不重叠时所占最大面积,若否,记录图像a”中的轮廓总数num_a和图像b”中的轮廓总数 num_b,否则,跳至下一步;

S44、分别对图像a”和图像b”中的轮廓进行面积求和,对应记为area_a 和area_b。

步骤S4中,经过处理获得的图像a’和图像b’基本余下鱼群的轮廓,因此直接分别监测图像a’和图像b’中的全部轮廓。并计算每个轮廓的面积,保留处于预定阈值范围内的轮廓,过滤不可能是鱼类的面积大小的轮廓,例如,在规定的拍摄距离下,一条鱼在上的像素所占据的面积area不小于100像素,不大于1000像素,因此只有当预定阈值满足100

S5、计算鱼群初始活跃度activity_ori,公式如下:

其中,a(x,y)为图像a”在(x,y)处的像素值,b(x,y)为图像b”在(x,y)处的像素值,w为图像的宽,h为图像的高。由同一固定摄像头拍摄出的若干帧图像的尺寸(宽w和高h)等同,根据实际情况确定。

S6、计算鱼群最终活跃度activity,满足如下公式:

activity=o*activity_ori

其中,o为鱼群重叠系数;

在一实施例中,步骤S6中,鱼群不重叠时所占最大面积maxArea计算如下:

当为第一轮时,为maxArea赋初值,n为鱼群中的鱼实际总数,则

否则,maxArea等于上一轮获得的maxArea值,且当area_a或area_b 大于maxArea时,更新

maxArea=MAX(area_a,area_b)。

其中,根据鱼群重叠程度校正鱼群活跃度以获得最终活跃度activity。 maxArea为鱼群不重叠时所占最大面积,具体地,maxArea的计算如下:若为第一轮,即首次取出两帧视频帧进行首轮计算,则需要为maxArea 赋初值,在图像a”和图像b”中监测出每条鱼的轮廓后,可以得到鱼的总数(即对应的轮廓总数num_a或num_b)和鱼的面积,求出一条鱼的平均面积后乘以给定的鱼实际总数n,计算得到的值赋给maxArea;若不是首轮计算,则maxArea已有值,可直接使用。例如,当首轮使用第K帧图像和第K+N帧图像计算最终活跃度时,已赋有maxArea初值,置每轮 K=K+1,则第二轮使用第K+1帧图像和第K+1+N帧图像计算最终活跃度,第三轮使用第K+2帧图像和第K+2+N帧图像计算最终活跃度,依次类推,则当第二轮不存在area_a或area_b大于maxArea时,第二轮的maxArea 等于第一轮赋有的初值,当第二轮存在area_a或area_b大于maxArea时,使用MAX(area_a,area_b)将maxArea更新,那么第三轮一开始获得的便是第二轮更新后的maxArea,同理,再根据第三轮获得的area_a和area_b 判断第三轮是否还需要更新maxArea。这是因为maxArea一般为定值,可重复使用,但也存在变化可能,即当area_a或者area_b大于maxArea时,需使用MAX(area_a,area_b)对maxArea进行动态更新。

S7、记录时间和对应的最终活跃度activity。

在一实施例中,步骤S7中,记录时间和对应的最终活跃度activity具体如下:

判断是否为线上监测,若是,记录当前时间和对应的最终活跃度 activity,若否,记录图像a的帧序号和对应的最终活跃度activity;

具体地,如为线上实时监测,直接记录当前时间和对应的最终活跃度 activity,若为线下监测,记录图像a在视频中的帧序号作为视频中时间的依据,并记录对应的最终活跃度activity。收集数据,便于监测。

S8、判断是否收到停止信号,若是,停止监测鱼群活跃度,否则,置 K=K+M,M为正整数,并对第K+M帧图像和第K+M+N帧图像执行如下操作:

第K+M+N帧图像返回执行步骤S2以更新图像b”,并判断M是否等于N,若是,则更新第K+M帧图像获得的图像b”为图像a”,跳至步骤 S5,否则,返回执行步骤S2以更新图像a”,循环计算最终活跃度activity 并进行记录。

具体地,如初始时在步骤S2中,分别对视频中的第K帧图像和第 K+1帧图像(如N=1)进行预处理,并对应获得图像a”和图像b”,计算一次鱼群最终活跃度activity。若未收到停止信号,则循环计算最终鱼群活跃度activity。如当置K=K+1时,对第K+M帧图像和第K+M+N帧图像 (即第K+1帧图像和第K+2帧图像)执行如下操作,因第K+1帧图像已经过预处理等,则直接更新第K+1帧图像获得的图像b”作为新一轮鱼群活跃度监测的图像a”,并将第K+2帧图像执行步骤S2到步骤S4后更新为图像b”。需要说明的是,M和N还可根据实际需求调整,如考虑计算量或监测效果等,当取值越小时,监测效果越好。M代表采样频率,可为任意正整数,M越大,则采样的频率越低。N值应较小以保证活跃度计算的可靠性。且当第K+M帧图像和第K+M+N帧图像均未经过在先的预处理时,应该分别进行预处理并获得新一轮的鱼群最终活跃度activity,如已经过在先的预处理,则可直接利用以减少计算量,如将上一轮获得的图像 b”作为下一轮的图像a”,如此循环,每一轮计算鱼群最终活跃度activity,并进行记录。

本申请的基于图像视觉的鱼群活跃度监测方法,可快速划分图像的背景区域和鱼池区域,在背景区域的任何变化不会影响鱼群活跃度的计算,且不受背景区域的形状、连贯性限定,可根据实际情况自由划分,计算量低,具有较好地抵抗背景变化的能力;通过图像处理消除背景的影响,获得仅剩鱼群的二值化图像,并计算不同帧图像对应像素间的差异,获得鱼群初始活跃度,同时采用鱼群重叠系数对初始活跃度进行校正,计算量小,且可减少干扰因素(如移动的人或物、光线等),提高监测数据的合理性和有效性;根据面积过滤方法,过滤不是鱼类所有的面积大小的物体或形状,有助于减少计算量和影响因素,提高实用性;并对鱼群活跃度进行了合理量化,为智慧养殖中鱼群状态监测提供重要依据,且相较于现有技术中通过水质和含氧量监测来说,监测鱼群活跃度更加直观有效。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请描述较为具体和详细的实施例,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种基于图像视觉的鱼群活跃度监测方法
  • 一种水下移动式鱼群活跃度多功能检测装置
技术分类

06120113283127