发明内容
本申请的主要目的为提供一种目标物体检测模型、训练方法、物体检测方法和相关设备,旨在解决现有YOLOv3-Tiny模型在实际使用对小目标的检测效果较差的弊端。
为实现上述目的,本申请提供了一种目标物体检测模型,包括引导网络和YOLOv3-Tiny子模型;
所述YOLOv3-Tiny子模型包括第一合并层和第一高层信息卷积层,所述引导网络包括第一卷积层;
所述第一卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第一卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第一输出端与所述第一合并层的输入端连接,所述第一合并层的输出端与所述第一高层信息卷积层连接,所述引导网络将待检测图像的低层信息引导至所述第一合并层,并与所述YOLOv3-Tiny子模型中待检测图像的的高层信息在所述第一合并层合并后输入所述第一高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
进一步的,还包括信息合并网络,所述YOLOv3-Tiny子模型还包括第二高层信息卷积层,所述信息合并网络包括第二卷积层和第二合并层;
所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第二卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第二输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述第二高层信息卷积层连接,所述信息合并网络将待检测图像的高层信息和低层信息合并后输入所述第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
进一步的,所述YOLOv3-Tiny子模型包括第一预测网络和第二预测网络,所述第一预测网络和所述第二预测网络共用一个输入层,且共用部分卷积层和池化层;
所述第二预测网络包括所述第一合并层,所述第一卷积层的输入端与所述YOLOv3-Tiny子模型的第二个池化层的输出端连接,所述第一卷积层的输出端与所述第一合并层的输入端连接,且所述第二预测网络的上采样层的输出端与所述第一合并层的输入端连接,所述第一合并层的输出端与所述第二预测网络的倒数第二个卷积层的输入端连接;
所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的第四个卷积层的输出端连接,所述第二卷积层的输出端与所述第二合并层的输入端连接,并且所述YOLOv3-Tiny子模型的第六个池化层的输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述YOLOv3-Tiny子模型的第七个卷积层的输入端连接。
进一步的,所述第一卷积层和所述第二卷积层的尺度均为7*7。
本申请还提供了一种目标物体检测模型,包括信息合并网络和YOLOv3-Tiny子模型,所述YOLOv3-Tiny子模型包括第二高层信息卷积层,所述信息合并网络包括第二卷积层和第二合并层;
所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第二卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第二输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述第二高层信息卷积层连接,所述信息合并网络将待检测图像的高层信息和低层信息合并后输入所述第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
进一步的,所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的第四个卷积层的输出端连接,所述第二卷积层的输出端与所述第二合并层的输入端连接,并且所述YOLOv3-Tiny子模型的第六个池化层的输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述YOLOv3-Tiny子模型的第七个卷积层的输入端连接。
本申请还提供了一种目标物体检测模型的训练方法,所述目标物体检测模型的结构与上述任一项所述的目标物体检测模型的结构相同,所述训练方法包括:
获取多个第一训练样本,所述第一训练样本为标记有目标物体的图片;
将各所述第一训练样本输入所述目标物体检测模型进行迭代训练,直至当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一致,则停止迭代训练。
进一步的,所述目标总loss值由多个目标物体loss值组成,所述将各所述第一训练样本输入所述目标物体检测模型进行迭代训练的步骤,包括:
根据预设尺寸,从各所述目标物体loss值中筛选出小目标物体的总loss值,所述小目标物体的尺寸与所述预设尺寸对应;
在当前次迭代训练中,判断所述小目标物体的总loss值与所述目标总loss值之间的比值是否大于阈值;
若所述比值小于阈值,则在下一次迭代训练中,将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本,并使用各所述第二训练样本对所述目标物体检测模型进行训练。
进一步的,所述将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本的步骤,包括:
随机选择预设数量的所述第一训练样本按照预设比例进行缩小,得到若干个第三训练样本,其中,所述第三训练样本的图像宽高比与所述第一训练样本的图像宽高比相同;
将各所述第三训练样本拼接在同一张图像中,得到所述第二训练样本,其中,所第二训练样本的图像尺寸与所述第一训练样本的图像尺寸一致。
本申请还提供一种物体检测方法,包括:
采集物体图像;
将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本申请还提供一种物体检测装置,包括:
采集模块,用于采集物体图像;
处理模块,用于将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
标示模块,用于根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种目标物体检测模型、训练方法、物体检测方法和相关设备,目标物体检测模型包括信息合并网络和/引导网络,以及YOLOv3-Tiny子模型。YOLOv3-Tiny子模型包括第一合并层、第一高层信息卷积层和第二高层信息卷积层,引导网络包括第一卷积层,信息合并网络包括第二卷积层和第二合并层。当存在引导网络时,第一卷积层的输入端和YOLOv3-Tiny子模型的低层信息输出端连接,第一卷积层的输出端、YOLOv3-Tiny子模型中的高层信息第一输出端与第一合并层的输入端连接,第一合并层的输出端与第一高层信息卷积层连接,引导网络将待检测图像的低层信息引导至第一合并层,并与YOLOv3-Tiny子模型中待检测图像的的高层信息在第一合并层合并后输入第一高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。当存在信息合并网络时,第二卷积层的输入端与YOLOv3-Tiny子模型的低层信息输出端连接,第二卷积层的输出端、YOLOv3-Tiny子模型子模型中的高层信息第二输出端与第二合并层的输入端连接,第二合并层的输出端与第二高层信息卷积层连接,信息合并网络将待检测图像的高层信息和低层信息合并后输入第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。本申请基于YOLOv3-Tiny模型改进后的目标物体检测模型中,通过该模型结构,实现将待检测图像的低层信息和高层信息进行融合,从而使得低层信息能够被进一步得到使用,有效提高对目标检测的全面性,提高对小目标的检测效果。在此模型结构的基础上训练得到的目标物体检测模型在使用时,能够准确识别到输入图片中的小目标物体,在保证对目标物体的检测速度的基础上,提高了对小目标物体的检测效果。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种目标物体检测模型,引导网络Z1和YOLOv3-Tiny子模型;
所述YOLOv3-Tiny子模型包括第一合并层和第一高层信息卷积层,所述引导网络包括第一卷积层;
所述第一卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第一卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第一输出端与所述第一合并层的输入端连接,所述第一合并层的输出端与所述第一高层信息卷积层连接,所述引导网络Z1将待检测图像的低层信息引导至所述第一合并层,并与所述YOLOv3-Tiny子模型中待检测图像的的高层信息在所述第一合并层合并后输入所述第一高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
进一步的,目标物体检测模型还包括信息合并网络Z2,所述YOLOv3-Tiny子模型还包括第二高层信息卷积层,所述信息合并网络包括第二卷积层和第二合并层;
所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第二卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第二输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述第二高层信息卷积层连接,所述信息合并网络Z2将待检测图像的高层信息和低层信息合并后输入所述第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
本实施例中,目标物体检测模型是在YOLOv3-Tiny模型的基础上通过改进结构得到,具体包括YOLOv3-Tiny子模型、信息合并网络Z2和引导网络Z1,其中,YOLOv3-Tiny子模型用于对输入图片进行特征提取和分类,得到目标在输入图片中的坐标值以及识别出目标所对应的类别。信息合并网络Z2和引导网络Z1的输入端与YOLOv3-Tiny子模型中的低层信息输出端连接,信息合并网络的输出端与YOLOv3-Tiny子模型中的高层信息卷积层的输入端连接;引导网络Z1的输出端与YOLOv3-Tiny子模型中的第一合并层的输入端连接。引导网络Z1和信息合并网络Z2用于将从YOLOv3-Tiny子模型中引出待检测图像的的低层信息和YOLOv3-Tiny子模型中待检测图像的的高层信息在合并层(信息合并网络Z2对应的合并层为第二合并层,引导网络Z1对应的合并层为YOLOv3-Tiny子模型中的第一合并层)进行合并,并将合并后的高低层信息输入YOLOv3-Tiny子模型中的高层信息卷积层经过卷积和计算后,实现将低层信息的特征图和高层信息的特征图融合,从而使得低层信息能够进一步得到使用。其中,待检测图像的低层信息是指图像的颜色、纹理、形状等信息,高层信息是指图像表达出接近人类理解的特征。由于小物体在图像中占的像素较少,在训练过程中属于较难识别目标,其在经过多层卷积层和池化层后极容易被过滤掉,导致识别失败。YOLOv3-Tiny属于轻量级模型,若单使用该模型进行部署而不加改进,则在面对视野中的小目标物体时误检率和漏检率极高,远无法满足现实需要。而本实施例中,改进模型结构后的目标物体检测模型通过信息合并网络Z2和引导网络Z1,将YOLOv3-Tiny子模型中的低层信息的特征图和高层信息的特征图进行融合,使得低层信息能够进一步得到使用,降低小物体的特征图在经过多层卷积层和池化层后被过滤掉的几率(低层信息位于模型的上层,还未经过较多的卷积层和池化层,因此低层信息中包含有小物体特征图的概率较大),使得改进模型结构后的目标物体检测模型能够准确识别到小目标物体。
进一步的,所述YOLOv3-Tiny子模型包括第一预测网络Z3和第二预测网络Z4,所述第一预测网络Z3和所述第二预测网络Z4共用一个输入层,且共用部分卷积层和池化层;
所述第二预测网络Z4包括所述第一合并层,所述第一卷积层的输入端与所述YOLOv3-Tiny子模型的第二个池化层的输出端连接,所述第一卷积层的输出端与所述第一合并层的输入端连接,且所述第二预测网络Z4的上采样层的输出端与所述第一合并层的输入端连接,所述第一合并层的输出端与所述第二预测网络Z4的倒数第二个卷积层的输入端连接;
所述信息合并网络Z2包括第二卷积层和第二合并层,所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的第四个卷积层的输出端连接,所述第二卷积层的输出端与所述第二合并层的输入端连接,并且所述YOLOv3-Tiny子模型的第六个池化层的输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述YOLOv3-Tiny子模型的第七个卷积层的输入端连接。
优选的,所述第一卷积层和所述第二卷积层的尺度均为7*7。
本实施例中,YOLOv3-Tiny子模型包括第一预测网络Z3和第二预测网络Z4,第二预测网络Z4包括第一合并层,该第一合并层为YOLOv3-Tiny本身的模型结构就具有的合并层。其中,第一预测网络Z3和第二预测网络Z4共用一个输入层,并且两者共用模型结构上部区域的卷积层和池化层。引导网络Z1包括第一卷积层,第一卷积层的输入端和YOLOv3-Tiny子模型的第二个池化层(该池化层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输出端连接,第一卷积层的输出端和第一合并层的输入端连接。并且,第二预测网络Z4的上采样层的输出端与第一合并层的输入端连接,而第一合并层的输出端与第二预测网络Z4的倒数第二个卷积层的输入端连接。其中,上采样层是用于放大图片;第一卷积层的尺度为7*7。YOLOv3-Tiny子模型的第二个池化层所输出的信息为低层信息,在经过7*7的第一卷积层的大尺度卷积和计算后,进入第一合并层内。同时,上采样层输出的信息为放大后的高层信息,进入第一合并层后,与第一卷积层输出的低层信息(该低层信息当前位于第一合并层内)进行合并。合并后的高低层信息进入第二预测网络Z4的倒数第二个卷积层内,经过卷积后,实现低层信息和高层信息的融合,使得YOLOv3-Tiny子模型的第二个池化层的低层信息能够进一步得到使用。
信息合并网络Z2包括第二卷积层和第二合并层,第二卷积层的输入端与YOLOv3-Tiny子模型的第四个卷积层(该卷积层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输出端连接,第二卷积层的输出端与第二合并层的输入端连接。并且,YOLOv3-Tiny子模型的第六个池化层(该池化层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输出端和第二合并层的输入端连接,而第二合并层的输出端与YOLOv3-Tiny子模型的第七个卷积层(该卷积层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输入端连接。YOLOv3-Tiny子模型的第四个卷积层所输出的信息为低层信息,在经过7*7的第二卷积层的大尺度卷积和计算后,进入第二合并层内。同时,YOLOv3-Tiny子模型的第六个池化层所输出的信息为高层信息,进入第二合并层后,与第二卷积层输出的低层信息进行合并。合并后的高低层信息进入YOLOv3-Tiny子模型的第七个卷积层内,经过卷积处理后,实现低层信息和高层信息的融合,使得YOLOv3-Tiny子模型的第四个卷积层的低层信息能够进一步得到使用,提升对小目标物体的识别率和准确率。
参照图2,本实施例还提供了一种目标物体检测模型,包括信息合并网络Z2和YOLOv3-Tiny子模型,所述YOLOv3-Tiny子模型包括第二高层信息卷积层,所述信息合并网络Z2包括第二卷积层和第二合并层;
所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的低层信息输出端连接,所述第二卷积层的输出端、所述YOLOv3-Tiny子模型中的高层信息第二输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述第二高层信息卷积层连接,所述信息合并网络Z2将待检测图像的高层信息和低层信息合并后输入所述第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。
进一步的,所述第二卷积层的输入端与所述YOLOv3-Tiny子模型的第四个卷积层的输出端连接,所述第二卷积层的输出端与所述第二合并层的输入端连接,并且所述YOLOv3-Tiny子模型的第六个池化层的输出端与所述第二合并层的输入端连接,所述第二合并层的输出端与所述YOLOv3-Tiny子模型的第七个卷积层的输入端连接。
本实施例中,目标物体检测模型是在YOLOv3-Tiny模型的基础上通过改进结构得到,具体包括YOLOv3-Tiny子模型和信息合并网络Z2,其中,YOLOv3-Tiny子模型用于对输入图片进行特征提取和分类,得到目标在输入图片中的坐标值以及识别出目标所对应的类别。信息合并网络Z2的输入端与YOLOv3-Tiny子模型中的低层信息输出端连接,信息合并网络的输出端与YOLOv3-Tiny子模型中的高层信息卷积层的输入端连接。信息合并网络Z2用于将从YOLOv3-Tiny子模型中引出待检测图像的低层信息和YOLOv3-Tiny子模型中待检测图像的高层信息在第二合并层进行合并,并将合并后的高低层信息输入YOLOv3-Tiny子模型中的高层信息卷积层经过卷积和计算后,实现将低层信息的特征图和高层信息的特征图融合,从而使得低层信息能够进一步得到使用。其中,待检测图像的低层信息是指图像的颜色、纹理、形状等信息,高层信息是指图像表达出接近人类理解的特征。由于小物体在图像中占的像素较少,在训练过程中属于较难识别目标,其在经过多层卷积层和池化层后极容易被过滤掉,导致识别失败。YOLOv3-Tiny属于轻量级模型,若单使用该模型进行部署而不加改进,则在面对视野中的小目标物体时误检率和漏检率极高,远无法满足现实需要。而本实施例中,改进模型结构后的目标物体检测模型通过信息合并网络Z2,将YOLOv3-Tiny子模型中的低层信息的特征图和高层信息的特征图进行融合,使得低层信息能够进一步得到使用,降低小物体的特征图在经过多层卷积层和池化层后被过滤掉的几率(低层信息位于模型的上层,还未经过较多的卷积层和池化层,因此低层信息中包含有小物体特征图的概率较大),使得改进模型结构后的目标物体检测模型能够准确识别到小目标物体。
进一步的,信息合并网络Z2包括第二卷积层和第二合并层,第二卷积层的输入端与YOLOv3-Tiny子模型的第四个卷积层(该卷积层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输出端连接,第二卷积层的输出端与第二合并层的输入端连接。并且,YOLOv3-Tiny子模型的第六个池化层(该池化层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输出端和第二合并层的输入端连接,而第二合并层的输出端与YOLOv3-Tiny子模型的第七个卷积层(该卷积层为第一预测网络Z3和第二预测网络Z4共用的池化层)的输入端连接。YOLOv3-Tiny子模型的第四个卷积层所输出的信息为低层信息,在经过7*7的第二卷积层的大尺度卷积和计算后,进入第二合并层内。同时,YOLOv3-Tiny子模型的第六个池化层所输出的信息为高层信息,进入第二合并层后,与第二卷积层输出的低层信息进行合并。合并后的高低层信息进入YOLOv3-Tiny子模型的第七个卷积层内,经过卷积处理后,实现低层信息和高层信息的融合,使得YOLOv3-Tiny子模型的第四个卷积层的低层信息能够进一步得到使用,提升对小目标物体的识别率和准确率。
本实施例提供的一种目标物体检测模型,目标物体检测模型包括信息合并网络和/引导网络,以及YOLOv3-Tiny子模型。YOLOv3-Tiny子模型包括第一合并层、第一高层信息卷积层和第二高层信息卷积层,引导网络包括第一卷积层,信息合并网络包括第二卷积层和第二合并层。当存在引导网络时,第一卷积层的输入端和YOLOv3-Tiny子模型的低层信息输出端连接,第一卷积层的输出端、YOLOv3-Tiny子模型中的高层信息第一输出端与第一合并层的输入端连接,第一合并层的输出端与第一高层信息卷积层连接,引导网络将待检测图像的低层信息引导至第一合并层,并与YOLOv3-Tiny子模型中待检测图像的的高层信息在第一合并层合并后输入第一高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。当存在信息合并网络时,第二卷积层的输入端与YOLOv3-Tiny子模型的低层信息输出端连接,第二卷积层的输出端、YOLOv3-Tiny子模型子模型中的高层信息第二输出端与第二合并层的输入端连接,第二合并层的输出端与第二高层信息卷积层连接,信息合并网络将待检测图像的高层信息和低层信息合并后输入第二高层信息卷积层进行卷积处理,实现低层信息和高层信息的融合。本申请基于YOLOv3-Tiny模型改进后的目标物体检测模型中,通过该模型结构,实现将低层信息和高层信息进行融合,从而使得低层信息能够被进一步得到使用,有效提高对目标检测的全面性,提高对小目标的检测效果。
参照图3,本实施例还提供了一种目标物体检测模型的训练方法,所述目标物体检测模型的结构与上述任一项所述的目标物体检测模型的结构相同,所述训练方法包括:
S1:获取多个第一训练样本,所述第一训练样本为标记有目标物体的图片;
S2:将各所述第一训练样本输入所述目标物体检测模型进行迭代训练,直至当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一致,则停止迭代训练。
本实施例中,目标物体检测模型的模型结构与上述基于YOLOv3-Tiny改进后的目标物体检测模型的模型结构相同,该目标物体检测模型的训练方法具体为:系统获取多个第一训练样本,其中,第一训练样本为标记为目标物体的图片,目标物体的标记由开发人员进行人工标注。基于深度学习的思想,系统将各个第一训练样本输入目标物体检测模型中进行迭代训练,从而使得目标物体检测模型能够学习到目标物体的类别特征,最终训练得到的目标物体检测模型能够在应用场景中,通过输入的图片自动识别出此类目标物体(即第一训练样本中被标记的目标物体)在图片中的坐标值和类别。目标物体检测模型在迭代训练的过程中,每次训练后模型都会输出第一训练样本中每个目标物体各自对应的loss值,各个loss值的综合即为目标总loss值。如果检测到模型在当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一直,即模型在迭代训练时目标总loss值不再下降,则判定目标物体检测模型训练完成,可以停止迭代训练。本实施例中训练所得的目标物体检测模型,在目标物体检测模型本身独特的模型结构基础上,能够实现将输入图片的低层信息和高层信息进行融合,提高对低层信息的使用。在此基础上训练得到的目标物体检测模型,能够提高对小目标物体的识别率和准确率,有效提高对小目标物体的检测效果。
进一步的,所述目标总loss值由多个目标物体loss值组成,所述将各所述第一训练样本输入所述目标物体检测模型进行迭代训练的步骤,包括:
S201:根据预设尺寸,从各所述目标物体loss值中筛选出小目标物体的总loss值,所述小目标物体的尺寸与所述预设尺寸对应;
S202:在当前次迭代训练中,判断所述小目标物体的总loss值与所述目标总loss值之间的比值是否大于阈值;
S203:若所述比值小于阈值,则在下一次迭代训练前,将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本,并使用各所述第二训练样本对所述目标物体检测模型进行训练。
本实施例中,目标总loss值由多个目标物体loss值组成,开发人员预先对小目标物体的图像尺寸进行定义,即定义预设尺寸。系统根据预设尺寸识别出与预设尺寸对应的小目标物体,从而实现从各个目标物体loss值中筛选出各个小目标物体各自对应的loss值。再根据各个小目标物体各自对应的loss值进行计和,得到小目标物体的总loss值。目标物体检测模型迭代训练,在每次训练完成后模型都会输出第一训练样本中每个目标物体各自对应的loss值,系统根据各个目标物体各自对应的loss值计和得到目标总loss值,并根据筛选得到的各个小目标物体各自对应的loss值计和得到小目标物体的总loss值。在当前次迭代训练中,系统判断小目标物体的总loss值与目标总loss值之间的比值是否大于预设的阈值。如果小目标物体的总loss值与目标总loss值之间的比值大于阈值,则在模型的下一次迭代训练中,不需要对第一训练样本进行拼接处理。如果小目标物体的总loss值与目标总loss值之间的比值小于阈值,则在下一次迭代训练前,系统从各个第一训练样本中,随机选择预设数量的第一训练样本按照预设尺寸进行缩小,缩小后的预设数量的第一训练样本拼接在同一张图片上,形成一张图片,拼接后形成的图片即为第二训练样本。在进行下一次迭代训练中,系统使用新形成的若干个第二训练样本对目标物体检测模型进行训练。在目标物体检测模型的训练迭代过程中,小目标物体的损失几乎没有对总损失产生贡献,如在训练COCO数据集的50%迭代中,小目标物体损失占总损失不到10%,因此优化目标的不平衡会造成模型对小目标物体的检测性能下降。本实施例的模型在迭代训练过程中,如果检测到小目标物体的总loss值与目标总loss值之间的比值小于阈值,则将各第一训练样本进行缩小后拼接形成第二训练样本,并使用第二训练样本对目标物体检测模型进行训练,从而提升小目标物体损失在总损失中的占比,使得模型能够充分学习到小目标的特征信息,最终提升训练完成后的目标物体检测模型对小目标物体的的识别率和准确度,提高了对小目标物体的检测效果。
进一步的,所述将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本的步骤,包括:
S2031:随机选择预设数量的所述第一训练样本按照预设比例进行缩小,得到若干个第三训练样本,其中,所述第三训练样本的图像宽高比与所述第一训练样本的图像宽高比相同;
S2032:将各所述第三训练样本拼接在同一张图像中,得到所述第二训练样本,其中,所第二训练样本的图像尺寸与所述第一训练样本的图像尺寸一致。
本实施例中,系统随机选择预设数量的第一训练样本按照预设比例(或预设的统一尺寸,即将第一训练样本的图像尺寸缩小至统一尺寸)进行缩小,得到若干个第三训练样本。其中,缩小后的第三训练样本的图像宽高比与未缩小前的第一训练样本的图像宽高比相同,从而防止目标对象属性丢失。系统将预设数量的第三训练样本拼接在同一张图像中,形成一张新的图片,即得到第二训练样本。拼接后的第二训练样本的图像尺寸与第一训练样本的图像尺寸一致,以保证模型在整个迭代训练过程中,训练样本的基本属性(即图像尺寸)保持一致。通过上述的拼接操作,在模型的迭代训练过程中,会使得部分大中物体被缩放为小物体,从而增加小目标物体的损失在总损失中的占比,使得模型的优化方向得到调整,提升训练后的模型对小目标物体的检测效果。
本实施例提供的一种目标物体检测模型的训练方法,系统获取多个第一训练样本,其中第一训练样本为标记有目标物体的图片。系统将各个第一训练样本输入目标物体检测模型进行迭代训练,直至当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一致,则停止迭代训练。本申请基于YOLOv3-Tiny模型改进后的目标物体检测模型中,通过该模型结构,实现将低层信息和高层信息进行融合,从而使得低层信息能够被进一步得到使用,有效提高对目标检测的全面性,提高对小目标的检测效果。在此模型结构的基础上训练得到的目标物体检测模型在使用时,能够准确识别到输入图片中的小目标物体,在保证对目标物体的检测速度的基础上,提高了对小目标物体的检测效果。
参照图4,本实施例还提供了一种物体检测方法,包括:
A1:采集物体图像;
A2:将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
A3:根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本实施例中,系统通过摄像头采集物体图像,然后将物体图像输入预先构建的目标物体检测模型。其中,目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型。物体图像在目标物体检测模型中经过各个卷积层的卷积处理和各个池化层的池化处理后,实现特征提取和分类,从而得到目标物体在物体图像中的坐标值以及类别。系统根据目标物体检测模型输出的目标物体的坐标值,在物体图像上对目标物体进行标示,比如使用框图在物体图像上将目标物体框示出来,以表明目标物体在物体图像上的位置。本实施例中,目标物体检测模型由于本身独特的模型结构,在对输入的物体图像的处理过程中,通过将低层信息和高层信息融合的方式,提高的对低层信息的使用,减少了小目标物体的特征信息被过滤掉的几率,从而提升了对小目标物体的识别率和准确率。进一步的,由于目标物体检测模型在训练过程中,通过将部分大中物体缩放为小物体进行训练,从而增加了小目标物体的损失在总损失中的占比,使得模型识别小目标物体的优化方向得到调整,进一步提升了目标物体检测模型对小目标物体的检测效果。
优选的,本实施例的物体检测方法应用于服务机器人上,服务机器人使用自身携带的RGB相机采集大量的目标物体的图片(即物体图像),然后使用上述基于YOLOv3-Tiny模型改进后的目标物体检测模型进行离线训练,同时在训练过程中加入特殊的训练策略(即将部分大中物体缩放为小物体进行训练)以改进训练过程中小目标的损失值对总损失的贡献,从而让模型更加注重学习到小目标的特征。当模型在Pytorch或TensorFlow等框架上离线训练成功后,使用NCNN、TensorRT或OpenVINO等推理引擎进行在线部署到服务机器人中,以进一步降低推理时间,最终实现该模型在服务机器人上的实时检测,在保证准确率的同时降低推理时间,实现又快又准检测的目的。
本实施例提供的一种目标检测方法,系统采集物体图像,然后将物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在物体图像中的坐标值。其中,目标物体检测模型为基于YOLOv3-Tiny模型改进后的目标物体检测模型,能够融合低层信息和高层信息。系统根据目标物体的坐标值,在物体图像上标示出目标物体的位置。本申请基于YOLOv3-Tiny模型改进后的目标物体检测模型中,通过该模型结构,实现将低层信息和高层信息进行融合,从而使得低层信息能够被进一步得到使用,有效提高对目标检测的全面性,提高对小目标的检测效果。在此模型结构的基础上训练得到的目标物体检测模型在使用时,能够准确识别到输入图片中的小目标物体,在保证对目标物体的检测速度的基础上,提高了对小目标物体的检测效果。
参照图5,本申请一实施例中还提供了一种物体检测装置,包括:
采集模块B1,用于采集物体图像;
处理模块B2,用于将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
标示模块B3,用于根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本实施例中,物体检测装置各模块用于对应执行与上述物体检测方法中的各个步骤,其具体实施过程在此不做详述,
本实施例提供的一种目标检测装置,系统采集物体图像,然后将物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在物体图像中的坐标值。其中,目标物体检测模型为基于YOLOv3-Tiny模型改进后的目标物体检测模型,能够融合低层信息和高层信息。系统根据目标物体的坐标值,在物体图像上标示出目标物体的位置。本申请基于YOLOv3-Tiny模型改进后的目标物体检测模型中,通过该模型结构,实现将低层信息和高层信息进行融合,从而使得低层信息能够被进一步得到使用,有效提高对目标检测的全面性,提高对小目标的检测效果。在此模型结构的基础上训练得到的目标物体检测模型在使用时,能够准确识别到输入图片中的小目标物体,在保证对目标物体的检测速度的基础上,提高了对小目标物体的检测效果。
参照图6,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标物体检测模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种目标物体检测模型的训练方法,所述目标物体检测模型的结构与上述任一项所述的目标物体检测的结构相同。
上述处理器执行上述目标物体检测模型的训练方法的步骤:
S1:获取多个第一训练样本,所述第一训练样本为标记有目标物体的图片;
S2:将各所述第一训练样本输入所述目标物体检测模型进行迭代训练,直至当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一致,则停止迭代训练。
进一步的,所述目标总loss值由多个目标物体loss值组成,所述将各所述第一训练样本输入所述目标物体检测模型进行迭代训练的步骤,包括:
S201:根据预设尺寸,从各所述目标物体loss值中筛选出小目标物体的总loss值,所述小目标物体的尺寸与所述预设尺寸对应;
S202:在当前次迭代训练中,判断所述小目标物体的总loss值与所述目标总loss值之间的比值是否大于阈值;
S203:若所述比值小于阈值,则在下一次迭代训练前,将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本,并使用各所述第二训练样本对所述目标物体检测模型进行训练。
进一步的,所述将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本的步骤,包括:
S2031:随机选择预设数量的所述第一训练样本按照预设比例进行缩小,得到若干个第三训练样本,其中,所述第三训练样本的图像宽高比与所述第一训练样本的图像宽高比相同;
S2032:将各所述第三训练样本拼接在同一张图像中,得到所述第二训练样本,其中,所第二训练样本的图像尺寸与所述第一训练样本的图像尺寸一致。
该计算机程序被处理器执行时还用于实现一种物体检测方法。上述处理器执行上述物体检测方法的步骤:
A1:采集物体图像;
A2:将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
A3:根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种目标物体检测模型的训练方法,所述目标物体检测模型的结构与上述任一项所述的目标物体检测的结构相同,所述目标物体检测模型的训练方法具体为:
S1:获取多个第一训练样本,所述第一训练样本为标记有目标物体的图片;
S2:将各所述第一训练样本输入所述目标物体检测模型进行迭代训练,直至当前次迭代训练得到的目标总loss值与上一次迭代训练得到的目标总loss值一致,则停止迭代训练。
进一步的,所述目标总loss值由多个目标物体loss值组成,所述将各所述第一训练样本输入所述目标物体检测模型进行迭代训练的步骤,包括:
S201:根据预设尺寸,从各所述目标物体loss值中筛选出小目标物体的总loss值,所述小目标物体的尺寸与所述预设尺寸对应;
S202:在当前次迭代训练中,判断所述小目标物体的总loss值与所述目标总loss值之间的比值是否大于阈值;
S203:若所述比值小于阈值,则在下一次迭代训练前,将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本,并使用各所述第二训练样本对所述目标物体检测模型进行训练。
进一步的,所述将各所述第一训练样本按照预设数量为一组拼接为一张图片,得到若干个第二训练样本的步骤,包括:
S2031:随机选择预设数量的所述第一训练样本按照预设比例进行缩小,得到若干个第三训练样本,其中,所述第三训练样本的图像宽高比与所述第一训练样本的图像宽高比相同;
S2032:将各所述第三训练样本拼接在同一张图像中,得到所述第二训练样本,其中,所第二训练样本的图像尺寸与所述第一训练样本的图像尺寸一致。
计算机程序被处理器执行时还实现一种物体检测方法,所述物体检测方法具体为:
A1:采集物体图像;
A2:将所述物体图像输入预先构建的目标物体检测模型中,经过特征提取和分类后,得到目标物体在所述物体图像中的坐标值,其中,所述目标物体检测模型为上述任一所述的目标物体检测模型的训练方法训练得到的模型;
A3:根据所述坐标值,在所述物体图像上标示出所述目标物体的位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。