发明内容
本发明的目的在于提供一种商品识别方法、装置、终端设备及计算机可读介质,以解决现有的商品识别算法需要大量数据建模训练,学习周期长且成本高的问题。
为实现上述目的,本发明提供了一种商品识别方法,包括:
采集无人售货机中预设数量的第一商品样本,根据所述第一商品样本分别构建支持集和查询集;
基于深度卷积模型建立初始特征模型,利用所述支持集、所述查询集及目标函数训练所述初始特征模型,生成目标特征模型;
获取待识别的商品样本,输入至目标特征模型,以进行商品识别。
进一步,作为优选地,在所述基于深度卷积模型建立初始特征模型之前,还包括:以度量损失和交叉熵损失构建目标函数。
进一步,作为优选地,所述利用所述支持集、所述查询集及目标函数训练所述初始特征模型,生成目标特征模型,包括:
将所述支持集和所述查询集映射至高维超平面;
利用所述目标函数约束同类商品和异类商品的距离,并迭代训练,直至所述初始特征模型收敛,生成所述目标特征模型。
进一步,作为优选地,在所述获取待识别的商品样本之后,还包括:
将待识别的商品样本与所述支持集中的第一商品样本进行匹配;
若有匹配对象,则输入至目标特征模型进行识别;
若无匹配对象,对待识别的商品样本重新定义,生成第二商品样本;
利用所述初始特征模型提取所述第二商品样本在高维超平面的特征表达,将提取结果列入所述支持集,生成新支持集;
利用新支持集对所述目标特征模型训练,生成新的特征模型,并将新的特征模型用于商品识别。
进一步,作为优选地,所述若有匹配对象,则输入至目标特征模型进行识别,包括:
利用目标特征模型提取待识别的商品样本的特征表达;
根据所述特征表达,对待识别的商品样本与所述支持集中的商品样本进行距离度量,按照距离度量从小到大的顺序筛选出多个商品,利用投票机制确定最终输出的商品类别。
进一步,作为优选地,在所述基于深度卷积模型建立初始特征模型之后,还包括对初始特征模型进行优化,具体为:
获取第三商品样本注册至所述查询集,生成新查询集;
利用所述支持集、所述新查询集及目标函数优化所述初始特征模型。
本发明还提供了一种商品识别装置,包括:
样本采集单元,用于采集无人售货机中预设数量的第一商品样本,根据所述第一商品样本分别构建支持集和查询集;
模型构建单元,用于基于深度卷积模型建立初始特征模型,利用所述支持集、所述查询集及目标函数训练所述初始特征模型,生成目标特征模型;
商品识别单元,用于获取待识别的商品样本,输入至目标特征模型,以进行商品识别。
进一步,作为优选地,所述商品识别装置还包括:
目标函数构建单元,用于以度量损失和交叉熵损失构建目标函数。
本发明还提供一种终端设备,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上任一项所述的商品识别方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的商品识别方法。
相对于现有技术,本发明的有益效果在于:
1)本发明基于少样本学习的方法,极大减少了样本标注的人力和时间成本,使得算法模型能够更快迭代至收敛,从而缩短建模周期,实现降本增效。
2)算法模型的训练优化通常涉及到复杂的服务器后端操作,对技术门槛有要求较高。本发明通过打通前后端衔接的纽带,实现通过界面功能,降低建模和优化的技术门槛,实现快速上手建模、端到端完成建模训练和优化。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明某一实施例提供一种商品识别方法。如图1所示,该商品识别方法包括步骤S10至步骤S30。各步骤具体如下:
S10、采集无人售货机中预设数量的第一商品样本,根据所述第一商品样本分别构建支持集和查询集。
S20、基于深度卷积模型建立初始特征模型,利用所述支持集、所述查询集及目标函数训练所述初始特征模型,生成目标特征模型;
S30、获取待识别的商品样本,输入至目标特征模型,以进行商品识别。
以无人售货冰柜为例,对本发明提供的方法进行说明:
首先步骤S10需要采集样本,此处优选为采集在冰柜场景中两千类常见的商品图片,然后筛选出少量样本,进行建模学习。
在一实施例中,为了保证图片多样性,采集时需要采集商品正面、侧面、背面、俯视、仰视等多种姿态,然后针对每一类商品,分别抽取少量的图片构建支持集和查询集。优选地,本实施例中供抽取20张商品样本图片,10张用于构建支持集,10张用于构建查询集。
在某一实施例中,在执行步骤S20之前,还包括执行步骤S40,如图2所示。具体额地,步骤S40主要为以度量损失和交叉熵损失构建目标函数。
进一步地,步骤S20目的是构建目标特征模型。本实施例中,以深度卷积模型作为初始特征模型M。
请参阅图3,在一具体实施方式中,步骤S20具体包括以下子步骤:
S201、将所述支持集和所述查询集映射至高维超平面;
S202、利用所述目标函数约束同类商品和异类商品的距离,并迭代训练,直至所述初始特征模型收敛,生成所述目标特征模型。
需要说明的是,本实施例中将查询集和支持集中的第一商品样本映射至一个高维超平面,并以度量损失和交叉熵损失共同作为目标函数,约束同类商品和异类商品之间的距离,以达到让同类商品之间的距离不断减少、异类商品之间的距离不断增多的目的,然后通过不断迭代此过程,直至初始特征模型M收敛。在得到了初始特征模型M之后,结合两千类商品支持集,即可通过执行步骤S30在实际场景中对这两千类商品进行快速、精准的识别。
需要说明的是,步骤S30为商品识别过程,在实际应用中,即使得到了两千类商品支持集,也还是会存在待识别的商品样本不属于这两千类范畴的现象。因此,在商品识别过程中,首先需要对待识别的商品样本进行判断,如果属于这两千类的范畴,则可以直接识别,如果不属于,则需要重新注册至支持集,并生成新的特征模型,相当于特征模型的学习过程。
具体地,在一实施例中,在所述获取待识别的商品样本之后,还包括:
A)将待识别的商品样本与所述支持集中的第一商品样本进行匹配;
B)若有匹配对象,则输入至目标特征模型进行识别;
C)若无匹配对象,对待识别的商品样本重新定义,生成第二商品样本;
本步骤中,对待识别的商品样本重新定义主要为对其属性进行定义,注册产品品类、系列和名称,并采集该商品10张具有多样性的图片;
D)利用所述初始特征模型提取所述第二商品样本在高维超平面的特征表达,将提取结果列入所述支持集,生成新支持集;
E)利用新支持集对所述目标特征模型训练,生成新的特征模型,并将新的特征模型用于商品识别。
在一实施例中,完成了对新的商品的建模,可可以进行商品识别,具体包括:
利用目标特征模型提取待识别的商品样本的特征表达;
根据所述特征表达,对待识别的商品样本与所述支持集中的商品样本进行距离度量,按照距离度量从小到大的顺序筛选出多个商品,利用投票机制确定最终输出的商品类别。
在一可选地实施方式中,在所述基于深度卷积模型建立初始特征模型之后,还包括对初始特征模型进行优化,具体为:
获取第三商品样本注册至所述查询集,生成新查询集;
利用所述支持集、所述新查询集及目标函数优化所述初始特征模型。
在一可选地实施方式中,为了便于操作,将上述算法集成为一个轻量便捷的客户端桌面应用,从而降低建模过程的技术门槛,通过界面操作即可完成快速建模优化及识别过程。
综上所述,本发明实施例提供的商品识别方法,基于少量的样本进行学习,极大减少了样本标注的人力和时间成本,实现了降本增效的功能。
请参阅图4,本发明某一实施例还提供了一种商品识别装置,包括:
样本采集单元01,用于采集无人售货机中预设数量的第一商品样本,根据所述第一商品样本分别构建支持集和查询集;
模型构建单元02,用于基于深度卷积模型建立初始特征模型,利用所述支持集、所述查询集及目标函数训练所述初始特征模型,生成目标特征模型;
商品识别单元03,用于获取待识别的商品样本,输入至目标特征模型,以进行商品识别。
在某一具体实施例中所述商品识别装置还包括目标函数构建单元04,如图5所示,其中,该目标函数构建单元04用于以度量损失和交叉熵损失构建目标函数。
可以理解的是,本发明实施例提供的商品识别装置用于执行如上述任意一项实施例所述的商品识别方法。本实施例基于少量的样本进行学习,极大减少了样本标注的人力和时间成本,从而实现了降本增效的功能。
请参阅图6,本发明某一实施例提供一种终端设备,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的商品识别方法。
处理器用于控制该终端设备的整体操作,以完成上述的商品识别方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该终端设备的操作,这些数据例如可以包括用于在该终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如上述任一项实施例所述的商品识别方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供一种包括计算机程序的计算机可读存储介质,该计算机程序被处理器执行时实现如上述任一项实施例所述的商品识别方法的步骤。
本申请实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本申请实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。