一种基于双目视觉的鱼类目标长度检测方法
- 国知局
- 2024-07-31 22:44:16
本发明属于计算机视觉中的图像处理,尤其涉及一种基于双目视觉的鱼类目标长度检测方法。
背景技术:
1、随着全球对鱼类资源的日益关注,鱼类养殖业面临的一个重要挑战是如何高效、准确地管理和养殖大量鱼类。鱼的生长速度和体型大小直接影响其养殖效益和产值,因此精确地测量鱼的长度成为评估和监控鱼类健康的关键指标。双目立体视觉辅助鱼类个体化智能养殖是近年来水产养殖领域的一个研究热点,其核心方法是通过双目相机无接触式测量鱼长,以实现更高效、更可持续的养殖生产。为养殖业提供了一种新的思路和方法,有助于提高养殖效率、减少资源消耗,并促进养殖业的可持续发展。而基于双目视觉的鱼类目标长度测量方法,可以通过水下智能视觉系统对鱼群进行生长检测,从而得到较为准确的鱼长信息,来帮助管理渔场。
2、在现有的鱼类长度检测技术中,虽然已经有多种尝试,但仍存在一些问题和挑战。以下是对现有技术的分析以及我们方案可能解决的技术问题。
3、传统的测量方法往往需要人工捕捞进行测量,这不仅增加了渔民的工作量,还会造成鱼类的损伤,并且不能满足不同鱼类个体之间的差异性需求,导致资源浪费和生长不均衡的问题。并且可能导致对整体估计有较大的误差。
4、基于机器视觉的方法:使用机器视觉进行鱼体长度测量,主要依赖于图像采集设备、鱼体轮廓提取算法和长度测量方法。例如,利用最小外接矩形、霍夫变换等方法来提取鱼体轮廓。但是这些方法通常只能处理二维图像,可能无法准确捕捉到鱼体的三维信息。此外,图像质量受多种因素影响,如光照条件、水质和鱼体姿态,这些都可能影响测量精度。
5、基于深度学习的方法:通过建立fish-keypoints数据集并利用深度学习技术检测鱼及其关键点,以实现更精确的尺寸测量。但是尽管深度学习可以提高检测的准确性,但其训练过程需要大量标注数据,而且模型的泛化能力和适应不同环境条件的能力仍然是一个挑战。
6、基于成像声纳的方法:使用成像声纳进行鱼类长度测量,显示出与尾叉长的线性关系良好,误差较小。但是成像声纳虽然能够提供非接触式的测量方式,但其分辨率和测量范围有限,可能不适用于所有类型和大小的鱼类。
技术实现思路
1、针对上述问题,本发明提供了一种基于双目视觉的鱼类目标长度检测方法,包括以下过程:
2、步骤1,采用双目摄像机,采集水下目标鱼体的图像信息,并进行双目标定获取摄像机的内参和外参;
3、步骤2,基于小波变换的扩散模型,对步骤1获取的图像进行图像增强;
4、步骤3,将增强后的图像数据输入改进的yolov8模型中,识别鱼类目标;
5、步骤4,基于步骤3识别到的鱼类目标使用transpose模型进行关键点检测,检测鱼身体的关键点;
6、步骤5,基于步骤4检测到的关键点,结合双目摄像机内参和外参进行三维重投影,将关键点进行坐标转换,根据重投影后的关键点坐标,使用相应曲线拟合算法拟合鱼类的位姿曲线;对拟合得到的位姿曲线进行积分,计算曲线的长度,即为鱼类的长度。
7、优选的,所述步骤1中双目标定是采用张正友标定法和gp290棋盘格标定板进行双目标定。
8、优选的,所述步骤1中还包括立体校正过程,目的是将左右相机的图像对准;采用基于视差图的立体校正方法,通过计算左右相机图像之间的视差,调整相机的内参和外参,实现图像的对准。
9、优选的,所述步骤2的具体过程为:
10、s21,首先通过对步骤1中获取的鱼类图片使用一维离散 haar小波变换 1d-dwt进行分解,计算如下式:
11、
12、其中代表图片的低频信息,代表图片高频信息;代表原始图片;
13、s22,对低频图片通过扩散模型进行增强,扩散模型分为正向扩散和反向去噪两个部分;正向扩散过程首先使用一个固定的方差计划,通过t步骤逐步将输入的转换为损坏的噪声数据,其过程如下所示:
14、
15、
16、其中,和分别为损坏的噪声数据和时间步长t处的预定义方差,n表示高斯分布;x0为原始数据;从t-1到t的转换概率为;
17、反向去噪的过程如下所示:
18、
19、
20、其中,为在条件发生后发生的概率;
21、s23,对高频信息采用交叉注意力机制进行增强,其过程如下所示:
22、,
23、
24、
25、其中lh为低高,lh表示水平高频分量,它包含了图像中水平方向上的边缘和细节信息,hl为高低,hl表示垂直高频分量,它包含了图像中垂直方向上的边缘和细节信息;hh为高高,hh表示高频分量,其中,conv为卷积,为lh卷积后的结果,为hl卷积后的结果,为hh卷积后的结果;它包含了图像中在水平和垂直方向上变化较快的细节信息。
26、优选的,所述步骤3中改进的yolov8模型具体为:将dcnv3模块引入yolov8模型的颈部网络中,替换pan模块中的c2f模块,同时,在主干网络中,使用c2f_scconv模块替换原始的c2f 模块;
27、所述dcn v3模块允许采样偏移的灵活学习,根据给定的数据自主地学习适合长程或短程依赖关系的采样偏移;同时,dcn v3模块可根据输入数据自适应地调整卷积操作,其常规采用3×3卷积窗口;
28、其中,所述c2f_scconv模块中的scconv子模块由空间重建单元sru和通道重建单元cru两个单元组成;所述sru采用分离和重构的方法来抑制空间冗余,而cru采用分裂变换和融合的策略来减少信道冗余;所述信道重建单元cru替换了标准的卷积,通过三个运算符来实现,分别为分裂、变换和融合;所述空间重建单元sru采用了一个独立的重建操作,通过一种分离-重建的方法抑制空间冗余。
29、优选的,所述步骤4中使用transpose模型进行关键点检测,所述transpose模型的构建过程为:
30、s41,通过双目摄像机获取大量水下鱼类图像数据集,并划分训练集和测试集;
31、s42,使用labelme标注图像中鱼类关键点,包括头部、眼睛、背鳍前端根部、背鳍末端根部、胸鳍根部、臀鳍根部和尾鳍根部;
32、s43,构建transpose模型,包括cnn主干网络、编码器组和热图输出头组三个部分;经过cnn主干网络进行特征提取和下采样。通过裁剪层将特征图的尺寸调整为适合编码器的形状。调整后的特征图被视为一个序列,然后输入到n个级联的编码器中。编码器使用自注意力机制来建立特征之间的依赖关系,通过对序列进行多次编码,逐渐提取更高级别的特征表示。每个编码器的输出是经过编码后的特征序列。在热图输出头组中,经过最后一个编码器的输出被用作生成关键点热图的输入,进行生成关键点热图;
33、s44,使用标注完成训练集和测试集对构建的transpose模型进行端到端的监督学习,其中,构建损失函数使用均方误差mse来计算热图损失,模型通过优化损失函数来调整关键点的预测结果,使其接近真实位置,最后通过最大值激活函数,transpose模型可确定每个关键点的最终坐标。
34、优选的,所述步骤5中结合双目摄像机内参和外参进行三维重投影,将关键点进行坐标转换,具体为:
35、将左摄像机的光心作为世界坐标系的原点,假设x轴和y轴与左摄像机的成像平面相同,而z轴则表示摄像机所朝向的方向,根据相似三角形定理,计算出关键点的空间坐标;首先,关键点在左摄像机和右摄像机中的像素坐标,分别表示为和;在水下焦距的取值为空气中的1.33倍;其计算过程如下所示:
36、
37、其中,b为基线长度,即左右摄像机之间的距离;为在成像平面上的长度。
38、优选的,所述步骤5中使用相应曲线拟合算法拟合鱼类的位姿曲线,对拟合得到的位姿曲线进行积分,计算曲线的长度,具体过程为:
39、s1,在世界坐标中,记头部关键点为,背鳍前端根部关键点和胸鳍根部关键点连线的中心点为,背鳍末端根部关键点和臀鳍根部关键点连线的中心点为,尾鳍根部关键点为;
40、s2,在设定好关键点()后,对这四个关键点进行拟合,形成曲线;
41、为了将鱼类位姿曲线的扭动限制在三维坐标系下的某个二维平面中,使用一个表达式来定义这个平面φ的方程,方程式如下式所示:
42、
43、其中,代表在x轴上的坐标,代表在y轴上的坐标,代表在z轴上坐标;其中为系数,通过利用线性回归的方式获得;
44、过程如下所示:
45、
46、s3,利用方程式求得()在平面中上的坐标点();其过程如下所示:
47、
48、s4,将φ作为子空间构建新坐标系,以为原点为x轴方向,按下式,计算得到其在φ平面上新坐标系中的坐标:
49、
50、s5,记在φ平面的表达式为,其中a、b、c由下式计算得到:
51、
52、其中,a、b、c为方程参数,记为在φ平面的表达式;
53、s6,最后对进行曲线积分求和,求得的长度即是鱼长度,其过程如下所示:
54、
55、其中,l为最后测量的鱼的长度,xbase为未知数在φ平面上的表达式。与现有技术相比,本发明具有如下有益效果:
56、1.通过使用双目相机无接触方式进行测量鱼长,避免了传统的人工测量中对鱼类的损伤。通过对双目相机使用张正友标定法获取双目相机的准确参数,大大减小了后续测量中的误差。双目相机在水下测量鱼类尺寸时能够提供更准确的深度信息,更好地处理水下环境中的光折射问题,并且能够执行更复杂的视觉任务。双目相机应用不仅限于尺寸测量,还包括对鱼类游动三维轨迹的跟踪,以及对水下目标的精细化分析。
57、2.通过提出的基于小波变换的扩散模型对鱼类图像进行图像处理,通过将扩散模型和小波变换相结合,在不损失信息的情况下,实现了算力的减少,小波变换可以在不牺牲信息的情况下将空间维数减半,而其他变换技术,如快速傅里叶变换(fft)和离散余弦变换(dct),会导致信息丢失。小波变换可以将水下图像分解成不同尺度的频带,从而能够捕捉到不同尺度上的细节信息。由于水下环境中的光衰减和散射,图像细节可能在不同尺度上存在,因此通过小波变换可以提取不同尺度上的信息,有助于恢复图像的细节。扩散模型可以通过学习大量数据的非线性关系来建模图像的复杂特征。相比传统的基于规则或统计方法的增强算法,扩散模型能够更好地捕捉图像中的高级语义和结构信息,从而更准确地进行图像增强。
58、通过提出的基于小波变换的扩散模型进行增强,减少了散射效应,恢复了图像清晰度和细节,使得图像在后期任务中会取得更好的效果。同时实现了水下图片的降噪和增强,在通过本方法进行图像增强后,水下鱼的目标检测有了提升的同时也会降低误检的情况。
59、3. 为了适应水下环境的特殊性,本方法对yolov8算法进行了改进。本方法通过将dcn v3网络引入yolov8 替换pan模块中的c2f模块。利用dcn v3的长距离建模能力,让yolov8能够更好地捕捉目标之间的关联性,提升对遥远目标的检测性能。利用dcn v3的自适应空间聚合能力,增强其对不同尺度目标的检测能力,同时减少规则卷积的归纳偏差,提高模型的泛化能力。虽然yolov8网络具有显著的性能,但这是以牺牲大量的计算资源为代价的,部分原因是卷积层提取了冗余特征,因此,本方法使用c2f_scconv模块主干网络中c2f 模块,来减少计算量。
60、针对水下光线条件的变化和水下图像的模糊问题,本方法优化了网络架构和训练策略,提高了算法对水下鱼类目标的感知能力和鲁棒性。提高了算法在水下环境下定位鱼类目标的准确性,提高水下鱼类长度测量的准确性。优化了算法在水下环境中的性能。这将为水下鱼类长度测量任务提供高速度和高精确度的目标感兴趣区域定位,为后续的尺寸测量提供可靠的基础。
61、4. 通过对鱼类关键点检测,能够更准确地捕捉图像中已被检测到的鱼类目标的位姿。这些位置对于鱼的姿态和形态具有重要的指示作用。通过检测和定位这些关键点,可以精确地描述鱼类目标的姿态和形状,即鱼的身体姿势和朝向。这对于理解鱼的生物学特征以及在测量过程中考虑鱼的姿态变化至关重要,可以准确地确定鱼的身体长度,为养殖管理和研究提供了精确的尺寸信息,有助于分析鱼类的生理状态、行为特征以及可能存在的异常情况,并可用于监测鱼类的生长变化。通过比较不同时间点的关键点信息,可以了解鱼类在养殖过程中的生长趋势和速率,为调整饲养策略提供科学依据。
62、通过对鱼类进行位姿曲线拟合,即当所有的鱼类关键点都成功成对匹配时,便能够利用这些关键点的三维坐标来拟合一条位姿曲线。这条位姿曲线不仅能够反映鱼类在真实空间中的位置,还能准确描绘其姿态。通过分析位姿曲线,能够获取鱼类的坐标信息,并计算出鱼类的长度等重要特征。这一过程提供了对鱼类行为和生态学特征的深入理解。通过三维重建技术,能够实现对鱼类在自然环境中的精准定位和跟踪。此外,通过获取鱼类的长度等信息,还能够对种群结构和生态系统动态的进行详尽的分析。为鱼类研究提供了一种全新的、非侵入性的方法,为生态学、环境监测等领域的研究和实践提供了有力的支持。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194376.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表