本发明涉及计算机视觉领域,具体涉及一种基于sku图像识别的算法模型测试方法及测试系统。
背景技术:
现有的订单自动结算系统通常通过图像识别系统识别出货柜中商品变化后,根据商品变化自动生成订单。在进行图像识别时,采集货柜柜门开启前和关闭后的两组图像和两组重量数据,将两组图像输入到图像识别系统的算法模块,基于算法模块中预设的算法模型进行图像识别处理得到两组图像中的所有商品,通过比对两组图像中的商品图像变化和商品重量变化得到用户取放的所有商品的种类和数量,然后根据用户取放的所有商品的种类和数量处理得到商品订单,用户根据该商品订单进行支付后即可完成一次商品购买。
图像识别系统的算法模块通常需要依照sku列表模板进行训练来得到能够在实际使用中准确识别所有包含在该sku列表模板中的商品sku。依照sku列表模板训练上述算法模块的具体步骤包括:
步骤a1、从sku列表模板中任意选择一个或多个商品sku;
步骤a2、在本地测试实验室内的安装有图像识别系统的商品货柜上进行模拟购物(即从商品货柜中取出步骤a1中选择的商品sku。如果步骤a1中选择一个商品sku,则步骤a2中模拟购物时从商品货柜中也取出或放进一个商品sku;如果步骤a1中选择多个商品sku,则步骤a2中模拟购物时从商品货柜中也取出或放进多个商品sku中的至少一个),图像识别系统采集模拟购物前后货柜内部的两组图像和两组重量,将两组图像输入到图像识别系统的算法模块,基于算法模块中预设的算法模型进行图像识别处理得到两组图像中的所有商品,将上述模拟购物操作为一个测试用例;
步骤a3、通过比对两组图像中的商品图像变化和商品重量变化得到用户取放的所有商品的种类和数量,然后根据用户取放的所有商品的种类和数量处理得到商品订单,用户根据该商品订单进行支付后即可完成一次商品购买;
步骤a4、将图像识别系统处理得到的商品订单和实际订单比较,判断算法模块识别的比例和准确率,如果商品订单和实际订单一致则不需要继续优化算法模块,如果商品订单和实际订单不一致则需要根据实际订单继续优化算法模块。
算法模块直接关系着图像识别系统的性能,进而直接关系着订单自动结算系统的性能。现有的图像识别系统主要存在以下两个缺点:
1)每次都需要识别货柜内图像中包含的所有商品,识别效率较低。
2)训练算法模型时需要针对sku列表模板中每一项商品sku,选取该商品sku并在真实设备上进行模拟购物,通过比对算法模型识别出的商品订单和实际订单,统计识别的比例和准确率,效率低下,以测试100个测试用例为例,需要耗时4小时,且无法排除由于重力测量不准确引起的算法识别错误。
3)能够识别的商品sku必须包含在前期对算法模型进行训练时采用的sku列表模板中,一旦sku列表模板发生变化,就需要重新进行模拟购物并采集测试订单,原有的测试用例无法复用。
技术实现要素:
本发明的目的在于提供一种基于sku图像识别的算法模型测试方法及测试系统,以解决现有算法模型测试效率低、测试用例无法复用的技术问题。
为达此目的,本发明采用以下技术方案:
提供一种基于sku图像识别的算法模型测试方法,用于对智能货柜的图像识别算法模型的性能进行测试,其特征在于,包括如下步骤:
步骤s1、通过线上销售系统采集多个关联于特定商品sku的测试用例并存储至测试数据库,每个测试用例包括一测试订单和所述智能货柜开门前采集的第一测试图像和所述智能货柜关门后采集的第二测试图像,所述测试订单中的所有测试商品sku由所述特定商品sku和普通商品sku构成;
步骤s2、根据需要测试的sku列表模板,从所述测试数据库中筛选目标测试用例形成测试集,所述sku列表模板中包含所述测试集中的所有所述测试商品sku;
步骤s3、通过一预先训练的算法模型对所述测试集中每个所述测试用例中的所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对每个所述测试用例的订单识别结果,然后将所述订单识别结果和对应的所述测试用例中的所述测试订单的预期订单结果进行比对,以判断所述订单识别结果是否符合预期要求,并形成一测试报告并输出。
作为本发明的一种优选方案,所述步骤s1中,根据每个所述测试用例中对所述普通商品sku的移动数量,对各所述测试用例进行分类后按类别将各所述测试用例存储到所述测试数据库中。
作为本发明的一种优选方案,所述步骤s2中,根据需要测试的所述sku列表模板中的所述测试商品sku的数量,从所述测试数据库中筛选出所述普通商品sku的移动数量不小于所述sku列表模板中的所述测试商品sku数量的所述测试用例并形成所述测试集。
作为本发明的一种优选方案,所述步骤s1中,每个所述测试用例还包括第一重量数据和第二重量数据,所述第一重量数据是所述智能货柜开门前采集的所述智能货柜的重量数据,所述第二重量数据是所述智能货柜关门后采集的所述智能货柜的重量数据,所述算法模型结合所述第一重量数据和所述第二重量数据的重量差,对所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对所述测试用例的所述订单识别结果。
本发明还提供了一种基于sku图像识别的算法模型测试系统,可实现所述方法,所述系统包括:
测试用例采集模块,用于通过线上销售系统采集多个关联于特定商品sku的所述测试用例,每个所述测试用例包括所述测试订单和所述智能货柜开门前采集的所述第一测试图像和所述智能货柜关门后采集的所述第二测试图像;
测试数据库,连接所述测试用例采集模块,用于存储所述测试用例;
sku列表模板获取模块,用于获取待测试的所述sku列表模板,所述sku列表模板中包含至少一个所述测试商品sku;
测试用例筛选模块,分别连接所述测试数据库和所述sku列表模板获取模块,用于根据待测试的所述sku列表模板,从所述测试数据库中筛选出目标测试用例形成所述测试集;
图像识别模块,连接所述测试用例筛选模块,用于基于预设的所述算法模型,对所述测试集中每个所述测试用例中的所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对每个所述测试用例的订单识别结果;
订单识别结果判断模块,连接所述图像识别模块,用于将所述订单识别结果和对应的所述测试用例中的所述测试订单的预期订单结果进行结果比对,以判断所述订单识别结果是否符合预期要求;
测试报告形成模块,连接所述订单识别结果判断模块,用于根据订单识别判断结果形成所述测试报告并输出。
作为本发明的一种优选方案,根据每个所述测试用例中对所述普通商品sku的移动数量,对各所述测试用例进行分类后按类别将各所述测试用例存储到所述测试数据库中。
作为本发明的一种优选方案,根据需要测试的所述sku列表模板中的所述测试商品sku的数量,从所述测试数据库中筛选出所述普通商品sku的移动数量不小于所述sku列表模板中的所述测试商品sku数量的所述测试用例并形成所述测试集。
作为本发明的一种优选方案,每个所述测试用例还包括第一重量数据和第二重量数据,所述第一重量数据是所述智能货柜开门前采集的所述智能货柜的重量数据;所述第二重量数据是采集的智能货柜关门后所述智能货柜的重量数据,所述算法模型结合所述第一重量数据和所述第二重量数据的重量差,对所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对所述测试用例的所述订单识别结果。
本发明解决了现有的算法模型测试系统测试效率低、测试用例无法复用的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例所述的基于sku图像识别的算法模型测试方法的方法步骤图;
图2是本发明一实施例所述的基于sku图像识别的算法模型测试系统的系统结构图;
图3是所述算法模型识别得到所述订单识别结果的流程示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
请参照图1,本发明实施例提供的一种基于sku图像识别的算法模型测试方法,用于对智能货柜的图像识别算法模型的性能进行测试,该方法包括:
步骤s1、通过线上销售系统采集多个关联于特定商品sku(库存进出计量的基本单元)的测试用例并存储至测试数据库,每个测试用例包括一测试订单和智能货柜开门前采集的第一测试图像和智能货柜关门后采集的第二测试图像,测试订单中的所有测试商品sku由特定商品sku和普通商品sku构成;特定商品sku为特定商品品类下的商品sku;
步骤s2、根据需要测试的sku列表模板,从测试数据库中筛选目标测试用例形成测试集,sku列表模板中包含测试集中的所有测试商品sku。
步骤s3、通过一预先训练的算法模型对测试集中每个测试用例中的第一测试图像和第二测试图像进行图像识别比对,得到针对每个测试用例的订单识别结果,然后将订单识别结果和对应的测试用户中的测试订单的预期订单结果进行比对,以判断订单识别结果是否符合预期要求,并形成一测试报告并输出。
在本实施例中,只需针对每一种商品sku一次性线上采集一批测试用例存储到测试数据库中。当用户的测试需求改变时,只需根据用户改变的sku列表模板,从测试数据库中获取相应的测试集对算法模型进行重新测试即可,提高了对算法模型测试的灵活度和测试效率,能够满足用户多变的算法模型测试需求。
根据实验表明,通过本发明实施例提供的算法模型测试方法,以往对100个测试用例需耗时4个小时左右,现在对100个测试用例的测试时间减少到15分钟左右,大幅提高了对算法模型的测试效率。为了便于从测试数据库中筛选出符合测试需求的测试用例,优选地,步骤s1中,根据每个测试用例中对普通商品sku的移动数量,对各测试用例进行分类后按类别将各测试用例存储到测试数据库中。比如在一个测试用例中,在智能货柜开门前采集的第一测试图像中的普通商品sku的数量为10个,在智能货柜关门后采集的第二测试图像在中的普通商品sku的数量为8个,则表明用户购买了两个商品,本实施例中,可以将普通商品sku移动数量(增减数量)为2时,将对应的测试用例的类别标记为take-1,将普通商品sku为其他移动数量时,将对应的测试用例的类别标记为take-2、take-3等。
对应的,步骤s2中,根据需要测试的sku列表模板中的测试商品sku的数量,从测试数据库中筛选出普通商品sku的移动数量不小于sku列表模板中的测试商品sku数量的测试用例并形成测试集。比如需要测试的sku列表模板中的测试商品sku的数量为2,那么从测试数据库中筛选出普通商品sku的移动数量(增减数量)不小于2的测试用例并形成测试集。普通商品sku移动数量为1(也就是用户指购买了一个商品或添加了一个商品)的测试用例将被自动过滤掉。
为了提高算法模型的识别精度,步骤s1中,每个测试用例还包括第一重量数据和第二重量数据,第一重量数据是智能货柜开门前采集的智能货柜的重量数据,第二重量数据是智能货柜关门后采集的智能货柜的重量数据,算法模型结合第一重量数据和第二重量数据的重量差,对第一测试图像和第二测试图像进行图像识别比对,得到针对测试用例的订单识别结果。
上述技术方案中,请结合图1和图3,基于sku图像识别的算法模型测试方法的具体过程简述如下:
在本实施例中,针对特定商品sku,通过线上环境收集测试订单,导入到测试数据库作为测试用例,将测试用例依据实际移动商品sku的数量进行分类,分别标记为take-1、take-2、take-3。根据需要测试的sku列表模板,筛选数据库的测试用例,形成测试集,筛选的条件是测试用例中take-1、take-2、take-3所包含的商品sku均包含在待测试的sku列表模板内。测试服务器将测试集数据传给算法服务器。算法服务器(算法模型)结合智能货柜开门前后的重量数据,对开门前后的第一测试图像和第二测试图像进行识别比对,并给出订单识别结果。订单识别结果返回给测试服务器,与订单预期结果(测试集中每个测试用例中实际取放的商品sku)进行对比,判断算法识别正确与否,,并形成测试报告并输出。
图3中的英文detection为对所述第一测试图像或所述第二测试图像的图像识别结果;diff为在第一测试图像框选出的与第二测试图像不一样的区域,或在第二测试图像上框选出的与第一测试图像不一样的区域;classification为对框选的不一样的区域进行商品分类。
请参照图2,,本发明实施例还提供了一种基于sku图像识别的算法模型测试系统,该系统可实现上述的算法模型测试方法,该系统具体包括:
测试用例采集模块1,用于通过线上销售系统采集多个关联于特定商品sku的测试用例,每个测试用例包括测试订单和智能货柜开门前采集的第一测试图像和智能货柜关门后采集的第二测试图像;
测试数据库2,连接测试用例采集模块1,用于存储测试用例;
sku列表模板获取模块3,用于获取待测试的sku列表模板,sku列表模板中包含至少一个测试商品sku;
测试用例筛选模块4,分别连接测试数据库2和sku列表模板获取模块3,用于根据待测试的sku列表模板,从测试数据库中筛选出目标测试用例形成测试集;
图像识别模块5,连接测试用例筛选模块4,用于基于预设的算法模型,对测试集中每个测试用例中的第一测试图像和第二测试图像进行图像识别比对,得到针对每个测试用例的订单识别结果;
订单识别结果判断模块6,连接图像识别模块5,用于将订单识别结果和对应的测试用例中的测试订单的预期订单结果进行结果比对,以判断订单识别结果是否符合预期要求;
测试报告形成模块7,连接订单识别结果判断模块6,用于根据订单识别判断结果形成测试报告并输出。
优选地,根据每个测试用例中对普通商品sku的移动数量(商品增减数量),对各测试用例进行分类后按类别将各测试用例存储到测试数据库中。
优选地,根据需要测试的sku列表模板中的测试商品sku的数量,从测试数据库中筛选出普通商品sku的移动数量不小于sku列表模板中的测试商品sku数量的测试用例并形成测试集。
优选地,每个测试用例还包括第一重量数据和第二重量数据,第一重量数据是智能货柜开门前采集的智能货柜的重量数据;第二重量数据是智能货柜关门后采集的智能货柜的重量数据,算法模型结合第一重量数据和第二重量数据的重量差,对第一测试图像和第二测试图像进行图像识别比对,得到针对测试用例的订单识别结果。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。
1.一种基于sku图像识别的算法模型测试方法,用于对智能货柜的图像识别算法模型的性能进行测试,其特征在于,包括如下步骤:
步骤s1、通过线上销售系统采集多个关联于特定商品sku的测试用例并存储至测试数据库,每个测试用例包括一测试订单和所述智能货柜开门前采集的第一测试图像和所述智能货柜关门后采集的第二测试图像,所述测试订单中的所有测试商品sku由所述特定商品sku和普通商品sku构成;
步骤s2、根据需要测试的sku列表模板,从所述测试数据库中筛选目标测试用例形成测试集,所述sku列表模板中包含所述测试集中的所有所述测试商品sku;
步骤s3、通过一预先训练的算法模型对所述测试集中每个所述测试用例中的所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对每个所述测试用例的订单识别结果,然后将所述订单识别结果和对应的所述测试用例中的所述测试订单的预期订单结果进行比对,以判断所述订单识别结果是否符合预期要求,并形成一测试报告并输出。
2.如权利要求1所述的算法模型测试方法,其特征在于,所述步骤s1中,根据每个所述测试用例中对所述普通商品sku的移动数量,对各所述测试用例进行分类后按类别将各所述测试用例存储到所述测试数据库中。
3.如权利要求2所述的算法模型测试方法,其特征在于,所述步骤s2中,根据需要测试的所述sku列表模板中的所述测试商品sku的数量,从所述测试数据库中筛选出所述普通商品sku的移动数量不小于所述sku列表模板中的所述测试商品sku数量的所述测试用例并形成所述测试集。
4.如权利要求1所述的算法模型测试方法,其特征在于,所述步骤s1中,每个所述测试用例还包括第一重量数据和第二重量数据,所述第一重量数据是所述智能货柜开门前采集的所述智能货柜的重量数据,所述第二重量数据是所述智能货柜关门后采集的所述智能货柜的重量数据,所述算法模型结合所述第一重量数据和所述第二重量数据的重量差,对所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对所述测试用例的所述订单识别结果。
5.一种基于sku图像识别的算法模型测试系统,可实现如权1-4任意一项所述的方法,其特征在于,包括:
测试用例采集模块,用于通过线上销售系统采集多个关联于特定商品sku的所述测试用例,每个所述测试用例包括所述测试订单和所述智能货柜开门前采集的所述第一测试图像和所述智能货柜关门后采集的所述第二测试图像;
测试数据库,连接所述测试用例采集模块,用于存储所述测试用例;
sku列表模板获取模块,用于获取待测试的所述sku列表模板,所述sku列表模板中包含至少一个所述测试商品sku;
测试用例筛选模块,分别连接所述测试数据库和所述sku列表模板获取模块,用于根据待测试的所述sku列表模板,从所述测试数据库中筛选出目标测试用例形成所述测试集;
图像识别模块,连接所述测试用例筛选模块,用于基于预设的所述算法模型,对所述测试集中每个所述测试用例中的所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对每个所述测试用例的订单识别结果;
订单识别结果判断模块,连接所述图像识别模块,用于将所述订单识别结果和对应的所述测试用例中的所述测试订单的预期订单结果进行结果比对,以判断所述订单识别结果是否符合预期要求;
测试报告形成模块,连接所述订单识别结果判断模块,用于根据订单识别判断结果形成所述测试报告并输出。
6.如权利要求5所述的算法模型测试系统,其特征在于,根据每个所述测试用例中对所述普通商品sku的移动数量,对各所述测试用例进行分类后按类别将各所述测试用例存储到所述测试数据库中。
7.如权利要求5所述的算法模型测试系统,其特征在于,根据需要测试的所述sku列表模板中的所述测试商品sku的数量,从所述测试数据库中筛选出所述普通商品sku的移动数量不小于所述sku列表模板中的所述测试商品sku数量的所述测试用例并形成所述测试集。
8.如权利要求5所述的算法模型测试系统,其特征在于,每个所述测试用例还包括第一重量数据和第二重量数据,所述第一重量数据是所述智能货柜开门前采集的所述智能货柜的重量数据;所述第二重量数据是采集的智能货柜关门后所述智能货柜的重量数据,所述算法模型结合所述第一重量数据和所述第二重量数据的重量差,对所述第一测试图像和所述第二测试图像进行图像识别比对,得到针对所述测试用例的所述订单识别结果。
技术总结