一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的近海养殖鱼框个数与面积统计方法与流程

2021-11-24 20:06:00 来源:中国专利 TAG:


1.本发明属于统计方法技术领域,更具体地说,涉及一种基于深度学习的近海养殖鱼框个数与面积统计方法。


背景技术:

2.时至今日,渔业养殖技术发展取得了惊人的成就。在世界粮食危机仍未解除,食品安全问题频出,沿海渔民生活贫困不堪的大环境下,近海网箱养殖提供了渔业养殖的一个全新思路。实事求是地分析近海养殖的发展与网箱结构演变过程,预测近海养殖未来发展趋势,是世界发展大环境下绕不开的重要课题。海域空间的需求和日益紧张的近海海域资源之间的矛盾已失衡,近海网箱养殖是否达到饱和,是否有远洋养殖的必要,这些都是迫切需要答案的问题。来到具体实际层面,某一近海区域网箱的密集程度及数量多少,是问题核心所在。随着人工智能和深度学习的发展,电脑就可以统计出各国家或区域近海养殖网箱鱼框的数量和面积大小。
3.近海养殖网箱鱼框形状各异,一般可以分为三类:圆形,矩形和网格。一般情况下单个圆形和矩形面积较大,近海区域投放较稀疏,数量好统计,欧美地区国家大都使用这种鱼框;网格形状的鱼框形状不规则,近海区域投放较密集,数量不易统计,中国和东南亚地区喜好使用这种鱼框。但是,这些鱼框都有一个共同点,就是在卫星地图上,我们无法人工准确统计出他们的面积。
4.经检索,申请人于2021年5月7日公开了一种基于深度学习的鱼苗计数方法,其申请号为202110124718.1,该方法为:采集鱼苗图像,并对鱼苗图像进行标记得到标记图像;然后对标记图像进行缩放处理,使得所有的标记图像尺寸相同,再根据标记图像制作训练数据集;而后利用训练数据集对yolov3神经网络模型进行迭代训练得到优化模型;之后利用优化模型对重新采集的鱼苗图像进行识别并统计鱼苗的数量。但是,对于鱼框卫星图像干扰因素较多,该系统若是应用于鱼框数目的统计尚不完善,同时不能计算鱼框的面积,需要进一步改进。
5.因此,亟需寻求一种基于深度学习的近海养殖鱼框个数与面积统计方法。


技术实现要素:

