一种鱼道过鱼的精准计数方法与流程

allin2025-05-04  32


本发明涉及鱼道过鱼计数,尤其涉及一种鱼道过鱼的精准计数方法。


背景技术:

1、过鱼数量是指在一定的时间内,某条鱼道内所通过的鱼的总数;鱼的数量是指在单张静态图片上鱼的个数;由于同一目标可能在连续的视频中持续一段时间,所以依靠单张检测结果无法获取过鱼数量信息,需要考虑目标匹配和滤重问题。目前基于图像处理的过鱼数量检测方案中,主要的流程是鱼目标检测+目标跟踪,其中目标检测方法主要包括背景差分法、帧间差分法、vibe算法、深度学习目标检测等,跟踪算法包括tld跟踪、粒子滤波、kcf跟踪等。

2、1.背景差分法是一种对静止场景进行运动分割的通用方法,它将当前获取的图像帧与背景图像做差分运算,得到目标运动区域的灰度图,对灰度图进行阈值化提取运动区域,而且为避免环境光照变化影响,背景图像根据当前获取图像帧进行更新。

3、2.帧间差分法是将视频流中相邻两帧或相隔几帧图像的两幅图像像素值相减,并对相减后的图像进行阈值化来提取图像中的运动区域。

4、3.vibe算法为所有像素点存储了一个样本集,样本集里面保存的采样值是该像素点过去的像素值与其邻居点的像素值。后面每一帧的新像素值和样本集里的样本历史值进行比较,判断是否属于背景点。

5、4.深度学习目标检测算法是通过大量标注样本数据,通过学习目标通用的特征实现目标检测识别的技术,常用的包括ssd,centernet,yolo等,这些算法都是基于卷积神经网络、池化层、激活函数和损失函数实现模型的训练和推理。

6、5.tld跟踪其运行机制为:检测模块和跟踪模块互补干涉的并行进行处理。首先,跟踪模块假设相邻视频帧之间物体的运动是有限的,且被跟踪目标是可见的,以此来估计目标的运动。如果目标在相机视野中消失,将造成跟踪失败。检测模块假设每一个视帧都是彼此独立的,并且根据以往检测和学习到的目标模型,对每一帧图片进行全图搜索以定位目标可能出现的区域。同其它目标检测方法一样,tld中的检测模块也有可能出现错误,且错误分为错误的负样例和错误的正样例这两种情况。而学习模块则根据跟踪模块的结果对检测模块的这两种错误进行评估,并根据评估结果生成训练样本对检测模块的目标模型进行更新,同时对跟踪模块的“关键特征点”进行更新,以此来避免以后出现类似的错误。

7、6.粒子滤波是一种基于蒙特卡洛模拟的非线性滤波方法,其核心思想是用随机采样的粒子表达概率密度分布。粒子滤波的三个重要步骤为:1)粒子采样,从建议分布中抽取一组粒子;2)粒子加权,根据观测概率分布,重要性分布以及贝叶斯公式计算每个粒子的权值;3)估计输出,输出系统状态的均值协方差等。此外,为了应对粒子退化现象,还采用了重采样等策略。

8、7.kcf是一种鉴别式追踪方法,这类方法一般都是在追踪过程中训练一个目标检测器,使用目标检测器去检测下一帧预测位置是否是目标,然后再使用新检测结果去更新训练集进而更新目标检测器。而在训练目标检测器时一般选取目标区域为正样本,目标的周围区域为负样本,当然越靠近目标的区域为正样本的可能性越大。

9、然而,目前基于视频分析的鱼道过鱼方法,针对水下场景存在目标检出率低、目标容易误检的情况,同时存在跟踪算法效率低,计数不精准等问题。


技术实现思路

1、有鉴于此,本发明提出了一种鱼道过鱼的精准计数方法,1.采用基于背景建模和深度学习结合的目标提取算法,一方面既可以有效快速提取场景中的运动目标,另一方面可以精准提取鱼目标并过去掉非鱼目标;既能有效检出所有关注目标,同时效率又比较高。采用基于关键点和目标区域结合的跟踪算法,解决鱼遮挡和姿态问题带来的跟踪不精准问题。采用双拌线机制,解决单拌线可能出现的目标在拌线附近跟踪丢失或者跟踪中断的问题,提高计数精度。

2、本发明的技术方案是这样实现的:

