一种基于实例分割算法的栏内哺乳动物清点方法与流程

文档序号:17732461发布日期:2019-05-22 02:56阅读:405来源:国知局
一种基于实例分割算法的栏内哺乳动物清点方法与流程

本发明涉及计算机视觉领域,具体涉及一种基于实例分割算法的栏内哺乳动物清点方法。



背景技术:

随着产业一体化的发展,规模化养殖厂持续增加,对养殖厂内哺乳动物数量进行实时、准确的清点成为大型养殖企业需要解决的重要问题之一。目前养殖厂内哺乳动物数量的清点主要采用人工清点方式,对数以千计的哺乳动物进行人工清点,是一个既耗时又耗力的过程,而且清点准确率低,需要不同次数的复查,人力成本很高,比采用设备统计的成本高出许多,因为设备属于一次性投入,人力成本属于持续性投入。2017年中国发明专利(cn206039601u)提出通过感应设备清点实验大小鼠的数量,通过动物传送管将动物等待盒和动物收纳盒连接,同时在传送管上安装红外感应器,将待计数的实验鼠转入等待盒中,驱赶实验鼠经传送管进入等待盒,实验鼠经红外感应器时会被感应到,感应信号传输到自动计数器进行计数。该方法设备复杂,动物难以控制无法实现实时清点且不适合体型较大哺乳动物使用。2018年中国发明专利(cn108509913a)采用图像处理方式对室内人群进行清点,通过在室内上方安装摄像头来获取图像,预处理后采用sobel算子对图像进行边缘检测,得到目标边缘轮廓,进行后续处理,完成目标轮廓检测,统计出目标数量。该方法处理图像步骤复杂,耗时长,实时性效果不佳,且该图像处理算法噪音较多,对图像的处理效果不佳,导致清点结果不够准确。2018年中国发明专利(cn10841625oa)提出基于卷积神经网络构建的图像特征提取子模型和ssd分类回归子模型的人数统计模型。该方法采用的模型复杂,实时性较差,只检测目标的边界框,导致相互遮挡的目标容易漏检。

综上,目前还没有一种简便实用的哺乳动物清点方法,能够准确检测出一个区域内动物,实时清点出养殖厂的动物数量。本发明正是基于这种现状,通过广角摄像头采集养殖厂内各栏哺乳动物的图像,通过实例分割技术,精确检测到图像中目标,并实时清点出目标数量。



技术实现要素:

本发明的目的在于提供一种基于实例分割算法的栏内哺乳动物清点方法;达到准确实时的基于实例分割栏内哺乳动物的目的。

一种基于实例分割算法的栏内哺乳动物清点方法,包含以下步骤:

步骤一:图像采集部分,通过摄像头将栏内哺乳动物的图像采集并发送到工作站中;

步骤二:图像预处理部分,选取目标轮廓清晰的图像,并将图像分为训练集、验证集和测试集,作为数据集用于模型训练;

步骤三:模型训练部分;通过深度学习的实例分割算法,生成用于测试的分割模型;

步骤四:模型测试部分;在测试阶段,将测试集图像依次输入训练生成的分割模型,进行预测,输出测试结果和测试效果图;在测试完成后,自动保存测试效果图,便于后期查验;

步骤五:目标清点部分;通过对测试结果中目标边界框进行计数,进而实现对图像中目标数量的清点,并在测试完成后,自动保存图像名称和相应的目标数量。

所述步骤一包含以下步骤:

步骤1.1:将广角摄像头安装在哺乳动物饲养栏上方,调整广角摄像头角度,使广角摄像头拍摄整个栏;

步骤1.2:利用工作站读取广角摄像头参数,远程控制广角摄像头采集图像,并将采集到的图像保存在工作站端。

所述步骤二包含以下步骤:

步骤2.1:选取目标轮廓清晰的图像,将图像按8:1:1的比例分为训练集、验证集和测试集;

步骤2.2:利用标注工具vggimageannotator(via)对训练集和验证集图像进行标注,按照图像中目标轮廓绘制闭合多边形,将多边形区域标注为哺乳动物名称;

步骤2.3:训练集中的图像标注完成后,生成标注文件via_region_data.json,将训练集中的图像与标注文件放置在train文件夹中,将验证集与相应的标注文件放置在val文件夹中,作为数据集用于模型训练。

所述步骤三包含以下步骤:

步骤3.1:首先,利用深度残差网络(resnet101)和特征金字塔网络(fpn)完成图像中目标的特征提取;resnet101网络自底向上分为stage1-stage5五个部分,分别输出尺寸为256*256,128*128,64*64,32*32,16*16的特征图,fpn网络自顶向下将相邻层特征依次相连,各层共同输入到rpn网络进行候选区域生成;

步骤3.2:利用区域候选网络(rpn)完成候选区域(proposal)的生成;rpn网络利用3*3大小的滑动窗口在各层特征图上滑动,以滑动窗口的中心位置为核心,在各层特征图上生成长宽比不同的矩形框(anchor);通过各层特征图与原图之间的映射关系,将anchor映射回原图;

步骤3.3:对anchor进行分类和回归;在原图上通过计算anchor和目标真实边界框的交并比(iou),iou大于0.7的区域被分为前景,相应的anchor作为proposal;对proposal进行边框回归,即寻找一种映射关系,将原始proposal(p)映射为预测边界框使之更接近目标的真实边界框(g):

对proposal先利用公式(2)与公式(3)做平移变换,再利用公式(4)与公式(5)做尺度缩放来完成映射:

步骤3.4:剔除越界边界框,对剩余边界框进行非极大值抑制,即将所有边界框的得分按降序排列,选取最高分和对应的边界框,未处理边界框中选择得分最高的边界框,计算和当前得分最高的边界框的iou,若iou大于给定阈值,将该边界框舍弃,然后遍历其余边界框;

步骤3.5:利用全卷积网络和全连接层对目标进行分割和分类。

本发明的有益效果在于:提供了一种高精度的养殖厂栏内哺乳动物实时清点方法。利用工作站远程控制广角摄像头采集图像,可以进行实时清点,同时避免了进入养殖厂内拍照对哺乳动物造成的应激反应。利用神经网络训练模型,避免了复杂的图像预处理步骤,深度残差网络和特征金字塔网络提取精确的目标特征,提高了目标的分割精度,利用全卷积网络进行目标分割,有效提高了遮挡目标的识别准确率,校准了目标边界框。利用测试结果中目标边界框数量进行目标清点,清点结果快速准确。

附图说明

图1为本发明的总体框图;

图2为本发明图像采集示意;

图3a为本发明标注后的图像的示意图;

图3b为本发明图像的标注数据示意图;

图4为本发特征提取网络输出的特征图;

图5a为本发明特征图映射回原图的anchor示意图;

图5b为本发明边框回归和非极大值抑制后的anchor示意图;

图6为本发明区域候选网络的输出结果示意图;

图7为本发明目标的分割结果示意图;

图8a为本发明图像测试结果示意图;

图8b为本发明目标边界框坐标示意图;

图8c为本发明分割出目标置信度示意图;

图9a为本发明图像的测试效果图示意图;

图9b为本发明测试完成后测试效果图;

图10a为本发明清点结果测试图;

图10b为本发明保存的图像名称和相应清点结果示意图;

图11为本发明图像采集示意图;

图12为本发明特征提取网络结构图;

图13为本发明边框回归示意图;

图14为本发明目标分割流程图。

具体实施方式

下面结合附图对本发明做进一步描述。

实施例1:

本发明的技术解决方案主要包括以下几个部分:

1)图像采集部分

图像采集部分完成养殖厂各栏内哺乳动物图像的保存工作。本发明中采用广角摄像头采集图像方式。广角摄像头采集方案中,摄像头设置在栏的上方,通过读取摄像头参数,工作站远程控制摄像头进行采集工作,采集到的图像保存于工作站中。

2)图像预处理部分

选取目标轮廓清晰的图像,将图像按8:1:1的比例分为训练集、验证集和测试集。利用标注工具vggimageannotator(via)对训练集和验证集图像进行标注,按照图像中目标轮廓绘制闭合多边形,将多边形区域标注为哺乳动物名称,例如“pig”,训练集中的图像标注完成后,生成标注文件via_region_data.json,将训练集中的图像与标注文件放置在train文件夹中,将验证集与相应的标注文件放置在val文件夹中,作为数据集用于模型训练。

3)模型训练部分

本发明采用基于深度学习的实例分割算法,通过训练,生成用于测试的分割模型。

首先,利用深度残差网络(resnet101)和特征金字塔网络(fpn)完成图像中目标的特征提取。

resnet101网络自底向上分为stage1-stage5五个部分,分别输出尺寸为256*256,128*128,64*64,32*32,16*16的特征图,fpn网络自顶向下将相邻层特征依次相连,各层共同输入到rpn网络进行候选区域生成。

其次,利用区域候选网络(rpn)完成候选区域(proposal)的生成。

第一步:rpn网络利用3*3大小的滑动窗口在各层特征图上滑动,以滑动窗口的中心位置为核心,在各层特征图上生成长宽比不同的矩形框(anchor)。通过各层特征图与原图之间的映射关系,将anchor映射回原图。

第二步:对anchor进行分类和回归。在原图上通过计算anchor和目标真实边界框(根据标注数据生成)的交并比(iou),iou大于0.7的区域被分为前景,相应的anchor作为proposal。对proposal进行边框回归,即寻找一种映射关系,将原始proposal(p)映射为预测边界框使之更接近目标的真实边界框(g):

对proposal先利用公式(2)(3)做平移变换,再利用公式(4)(5)做尺度缩放来完成映射:

第三步:剔除越界边界框,对剩余边界框进行非极大值抑制,即将所有边界框的得分按降序排列,选取最高分和对应的边界框,未处理边界框中选择得分最高的边界框,计算和当前(得分最高)边界框的iou,若iou大于给定阈值,将该边界框舍弃,按照上述过程遍历其余边界框。

最后,分别利用全卷积网络和全连接层对目标进行分割和分类。

4)模型测试部分

本发明在测试阶段,将测试集图像依次输入训练生成的分割模型,进行预测,输出测试结果和测试效果图。本发明在测试完成后,自动保存测试效果图,便于后期查验。

5)目标清点部分

本发明的测试结果中包括每个目标的边界框,通过对测试结果中目标边界框进行计数,进而实现对图像中目标数量的清点。本发明清点单张图片内目标的时间为0.2秒左右,实时性较好。本发明在测试完成后,自动保存图像名称和相应的目标数量,便于养殖厂进行统计。

实施例2:

图1为本发明的总体框图。本发明所做实验以生猪为例,从广角摄像头采集养殖厂各栏生猪图像开始,现场采集图像如图2所示;标注后的图像如图3a所示;图像的标注数据如图3b所示;特征提取网络输出的特征图如图4所示;由特征图映射回原图的anchor如图5a所示;经边框回归和非极大值抑制后的anchor如图5b所示,其中虚线框是原始边界框,实线框是回归后的边框;区域候选网络的输出结果如图6所示;目标的分割结果如图7所示,绿色轮廓为标注轮廓,红色轮廓为预测轮廓;图像测试结果如图8a所示;生成的目标边界框坐标如图8b所示;分割出目标置信度如图8c所示;图像的测试效果图如图9a所示,包括目标的置信度、边界框和mask区域;测试完成后测试效果图将保存在指定文件夹中,如图9b所示;清点结果如图10a所示;保存的图像名称和相应清点结果如图10b所示;图像采集示意图如图11所示;特征提取网络结构图如图12所示;边框回归示意图如图13所示;目标分割流程图如图14所示。

本发明利用广角摄像头采集养殖厂各栏内哺乳动物图像,选择目标轮廓清晰的图像制作数据集,通过实例分割算法进行训练,利用训练生成模型测试测试集中图像,输出测试结果和测试效果图,根据图像测试结果完成对图像中目标数量的清点。

第一步:将广角摄像头安装在哺乳动物饲养栏上方,调整广角摄像头角度,使广角摄像头可以拍摄整个栏。

第二步:利用工作站读取广角摄像头参数,远程控制广角摄像头采集图像,并将采集到的图像保存在工作站端。

第三步:对采集的图像进行处理。选取目标轮廓清晰的图像,将图像按8:1:1的比例分为训练集、验证集和测试集。利用标注工具via对训练集和测试集图像进行标注,按照图像中目标轮廓绘制闭合多边形,将多边形区域标注为哺乳动物名称,例如“pig”,训练集中的图像标注完成后,生成标注文件via_region_data.json,将训练集中的图像与标注文件放置在train文件夹中,将验证集与相应的标注文件放置在val文件夹中,作为数据集用于模型训练。

第四步:模型训练。首先,利用特征提取网络(resnet101+fpn)提取目标特征,其次,利用区域候选网络完成候选区域的生成,在各层特征图上生成长宽比不同的anchor,通过各层特征图与原图之间的映射关系,将anchor映射回原图。对anchor进行分类和回归,在原图上计算anchor和目标真实边界框的iou,iou大于0.7的区域被分为前景,相应的anchor作为proposal,对proposal进行边框回归,使预测边界框更接近真实边界框。剔除越界的边界框,对剩余边界框进行非极大值抑制。最后,分别利用全卷积网络和全连接层对目标进行分割和分类,生成目标的掩码区域并输出目标类别。训练生成模型文件,用于测试图像。

第五步:模型测试。将测试集图像依次输入训练生成的分割模型,进行预测,输出测试结果和测试效果图,测试结果包括图像名称,图像原始信息,分割出目标的置信度、边界框和掩码区域,测试效果图中显示分割出目标的置信度、边界框和掩码区域。

第六步:测试完成后,保存图像的测试效果图。

第七步:目标清点,图像测试时计算分割出目标的边界框,通过对测试结果中目标边界框进行计数,从而实现对图像中目标数量的清点。

第八步:清点完成后,保存测试图像名称和相应的清点结果,便于养殖厂进行统计。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1