掌桥专利:专业的专利平台
掌桥专利
首页

图像处理方法、设备及存储介质

文献发布时间:2023-06-19 12:14:58


图像处理方法、设备及存储介质

技术领域

本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、设备及存储介质。

背景技术

随着互联网、电子商务等技术的不断发展,需要处理的图像数据越来越多。卷积神经网络(Convolutional Neural Networks,CNN)被广泛应用于计算机视觉中,进行分类、检测或分割等任务。

目前,纯软件方案实现的卷积神经网络对图像处理的效率较低。

发明内容

本申请的多个方面提供一种图像处理方法,充分利用现有软硬结合资源对图像处理流程进行优化,提高图像处理的效率。

本申请实施例提供一种图像处理方法,包括:

将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

本申请实施例还提供一种图像处理设备,包括:处理器,存储器以及基于硬件实现的卷积器和池化器;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,用于执行所述一条或多条计算机指令以用于:

将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,所述池化器,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:

将至少一张目标图像输入基于硬件实现的卷积器对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

本申请实施例还提供一种图像处理方法,包括:

获取包含扫码动作的视频片段,所述视频片段包括多张图像;

从多张图像中选出存在人和商品的至少一张目标图像;

将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

将所述池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

本申请实施例还提供一种图像处理设备,包括:处理器,存储器以及基于硬件实现的卷积器和池化器;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,用于执行所述一条或多条计算机指令以用于:

获取包含扫码动作的视频片段,所述视频片段包括多张图像;

从多张图像中选出存在人和商品的至少一张目标图像;

将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

将所述池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:

获取包含扫码动作的视频片段,所述视频片段包括多张图像;

从多张图像中选出存在人和商品的至少一张目标图像;

将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;

针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

将所述池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

在本申请的一些实施例中,利用基于硬件实现的卷积器对至少一张目标图像进行卷积操作,得到至少一张共享特征图;对至少一张共享特征图分别提取候选框区域;池化器仅对候选框区域的数量大于设定阈值的共享特征图的候选框区域进行池化处理,而对小于等于设定阈值的共享特征图直接跳过;提供一种软硬结合的图像处理架构,利用有限的硬件资源快速对图像进行卷积和池化操作,提高图像处理的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请示例性实施例提供的图像处理方法的流程图;

图2本申请实施例提供一种自上而下的设计框架;

图3为本申请示例性实施例提供的一种图像处理方法的流程示意图;

图4为本申请示例性实施例提供的一种池化器对目标共享特征图的候选框区域进行池化处理的流程示意图;

图5为本申请示例性实施例提供的另一种图像处理方法的流程示意图;

图6a为本申请示例性实施例提供的另一种图像处理方法的方法流程图;

图6b为本申请示例性实施例提供的一种商品扫码结账的图像处理方法;

图7为本申请示例性实施例提供的一种图像处理设备的结构示意图;

图8为本申请示例性实施例提供的一种图像处理设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

当今,消费者已经越来越多地使用自助式服务设备与经济实体进行交易。自助式服务设备表现为各种规格并且被用于多种用途。例如,快餐店、药房以及商店等。

目前,兴起一种消费者自助结账系统,该系统由消费者自己完成结账的整个过程,使用自助结账系统的消费者需要自行扫描购买的所有商品,并在结算终端上进行支付。具体的,消费者使用扫描设备扫描商品的条形码,系统根据条形码在系统的商品信息库中对应的找到该商品的价格,并根据价格信息计算商品的总购买金额,消费者在结算终端上进行支付。

消费者在对商品进行扫码结算的过程中,可能存在条形码扫码不成功或者人为不扫码的情况,然而并没有对上述情况进行监管的方法,给商家带来损失。

针对现有消费者在对商品进行扫码结算的过程中,不能及时检测出条形码扫码不成功或者人为不扫码的情况,因此,需要提供一种及时检测出条形码扫码不成功或者人为不扫码的情况。在本申请的一些实施例中,利用基于硬件实现的卷积器对至少一张目标图像进行卷积操作,得到至少一张共享特征图;对至少一张共享特征图分别提取候选框区域;池化器仅对候选框区域的数量大于设定阈值的共享特征图的候选框区域进行池化处理,而对小于等于设定阈值的共享特征图直接跳过;提供一种软硬结合的图像处理架构,利用有限的硬件资源快速对图像进行卷积和池化操作,提高图像处理的效率。

以下结合附图,详细说明本申请各实施例提供的技术方案。

在本实施例中,图像处理设备上部署有卷积神经网络进行图像处理,图像处理设备首先,利用基于硬件实现的卷积器对至少一张目标图像进行卷积操作,得到至少一张共享特征图;接着,对至少一张共享特征图分别提取候选框区域;最后,池化器仅对候选框区域的数量大于设定阈值的共享特征图的候选框区域进行池化处理,而对小于等于设定阈值的共享特征图直接跳过,提供一种软硬结合的图像处理架构,利用有限的硬件资源快速对图像进行卷积和池化操作,提高图像处理的效率。

在上述实施例中,卷积神经网络包括输入层、隐含层和全连接层;隐含层包括卷积层、池化层和全连接层。在本实施例中,并不限定卷积层、池化层和全连接层的个数,卷积层和池化层可基于FPGA或CPLD实现为卷积器和池化器。卷积器主要对输入的目标图像进行特征提取,以得到一张共享特征图;池化器主要对候选框区域进行压缩,一方面将候选框区域进行压缩,另一方面将候选框区域压缩为大小一致的特征图,便于后续分类网络进行图像分类操作。

图1为本本申请示例性实施例提供的图像处理方法的流程图。如图1所示,本实施例中,图像处理设备需要预先对视频流进行识别,以便识别出包含扫码动作的视频片段。如图1所示,对视觉传感器采集到的视频流进行解码,一方面将解码后的视频流送入用于对人与商品跟踪检测的卷积器中,该卷积器对视频流中的每帧图像进行卷积,以输出每帧图像是否包含人和商品的信息;另一方面,对解码后的视频流进行光流检测,光流检测可检测出物体(主要是指人与商品)的运动情况;然后,根据用于对人与商品跟踪检测的卷积器输出的每帧图像是否包含人和商品的信息,结合视频流的光流检测结果,可确定包含扫码动作的原始视频片段;然后,根据包含扫码动作的原始视频片段得到待检测视频片段。

进一步,继续参照图1,在检测到扫码动作后,将待检测视频片段分别进行漏扫码和未扫码直接装袋的图像检测,在分类结果为存在漏扫码或未扫码直接装袋的情形,则执行报警操作操作。

在本申请实施例中,可以先设计卷积神经网络,利用卷积神经网络对目标图像进行卷积和池化操作;基于该过程,本申请实施例提供一种自上而下的设计框架100,如图2所示,该设计框架100包括:前端设计11、图优化12、执行系统13、指令计算14和硬件支持15几个层。

参见图2,在前端设计11一层,可以利用一些开源的卷积神经网络开发框架或软件,例如Tensorflow、Caffe或Mxnet等设计卷积神经网络的计算图。计算图的设计包括但不限于以下几个方面:计算图的定义和构建,记录计算图的节点、操作类型和连接关系,以及将计算图的格式转化为系统自定义格式的图表示,等等。

继续参见图2,在图优化12一层,可对设计出的计算图进行优化处理。可选地,计算图的优化处理包括在计算图上执行统一的、设备无关的优化处理,例如死节点的消除,节点融合等;也包括在计算图上执行与设备相关的优化处理,例如指令变换、设备分配、卷积以及池化处理。

继续参见图2,在执行系统13一层,主要提供卷积神经网络运行所需的中控核心,负责统筹管理所有事务,包括卷积神经网络运行过程中涉及的线程池、内存池、数据缓存以及硬件设备层中各设备的管理和调度等。

继续参见图1,在指令计算14一层,主要负责定义卷积神经网络运行所需的硬件支持层中相关硬件设备的指令计算过程,例如是编译执行还是解释执行。又例如,利用硬件实现的卷积器进行特征提取的过程可抽象一个矩阵和矩阵的乘法运算,包含从图像数据、卷积核加载开始,执行计算,结果输出三个过程,故在指令计算一层,还可以设计与是这三个过程相关的矩阵、向量、卷积、存储等与卷积和池化相关的指令。

继续参见图2,在硬件支持一层,主要提供卷积神经网络运行所需的CPU151、GPU152、基于硬件(FPGA153)实现的卷积器153a或池化器153b等硬件设备。

例如,在利用卷积器或池化器卷积或池化的过程中,卷积器或池化器可根据CPU或GPU的调度,根据自身硬件资源的约束以及最小片外存储(例如片外存储可以是DDR)访问请求原则,决策卷积或池化算子的指令执行方式,对指令进行流水调度,这里的指令是指令计算层设计的。

基于图2所示的软硬结合框架的示意图,图3为本申请示例性实施例提供的一种图像处理方法的流程示意图,该图像处理方法并不限于上述软硬结合框架,还可以根据需求设计其他类型的软硬结合框架,如图3所示,该方法包括:

S301:将至少一张目标图像输入基于硬件实现的卷积器;

S302:对至少一张目标图像进行特征提取,得到至少一张共享特征图;

S303:针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

S304:从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在池化器中,对目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

在本实施例中,该方法的执行主体图像处理设备可以是具有一定计算和处理能力的终端设备实现,如设置于超市或商场内具有视频采集和扫码功能的自助结账设备,但并不限于此,上述方法也可以通过自助结账设备与部署在云端的服务器相互配合实现。例如,自助结账设备获取视觉传感器采集到的视频流,基于光流算法此从视频流中截取包含扫码动作的视频片段作为待检测视频片段,将待检测视频片段上传至服务器,由服务器执行图3描述的方法的各步骤。或者,自助结账设备获取视觉传感器采集到的视频流,基于光流算法此从视频流中截取包含扫码动作的视频片段作为待检测视频片段,由自助结账设备执行图3描述的方法的各步骤。

若上述方法由自助结账设备与部署在云端的服务器相互配合实现。则服务器可以为自助结账设备提供数据支持、计算服务以及一些管理服务。在本实施例中,并不限定服务器的实现形态,例如服务器可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。服务器可以包含一台网站服务器,也可以包含多台网站服务器。在本实施例中,自助结账设备与服务器通过无线或有线建立通信连接。可选地,自助结账设备可以采用WIFI、蓝牙、红外等通信方式与服务器建立通信连接,或者,自助结账设备也可以通过移动网络与服务器建立通信连接。其中,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)和5G等中的任意一种。

在本实施例中,利用基于硬件实现的卷积器对目标图像进行特征提取,得到一张共享特征图。本申请对卷积器的架构不作限定,在一可选实施例中,卷积器包括中心控制单元,图像缓存单元,卷积计算单元,中间结果暂存单元,输入接口单元和输出缓冲单元;首先,中心控制单元将外部目标图像以及目标图像的卷积模板系数通过输入接口单元输入,接着,中心控制单元将输入的目标图像提供至卷积器的图像缓存单元;接着,中心控制单元将目标图像以及卷积模板系数提供至卷积计算单元进行多层卷积,得到共享特征图;其中,在卷积过程中产生的中间数据存储至中间结果暂存单元;最后,将共享特征图通过输出缓冲单元输出,以供后续对共享特征图进行处理。其中,共享特征图反映卷积器提取目标图像的不同特征,卷积层由参数可学习的卷积核组成;卷积核的宽度和长度可改变,深度必须与输入层的通道数一致。比如说输入32*32*3的图片,一个卷积核的大小为5*5*3,滑动步长为1,若有6个5*5*3,就可以生成28*28*6的共享特征图,输出层的通道数与卷积核的个数一致。

在本实施例中,在得到共享特征图之后,对共享特征图提取候选框区域。一种可实现的方式为,针对第一共享特征图,利用区域生成算法,从第一共享特征图中确定出多个待定候选区域,其中,第一共享特征图为至少一张共享特征图中的任意一张;将多个待定候选区域中大于等于设定概率阈值的区域,作为第一共享特征图的候选框区域;统计第一共享特征图的候选框区域的数量。例如,利用RPN算法对共享特征图进行候选框区域的提取,得到多个待定候选区域;选多个待定候选区域中选择出大于等于设定概率阈值的区域,作为第一共享特征图的候选框区域,并统计候选框区域的数量。需要说明的是本申请实施例对设定概率阈值的取值不作限定,设定概率阈值可以根据实际情况作出调整。

在上述实施例中,在FPGA或CPLD中可以设置多个卷积器和多个池化器对多张目标图像进行并行处理,以同时得到多张目标图像池化后的特征图,充分利用FPGA或CPLD的并行度,提高图像处理效率。

在上述实施例中,共享特征图与共享特征图对应的候选框区域及其候选框区域的数量存储于图像处理设备的内存中,图像处理设备的处理器控制将共享特征图及其候选框区域的数量提供给基于硬件实现的池化器对候选框区域进行池化处理。可选地,图像处理设备的处理器动态将多张共享特征图的候选框区域的数量、输出框的高度与宽度以及并行处理的通道数写入池化器对应的缓存中,池化器解析元数据,将候选框区域的数量写入池化器对应的寄存器中,池化器可实时读取寄存器中的候选框区域的数量。

在本实施例中,池化器首先判断候选框区域的数量是否大于设定阈值。池化器只对候选框区域的数量大于设定阈值的目标共享特征图的候选框区域进行池化处理,而对候选框区域的数量小于等于设定阈值的目标共享特图的候选框区域直接跳过。例如,若池化器读取到当前共享特征图的候选框区域的数量为0时,不对当前的共享特征图进行池化处理,直接输出检测不到候选框区域的结果,停止对当前共享特征图的池化处理;若池化器读取到当前共享特征图的候选框区域的数量大于0时,对当前目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。需要说明的是,本申请对设定阈值不作限定,设定阈值可以根据实际情况作出调整。

本申请实施例图像处理方法,通过基于软件实现的编译器实时计算至少一张目标图像的候选框区域的数量,池化器在共享特征图的候选框区域的数量为0时,直接停止后续的池化操作,通过软硬件协同的方式,提高图像处理效率。此外,编译器预先根据采样率确定表项结构,计算距离插值点坐标最近的N个整数像素点的坐标以及插值点周围的N个插值系数,计算候选框区域个数,输出框的高度与宽度,并且将上述配置信息写入池化器对应的寄存器中。

本上述实施例中,在池化器对共享特征图的候选框区域进行池化前,池化器为了提高自身的图像处理性能,可以设置特征图大小阈值对输入的目标共享特征图的大小进行限定,当目标共享特征图的大小过大时,可对目标共享图进行切分,以小于池化器所支持的特征图大小阈值。一种可选的实施例为,池化器判断目标共享特征图的大小是否大于池化器所支持的特征图大小阈值;若是,则将目标共享特征图切分成多个特征图片段,每个特征图片段的大小小于特征图大小阈值;池化器对多个特征图片段进行池化处理,以得到目标共享特征图的池化结果。其中,对目标共享特征图的切分可以沿深度方向、宽度方向或者高度方向随机切分,直至切分后的每个特征图片段的大小小于特征图大小阈值。需要说明的是,本申请实施例不对特征图大小阈值作出限定,设备硬件可根据自身的设备参数对特征图大小阈值作出调整。

在上述实施例中,在得到池化后的特征图之后,将池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,以得到分类结果。其中,至少一个分类器的类型可根据场景的不同,设置相应数量和类型的分类器。例如,在超市自助结账场景中,用户在扫码过程中可能会存在漏扫码以及未扫码直接装袋的情况,可以在图像处理设备上设置第一分类器和第二分类器,其中,第一分类器,用于检测目标图像中是否存在漏扫码的情形;第二分类器,用于检测目标图像中是否存在未扫码直接装袋的情形,输出是否存在漏扫码或者未扫码直接装袋的检测结果。

在上述实施例中,图像处理设备在得到分类结果后,可以进行相应的提醒操作,例如,在超市自助结账场景中,若第一分类器和第二分类器的分类结果为存在漏扫码或未扫码直接装袋的情形,则执行警示操作。

基于以上各实施的描述,图4为本申请示例性实施例提供的一种池化器对目标共享特征图的候选框区域进行池化处理的流程示意图。如图3所示,该池化处理步骤包括:

S401:获取共享特征图和待池化的共享特征图的候选框区域;

S402:判断共享特征图的候选框区域的数量是否为0;若为0,则执行步骤S403,若不为0,则执行步骤S404:

S403:停止对共享特征图的池化操作;

S404:池化器判断共享特征图的大小是否大于池化器所支持的特征图大小阈值;若是,则执行S步骤405;若否,则执行步骤S406;

S405:将共享特征图切分成多个特征图片段,每个特征图片段的大小小于特征图大小阈值;

S406:启动向量计算单元对候选框区域进行池化处理,得到池化后的特征图。

在本实施例中,预先根据采样率确定表项结构,计算距离插值点坐标最近的N个整数像素点的坐标以及插值点周围的N个插值系数,计算候选框区域个数,输出框的高度与宽度,将上述配置信息写入池化器对应的寄存器中。

池化器首先判断共享特征图的大小是否大于池化器所支持的特征图大小阈值,若池化器读取到当前共享特征图的候选框区域的数量为0时,不对当前的共享特征图进行池化处理,直接输出检测不到候选框区域的结果,停止对当前共享特征图的池化处理。若池化器读取到当前共享特征图的候选框区域的数量大于0时,池化器判断共享特征图的大小是否大于池化器所支持的特征图大小阈值;若是,将共享特征图切分成多个特征图片段,每个特征图片段的大小小于特征图大小阈值,再对当前目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;若否,则直接对当前目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

基于上述各实施例的描述,图5为本申请示例性实施例提供的另一种图像处理方法的流程示意图。如图5所示,该方法包括:

S501:获取待卷积的视频片段,该视频片段包括多张图像;

S502:从多张图像中获取待卷积的至少一张目标图像;

S503:将至少一张目标图像输入基于硬件实现的卷积器;

S504:对至少一张目标图像进行特征提取,得到至少一张共享特征图;

S505:针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

S506:从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在池化器中,对目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

S507:将池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

关于本实施例各步骤的实现,可参见前述各实施例相应部分的描述,在此不再赘述。

本申请实施例提供的图像处理方法可应用视频处理、图像识别等各种场景,在不同的应用场景中,图像处理方法的流程会随场景的变化有所不同,下面以商场自助结账为例进行说明:

目前,在商场和超市中出现消费者结账系统,该系统由消费者自己完成结账的整个过程,使用自助结账系统的消费者需要自行扫描购买的所有商品,并在结算终端上进行支付。具体的,消费者使用扫描设备扫描商品的条形码,系统根据条形码在系统的商品信息库中对应的找到该商品的价格,并根据价格信息计算商品的总购买金额,消费者在结算终端上进行支付。例如,用户可以在手机上安装对应的购物App,通过App的扫描功能扫描商品上的二维码,获取商品的价格、数量等信息,然后线上完成支付,这可以提高支付效率,避免排队浪费时间。

在上述场景中,用户在扫码过程中可能会存在漏扫码以及未扫码直接装袋的情况。可以在图像处理设备上安装视频采集模块,负责采集超市或商场中用户扫码支付的视频流,进而对采集到的视频流进行漏扫码和未扫码直接装袋的检测,并在检测到漏扫码或者未扫码直接装袋的情形后,执行警示操作,以提示用户对未成功支付的情况进行支付,漏扫码是指用户发出了扫码动作,但并未实际扫描到商品信息的情况。这里的未扫码直接装袋,例如用户习惯性地将商品装袋,而未扫码。这里的“装袋”是广泛意义上的,包括用户收纳商品的各种方式,例如装箱、装盒、装自用购物车等。

基于以上商场自助结账的场景,图6a为本申请示例性实施例提供的另一种图像处理方法的方法流程图。如图6a所示,该方法包括:

S601:采集待卷积的视频片段,视频片段包括多张图像;

S602:根据多张图像中像素点的位移,从多张图像中选出存在目标对象的至少一张目标图像;

S603:将至少一张目标图像输入基于硬件实现的卷积器;

S604:对至少一张目标图像进行特征提取,得到至少一张共享特征图;

S605:针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

S606:从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在池化器中,对目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