3、本发明提供了一种鱼道过鱼的精准计数方法,包括如下步骤:

4、s1获取视频序列,并提取图像帧,基于图像帧生成背景模型,利用背景模型提取运动区域,将运动区域作为待分类区域,构建并训练深度学习目标分类模型,利用深度学习目标分类模型对待分类区域进行识别,得到鱼类图像;

5、s2构建并训练关键点识别模型,利用关键点识别模型对鱼类图像进行识别,获取鱼类图像的关键点;

6、s3采用第一匹配方法对鱼类图像进行粗匹配,之后采用第二匹配方法对鱼类图像的关键点进行精匹配,得到目标匹配结果,并实现目标跟踪,得到目标运动轨迹;

7、s4利用双拌线机制对目标运动轨迹进行过鱼判定,得到过鱼数量。

8、在上述方案的基础上,优选的,步骤s1包括:

9、s11获取视频序列,提取图像帧,对选定的多帧图像求和并取平均,得到初始背景模型;

10、s12在后续的图像帧处理中,使用设定的学习率对背景模型进行更新,当图像帧处理完毕,则得到更新后的背景模型;

11、s13将当前帧与背景模型进行差值运算,提取得到前景掩码;

12、s14根据连通分量分析从前景掩码中提取出前景目标区域,即运动区域;

13、s15重复步骤s13-s14,将所有图像帧处理完毕,得到每个图像帧的待分类区域;

14、s16构建并训练深度学习目标分类模型,将图像帧输入深度学习目标分类模型中,对待分类区域进行目标分类识别,得到鱼类图像。

15、在上述方案的基础上,优选的,深度学习目标分类模型采用resnet-50网络作为特征提取主干网络,深度学习目标分类模型在训练时,采用的损失函数为交叉熵损失函数。

16、在上述方案的基础上,优选的,鱼类图像的关键点包括鱼头、背鳍、腹鳍、胸鳍、臀鳍、尾鳍。

17、在上述方案的基础上,优选的,关键点识别模型包括:

18、5个卷积层,第一个卷积层包括128个卷积核,每个卷积核的大小为5*5,步长为2;第二个卷积层包括128个卷积核,每个卷积核的大小为5*5,步长为2;第三个卷积层包括96个卷积核,每个卷积核的大小为3*3,步长为2;第四个卷积层包括96个卷积核,每个卷积核的大小为3*3,步长为2;第五个卷积层包括100个卷积核,每个卷积核的大小为3*3,步长为2;

19、5个池化层,每个池化层采用平均池化;

20、6个激活函数层,采用relu激活函数;

21、2个全连接层。

22、在上述方案的基础上,优选的,关键点识别模型在训练时,采用的损失函数为欧氏距离。

23、在上述方案的基础上,优选的,第一匹配方法为:

24、根据深度学习目标分类模型的识别结果,提取鱼类图像中的目标框,以定位鱼类目标在图像帧中的位置;

25、设定交并比阈值,计算前后帧的相同位置的目标框之间的交并比,将交并比与交并比阈值进行比较,若交并比大于交并比阈值,则判定相应的两个目标框匹配成功,将其作为一个匹配对并加入初始匹配结果;

26、选择初始匹配结果中的一个目标框,若该目标框只匹配一个目标框,则将对应的匹配对保留在初始匹配结果;若该目标框匹配多个目标框,则将该目标框作为源目标框,其匹配的多个目标框为待匹配目标框,将对应的匹配对加入第一匹配结果。

27、在上述方案的基础上,优选的,第二匹配方法为:

28、将第一匹配结果中的每个目标框进行特征提取,得到关键点和相应的描述符;

29、对于每个关键点的描述符,通过遍历待匹配目标框中的所有描述符,找到距离最小的描述符,将相应的两个描述符作为第一描述符匹配对,加入第一候选匹配结果中;

30、将源目标框与待匹配目标框的顺序互换,计算相应的描述符之间的距离,找到距离最小的两个描述符作为第二描述符匹配对,加入第二候选匹配结果中;

31、比对第一候选匹配结果和第二候选匹配结果,若存在第一描述符匹配对于第二描述符匹配对相吻合,则将对应的两个描述符作为最终匹配对,加入目标匹配结果。

32、在上述方案的基础上,优选的,步骤s4包括:

33、s41设置第一虚拟拌线和第二虚拟拌线;

34、s42基于目标运动轨迹,计算当前帧鱼类目标的位置与上一帧鱼类目标的位置,判断两个位置是否位于第一虚拟拌线的两侧,若是,则判定鱼类目标已通过第一虚拟拌线,将计数器加1并记录鱼类目标的信息,若否,则计数不变,执行步骤s43;

35、s43再次计算当前帧鱼类目标的位置与上一帧鱼类目标的位置,判断两个位置是否位于第二虚拟拌线的两侧,若是,则判定鱼类目标已通过第二虚拟拌线,将计数器加1并记录鱼类目标的信息;

36、s44重复步骤s42-s43,对图像帧的鱼类目标进行过鱼判定,得到最终的过鱼数量。

37、在上述方案的基础上,优选的,针对已经不再更新的目标运动轨迹,检查整个轨迹列表中的每一个点,确保全部位于第一虚拟拌线的同一侧,如果满足条件则认为是无效计数。

38、本发明的方法相对于现有技术具有以下有益效果:

39、(1)通过提取图像中运动目标的方法可以实现快速计算,因为平均背景建模方法都是基于像素级别的运算,计算量少,而且帧差运算量也少,因此比直接采用深度学习目标提取算法效果更好,且检出率更高,误检少,对硬件资源也没有特别高的要求;

40、(2)基于关键点匹配的目标跟踪算法,在比较少的关键点的基础上,使用全匹配的算法,可以实现关键点的最优匹配,由于关键点个数较少,因此计算量很少。通过关键点匹配算法,解决了目标由于姿态问题、遮挡问题导致的传统目标跟踪算法无法跟踪的问题;

41、(3)双拌线机制,通过两条拌线判断过鱼情况,避免使用一条拌线可能存在的目标轨迹丢失的情况,从而造成漏统计的情况。通过该方法,可以有效解决目标轨迹丢失导致的漏统计情况,实现精准计数。


技术特征:

1.一种鱼道过鱼的精准计数方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种鱼道过鱼的精准计数方法,其特征在于,步骤s1包括:

3.如权利要求2所述的一种鱼道过鱼的精准计数方法,其特征在于,深度学习目标分类模型采用resnet-50网络作为特征提取主干网络,深度学习目标分类模型在训练时,采用的损失函数为交叉熵损失函数。

4.如权利要求1所述的一种鱼道过鱼的精准计数方法,其特征在于,鱼类图像的关键点包括鱼头、背鳍、腹鳍、胸鳍、臀鳍、尾鳍。

5.如权利要求4所述的一种鱼道过鱼的精准计数方法,其特征在于,关键点识别模型包括:

6.如权利要求1所述的一种鱼道过鱼的精准计数方法,其特征在于,关键点识别模型在训练时,采用的损失函数为欧氏距离。

7.如权利要求1所述的一种鱼道过鱼的精准计数方法,其特征在于,第一匹配方法为:

8.如权利要求7所述的一种鱼道过鱼的精准计数方法,其特征在于,第二匹配方法为:

9.如权利要求1所述的一种鱼道过鱼的精准计数方法,其特征在于,步骤s4包括:

10.如权利要求9所述的一种鱼道过鱼的精准计数方法,其特征在于,针对已经不再更新的目标运动轨迹,检查整个轨迹列表中的每一个点,确保全部位于第一虚拟拌线的同一侧,如果满足条件则认为是无效计数。


技术总结
本发明提出一种鱼道过鱼的精准计数方法,涉及鱼道过鱼计数技术领域,包括:S1基于图像帧生成背景模型,利用背景模型提取运动区域,将运动区域作为待分类区域,构建并训练深度学习目标分类模型,利用深度学习目标分类模型对待分类区域进行识别,得到鱼类图像;S2构建并训练关键点识别模型,利用关键点识别模型对鱼类图像进行识别,获取鱼类图像的关键点;S3采用第一匹配方法对鱼类图像进行粗匹配,之后采用第二匹配方法对鱼类图像的关键点进行精匹配,得到目标匹配结果,并实现目标跟踪,得到目标运动轨迹;S4利用双拌线机制对目标运动轨迹进行过鱼判定,得到过鱼数量。本发明既能有效检出所有关注目标,同时效率又比较高。

技术研发人员:段明,段瑞
受保护的技术使用者:武汉中科慧景科技有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-20930.html

最新回复(0)