6.1.要解决的问题
7.针对现有技术中,近海网箱养殖鱼框数量和面积大小的统计费时费力,无从下手。本发明提供了一种基于深度学习的近海养殖鱼框个数与面积统计方法,通过目标检测算法yolov3对鱼框进行定位和识别,面积算法对鱼框面积进行计算,从而实现了鱼框数量和面积的统计,并且降低了人力物力以及时间成本。
8.2.技术方案
9.本发明所采用的技术方案如下:
10.一种基于深度学习的近海养殖鱼框个数与面积统计方法,采集卫星图像并预处
理,得到训练集;根据训练集对yolov3算法模型进行多批次训练;训练后的模型对图像中鱼框进行识别并统计数量;利用自定义面积算法计算鱼框面积。
11.作为本发明进一步地改进,采集卫星图像并预处理,得到训练集,具体过程如下:从卫星地图网站上下载最新全球各国家或区域包含近海养殖鱼框的卫星遥感图共s张;从中选取t张卫星图,t张图中要求包含所有类别的n类鱼框,同时也要求t张图片包含所有国家或区域;对t张卫星图中的各类鱼框进行标注,将标注文件制作成训练集;其中,s、t、n均为正整数。
12.作为本发明进一步地改进,从谷歌卫星地图上共下载各国家或区域的包含近海养殖鱼框的卫星遥感图s=3154张,从中选取t=700张标注,用来制作训练集。将所有鱼框分为三类(n=3),圆形鱼框,矩形鱼框,网格鱼框(除圆、矩形外的所有不规则鱼框),对应地使用cir,rec,grid三个英文单词作为它们的标签。
13.作为本发明进一步地改进,采集卫星图像并预处理,得到训练集:从谷歌卫星地图上下载2020年各国家或区域包含近海养殖鱼框的卫星遥感图共3154张;从中选取700张卫星图,要求包含3类鱼框,同时也要求尽量包含所有国家或区域;对700张卫星图中的各类鱼框进行标注,将标注文件制作成训练集。
14.作为本发明进一步地改进,将图片标注并制作成训练集的具体过程为:在编辑器pycharm中安装标注软件labelimg;用labelimg给用来训练的图片中的鱼框用矩形框框住并打上标签,共cir,rec,grid三类标签,其中,cir为圆形鱼框,rec为矩形鱼框,grid为网格鱼框;每张图片标注完成后会自动生成一个xml文件,格式设置为通用的voc格式,文件中包含标注图片的存放路径、鱼框的位置和标签;700张图片会生成700个xml文件,将700个xml文件转化成一个700行的txt文本文件,每行代表一张被标注图片中的鱼框信息。这样,训练数据集就制作完成了。
15.path bx1,by1,bw1,bh1,class1 bx2,by2,bw2,bh2,class2
……
bxn,byn,bwn,bhn,classn
16.上面就是txt文件中的每行格式,path代表图片在电脑实际存放的路径;bx,by,bw,bh,class一组数据代表的是图片中一个鱼框的信息,多个鱼框信息之间用空格隔开;一个鱼框信息之间用逗号隔开,其中标注手段为比例标注(数值代表比例而不是大小),bx代表标注鱼框的矩形框中心点横坐标,by代表中心点纵坐标,bw代表box的宽,bh代表box的高,box代表矩形框(识别框),class为鱼框的类别,0代表圆形鱼框(cir),1代表矩形鱼框(rec),2代表网格鱼框(grid),n为在每张图像标注的鱼框个数。
17.作为本发明进一步地改进,根据yolov3算法模型对训练集进行多批次训练,具体步骤如下:将制作好的训练集数据传入目标检测算法yolov3模型中,进行预训练和正式训练,其中预训练迭代k1周期,正式训练迭代k2周期,总计迭代训练k1 k2周期,其中,k1、k2为正整数。
18.作为本发明进一步地改进,对根据训练集对yolov3算法模型进行多批次训练的具体过程为:每次传入4张至yolov3算法的darknet

53神经网络模型,对700张训练集图片预训练15个周期,正式训练20个周期。当损失函数计算的损失值收敛于15附近时,代表训练完成;否则,调整预训练周期和正式训练周期,直至损失值低于15。
19.作为本发明进一步地改进,训练后的模型对图像中鱼框进行识别并统计数量,具
体过程如下:t张图片训练完成后,模型得到一个全新的权重数据;在全新的权重数据下,逐一对s张卫星图中鱼框识别并在原图中将鱼框标记出来;每张卫星图中不同的鱼框会有不同的标签,根据标签就可以统计出各个类别鱼框在每张图中的数量。
20.作为本发明进一步地改进,训练后的模型对图像中鱼框进行识别的具体过程为:识别之前,预设图片resize大小为416*416,score鱼框得分为0.5,iou鱼框的识别框交并比为0.5。在yolov3模型上识别一张图片后,观察识别效果。如果效果不错,可以接着识别剩下的图片;如果还有进步空间,就调整三个参数,值得注意的是resize大小为32的倍数,score和iou大小在0和1之间。
21.作为本发明进一步地改进,训练后的模型对图像中鱼框进行数量统计的具体过程为:每识别一张图片,yolov3算法模型就会给图片中的鱼框框上一个识别框(也叫box),识别框中包含鱼框在图片中的位置信息以及类别标签。这样,我们统计一张图片中某类鱼框的个数就等同于统计图片中某类标签的个数。
22.作为本发明进一步地改进,计算鱼框面积,具体过程如下:进行掩膜处理,只保留rio(感兴趣)区域,即鱼框区域,其余部分变全黑;灰度处理,使rgb三通道图像变成单通道灰度图;滤波处理,去除噪声点和干扰点;二值化处理,将灰度图变成黑白图,并使鱼框轮廓清晰显示出来;使用面积计算方法逐一计算每张图中各类鱼框的面积。
23.作为本发明进一步地改进,图像中鱼框进行面积计算前的预处理之掩膜处理,掩膜操作的公式如下:
24.p(i,j)=[p(非roi区域)∩q(i,j)]∪p(roi区域)其中q(i,j)=0,
[0025]
式中,i、j分别表示像素点在图像中的横、纵坐标,p、q表示对应像素点的值,q=0表示黑色;
[0026]
使用全黑图片与原卫星图叠加,非roi区域就变成纯黑,而roi区域不作操作,保留原样。这样便消除非roi区域对面积计算的影响。掩膜处理具体过程为:识别后box中包含识别框的位置信息(左上角和右下角坐标);可以使用一张和卫星图大小一样大的全黑图片覆盖在卫星图上;显然,有了box的位置信息,可以做到识别框的区域不用覆盖,保留原样。
[0027]
作为本发明进一步地改进,图像中鱼框进行面积计算前的预处理之滤波处理,具体过程为:掩膜处理后保留了roi区域,减少了非roi区域对面积计算的干扰。但是,box区域除了有鱼框,还有海域。包含海域的roi区域存在噪声点,依然影响面积的计算。合适的滤波处理可以解决,但滤波处理的前提建立在灰度图像上。所以,在滤波之前需要将图片灰度处理。灰度处理,采集的卫星图是rgb彩色图像,彩色图像由r(红色),g(绿色),b(蓝色)三原色按比例混合而成。灰度图像是用不同饱和度的黑色来表示每个图像点,比如用8位0

