CN117029673B - 一种基于人工智能实现的鱼类体表多尺寸测量方法 - Google Patents
一种基于人工智能实现的鱼类体表多尺寸测量方法 Download PDFInfo
- Publication number
- CN117029673B CN117029673B CN202310853436.4A CN202310853436A CN117029673B CN 117029673 B CN117029673 B CN 117029673B CN 202310853436 A CN202310853436 A CN 202310853436A CN 117029673 B CN117029673 B CN 117029673B
- Authority
- CN
- China
- Prior art keywords
- fish
- scale
- loss
- fish body
- layer
- 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.)
- Active
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 14
- 238000000691 measurement method Methods 0.000 title claims abstract description 11
- 241000251468 Actinopterygii Species 0.000 claims abstract description 152
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000013136 deep learning model Methods 0.000 claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 4
- 238000002372 labelling Methods 0.000 claims abstract description 3
- 238000001514 detection method Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 26
- 230000004927 fusion Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 claims description 10
- 238000011426 transformation method Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 241000252230 Ctenopharyngodon idella Species 0.000 description 24
- 238000005259 measurement Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000009360 aquaculture Methods 0.000 description 4
- 244000144974 aquaculture Species 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 241000252228 Ctenopharyngodon Species 0.000 description 3
- 238000009395 breeding Methods 0.000 description 3
- 230000001488 breeding effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241000252233 Cyprinus carpio Species 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000252210 Cyprinidae Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241000276707 Tilapia Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000005273 aeration Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 241001233037 catfish Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
- G01B11/022—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/52—Scale-space analysis, e.g. wavelet analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于人工智能实现的鱼类体表多尺寸测量方法,采集鱼类图片,鱼类图片背景中包括比例尺;对于鱼类图片进行标注,将鱼类图片和对应的标签作为一个样本,生成训练数据集和验证数据集;将训练数据集输入到深度学习模型,对深度学习模型进行训练;将待检测的样本输入训练好的深度学习模型,计算鱼体尺寸。本发明具有通用性,适用于多种鱼类大规模采样时,获取鱼体多方面尺寸的需求,具有高效、准确、减少人工误差的性质,最重要的是,大大降低了人工成本和作业量。
Description
技术领域
本发明属于生物信息学技术领域,具体涉及一种基于人工智能实现的鱼类体表多尺寸测量方法。
背景技术
在过去二十年间,全球水产养殖产量不断增加,其中鲶、鲤、罗非鱼、双壳贝类等主要种类占水产养殖产量的75%。但是水产养殖行业仍然面临着数字化程度低,智能化设施少,劳动力生产效率低等问题。在水产养殖过程中,水产生物的尺寸数据对于渔业研究人员来说是一项重要的基础信息,但是其测量往往需要花费大量的人力物力,且随着测量指标的增加而增加,效率较低,且易受影响。
人工智能技术在水产行业的发展为上述提到的问题开拓了解决的新思路。近几年来,随着摄像设备的发展和建设,得到的鱼类图像越来越丰富,为了获取详细的鱼类尺寸信息,国内外的相关学者基于计算机视觉技术在智能化鱼类尺寸测量做出了大量的研究。一部分研究思路是对拍摄图像进行预处理,提取轮廓,再通过算法获取到特征点,基于特征点计算像素点的距离。另一种思路是基于深度学习的方法检测出特定区域的位置,根据得到的边界框计算尺寸数据,再根据比例尺关系得到最终的尺度信息。以上的方法要么是适用范围小,易受环境干扰,要么就是测量的指标有限,只能获得鱼体长度和宽度两个方面的尺寸,无法满足更多的需求。另外这些方法可能还需要一些硬件设备的投入,且前人的工作中只给出了图像处理的方法,没有开发出可以直接使用的识别软件。
本发明实现了一种基于人工智能技术实现的鱼类体表多尺寸测量方法,对实现无接触、标准化、快速测量鱼类尺寸数据,大大减少人工作业量有重要意义。我们使用YOLOv5作为深度学习框架,根据人工标记的图像训练集的不同,能够灵活的改变识别物种、关键点个数和关键点位置,并且支持多种智能终端作为图像的采集上传设备,无需额外硬件设备的投入,也无需固定图像采集设备与目标鱼类之间的距离。该方法在实际大规模进行鱼类尺寸测量任务中具有实用性和可行性。我们还搭建了方便渔业人员使用的在线平台FishRuler,训练了草鱼识别模型,进行了草鱼的多尺寸测量测试,和人工测量数据相比具有很高的准确性。基于鱼类共同特征,对其他30余种鱼类也进行了测试。基于人工智能的鱼类尺寸测量工具的开发,解决了前人工作中无法对鱼类多个尺寸进行测量,且没有可以直接使用的识别软件的问题。
发明内容
本发明的目的在于针对现有技术存在的上述问题,提供一种基于人工智能实现的鱼类体表多尺寸测量方法。能够快速、准确的获取鱼类体表所需要的尺寸数据,且不需要额外的硬件设施投入,方便使用者的使用,减少成本的投入。
为了实现上述目的,本发明采用以下技术方案:
一种基于人工智能实现的鱼类体表多尺寸测量方法,包括以下步骤:
步骤S1、采集鱼类图片,鱼类图片背景中包括比例尺;
步骤S2、对于鱼类图片标注鱼体位置、鱼体关键点、比例尺位置、以及比例尺关键点,将鱼类图片和对应的标签作为一个样本,基于各个样本生成训练数据集和验证数据集;
步骤S3、使用步骤S2中制作好训练数据集输入到深度学习模型,深度学习模型输出包括鱼体位置、鱼体关键点、比例尺位置与比例尺关键点,构建损失函数lossX,对深度学习模型进行训练;
步骤S4、将待检测的样本输入训练好的深度学习模型,深度学习模型输出对应的鱼体位置、鱼体关键点、比例尺位置与比例尺关键点,计算鱼体尺寸。
如上所述步骤S2中,还包括通过几何变换方法和颜色空间变换方法对鱼类图片进行扩增,几何变换方法包括对鱼类图片进行旋转、缩放、裁剪以及镜像对称变换,颜色空间变换方法包括对鱼类图片进行对比度变化、亮度变化、饱和度变化、颜色空间转换、以及颜色扰动。
如上所述步骤S3中,深度学习模型包括主干网络、网络层、以及预测层,
主干网络中,将输入的被缩放的原始鱼类图片转化为多层特征图并输入到网络层,网络层将输入的多层特征图进行多尺度特征融合得到融合特征图并输入到预测层,预测层对检测目标位置和检测目标关键点进行获取并输出,检测目标包括鱼体和比例尺,检测目标关键点包括鱼体关键点和比例尺关键点。
如上所述主干网络中,使用CSPDarknet53轻量级网络结构,使用一个Stem模块替换CSPDarknet53轻量级网络结构中的Focus层。
如上所述网络层中,采用FPN特征金字塔结构与PAN结构,通过上采样和下采样将多层特征图进行多尺度特征融合,经过自顶向下和自下向上部分的特征融合后,得到融合特征图。
如上所述预测层中,检测目标位置的获取包括以下步骤:
多个不同步长的输出块将融合特征图分割成不同大小的网格结构,每个网格设置三个重叠交叉的不同长宽比的锚框,对每个锚框进行预测边界框回归计算,根据鱼类图片的标签信息对融合特征图上的每个锚框进行判断:判断锚框中是否有要检测目标,检测目标中心坐标与锚框中心坐标的偏差以及存在的要检测目标属于鱼体还是比例尺,并计算锚框包含检测目标的置信度,通过比较,得到包含检测目标置信度最大的锚框,作为检测目标的边界框,进而获得检测目标位置。
如上所述预测层中,检测目标关键点坐标的获取包括以下步骤:在预测层中添加关键点回归预测层,在训练前计算所有训练集数据中目标所在位置的中心点坐标与关键点坐标的距离关系,进行聚类计算,将要识别的鱼体关键点和鱼体位置关联,将要识别的比例尺关键点与比例尺位置关联,然后把聚类结果作为预测层的先验信息,从而在预测层获得检测目标的位置后,得到对应的预测关键点所在的位置。
如上所述损失函数lossX基于以下公式:,
其中,是关键点回归损失函数的加权因子,/>为目标检测损失函数,/>为关键点损失函数。
如上所述目标检测损失函数基于以下公式:,
其中,a1,b1,c1均为权重系数,为包围检测目标的边界框损失值,/>为边界框内检测目标所属类别概率的损失值,/>是边界框的置信度损失值。
与现有技术相比,本发明具有以下优点:
无需额外硬件设施的投入,成本低廉,检测的尺寸数据可灵活改变。我可以避免额外的硬件设施投入,在大规模进行鱼类采样时,只要拍摄背景单一,比例尺可自定义大小,采集图像的设备使用手机即可进行。对于采集到的鱼类图片,可以准确获取单张鱼类图像中的尺寸数据,或者实现对鱼类图片的批量处理,批量获取尺寸数据信息。根据训练数据集的检测目标关键点的不同,可以灵活改变鱼体上识别到的关键点,从而获得不同的体表尺寸信息。本发明可对任何品种的鱼类进行体表尺寸数据的测量。基于鱼类的共同特征,本发明选择了草鱼(鲤形目鲤科)作为深度学习模型的数据来源,并对其他鱼类图像也进行了收集和验证,均取得了很好的效果。由此证明,本发明具有很好的通用性。
附图说明
图1为本发明的总体实现流程图。
图2为本发明中使用的鱼类照片简笔图。
图3为本发明中训练数据集制作时标注鱼类关键点与比例尺关键点的位置示意图(比例尺以十字型为例)。
图4为本发明中识别结果的简笔示意图。
图5为本发明使用深度学习模型的网络架构图。
图6为本发明使用模型识别的方法和人工测量的方法对同一批草鱼数据测量的结果对比;(A)为手工测量草鱼体高与识别结果(y值)绘制的散点图,(B)为手工测量草鱼体长的结果(x值)与识别结果(y值)绘制的散点图,(C)为手工测量草鱼体全长的结果(x值)与识别结果(y值)绘制的散点图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
一种基于人工智能实现的鱼类体表多尺寸测量方法,包括以下步骤:
步骤S1. 搭建了鱼体尺寸测量实验数据采集平台,采集鱼类图片。采集平台的设备包括一个白炽灯,一个背景板、一个摄像头、一个比例尺等,比例尺作为参照物,可以直接画在背景板上,与鱼类一起进行拍摄,本实施例中比例尺被画在背景板上,形状为十字型。摄像头选择手机摄像头,对平放在背景板上的鱼类侧面进行俯视拍摄。为了模拟实际科研或养殖者在实际生产中采集鱼类图片的方式,手机摄像头与目标鱼体之间的距离不固定。另外,在野外环境下,可以不使用照明设备,拍摄人员可直接使用手机,在背景板上画上比例尺,然后进行拍摄。在实际人工操作下进行鱼类尺寸数据测量时,鱼类的姿态固定,无遮挡,所以在拍摄鱼类图片时,只考虑了背景和光照的变化,鱼类图片与实际测量时姿态相同,无弯曲和遮挡。
本实施例中,选择了草鱼(鲤形目鲤科草鱼属动物)作为深度学习模型的训练数据集。选用的草鱼繁殖后前三个月内养殖于中国科学院水生生物研究所官桥育种基地,在该育种基地随机捕获了约3000条草鱼养殖于室内鱼房的8个装有500L曝气水的圆柱形养殖池循环水系统中。其中有约350尾草鱼精细喂养,养在5个养殖池中,每天早晚以鱼体重的2%投喂饲料两次,其余草鱼养殖在三个养殖池中,早晚各投喂两次。之后,在室内环境下使用实验数据采集平台模拟了科研采样的现场共拍摄了2992张从四个月到六个月的生长时间不等的草鱼图片。
步骤S2. 为了获得足够的鱼类图片进行模型的训练,对获取的2992张鱼类图片进行了扩增。主要使用的扩增方法包括几何变换方法和颜色空间变换方法,以此来增加模型的精度,减少训练时间。
几何变换方法包括对鱼类图片进行旋转、缩放、裁剪以及镜像对称变换。颜色空间变换方法包括对鱼类图片进行对比度变化、亮度变化、饱和度变化、颜色空间转换、颜色扰动等。
对于扩增之后的鱼类图片,需要标注鱼体位置、鱼体关键点、比例尺位置、以及比例尺关键点。本发明使用了Labelme、LabelImg等常见的图像标注工具进行人工标注,获取了对应的鱼体位置、鱼体关键点、比例尺位置、以及比例尺关键点的坐标,
其中,鱼体位置为包围鱼体的边界框的左上角和右下角,
鱼体关键点位置包括9个鱼体关键点,9个鱼体关键点分别为鱼嘴下唇点k1、鱼鳃痕迹线离鱼嘴垂直距离最远点k2,鱼体最宽处两点k3、k4,鱼体尾柄最窄处两点k5、k6,鱼体侧面中轴线与鱼体鱼尾连接痕迹线的交叉点k7,以及鱼尾上下方点k8,k9。
比例尺位置同样为包围比例尺的边界框的左上角和右下角。
本案例中选择的十字型比例尺关键点包括上下左右四个型边缘点坐标p1,p2,p3,p4以及中央交叉点p5,一共5个点。标注之后获得的鱼体位置、鱼体关键点、比例尺位置、以及比例尺关键点的坐标作为对应鱼类图片的标签。将鱼类图片和对应的标签作为一个样本,基于各个样本生成训练数据集和验证数据集。
步骤S3. 使用步骤S2中制作好训练数据集输入到深度学习模型,在训练模型时需要设置模型迭代次数以及根据计算机的GPU硬件条件设置同时代入训练模型的实例个数Batchsize,根据测试与调整,本发明最终设置的训练迭代次数为300次,Batchsize大小为16。
本发明使用YOLOv5模型作为深度学习模型,对其进行修改和优化后,作为FishRuler网站的后端框架。在本发明中,深度学习模型包括主干网络(Backbone)、网络层(Neck)、以及预测层(Prediction Heads),输入的鱼类图片首先被调整尺寸大小至640640像素,然后经过主干网络(Backbone),利用一系列混合和组合图像特征的网络层(Neck),将图像特征传递到预测层(Prediction Heads),在预测层,对图像特征进行预测,得到鱼体位置、鱼体关键点的坐标、比例尺位置、以及比例尺关键点的坐标。
主干网络中,使用CSPDarknet53轻量级网络结构,将输入的被缩放至640640像素的原始鱼类图片转化为多层特征图。本发明使用一个Stem模块替换主干网络中的Focus层,并对SPP模块进行更新,原本的SPP模块的核函数在进行最大池化操作时的卷积核尺寸分别为(5/>5,9/>9,13/>13),步长和填充模式不变,本发明使用更小的卷积核尺寸(3/>3,55,7/>7),使深度学习模型更适合鱼类的检测,并提高了检测的精度。主干网络对输入的图像进行特征提取转化为多层特征图后,多层特征图在网络层进行融合并生成具有多尺度信息的融合特征图。
在网络层,采用FPN特征金字塔结构与PAN结构,通过上采样和下采样将多层特征图进行多尺度特征融合,经过自顶向下和自下向上部分的特征融合后,得到融合特征图,这些融合特征图在预测层进行目标检测。
在预测层(Prediction heads),对网络层输出的融合特征图进行多尺度目标检测。原本的网络结构中有P3,P4,P5三个输出块,分别对应8,16,32的步长。本发明额外添加了一个P6输出块,步长64,以提高图像中大目标的检测精度和定位。每个输出块对网络层输出的融合特征图进行分类和定位,输出检测目标的分类概率、置信度、关键点位置和鱼体位置。
检测目标位置的获取:检测目标包括鱼体和比例尺,检测目标位置包括鱼体位置和比例尺位置,由于检测目标大小不一,四个输出块根据设置的不同步长把网络层输出并进入预测层的融合特征图进行区域划分,根据四个输出块不同的步长把融合特征图分割成不同大小的网格,每个网格设置三个重叠交叉的不同长宽比的锚框,锚框可以提前定义其长宽比,也可以根据训练数据集中鱼类图片的标签信息得到要检测目标的长宽比,进行聚类计算后得到自适应锚框,然后对每个锚框进行预测边界框回归计算,即把预测信息转换为实际目标位置信息。预测层会根据学习到的鱼类图片的标签信息对融合特征图上的每个锚框进行判断,判断锚框中是否有要检测目标,检测目标中心坐标与锚框中心坐标的偏差以及存在的要检测目标属于鱼体还是比例尺,并计算锚框包含检测目标的置信度,通过比较,得到包含检测目标置信度最大的锚框,作为检测目标的边界框的位置和大小,即边界框左上角的坐标和右下角坐标作为对应的检测目标位置。在训练过程中令目标检测损失函数为, 其计算与检测目标的边界框,分类概率以及置信度有关。则:,
a1,b1,c1均为权重系数,本发明令a1= 0.3,b1=0.3,c1 = 0.4,
为包围检测目标的边界框损失值,使用广义交并比损失函数(GIoU loss)计算/>;
为边界框内检测目标所属类别概率的损失值,在本发明中为检测目标是鱼体还是比例尺的概率。
为所得到的边界框的置信度损失值,其损失值越小则置信度越大,置信度越大说明边界框越可信。分类损失/>和置信度/>使用二元交叉熵损失函数(BCE loss)来进行计算。
检测目标关键点坐标的获取:检测目标关键点包括鱼体关键点和比例尺关键点,为了实现检测目标关键点坐标的检测和定位,在预测层中添加了关键点回归预测层,来预测鱼体关键点和比例尺关键点,为了可以灵活改变识别的关键点个数,本发明使用一个可变数组来存储关键点坐标信息,然后使用机翼损失函数(Adaptive wing loss),作为关键点回归的损失函数,它的自适应属性可减少前景像素上的小误差,实现精确的关键点定位,同时容忍背景像素上的小误差,以实现更高的收敛速度。
关键点包括鱼体关键点以及比例尺关键点,其中机翼损失函数定义中和/>分别为第i个真实的关键点坐标和对应的预测的关键点坐标,我们定义真实的关键点向量,预测的关键点向量/>,其中i为关键点序号,则关键点损失函数/>为/>,
预测的关键点坐标向量与前一步获得的检测目标的边界框相关联,在训练前计算所有训练集数据中目标所在位置的中心点坐标与关键点坐标的距离关系,进行聚类计算,将要识别的鱼体关键点和鱼体位置关联,将要识别的比例尺关键点与比例尺位置关联,然后把聚类结果作为预测层的先验信息,从而在预测层获得检测目标的位置后,得到对应的预测关键点所在的位置,即得到/>。
此时,新的总损失函数lossX为:,
其中是关键点回归损失函数的加权因子,在本发明中我们使/>。
在训练数据集训练过程中,以损失函数lossX最小化为优化目标,当深度学习模型达到迭代次数时,深度学习模型训练阶段结束。
在预测层进行输出时,会输出检测到的鱼体位置以及与鱼体位置相关联的鱼体关键点坐标,还会输出比例尺位置以及与比例尺位置相关联的比例尺关键点坐标。这使得本发明能把很好的做到鱼类目标检测以及关键点检测,并能根据比例尺信息获得鱼类体表尺寸的真实数据,并且可以灵活的改变检测的关键点个数。
步骤S4.将待检测的样本输入训练好的深度学习模型,深度学习模型输出结果包括得到鱼体位置、鱼体关键点、比例尺位置与比例尺关键点。本发明把得到的坐标信息可视化后再进行输出,输出结果如图4所示。根据比例尺的实际长度与深度学习模型输出的比例尺关键点坐标像素长度(p1、p2、p3、p4分别与p5连线距离之和再除以二)进行计算,得到鱼类相片上每像素代表的实际长度,作为一种可实施方案,比例尺关键点p1、p2、p3、p4分别与p5连线距离之和再除以二获得像素线段长度,实际比例尺的两个正交直线的长度和的一半获得实际线段长度,对比像素线段长度和实际线段长度,获得鱼类相片上每像素代表的实际长度,进而实现鱼体尺寸的计算,鱼体尺寸包括鱼类头长(k1、k2连线距离)、体高(k3、k4连线距离)、尾柄宽(k5、k6连线距离)、体长(k1、k7连线距离)、体全长(k8、k9连线的中点与k1连线的距离)的五方面。
本发明基于Django Web框架搭建前端在线使用平台,使用Python编程语言进行实现,后端框架部署在DELL T3650图像工作站上。硬件设施DELL T3650配置如下:I7-11700(8核2.5G-4.9G),CPU内存 32G ,16G显存的NVIDIA RTX A4000显卡一块,1T机械硬盘,256G固态硬盘。网站前端是基于Bootstrap框架开发,能够根据用户显示器的分辨率提供动态的页面布局。数据的可视化通过highchart、amcharts、plotly等包实现,能够生成交互式的图片,提供友好的体验。数据下载服务基于Django静态文件系统实现。前端在线使用平台提供上传单张鱼类图片实时获取鱼类尺寸数据,还提供批量上传鱼类图片获取鱼体尺寸数据功能,方便用户使用,并提供深度学习模型的训练数据集的上传的功能。
实施例2:草鱼图像作为测试集的识别结果
2023年1月,在中国湖北省孝感市草鱼养殖基地购买了一万余尾一年零草鱼。在真实的草鱼采样场景下,采集了10248张草鱼图片(鱼类图片),其中1005张草鱼图片在拍摄前进行了人工测量草鱼尺寸,人工测量的草鱼尺寸数据包括体长、体全长和体高三项。照明设备为自然光照和普通白炽灯,使用的拍摄设备有华为手机,华为平板,华为笔记本电脑等。将草鱼图片输入到实施例1训练好的深度学习模型中。
经过测试,10248张草鱼图片经过处理后全部识别成功,识别率达到百分之百,单张草鱼图片识别时间在0.498±0.051s。模型识别结果包括头长、体长、体全长、体高和尾柄宽。人工测量的指标包括体高、体长、体全长,其记录结果与深度学习模型的输出的体高、体长、体全长进行回归分析。附图6展示了1005条草鱼人工测量与模型识别的结果对比。表1展示了草鱼体长、体全长、以及体高的MSE、MAE和R^2的值。三项测量指标的手工测量结果与识别结果的平均MSE为0.040,平均MAE为0.145,平均R^2为0.957。
表1 MSE, MAE, R^2的结果表
需要指出的是,本发明中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例作各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或超越所附权利要求书所定义的范围。
Claims (4)
1.一种基于人工智能实现的鱼类体表多尺寸测量方法,其特征在于,包括以下步骤:
步骤S1、采集鱼类图片,鱼类图片背景中包括比例尺;
步骤S2、对于鱼类图片标注鱼体位置、鱼体关键点、比例尺位置、以及比例尺关键点,将鱼类图片和对应的标签作为一个样本,基于各个样本生成训练数据集和验证数据集;
步骤S3、使用步骤S2中制作好训练数据集输入到深度学习模型,深度学习模型输出包括鱼体位置、鱼体关键点、比例尺位置与比例尺关键点,构建损失函数lossX,对深度学习模型进行训练;
步骤S4、将待检测的样本输入训练好的深度学习模型,深度学习模型输出对应的鱼体位置、鱼体关键点、比例尺位置与比例尺关键点,计算鱼体尺寸,
所述步骤S2中,还包括通过几何变换方法和颜色空间变换方法对鱼类图片进行扩增,几何变换方法包括对鱼类图片进行旋转、缩放、裁剪以及镜像对称变换,颜色空间变换方法包括对鱼类图片进行对比度变化、亮度变化、饱和度变化、颜色空间转换、以及颜色扰动,
所述步骤S3中,深度学习模型包括主干网络、网络层、以及预测层,主干网络中,将输入的被缩放的原始鱼类图片转化为多层特征图并输入到网络层,网络层将输入的多层特征图进行多尺度特征融合得到融合特征图并输入到预测层,预测层对检测目标位置和检测目标关键点进行获取并输出,检测目标包括鱼体和比例尺,检测目标关键点包括鱼体关键点和比例尺关键点,
所述预测层中,检测目标位置的获取包括以下步骤:
多个不同步长的输出块将融合特征图分割成不同大小的网格结构,每个网格设置三个重叠交叉的不同长宽比的锚框,对每个锚框进行预测边界框回归计算,根据鱼类图片的标签信息对融合特征图上的每个锚框进行判断:判断锚框中是否有要检测目标,检测目标中心坐标与锚框中心坐标的偏差以及存在的要检测目标属于鱼体还是比例尺,并计算锚框包含检测目标的置信度,通过比较,得到包含检测目标置信度最大的锚框,作为检测目标的边界框,进而获得检测目标位置,
所述预测层中,检测目标关键点坐标的获取包括以下步骤:在预测层中添加关键点回归预测层,在训练前计算所有训练集数据中目标所在位置的中心点坐标与关键点坐标的距离关系,进行聚类计算,将要识别的鱼体关键点和鱼体位置关联,将要识别的比例尺关键点与比例尺位置关联,然后把聚类结果作为预测层的先验信息,从而在预测层获得检测目标的位置后,得到对应的预测关键点所在的位置,
所述损失函数lossX基于以下公式:
lossX=lossO+λL*lossL
其中,λL是关键点回归损失函数的加权因子,lossO为目标检测损失函数,lossL为关键点损失函数。
2.根据权利要求1所述一种基于人工智能实现的鱼类体表多尺寸测量方法,其特征在于,所述主干网络中,使用CSPDarknet53轻量级网络结构,使用一个Stem模块替换CSPDarknet53轻量级网络结构中的Focus层。
3.根据权利要求1所述一种基于人工智能实现的鱼类体表多尺寸测量方法,其特征在于,所述网络层中,采用FPN特征金字塔结构与PAN结构,通过上采样和下采样将多层特征图进行多尺度特征融合,经过自顶向下和自下向上部分的特征融合后,得到融合特征图。
4.根据权利要求1所述一种基于人工智能实现的鱼类体表多尺寸测量方法,其特征在于,所述目标检测损失函数lossO基于以下公式:
lossO=a1*lossbounding_box+b1*lossclass+c1*lossprobability
其中,a1,b1,c1均为权重系数,lossbounding_box为包围检测目标的边界框损失值,lossclass为边界框内检测目标所属类别概率的损失值,lossprobability是边界框的置信度损失值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310853436.4A CN117029673B (zh) | 2023-07-12 | 2023-07-12 | 一种基于人工智能实现的鱼类体表多尺寸测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310853436.4A CN117029673B (zh) | 2023-07-12 | 2023-07-12 | 一种基于人工智能实现的鱼类体表多尺寸测量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117029673A CN117029673A (zh) | 2023-11-10 |
CN117029673B true CN117029673B (zh) | 2024-05-10 |
Family
ID=88638096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310853436.4A Active CN117029673B (zh) | 2023-07-12 | 2023-07-12 | 一种基于人工智能实现的鱼类体表多尺寸测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117029673B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117848221A (zh) * | 2024-03-04 | 2024-04-09 | 南通进宝机械制造有限公司 | 一种钢件长度测量系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111724355A (zh) * | 2020-06-01 | 2020-09-29 | 厦门大学 | 一种鲍鱼体型参数的图像测量方法 |
CN112016614A (zh) * | 2020-08-27 | 2020-12-01 | 北京理工大学 | 光学图像目标检测模型的构建方法、目标检测方法及装置 |
CN112450330A (zh) * | 2019-09-06 | 2021-03-09 | 中国科学院水生生物研究所 | 青藤碱在防治豆粕饲料引起的鱼类肠肝炎症中的应用 |
CN113591671A (zh) * | 2021-07-28 | 2021-11-02 | 常州大学 | 一种基于Mask-Rcnn识别鱼类生长检测方法 |
CN114066964A (zh) * | 2021-11-17 | 2022-02-18 | 江南大学 | 一种基于深度学习的水产实时尺寸检测方法 |
CN114580568A (zh) * | 2022-03-24 | 2022-06-03 | 华南理工大学 | 一种基于深度学习的鱼种类识别方法 |
CN114723965A (zh) * | 2022-06-10 | 2022-07-08 | 武汉古奥基因科技有限公司 | 一种鱼类关键点表型数据测量方法 |
WO2022170742A1 (zh) * | 2021-02-10 | 2022-08-18 | 北京优幕科技有限责任公司 | 目标检测方法、装置、电子设备和存储介质 |
CN115578423A (zh) * | 2022-08-31 | 2023-01-06 | 大愚科技(湖州)有限公司 | 基于深度学习的鱼类关键点检测、个体追踪和生物量估算方法及系统 |
CN116206334A (zh) * | 2023-02-08 | 2023-06-02 | 志成信科(北京)科技有限公司 | 一种野生动物识别方法和装置 |
CN116295022A (zh) * | 2022-09-19 | 2023-06-23 | 天津农学院 | 一种基于深度学习多参数融合的猪只体尺测量方法 |
CN116385826A (zh) * | 2023-03-27 | 2023-07-04 | 桂林电子科技大学 | 一种基于深度学习的中华绒螯蟹品系识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599922B2 (en) * | 2018-01-25 | 2020-03-24 | X Development Llc | Fish biomass, shape, and size determination |
KR20220165917A (ko) * | 2021-06-09 | 2022-12-16 | 인트플로우 주식회사 | 영상에 기반하여 동물 개체를 검출하는 장치 및 방법 |
-
2023
- 2023-07-12 CN CN202310853436.4A patent/CN117029673B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112450330A (zh) * | 2019-09-06 | 2021-03-09 | 中国科学院水生生物研究所 | 青藤碱在防治豆粕饲料引起的鱼类肠肝炎症中的应用 |
CN111724355A (zh) * | 2020-06-01 | 2020-09-29 | 厦门大学 | 一种鲍鱼体型参数的图像测量方法 |
CN112016614A (zh) * | 2020-08-27 | 2020-12-01 | 北京理工大学 | 光学图像目标检测模型的构建方法、目标检测方法及装置 |
WO2022170742A1 (zh) * | 2021-02-10 | 2022-08-18 | 北京优幕科技有限责任公司 | 目标检测方法、装置、电子设备和存储介质 |
CN113591671A (zh) * | 2021-07-28 | 2021-11-02 | 常州大学 | 一种基于Mask-Rcnn识别鱼类生长检测方法 |
CN114066964A (zh) * | 2021-11-17 | 2022-02-18 | 江南大学 | 一种基于深度学习的水产实时尺寸检测方法 |
CN114580568A (zh) * | 2022-03-24 | 2022-06-03 | 华南理工大学 | 一种基于深度学习的鱼种类识别方法 |
CN114723965A (zh) * | 2022-06-10 | 2022-07-08 | 武汉古奥基因科技有限公司 | 一种鱼类关键点表型数据测量方法 |
CN115578423A (zh) * | 2022-08-31 | 2023-01-06 | 大愚科技(湖州)有限公司 | 基于深度学习的鱼类关键点检测、个体追踪和生物量估算方法及系统 |
CN116295022A (zh) * | 2022-09-19 | 2023-06-23 | 天津农学院 | 一种基于深度学习多参数融合的猪只体尺测量方法 |
CN116206334A (zh) * | 2023-02-08 | 2023-06-02 | 志成信科(北京)科技有限公司 | 一种野生动物识别方法和装置 |
CN116385826A (zh) * | 2023-03-27 | 2023-07-04 | 桂林电子科技大学 | 一种基于深度学习的中华绒螯蟹品系识别方法 |
Non-Patent Citations (1)
Title |
---|
鲢和草鱼鳃部寄生单殖吸虫的种群分布和季节动态;姚卫建, 等;水生生物学报;20041120;第28卷(第06期);第93-96页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117029673A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Quan et al. | Maize seedling detection under different growth stages and complex field environments based on an improved Faster R–CNN | |
Saberioon et al. | Automated within tank fish mass estimation using infrared reflection system | |
CN113112504A (zh) | 一种植物点云数据分割方法及系统 | |
CN111696150A (zh) | 一种叉尾鮰鱼表型数据的测量方法 | |
CN117029673B (zh) | 一种基于人工智能实现的鱼类体表多尺寸测量方法 | |
CN110163798B (zh) | 渔场围网破损检测方法及系统 | |
CN112766155A (zh) | 一种基于深度学习的海水养殖区提取方法 | |
CN113435282A (zh) | 基于深度学习的无人机影像麦穗识别方法 | |
CN116295022A (zh) | 一种基于深度学习多参数融合的猪只体尺测量方法 | |
CN114898405B (zh) | 基于边缘计算的便携式肉鸡异常监测系统 | |
Fang et al. | Using channel and network layer pruning based on deep learning for real-time detection of ginger images | |
CN106886754B (zh) | 一种基于三角面片的三维场景下的物体识别方法及系统 | |
Yu et al. | Teat detection of dairy cows based on deep learning neural network FS-YOLOv4 model | |
Zheng et al. | Tomato recognition and localization method based on improved YOLOv5n-seg model and binocular stereo vision | |
He et al. | A calculation method of phenotypic traits of soybean pods based on image processing technology | |
CN113222889A (zh) | 高分辨率图像下水产养殖物的工厂化养殖计数方法及装置 | |
CN112966698A (zh) | 基于轻量化卷积网络的淡水鱼图像实时识别方法 | |
CN112418171A (zh) | 一种基于深度学习的斑马鱼空间姿态与心脏位置估计方法 | |
Liu et al. | Estimation of weight and body measurement model for pigs based on back point cloud data | |
CN113487728B (zh) | 一种鱼体模型确定方法及系统 | |
Yu et al. | An automatic detection and counting method for fish lateral line scales of underwater fish based on improved YOLOv5 | |
Deng et al. | An automatic body length estimating method for Micropterus salmoides using local water surface stereo vision | |
Hobbs et al. | Broad dataset and methods for counting and localization of on-ear corn kernels | |
Lin et al. | A Real-Time Counting Method of Fish based on the Instance Segmentation | |
Saeed et al. | 3D Annotation and deep learning for cotton plant part segmentation and architectural trait extraction |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |