CN114663721A - 一种鱼类识别的数据增广方法以及鱼类识别方法和系统 - Google Patents
一种鱼类识别的数据增广方法以及鱼类识别方法和系统 Download PDFInfo
- Publication number
- CN114663721A CN114663721A CN202210192884.XA CN202210192884A CN114663721A CN 114663721 A CN114663721 A CN 114663721A CN 202210192884 A CN202210192884 A CN 202210192884A CN 114663721 A CN114663721 A CN 114663721A
- Authority
- CN
- China
- Prior art keywords
- fish
- image
- identification
- fishes
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明为解决现有技术中鱼类识存在的实施方式较为繁琐,灵活性差的问题,提供一种鱼类识别的数据增广方法以及鱼类识别方法和系统,属于人工智能技术领域。鱼类识别的数据增广方法,包括以下步骤:获取水下环境图像;获取清水水下场景的第一鱼类图像并转化为第二鱼类图像;图像融合生成第三鱼类图像。鱼类识别方法采用增广的第三鱼类图像训练得到最终鱼类识别模型,并进行标注。鱼类识别系统包括图像采集模块、训练数据增广模块等。本发明中的数据增广方法,可以快速建立囊括了不同场景的公共数据集,提高鱼类识别模型的精度,实施方式简单,灵活性极高。本发明中鱼类识别方法和系统可以实现快速自动标注,减少工程部署中模型迭代的次数。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种鱼类识别的数据增广方法以及鱼类识别方法和系统。
背景技术
科学开发和保护渔业资源,建设现代渔业示范园区是渔业转型升级、实现更大发展的必然要求。发展现代渔业关系到很多新设施、新技术、新机制,但最重要的部分首先是渔业监测。基于计算机视觉技术的自动化检测方法在水产养殖领域得到了广泛应用,目前已经建立了许多系统有效的鱼类识别方法。
然而,现阶段对水下鱼类进行识别时存在着以下缺陷:
一是无公共数据集;
二是不同场景(自然环境、水的清澈程度、光线变化等)下采用同一批数据进行模型训练的话,识别精度不够;
三是无法进行快速部署,需周而复始的采集各个时间段的图像,再进行数据标注。
由此,造成现阶段使用深度学习对鱼类进行识别,实行方式较为繁琐,灵活性差。
发明内容
本发明为解决现有技术中鱼类识存在的实施方式较为繁琐,灵活性差的问题,提供一种鱼类识别的数据增广方法以及鱼类识别方法和系统。本发明中的数据增广方法,可以快速建立囊括了不同场景的公共数据集,提高鱼类识别模型的精度,实施方式简单,灵活性极高。同时,本发明中鱼类识别方法和系统可以实现快速自动标注,减少工程部署中模型迭代的次数。
本发明采用的技术方案是:
一种鱼类识别的数据增广方法,所述方法包括以下步骤:
步骤S1,确立不同的水下场景,针对每种水下场景至少获取一张水下环境图像;不同的水下场景由自然环境、水体清澈程度和/或光线变化产生,且鱼类未在该水下场景中出现;每张水下环境图像的像素尺寸均相同;
步骤S2,设置清水水下场景,并在该清水水下场景中放入鱼类;获取若干清水水下场景的第一鱼类图像;每张第一鱼类图像的像素尺寸均相同,且第一鱼类图像的像素尺寸与水下环境图像的像素尺寸相同;
步骤S3,选择一张第一鱼类图像,逐一确定该第一鱼类图像中可识别的鱼类并进行标注,并记入第一记录文件中;标注内容包括鱼类类别和位置信息,标注格式为:{(class),(x1,y1),(x2,y2)},
其中,class为鱼类类别;
(x1,y1)为单条鱼类最大外接矩形框左上角的坐标点;
(x2,y2)为同一单条鱼类最大外接矩形框右下角的坐标点;
步骤S4,待第一鱼类图像中可识别的鱼类均完成标注,保存第一记录文件,且该第一记录文件的保存名称与对应的第一鱼类图像的保存名称相同;
步骤S5,重复步骤S3和步骤S4,直至全部第一鱼类图像均完成标注,并保存有对应的第一记录文件;
步骤S6,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像;第二鱼类图像的像素尺寸与水下环境图像的像素尺寸相同,且第二鱼类图像的标注内容和标注格式与第一鱼类图像的标注内容和标注格式相同;
步骤S7,重复步骤S6,直到全部第一鱼类图像均转换为对应的无背景的第二鱼类图像;
步骤S8,选择一张第二鱼类图像作为前景,选择一张水下环境图像为背景,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像,并在第二记录文件中记入第二鱼类图像的标注内容;该第二记录文件的保存名称与对应的第三鱼类图像的保存名称相同;
步骤S9,重复步骤S8,完成每张第二鱼类图像与全部水下环境图像的分别进行像素叠加,得到第三鱼类图像的数据集和对应的第二记录文件的数据集,完成鱼类识别的数据增广。
进一步地,所述步骤S3中,逐一确定该第一鱼类图像中可识别的鱼类的具体过程包括:
步骤S31,选择第一鱼类图像中任意一条鱼类;
步骤S32,若该鱼类没有与其他鱼类的存在图像重叠,观察该鱼类是否头、身、尾形态特征完整且清晰可见;若观察结果是完整,则确定为可识别并进行标注;
步骤S33,若该鱼类与其他鱼类的存在图像重叠,观察该鱼类与其他鱼类的重叠区域是否影响到该鱼类形态特征展示;若观察结果是形态特征相对完整且清晰可见,则确定为可识别并进行标注;
步骤S34,重复步骤S31至步骤S33,直至确定出第一鱼类图像中全部可识别的鱼类并进行标注。
进一步地,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S61,选择一张标注后的第一鱼类图像,并进行灰度处理;
步骤S62,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域;
步骤S63,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外除该条鱼类图像外的背景,仅保留该可识别鱼类图像,得到第二鱼类图像;
步骤S64,重复步骤S62和步骤S63,对该张第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,得到对应的第二鱼类图像;
或者,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S65,选择一张标注后的第一鱼类图像,并进行灰度处理;
步骤S66,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域;
步骤S67,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外附近除该条鱼类图像外的背景,仅保留该可识别鱼类图像;
步骤S68,重复步骤S66和步骤S67,对该第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,待该第一鱼类图像上全部的可识别鱼类的所在的区域均完成图像分离处理,仅保留全部可识别鱼类图像,该第一鱼类图像上整体转换为无背景的第二鱼类图像。
进一步地,所述步骤S8中,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像的具体过程为:
第二鱼类图像的整体与水下环境图像的整体进行像素叠加,生成新的具有鱼类种类和位置信息的水下环境图像,该新的水下环境图像即为第三鱼类图像;
鱼类识别方法,所述方法包括以下步骤:
步骤SP1,采用前述的鱼类识别的数据增广方法,获得第三鱼类图像的数据集和对应的第二记录文件的数据集;
步骤SP2,将第三鱼类图像的数据集和对应的第二记录文件的数据集按照数据量比8∶2分为训练集和测试集,送入卷积神经网络进行鱼类识别模型训练,保留识别性能最高的鱼类识别模型,并将识别性能最高的鱼类识别模型作为最终鱼类识别模型;
步骤SP3,获取鱼道内实时画面,将画面帧输入最终鱼类识别模型中,自动进行鱼类标注。
进一步地,所述方法还包括以下步骤:
步骤SP4,对完成种类识别的鱼类进行鱼类尺寸识别、鱼类游速识别、鱼类游向识别和鱼类计数;
步骤SP5,生成的鱼类数据存储到数据库,该鱼类数据包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量。
进一步地,所述步骤SP4中,鱼类尺寸识别的具体过程为:
步骤SP41,采用卡尔曼滤波和匈牙利算法,实时定位同一条鱼类,获取该鱼类的实时鱼类图像;
步骤SP42,由最终鱼类识别模型识别该鱼类的实时鱼类图像中头部中心点坐标(x头,y头)、尾部中心点坐标(x尾,y尾)以及鱼类的位置信息{(x1,y1),(x2,y2)};将鱼类头部中心和尾部中心坐标点进行连线,记录鱼类头部尾部连线与水平方向的夹角θ,且且0≤θ<90;计算得到鱼类尺寸为:
进一步地,所述步骤SP4中,鱼类游速识别的具体过程为:
步骤SP43,在鱼道内实时画面中设置前侧边界和后侧边界,水流方向为由前侧边界流向后侧边界;
步骤SP44,获取同一条鱼类的最大外接矩形框中心点跨越前侧边界或者后侧边界时,两个画面帧下的最大外接矩形框中心点距离L;
步骤SP44,计算鱼类游速v=两点距离L/两帧时间T。
进一步地,所述步骤SP4中,鱼类游向识别和鱼类计数的具体过程为:
步骤SP45,以相邻两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及后侧边界线为分析线;
若同一条鱼类穿过后侧边界线和前侧边界线后,计数一次;
或者,步骤SP47,以两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及前侧边界线为分析线;
若同一条鱼类穿过前侧边界线和后侧边界线后,计数一次。
实施前述的鱼类识别方法的鱼类识别系统,所述系统包括:
图像采集模块,该图像采集模块包括水下相机以及补偿光源,用于采集第一鱼类图像、水下环境图像以及实时画面图像;
训练数据增广模块,该训练数据增广模块接收图像采集模块采集到的鱼类数据、水下环境数据,进行数据增广操作;
交互与训练模块,该交互与训练模块用于数据增广期间,进行鱼类种类标注、鱼类识别模型的训练以及用于鱼类信息的展示;该鱼类信息包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量;
数据存储模块,该数据存储模块用于数据存储。
本发明的有益效果是:
本发明为解决现有技术中鱼类识存在的实行方式较为繁琐,灵活性差的问题,提供一种鱼类识别的数据增广方法以及鱼类识别方法和系统。在鱼类识别的数据增广方法中,先获取水下环境图像,然后清水水下场景中第一鱼类图像并进行标注,接着对第一鱼类图像灰度处理和图像分割处理得到第二鱼类图像,最后将第二鱼类图像与水下环境图像进行融合得到第三鱼类图像。鱼类识别方法和系统中通过数据增广方法获得第三鱼类图像的数据集和对应的第二记录文件的数据集分为训练集合测试集,送入卷积神经网络进行鱼类识别模型训练,保留识别性能最高的鱼类识别模型,并将识别性能最高的鱼类识别模型作为最终鱼类识别模型,最后由最终鱼类识别模型进行鱼类自动标注。本发明中的数据增广方法,可以快速建立囊括了不同场景的公共数据集,提高鱼类识别模型的精度,实施方式简单,灵活性极高。同时,本发明中鱼类识别方法和系统可以实现快速自动标注,减少工程部署中模型迭代的次数。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有现技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例1中,数据增广时获取的图像。
图2为实施例1中,是第一鱼类图像。
图3为实施例2中,鱼类识别方法的流程图。
图4为实施例2中,实时的画面帧。
图5为实施例2中,鱼类尺寸计算时θ的示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在本发明的描述中,需要理解的是,术语″中心″、″纵向″、″横向″、″长度″、″宽度″、″厚度″、″上″、″下″、″前″、″后″、″左″、″右″、″竖直″、″水平″、″顶″、″底″、″内″、″外″、″顺时针″、″逆时针″、″轴向″、″径向″、″周向″等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。
下面结合附图对发明的实施例进行详细说明。
实施例1
现阶段对水下鱼类进行识别时存在着以下缺陷:
一是无公共数据集;
二是不同场景(背景、水的清澈程度等)下采用同一批数据进行模型训练的话,识别精度不够;
三是无法进行快速部署,需周而复始的采集各个时间段的图像,再进行数据标注。
由此,造成现阶段使用深度学习对鱼类进行识别,实行方式较为繁琐,灵活性差。
为解决由于数据集的缺陷导致的现有技术中鱼类识别存在的实施方式较为繁琐,灵活性差的问题,本实施例中提供一种鱼类识别的数据增广方法。
具体的,该鱼类识别的数据增广方法包括以下步骤:
步骤S1,确立不同的水下场景,针对每种水下场景至少获取一张水下环境图像;不同的水下场景由自然环境、水体清澈程度和/或光线变化产生,且鱼类未在该水下场景中出现;每张水下环境图像的像素尺寸均相同。
步骤S2,设置清水水下场景,并在该清水水下场景中放入鱼类;获取若干清水水下场景的第一鱼类图像;每张第一鱼类图像的像素尺寸均相同,且第一鱼类图像的像素尺寸与水下环境图像的像素尺寸相同。
比如,按照现场相机焦距、鱼道大小搭建模拟现场鱼道。采用张网捕捞法和截堵法,获取实际需检测的各个鱼类。将捕获到的鱼类放到模拟鱼道中,加入清水,方便获取鱼类特征,对鱼类数据进行采集处理。
步骤S3,选择一张第一鱼类图像,逐一确定该第一鱼类图像中可识别的鱼类并进行标注,并记入第一记录文件中;标注内容包括鱼类类别和位置信息,标注格式为:{(class),(x1,y1),(x2,y2)},
其中,class为鱼类类别;
(x1,y1)为单条鱼类最大外接矩形框左上角的坐标点,
(x2,y2)为同一单条鱼类最大外接矩形框右下角的坐标点;
步骤S4,待第一鱼类图像中可识别的鱼类均完成标注,保存第一记录文件,且该第一记录文件的保存名称与对应的第一鱼类图像的保存名称相同。
步骤S5,重复步骤S3和步骤S4,直至全部第一鱼类图像均完成标注,并保存有对应的第一记录文件。
步骤S6,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像;第二鱼类图像的像素尺寸与水下环境图像的像素尺寸相同,且第二鱼类图像的标注内容和标注格式与第一鱼类图像的标注内容和标注格式相同。
步骤S7,重复步骤S6,直到全部第一鱼类图像均转换为对应的无背景的第二鱼类图像。
步骤S8,选择一张第二鱼类图像作为前景,选择一张水下环境图像为背景,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像,并在第二记录文件中记入第二鱼类图像的标注内容;该第二记录文件的保存名称与对应的第三鱼类图像的保存名称相同。
步骤S9,重复步骤S8,完成每张第二鱼类图像与全部水下环境图像的分别进行像素叠加,得到第三鱼类图像的数据集和对应的第二记录文件的数据集,完成鱼类识别的数据增广。
比如,如图1中所示,先拍摄水下环境图像G1和第一鱼类图像G2,然后对G2进行处理得到第二鱼类图像G3,最后将G1和G3进行像素叠加,得到第三鱼类图像G4。
本实施例中,发明中的数据增广方法,通过分别获取水下环境图像和无背景的第二鱼类图像,然后将水下环境图像和第二鱼类图像进行融合,得到第三鱼类图像,由此可以快速建立囊括了不同场景的公共数据集,省去了需周而复始的采集各个时间段的图像的工序,利于进行快速部署,提高鱼类识别模型的精度,实施方式简单,灵活性极高。
进一步地,所述步骤S3中,逐一确定该第一鱼类图像中可识别的鱼类的具体过程包括:
步骤S31,选择第一鱼类图像中任意一条鱼类。
步骤S32,若该鱼类没有与其他鱼类的存在图像重叠,观察该鱼类是否头、身、尾形态特征完整且清晰可见;若观察结果是完整,则确定为可识别并进行标注。
比如,图2中的A处,该鱼类无其他鱼类遮挡,形态特征完整且清晰可见,确认可识别。
步骤S33,若该鱼类与其他鱼类的存在图像重叠,观察该鱼类与其他鱼类的重叠区域是否影响到该鱼类形态特征展示;若观察结果是形态特征相对完整且清晰可见,则确定为可识别并进行标注。
比如,图2中B处,该鱼类的头部被其他鱼类遮挡,形态特征不完整,不能被识别。
步骤S34,重复步骤S31至步骤S33,直至确定出第一鱼类图像中全部可识别的鱼类并进行标注。
以上技术方案的技术效果是:通过以上可识别鱼类的确定方法,确认规则同一,不同的人员可以参照此方法将第一鱼类图像中可以识别出的鱼类全部确定出,减少人为因数的干扰,提高第一鱼类图像的利用率,以利用后续进行鱼类标注,提高鱼类识别模型的识别精度。
进一步地,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S61,选择一张标注后的第一鱼类图像,并进行灰度处理。
步骤S62,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域。
步骤S63,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外除该条鱼类图像外的背景,仅保留该可识别鱼类图像,得到第二鱼类图像。
步骤S64,重复步骤S62和步骤S63,对该张第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,得到对应的第二鱼类图像。
比如,第一鱼类图像中可识别的鱼类有10条,经过灰度处理和分割处理后,可以得到十张第二鱼类图像。每张第二鱼类图像中仅仅示出一条对应的可识别鱼类。
或者,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S65,选择一张标注后的第一鱼类图像,并进行灰度处理。
步骤S66,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域。
步骤S67,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外附近除该条鱼类图像外的背景,仅保留该可识别鱼类图像。
步骤S68,重复步骤S66和步骤S67,对该第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,待该第一鱼类图像上全部的可识别鱼类的所在的区域均完成图像分离处理,仅保留全部可识别鱼类图像,该第一鱼类图像上整体转换为无背景的第二鱼类图像。
比如,第一鱼类图像中可识别的鱼类有10条,经过灰度处理和分割处理后,可以得到一张第二鱼类图像。第二鱼类图像中示出十条可识别鱼类。
以上技术方案的有益效果是:通过灰度处理和图像分割处理后,能够将第一鱼类图像中的背景去除,仅保留能够完整展示鱼类形态特征的图像,并以此作为数据增广图像的前景。由此,不需要去获取不同场景下鱼道内的图像,就可以获得大量鱼类识别模型训练时需要的数据。
进一步地,所述步骤S8中,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像的具体过程为:
第二鱼类图像的整体与水下环境图像的整体进行像素叠加,生成新的具有鱼类种类和位置信息的水下环境图像,该新的水下环境图像即为第三鱼类图像。
以上技术方案的有益效果是:通过图像融合技术,能够在短时间内得到大量不同场景下鱼类识别模型训练时需要的数据,可进行快速部署,有利于提高鱼类识别模型的识别精度,实施方式简单,灵活性极高。图片整体融合方式获得第三鱼类图像的像素尺寸、水下环境图像的像素尺寸、第一鱼类图像的像素尺寸以及第二鱼类图像的像素尺寸的均相同,利于后续鱼类识别模型的建立以及实时鱼类的识别等。
实施例2
鱼类识别方法,其流程如图3中所示。
该鱼类识别方法包括以下步骤:
步骤SP1,采用前述的鱼类识别的数据增广方法,获得第三鱼类图像的数据集和对应的第二记录文件的数据集。
步骤SP2,将第三鱼类图像的数据集和对应的第二记录文件的数据集按照数据量比8∶2分为训练集和测试集,送入卷积神经网络进行鱼类识别模型训练,保留识别性能最高的鱼类识别模型,并将识别性能最高的鱼类识别模型作为最终鱼类识别模型。
步骤SP3,获取鱼道内实时画面,将画面帧输入最终鱼类识别模型中,自动进行鱼类标注,如图4中所示。
本实施例中,采用增广图像作为鱼类识别模型的训练集和测试集,得到的鱼类识别模型识别精度高,且可以实现鱼类快速自动标注。
进一步地,该方法还包括以下步骤:
步骤SP4,对完成种类识别的鱼类进行鱼类尺寸识别、鱼类游速识别、鱼类游向识别和鱼类计数;
步骤SP5,生成的鱼类数据存储到数据库,该鱼类数据包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量。
进一步地,所述步骤SP4中,鱼类尺寸识别的具体过程为:
步骤SP41,采用卡尔曼滤波和匈牙利算法,实时定位同一条鱼类,获取该鱼类的实时鱼类图像;
步骤SP42,由最终鱼类识别模型识别该鱼类的实时鱼类图像中头部中心点坐标(x头,y头)、尾部中心点坐标(x尾,y尾)以及鱼类的位置信息((x1,y1),(x2,y2)};将鱼类头部中心和尾部中心坐标点进行连线,记录鱼类头部尾部连线与水平方向的夹角θ,且且0≤θ<90,如图5中所示;最后计算得到鱼类尺寸为:
进一步地,所述步骤SP4中,鱼类游速识别的具体过程为:
步骤SP43,在鱼道内实时画面中设置前侧边界和后侧边界,水流方向为由前侧边界流向后侧边界,如图4中所示;
步骤SP44,获取同一条鱼类的最大外接矩形框中心点跨越前侧边界或者后侧边界时,两个画面帧下的最大外接矩形框中心点距离L;
步骤SP44,计算鱼类游速v=两点距离L/两帧时间T。
进一步地,所述步骤SP4中,鱼类游向识别和鱼类计数的具体过程为:
步骤SP45,以相邻两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及后侧边界线为分析线;如果迎合硬件设备而做抽帧处理,则选择处理后相邻两个画面帧;
若同一条鱼类穿过后侧边界线和前侧边界线后,计数一次;
或者,步骤SP47,以两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及前侧边界线为分析线;
若同一条鱼类穿过前侧边界线和后侧边界线后,计数一次。
实施例3
鱼类识别系统,该系统包括:
图像采集模块,该图像采集模块包括水下相机以及补偿光源,用于采集第一鱼类图像、水下环境图像以及实时画面图像等;
训练数据增广模块,该训练数据增广模块接收图像采集模块采集到的鱼类数据、水下环境数据,进行数据增广操作;
交互与训练模块,该交互与训练模块用于数据增广期间,进行鱼类种类标注、鱼类识别模型的训练以及用于鱼类信息的展示;该鱼类信息包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量;
数据存储模块,该数据存储模块用于数据存储。
Claims (10)
1.一种鱼类识别的数据增广方法,其特征在于,所述方法包括以下步骤:
步骤S1,确立不同的水下场景,针对每种水下场景至少获取一张水下环境图像;不同的水下场景由自然环境、水体清澈程度和/或光线变化产生,且鱼类未在该水下场景中出现;每张水下环境图像的像素尺寸均相同;
步骤S2,设置清水水下场景,并在该清水水下场景中放入鱼类;获取若干清水水下场景的第一鱼类图像;每张第一鱼类图像的像素尺寸均相同,且第一鱼类图像的像素尺寸与水下环境图像的像素尺寸相同;
步骤S3,选择一张第一鱼类图像,逐一确定该第一鱼类图像中可识别的鱼类并进行标注,并记入第一记录文件中;标注内容包括鱼类类别和位置信息,标注格式为:{(class),(x1,y1),(x2,y2)},
其中,class为鱼类类别;
(x1,y1)为单条鱼类最大外接矩形框左上角的坐标点;
(x2,y2)为同一单条鱼类最大外接矩形框右下角的坐标点;
步骤S4,待第一鱼类图像中可识别的鱼类均完成标注,保存第一记录文件,且该第一记录文件的保存名称与对应的第一鱼类图像的保存名称相同;
步骤S5,重复步骤S3和步骤S4,直至全部第一鱼类图像均完成标注,并保存有对应的第一记录文件;
步骤S6,选择一张标注后的第一鱼类图像,并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像;第二鱼类图像的像素尺寸与水下环境图像的像素尺寸相同,且第二鱼类图像的标注内容和标注格式与第一鱼类图像的标注内容和标注格式相同;
步骤S7,重复步骤S6,直到全部第一鱼类图像均转换为对应的无背景的第二鱼类图像;
步骤S8,选择一张第二鱼类图像作为前景,选择一张水下环境图像为背景,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像,并在第二记录文件中记入第二鱼类图像的标注内容;该第二记录文件的保存名称与对应的第三鱼类图像的保存名称相同;
步骤S9,重复步骤S8,完成每张第二鱼类图像与全部水下环境图像的分别进行像素叠加,得到第三鱼类图像的数据集和对应的第二记录文件的数据集,完成鱼类识别的数据增广。
2.根据权利要求1所述的鱼类识别的数据增广方法,其特征在于,所述步骤S3中,逐一确定该第一鱼类图像中可识别的鱼类具体过程包括:
步骤S31,选择第一鱼类图像中任意一条鱼类;
步骤S32,若该鱼类没有与其他鱼类的存在图像重叠,观察该鱼类是否头、身、尾形态特征完整且清晰可见;若观察结果是完整,则确定为可识别并进行标注;
步骤S33,若该鱼类与其他鱼类的存在图像重叠,观察该鱼类与其他鱼类的重叠区域是否影响到该鱼类形态特征展示;若观察结果是形态特征相对完整且清晰可见,则确定为可识别并进行标注;
步骤S34,重复步骤S31至步骤S33,直至确定出第一鱼类图像中全部可识别的鱼类并进行标注。
3.根据权利要求1所述的鱼类识别的数据增广方法,其特征在于,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S61,选择一张标注后的第一鱼类图像,并进行灰度处理;
步骤S62,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域;
步骤S63,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外除该条鱼类图像外的背景,仅保留该可识别鱼类图像,得到第二鱼类图像;
步骤S64,重复步骤S62和步骤S63,对该张第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,得到对应的第二鱼类图像;
或者,所述步骤S6中,选择一张标注后的第一鱼类图像并进行灰度处理和图像分割处理,得到无背景的第二鱼类图像的具体过程包括:
步骤S65,选择一张标注后的第一鱼类图像,并进行灰度处理;
步骤S66,选择该经灰度处理后的第一鱼类图像上某一条可识别的鱼类所得在的{(x1,y1),(x2,y2)}区域;
步骤S67,采用阈值分割、二值化或分水岭分割方式对该{(x1,y1),(x2,y2)}区域进行图像分割,去除该{(x1,y1),(x2,y2)}区域内外附近除该条鱼类图像外的背景,仅保留该可识别鱼类图像;
步骤S68,重复步骤S66和步骤S67,对该第一鱼类图像上剩余的可识别鱼类的所在的区域进行图像分割处理,待该第一鱼类图像上全部的可识别鱼类的所在的区域均完成图像分离处理,仅保留全部可识别鱼类图像,该第一鱼类图像上整体转换为无背景的第二鱼类图像。
4.根据权利要求3所述的所述的鱼类识别的数据增广方法,其特征在于,所述步骤S8中,将该第二鱼类图像与水下环境图像进行像素叠加,生成第三鱼类图像的具体过程为:
第二鱼类图像的整体与水下环境图像的整体进行像素叠加,生成新的具有鱼类种类和位置信息的水下环境图像,该新的水下环境图像即为第三鱼类图像。
5.鱼类识别方法,其特征在于,所述方法包括以下步骤:
步骤SP1,采用权利要求1~4中任意一项所述的鱼类识别的数据增广方法,获得第三鱼类图像的数据集和对应的第二记录文件的数据集;
步骤SP2,将第三鱼类图像的数据集和对应的第二记录文件的数据集按照数据量比8∶2分为训练集和测试集,送入卷积神经网络进行鱼类识别模型训练,保留识别性能最高的鱼类识别模型,并将识别性能最高的鱼类识别模型作为最终鱼类识别模型;
步骤SP3,获取鱼道内实时画面,将画面帧输入最终鱼类识别模型中,自动进行鱼类标注。
6.鱼类识别方法,其特征在于,所述方法还包括以下步骤:
步骤SP4,对完成种类识别的鱼类进行鱼类尺寸识别、鱼类游速识别、鱼类游向识别和鱼类计数;
步骤SP5,将生成的鱼类数据存储到数据库中,该鱼类数据包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量。
8.根据权利要求7所述的鱼类识别方法,其特征在于,所述步骤SP4中,鱼类游速识别的具体过程为:
步骤SP43,在鱼道内实时画面中设置前侧边界和后侧边界,水流方向为由前侧边界流向后侧边界;
步骤SP44,获取同一条鱼类的最大外接矩形框中心点跨越前侧边界或者后侧边界时,两个画面帧下的最大外接矩形框中心点距离L;
步骤SP44,计算鱼类游速v=两点距离L/两帧时间T。
9.根据权利要求8所述的鱼类识别方法,其特征在于,所述步骤SP4中,鱼类游向识别和鱼类计数的具体过程为:
步骤SP45,以相邻两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及后侧边界线为分析线;
若同一条鱼类穿过后侧边界线和前侧边界线后,计数一次;
或者,步骤SP47,以两个画面帧中同一条鱼类的最大外接矩形框中心点连线以及前侧边界线为分析线;
若同一条鱼类穿过前侧边界线和后侧边界线后,计数一次。
10.实施权利要求5~9中任意一项所述的鱼类识别方法的鱼类识别系统,其特征在于,所述系统包括:
图像采集模块,该图像采集模块包括水下相机以及补偿光源,用于采集第一鱼类图像、水下环境图像以及实时画面图像;
训练数据增广模块,该训练数据增广模块接收图像采集模块采集到的鱼类数据、水下环境数据,进行数据增广操作;
交互与训练模块,该交互与训练模块用于数据增广期间,进行鱼类种类标注、鱼类识别模型的训练以及用于鱼类信息的展示;该鱼类信息包括鱼类种类、鱼类尺寸、鱼类游速、鱼类游向和鱼类数量;
数据存储模块,该数据存储模块用于数据存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192884.XA CN114663721A (zh) | 2022-03-01 | 2022-03-01 | 一种鱼类识别的数据增广方法以及鱼类识别方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192884.XA CN114663721A (zh) | 2022-03-01 | 2022-03-01 | 一种鱼类识别的数据增广方法以及鱼类识别方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114663721A true CN114663721A (zh) | 2022-06-24 |
Family
ID=82028406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192884.XA Pending CN114663721A (zh) | 2022-03-01 | 2022-03-01 | 一种鱼类识别的数据增广方法以及鱼类识别方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114663721A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100688A (zh) * | 2022-07-20 | 2022-09-23 | 水电水利规划设计总院有限公司 | 一种基于深度学习的鱼类资源快速识别方法和系统 |
-
2022
- 2022-03-01 CN CN202210192884.XA patent/CN114663721A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100688A (zh) * | 2022-07-20 | 2022-09-23 | 水电水利规划设计总院有限公司 | 一种基于深度学习的鱼类资源快速识别方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Parham et al. | An animal detection pipeline for identification | |
CN111784747B (zh) | 一种基于关键点检测和校正的车辆多目标跟踪系统及方法 | |
CN110163211B (zh) | 一种图像识别方法、装置和存储介质 | |
CN110691202A (zh) | 视频剪辑方法、装置及计算机存储介质 | |
CN112884782B (zh) | 生物对象分割方法、装置、计算机设备和存储介质 | |
CN110648331B (zh) | 用于医学图像分割的检测方法、医学图像分割方法及装置 | |
CN110263768A (zh) | 一种基于深度残差网络的人脸识别方法 | |
CN112712273B (zh) | 一种基于骨架相似度的手写体汉字美观度评判方法 | |
CN110838105A (zh) | 一种业务流程模型图像识别与再构方法 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
CN113643365B (zh) | 一种相机位姿估计方法、装置、设备以及可读存储介质 | |
CN113850136A (zh) | 基于yolov5与BCNN的车辆朝向识别方法及系统 | |
CN114565675A (zh) | 一种在视觉slam前端去除动态特征点的方法 | |
CN110503651A (zh) | 一种图像显著对象分割方法及装置 | |
CN112836653A (zh) | 人脸隐私化方法、设备、装置及计算机存储介质 | |
CN110766645B (zh) | 基于人物识别与分割的目标人物复现图生成方法 | |
CN114663721A (zh) | 一种鱼类识别的数据增广方法以及鱼类识别方法和系统 | |
CN116543386A (zh) | 一种基于卷积神经网络的农业病虫害图像识别方法 | |
CN115205520A (zh) | 胃镜图像智能目标检测方法、系统、电子设备及存储介质 | |
Ali et al. | Single image Façade segmentation and computational rephotography of House images using deep learning | |
CN116403004B (zh) | 一种基于牛脸矫正的牛脸融合特征提取方法 | |
CN112070181A (zh) | 一种基于图像流的协同检测方法及装置、存储介质 | |
CN111738264A (zh) | 一种机房设备显示面板数据的智能采集方法 | |
Wang et al. | Improving facade parsing with vision transformers and line integration | |
TWI464697B (zh) | 追蹤移動物件之裝置與方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |