图像处理方法、装置、设备和存储介质与流程

文档序号:24812569发布日期:2021-04-27 13:17阅读:106来源:国知局
图像处理方法、装置、设备和存储介质与流程

1.本申请涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置、设备和存储介质。


背景技术:

2.在计算机视觉领域,基于深度学习的图像识别算法常被部署在云端,用户在手机端侧拍摄照片,并将照片传输到部署有深度学习识别模型的服务器,服务器再返回识别结果。
3.上述技术方案中,在图像分辨率较高时,存在传输延迟高、流量消耗大、网络要求高等问题。比如,在零售行业,某些场景下网速较低,从而导致传输高分辨率图片耗时较长,甚至传输失败,从而影响客户使用体验、限制了产品使用场景,不利于深度学习算法规模的扩大化。


技术实现要素:

4.本申请实施例的目的在于提供一种图像处理方法、装置、设备和存储介质,实现了自动对待测物体的图像处理,避免了人工带来的遗漏问题,提高了印刷质量的检测效率。
5.本申请实施例第一方面提供了一种图像处理方法,包括:获取待处理的原始图像;对所述原始图像进行编码处理,生成所述原始图像的编码图像,所述编码图像的分辨率小于所述原始图像的分辨率;发送所述编码图像至服务器。
6.于一实施例中,所述对所述原始图像进行编码处理,生成所述原始图像的编码图像,所述编码图像的分辨率小于所述原始图像的分辨率,包括:将所述原始图像输入预设的压缩模型,输出所述原始图像的压缩图像;按照预设编码规则对所述压缩图像进行编码,生成所述编码图像。
7.于一实施例中,所述压缩模型为基于神经网络的模型;所述压缩模型包括:多个第一卷积层,每个所述第一卷积层用于对所述原始图像进行下采样处理。
8.于一实施例中,在按照预设编码规则对所述压缩图像进行编码,生成所述编码图像之前,还包括:将所述压缩图像进行频域变换和量化处理。
9.于一实施例中,还包括建立所述压缩模型的步骤:输入样本图像至待训练的神经网络模型,得到输出图像;基于所述样本图像和所述输出图像的像素方差确定训练损失函数,并基于所述训练损失函数训练所述神经网络模型,得到所述压缩模型。
10.本申请实施例第二方面提供了一种图像处理装置,包括:接收终端发送的编码图像,所述编码图像为所述终端对原始图像编码处理后的图像,所述编码图像的分辨率小于所述原始图像的分辨率;对所述编码图像进行解码处理,输出解码图像,所述原始图像的恢复图像为所述解码图像。
11.于一实施例中,所述对所述编码图像进行解码处理,输出解码图像,所述原始图像的恢复图像为所述解码图像包括:按照预设解码规则对所述编码图像进行解码处理,生成
预解码图像;将所述预解码图像输入预设的恢复模型,输出所述解码图像。
12.于一实施例中,所述恢复模型为基于神经网络的模型;所述恢复模型包括:多个第二卷积层,每个所述第二卷积层用于对所述预解码图像进行上采样处理。
13.于一实施例中,还包括建立所述恢复模型的步骤:输入样本图像至待训练的神经网络模型,得到输出图像;基于所述样本图像和所述输出图像的像素方差确定训练损失函数,并基于所述训练损失函数训练所述神经网络模型,得到所述恢复模型。
14.本申请实施例第三方面提供了一种图像处理装置,包括:获取模块,用于获取待处理的原始图像;编码模块,用于对所述原始图像进行编码处理,生成所述原始图像的编码图像,所述编码图像的分辨率小于所述原始图像的分辨率;发送模块,用于发送所述编码图像至服务器。
15.于一实施例中,所述编码模块用于:将所述原始图像输入预设的压缩模型,输出所述原始图像的压缩图像;按照预设编码规则对所述压缩图像进行编码,生成所述编码图像。
16.于一实施例中,所述压缩模型为基于神经网络的模型;所述压缩模型包括:多个第一卷积层,每个所述第一卷积层用于对所述原始图像进行下采样处理。
17.于一实施例中,还包括:处理模块,用于在按照预设编码规则对所述压缩图像进行编码,生成所述编码图像之前,将所述压缩图像进行频域变换和量化处理。
18.于一实施例中,还包括第一建立模块,用于:输入样本图像至待训练的神经网络模型,得到输出图像;基于所述样本图像和所述输出图像的像素方差确定训练损失函数,并基于所述训练损失函数训练所述神经网络模型,得到所述压缩模型。
19.本申请实施例第四方面提供了一种图像处理装置,包括:接收模块,用于接收终端发送的编码图像,所述编码图像为所述终端对原始图像编码处理后的图像,所述编码图像的分辨率小于所述原始图像的分辨率;解码模块,用于对所述编码图像进行解码处理,输出解码图像,所述原始图像的恢复图像为所述解码图像。
20.于一实施例中,所述解码模块用于:按照预设解码规则对所述编码图像进行解码处理,生成预解码图像;将所述预解码图像输入预设的恢复模型,输出所述解码图像。
21.于一实施例中,所述恢复模型为基于神经网络的模型;所述恢复模型包括:多个第二卷积层,每个所述第二卷积层用于对所述预解码图像进行上采样处理。
22.于一实施例中,还包括第二建立模块,用于:输入样本图像至待训练的神经网络模型,得到输出图像;基于所述样本图像和所述输出图像的像素方差确定训练损失函数,并基于所述训练损失函数训练所述神经网络模型,得到所述恢复模型。
23.本申请实施例第五方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第一方面及其任一实施例的方法,以向服务器传输编码图像。
24.本申请实施例第六方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第二方面及其任一实施例的方法,以从编码图像中恢复出原始图像。
25.本申请实施例第七方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第一方面及其任一实施例的方法。
26.本申请实施例第八方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第二方面及其任一实施例的方法。
27.本申请提供的图像处理方法、装置、设备和存储介质,通过将待处理的原始图像进行编码处理,使得编码图像的分辨率小于所述原始图像的分辨率,从而降低编码图像的文件大小,然后将编码图像传输至服务器,如此,降低图像传输大小,提高了图像传输效率。
附图说明
28.为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
29.图1a为本申请一实施例的电子设备的结构示意图;
30.图1b为本申请一实施例的电子设备的结构示意图;
31.图2为本申请一实施例的图像传输场景的示意图;
32.图3为本申请一实施例的图像处理方法的流程示意图;
33.图4为本申请一实施例的图像处理方法的流程示意图;
34.图5为本申请一实施例的编码器的示意图;
35.图6为本申请一实施例的图像处理方法的流程示意图;
36.图7为本申请一实施例的解码器的示意图;
37.图8为本申请一实施例的图像处理装置的结构示意图;
38.图9为本申请一实施例的图像处理装置的结构示意图。
具体实施方式
39.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
40.如图1a所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1a中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以向服务器传输编码图像。
41.于一实施例中,电子设备1可以是手机、平板电脑、笔记本电脑、台式计算机等设备。
42.如图1b所示,本实施例提供一种电子设备2,包括:至少一个处理器21和存储器22,图1b中以一个处理器为例。处理器21和存储器22通过总线20连接。存储器22存储有可被处理器21执行的指令,指令被处理器21执行,以使电子设备2可执行下述的实施例中方法的全部或部分流程,以从编码图像中恢复出原始图像。
43.于一实施例中,电子设备2可以是手机、平板电脑、笔记本电脑、台式计算机或者多个计算机组成的大型计算服务器等设备。
44.请参看图2,其为本申请一实施例的图像传输场景,包括:终端30和服务器40,其中:
45.终端30可以由电子设备1实现,终端30中部署有基于神经网络的编码器31,原始图像输入该编码器31,进行编码处理,输出编码图像。
46.在实际场景中,以价签识别为例,终端30可以是手机或者平板电脑等设备,首先用户需要采集价签图像,然后将价签图像通过手机上传至服务器40,由服务器40对其进行图像识别,最终得到价签信息。本实施例的方案用于解决在图像传输过程中的传输速率低下的问题。用户可以用手机拍摄货架上的价签图像作为原始图像,然后对价签图像进行编码,并将编码图像传输给服务器40。
47.服务器40可以由电子设备2来实现,服务器40可以部署在云端。服务器40中部署有基于神经网络的解码器41,服务器40实时接收终端30发送的编码图像,并通过解码器41解码,生成的高分辨率的解码图像,该解码图像的分辨率接近原始图像,因此可以作为价签图像的恢复图像。该解码图像可以用于后续的价签识别。
48.上述图像处理方法,通过分别在终端30引入神经网络编码器31和在服务器40端引用解码器41,可以减少传输图像的大小,提高图像传输效率。
49.请参看图3,其为本申请一实施例的图像处理方法,该方法可由图1所示的电子设备1来执行,并可以应用于如图2所示的图像传输场景中,以向服务器40传输编码图像。该方法包括如下步骤:
50.步骤301:获取待处理的原始图像。
51.在本步骤中,可以通过用户的图像采集设备拍摄待处理的物体的原始图像,然后将原始图像输入终端30。也可以用户直接使用带有摄像头的手机拍摄物体的原始图像。待处理的物体可以是用户指定的物体,比如货物价签等。
52.步骤302:对原始图像进行编码处理,生成原始图像的编码图像,编码图像的分辨率小于原始图像的分辨率。
53.在本步骤中,原始图像可以是高清图像,分辨率可以非常高,通过对原始图像进行编码处理,实现降低原始图像的分辨率的目的,使得编码图像在传输过程中占用更少的网络传输资源。此处编码图像与原始图像之间的分辨率差值可以由用户指定,用户可以基于实际需求,综合考虑服务器40在恢复解码图像时的分辨率需求来设定。
54.步骤303:发送编码图像至服务器40。
55.在本步骤中,在发送过程中,发送低分辨率的编码图像,可以大大降低网络传输资源,提高图像传输效率。
56.上述图像处理方法,通过将待处理的原始图像进行编码处理,使得编码图像的分辨率小于原始图像的分辨率,从而降低编码图像的文件大小,然后将编码图像传输至服务器40,如此,降低图像传输大小,提高了图像传输效率。
57.请参看图4,其为本申请一实施例的图像处理方法,该方法可由图1所示的电子设备1来执行,并可以应用于如图2所示的图像传输场景中,以向服务器40传输编码图像。该方法包括如下步骤:
58.步骤401:获取待处理的原始图像。详细参见上述实施例中对步骤301的描述。
59.步骤402:将原始图像输入预设的压缩模型,输出原始图像的压缩图像。
60.在本步骤中,压缩模型为基于神经网络的模型。压缩模型可以包括:多个第一卷积层,每个第一卷积层用于对原始图像进行下采样处理。
61.于一实施例中,本实施例中的图像编码可以藉由如图5所示的神经网络编码器31实现,该编码器31可以部署在终端30中。神经网络编码主要包括:基于神经网络的压缩模型和后处理过程。
62.以分辨率为1280x720的原始图像(即原始图片)为例,压缩模型的神经网络部分可以包含16层第一卷积层,每个第一卷积层的参数如图5所示,方框中表示的是当前图像分辨率和通道数,比如1280x720x3表示当前图像分辨率为1280x720,通道数为3。箭头处文字表示第一卷积层参数,表示规则为:卷积层数量xconv卷积核高度x卷积核宽度x卷积核个数x卷积stride,基于此,图5中所示的神经网络结构包含的内容如下:
63.原始图像分辨率为1280x720x3。经过参数为1x conv 3x3x16x2的卷积层处理后。输出特征图分辨率为640x360x16。之后经过参数为4x conv 3x3x32x1的卷积层和参数为1x conv 3x3x32x2的卷积层处理后,输出特征图分辨率为320x180x32。再经过参数为4x conv 3x3x64x1的卷积层和参数为1x conv 3x3x64x2的卷积层处理后,输出特征图分辨率为160x90x64。最后经过参数为4x conv 3x3x128x1的卷积层和参数为1x conv 3x3x128x2的卷积层处理后,输出中间特征图的分辨率为80x45x128,即为压缩图像。
64.于一实施例中,可以在每个第一卷积层后采用relu激活函数,在每一个图像stride为2的第一卷积层后添加batch

norm层。如图5所示,在最后一层卷积后,输出图像分辨率为80x45x128,然后使用tanh激活函数限制目标值在[

1,1]范围内,最后对结果进行缩放,比如基于后续处理的需求,可以将结果乘以一个正数,若后处理用到dct(discrete cosine transform,离散余弦变换)变换,则该正数可以取为128。
[0065]
步骤403:将压缩图像进行频域变换和量化处理。
[0066]
在本步骤中,为了便于图像的量化和编码,可以将步骤402输出的压缩图像从空域变换为频域,然后再进行量化处理。
[0067]
于一实施例中,如图5所示,步骤403可以藉由后处理部分实现,首先可以将压缩图像进行dct变换,将其从空域变换为频域,生成频域特征图。然后进行量化,在量化操作中,首先将频域特征图的频域值除以一个预先设定的权重,然后再取整得到量化后的特征图,量化后的图像将具有稀疏性(特征矩阵中有较多的0)。
[0068]
于一实施例中,预先设定的权重可以为一个与频域特征图的矩阵相同大小的正整数矩阵,正整数矩阵中每个元素表示一个频率的量化程度,一般低频权重较小、高频权重较大。
[0069]
步骤404:按照预设编码规则对压缩图像进行编码,生成编码图像,编码图像的分辨率小于原始图像的分辨率。
[0070]
在本步骤中,对量化后的特征图矩阵按照预设编码规则进行编码处理,预设编码规则可以是差分码、行程码和哈夫曼码的组合形式,也可以是上述编码规则中的任一种形式,编码图像可以是类似于jpeg格式,预设的编码规则是可解码的编码规则,并且其编码后的图像存储空间尽量较小。
[0071]
步骤405:发送编码图像至服务器40。详细参见上述实施例中对步骤303的描述。
[0072]
请参看图6,其为本申请一实施例的图像处理方法,该方法可由图1所示的电子设
备2作为服务器40来执行,并可以应用于如图2所示的图像传输场景中,以从编码图像中恢复出原始图像。该方法包括如下步骤:
[0073]
步骤601:接收终端30发送的编码图像,编码图像为终端30对原始图像编码处理后的图像,编码图像的分辨率小于原始图像的分辨率。
[0074]
在本步骤中,服务器40实时接收终端30传送过来的网络字节流,其中包括终端30对原始图像编码处理后的编码图像,并且编码图像经过了终端30的压缩,其分辨率小于原始图像的分辨率。
[0075]
于一实施例中,如图7所示,可以藉由部署在服务器40的解码器41实现对编码图像进行解码处理,输出解码图像。神经网络解码器41主要包括:预处理部分和基于神经网络的恢复模型。解码过程可以包括:
[0076]
步骤602:按照预设解码规则对编码图像进行解码处理,生成预解码图像。
[0077]
在本步骤中,服务器40首先基于预设解码规则对编码图像进行解码处理。如图7所示,将步骤601中接收的网络字节流输入至预处理部分,然后预处理部分根据预设解码规则对网络字节流进行解码。此处解码过程是上述步骤403至步骤404中终端30对原始图像编码的逆过程。解码后的数据再进行dct逆变换,即可得到与压缩图像的特征图相近的预解码图像。
[0078]
步骤603:将预解码图像输入预设的恢复模型,输出解码图像。
[0079]
在本步骤中,恢复模型为基于神经网络的模型。恢复模型包括:多个第二卷积层,每个第二卷积层用于对预解码图像进行上采样处理。
[0080]
于一实施例中,如图7所示,以分辨率为1280x720的原始图像为例,基于神经网络的恢复模型可以主要有15层卷积层构成,网络结构参数如图7中标注所示,方框中表示的是当前图像分辨率和通道数,比如1280x720x3表示当前图像分辨率为1280x720,通道数为3。箭头处文字表示第二卷积层的参数,表示规则为:卷积层数量xconv卷积核高度x卷积核宽度x卷积核个数x卷积stride,基于此,图7中所示的神经网络结构包含的内容如下:
[0081]
预解码图像分辨率为80x45x128。经过参数为4x conv 3x3x64x1的卷积层处理后,输出特征图分辨率为160x90x64。之后经过参数为4x conv 3x3x32x1的卷积层处理后,输出特征图分辨率为320x180x32。再经过参数为4x conv 3x3x16x1的卷积层处理后,输出特征图分辨率为640x360x16。最后经过参数为2x conv 3x3x3x1的卷积层和参数为1x conv 3x3x3x1的卷积层处理后,输出特征图分辨率为1280x720x3,即为解码图像。
[0082]
图7中,bilinear resize表示双线性插值上采样。每个第二卷积层后均使用relu激活函数,在bilinear resize之前使用batch

norm层。在最后一层卷积层后,使用sigmoid函数将其值限定至[0,1],然后再乘以256并取整后即可回复得到与原始图像相近的解码图像,该解码图像就可以作为原始图像的恢复图像,用于后续使用。
[0083]
于一实施例中,在步骤402之前,以及在步骤603之前,还包括建立压缩模型和建立恢复模型的步骤,包括:输入样本图像至待训练的神经网络模型,得到输出图像。基于样本图像和输出图像的像素方差确定训练损失函数,并基于训练损失函数训练神经网络模型,得到压缩模型和恢复模型。
[0084]
在本步骤中,在训练时可以采用无监督训练方式,将原始图片输入到待训练神经网络,并基于训练损失函数训练神经网络模型,得到压缩模型和恢复模型。在训练过程中,
压缩模型或恢复模型输出分辨率与原始图像一致的输出图像,然后对两张图像对应位置上的像素差值进行比较,确定训练损失函数。记原始图像为i
s
,模型输出图像为i
d
,则其训练损失函数为l:
[0085][0086]
其中,w表示原始图像或者输出图像的高,h表示原始图像或者输出图像高,i
s
(x,y)表示原始图像在(x,y)处的像素值,i
d
(x,y)表示输出图像在(x,y)处的像素值。
[0087]
于一实施例中,上述损失函数要求原始图像与输出图像具有一样的分辨率,因此压缩模型和恢复模型要一起训练,由于如图5所示编码和如图7所示解码部分是为了进一步降低传输大小而进行的无损压缩,放在一起训练时,可以将如图5所示编码和如图7所示解码部分去掉,直接将如图5所示的编码器31量化之后的结果进行dct逆变换,变换后的结果输入到如图7所示的神经网络解码器41的恢复模型的神经网络部分。经过上述裁剪后的架构即为待训练模型。
[0088]
上述模型训练过程可以由电子设备1或者电子设备2来执行,得到模型后,分别将压缩模型部署在终端30上,将恢复模型部署在服务器40上。
[0089]
请参看图8,其为本申请一实施例的图像处理装置800,该装置应用于图1所示的电子设备1,并可以应用于如图2所示的图像传输场景中,以向服务器40传输编码图像。该装置包括:获取模块801、编码模块802和发送模块803,各个模块的原理关系如下:
[0090]
获取模块801,用于获取待处理的原始图像。编码模块802,用于对原始图像进行编码处理,生成原始图像的编码图像,编码图像的分辨率小于原始图像的分辨率。发送模块803,用于发送编码图像至服务器40。
[0091]
于一实施例中,编码模块802用于:将原始图像输入预设的压缩模型,输出原始图像的压缩图像。按照预设编码规则对压缩图像进行编码,生成编码图像。
[0092]
于一实施例中,压缩模型为基于神经网络的模型。压缩模型包括:多个第一卷积层,每个第一卷积层用于对原始图像进行下采样处理。
[0093]
于一实施例中,还包括:处理模块804,用于在按照预设编码规则对压缩图像进行编码,生成编码图像之前,将压缩图像进行频域变换和量化处理。
[0094]
于一实施例中,还包括第一建立模块805,用于:输入样本图像至待训练的神经网络模型,得到输出图像。基于样本图像和输出图像的像素方差确定训练损失函数,并基于训练损失函数训练神经网络模型,得到压缩模型。
[0095]
上述图像处理装置800的详细描述,请参见上述如图3至图5中所示的实施例中相关方法步骤的描述。
[0096]
请参看图9,其为本申请一实施例的图像处理装置900,该装置应用于图1所示的电子设备2,并可以应用于如图2所示的图像传输场景中,以从编码图像中恢复出原始图像。该装置包括:接收模块901和解码模块902,各个模块的原理关系如下:
[0097]
接收模块901,用于接收终端30发送的编码图像,编码图像为终端30对原始图像编码处理后的图像,编码图像的分辨率小于原始图像的分辨率。解码模块902,用于对编码图像进行解码处理,输出解码图像,原始图像的恢复图像为解码图像。
[0098]
于一实施例中,解码模块902用于:按照预设解码规则对编码图像进行解码处理,生成预解码图像。将预解码图像输入预设的恢复模型,输出解码图像。
[0099]
于一实施例中,恢复模型为基于神经网络的模型。恢复模型包括:多个第二卷积层,每个第二卷积层用于对预解码图像进行上采样处理。
[0100]
于一实施例中,还包括第二建立模块903,用于:输入样本图像至待训练的神经网络模型,得到输出图像。基于样本图像和输出图像的像素方差确定训练损失函数,并基于训练损失函数训练神经网络模型,得到恢复模型。
[0101]
上述图像处理装置900的详细描述,请参见上述如图6至图7所示的实施例中相关方法步骤的描述。
[0102]
本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。
[0103]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1