S607:将池化后的特征图分别输入第一分类器和第二分类器中,输出是否存在漏扫码或者未扫码直接装袋的检测结果;其中,第一分类器,用于检测目标图像中是否存在漏扫码的情形;第二分类器,用于检测目标图像中是否存在未扫码直接装袋的情形。

在本实施例中,该方法的执行主体图像处理设备可以是具有一定计算和处理能力的终端设备实现,如设置于超市或商场内具有视频采集和扫码功能的自助结账设备。

在本实施例中,图像处理设备上设有视觉传感器,视觉传感器的视野可覆盖用户发生扫码动作所在的物理空间,视觉传感器采集用户扫码过程的视频流。

在本实施例中,图像处理设备在获取到待检测视频片段后,可以将待检测视频片段上传至服务器中进行存储。服务器在响应查看终端发起的查看请求后,将待检测视频片段发送至查看终端,以供用户进行查看。

在本实施例中,利用基于硬件实现的卷积器对目标图像进行特征提取,得到一张共享特征图。本申请对卷积器的架构不作限定,在一可选实施例中,卷积器包括中心控制单元,图像缓存单元,卷积计算单元,中间结果暂存单元,输入接口单元和输出缓冲单元;首先,中心控制单元将外部目标图像以及目标图像的卷积模板系数通过输入接口单元输入,接着,中心控制单元将输入的目标图像提供至卷积器的图像缓存单元;接着,中心控制单元将目标图像以及卷积模板系数提供至卷积计算单元进行多层卷积,得到共享特征图;其中,在卷积过程中产生的中间数据存储至中间结果暂存单元;最后,将共享特征图通过输出缓冲单元输出,以供后续对共享特征图进行处理。

在本实施例中,在得到共享特征图之后,对共享特征图提取候选框区域。一种可实现的方式为,针对第一共享特征图,利用区域生成算法,从第一共享特征图中确定出多个待定候选区域,其中,第一共享特征图为至少一张共享特征图中的任意一张;将多个待定候选区域中大于等于设定概率阈值的区域,作为第一共享特征图的候选框区域;统计第一共享特征图的候选框区域的数量。例如,利用RPN算法对共享特征图进行候选框区域的提取,得到多个待定候选区域;选多个待定候选区域中选择出大于等于设定概率阈值的区域,作为第一共享特征图的候选框区域,并统计候选框区域的数量。需要说明的是本申请实施例对设定概率阈值的取值不作限定,设定概率阈值可以根据实际情况作出调整。

在上述实施例中,在FPGA或CPLD中可以设置多个卷积器和多个池化器对多张目标图像进行并行处理,以同时得到多张目标图像池化后的特征图,充分利用FPGA或CPLD的并行度,提高图像处理效率。

在上述实施例中,共享特征图与共享特征图对应的候选框区域及其候选框区域的数量存储于图像处理设备的内存中,图像处理设备的处理器控制将共享特征图及其候选框区域的数量提供给基于硬件实现的池化器对候选框区域进行池化处理。可选地,图像处理设备的处理器动态将多张共享特征图的候选框区域的数量、输出框的高度与宽度以及并行处理的通道数写入池化器对应的缓存中,池化器解析元数据,将候选框区域的数量写入池化器对应的寄存器中,池化器可实时读取寄存器中的候选框区域的数量。

在本实施例中,池化器首先判断候选框区域的数量是否大于设定阈值。池化器只对候选框区域的数量大于设定阈值的目标共享特征图的候选框区域进行池化处理,而对候选框区域的数量小于等于设定阈值的目标共享特图的候选框区域直接跳过。例如,若池化器读取到当前共享特征图的候选框区域的数量为0时,不对当前的共享特征图进行池化处理,直接输出检测不到候选框区域的结果,停止对当前共享特征图的池化处理;若池化器读取到当前共享特征图的候选框区域的数量大于0时,对当前目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。需要说明的是,本申请对设定阈值不作限定,设定阈值可以根据实际情况作出调整。

