CN115690546B - 虾长测量方法、装置、电子设备及存储介质 - Google Patents
虾长测量方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115690546B CN115690546B CN202211717420.2A CN202211717420A CN115690546B CN 115690546 B CN115690546 B CN 115690546B CN 202211717420 A CN202211717420 A CN 202211717420A CN 115690546 B CN115690546 B CN 115690546B
- Authority
- CN
- China
- Prior art keywords
- shrimp
- image
- length
- identified
- detection model
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A40/00—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
- Y02A40/80—Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in fisheries management
- Y02A40/81—Aquaculture, e.g. of fish
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供的虾长测量方法、装置、电子设备及存储介质,属于图像处理技术领域,虾长测量方法包括:获取待识别图像;将待识别图像输入至虾长检测模型,获取虾长检测模型输出的待识别图像中每只虾的虾长像素数据;虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;基于待识别图像,利用虾长像素数据确定待识别图像中每只虾的实际体长。本发明提供的虾长测量方法、装置、电子设备及存储介质,利用深度学习模型自动且快速准确地检测识别图像上每只虾的位置和体长,有效地节省时间和人力,为虾的生长状态的预估提供参考,并对后期的养殖策略提供数据基础。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及虾长测量方法、装置、电子设备及存储介质。
背景技术
在虾的养殖中,池塘养殖是一种高效且常用的方法,而虾体长度是饲养管理的关键指标。
传统的虾体长度是通过人工通过尺子进行测量的。
然而,这种方法主要依赖虾农的经验,劳动密集且非常耗时,得到的虾的长度也不准确。
发明内容
本发明提供的虾长测量方法、装置、电子设备及存储介质,用以解决现有技术中人工通过尺子测量虾长,导致劳动密集且非常耗时,得到的虾长数据也不准确的缺陷,实现对虾的体长的自动且快速准确地检测,有效地节省时间和人力。
本发明提供一种虾长测量方法,包括:
获取待识别图像;
将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;
基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
根据本发明提供的一种虾长测量方法,所述虾长检测模型是基于目标检测模型构建的,所述目标检测模型包括主干网络、特征金字塔网络和输出层;
所述主干网络,用于对所述待识别图像进行特征提取,确定多个层次的主干特征映射;
所述特征金字塔网络,用于对所述多个层次的主干特征映射进行采样和特征融合,生成所述待识别图像中每只虾的虾长像素数据和边界框;
所述输出层,用于对所述边界框进行去重处理,输出所述待识别图像中每只虾的虾长像素数据和位置信息。
根据本发明提供的一种虾长测量方法,在将所述待识别图像输入至虾长检测模型之前,还包括:
获取多个样本图像;
确定任一样本图像中每个样本虾的眼部位置和尾部位置;
根据所述每个样本虾的眼部位置和尾部位置,确定所述每个样本虾的标注框,所述每个样本虾的眼部位置和尾部位置分别位于同一标注框的对角;
根据所述每个样本虾的标注框,确定所述任一样本图像的虾长的像素数据标签和位置标签;
将所述任一样本图像,以及所述任一样本图像的位置标签和像素数据标签的组合作为一个训练样本,以获取多个训练样本;
将所有的训练样本按照预设比例进行划分,构建训练集和验证集;
利用所述训练集和所述验证集,对所述虾长检测模型进行训练。
根据本发明提供的一种虾长测量方法,在所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练之前,还包括:
步骤11,利用所述训练集对待训练的虾长检测模型进行预训练,获取虾长检测模型输出的预训练预测结果;
步骤12,根据所述预训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的预训练平均精度;
步骤13,迭代执行步骤11至步骤12,直至达到第一预设次数,且所述预训练平均精度收敛,以获取预训练的虾长检测模型。
根据本发明提供的一种虾长测量方法,所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练,包括:
步骤21,利用所述训练集对所述预训练的虾长检测模型进行再训练,获取虾长检测模型输出的再训练预测结果;
步骤22,根据所述再训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的再训练平均精度;
步骤23,迭代执行步骤21至步骤22,直至达到第二预设次数,且所述再训练平均精度收敛,以获取再训练的虾长检测模型;
步骤24,利用所述验证集对所述再训练的虾长检测模型进行验证,获取验证结果,在所述验证结果满足预设条件的情况下,确定所述虾长检测模型训练完成。
根据本发明提供的一种虾长测量方法,所述获取多个样本图像,还包括:
获取多个初始图像;
对所述多个初始图像进行图像增强,获取多个增强图像;
对各增强图像进行降噪处理,获取所述多个样本图像。
根据本发明提供的一种虾长测量方法,所述基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长,包括:
确定所述待识别图像中参照物的像素参照长度,并获取所述参照物的实际参照长度;
根据所述参照物的像素参照长度和所述实际参照长度,确定所述参照物的比例关系;
根据所述虾长像素数据,以及所述参照物的比例关系,确定所述待识别图像中每只虾的实际体长。
本发明还提供一种虾长测量装置,包括:
获取模块,用于获取待识别图像;
输入模块,用于将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;
确定模块,用于基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述虾长测量方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述虾长测量方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述虾长测量方法。
本发明提供的虾长测量方法、装置、电子设备及存储介质,利用深度学习模型自动且快速准确地检测识别图像上每只虾的位置和体长,有效地节省时间和人力,为虾的生长状态的预估提供参考,并对后期的养殖策略提供数据基础。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的虾长测量方法的流程示意图;
图2是本发明提供的虾长的结构示意图;
图3是本发明提供的标注框的位置示意图;
图4是本发明提供的虾长测量装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术存在的劳动密集且耗时,还不准确的缺陷,本发明提出了一种自动化在底部测量虾的体长的方法,使用人工拍摄的托盘中的大虾图像作为数据集,通过目标检测标注工具LabelImg,对虾的体长部分进行标注,通过YOLOv4-tiny模型进行训练。
下面结合图1至图5描述本发明的实施例所提供的虾长测量方法、装置、电子设备及存储介质。
本发明实施例提供的虾长测量方法,执行主体可以为电子设备或者电子设备中能够实现该虾长测量方法的软件或功能模块或功能实体,本发明实施例中电子设备包括但不限于具有边缘计算和图像处理能力的边缘盒子。需要说明的是,上述执行主体并不构成对本发明的限制。
图1是本发明提供的虾长测量方法的流程示意图,如图1所示,包括但不限于以下步骤:
首先,在步骤S1中,获取待识别图像。
待识别图像中包含待识别虾的图像信息以及参照物的图像信息。
待测的虾可以放置于装有水的浅托盘中,能够有效避免虾与虾之间的相互遮挡,参照物可以放置于托盘中,也可以是托盘。
相机对整个托盘进行拍摄,可以将拍摄的图像直接作为待识别图像,也可以对拍摄的图像进行降噪和尺寸归一化等预处理操作之后,作为待识别图像。
待识别图像采集时间可以选在光照较好的时间段,或是对图像采集设备进行补光。
进一步地,在步骤S2中,将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的。
将获取到的待识别图像输入至虾长检测模型,虾长检测模型对于待识别图像进行特征提取和定位,可以得到待识别图像中每只虾的虾长像素数据和位置信息并输出。
位置信息可以包括每只虾的边界框,以及边界框的4个顶点的坐标,虾长像素数据为预测的每只虾的体长在待识别图像中对应的像素长度。
可选地,所述虾长检测模型是基于目标检测模型构建的,所述目标检测模型包括主干网络、特征金字塔网络和输出层;
所述主干网络,用于对所述待识别图像进行特征提取,确定多个层次的主干特征映射;
所述特征金字塔网络,用于对所述多个层次的主干特征映射进行采样和特征融合,生成所述待识别图像中每只虾的虾长像素数据和边界框;
所述输出层,用于对所述边界框进行去重处理,输出所述待识别图像中每只虾的虾长像素数据和位置信息。
由于虾长检测模型可能会部署在边缘盒子中,而边缘盒子的嵌入式系统要求模型的体量较小,因此,目标检测模型可以是具有目标检测功能的轻量型神经网络模型,例如,YOLOv4-tiny网络,YOLOv4-tiny网络的重量轻且在性能方面表现良好,故采用YOLOv4-tiny网络构建虾长检测模型,以检测待识别图像中每只虾的虾长。其中,边缘盒子可以是部署在摄像头旁边的服务器,摄像头用于对装有虾的托盘进行拍摄,以获取待识别图像。
图2是本发明提供的虾长的结构示意图,如图2所示,从虾的头部一端到尾部的另一端的体长为全长,而从虾的眼部到尾部的长度为体长,本发明中的虾长像素数据可以是虾长检测模型对待识别图像中每只虾的体长的像素长度进行预测的输出结果。
主干网络可以为具有图像特征提取功能的卷积神经网络(Convolutional NeuralNetwork,CNN),例如,CSPDarkNet53。
具体地,在将待识别图像输入至虾长检测模型之后,主干网络CSPDarkNet53对待识别图像进行特征提取,得到多个层次的主干特征映射;主干网络CSPDarkNet53增强了卷积神经网络的学习能力,移除了计算瓶颈,降低了显存的使用,加快了网络的推理速度。
此外,还可以在主干网络的最后一层卷积前加入金字塔池化单元(SpatialPyramid Pooling,SPP),扩大网络的感受野,融合局部特征和全局特征。
特征金字塔网络(Feature Pyramid Networks,FPN)多个层次的主干特征映射进行采样和特征融合,FPN通过在特征图上面构建金字塔,可以更好的解决目标检测中尺度问题,而且增加了网络的深度,提升了网络的鲁棒性。其中,FPN的头部设有头部预测结构,能够对主干特征映射进行处理,输出一个类别预测和虾的边界框,类别预测为确定图像中的对象为虾,头部预测类别包括可测量类别和可见类别。
例如,FPN可以将深层特征图依次进行上采样,将其放大到和浅层特征图相同的尺寸后,再进行特征融合拼接,使FPN的预测特征层既包含位置细节信息也包含高级语义信息,加强网络的检测能力,提高检测精度。
非极大值抑制(Non-Maximum Suppression,NMS)算法应用于YOLOv4的输出层,可以以减少重复同一对象的边界框,例如,NMS阈值设置为0.6。
CSPDarkNet53生成的主干特征映射来自输入的待识别图像,FPN使用该主干特征映射实现高分辨率和语义丰富的图层CSPDarkNet53输出的地图。
根据本发明提供的虾长测量方法,利用轻量型的神经网络进行虾长识别模型的构建,从而能够将模型部署在边缘盒子中,实现对虾长的同步快速识别。
进一步地,在步骤S3中,基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
计算待识别图像中参照物的像素尺寸和实际尺寸之间的比值,可以得到待识别图像中物体的比例关系,再根据比例关系和虾长像素数据,可以得到待识别图像中每只虾的实际体长。
可选地,所述基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长,包括:
确定所述待识别图像中参照物的像素参照长度,并获取所述参照物的实际参照长度;
根据所述参照物的像素参照长度和所述实际参照长度,确定所述参照物的比例关系;
根据所述虾长像素数据,以及所述参照物的比例关系,确定所述待识别图像中每只虾的实际体长。
图像目标尺寸检测类,可以先定义一个比率来测量每个给定度量单位的像素数(Pixels Per Metric,PPM)。为了确定图像中物体的大小,需要使用一个参照物作为校准点。其中参照物应该有两个重要的属性:
(1)参照物的真实尺寸可以为在宽度或高度上的毫米或英寸等值的大小;
(2)能够在图像中找到这个参照物,要么基于参照物的位置,例如,参照物可以是一个图像中左上角的物体,要么基于参照物的外表,例如参照物可以是图像中具有独特的颜色或独一无二的形状,不同于所有其他的物体。在任何情况下,参照物都应该在图像中以某种方式进行唯一可识别。
例如,选用托盘作为待识别图像中的参照物,通过OpenCV图像处理操作,对摄像机获取的初始图像进行图像滤波增强,阈值二值化,形态化处理,得到待识别图像,利用图像查找元素,找到托盘在待识别图像中的范围,得到托盘在待识别图像中的像素长宽,作为像素参照长度。
其中,托盘的基础数据已知,小号规格,长×宽×高为30.0cm×20.7cm×3.7cm,内长×内宽为25.5cm×16.0cm,重量为287克。
对应地,可以通过以下方式可以得到待识别图像中每只虾的实际体长:
;
;
根据本发明提供的虾长测量方法,通过图像中参照物的比例关系,从而得出虾的实际体长,计算量小,可操作性强。
可以选择平均绝对误差(Mean Absolute Error,MAE),单位:mm,作为评估虾长检测模型的性能的指标,将计算得到的虾的实际体长与人工测量的测量体长进行对比,误差能够控制在10%以内。
本发明提供的虾长测量方法,利用深度学习模型自动且快速准确地检测识别图像上每只虾的位置和体长,有效地节省时间和人力,为虾的生长状态的预估提供参考,并对后期的养殖策略提供数据基础。
可选地,所述获取多个样本图像,还包括:
获取多个初始图像;
对所述多个初始图像进行图像增强,获取多个增强图像;
对各增强图像进行降噪处理,获取所述多个样本图像。
初始图像可以是摄像机对托盘进行图像采集后发送至边缘盒子的。
例如,在水产养殖中,通过人工将虾一批次放置到托盘中,对托盘以及托盘中的虾进行图像采集,总共采集到600张初始图像,随后对初始图像进行增强操作。还可以测量托盘中虾的实际身体长度。
图像增强操作包括旋转,饱和变化,曝光变化、色调变化和马赛克。
例如,旋转可以通过随机设置实现将旋转角度设置为介于顺时针60°和逆时针60°之间;饱和变化可以通过将每个图像的饱和度随机乘以每个通过1和1.5之间的数字成像实现调节;曝光变化可以通过将每个图像的通过将每个图像的曝光值乘以一个系数来实现,系数在1至1.5之间随机选取;色调变化可以通过随机添加0.9至1.1之间的数字实现调节,马赛克可以是将四个随机选择的图像组合成一个图像。
对所有的初始图像进行图像增强后,就可以得到多个增强图像,每个图像增强操作都随机应用于具有在用于对虾长检测模型的训练之前,图像增强的每个操作概率可以设置为0.5。
对增强图像进行滤波,得到降噪后的样本图像。若增强图像的大小尺寸不同,还可以对增强图像进行归一化处理。
根据本发明提供的虾长测量方法,通过将图像增强应用于样本图像,进而提高了YOLOv4-tiny的鲁棒性。
可选地,在所述将所述待识别图像输入至虾长检测模型之前,还包括:
获取多个样本图像;
确定任一样本图像中每个样本虾的眼部位置和尾部位置;
根据所述每个样本虾的眼部位置和尾部位置,确定所述每个样本虾的标注框,所述每个样本虾的眼部位置和尾部位置分别位于同一标注框的对角;
根据所述每个样本虾的标注框,确定所述任一样本图像的虾长的像素数据标签和位置标签;
将所述任一样本图像,以及所述任一样本图像的位置标签和像素数据标签的组合作为一个训练样本,以获取多个训练样本;
将所有的训练样本按照预设比例进行划分,构建训练集和验证集;
利用所述训练集和所述验证集,对所述虾长检测模型进行训练。
使用LabelImg工具包,对样本图像进行数据标注。
图3是本发明提供的标注框的位置示意图,如图3所示,在做数据标注的时候,通过矩形的标注框,将矩形框对角的位置,对齐虾的体长的二端,虾的眼部到尾部的像素长度为虾的像素数据标签。同理,可以在目标检测中,虾长检测模型可以通过边界框的坐标,使用勾股定理推出边界框对角线的像素长度,也就是虾的体长的像素长度。
位置标签可以包括标记框的4个顶点的坐标。
由于一个样本图像中可能会包括多只样本虾,因此,位置标签包括样本图像中每只虾的位置信息,像素数据标签包括样本图像中每只虾的体长的像素长度。
预设比例可以根据实际需求灵活设定,例如,训练集和验证集的数量之比可以设置为7:3。
具体地,对每个样本图像中每只样本虾划定标注框,同一样本虾的眼部位置和尾部位置分别位于同一标注框的对角位置;将同一样本图像中每只样本虾的标注框的对角线长度作为该样本图像的像素数据标签,各标注框作为;将每个样本图像,以及每个样本图像的位置标签和像素数据标签的组合作为一个训练样本,可以得到多个训练样本,所有的训练样本可以作为一个ImageNet数据集;将所有的训练样本按照7:3划分,构建训练集和验证集。
根据本发明提供的虾长测量方法,利用标注框的对角线实现对样本图像中目标的标记,进而得到每只虾的虾长,能够有效减少误差。
可选地,在所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练之前,还包括:
步骤11,利用所述训练集对待训练的虾长检测模型进行预训练,获取虾长检测模型输出的预训练预测结果;
步骤12,根据所述预训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的预训练平均精度;
步骤13,迭代执行步骤11至步骤12,直至达到第一预设次数,且所述预训练平均精度收敛,以获取预训练的虾长检测模型。
例如,将随机梯度下降(Stochastic Gradient Descent,SGD)算法作为优化器,初始学习率设置为0.002,动量设置为0.9,重量衰减为设置为0.0005,学习率实现了具有阶跃衰减的调度器,以改进正在训练的虾长检测模型的性能。
预训练预测结果为预训练过程中虾长检测模型输出的对样本图像中每只虾的像素长度预测和位置预测。
第一预设次数可以设置为300,将在训练集中随机选取16个批次,每个批次包含4个训练样本,利用这16个批次的训练样本对虾长检测模型进行300次迭代的预训练,以更新虾长检测模型的参数,在训练的过程中平均精度均值(Mean Average Precision,mAP)收敛,使用开源python环境和深度学习库Darknet虾长检测模型的训练结果。
其中,步骤调度器分别设置为100和200,以及相应的学习率衰减标度分别设置为0.5、0.2和0.1。对应地,学习率衰减标度为0.5,在迭代训练到100步的情况下,学习率衰减标度为0.2,在迭代训练到100步的情况下,学习率衰减标度为0.1。
其中,在训练过程中还可以增加回调函数,以此来达到训练过程中逐渐缩小学习率,提升模型性能的目的。
根据本发明提供的虾长测量方法,通过对虾长检测模型进行预训练,能够加快训练速度,使得模型收敛更快,同时使得虾长检测模型有更好的预测效果。
可选地,所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练,包括:
步骤21,利用所述训练集对所述预训练的虾长检测模型进行再训练,获取虾长检测模型输出的再训练预测结果;
步骤22,根据所述再训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的再训练平均精度;
步骤23,迭代执行步骤21至步骤22,直至达到第二预设次数,且所述再训练平均精度收敛,以获取再训练的虾长检测模型;
步骤24,利用所述验证集对所述再训练的虾长检测模型进行验证,获取验证结果,在所述验证结果满足预设条件的情况下,确定所述虾长检测模型训练完成。
利用16个批次对预训练的虾长检测模型进行再训练,以更新虾长检测模型的参数。初始学习率设置为0.002,动量设置为0.9,重量衰减为设置为0.0005,第二预设次数可以为200,步骤调度器分别设置为100和200,以及相应的学习率衰减标度分别设置为0.5、0.2和0.1,通过设置合适数值的学习率,使虾长检测模型在训练和验证过程中,其损失值不会收敛得过于缓慢,也不至于无法收敛。
再训练预测结果为再训练过程中虾长检测模型输出的对样本图像中每只虾的像素长度预测和位置预测。
经过200次迭代训练后,mAP收敛,则停止训练,若连续多次训练的mAP均高于97.88%,表明虾长检测模型已经学会识别虾体长的特征,得到再训练的虾长检测模型。
接着,可以利用验证集对再训练的虾长检测模型进行评估,从验证集中随机选取100个训练样本进行分析,其中,置信度的阈值0.5,检测的并集交点(Intersection overUnion,IoU)阈值设为0.5。
最终得到的虾长检测模型对这100个训练样本输出的预测像素长度与实际人工测量得到的虾长的像素数据标签做验证统计检验,对于检测到的虾,分类真阳性设置为0.5,即样本图像的边界框中预测为虾的概率为0.5。
在可测量类别中,YOLOv4 tiny实现了总体准确率为81.61%,总体召回率为91.64%,总体召回F1得分为86.34%,总体平均精度(Average Precision,AP)为93.24%。
根据本发明提供的虾长测量方法,通过使用预训练的虾长检测模型的模型参数,并利用训练集和验证集进行再训练和验证,使得虾长检测模型会有更好的泛化效果。
下面对本发明提供的虾长测量装置进行描述,下文描述的虾长测量装置与上文描述的虾长测量方法可相互对应参照。
图4是本发明提供的虾长测量装置的结构示意图,如图4所示,包括:
获取模块401,用于获取待识别图像;
输入模块402,用于将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;
确定模块403,用于基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
首先,获取模块401获取待识别图像。
待识别图像中包含待识别虾的图像信息以及参照物的图像信息。
待测的虾可以放置于装有水的浅托盘中,能够有效避免虾与虾之间的相互遮挡,参照物可以放置于托盘中,也可以是托盘。
相机对整个托盘进行拍摄,可以将拍摄的图像直接作为待识别图像,也可以对拍摄的图像进行降噪和尺寸归一化等预处理操作之后,作为待识别图像。
待识别图像采集时间可以选在光照较好的时间段,或是对图像采集设备进行补光。
进一步地,输入模块402将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的。
将获取到的待识别图像输入至虾长检测模型,虾长检测模型对于待识别图像进行特征提取和定位,可以得到待识别图像中每只虾的虾长像素数据和位置信息并输出。
位置信息可以包括每只虾的边界框,以及边界框的4个顶点的坐标,虾长像素数据为预测的每只虾的体长在待识别图像中对应的像素长度。
可选地,所述虾长检测模型是基于目标检测模型构建的,所述目标检测模型包括主干网络、特征金字塔网络和输出层;
所述主干网络,用于对所述待识别图像进行特征提取,确定多个层次的主干特征映射;
所述特征金字塔网络,用于对所述多个层次的主干特征映射进行采样和特征融合,生成所述待识别图像中每只虾的虾长像素数据和边界框;
所述输出层,用于对所述边界框进行去重处理,输出所述待识别图像中每只虾的虾长像素数据和位置信息。
由于虾长检测模型可能会部署在边缘盒子中,而边缘盒子的嵌入式系统要求模型的体量较小,因此,目标检测模型可以是具有目标检测功能的轻量型神经网络模型,例如,YOLOv4-tiny网络,YOLOv4-tiny网络的重量轻且在性能方面表现良好,故采用YOLOv4-tiny网络构建虾长检测模型,以检测待识别图像中每只虾的虾长。其中,边缘盒子可以是部署在摄像头旁边的服务器,摄像头用于对装有虾的托盘进行拍摄,以获取待识别图像。
如图2所示,从虾的头部一端到尾部的另一端的体长为全长,而从虾的眼部到尾部的长度为体长,本发明中的虾长像素数据可以是虾长检测模型对待识别图像中每只虾的体长的像素长度进行预测的输出结果。
主干网络可以为具有图像特征提取功能的CNN,例如,CSPDarkNet53。
具体地,在将待识别图像输入至虾长检测模型之后,主干网络CSPDarkNet53对待识别图像进行特征提取,得到多个层次的主干特征映射;主干网络CSPDarkNet53增强了卷积神经网络的学习能力,移除了计算瓶颈,降低了显存的使用,加快了网络的推理速度。
此外,还可以在主干网络的最后一层卷积前加入金字塔池化单元(SpatialPyramid Pooling,SPP),扩大网络的感受野,融合局部特征和全局特征。
特征金字塔网络(Feature Pyramid Networks,FPN)多个层次的主干特征映射进行采样和特征融合,FPN通过在特征图上面构建金字塔,可以更好的解决目标检测中尺度问题,而且增加了网络的深度,提升了网络的鲁棒性。其中,FPN的头部设有头部预测结构,能够对主干特征映射进行处理,输出一个类别预测和虾的边界框,类别预测为确定图像中的对象为虾,头部预测类别包括可测量类别和可见类别。
例如,FPN可以将深层特征图依次进行上采样,将其放大到和浅层特征图相同的尺寸后,再进行特征融合拼接,使FPN的预测特征层既包含位置细节信息也包含高级语义信息,加强网络的检测能力,提高检测精度。
非极大值抑制(Non-Maximum Suppression,NMS)算法应用于YOLOv4的输出层,可以以减少重复同一对象的边界框,例如,NMS阈值设置为0.6。
CSPDarkNet53生成的主干特征映射来自输入的待识别图像,FPN使用该主干特征映射实现高分辨率和语义丰富的图层CSPDarkNet53输出的地图。
根据本发明提供的虾长测量装置,利用轻量型的神经网络进行虾长识别模型的构建,从而能够将模型部署在边缘盒子中,实现对虾长的同步快速识别。
进一步地,确定模块403基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
计算待识别图像中参照物的像素尺寸和实际尺寸之间的比值,可以得到待识别图像中物体的比例关系,再根据比例关系和虾长像素数据,可以得到待识别图像中每只虾的实际体长。
可选地,确定模块403,具体用于:
确定所述待识别图像中参照物的像素参照长度,并获取所述参照物的实际参照长度;
根据所述参照物的像素参照长度和所述实际参照长度,确定所述参照物的比例关系;
根据所述虾长像素数据,以及所述参照物的比例关系,确定所述待识别图像中每只虾的实际体长。
图像目标尺寸检测类,可以先定义一个比率来测量每个给定度量单位的像素数(Pixels Per Metric,PPM)。为了确定图像中物体的大小,需要使用一个参照物作为校准点。其中参照物应该有两个重要的属性:
(1)参照物的真实尺寸可以为在宽度或高度上的毫米或英寸等值的大小;
(2)能够在图像中找到这个参照物,要么基于参照物的位置,例如,参照物可以是一个图像中左上角的物体,要么基于参照物的外表,例如参照物可以是图像中具有独特的颜色或独一无二的形状,不同于所有其他的物体。在任何情况下,参照物都应该在图像中以某种方式进行唯一可识别。
例如,选用托盘作为待识别图像中的参照物,通过OpenCV图像处理操作,对摄像机获取的初始图像进行图像滤波增强,阈值二值化,形态化处理,得到待识别图像,利用图像查找元素,找到托盘在待识别图像中的范围,得到托盘在待识别图像中的像素长宽,作为像素参照长度。
其中,托盘的基础数据已知,小号规格,长×宽×高为30.0cm×20.7cm×3.7cm,内长×内宽为25.5cm×16.0cm,重量为287克。
对应地,可以通过以下方式可以得到待识别图像中每只虾的实际体长:
;
;
根据本发明提供的虾长测量装置,通过图像中参照物的比例关系,从而得出虾的实际体长,计算量小,可操作性强。
可以选择平均绝对误差(Mean Absolute Error,MAE),单位:mm,作为评估虾长检测模型的性能的指标,将计算得到的虾的实际体长与人工测量的测量体长进行对比,误差能够控制在10%以内。
本发明提供的虾长测量装置,利用深度学习模型自动且快速准确地检测识别图像上每只虾的位置和体长,有效地节省时间和人力,为虾的生长状态的预估提供参考,并对后期的养殖策略提供数据基础。
图5是本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行虾长测量方法,该方法包括:获取待识别图像;将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的虾长测量方法,该方法包括:获取待识别图像;将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的虾长测量方法,该方法包括:获取待识别图像;将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种虾长测量方法,其特征在于,包括:
获取待识别图像;所述待识别图像中包含待识别虾的图像信息以及参照物的图像信息,所述待识别虾放置于装有水的浅托盘中;
将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;
基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长;
所述虾长检测模型是基于目标检测模型构建的,所述目标检测模型包括主干网络、特征金字塔网络和输出层;
所述主干网络,用于对所述待识别图像进行特征提取,确定多个层次的主干特征映射;
所述特征金字塔网络,用于对所述多个层次的主干特征映射进行采样和特征融合,生成所述待识别图像中每只虾的虾长像素数据和边界框;
所述输出层,用于对所述边界框进行去重处理,输出所述待识别图像中每只虾的虾长像素数据和位置信息;
所述边界框是根据每只虾的眼部和尾部的位置确定的;
所述每只虾的体长像素数据是基于所述每只虾的边界框的对角线确定的;
所述目标检测模型为YOLOv4-tiny模型;
所述基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长,包括:
确定所述待识别图像中参照物的像素参照长度,并获取所述参照物的实际参照长度;
根据所述参照物的像素参照长度和所述实际参照长度,确定所述参照物的比例关系;
根据所述虾长像素数据,以及所述参照物的比例关系,确定所述待识别图像中每只虾的实际体长。
2.根据权利要求1所述的虾长测量方法,其特征在于,在将所述待识别图像输入至虾长检测模型之前,还包括:
获取多个样本图像;
确定任一样本图像中每个样本虾的眼部位置和尾部位置;
根据所述每个样本虾的眼部位置和尾部位置,确定所述每个样本虾的标注框,所述每个样本虾的眼部位置和尾部位置分别位于同一标注框的对角;
根据所述每个样本虾的标注框,确定所述任一样本图像的虾长的像素数据标签和位置标签;
将所述任一样本图像,以及所述任一样本图像的位置标签和像素数据标签的组合作为一个训练样本,以获取多个训练样本;
将所有的训练样本按照预设比例进行划分,构建训练集和验证集;
利用所述训练集和所述验证集,对所述虾长检测模型进行训练。
3.根据权利要求2所述的虾长测量方法,其特征在于,在所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练之前,还包括:
步骤11,利用所述训练集对待训练的虾长检测模型进行预训练,获取虾长检测模型输出的预训练预测结果;
步骤12,根据所述预训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的预训练平均精度;
步骤13,迭代执行步骤11至步骤12,直至达到第一预设次数,且所述预训练平均精度收敛,以获取预训练的虾长检测模型。
4.根据权利要求3所述的虾长测量方法,其特征在于,所述利用所述训练集和所述验证集,对所述虾长检测模型进行训练,包括:
步骤21,利用所述训练集对所述预训练的虾长检测模型进行再训练,获取虾长检测模型输出的再训练预测结果;
步骤22,根据所述再训练预测结果,以及所述训练集中各训练样本的标注框和像素数据标签,确定所述训练集的再训练平均精度;
步骤23,迭代执行步骤21至步骤22,直至达到第二预设次数,且所述再训练平均精度收敛,以获取再训练的虾长检测模型;
步骤24,利用所述验证集对所述再训练的虾长检测模型进行验证,获取验证结果,在所述验证结果满足预设条件的情况下,确定所述虾长检测模型训练完成。
5.根据权利要求2-4任一项所述的虾长测量方法,其特征在于,所述获取多个样本图像,还包括:
获取多个初始图像;
对所述多个初始图像进行图像增强,获取多个增强图像;
对各增强图像进行降噪处理,获取所述多个样本图像。
6.一种虾长测量装置,其特征在于,包括:
获取模块,用于获取待识别图像;所述待识别图像中包含待识别虾的图像信息以及参照物的图像信息,所述待识别虾放置于装有水的浅托盘中;
输入模块,用于将所述待识别图像输入至虾长检测模型,获取所述虾长检测模型输出的所述待识别图像中每只虾的虾长像素数据;所述虾长检测模型是基于带有像素数据标签和位置标签的样本图像训练后得到的;
确定模块,用于基于所述待识别图像,利用所述虾长像素数据确定所述待识别图像中每只虾的实际体长;
所述虾长检测模型是基于目标检测模型构建的,所述目标检测模型包括主干网络、特征金字塔网络和输出层;
所述主干网络,用于对所述待识别图像进行特征提取,确定多个层次的主干特征映射;
所述特征金字塔网络,用于对所述多个层次的主干特征映射进行采样和特征融合,生成所述待识别图像中每只虾的虾长像素数据和边界框;
所述输出层,用于对所述边界框进行去重处理,输出所述待识别图像中每只虾的虾长像素数据和位置信息;
所述边界框是根据每只虾的眼部和尾部的位置确定的;
所述每只虾的体长像素数据是基于所述每只虾的边界框的对角线确定的;
所述目标检测模型为YOLOv4-tiny模型;
所述确定模块,具体用于:
确定所述待识别图像中参照物的像素参照长度,并获取所述参照物的实际参照长度;
根据所述参照物的像素参照长度和所述实际参照长度,确定所述参照物的比例关系;
根据所述虾长像素数据,以及所述参照物的比例关系,确定所述待识别图像中每只虾的实际体长。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5任一项所述虾长测量方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述虾长测量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211717420.2A CN115690546B (zh) | 2022-12-30 | 2022-12-30 | 虾长测量方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211717420.2A CN115690546B (zh) | 2022-12-30 | 2022-12-30 | 虾长测量方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115690546A CN115690546A (zh) | 2023-02-03 |
CN115690546B true CN115690546B (zh) | 2023-05-05 |
Family
ID=85057145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211717420.2A Active CN115690546B (zh) | 2022-12-30 | 2022-12-30 | 虾长测量方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115690546B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116423054A (zh) * | 2023-03-09 | 2023-07-14 | 中铁九桥工程有限公司 | 一种u肋板焊接方法及焊接系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154105A (zh) * | 2017-12-21 | 2018-06-12 | 深圳先进技术研究院 | 水下生物检测与识别方法、装置、服务器及终端设备 |
CN112784748A (zh) * | 2021-01-22 | 2021-05-11 | 大连海事大学 | 一种基于改进的YOLOv3的微藻识别方法 |
CN114596584A (zh) * | 2022-03-08 | 2022-06-07 | 福建工程学院 | 海洋生物智能检测识别方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2021101766A4 (en) * | 2021-04-06 | 2021-05-20 | Agarwal, Parul DR | Cartoonify Image Detection Using Machine Learning |
CN113706579A (zh) * | 2021-08-09 | 2021-11-26 | 华北理工大学 | 一种基于工厂化养殖的对虾多目标跟踪系统及方法 |
CN114049577A (zh) * | 2021-11-17 | 2022-02-15 | 中国水利水电科学研究院 | 一种鱼类规格的测量方法及系统 |
-
2022
- 2022-12-30 CN CN202211717420.2A patent/CN115690546B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154105A (zh) * | 2017-12-21 | 2018-06-12 | 深圳先进技术研究院 | 水下生物检测与识别方法、装置、服务器及终端设备 |
CN112784748A (zh) * | 2021-01-22 | 2021-05-11 | 大连海事大学 | 一种基于改进的YOLOv3的微藻识别方法 |
CN114596584A (zh) * | 2022-03-08 | 2022-06-07 | 福建工程学院 | 海洋生物智能检测识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115690546A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921057B (zh) | 基于卷积神经网络的对虾形态测量方法、介质、终端设备及装置 | |
CN108197670B (zh) | 伪标签生成模型训练方法、装置及伪标签生成方法及装置 | |
CN108898047B (zh) | 基于分块遮挡感知的行人检测方法及系统 | |
WO2019047949A1 (zh) | 图像质量评估方法及图像质量评估系统 | |
CN107871316B (zh) | 基于深度神经网络的x光片手骨兴趣区域自动提取方法 | |
CN109871829B (zh) | 一种基于深度学习的检测模型训练方法和装置 | |
CN109903282B (zh) | 一种细胞计数方法、系统、装置和存储介质 | |
CN109242826B (zh) | 基于目标检测的移动设备端签状物根数计数方法及系统 | |
CN107862235B (zh) | 二维码的位置定位方法、装置及终端设备 | |
CN110163798B (zh) | 渔场围网破损检测方法及系统 | |
CN112634202A (zh) | 一种基于YOLOv3-Lite的混养鱼群行为检测的方法、装置及系统 | |
CN111127396B (zh) | 鱼类重量测算方法及装置 | |
CN109272546B (zh) | 一种鱼苗长度测量方法及系统 | |
CN115690546B (zh) | 虾长测量方法、装置、电子设备及存储介质 | |
CN112862757A (zh) | 一种基于计算机视觉技术的重量评估系统及实现方法 | |
CN109559342B (zh) | 动物体长的测量方法和装置 | |
CN111597937B (zh) | 鱼姿势识别方法、装置、设备及存储介质 | |
CN111862040B (zh) | 人像图片质量评价方法、装置、设备及存储介质 | |
CN111563439B (zh) | 一种水产生物病害检测方法、装置及设备 | |
CN112651468A (zh) | 一种多尺度轻量化图像分类方法及其存储介质 | |
CN113065525A (zh) | 年龄识别模型训练方法、人脸年龄识别方法及相关装置 | |
CN115546622A (zh) | 鱼群检测方法及系统、电子设备和存储介质 | |
CN115170548A (zh) | 基于无监督学习的皮革缺陷自动检测方法及装置 | |
CN116778482B (zh) | 胚胎图像卵裂球目标检测方法、计算机设备及存储介质 | |
CN117392382A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |