CN111178197A - 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 - Google Patents
基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 Download PDFInfo
- Publication number
- CN111178197A CN111178197A CN201911320756.3A CN201911320756A CN111178197A CN 111178197 A CN111178197 A CN 111178197A CN 201911320756 A CN201911320756 A CN 201911320756A CN 111178197 A CN111178197 A CN 111178197A
- Authority
- CN
- China
- Prior art keywords
- rois
- mask
- pig
- network
- nms
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/49—Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供的基于Mask R‑CNN和Soft‑NMS融合的群养粘连猪实例分割方法,包括建立群养粘连猪视频和图像数据集;构建基于Mask R‑CNN的分割网络,包括基础骨干网络、RPN网络和三分支网络;通过基础骨干网络对图像数据集进行多尺度特征的提取,得到特征映射;基于特征映射,RPN生成感兴趣区域RoIs,并对RoIs进行目标分类以及回归,利用Soft‑NMS去除冗余的检测框,获取最好的目标RoIs;对每个目标RoIs进行双线性插值操作,将每个RoIs处理为相同大小;利用三分支网络实现对相同大小的RoIs进行检测、分类和分割操作。本发明提供的群养粘连猪实例分割方法,针对猪只重叠、粘连及其他复杂环境导致目标猪只漏检问题,在基本的Mask R‑CNN框架上采用Soft‑NMS算法代替传统的NMS算法,能有效降低粘连猪的漏检率。
Description
技术领域
本发明涉及农业计算机视觉的猪实例分割技术领域,更具体的,涉及一种基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法。
背景技术
猪肉是人们日常生活中常见的肉类之一。近年来,在生猪规模化养殖过程中,提升猪肉产量,将人工智能、图像识别与处理技术用于生猪养殖与管理,实现对生猪进行各类指标的自动测量。同时,对生猪的生长和健康情况进行自动监控,将大大减少养殖成本,实现更加高效信息化的生猪自动养殖。在群养生猪自然场景下,实现粘连猪自动实例分割对生猪高效科学规模化养殖具有重要的意义。
在群养猪检测、分类与分割方面,目前主要采用传统的机器学习方法和深度卷积神经网络。公开号CN104252709B公开一种复杂背景下俯视群养猪多目标前景检测方法,利用预测机制的混合高斯模型前景检测算法获取前景目标。公开号CN105654141A公开了基于Isomap和SVM算法的俯视群养猪个体识别方法,利用Isomap算法做颜色、纹理和形状特征融合,然后采用优化核函数的支持向量机进行猪个体训练与识别。公开号CN107437068A公开了基于Gabor方向直方图和猪体毛发模式的猪个体识别方法。近年来,基于深度学习的猪检测与分割方法相继被公开。公开号CN 110309786A公开了一种用于深度视频的哺乳母猪姿态转换识别方法,采用3DMaskR-CNN对母猪进行检测、跟踪及姿态识别。公开号CN110532854A公开了一种生猪爬跨行为检测方法及系统,利用Mask R-CNN网络对生猪的RoI参数和Mask坐标提取多维特征,实现爬跨行为结果识别。但目前基于深度卷积神经网络群养猪中关于粘连猪分割研究极少,而群养生猪的准确分割和检测是猪行为识别和跟踪的重要研究基础。
发明内容
本发明为克服现有技术中,存在缺乏对粘连猪分割研究的技术缺陷,提供一种基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法。
为解决上述技术问题,本发明的技术方案如下:
基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,包括以下步骤:
S1:建立自然场景下的群养粘连猪视频和图像数据集;
S2:构建基于Mask R-CNN的分割网络,包括基础骨干网络、区域生成网络(RegionProposal Network,RPN)和三分支网络;
S3:通过基础骨干网络对图像数据集进行多尺度特征的提取,得到对应不同尺寸的特征映射;
S4:基于特征映射,RPN生成感兴趣区域RoIs,并对RoIs进行目标分类以及回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S5:采用RoIAlign网络对每个RoIs进行双线性插值操作,将每个RoIs处理为相同大小;
S6:利用三分支网络对相同大小的RoIs进行检测、分类和分割操作,实现对群养粘连猪实例的分割。
其中,所述步骤S1具体为:
S11:采集自然场景下的猪场数据,包括俯视和正面视频与图像数据,所述的图像数据包括猪体光照不均、严重遮挡和重叠三种情况下的数据;
S12:在视频与图像数据中选择群养猪站立姿态中的每个猪个体,采用Labelme软件进行实例分割标注,得到标注数据集;
S13:根据标注数据集,构建训练集、验证集和测试集;
S14:对训练集中的图像进行亮度调节、水平翻转、垂直翻转和对比度增强四种操作扩充数据集。
其中,所述步骤S2具体为:
S21:利用残差网络ResNet101和多尺度特征网络FPN,构建基础骨干网络,用于图像尺度特征的提取;
S22:构建基于区域建议RPN网络,用于RoIs的分类与回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S23:构建三分支网络,用于RoIs的检测、分类和分割操作。
其中,在所述步骤S3,基础骨干网络对图像数据集进行多尺度特征的提取的过程中,ResNet101网络包括5个不同阶段,得到对应数据集图像的不同尺度特征映射[C1,C2,C3,C4,C5];将特征映射[C1,C2,C3,C4,C5]输入多尺度特征网络FPN中,得到新的特征映射[P2,P3,P4,P5]。
其中,所述步骤S4包括以下步骤:
S41:基于特征映射,RPN生成感兴趣区域RoIs;
S42:RPN网络利用3*3滤波器对特征映射[P2,P3,P4,P5]实现一次卷积操作,然后连接两次1x1全连接操作,分别实现RoIs的分类和回归操作,具体为:
分类:在RPN网络中,采用二分类算法将RoIs分为前景和背景两部分,其分类的损失函数为:
LRPN_class=-(ytrue*log(ypre)+(1-ytrue)*log(1-ypre)
其中,ytrue表示样本标签,取值为0或1;ypre表示预测为正例的概率;
回归:在RPN网络中,采用平滑L1范式SmoothL1计算RoIs的回归损失,用以度量预测值和真实值的距离,具体函数为:
其中,参数δ用来控制平滑的区域,默认为1,在此为1/9,Tpred表示网络预测的掩膜,Tgt表示标注的掩膜。
S43:利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs。
其中,所述步骤S43具体包括以下步骤:
S431:输入N个边框B={b1,Λ,bn},B是检测边框的集合;S={s1,Λ,sn}是每个边框的得分,Nt是交并比阈值;输出为D集合,包括若干个带有分类得分的最终检测边框;
S432:将D集合设置为空集合,当B集合不为空时,重复以下步骤:
S4321:将集合S中最大值的下标赋值给m,同时将{bm,sm}数据放入D集合,将bm从B集合中移除;对B集合中每个元素bi,重复以下操作:
S4322:令si←sif(IoU(bm,bi)),构成新的得分集合S;其中,函数f(IoU(bm,bi))为基于高斯罚函数加权函数,具体为:
其中,σ是常量,一般取值为0.5;IoU为bm和bi的交叠率。
其中,所述步骤S5具体为:遍历每一个候选区域RoI,保持浮点数边界不做量化;将候选区域分割成K×K个单元,每个单元的边界也不做量化;在每个单元中计算固定四个坐标位置,用双线性内插的方法计算出这四个位置的值,然后进行最大池化操作。ROIAlign的反向传播公式为:
其中,xi代表池化前特征图上的像素点;yrj代表池化后的第r个RoI的第j个点;i*(r,j)代表一个浮点数的坐标位置(前向传播时计算出来的采样点),d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值。
其中,所述步骤S6具体为:在三分支网络中对于每个相同大小的RoIs,采用三种不同全连接网络实现检测、分类和分割操作,三分支网络的联合训练函数为:
Ltotal=Lcls+Lbox+Lmask
其中,Lcls是分类损失函数,Lbox是边框检测损失函数,Lmask是分割掩码损失;其中,分类损失函数Lcls为所有类别的交叉熵损失,具体表达式为:
其中,Xlabel代表预测类别的得分值,label表示类别索引,N表示所有类别;其中,边框检测损失函数Lbox采用平滑L1范式,具体表达式为:
分割掩码损失Lmask采用对应类别的掩码类损失,具体表达式为:
上述方案中,对Mask R-CNN的分割网络进行参数设置,包括将网络输出类别数从81更改为2;将RPN部分的预设锚点宽长比设为[0.5,1.2],锚点框大小从[32,64,128,256,512]修改为[32,64,128,256,384];模型的初始学习率设置为0.001,学习率衰减因子为0.1,每迭代1千次更新一次学习率,最大迭代次数设置为5万次,每迭代5000次保存一次模型;模型在读取训练图像时将尺寸统一缩放至1024×800。
上述方案中,在RoIs产生和边框检测操作中,采用Soft-NMS代替传统的NMS操作。传统NMS是对象检测算法中必备的后处理步骤,目的是用来去除统一对象的重复框,降低误检率;但NMS直接将和得分最大的box的IoU大于某个阈值的box的得分置零,在群养猪环境下,存在猪与猪粘连严重,传统NMS操作容易导致粘连猪的漏检。设计Soft-NMS,用稍低一点的分数代替原有的分数,而不是直接置零,能够避免粘连猪的漏检,提高召回率(recall)。
上述方案中,将已训练好的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割模型进行群养猪个体的准确实例分割。将测试阶段RPN在非极大抑制前保留的正样本框上限从1000修改为300,在非极大抑制后的正样本框上限从1000修改为300,不但不会对试验结果造成影响,而且能加快测试速度;在读取测试图像时,模型同样会把图像的尺寸统一缩放至1024×800。
上述方案中,根据验证集从训练好的模型中选取最佳的模型进行测试。在测试阶段,将Soft-NMS代替NMS进行重叠框的选择,因此Mask R-CNN融合Mask R-CNN不会增加额外的测试时间,同时能防止粘连猪的漏检。
与现有技术相比,本发明技术方案的有益效果是:
本发明提供的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,针对猪只重叠、粘连及其他复杂环境导致目标猪只漏检和错检问题,在基本的Mask R-CNN框架上采用Soft-NMS算法代替传统的算法,有效地降低了粘连猪的漏检率;同时,分别从正拍和俯拍两种不同角度,利用基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割模型对猪群图像进行猪实例分割,实现对图像进行漏检与误检结果的统计分析。
附图说明
图1为本发明所述方法的流程示意图;
图2为自然场景下的群养粘连猪视频结构示意图;
图3为基于Mask R-CNN的猪实例分割网络示意图;
图4为基于残差网络融合多尺度特征网络层FPN的基础骨干网络;
图5为Mask R-CNN猪对象检测模型建立过程示意图;
图6为群养猪对象数据集目录结构图;
图7为Mask R-CNN实例分割模型的精确率和召回率曲线图;
图8为群养猪实例分割结果图;
图9为基于Mask R-CNN模型对俯拍粘连猪的漏检情况示意图;
图10左边的是基本Mask R-CNN的群养猪实例分割结果图,右边的是Mask R-CNN融合Soft-NMS方法的结果图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,包括以下步骤:
S1:建立自然场景下的群养粘连猪视频和图像数据集;
S2:构建基于Mask R-CNN的分割网络,包括基础骨干网络、区域生成网络(RegionProposal Network,RPN)和三分支网络;
S3:通过基础骨干网络对图像数据集进行多尺度特征的提取,得到对应不同尺寸的特征映射;
S4:基于特征映射,RPN生成感兴趣区域RoIs,并对RoIs进行目标分类以及回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S5:采用RoIAlign网络对每个RoIs进行双线性插值操作,将每个RoIs处理为相同大小;
S6:利用三分支网络对相同大小的RoIs进行检测、分类和分割操作,实现对群养粘连猪实例的分割。
其中,所述步骤S1具体为:
S11:采集自然场景下的猪场数据,包括俯视和正面视频与图像数据,所述的图像数据包括猪体光照不均、严重遮挡和重叠三种情况下的数据;
S12:在视频与图像数据中选择群养猪站立姿态中的每个猪个体,采用Labelme软件进行实例分割标注,得到标注数据集;
S13:根据标注数据集,构建训练集、验证集和测试集;
S14:对训练集中的图像进行亮度调节、水平翻转、垂直翻转和对比度增强四种操作扩充数据集。
更具体的,所述步骤S2具体为:
S21:利用残差网络ResNet101和多尺度特征网络FPN,构建基础骨干网络,用于图像尺度特征的提取;
S22:构建基于区域建议RPN网络,用于RoIs的分类与回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S23:构建三分支网络,用于RoIs的检测、分类和分割操作。
更具体的,在所述步骤S3,基础骨干网络对数据集进行图像尺度特征的提取的过程中,ResNet101网络包括5个不同阶段,得到对应数据集图像的不同尺度特征映射[C1,C2,C3,C4,C5];将特征映射[C1,C2,C3,C4,C5]输入多尺度特征网络FPN中,得到新的特征映射[P2,P3,P4,P5]。
其中,所述步骤S4包括以下步骤:
S41:基于特征映射,RPN生成感兴趣区域RoIs;
S42:RPN网络利用3*3滤波器对特征映射[P2,P3,P4,P5]实现一次卷积操作,然后连接两次1x1全连接操作,分别实现RoIs的分类和回归操作,具体为:
分类:在RPN网络中,采用二分类算法将RoIs分为前景和背景两部分,其分类的损失函数为:
LRPN_class=-(ytrue*log(ypre)+(1-ytrue)*log(1-ypre)
其中,ytrue表示样本标签,取值为0或1;ypre表示预测为正例的概率;
回归:在RPN网络中,采用平滑L1范式SmoothL1计算RoIs的回归损失,用以度量预测值和真实值的距离,具体函数为:
其中,参数δ用来控制平滑的区域,默认为1,在此为1/9,Tpred表示网络预测的掩膜,Tgt表示标注的掩膜。
S43:利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs。
所述步骤S43具体包括以下步骤:
S431:输入N个边框B={b1,Λ,bn},B是检测边框的集合;S={s1,Λ,sn}是每个边框的得分,Nt是交并比阈值;输出为D集合,包括若干个带有分类得分的最终检测边框;
S432:将D集合设置为空集合,当B集合不为空时,重复以下步骤:
S4321:将集合S中最大值的下标赋值给m,同时将{bm,sm}数据放入D集合,将bm从B集合中移除;对B集合中每个元素bi,重复以下操作:
S4322:令si←sif(IoU(bm,bi)),构成新的得分集合S;其中,函数f(IoU(bm,bi))为基于高斯罚函数加权函数,具体为:
其中,σ是常量,一般取值为0.5;IoU为bm和bi的交叠率。
更具体的,在所述步骤S5具体中:遍历每一个候选区域RoI,保持浮点数边界不做量化;将候选区域分割成K x K个单元,每个单元的边界也不做量化;在每个单元中计算固定四个坐标位置,用双线性内插的方法计算出这四个位置的值,然后进行最大池化操作;ROIAlign的反向传播公式为:
其中,xi代表池化前特征图上的像素点;yrj代表池化后的第r个RoIs的第j个点;i*(r,j)代表一个浮点数的坐标位置,即前向传播时计算出来的采样点;d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值。
更具体的,所述步骤S6具体为:在三分支网络中对于每个相同大小的RoIs,
采用三种不同全连接网络实现检测、分类和分割操作,三分支网络的联合训练函数为:
Ltotal=Lcls+Lbox+Lmask
其中,Lcls是分类损失函数,Lbox是边框检测损失函数,Lmask是分割掩码损失;其中,分类损失函数Lcls为所有类别的交叉熵损失,具体表达式为:
其中,Xlabel代表预测类别的得分值,label表示类别索引,N表示所有类别;其中,边框检测损失函数Lbox采用平滑L1范式,具体表达式为:
分割掩码损失Lmask采用对应类别的掩码类损失,具体表达式为:
在具体实施过程中,对Mask R-CNN的分割网络进行参数设置,包括将网络输出类别数从81更改为2;将RPN部分的预设锚点宽长比设为[0.5,1.2],锚点框大小从[32,64,128,256,512]修改为[32,64,128,256,384];模型的初始学习率设置为0.001,学习率衰减因子为0.1,每迭代1千次更新一次学习率,最大迭代次数设置为5万次,每迭代5000次保存一次模型;模型在读取训练图像时将尺寸统一缩放至1024×800。
在具体实施过程中,在RoIs产生和边框检测操作中,采用Soft-NMS代替传统的NMS操作。传统NMS是对象检测算法中必备的后处理步骤,目的是用来去除统一对象的重复框,降低误检率;但NMS直接将和得分最大的box的IoU大于某个阈值的box的得分置零,在群养猪环境下,存在猪与猪粘连严重,传统NMS操作容易导致粘连猪的漏检。设计Soft-NMS,用稍低一点的分数代替原有的分数,而不是直接置零,能够避免粘连猪的漏检,提高召回率(recall)。
在具体实施过程中,将已训练好的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割模型进行群养猪个体的准确实例分割。将测试阶段RPN在非极大抑制前保留的正样本框上限从1000修改为300,在非极大抑制后的正样本框上限从1000修改为300,不但不会对试验结果造成影响,而且能加快测试速度;在读取测试图像时,模型同样会把图像的尺寸统一缩放至1024×800。
在具体实施过程中,根据验证集从训练好的模型中选取最佳的模型进行测试。在测试阶段,将Soft-NMS代替NMS进行重叠框的选择,因此Mask R-CNN融合Mask R-CNN不会增加额外的测试时间,同时能防止粘连猪的漏检。
在具体实施过程中,本发明提供的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,针对猪只重叠、粘连及其他复杂环境导致目标猪只漏检和错检问题,在基本的Mask R-CNN框架上采用Soft-NMS算法代替传统的算法,有效地降低了粘连猪的漏检率;同时,分别从正拍和俯拍两种不同角度,利用基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割模型对猪群图像进行猪实例分割,实现对图像进行漏检与误检结果的统计分析。
实施例2
更具体的,在实施例1的基础上,本实验的数据来自于广东省三水市乐家庄生猪养殖基地,采集时间为2018年11月25到2018年12月20日区间,以自然光线下,复杂猪圈里的群养猪图像作为数据集。设备是两台iphone8手机,多次分别对多个猪圈里的猪进行正面拍摄和俯拍视频,且保证两台手机拍摄开始和结束时间一致。拍摄后的视频每隔24帧进行截图,形成上千张含有各种颜色各种大小的猪的图像,图像尺寸均为1920x1080,再从中选择280张站立姿态猪图像作为模型训练与测试集。
从正拍和俯拍的截图中随机抽取280张图片(见表1),其中180张图片作为训练集,剩下100张图片作为验证集,用于统计结果与分析。由于拍摄需提前打开摄像机,视频会包含无用片段,因此随机挑选图像后,还需进行人工筛选,将没有包含目标猪对象的图片进行剔除。
表1训练和验证数据集
在具体实施过程中,采用基于Mask R-CNN融合Soft-NMS方法来进行群养猪对象的自动检测和分割。训练模型的软件环境包括:Windows 10操作系统,CUDA 9.0;CuDNN 7.4;Tensenflow 1.7.1;Jupyter Notebook。硬件环境包括处理器为:CPU:AMD Ryzen 5 2600X;显卡:GeForce GTX Titan X;安装内存:32.0GB;磁盘:90.0GB;系统类型:64位操作系统。
在具体实施过程中,Mask R-CNN实例分割模型的建立主要涉及标注、训练、验证这三大步骤,如图5所示。首先利用用VIA标注工具对训练集与验证集进行标注,得到对应的标注文件。搭建Mask R-CNN训练所需环境,将训练集图片、验证集图片及其对应标注文件按照图6结构放入Mask R-CNN源码目录的datasets文件夹,其中训练集图片180张,验证集图片100张。然后,编写pig.py之后对训练集进行训练,得到检测模型;最后,使用jupyternotebook打开源码文件,运行inspect_pig_model.ipynb文件以对验证集进行检验,最后得到群养猪对象检测与分割结果图像。
在具体实施过程中,Mask R-CNN实例分割模型的精确率与召回率曲线(precisionvs recall curve)如图7所示。从图中发现,Mask R-CNN进行群养猪实例分割结果是可靠的。测试图像详细的统计结果如表2所示。
表2 100张测试图像实例分割结果
从表2可看出,正拍图像召回率为82.57%,正确率达90.45%,识别率为91.28%。俯拍图像召回率为89.73%,正确率达98.22%,识别率为91.35%。俯拍的结果要显著优于正拍的结果。分析其原因,主要有两点:
(1)在形态、特征方面,正拍猪图片比俯拍猪图片更复杂;同时在正拍图片中,猪与猪之间遮挡重叠、粘连情况更严重。
(2)正拍与俯拍验证图片数量接近,但由于正拍范围受限、猪群遮挡严重等情况,正拍图片所包含猪对象的数量远低于俯拍图片,仅占验证集猪对象送检总数的22.76%。这两个因素的影响导致正拍猪对象检测结果低于俯拍猪对象图像。
在具体实施过程中,如图8所示的群养猪实例分割的部分结果图。图中虚线框表明所有检测的猪对象,黄色实线框标注为误检猪对象,红色实线框标注为漏检猪对象,整体来看,检测结果不错。但也有部分缺陷,主要出现mask分割不精确,猪耳、猪腿和猪尾巴检测不全,少数误检与漏检的情况。分别分析正拍与俯拍图像检测结果。正拍图像检测结果中存在的主要问题是小对象的误检与漏检。小对象目标的检测,本身存在一定的难度。而正拍图像中,猪体重叠严重,以及光线阴影的干扰,增加了小对象目标的检测难度,导致小对象目标漏检及部分猪体被误检的情况(如图8-(6),8-(8)中漏检情况)。而对于俯拍图片,漏检主要受猪体粘连程度的影响。猪体间距离较近的,容易出现漏检(如图8-(4)中漏检情况)。
在具体实施过程中,针对俯拍图像上群养猪粘连导致的严重漏检情况,本发明进行详细说明。这种俯拍群养猪体粘连导致的漏检分为两种情况:以两只粘连猪对象为例,一种是两只猪对象仅正常检测一只而遗漏另一只,如图9中实线框标注;第二种情况是将两只猪检测为一只,如图9中实线框标注。
在具体实施过程中,在Mask R-CNN使用阈值为0.5的Soft-NMS融合模型的,用同样100张图片进行验证。该方法结果如表3所示。
表3基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割结果
其中,检测目标猪对象个数为953,正确检测总数为891,检测数目均有所增加。召回率提升了4.91%至93.01%。其中,正拍图片检测猪对象个数为225,正确检测总数提升至192,召回率达88.07%,正确率为85.33%。俯拍图片中检测猪对象个数为728,正确检测总数为699,召回率为94.46%,正确率为96.02%。
在具体实施过程中,Mask R-CNN融合Soft-NMS方法与基本的NMS方法部分结果例子如图10所示。图10左边的是基本Mask R-CNN的群养猪实例分割结果,右边的是Mask R-CNN融合Soft-NMS方法的结果。通过结果对比,我们发现在群养猪存在严重粘连下,利用Soft-NMS方法可以显著降低漏检率,提高目标群养猪对象的召回率。
两种方法的漏检情况如表4所示,所有检测图像的漏检率为11.90%,正拍漏检率为17.43%,俯拍漏检率为10.27%。使用Soft-NMS改进后,所有图像的漏检率为6.99%,下降了5%。其中正拍漏检率为11.93%,下降了5.50%;俯拍漏检率为5.54%,下降了4.73%。
表4 NMS与Soft-NMS误检漏检对比
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,包括以下步骤:
S1:建立自然场景下的群养粘连猪视频和图像数据集;
S2:构建基于Mask R-CNN的分割网络,包括基础骨干网络、区域生成网络RPN和三分支网络;所述RPN具体表示为:Region Proposal Network;
S3:通过基础骨干网络对图像数据集进行多尺度特征的提取,得到对应不同尺寸的特征映射;
S4:基于特征映射,RPN生成感兴趣区域RoIs,并对RoIs进行目标分类以及回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S5:采用RoIAlign网络对每个RoIs进行双线性插值操作,将每个RoIs处理为相同大小;
S6:利用三分支网络对相同大小的RoIs进行检测、分类和分割操作,实现对群养粘连猪实例的分割。
2.根据权利要求1所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,所述步骤S1具体为:
S11:采集自然场景下的猪场数据,包括俯视和正面视频与图像数据,所述的图像数据包括猪体光照不均、严重遮挡和重叠三种情况下的数据;
S12:在视频与图像数据中选择群养猪站立姿态中的每个猪个体,采用Labelme软件进行实例分割标注,得到标注数据集;
S13:根据标注数据集,构建训练集、验证集和测试集;
S14:对训练集中的图像进行亮度调节、水平翻转、垂直翻转和对比度增强四种操作扩充数据集。
3.根据权利要求2所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,所述步骤S2具体为:
S21:利用残差网络ResNet101和多尺度特征网络FPN,构建基础骨干网络,用于图像尺度特征的提取;
S22:构建基于区域建议RPN网络,用于RoIs的分类与回归,利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs;
S23:构建三分支网络,用于RoIs的检测、分类和分割操作。
4.根据权利要求3所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,在所述步骤S3,基础骨干网络对图像数据集进行多尺度特征的提取的过程中,ResNet101网络包括5个不同阶段,得到对应数据集图像的不同尺度特征映射[C1,C2,C3,C4,C5];将特征映射[C1,C2,C3,C4,C5]输入多尺度特征网络FPN中,得到新的特征映射[P2,P3,P4,P5]。
5.根据权利要求4所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,所述步骤S4包括以下步骤:
S41:基于特征映射,RPN生成感兴趣区域RoIs;
S42:RPN网络利用3*3滤波器对特征映射[P2,P3,P4,P5]实现一次卷积操作,然后连接两次1x1全连接操作,分别实现RoIs的分类和回归操作,具体为:
分类:在RPN网络中,采用二分类算法将RoIs分为前景和背景两部分,其分类的损失函数为:
LRPN_class=-(ytrue*log(ypre)+(1-ytrue)*log(1-ypre)
其中,ytrue表示样本标签,取值为0或1;ypre表示预测为正例的概率;
回归:在RPN网络中,采用平滑L1范式SmoothL1计算RoIs的回归损失,用以度量预测值和真实值的距离,具体函数为:
其中,参数δ用来控制平滑的区域,默认为1,在此为1/9,Tpred表示网络预测的掩膜,Tgt表示标注的掩膜;
S43:利用Soft-NMS去除冗余的检测框,获取最好的目标RoIs。
6.根据权利要求5所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,所述步骤S43具体包括以下步骤:
S431:输入N个边框B={b1,Λ,bn},B是检测边框的集合;S={s1,Λ,sn}是每个边框的得分,Nt是交并比阈值;输出为D集合,包括若干个带有分类得分的最终检测边框;
S432:将D集合设置为空集合,当B集合不为空时,重复以下步骤:
S4321:将集合S中最大值的下标赋值给m,同时将{bm,sm}数据放入D集合,将bm从B集合中移除;对B集合中每个元素bi,重复以下操作:
S4322:令si←sif(IoU(bm,bi)),构成新的得分集合S;其中,函数f(IoU(bm,bi))为基于高斯罚函数加权函数,具体为:
其中,σ是常量,一般取值为0.5;IoU为bm和bi的交叠率。
7.根据权利要求6所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,在所述步骤S5具体中:遍历每一个候选区域RoI,保持浮点数边界不做量化;将候选区域分割成K x K个单元,每个单元的边界也不做量化;在每个单元中计算固定四个坐标位置,用双线性内插的方法计算出这四个位置的值,然后进行最大池化操作;ROIAlign的反向传播公式为:
其中,xi代表池化前特征图上的像素点;yrj代表池化后的第r个RoIs的第j个点;i*(r,j)代表一个浮点数的坐标位置,即前向传播时计算出来的采样点;d(.)表示两点之间的距离,Δh和Δw表示xi与xi*(r,j)横纵坐标的差值。
8.根据权利要求7所述的基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法,其特征在于,所述步骤S6具体为:在三分支网络中对于每个相同大小的RoIs,采用三种不同全连接网络实现检测、分类和分割操作,三分支网络的联合训练函数为:
Ltotal=Lcls+Lbox+Lmask
其中,Lcls是分类损失函数,Lbox是边框检测损失函数,Lmask是分割掩码损失;其中,分类损失函数Lcls为所有类别的交叉熵损失,具体表达式为:
其中,Xlabel代表预测类别的得分值,label表示类别索引,N表示所有类别;其中,边框检测损失函数Lbox采用平滑L1范式,具体表达式为:
分割掩码损失Lmask采用对应类别的掩码类损失,具体表达式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320756.3A CN111178197B (zh) | 2019-12-19 | 2019-12-19 | 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320756.3A CN111178197B (zh) | 2019-12-19 | 2019-12-19 | 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178197A true CN111178197A (zh) | 2020-05-19 |
CN111178197B CN111178197B (zh) | 2023-04-07 |
Family
ID=70655522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911320756.3A Active CN111178197B (zh) | 2019-12-19 | 2019-12-19 | 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178197B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111695493A (zh) * | 2020-06-10 | 2020-09-22 | 国网山东省电力公司电力科学研究院 | 一种输电线路隐患的检测方法及系统 |
CN111767875A (zh) * | 2020-07-06 | 2020-10-13 | 中兴飞流信息科技有限公司 | 一种基于实例分割的隧道烟雾检测方法 |
CN112215128A (zh) * | 2020-10-09 | 2021-01-12 | 武汉理工大学 | 融合fcos的r-cnn城市道路环境识别方法及装置 |
CN112528913A (zh) * | 2020-12-18 | 2021-03-19 | 中山艾尚智同信息科技有限公司 | 一种基于图像的砂石颗粒物粒径检测分析系统 |
CN112651500A (zh) * | 2020-12-30 | 2021-04-13 | 深圳金三立视频科技股份有限公司 | 一种量化模型的生成方法及终端 |
CN112802005A (zh) * | 2021-02-07 | 2021-05-14 | 安徽工业大学 | 一种基于改进Mask RCNN的汽车表面擦伤检测方法 |
CN112801047A (zh) * | 2021-03-19 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 缺陷检测方法、装置、电子设备及可读存储介质 |
CN112861855A (zh) * | 2021-02-02 | 2021-05-28 | 华南农业大学 | 基于对抗网络模型的群养猪实例分割方法 |
CN112907605A (zh) * | 2021-03-19 | 2021-06-04 | 南京大学 | 用于实例分割的数据增强方法 |
CN112926694A (zh) * | 2021-04-13 | 2021-06-08 | 云浮市物联网研究院有限公司 | 基于改进的神经网络对图像中的猪只进行自动识别的方法 |
CN113095441A (zh) * | 2021-04-30 | 2021-07-09 | 河南牧原智能科技有限公司 | 一种猪群扎堆检测方法、装置、设备及可读存储介质 |
CN113255495A (zh) * | 2021-05-17 | 2021-08-13 | 开放智能机器(上海)有限公司 | 一种养猪场生猪清点方法以及清点系统 |
CN113469356A (zh) * | 2021-06-03 | 2021-10-01 | 江苏大学 | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 |
CN114683301A (zh) * | 2022-03-22 | 2022-07-01 | 四川正狐智慧科技有限公司 | 一种养猪场用巡检机器人、机器人系统及系统的工作方法 |
CN116152758A (zh) * | 2023-04-25 | 2023-05-23 | 松立控股集团股份有限公司 | 一种智能实时事故检测及车辆跟踪方法 |
CN113469356B (zh) * | 2021-06-03 | 2024-06-07 | 江苏大学 | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898610A (zh) * | 2018-07-20 | 2018-11-27 | 电子科技大学 | 一种基于mask-RCNN的物体轮廓提取方法 |
CN109117876A (zh) * | 2018-07-26 | 2019-01-01 | 成都快眼科技有限公司 | 一种稠密小目标检测模型构建方法、模型及检测方法 |
CN109584248A (zh) * | 2018-11-20 | 2019-04-05 | 西安电子科技大学 | 基于特征融合和稠密连接网络的红外面目标实例分割方法 |
CN110232380A (zh) * | 2019-06-13 | 2019-09-13 | 应急管理部天津消防研究所 | 基于Mask R-CNN神经网络的火灾夜间场景复原方法 |
-
2019
- 2019-12-19 CN CN201911320756.3A patent/CN111178197B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898610A (zh) * | 2018-07-20 | 2018-11-27 | 电子科技大学 | 一种基于mask-RCNN的物体轮廓提取方法 |
CN109117876A (zh) * | 2018-07-26 | 2019-01-01 | 成都快眼科技有限公司 | 一种稠密小目标检测模型构建方法、模型及检测方法 |
CN109584248A (zh) * | 2018-11-20 | 2019-04-05 | 西安电子科技大学 | 基于特征融合和稠密连接网络的红外面目标实例分割方法 |
CN110232380A (zh) * | 2019-06-13 | 2019-09-13 | 应急管理部天津消防研究所 | 基于Mask R-CNN神经网络的火灾夜间场景复原方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111695493A (zh) * | 2020-06-10 | 2020-09-22 | 国网山东省电力公司电力科学研究院 | 一种输电线路隐患的检测方法及系统 |
CN111695493B (zh) * | 2020-06-10 | 2023-12-08 | 国网山东省电力公司电力科学研究院 | 一种输电线路隐患的检测方法及系统 |
CN111767875A (zh) * | 2020-07-06 | 2020-10-13 | 中兴飞流信息科技有限公司 | 一种基于实例分割的隧道烟雾检测方法 |
CN111767875B (zh) * | 2020-07-06 | 2024-05-10 | 中兴飞流信息科技有限公司 | 一种基于实例分割的隧道烟雾检测方法 |
CN112215128A (zh) * | 2020-10-09 | 2021-01-12 | 武汉理工大学 | 融合fcos的r-cnn城市道路环境识别方法及装置 |
CN112215128B (zh) * | 2020-10-09 | 2024-04-05 | 武汉理工大学 | 融合fcos的r-cnn城市道路环境识别方法及装置 |
CN112528913A (zh) * | 2020-12-18 | 2021-03-19 | 中山艾尚智同信息科技有限公司 | 一种基于图像的砂石颗粒物粒径检测分析系统 |
CN112651500A (zh) * | 2020-12-30 | 2021-04-13 | 深圳金三立视频科技股份有限公司 | 一种量化模型的生成方法及终端 |
CN112651500B (zh) * | 2020-12-30 | 2021-12-28 | 深圳金三立视频科技股份有限公司 | 一种量化模型的生成方法及终端 |
CN112861855A (zh) * | 2021-02-02 | 2021-05-28 | 华南农业大学 | 基于对抗网络模型的群养猪实例分割方法 |
CN112802005A (zh) * | 2021-02-07 | 2021-05-14 | 安徽工业大学 | 一种基于改进Mask RCNN的汽车表面擦伤检测方法 |
CN112801047B (zh) * | 2021-03-19 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 缺陷检测方法、装置、电子设备及可读存储介质 |
CN112801047A (zh) * | 2021-03-19 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 缺陷检测方法、装置、电子设备及可读存储介质 |
CN112907605B (zh) * | 2021-03-19 | 2023-11-17 | 南京大学 | 用于实例分割的数据增强方法 |
CN112907605A (zh) * | 2021-03-19 | 2021-06-04 | 南京大学 | 用于实例分割的数据增强方法 |
CN112926694A (zh) * | 2021-04-13 | 2021-06-08 | 云浮市物联网研究院有限公司 | 基于改进的神经网络对图像中的猪只进行自动识别的方法 |
CN113095441A (zh) * | 2021-04-30 | 2021-07-09 | 河南牧原智能科技有限公司 | 一种猪群扎堆检测方法、装置、设备及可读存储介质 |
CN113255495A (zh) * | 2021-05-17 | 2021-08-13 | 开放智能机器(上海)有限公司 | 一种养猪场生猪清点方法以及清点系统 |
CN113469356A (zh) * | 2021-06-03 | 2021-10-01 | 江苏大学 | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 |
WO2022252272A1 (zh) * | 2021-06-03 | 2022-12-08 | 江苏大学 | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 |
GB2611257A (en) * | 2021-06-03 | 2023-03-29 | Univ Jiangsu | Transfer learning-based method for improved VGG16 network pig identity recognition |
CN113469356B (zh) * | 2021-06-03 | 2024-06-07 | 江苏大学 | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 |
GB2611257B (en) * | 2021-06-03 | 2024-02-28 | Univ Jiangsu | Pig identity identification method by using improved vgg16 network based on transfer learning |
CN114683301A (zh) * | 2022-03-22 | 2022-07-01 | 四川正狐智慧科技有限公司 | 一种养猪场用巡检机器人、机器人系统及系统的工作方法 |
CN116152758A (zh) * | 2023-04-25 | 2023-05-23 | 松立控股集团股份有限公司 | 一种智能实时事故检测及车辆跟踪方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111178197B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178197B (zh) | 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 | |
Zhou et al. | Evaluation of fish feeding intensity in aquaculture using a convolutional neural network and machine vision | |
CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
CN108830144B (zh) | 一种基于改进Faster-R-CNN的哺乳母猪姿态识别方法 | |
CN110059558A (zh) | 一种基于改进ssd网络的果园障碍物实时检测方法 | |
CN108875821A (zh) | 分类模型的训练方法和装置、移动终端、可读存储介质 | |
CN108596046A (zh) | 一种基于深度学习的细胞检测计数方法及系统 | |
US20230281265A1 (en) | Method for estimating body size and weight of pig based on deep learning | |
CN112598713A (zh) | 一种基于深度学习的近岸海底鱼类检测、跟踪统计方法 | |
CN114241548A (zh) | 一种基于改进YOLOv5的小目标检测算法 | |
CN108154102A (zh) | 一种道路交通标志识别方法 | |
CN109685045A (zh) | 一种运动目标视频跟踪方法及系统 | |
CN109242826B (zh) | 基于目标检测的移动设备端签状物根数计数方法及系统 | |
CN109902662A (zh) | 一种行人重识别方法、系统、装置和存储介质 | |
CN113435355A (zh) | 多目标奶牛身份识别方法及系统 | |
CN111666897A (zh) | 基于卷积神经网络的斑石鲷个体识别方法 | |
CN112528823A (zh) | 一种基于关键帧检测和语义部件分割的条斑鲨运动行为分析方法及系统 | |
CN115471871A (zh) | 一种基于目标检测和分类网络的麻鸭性别分类识别方法 | |
CN116977937A (zh) | 一种行人重识别的方法及系统 | |
CN110956198A (zh) | 一种单目摄像机视觉测重方法 | |
Muñoz-Benavent et al. | Impact evaluation of deep learning on image segmentation for automatic bluefin tuna sizing | |
CN112883915A (zh) | 一种基于迁移学习的麦穗自动识别方法和系统 | |
CN115690570B (zh) | 一种基于st-gcn的鱼群摄食强度预测方法 | |
CN113627255B (zh) | 一种小鼠行为量化分析方法、装置、设备及可读存储介质 | |
CN114067159A (zh) | 一种基于eus的粘膜下肿瘤细粒度分类方法 |
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 |