本申请实施例图像处理方法,通过基于软件实现的编译器实时计算至少一张目标图像的候选框区域的数量,池化器在共享特征图的候选框区域的数量为0时,直接停止后续的池化操作,通过软硬件协同的方式,提高图像处理效率。此外,编译器预先根据采样率确定表项结构,计算距离插值点坐标最近的N个整数像素点的坐标以及插值点周围的N个插值系数,计算候选框区域个数,输出框的高度与宽度,并且将上述配置信息写入池化器对应的寄存器中。

本上述实施例中,在池化器对共享特征图的候选框区域进行池化前,池化器为了提高自身的图像处理性能,可以设置特征图大小阈值对输入的目标共享特征图的大小进行限定,当目标共享特征图的大小过大时,可对目标共享图进行切分,以小于池化器所支持的特征图大小阈值。一种可选的实施例为,池化器判断目标共享特征图的大小是否大于池化器所支持的特征图大小阈值;若是,则将目标共享特征图切分成多个特征图片段,每个特征图片段的大小小于特征图大小阈值;池化器对多个特征图片段进行池化处理,以得到目标共享特征图的池化结果。其中,对目标共享特征图的切分可以沿深度方向、宽度方向或者高度方向随机切分,直至切分后的每个特征图片段的大小小于特征图大小阈值。需要说明的是,本申请实施例不对特征图大小阈值作出限定,设备硬件可根据自身的设备参数对特征图大小阈值作出调整。

在获得池化后的特征图后,将大小一致的特征图分别送入第一分类器和第二分类器,以输出是否存在漏扫码或者未扫码直接装袋的检测结果。其中,第一分类器,用于检测目标图像中是否存在漏扫码的情形;第二分类器,用于检测目标图像中是否存在未扫码直接装袋的情形。其中,还可以设置其他类型的分类器检测自助结账过程中的其他情形,例如,设置第三分类器,检测正常支付的情形。

在分类结果为存在漏扫码或未扫码直接装袋的情形,则执行警示操作。警示操作包括但不限于以下几种情形:

情形一:图像处理设备上设置有指示灯,控制图像处理设备上的指示灯发出灯光信号;

情形二:图像处理设备上设置有扬声器,控制图像处理设备上的扬声器播放警示声音信号。

结合上述各实施例的描述,图6b为本申请示例性实施例提供的一种商品扫码结账的图像处理方法。如图6b所示,该方法包括:

S611:获取包含扫码动作的视频片段,视频片段包括多张图像;

S612:从多张图像中选出存在人和商品的至少一张目标图像;

S613:将至少一张目标图像输入基于硬件实现的卷积器;

S614:对至少一张目标图像进行特征提取,得到至少一张共享特征图;

S615:针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;

S616:从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在池化器中,对目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;

S617:将池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

在本申请图像处理方法的方法实施例中,利用基于硬件实现的卷积器对至少一张目标图像进行卷积操作,得到至少一张共享特征图;对至少一张共享特征图分别提取候选框区域;池化器仅对候选框区域的数量大于设定阈值的共享特征图的候选框区域进行池化处理,而对小于等于设定阈值的共享特征图直接跳过;提供一种软硬结合的图像处理架构,利用有限的硬件资源快速对图像进行卷积和池化操作,提高图像处理的效率。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤601至步骤606的执行主体可以为设备A;又比如,步骤601-步骤603的执行主体可以为设备A,步骤604-步骤606的执行主体可以为设备B;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S301等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图7为本申请示例性实施例提供的一种图像处理设备的结构示意图。如图7所示,该设备包括:存储器701,处理器702,基于硬件实现的卷积器705和池化器706,还包括通信组件703、电源组件704等必须组件,以及音频组件707和显示器708等附加组件。

存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在图像处理设备上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令。

存储器701,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

通信组件703,用于与其他设备建立通信连接。

处理器702,可执行存储器701中存储的计算机指令,以用于:将至少一张目标图像输入基于硬件实现的卷积器;对至少一张目标图像进行特征提取,得到至少一张共享特征图;针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在池化器中,对目标共享特征图的候选框区域进行池化处理,得到池化后的特征图。

可选地,处理器702,还可用于:将池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理。

可选地,处理器702在将至少一张目标图像输入基于硬件实现的卷积器对至少一张目标图像进行特征提取之前,还可用于:采集待卷积的视频片段,视频片段包括多张图像;根据多张图像中像素点的位移,从多张图像中选出存在目标对象的至少一张目标图像。