255数字表示“灰色”程度,每个像素点只需要一个灰度值。灰度处理主要是使roi区域变成灰度图。众所周知,卫星图是rgb彩色图像,转化为灰度(gray)图像采取以下公式:
[0028]
gray=0.299*r 0.587*g 0.114*b
[0029]
获取灰度图后,选择合适的滤波算法——中值滤波来处理海域中较多的噪声点。中值滤波去除噪声的同时还可以兼顾到鱼框边界信息的保留。中值滤波用噪声点像素周围邻域像素集中的中值代替原像素。由于海域情况复杂,密集的浪花,海水在阳光下的反射等等,因此使用两次中值滤波。
[0030]
滤波处理,图像滤波也就是图像平滑化,本发明采用一种线性滑动均值

中值滤波
法,去除噪声的同时还可以兼顾到鱼框边界信息的保留。线性滑动均值

中值滤波法的方法如下:取以噪声点为中心的3*3像素区域为滑动窗口,分别计算噪声点横向和纵向的上一个窗口,当前窗口,以及下一个窗口的中值,再对五个窗口的中值取平均值。公式如下:
[0031][0032][0033]
式中,i1、i2、i3、i4、i5表示图像中的某个点的像素值,a1、b1、c1、d1、e1、f1、g1、
[0034]
h1表示i1周围点的像素值,a2、b2、c2、d2、e2、f2、g2、h2表示i2周围点的像素值,a3、b3、c3、d3、e3、f3、g3、h3表示i3周围点的像素值,a4、b4、c4、d4、e4、f4、
[0035]
g4、h4表示i4周围点的像素值,a5、b5、c5、d5、e5、f5、g5、h5表示i5周围点的像
[0036]
素值;
[0037]
m(k)=median(i
k
),k=上、下、左、右、中,median操作为求中值。
[0038]
对横纵方向的滑动窗口取平均值,
[0039]
最后,将i1点的值修改为i
new

[0040]
作为本发明进一步地改进,图像中鱼框进行面积计算前的预处理之二值化处理,灰度值大于阈值的点,将其灰度值设定为最大值,灰度值小于或等于阈值的点,将其灰度值设定为0。对于背景相对暗,鱼框边界相对亮的卫星图,将过阈值的值设为255(白色),其他值设为0(黑色);反之,对于背景相对亮,鱼框边界相对暗的卫星图,将过阈值的值设为0,其他不变;
[0041]
thresh_binary:过门限的值设置为maxval,其他值置零
[0042][0043]
thresh_tozero_inv:过门限的值不变,其他值置零
[0044][0045]
二值化处理具体过程为:对于背景相对暗,鱼框边界相对亮的卫星图,将过阈值的值设为255(白色),其他值设为0(黑色);反之,对于背景相对亮,鱼框边界相对暗的卫星图,将过阈值的值设为0,其他不变。二值化后,鱼框的轮廓就显现出来。因为卫星图是高空远距离拍摄以及鱼框的部分会被海水淹没的缘故,二值化后的显现鱼框轮廓可能存在缺口,鱼框轮廓可能还有毛刺。这样的轮廓会影响面积计算。膨胀操作可以有效填充缺口,腐蚀操作可以显著去除毛刺。本发明的本过程中采取两次膨胀操作,一次腐蚀操作的方案。膨胀与腐蚀的原理用公式表达如下:
[0046]
dst(x,y)=max(x

,y

):ele(x

,y

)≠0,src(x x

,y y

)
[0047]
dst(x,y)=min(x

,y

):ele(x

,y

)≠0,src(x x

,y y

)
[0048]
dst(x,y)表示转换后对应的像素点,src(x x

,y y

)表示对于原像素点src(x,y)
的操作,max表示取最大值,min表示最小值,ele表示卷积核。定义一个3*3或者5*5的卷积核矩阵,依次划过原始图像矩阵,进行与运算。锚点位置的像素值更改为卷积核矩阵覆盖的有效像素值的最大值/最小值(对应膨胀和腐蚀)。通俗来说,膨胀与腐蚀就是让图像中亮的区域扩展和收缩。
[0049]
作为本发明进一步地改进,图像中鱼框进行面积计算的具体过程为:针对圆形鱼框,运用自定义圆形鱼框面积计算方法,得到圆形鱼框的圆心和半径,从而求出面积;针对矩形和网格鱼框,先提取出鱼框的外轮廓,再根据外轮廓使用轮廓面积算法求出面积。
[0050]
作为本发明进一步地改进,对于圆形鱼框面积的计算图像中鱼框进行面积计算的自定义圆检测原理为:在roi区域内,绘出图像数组中值为1的任意两像素点之间连线的中垂线,按相交点中垂线的个数排序,数目最多的点是圆心的可能性就越大。计算圆心到值为1像素点的距离,找到距离相同的那些值,并计算相同值的数量,只有相同值的数量大于设定的阈值,才认为该值是该圆心对应的半径。根据半径即可求出圆形鱼框的面积。
[0051]
作为本发明进一步地改进,图像中鱼框进行面积计算的矩形、网格鱼框面积计算原理为:对roi区域图像数组进行逐行扫描,若:f(i,j

1)=0&&f(i,j)=1(i、j分别表示像素点在图像中的横、纵坐标),则将该点加入初始为空的轮廓数组中。统计轮廓数组中i相同不变,j的最大值和最小值之差将所有的差值求和,再乘上地图比例尺的平方,即可得到矩形鱼框、网格鱼框面积:
[0052][0053]
area=contour_pixelnums*scale*scale
[0054]
其中,contour_pixelnums表示轮廓包含的像素点个数,scale表示卫星地图比例尺。
[0055]
3.有益效果
[0056]
相比于现有技术,本发明的有益效果为:
[0057]
(1)本发明的一种基于深度学习的近海养殖鱼框个数与面积统计方法,通过训练优化yolov3算法模型,对卫星图中的鱼框进行分类与识别,并且统计出了各类鱼框的数量与面积。大大算短了人工统计数量的时间成本和经济成本,提供了面积统计的可行方案。此外,本发明训练一次数据后,剩余的鱼框图片可以直接识别,方便快捷,而且准确率较传统图像处理方法有极大提高。
[0058]
(2)本发明针对背景复杂,干扰因素较多的鱼框卫星图像,采集超大容量样本,进行分类标注,并在yolov3算法模型中加入预训练周期,加快了识别速度并提高了识别精度。再搭配一系列图像处理操作和改进的面积算法,统计出每张卫星图中鱼框数量的同时,还能求出图中每类鱼框的面积。相比于申请人申请的鱼苗计数发明(申请号为202110124718.1)中只能统计清晰图片中的鱼苗数量有了长足进步。
附图说明
[0059]
图1为本发明的方法流程示意图。
具体实施方式
[0060]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;而且,各个实施例之间不是相对独立的,根据需要可以相互组合,从而达到更优的效果。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。
[0062]
实施例1
[0063]
结合图1所示,本发明的一种基于深度学习的近海养殖鱼框个数与面积统计方法,具体步骤如下:
[0064]
1)采集鱼框图像
[0065]
采集含有鱼框的图像,具体地,从谷歌卫星地图上下载2020年各国家或区域包含近海养殖鱼框的卫星遥感图共3154张;从中选取700张卫星图,要求每张的地理坐标(经纬度)可知,图片中尽可能多得被鱼框填充,且包含3类鱼框,图中鱼框轮廓尽量保持清晰可见。筛选图片,选取没有捕鱼船只停靠在网箱旁边作业的图片;如果图片中存在大量捕鱼船只以及其他影响因素,可以从网站下载同地点相邻时间的图片。图片尺寸尽可能保持一致。多个文件夹存储,同一国家的鱼框图像存放在一个文件夹下。
[0066]
2)标记鱼框图像,制作训练集
[0067]
用labelimg给用来训练的图片中的鱼框用矩形框框住并打上标签,共cir,rec,grid三类标签;要求刚刚好且完整地框住一整个鱼框。每张图片标注完成后会自动生成一个xml文件,格式设置为通用的voc格式,文件中包含标注图片的存放路径、鱼框的位置和标签;700张图片会生成700个xml文件,将700个xml文件转化成一个700行的txt文本文件。txt文件中的每行都遵守yolo格式。挑选的700张图片要求具有代表性,包含所有国家,所有类别,包含各种不同的海域背景环境。
[0068]
3)训练模型
[0069]
将制作好的训练数据集传入yolov3算法模型进行迭代训练。具体地,将训练数据集传入至yolov3算法的主干网络darknet

53神经网络模型,每次传入4张,预训练15个周期,正式训练20个周期,直至损失率低于15。
[0070]
4)鱼框识别与数量、面积统计
[0071]
多批次训练后,yolov3模型得到优化并获得权重文件,在新的权重文件下对剩余图片进行识别。本发明对鱼框图像进行识别统计的具体过程为:预设图片resize大小为416*416,score鱼框得分为0.5,iou鱼框的识别框交并比为0.5,先识别一张图片,观察识别效果;如果效果不佳,可以调整上面三个参数,要求resize大小为32的倍数,score和iou大小在0和1之间。调整好参数后,可以循环不断地跑完同一文件夹下的所有图片。每张图片识别的过程中统计标签的个数,同步写入excel表格记录下来。每识别一个鱼框,yolov3算法模型就会在鱼框上画上一个矩形box标记它。根据box里包含的位置信息和类别信息,对原图像进行一系列处理,包括掩膜处理,灰度处理,滤波处理,二值化处理,最终得到可以用来
计算的轮廓。根据类别标签不同,分别使用霍夫圆检测算法和轮廓面积算法计算鱼框面积。计算好的面积也写入excel表格,和个数统计的记录进行对应。
[0072]
本发明的一种基于深度学习的近海养殖鱼框个数与面积统计方法,通过迭代训练yolov3算法模型,成功实现了对大量卫星图像中的网箱养殖鱼框的识别与个数、面积统计,本发明克服了卫星图中鱼框密集,面积无法计算的棘手问题,提供了一种基于深度学习和图像处理的鱼框统计方法,提高了识别和计算效率,降低了人工成本和错误率,对研究近海网箱养殖的发展状况具有重大意义。
[0073]
在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本技术和本发明的应用领域。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献