本发明属于水下探测,具体涉及一种水下养殖物检测与抓取方法及装置。
背景技术:
1、随着人民日益增加的海产品需求,养殖渔业朝着智能化、精细化方向发展。水下机器人技术在促进海产养殖自动化发展中起着重要作用,水下目标检测和养殖物自动抓取作为养殖物分类捕捞的关键技术,具有重要的研究意义和商业前景。
2、由于水下环境光学成像不佳的原因,现有的水下目标检测方法还存在检测精度低的问题。
技术实现思路
1、为解决现有技术的不足,本发明提供一种水下养殖物检测与抓取方法及装置,可自动获取水下场景的光学双目图像,确定多种水下养殖物目标的距离和尺寸并实施抓取,提高水产捕捞效率与智能化水平。
2、为解决现有技术的不足,本发明提供的技术方案为:
3、一种水下养殖物检测与抓取方法,包括,
4、获取两个以平行双目形式安装的相机拍摄的左视图、右视图;
5、对左视图、右视图进行复原;
6、对复原后的左视图、右视图中的养殖物进行检测,获取养殖物的目标框;
7、对养殖物的目标框区域进行立体匹配,获得左视图的视差;
8、根据左视图的视差计算养殖物的尺寸和位置;
9、根据养殖物的位置和尺寸抓取养殖物。
10、优选的,还包括,在对左视图、右视图进行复原前,对左视图、右视图进行校正,包括,
11、通过标定求取相机的内参和外参:
12、构建似然函数:
13、
14、其中,θij表示第j幅标定图的第i个角点的坐标,j=1,2,…,χ,χ为标定图的总数,为单幅标定图中角点的总数;为θij的估计值;rij和tij分别为第j幅标定图的第i个角点的旋转向量和平移向量;mj为第j幅标定图中角点的三维坐标矩阵;d=[k1,k2,σ1,σ2,k3]为非理想透镜模型的畸变参数向量,mi为相机内部参数矩阵;z是平面单应矩阵,为z的估计值;
15、设置畸变系数和重投影误差阈值,对似然函数进行求解,得到相机的内参和外参;
16、根据相机的内参和外参、双目立体校正理论对左视图和右视图进行共面校正和行对校正。
17、优选的,所述对左视图、右视图进行复原,包括,
18、
19、其中,复原前的左视图、右视图记为原始图像,jc(x)为像素点x在复原后图像中c通道的像素值,ic(x)为像素点x在原始图像中c通道的像素值,ac为c通道的背景光强度,c∈(r,g,b),r、g、b为rbg色彩通道中的红、绿、蓝三通道,为像素点x处c通道的透射率;
20、其中,背景光强度的求取过程为:
21、将融合雾线的暗通道图中像素点的像素值按从小到大排列,取前10%的像素点,并在原始图像的这些像素点中,分别寻找红、绿、蓝三通道中最低像素值的像素点,将红、绿、蓝三通道的最低像素值作为红、绿、蓝三通道的背景光值ar、ag、ab;
22、像素点x处c通道的透射率的求取过程为:
23、构造最小化函数:
24、
25、其中,δ为平衡系数,nx为以像素点x为中心的局部区域块,y为nx内的像素点;为像素点x处红通道的最大透射率;σ(x)为根据雾线求取的的标准差;为像素点x处红通道的透射率;为像素点y处红通道的透射率;ir(x)、ir(y)分别为像素点x、像素点y在原始图像的红通道中的像素值;
26、的计算公式如下:
27、
28、其中,tr(x)为像素点x处红通道的初始透射率;trm为像素点x处红通道的透射率下限阈值,
29、trm的计算公式如下:
30、
31、其中,ig(x)、ib(x)分别为像素点x在原始图像的绿、蓝通道中的像素值;βrg为红光与绿光的衰减系数比,βrb为红光与蓝光的衰减系数比;
32、设定tr(x),通过迭代对最小化函数进行求解得到并按下式求得像素点x处绿通道的透射率像素点x处蓝通道的透射率
33、
34、其中,βr、βg、βb分别为红光、绿光、蓝光在水中的衰减系数。
35、优选的,采用yolov5s卷积神经网络模型对复原后的左视图、右视图中的养殖物进行检测,获取养殖物的目标框;
36、所述yolov5s卷积神经网络模型包括骨干网络、特征提取网络和预测网络;
37、所述骨干网络以cspnet和focus为基准网络,采样层为c3cbam模块,采用rfb模块提取复原后的左视图、右视图的信息;
38、所述特征提取网络构造fpn和pan特征金字塔进行特征融合,采用双线性插值和c3cbam模块进行拼接,在最小尺度信息上添加一层cbam注意力机制;
39、所述预测网络采用基于anchor的解耦检测头,输出三个不同的分辨率,进行多尺度的预测。
40、优选的,所述对养殖物的目标框区域进行立体匹配,获得左视图的视差,包括,
41、以左视图中养殖物的目标框区域为基准,根据左视图和右视图中养殖物的目标框区域的交并比对右视图中的养殖物的目标框区域进行更新;
42、计算左视图目标框区域中像素点的匹配代价,包括,
43、c(p,d)=α*β*ρ(ccensus(p,d),λce)+(1-β)*ρ(cad(p,d),λad)+(1-α)*ρ(cgrad(p,d),λgrad)
44、其中,c(p,d)为左视图目标框区域中像素点p的匹配代价,
45、d是像素点p与右视图目标框区域中除像素点p以外所有像素点的像素差值中的任意值,
46、ccensus(p,d)、cad(p,d)、cgrad(p,d)分别代表census算法、ad算法和梯度算法计算的左视图目标框区域中像素点p的代价值;λce、λad、λgrad分别表示census算法、ad算法、梯度算法的控制参数;
47、α为自适应权重参数,β为固定权重,
48、ρ(ccensus(p,d),λce)、ρ(cad(p,d),λad)、ρ(cgrad(p,d),λgrad)的计算公式分别如下:
49、
50、
51、
52、其中,cgrad(p,d)的计算公式如下:
53、cgrad(p,d)=max(0,l(pr)-lmax(pr),lmin(pl)-l(pl))
54、其中,l(pl)表示左视图像素灰度值,l(pr)表示右视图像素灰度值,lmax(pr)表示右视图目标框区域灰度最大值,lmin(pl)表示左视图目标框区域灰度最小值,l(pl)、l(pr)的计算公式如下:
55、
56、
57、其中,a和b为权重值,是左视图目标框区域像素点p的m和n方向像素点灰度值的归一化值,是右视图目标框区域像素点p的m和n方向像素点灰度值的归一化值;
58、计算左视图目标框区域中每个像素点的匹配代价,得到左视图目标框区域的代价矩阵;
59、计算最优臂长τ,对左视图目标框区域的代价矩阵进行聚合,得到左视图中目标框区域的视差;
60、最优臂长τ的计算公式如下:
61、
62、
63、其中,τ0为预设像素阈值的初始值,τ1为预设像素阈值的截止值,l为预设的臂长阈值,lpq为水平支撑臂上待匹配像素点p与像素点q之间的像素差值,ip,iq,iq′分别为p,q,q′三个像素点的像素值;q′为水平支撑臂上像素点q的前一像素点。
64、优选的,所述根据左视图的视差计算养殖物的尺寸和位置,包括,
65、
66、其中,xw、yw分别表示像素点在世界坐标系中横轴、纵轴的世界坐标,zw表示像素点的景物深度,m、n分别为左视图中像素点的横、纵坐标,κ为相机的焦距,b为基线距离,为左视图中像素点的视差;
67、创建养殖物的最小外接矩形,并计算养殖物的尺寸以及养殖物与相机间的距离:
68、
69、其中,ly表示养殖物的长度;w表示养殖物的宽度;h表示养殖物的高度;dis表示养殖物与相机间的距离;分别为该养殖物的最小外接矩形rn内的最大视差和最小视差;lr1、lr2分别为该养殖物的最小外接矩形rn的边长。
70、优选的,所述根据养殖物的位置和尺寸抓取养殖物,包括,
71、根据养殖物的尺寸计算养殖物的重量,根据养殖物的重量计算夹爪的夹持力;
72、根据养殖物的位置求取多轴机械臂的末端位姿,根据多轴机械臂末端位姿求取多轴机械臂的各关节角,根据多轴机械臂的各关节角驱动多轴机械臂运动带动夹爪到养殖物处,根据求取的夹爪夹持力,触发夹爪抓取养殖物。
73、一种水下养殖物检测与抓取装置,包括两个相机、电源、控制器、多轴机器臂和夹爪;
74、所述两个相机以平行双目形式安装,用于分别获取水下养殖物的图像,水下养殖物的图像分别记为左视图、右视图并上传至所述控制器;
75、所述电源用于为所述相机、控制器、多轴机器臂和夹爪提供动力;
76、所述控制器用于,对左视图、右视图进行复原;对复原后的左视图、右视图中的养殖物进行检测,获取养殖物的目标框;对养殖物的目标框区域进行立体匹配,获得左视图的视差;根据左视图的视差计算养殖物的尺寸和位置;根据养殖物的尺寸计算养殖物的重量,根据养殖物的重量计算夹爪的夹持力;根据养殖物的位置求取多轴机械臂的末端位姿,根据多轴机械臂末端位姿求取多轴机械臂的各关节角,根据多轴机械臂的各关节角驱动多轴机械臂运动带动夹爪到养殖物处;根据求取的夹爪夹持力,触发夹爪抓取养殖物。
77、优选的,所述控制器用于按下述步骤对左视图、右视图进行复原,包括,
78、
79、其中,复原前的左视图、右视图记为原始图像,jc(x)为像素点x在复原后图像中c通道的像素值,ic(x)为像素点x在原始图像中c通道的像素值,ac为c通道的背景光强度,c∈(r,g,b),r、g、b为rbg色彩通道中的红、绿、蓝三通道,为像素点x处c通道的透射率;
80、其中,背景光强度的求取过程为:
81、将融合雾线的暗通道图中像素点的像素值按从小到大排列,取前10%的像素点,并在原始图像的这些像素点中,分别寻找红、绿、蓝三通道中最低像素值的像素点,将红、绿、蓝三通道的最低像素值作为红、绿、蓝三通道的背景光值ar、ag、ab;
82、像素点x处c通道的透射率的求取过程为:
83、构造最小化函数:
84、
85、其中,δ为平衡系数,nx为以像素点x为中心的局部区域块,y为nx内的像素点;为像素点x处红通道的最大透射率;σ(x)为根据雾线求取的的标准差;为像素点x处红通道的透射率;为像素点y处红通道的透射率;ir(x)、ir(y)分别为像素点x、像素点y在原始图像的红通道中的像素值;
86、的计算公式如下:
87、
88、其中,tr(x)为像素点x处红通道的初始透射率;trm为像素点x处红通道的透射率下限阈值,
89、trm的计算公式如下:
90、
91、其中,ig(x)、ib(x)分别为像素点x在原始图像的绿、蓝通道中的像素值;βrg为红光与绿光的衰减系数比,βrb为红光与蓝光的衰减系数比;
92、设定tr(x),通过迭代对最小化函数进行求解得到并按下式求得像素点x处绿通道的透射率像素点x处蓝通道的透射率
93、
94、其中,βr、βg、βb分别为红光、绿光、蓝光在水中的衰减系数。
95、优选的,所述控制器用于按下述步骤对养殖物的目标框区域进行立体匹配,获得左视图的视差,包括,
96、以左视图中养殖物的目标框区域为基准,根据左视图和右视图中养殖物的目标框区域的交并比对右视图中的养殖物的目标框区域进行更新;
97、计算左视图目标框区域中像素点的匹配代价,包括,
98、c(p,d)=α*β*ρ(ccensus(p,d),λce)+(1-β)*ρ(cad(p,d),λad)+(1-α)*ρ(cgrad(p,d),λgrad)
99、其中,c(p,d)为左视图目标框区域中像素点p的匹配代价,
100、d是像素点p与右视图目标框区域中除像素点p以外所有像素点的像素差值中的任意值,
101、ccensus(p,d)、cad(p,d)、cgrad(p,d)分别代表census算法、ad算法和梯度算法计算的左视图目标框区域中像素点p的代价值;λce、λad、λgrad分别表示census算法、ad算法、梯度算法的控制参数;
102、α为自适应权重参数,β为固定权重,
103、ρ(ccensus(p,d),λce)、ρ(cad(p,d),λad)、ρ(cgrad(p,d),λgrad)的计算公式分别如下:
104、
105、
106、
107、其中,cgrad(p,d)的计算公式如下:
108、cgrad(p,d)=max(0,l(pr)-lmax(pr),lmin(pl)-l(pl))
109、其中,l(pl)表示左视图像素灰度值,l(pr)表示右视图像素灰度值,lmax(pr)表示右视图目标框区域灰度最大值,lmin(pl)表示左视图目标框区域灰度最小值,l(pl)、l(pr)的计算公式如下:
110、
111、
112、其中,a和b为权重值,是左视图目标框区域像素点p的m和n方向像素点灰度值的归一化值,是右视图目标框区域像素点p的m和n方向像素点灰度值的归一化值;
113、计算左视图目标框区域中每个像素点的匹配代价,得到左视图目标框区域的代价矩阵;
114、计算最优臂长τ,对左视图目标框区域的代价矩阵进行聚合,得到左视图中目标框区域的视差;
115、最优臂长τ的计算公式如下:
116、
117、
118、其中,τ0为预设像素阈值的初始值,τ1为预设像素阈值的截止值,l为预设的臂长阈值,lpq为水平支撑臂上待匹配像素点p与像素点q之间的像素差值,ip,iq,iq′分别为p,q,q′三个像素点的像素值;q′为水平支撑臂上像素点q的前一像素点。
119、本发明的有益效果:
120、本发明可自动获取水下场景的光学双目图像,优化了对图像背景光和透射率的估计方法,对水下成像进行预处理,提高水下成像的清晰度;将深度学习中广泛应用的卷积神经网络算法应用到近海域中的水下探测环境,为水下目标检测提供一种更为适配的检测效率更高的模型;确定多种水下养殖物目标的距离和尺寸并实施抓取,提高水产捕捞效率与智能化水平。