可选地,至少一个分类器包括:第一分类器和第二分类器;其中,第一分类器,用于检测目标图像中是否存在漏扫码的情形;第二分类器,用于检测目标图像中是否存在未扫码直接装袋的情形;处理器702,还可用于:若分类结果为存在漏扫码或未扫码直接装袋的情形,则执行警示操作。

可选地,处理器702在针对至少一张共享特征图分别提取候选框区域时,具体用于:针对第一共享特征图,利用区域生成算法,从第一共享特征图中确定出多个待定候选区域,其中,第一共享特征图为至少一张共享特征图中的任意一张;将多个待定候选区域中大于等于设定概率阈值的区域,作为第一共享特征图的候选框区域;统计第一共享特征图的候选框区域的数量。

可选地,处理器702在将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器时,具体用于:将至少一张共享特征图及其候选框区域的数量写入池化器对应的寄存器中。

可选地,处理器702在对目标共享特征图的候选框区域进行池化处理时,具体用于:判断目标共享特征图的大小是否大于池化器所支持的特征图大小阈值;若是,则将目标共享特征图切分成多个特征图片段,每个特征图片段的大小小于特征图大小阈值;对多个特征图片段进行池化处理,以得到目标共享特征图的池化结果。

可选地,处理器702在采集待卷积的视频片段时,具体用于:利用图像处理设备上的视频传感器采集待卷积的视频片段;图像处理设备上还设有指示灯和扬声器,处理器702在执行警示操作时,包括以下至少一种:控制图像处理设备上的指示灯发出灯光信号;控制图像处理设备上的扬声器播放警示声音信号。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图2方法实施例中的各步骤。

图8为本申请示例性实施例提供的一种图像处理设备的结构示意图。如图8所示,该设备包括:存储器801,处理器802,基于硬件实现的卷积器805和池化器806,还包括通信组件803、电源组件804等必须组件,以及音频组件807和显示器808等附加组件。

存储器801,用于存储计算机程序,并可被配置为存储其它各种数据以支持在图像处理设备上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令。

存储器801,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

通信组件803,用于与其他设备建立通信连接。

处理器802,可执行存储器801中存储的计算机指令,以用于:获取包含扫码动作的视频片段,所述视频片段包括多张图像;从多张图像中选出存在人和商品的至少一张目标图像;将至少一张目标图像输入基于硬件实现的卷积器;

对至少一张目标图像进行特征提取,得到至少一张共享特征图;针对至少一张共享特征图分别提取候选框区域,并将至少一张共享特征图及其候选框区域的数量提供给基于硬件实现的池化器;从至少一张共享特征图中识别候选框区域的数量大于设定阈值的目标共享特征图,在所述池化器中,对所述目标共享特征图的候选框区域进行池化处理,得到池化后的特征图;将所述池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果。

可选地,所述至少一个分类器包括:第一分类器和第二分类器;其中,第一分类器,用于检测目标图像中是否存在漏扫码的情形;第二分类器,用于检测目标图像中是否存在未扫码直接装袋的情形,处理器802在将所述池化后的特征图送入基于硬件实现的至少一个分类器中进行分类处理,得到分类结果时,具体用于:将所述池化后的特征图送入第一分类器和第二分类器中,得到是否存在漏扫码或未扫码直接装袋的情形的分类结果。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图6b方法实施例中的各步骤。

在本申请图像处理设备的实施例中,利用基于硬件实现的卷积器对至少一张目标图像进行卷积操作,得到至少一张共享特征图;对至少一张共享特征图分别提取候选框区域;池化器仅对候选框区域的数量大于设定阈值的共享特征图的候选框区域进行池化处理,而对小于等于设定阈值的共享特征图直接跳过;提供一种软硬结合的图像处理架构,利用有限的硬件资源快速对图像进行卷积和池化操作,提高图像处理的效率。

上述图7中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

上述图7中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

上述图7中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

上述图7中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 图像处理设备、图像拾取设备、图像处理方法、图像处理程序以及存储介质
  • 图像处理方法、图像处理设备、图像拾取设备和存储介质
技术分类

06120113228292