掌桥专利:专业的专利平台
掌桥专利
首页

一种猪只重识别方法及系统

文献发布时间:2023-06-19 18:37:28


一种猪只重识别方法及系统

技术领域

本发明涉及图像识别技术领域,尤其涉及一种猪只重识别方法及系统。

背景技术

生猪养殖行业中,对猪只个体做区分编号是记录猪只数据库表项的基础,例如称量猪只体重的记录,记录猪只疫苗接种情况等,都是基于猪只个体已经做好区分的前提下进行的。传统的猪只个体区分方法主要依靠人工巡视,检查比对猪只栏圈、脸部、生活习性、体表体征等以区分不同个体。此方法效率低下,并且十分消磨工作人员的意志与精力。对于长年累月生活在小型养殖场(40头左右规模)的工作人员来说,区分不同猪只个体的任务并不困难,然而对于大型养殖场,仅依靠人工记录区分不同个体,并且以之作为依据开展诸如称重、接种疫苗、配种等其他工作将会是一项繁琐且庞大的工作。该项人力成本占据了生产成本的很大部分,并且随着养殖规模的增大,该项人力成本亦将随之增加。神经网络深度学习等人工智能技术应用于行人重识别领域已取得极大成功,在业界首次命中率最高已达到99%,并且重识别框架已足够成熟,足以投入工农业生产。所谓行人重识别(Person Re-identification)指的是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,被广泛认为是一个图像检索的子问题。行人重识别可以实现在给定一个监控行人图像的条件下跨设备检索该行人图像。它旨在弥补目前固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。应用于野生动物或家畜的重识别(Re-identification)基于已有的行人重识别框架而产生,可实现依据拍摄到图像或者视频序列中的野生动物或家畜的体表特征来确定其个体编号的功能,方兴未艾,有望实现科技反哺工农业发展的美好愿景。

本申请人发现现有技术当中至少存在以下技术问题:

在生猪养殖行业中,采用人工辨识的方法确定猪只编号,不仅导致了猪只识别效率低下,还增加了从业人员的工作负担与风险,人力成本较高。

发明内容

本发明的目的在于提供一种猪只重识别方法及系统,以解决如何提高养殖作业过程中确定猪只个体编号效率、减轻人员劳动强度的技术问题。

本发明的目的是采用以下技术方案实现的:一种猪只重识别方法,包括如下步骤:

S1:图像获取,从图片拍摄接口获取图片或图片序列;

S2:目标检测,利用目标检测模型对猪只个体进行检测,并截取感兴趣区域;

S3:特征提取,通过特征提取网络对截取区域进行特征提取,得到特征信息;

S4:度量学习,计算特征信息与底库中所有个体之间的特征距离,并根据特征距离计算相似度;

S5:测试评估,根据相似度对候选个体进行排序,选择相似度最高的个体最为结果输出。

进一步的,所述目标检测模型包括YOLO系列目标检测模型和Fast RCNN目标检测模型,通过目标检测模型对猪只个体进行检测获得猪只个体的锚框,并对锚框进行截取。

进一步的,所述特征提取网络包括ResNet和CNN,通过特征提取网络对截取区域进行特征提取的策略包括只进行全局特征提取、只进行局部特征提取和全局特征提取与局部特征提取相结合。

进一步的,所述全局特征提取包括如下包括:

输入图片;

卷积网络层;

输出全局特征图谱;

池化层;

输出特征向量;

全连接层;

输出分类结果。

进一步的,所述局部特征提取包括如下步骤:

输入图片;

依据分块策略分块;

每个子块均输入卷积网络;

每个子块均输出特征图谱;

特征融合;

输出特征向量;

全连接层;

输出分类结果。

进一步的,所述分块策略包括水平切块、依据姿态信息切块、语义分割和网格切块。

进一步的,对于追求识别速度的场合,采用全局特征提取的方法;对于追求精确度而算力有限的场合,采用局部特征提取的方法;对于姿态丰富、遮挡严重以及应用序列重识别的场合,采用全局特征提取与局部特征提取相结合的方法。

进一步的,所述计算特征信息与底库中所有个体之间的特征距离的方法包括欧几里得距离计算方法和余弦距离计算方法,根据特征距离得到损失值。

进一步的,采用优化器迭代寻找损失值中的最小值。

一种猪只重识别系统,包括图像获取模块、目标检测模块、特征提取模块、度量学习模块以及测试评估模块,其中,所述图像获取模块用以从图片拍摄接口获取图片或图片序列;所述目标检测模块用以利用目标检测模型对猪只个体进行检测,并截取感兴趣区域;所述特征提取模块用以通过特征提取网络对截取区域进行特征提取,得到特征信息;所述度量学习模块用以计算特征信息与底库中所有个体之间的特征距离,并根据特征距离计算相似度;所述测试评估模块用以根据相似度对候选个体进行排序,选择相似度最高的个体最为结果输出。

本发明的有益效果在于:本发明相较于传统的人工辨识,效率提高了多个量级,极大减轻了从业人员的工作负担与风险大幅度降低了人力成本,间接提高了其他养殖作业工作的效率,省去了用于反复核对猪只个体的时间与生产力,本发明是一种低成本、高效率、广适应性、高鲁棒性于一体的科学化规模化猪只重识别方案;依托于计算机视觉与深度学习等计算机科学领域的快速发展,本发明为现代化、科学化的猪只养殖提供了有力保障,在真正意义上实现了养殖学、食品工程与计算机科学等多学科的交叉融合,以新兴技术领域为传统工农业赋能,同时,本方法在现代化养殖产业中具有较高的技术优势和市场价值,适合于生产中的实际应用与技术上的进一步推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明流程图;

图2为全局特征提取流程图;

图3为局部特征提取流程图;

图4为度量学习流程图;

图5为本发明系统框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

本发明的目的是:为提高养殖作业过程中确定猪只个体编号的效率,减轻人员劳动强度,同时用于辅助其他高精确度个体区分技术,如在猪脸识别、猪只体表二维码识别失效时提供替代技术,本发明基于计算机视觉技术、神经网络与深度学习方法、目标检测技术、重识别技术、图像检索技术等实现了全自动标识猪只个体编号,以达到区分不同个体的功能,为其他重要的生产作业过程,如称重、接种疫苗的开展等提供了基础。

为了达到上述目的,本发明提供了以下实施例,下面结合附图,对本发明的一些实施方式作详细说明,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

实施例1:

参阅图1,一种猪只重识别方法,包括如下步骤:

S1:图像获取,从图片拍摄接口获取图片或图片序列;

S2:目标检测,利用目标检测模型对猪只个体进行检测,并截取感兴趣区域;

S3:特征提取,通过特征提取网络对截取区域进行特征提取,得到特征信息;

S4:度量学习,计算特征信息与底库中所有个体之间的特征距离,并根据特征距离计算相似度;

S5:测试评估,根据相似度对候选个体进行排序,选择相似度最高的个体最为结果输出。

在本实施例当中,所述目标检测模型包括YOLO系列目标检测模型(如YOLOv5、YOLOv3)和Fast RCNN目标检测模型,通过目标检测模型对猪只个体进行检测获得猪只个体的锚框(含有猪只个体的图片区域),并且将此部分利用例如YOLO系列的save crop功能的ROI截取功能截取ROI对锚框进行截取,并且保留以供后续步骤使用。

在本实施例当中,在特征提取阶段,将根据已有的自有数据集训练特征提取网络,所述特征提取网络(骨干网络)包括ResNet和CNN,通过特征提取网络对截取区域进行特征提取的策略包括只进行全局特征提取、只进行局部特征提取和全局特征提取与局部特征提取相结合。进一步的,对于追求识别速度的场合,采用全局特征提取的方法;对于追求精确度而算力有限的场合,采用局部特征提取的方法;对于姿态丰富、遮挡严重以及应用序列重识别的场合,采用全局特征提取与局部特征提取相结合的方法,用户可根据实际的软硬件状况与实际需求选择。其中,所述分块策略包括水平切块、依据姿态信息切块、语义分割和网格切块。

具体的,水平切块是指,将图像进行水平方向的等分,每一个水平切块通过水平池化提取一个特征,运用了水平切块的常见算法有Gate Siamese、AlignedReID、PCB、ICNN、SCPNet等等。以AlignedReID为例说明其过程,AlignedReID对切块的对齐方面采取了动态连接 (Dynamic Time Warping) 的策略,计算局部特征的特征距离时会进行归一化处理,归一化公式为

依据姿态信息切块可以借助猪只骨架关键点检测模型(PigPose)进行关键点检测,再依据关键点将图像切分成具有语义的不同部分,随后进行特征提取,具体分块的数量与多少可以根据实际的软硬件计算可承载量情况取舍,下面将以头部,前肢,躯干,后肢,臀部五个部分为例,说明基于姿态信息切块的特征提取的运作过程。

猪只姿态关键点识别(PigPose)是一种基于开源算法人体姿态检测(OpenPose)开发的自底向上的猪只2D姿态无参数表示方法。它将猪全身分为22个关键点,其位置分别位于猪左耳、猪右耳、猪鼻子最前端、猪左前肢肩胛骨中心位置、猪左前肢尺骨与臂骨的交接点、猪左前肢腕与臂交接处、猪左前肢系的中心处、猪右前肢肩胛骨中心处、猪右前肢尺骨与臂骨的交接点、猪右前肢腕与臂交接处、猪右前肢系的中心处、猪左后肢髋骨与股骨连接处的位置、猪左后肢股骨与胫骨的交界点、猪左后肢腓骨与跌骨连接处、猪左后肢系的中心位置、猪右后肢髋骨与股骨连接处的位置、猪右后肢股骨与胫骨的交界点、猪右后肢腓骨与跌骨连接处位置、猪右后肢系的中心位置、猪背、腰处中点处、猪下腹中点处。

仿照Spindle Net结构实现专用于猪只重识别特征提取的Pig Spindle Net,经由姿态信息关键点估计模型预测得到22个关键点后,根据关键点信息分为五个部分,头部、前肢、躯干、后肢、臀部。先进行特征提取(feature extraction)的过程如下:首先提取身体与四肢的特征提取,随后对身体进行拆分,提取头部、躯干、臀部的特征,然后对四肢区分为左前肢、右前肢、左后肢、右后肢四个部分提取特征,最终得到7个特征。后进行特征融合(feature fusion)的过程如下:首先将躯干特征与前、后肢特征融合,随后依次融合头部、臀部特征,最后与原始的全局特征融合得到最终特征。整个过程呈现三层特征提取,得到5个局部特征,三层特征融合得到最终的特征图(feature map),特征提取与特征融合呈现对称特点,保证了该网络的精准性。

利用语义分割的局部特征提取可以通过图像蒙版技术(image matting)实现。利用已经训练好的针对猪只身体轮廓识别的语义分割模型(骨架网络为HarDNet,使用两千余张猪只照片作为数据集,使用Labelme作为标注工具)对图片中待重识别的猪只个体进行图像蒙版处理。其中语义分割模型的分割风格分为粗粒度分割和细粒度分割:粗粒度分割即只讲猪只整体轮廓作为蒙版将猪只语义区域抠像处理;细粒度分割即借助猪只关键点检测模型预测出当前图片中存在的关键点,依据关键点将猪只身体分为不同部分,以五个部分为例,可分为头部、前肢、躯干、后肢、臀部五个部分,依次将语义分割得到的图像蒙版中对应部分提取局部特征。语义分割的结果除了可以作为图像蒙版中的遮罩(mask)参与到局部特征提取中,还可以作为特征图中注意力(attention)与原图相乘以达成提取特征的目的。

网格切块的过程类似于水平切块,同样是基于骨干网络,对图像做分块处理,分为若干网格,对每个一个网格提取局部特征,一般来说依据语义分割进行局部特征提取的方法和网格切块进行局部特征提取的方法并不常用。

进一步的,以ResNet50作为特征提取网络,全局特征提取包括如下包括(参阅图2):

输入图片;

卷积网络层;

输出全局特征图谱;

池化层;

输出特征向量;

全连接层;

输出分类结果。

进一步的,以ResNet50作为特征提取网络,所述局部特征提取包括如下步骤(参阅图3):

输入图片;

依据分块策略分块;

每个子块均输入卷积网络;

每个子块均输出特征图谱;

特征融合;

输出特征向量;

全连接层;

输出分类结果。

值得注意的是,在训练过程中,需要将提取到的特征向量经过全连接层的处理转化为分类结果,以便于下一阶段中计算损失值并进行参数调优。

在本实施例当中,度量学习阶段,以Siamese Net为例,参阅图4,其中,计算特征信息与底库中所有个体之间的特征距离的方法包括欧几里得距离计算方法和余弦距离计算方法,根据特征距离得到损失值,其中,欧几里得距离的计算公式为

常用的损失值表示有Softmax、对比损失(Contrastive loss)、三元组损失(Triplet loss)、改进三元组损失(Improved triplet loss)、四元组损失(Quadrupletloss),其中对比损失的定义式为

在本实施例当中,采用优化器迭代寻找损失值中的最小值,通过不断更新网络的参数达到学习的效果。度量学习的目的是通过训练和学习,减小或限制属于同一猪只个体的图片之间的特征距离,同时增大属于不同猪只个体的图片之间的特征距离。当调整网络参数得到近似收敛的损失值时,此时产生的权重即为目标模型的权重。

在本实施例当中,测试评估阶段,在对模型进行训练时,只需要进行前三个部分的步骤。进行测试评估的基础思路如下。首先使用目标检测和特征提取过程的方法对待测试的图片(称为query或者probe)进行锚框并提取特征。在底库(gallery)中已经预先保存了所有猪只个体的特征信息与身份信息的对应关系。利用度量学习过程的方法计算出待测试的图片与所有猪只个体的特征距离,依据一定规则将特征距离转换为相似度。随后对于相似度从高到低进行排序,选出排序最靠前的若干个猪只个体,并认为待测试的图片最有可能属于这些猪只个体之一。若最高相似度仍低于一定的阈值,则认为待测试图片中的猪只个体不存在于底库中,需要将其特征信息与身份信息存入底库中。

为了提升预测速度,有以下可行的改进思路。在算力有限的条件下,可以只进行全局特征提取的步骤,略去局部特征提取的步骤,而后进行度量和相似度排序时也只使用全局特征进行计算,但可能对精度产生一定的影响。同时,可以使用聚类的方式缩小检索的范围,即将底库中已存在的猪只个体根据特征信息分为若干类,在检索时先确定待测试的图片属于哪一类,再在将待测试的图片在该类中进行度量和相似度排序。此种方法需要事先消耗一定的算力进行聚类,但实时性好,能够尽快找到符合要求的个体。

参阅图5,基于同一发明构思,本发明提出了一种猪只重识别系统,以实现上述猪只重识别方法,该系统包括图像获取模块、目标检测模块、特征提取模块、度量学习模块以及测试评估模块,其中,所述图像获取模块用以从图片拍摄接口获取图片或图片序列;所述目标检测模块用以利用目标检测模型对猪只个体进行检测,并截取感兴趣区域;所述特征提取模块用以通过特征提取网络对截取区域进行特征提取,得到特征信息;所述度量学习模块用以计算特征信息与底库中所有个体之间的特征距离,并根据特征距离计算相似度;所述测试评估模块用以根据相似度对候选个体进行排序,选择相似度最高的个体最为结果输出。

本发明至少具备以下技术效果:本发明相较于传统的人工辨识,效率提高了多个量级,极大减轻了从业人员的工作负担与风险大幅度降低了人力成本,间接提高了其他养殖作业工作的效率,省去了用于反复核对猪只个体的时间与生产力,本发明是一种低成本、高效率、广适应性、高鲁棒性于一体的科学化规模化猪只重识别方案;依托于计算机视觉与深度学习等计算机科学领域的快速发展,本发明为现代化、科学化的猪只养殖提供了有力保障,在真正意义上实现了养殖学、食品工程与计算机科学等多学科的交叉融合,以新兴技术领域为传统工农业赋能,同时,本方法在现代化养殖产业中具有较高的技术优势和市场价值,适合于生产中的实际应用与技术上的进一步推广。

需要说明的是,对于前述的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例属于优选实施例,所涉及的动作并不一定是本申请所必须的。

上述实施例中,描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

技术分类

06120115631861