一种商品检测方法、装置、电子设备及存储介质与流程

文档序号:23720354发布日期:2021-01-24 07:49阅读:107来源:国知局
一种商品检测方法、装置、电子设备及存储介质与流程

[0001]
本申请属于计算机技术领域,具体涉及一种商品检测方法、装置、电子设备及存储介质。


背景技术:

[0002]
目前商品检测采用的算法通常为一般的物体检测算法,该物体检测算法不太适用于商品密集陈列场景。商品密集陈列场景的特殊性在于,在一张图片中商品的数量非常多,摆放非常密集,而通常相邻摆放的商品外观类似或完全相同,以上特点给判断此类场景中的商品的边界带来了很大的困难。在实际应用中,若将一般地物体检测算法应用于此类场景的过程中,会发现,不准确的或者相互重叠的检测结果十分常见。而一般的物体检测算法去掉重复检测结果所采用的是非极大抑制的方法,此方法对于去除上述错误检测结果的效果有限,而且最终效果很大程度上取决于人为设置的参数,若参数设置的不好,则容易导致多检或者漏检。


技术实现要素:

[0003]
鉴于此,本申请的目的在于提供一种商品检测方法、装置、电子设备及存储介质,以改善现有商品检测方法容易出现误检以及漏检的问题。
[0004]
本申请的实施例是这样实现的:
[0005]
第一方面,本申请实施例提供了一种商品检测方法,包括:获取待检测的商品图像;利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果,所述基本信息包括检测商品的边框信息、预测得分以及特征向量,k为正整数;基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布;基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果。本申请实施例中,通过注意力机制综合考虑了原始检测结果带来的信息,将杂乱的原始检测结果表示为一个高斯混合分布,利用第一高斯混合分布对原始检测结果进行处理,获取最终的检测商品,有效减少了密集场景下物体检测结果边界判断错误、漏检、多检、相互重叠等情况。
[0006]
结合第一方面实施例的一种可能的实施方式,基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布,包括:基于k个检测商品各自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数;基于k个检测商品各自的边框信息得到各自对应的二维高斯分布;根据k个检测商品各自对应的高斯分布系数以及二维高斯分布,得到所述第一高斯混合分布。本申请实施例中,在将原始检测结果表示为高斯混合分布时,基于k个检测商品各自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数,然后基于k个检测商品各自的边框信息得到各自对应的二维高斯分布,最后再基于根据k个检测商品各自对应的高斯分布系数以及二维高斯分布,得到第一高斯混合分布,使得该第一高斯混合分布尽可能地将
原始检测结构中的所有特征都考虑进去,以提高其可靠性和准确性。
[0007]
结合第一方面实施例的一种可能的实施方式,基于k个检测商品各自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数,包括:根据k个检测商品的预测得分的排序结果得到各自的序号,并将各个序号分别转换为高维向量;将由k个高维向量构成的向量矩阵与由k个检测商品各自的特征向量构成的特征向量矩阵相加;基于k个检测商品各自的边框信息,计算k个检测商品中任意两个商品的相对四维坐标;将各个相对四维坐标分别转换为高维向量;利用注意力机制对各个相对四维坐标对应的高维向量以及相加后得到的向量矩阵进行处理,得到处理结果;将所述处理结果的维度映射到与所述原始检测结果的维度一致,得到k个检测商品各自对应的高斯分布系数。本申请实施例中,先根据k个检测商品的预测得分的排序结果得到各自的序号,并将各个序号分别转换为高维向量,然后将由k个高维向量构成的向量矩阵与由k个检测商品各自的特征向量构成的特征向量矩阵相加,作为注意力模块的视觉特征,同时,基于k个检测商品各自的边框信息,计算k个检测商品中任意两个商品的相对四维坐标,并将各个相对四维坐标分别转换为高维向量,以此作为注意力模块的位置特征,使得可能地将原始检测结构中的所有特征都考虑进去,以提高其可靠性和准确性;此外,先对输入注意力模块的向量进行升维,以尽可能的涵盖原图像中更多的特征,然后再对注意力模块输出的处理结果进行降维,使其与原始检测结果的维度一致,以保证结果的可靠性和正确性。
[0008]
结合第一方面实施例的一种可能的实施方式,基于k个检测商品各自的边框信息得到各自对应的二维高斯分布,包括:针对每一个检测商品,获取该检测商品的边框的中心点坐标,以及边框的宽和高;根据所述中心点坐标,以及所述边框的宽和高,得到该检测商品对应的二维高斯分布,其中,该二维高斯分布的均值为所述中心点坐标,该二维高斯分布在宽度方向的方差为该边框的宽的一半,该二维高斯分布在高度方向的方差为该边框的高的一半。本申请实施例中,针对每一个检测商品,获取该检测商品的边框的中心点坐标作为该检测商品对应的二维高斯分布的均值,将该边框的宽的一半作为该二维高斯分布在宽度方向的方差,以及将该边框的高的一半作为该二维高斯分布在高度方向的方差,使得该二维高斯分布能够准确的表示该边框信息,且不会包含其余的边框信息。
[0009]
结合第一方面实施例的一种可能的实施方式,基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果,包括:基于所述第一高斯混合分布计算预设的第二高斯混合分布的参数,其中,所述第二高斯混合分布所包含的二维高斯分布个数小于所述第一高斯混合分布所包含的二维高斯分布个数;获取所述第二高斯混合分布中任意两个分布的重合度,筛选出重合度大于预设阈值的二维高斯分布,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布;针对所述第二高斯混合分布中剩余的每一个二维高斯分布,获取落在该二维高斯分布a倍标准差区间内的原始检测商品,a为正数;基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品。本申请实施例中,通过减少高斯分布数量对原始分布进行模拟,通过求解使该分布(第二高斯混合分布)与原分布(第一高斯混合分布)的kl散度最小化的参数,来得到新分布的参数,在新的高斯混合分布(第二高斯混合分布)中,获取第二高斯混合分布中任意两个分布的重合度,筛选出重合度大于预设阈值的二维高斯分布,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布,针对第二高斯混合分布中剩余的每一个二维高斯分布,获取
落在该二维高斯分布a倍标准差区间内的原始检测商品,并基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品,以保证最终检测商品的可靠性和准确性。
[0010]
结合第一方面实施例的一种可能的实施方式,所述基本信息还包括检测商品所属的类型,基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品之后,所述方法还包括:基于获取的落在该高斯分布a倍标准差区间内的原始检测商品所属的类型,确定所述最终检测商品的类型。本申请实施例中,基于获取的落在该高斯分布a倍标准差区间内的原始检测商品所属的类型,来确定最终检测商品的类型,使得所确定的最终检测商品的类型是可靠的,且准确的。
[0011]
结合第一方面实施例的一种可能的实施方式,在利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果之前,所述方法还包括:获取多张商品图像,并对每张商品图像进行标记,得到样本数据;利用所述样本数据对深度学习模型进行训练的,得到所述训练好的基本检测模型。
[0012]
第二方面,本申请实施例还提供了一种商品检测装置,包括:获取模块以及处理模块;获取模块,用于获取待检测的商品图像;处理模块,用于利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果,所述基本信息包括检测商品的边框信息、预测得分以及特征向量,k为正整数,以及基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布;以及还用于基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果。
[0013]
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
[0014]
第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
[0015]
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
[0016]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
[0017]
图1示出了本申请实施例提供的一种商品检测方法的流程示意图。
[0018]
图2示出了本申请实施例提供的一种商品检测方法的原理示意图。
[0019]
图3示出了本申请实施例提供的一种商品检测装置的模块框图。
[0020]
图4示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0021]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0022]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0023]
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
[0024]
鉴于现有的商品检测方法容易出现误检以及漏检的问题,本申请实施例提供了一种商品检测方法,通过融合高斯混合分布来改善密集摆放场景下的商品检测结果,以提高商品检测的准确性。下面将结合图1,对本申请实施例提供的商品检测方法进行说明。
[0025]
步骤s101:获取待检测的商品图像。
[0026]
获取待检测的商品图像,如通过终端对待检测的商品图像进行拍照上传服务器。
[0027]
步骤s102:利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果,所述基本信息包括检测商品的边框信息、预测得分以及特征向量。
[0028]
在获取到待检测的商品图像后,利用预先训练好的基本检测模型对该商品图像进行检测,便可得到包含k个检测商品的基本信息的原始检测结果。其中,该基本信息包括检测商品的边框信息(bounding boxes)、预测得分(scores)以及特征向量(features),k为正整数。其中,该基本检测模型为目前常见的商品检测模型,可以通过以下方式训练获得:获取多张商品图像,并对每张商品图像进行标记,例如多张商品图像中的各个商品的边框进行标记,得到样本数据,然后利用该样本数据对深度学习模型进行训练,便可得到训练好的基本检测模型。其中,具体的模型训练过程已经为本领域技术人员所熟知,在此不再介绍。
[0029]
步骤s103:基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布。
[0030]
在得到原始检测结果后,将原始检测结果表示为高斯混合分布,也即基于k个检测商品各自的边框信息、预测得分以及特征向量来得到由k个二维高斯分布混合的第一高斯混合分布。
[0031]
一种可选地实施方式下,基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布的过程可以是:基于k个检测商品各
自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数;同时,基于k个检测商品各自的边框信息得到各自对应的二维高斯分布;然后根据k个检测商品各自对应的高斯分布系数以及二维高斯分布,得到该第一高斯混合分布。在得到k个检测商品各自对应的高斯分布系数以及二维高斯分布后,针对每一个检测商品,将该检测商品对应的高斯分布系数与该检测商品对应的二维高斯分布相乘,得到乘积结果;然后再将各个乘积结果相加,便可得到第一高斯混合分布。为了便于理解,以k为5为例(实际情况大于5),则第一高斯混合分布为:检测商品1的高斯分布系数*检测商品1的二维高斯分布+检测商品2的高斯分布系数*检测商品2的二维高斯分布+检测商品3的高斯分布系数*检测商品3的二维高斯分布+检测商品4的高斯分布系数*检测商品4的二维高斯分布+检测商品5的高斯分布系数*检测商品5的二维高斯分布。
[0032]
其中,基于k个检测商品各自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数的过程可以是:根据k个检测商品的预测得分的排序结果得到各自的序号,并将各个序号分别转换为高维向量,然后将由k个高维向量构成的向量矩阵与由k个检测商品各自的特征向量构成的特征向量矩阵相加,同时,基于k个检测商品各自的边框信息,计算k个检测商品中任意两个商品的相对四维坐标,并将各个相对四维坐标分别转换为高维向量;然后利用注意力机制(注意力模块)对各个相对四维坐标对应的高维向量以及相加后得到的向量矩阵进行处理,得到处理结果;最后再将该处理结果的维度映射到与所述原始检测结果的维度一致,便可得到k个检测商品各自对应的高斯分布系数。也即对k个检测商品的预测得分进行排序,根据从高到底的排序结果得到各自的序号(如检测商品1的序号为3、检测商品2的为2、检测商品3的序号为1、检测商品4的序号为5、检测商品5的序号为4),并将各个序号嵌入到高维空间,分别转换为高维向量;然后将由k个高维向量构成的向量矩阵与由k个检测商品各自的特征向量构成的特征向量矩阵相加,其中,在进行矩阵相加时,需要保证两者的维度相同,若维度不同,需要转换为一样,例如通过矩阵乘法,将k个检测商品各自的特征向量(features)映射到与高维空间相同的维度,然后再相加,作为注意力模块(relation)的视觉特征。同时,基于k个检测商品各自的边框信息,计算k个检测商品中任意两个商品的相对四维坐标,得到k*k个相对四维坐标,例如,计算检测商品1与检测商品1的相对四维坐标,检测商品1与检测商品2的相对四维坐标,检测商品1与检测商品3的相对四维坐标,检测商品1与检测商品4的相对四维坐标,检测商品1与检测商品5的相对四维坐标;计算检测商品2与检测商品1的相对四维坐标,检测商品2与检测商品2的相对四维坐标,检测商品2与检测商品3的相对四维坐标,检测商品2与检测商品4的相对四维坐标,检测商品2与检测商品5的相对四维坐标;计算检测商品3与检测商品1的相对四维坐标,检测商品3与检测商品2的相对四维坐标,检测商品3与检测商品3的相对四维坐标,检测商品3与检测商品4的相对四维坐标,检测商品3与检测商品5的相对四维坐标
……
然后将得到的各个相对四维坐标分别迁入到高维空间,分别转换为高维向量,然后,利用注意力机制(注意力模块)对各个相对四维坐标对应的高维向量以及相加后得到的向量矩阵进行处理,得到处理结果,最后再对注意力模块输出的处理结果进行降维度,将处理结果的维度映射到与原始检测结果的维度一致,施加激活函数(sigmoid)进行激活,便可得到k个检测商品各自对应的高斯分布系数,作为第一高斯混合分布(mog)的系数。
[0033]
其中,计算任意两个商品的相对四维坐标的公式为:
[0034]
其中,m、n为检测商品的边框序号,取值为1至k,x、y为边框中心点坐标,w为边框的宽度,h为边框的高度。
[0035]
其中,将低维的序号转换为高维向量以及将注意力模块输出的高维处理结果转换为低维的处理结果的具体过程,已经为本领域技术人员所熟知,在此不再介绍。
[0036]
其中,基于k个检测商品各自的边框信息得到各自对应的二维高斯分布的过程可以是:针对每一个检测商品,获取该检测商品的边框的中心点坐标,以及边框的宽和高,然后根据获取的中心点坐标,以及边框的宽和高,得到该检测商品对应的二维高斯分布,其中,该二维高斯分布的均值为中心点坐标,该二维高斯分布在宽度方向的方差为该边框的宽的一半,该二维高斯分布在高度方向的方差为该边框的高的一半。需要说明的是,基于检测商品的边框信息得到对应的二维高斯分布的过程并不限于此,例如可以是该检测商品的边框的中心点坐标之外的坐标作为该二维高斯分布的均值,该二维高斯分布在宽度方向的方差也可以不为该边框的宽的一半,同理,该二维高斯分布在高度方向的方差也可以不为该边框的高的一半。
[0037]
其中,注意力机制中涉及的注意力模块部分已经为本领域技术人员所熟知,为了避免累赘,此处不再描述。
[0038]
步骤s104:基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果。
[0039]
在得到由k个二维高斯分布混合的第一高斯混合分布后,基于所述第一高斯混合分布对所述原始检测结果进行处理,便可得到最终的商品检测结果。
[0040]
一种可选实施方式下,基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果的过程可以是:基于第一高斯混合分布计算预设的第二高斯混合分布的参数,其中,第二高斯混合分布所包含的二维高斯分布个数小于第一高斯混合分布所包含的二维高斯分布个数;在计算第二高斯混合分布的参数后,再获取第二高斯混合分布中任意两个分布的重合度,筛选出重合度大于预设阈值的二维高斯分布,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布,然后针对第二高斯混合分布中剩余的每一个二维高斯分布,获取落在该二维高斯分布a倍标准差区间内的原始检测商品,a为正数,最后基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品。其中,基于第一高斯混合分布计算预设的第二高斯混合分布的参数的过程可以是:事先给定最终可能出现的商品个数(该个数小于k),并以此假定一个新的高斯混合分布(第二高斯混合分布),并通过求解使该分布(第二高斯混合分布)与原分布(第一高斯混合分布)的kl(kullback-leibler)散度最小化的参数,来得到新分布的参数,该过程可通过最大似然算法(如e-m算法)多次迭代实现,最终得到新分布的参数。其中,利用e-m算法求解使该分布(第二高斯混合分布)与原分布(第一高斯混合分布)的kl散度最小化的参数的具体过程已经为本领域技术人员所熟知,在此不再介绍。在新的高斯混合分布(第二高斯混合分布)中,通过设置阈值去掉其中部分与其他高斯分布重合度较大而系数较小的高斯分布,也即获取该高斯分布中任意两个分布的重合度,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布,例如,分布1与分布2的重合度大于预设阈值,则剔除分布1以及分布2中系数较小的分布,比如,分布1的系数小于分布2的系数,则将分布1剔除。在剔除部
分不满足要求的二维高斯分布后,针对第二高斯混合分布中剩余的每一个二维高斯分布,获取落在该二维高斯分布a倍标准差区间内的原始检测商品,a为正数,然后基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品。比如,获取落在该二维高斯分布2倍标准差区间内的原始检测商品,假设在这区间有5个商品,再基于这5个原始检测商品得到最终检测商品,例如,通过求取这5个原始检测商品的边框的坐标均值得到最终检测商品的边框坐标,该最终检测商品的边框的坐标为这5个原始检测商品的边框的坐标均值。其中,上述的预设阈值可以是70%以上的数值。
[0041]
此外,原始检测商品的基本信息除了包括检测商品的边框信息、预测得分以及特征向量外,还可以包括检测商品所属的类型,相应地,基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品之后,所述方法还包括:基于获取的落在该高斯分布a倍标准差区间内的原始检测商品所属的类型,确定最终检测商品的类型,例如,通过加权多数投票获得最终检测商品的类型。假设在该二维高斯分布2倍标准差区间内的原始检测商品有5个,其所属的类型分别为i、ii、ii、i、i,则以少数同意多数的原则,则可以确定最终检测商品的类型为i。其中,上述的a的取值并不限于2,其可以是其他数值,如1.5、1.8、2.2、2.5等数值。
[0042]
为了便于理解上述的过程,下面将结合图2所示的原理示意图进行说明。输入待检测的商品图像(input image),利用预先训练好的基本检测模型(base dedector)对商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果(raw results),其中基本信息包括检测商品的边框信息(bounding boxes,也即bboxes)、预测得分(scores)以及特征向量(features)。根据k个检测商品的预测得分的排序结果得到各自的序号,并将各个序号分别转换(rank embeded)为高维向量(w
fr
),将k个检测商品各自的特征向量(features)映射到与高维空间相同的维度,得到向量w
f
,然后将两者相加,作为注意力模块(relation)的视觉特征;同时,基于k个检测商品各自的边框信息(bboxes),计算k个检测商品中任意两个商品的相对四维坐标,并将各个相对四维坐标分别转换为高维向量,作为注意力模块(relation)的位置特征,然后利用注意力机制(attention)对各个相对四维坐标对应的高维向量以及相加后得到的向量矩阵进行处理,得到处理结果(w
s
),最后再对注意力模块输出的处理结果(w
s
)进行降维度,将处理结果的维度映射到与原始检测结果的维度一致,施加激活函数(sigmoid)进行激活,便可得到k个检测商品各自对应的高斯分布系数,作为第一高斯混合分布的系数(mog factor)。基于k个检测商品各自的边框信息(bboxes)、得到各自对应的二维高斯分布,根据k个检测商品各自对应的高斯分布系数(mog factor)以及二维高斯分布,得到第一高斯混合分布(mog)。事先给定最终可能出现的商品个数(max detections)并以此假定一个新的高斯混合分布(new mog),通过求解使该分布(new mog)与原分布(mog)的kl(kullback-leibler)散度最小化的参数,来得到新分布的参数,该过程可通过最大似然算法(如e-m算法)多次迭代实现,最终得到新分布的参数,从而得到新的高斯分布模型(new mog params);在新的高斯混合分布(第二高斯混合分布)中,获取第二高斯混合分布中任意两个分布的重合度,筛选出重合度大于预设阈值的二维高斯分布,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布,针对所述第二高斯混合分布中剩余的每一个二维高斯分布,获取落在该二维高斯分布a倍标准差区间内的原始检测商品,并基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测
商品(final result)。
[0043]
本申请实施例提供的商品检测方法,通过注意力机制(attention)综合考虑了原始检测结果带来的信息,将杂乱的原始检测结果表示为一个高斯混合分布,通过减少高斯分布数量对原始分布进行模拟,获取最终的检测商品。在实际使用当中,该方法有效减少了密集场景下物体检测结果边界判断错误、漏框、多框、相互重叠等情况。
[0044]
本申请实施例还提供了一种商品检测装置100,如图3所示,包括:获取模块110以及处理模块120。
[0045]
获取模块110,用于获取待检测的商品图像。
[0046]
处理模块120,用于利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果,所述基本信息包括检测商品的边框信息、预测得分以及特征向量,k为正整数,以及基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布;以及还用于基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果。
[0047]
可选地,处理模块120,用于基于k个检测商品各自的边框信息、预测得分以及特征向量得到k个检测商品各自对应的高斯分布系数;基于k个检测商品各自的边框信息得到各自对应的二维高斯分布;根据k个检测商品各自对应的高斯分布系数以及二维高斯分布,得到所述第一高斯混合分布。
[0048]
可选地,处理模块120,用于根据k个检测商品的预测得分的排序结果得到各自的序号,并将各个序号分别转换为高维向量;将由k个高维向量构成的向量矩阵与由k个检测商品各自的特征向量构成的特征向量矩阵相加;基于k个检测商品各自的边框信息,计算k个检测商品中任意两个商品的相对四维坐标;将各个相对四维坐标分别转换为高维向量;利用注意力机制对各个相对四维坐标对应的高维向量以及相加后得到的向量矩阵进行处理,得到处理结果;将所述处理结果的维度映射到与所述原始检测结果的维度一致,得到k个检测商品各自对应的高斯分布系数。
[0049]
可选地,处理模块120,用于针对每一个检测商品,获取该检测商品的边框的中心点坐标,以及边框的宽和高;根据所述中心点坐标,以及所述边框的宽和高,得到该检测商品对应的二维高斯分布,其中,该二维高斯分布的均值为所述中心点坐标,该二维高斯分布在宽度方向的方差为该边框的宽的一半,该二维高斯分布在高度方向的方差为该边框的高的一半。
[0050]
可选地,处理模块120,用于基于所述第一高斯混合分布计算预设的第二高斯混合分布的参数,其中,所述第二高斯混合分布所包含的二维高斯分布个数小于所述第一高斯混合分布所包含的二维高斯分布个数;获取所述第二高斯混合分布中任意两个分布的重合度,筛选出重合度大于预设阈值的二维高斯分布,并剔除重合度大于预设阈值的两个分布中系数较小的二维高斯分布;针对所述第二高斯混合分布中剩余的每一个二维高斯分布,获取落在该二维高斯分布a倍标准差区间内的原始检测商品,a为正数;基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品。
[0051]
可选地,所述基本信息还包括检测商品所属的类型,处理模块120还用于基于获取的落在该二维高斯分布a倍标准差区间内的原始检测商品,得到最终检测商品之后,基于获取的落在该高斯分布a倍标准差区间内的原始检测商品所属的类型,确定所述最终检测商
品的类型。
[0052]
本申请实施例所提供的商品检测装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0053]
如图4所示,图4示出了本申请实施例提供的一种的电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
[0054]
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图3中所示的软件功能模块,即商品检测装置100。其中,商品检测装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,os)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如商品检测装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取待检测的商品图像;利用预先训练好的基本检测模型对所述商品图像进行检测,得到包含k个检测商品的基本信息的原始检测结果,所述基本信息包括检测商品的边框信息、预测得分以及特征向量,k为正整数;基于k个检测商品各自的边框信息、预测得分以及特征向量,得到由k个二维高斯分布混合的第一高斯混合分布;基于所述第一高斯混合分布对所述原始检测结果进行处理,得到最终的商品检测结果。
[0055]
其中,存储器220可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
[0056]
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
[0057]
其中,上述的电子设备200,包括但不限于计算机、服务器等。
[0058]
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的商品检测方法。
[0059]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0060]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一
部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0061]
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0062]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0063]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1