CN118053002A - 图像处理方法及装置 - Google Patents
图像处理方法及装置 Download PDFInfo
- Publication number
- CN118053002A CN118053002A CN202211472602.8A CN202211472602A CN118053002A CN 118053002 A CN118053002 A CN 118053002A CN 202211472602 A CN202211472602 A CN 202211472602A CN 118053002 A CN118053002 A CN 118053002A
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- cluster
- clusters
- processed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000003062 neural network model Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 235000015220 hamburgers Nutrition 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 238000000605 extraction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003936 working memory Effects 0.000 description 5
- 241000287828 Gallus gallus Species 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 235000012020 french fries Nutrition 0.000 description 4
- 235000012976 tarts Nutrition 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 2
- 239000013066 combination product Substances 0.000 description 2
- 229940127555 combination product Drugs 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 235000018185 Betula X alpestris Nutrition 0.000 description 1
- 235000018212 Betula X uliginosa Nutrition 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本公开提供了一种图像数据的处理方法及装置,其中,方法包括:获取目标对象的待处理图像;根据待处理图像确定簇数目;根据待处理图像所包含的多个像素点的像素颜色信息,按照簇数目对多个像素点进行划分,以得到数量为簇数目的至少一个像素簇,其中,像素簇包含多个像素点;根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息;以及根据至少一个像素簇的簇颜色信息,生成目标对象的颜色分布信息。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及计算机视觉、图像处理领域,具体涉及一种图像数据的处理方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
智能推荐是一种基于用户偏好来推荐产品对象的推荐策略,智能推荐在电商、内容、直播、社交等领域均被广泛应用。目前存在一种基于商品颜色的推荐策略,该推荐策略基于用户对于特定颜色的偏好,向用户推荐和偏好颜色相同或接近的商品对象。
在进行商品推荐之前,需要首先提取包含商品对象的图像的颜色信息,以确定该商品对象和那种颜色相关,然后再根据颜色的提取结果确定将该商品对象推荐给何种人群。但是,相关技术中对于图像的颜色信息提取并不准确,导致提取出的颜色信息和对象的颜色特征差别较大。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种图像处理方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种图像处理方法,包括:获取目标对象的待处理图像;根据待处理图像确定簇数目;根据待处理图像所包含的多个像素点的像素颜色信息,按照簇数目对多个像素点进行划分,以得到数量为簇数目的至少一个像素簇,其中,像素簇包含多个像素点;根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息;以及根据至少一个像素簇的簇颜色信息,生成目标对象的颜色分布信息。
根据本公开的另一方面,提供了一种图像数据的处理装置,包括:获取单元,配置成获取目标对象的待处理图像;第一确定单元,配置成根据待处理图像确定簇数目;划分单元,配置成根据待处理图像所包含的多个像素点的像素颜色信息,按照簇数目对多个像素点进行划分,以得到数量为簇数目的至少一个像素簇,其中,像素簇包含多个像素点;第二确定单元,配置成根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息;以及生成单元,配置成根据至少一个像素簇的簇颜色信息,生成目标对象的颜色分布信息。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现上述的方法。
根据本公开的一个或多个实施例,先通过聚类将待处理图像的多个像素点划分成多个像素簇,然后分别确定每个像素簇的簇颜色信息,以生成目标对象的颜色分布信息。相较于直接抽取待处理图像的颜色信息的相关技术,通过分簇的方式使得对待处理图像中的对象的颜色抽取更加准确。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的图像数据的处理方法的流程图;
图2a示出了根据本公开的实施例的待处理图像的示意图;
图2b示出了根据图2a的待处理图像得到的颜色分布信息的示意图;
图2c示出了根据本公开另一实施例的待处理图像的示意图;
图2d示出了根据图2c的待处理图像得到的颜色分布信息的示意图;
图3示出了根据本公开的实施例的目标神经网络模型的训练过程的流程图;
图4示出了根据本公开的实施例的确定簇数目的方法的流程图;
图5示出了根据本公开的实施例的用于划分多个像素簇的方法的流程图;
图6示出了根据本公开的实施例的去除背景像素簇的方法的流程图;
图7示出了根据本公开的实施例的生成目标对象的颜色分布信息的方法的流程图;
图8示出了根据本公开的实施例的图像的处理装置的结构框图;
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在详细说明本申请相关实施例之前,首先对相关技术中的图像颜色抽取方法进行简单介绍。相关技术中的图像颜色抽取方法一般包括:获取待处理图像中所有像素点的通道值,然后计算所有像素点的通道值的平均值以作为对整个图像的颜色抽取的结果。但是,一张图像往往包含色彩、亮度等差异较大的多个区域,相关技术只能够抽取得到一个颜色信息,可能无法展示图像不同区域的颜色特点。
下面将结合附图详细描述本公开的实施例。
本公开首先提供了一种图像数据的处理方法,图1示出了根据本公开的示例性实施例的图像数据的处理方法100的流程图,如图1所示,该方法100包括:
步骤101,获取目标对象的待处理图像;
步骤102,根据待处理图像确定簇数目;
步骤103,根据待处理图像所包含的多个像素点的像素颜色信息,按照簇数目对多个像素点进行划分,以得到数量为簇数目的至少一个像素簇;
步骤104,根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息;以及
步骤105,根据至少一个像素簇的簇颜色信息,生成目标对象的颜色分布信息。
在本公开的多个实施例中,先通过聚类将待处理图像的多个像素点划分成多个像素簇,然后分别确定每个像素簇的簇颜色信息,以生成目标对象的颜色分布信息。相较于直接抽取待处理图像的颜色信息的相关技术,通过分簇的方式使得对待处理图像中的对象的颜色抽取更加准确。
在步骤101中,待处理图像可以是各种格式的图片,并且可以是彩色图像、灰度图像等形式的图像。上述待处理图像一般包含有一个或多个目标对象,上述目标对象包括但不限于食物、服装以及商品等。图2a示出了根据本公开实施例的待处理图像的示意图,如图2a所示,待处理图像包含的对象为食物(汉堡)。图2c示出了根据本公开另一实施例的待处理图像的示意图,如图2c所示,待处理图像包含的对象为饮品。
由于图像像素点的大多参数(颜色值或灰度值等)都是渐变的,因此,图像中距离较近的多个像素的参数大体相近。在步骤102中,将参数大体相近的部分像素点划分为一个像素簇,从而待处理图像可以被划分为多个像素簇。如图2a所示,待处理图像可以被划分为3个像素簇,其中所示的第一像素点a和第二像素点b参数大体相近被划分到同一像素簇内。可以理解,每个簇中的多个像素点未必全部连通为一片区域,一些簇中的多个像素点可以为待处理图像上的相互隔离的多片像素点。
在步骤102中,在对多个像素点进行划分之前还需要预先确定簇数目,然后根据所述待处理图像所包含的多个像素点的像素颜色信息,然后在步骤103中,按照簇数目对多个像素点进行划分,以得到数量为簇数目的多个像素簇。在一些实施例中,可以将待处理图像输入目标神经网络模型中,得到簇数目,其中,目标神经网络模型由多个样本数据训练得到,多个样本数据中的每个样本数据包括样本图像及其对应的簇数目。上述多个样本数据可以通过人工标注获得,例如,可以由人工标注出样本图像的预期的簇数目。关于目标神经网络模型的训练过程将在下文结合方法300进行详细描述。
在一些实施例中,目标神经网络模型包括图像内容识别子网络和输出子网络。在该实施例中,将待处理图像输入目标神经网络模型中,得到簇数目包括:将待处理图像先输入图像内容识别子网络,以得到图像内容特征,其中,图像内容特征表征待处理图像中的前景和后景之间的关系。然后将图像内容特征输入输出子网络,以得到簇数目。
在一些实施例中,目标神经网络还包括特征强化子网络。上述将待处理图像输入目标神经网络模型中,得到簇数目还包括:将图像内容特征输入特征强化子网络,以得到强化后的图像内容特征,其中,特征强化子网络被配置为将使用不同尺寸的卷积核对图像内容特征进行处理后得到的特征进行拼接,以得到强化后的图像内容特征。在该实施例中,将图像内容特征输入输出子网络,以得到簇数目包括:将强化后的图像内容特征输入输出子网络,以得到簇数目。
在步骤104中,根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息。在一些实施例中,像素颜色信息包括像素的通道值,簇颜色信息为基于对应的像素簇所包含的多个像素点的通道值而确定的。例如:可以对像素簇中的多个像素点的通道值取平均得到平均通道值,以作为像素簇的簇颜色信息。在待处理图像是彩色图像的情况下,则对像素簇中的多个像素点的通道值的三个分量(R、G、B)分别取平均,得到平均通道值。在另外一些实施例中,还可以从像素簇中的多个像素中选择一个像素,该像素可以被称为像素簇的质心,并且使用该像素的颜色信息(例如:通道值)作为像素簇的簇颜色信息。
在步骤105中,颜色分布信息可以包括所有像素簇的簇颜色信息。图2b示出了根据图2a的待处理图像得到的颜色分布信息,图2d示出了根据图2c的待处理图像得到的颜色分布信息的示意图。如图2b、2d所示,颜色分布信息可以呈现为色带的形式,即,所有像素簇的簇颜色信息按照预设方向排列。在另外一些实施例中,颜色分布信息还可以呈现为色环或色块的形式,或者颜色分布信息直接以数据的形式进行生成并存储,例如颜色分布信息直接包含多个簇颜色信息的RGB三通道的具体数值。
图3示出了根据本公开实施例的目标神经网络模型的训练过程的流程图,如图3所示,上述目标神经网络模型的训练过程300可以包括如下步骤:
步骤301,获取多个样本图像以及所述多个样本图像对应的真实簇数目;
步骤302,将所述多个样本图像输入所述目标神经网络模型,以获得所述目标神经网络模型所输出的预测簇数目;
步骤303,基于所述预测簇数目和真实簇数目,计算损失值;以及
步骤304,基于所述损失值,调整所述目标神经网络模型的参数。
上述目标神经网络模型包括至少一个inception层,至少一个inception层起到拼接特征的作用,并配置成以多个卷积核并行提取待处理图像的多个特征并将多个特征进行拼接得到拼接特征,训练好的神经网络模型根据拼接特征确定簇数目。模型结构包括至少一个级联的inception层、多个级联的卷积层和输出层,将所述待处理图像输入目标神经网络模型中,得到簇数目包括:将所述待处理图像分别输入所述至少一个级联的inception层和所述多个级联的卷积层;将所述至少一个级联的inception层所输出的多个特征向量和所述多个级联的卷积层所输出的多个特征向量进行拼接,以得到拼接特征向量;以及,将拼接特征向量输入所述输出层,以获得所述簇数目。
Inception层能够代替人工确定卷积层中的过滤器类型或者确定是否需要创建卷积层和池化层,即,不需要人为决定使用哪个过滤器,是否需要池化层等,由网络自行决定这些参数,可以给网络添加所有可能值,将输出连接起来,网络自己学习它需要什么样的参数。
具体地,首先搭建一个神经网络模型,模型的前几层需要引入卷积层来对图像的内容进行识别,让模型理解前景和后景的关系,这些卷积层形成上述图像内容识别子网络。在较深的层数连接一些inception层用来加速并加强模型对待处理图像的理解能力,最后连接一个全连接层,可以直接输出z值也就是模型结果。该神经网络模型的输出结果例如可以是2-5之间的一个数,也就是像素簇的数量。
图4示出了根据本公开实施例的确定簇数目的另一个方法400的流程图,如图4所示,该方法400包括:
步骤401,识别待处理图像,以确定待处理图像中的对象所包含的至少一个目标对象;
步骤402,获取目标对象所对应的子簇数目;以及
步骤403,根据至少一个目标对象所对应的子簇数目,确定簇数目。
在步骤401中,可以使用图像识别模型识别待处理图像,确定图像中的对象包含的目标对象的种类。以食品的图像为例,目标对象的种类包括但不限于:汉堡、薯条、蛋挞和饮料等。每种目标对象的图像区域的多个像素点都可以被划分为数量为子簇数目的多个像素簇。
步骤401中确定出的每个目标对象所对应的子簇数目可以预先确定,例如:汉堡的子簇数目为2,蛋挞的子簇数目为3等等。这些子簇数目可以由人工预先确定,这些子簇数目数据可以存储在相关存储器中以用于后续调用。在步骤402中,可以根据需要获取这些预先标注的子簇数目。
在步骤404中,可以将所有确定的目标对象所对应的子簇数目相加得到待处理图像总的簇数目。例如,在待处理图像的对象包含一个汉堡和一个蛋挞的情况下,簇数目可以为汉堡对应的子簇数目加上蛋挞对应的子簇数目,即,2+3=5。
可以理解,虽然可以使用机器学习等方法确定簇数目的具体值,但是在一些实施例中,也可以直接由人工确定簇数目。例如对于特定的待处理图像,可以直接由人工选定范围在2-5之间的簇数目。
另外,上述方法400还可以用来快速生成样本图像,以减少人工标注的工作量。由于大部分产品营销图片本质上是一个物体或多个目标对象的组合,因此,相关标注人员只需要对单个对象做简单的簇数目标注,就可快速获得大量的训练数据;如果是组合产品只需要设置一个简单的规则(例如单个对象的简单叠加)即可获得组合产品图像的标注簇数目。示例性地,对于小食类产品:香辣鸡翅,吮指原味鸡,薯条等等这样的单品,我们都可以直接标注为1,因为绝大部分小食类单品产品的主色调都是单一的;对于组合产品图像,例如包含香辣鸡翅和薯条的组合产品图像,将香辣鸡翅的数据与薯条的标注数据进行相加就得到了组合产品图像的标注簇数目。通过上述方式生成的样本图像及其标注的簇数目可以用于训练上述目标神经网络模型。
图5示出了根据本公开实施例的用于划分多个像素簇的方法500的流程图,如图5所示,该方法500包括:
步骤501,根据待处理图像所包含的多个像素点的像素颜色信息生成特征矩阵;以及
步骤502,根据特征矩阵对多个像素点进行聚类,得到多个像素簇。
在步骤501中,对于诸如jpg格式的彩色图像,可以根据待处理图像所包含的多个像素点的通道值生成三维特征矩阵。三维特征矩阵中的每个元素与多个像素点中的一个像素点相对应,并且,每个元素中的三个分量为对应像素点的通道值的三个分量。
下面以一个4*5尺寸的jpg格式的图像为例进行说明,通过解析4*5尺寸的图像的数字化编码,可以获得该图像中每个像素点的通道值的三个分量。图像通道值的三个分量可以表示为如下形式:
[[[255 255 0][255 255 1][255 255 2][255 255 2]]
[[255 255 3][255 255 4][255 255 5][255 255 2]]
[[255 255 6][255 255 7][255 255 8][255 255 2]]
[[255 255 6][255 255 7][255 255 8][255 255 2]]
[[255 255 6][255 255 7][255 255 8][255 255 2]]]
可以理解,上述4*5尺寸的图像仅仅是示例性的,在其他实施例中,待处理图像的分辨率可以远大于4*5,例如可以达到1000*1000级别的分辨率。上文所述的三维特征矩阵也是示例性的,若对于png格式的彩色图像(png图像的每个像素具有4个通道),那么每个像素点将包含4个分量,也就是说,最终将生成四维特征矩阵;而对于无通道的图像,仅有分辨率大小和色值,则可以生成一个一维特征矩阵。
本实施例的聚类可以使用划分式聚类方法,该方法预先指定簇的数目或者聚类中心,通过反复迭代,直至同一像素簇内的像素点的参数足够接近,不同像素簇之间的像素点的参数偏差足够大。具体实现无监督聚类的方法包括但不限于基于划分、密度、网格的聚类方法,例如BIRCH、DBSCAN、Kmeans等方法均可应用于本公开的实施例。其中,划分式聚类方法包括但不限于:k-means及其变体k-means++、bi-k-means、kernel k-means等聚类方法。关于如何预先确定簇数目将在下文进行详细描述。
在步骤502中,多个像素点的聚类可以通过聚类模型实现,聚类模型例如可以是无监督聚类模型,聚类模型对上述4*5尺寸的图像进行聚类,从而得到三个像素簇。例如上述20个像素点以如下形式被划分:1 1 1 1 1 1 2 22 2 2 2 2 3 3 3 3 3 3 3,即前6个像素点被划分为第一像素簇,中间7个点被划分为第二像素簇,最后7个点被划分为第三像素簇。
在一些实施例中,还可以在对多个像素点进行划分之前就去除掉背景图像的影响。具体地,获取目标对象的待处理图像包括:获取所述目标对象的初始图像;识别所述初始图像,以将初始图像进行分割;以及去除待处理图像的背景部分,以得到所述待处理图像。具体地,可以使用图像识别模型识别初始图像并对图像进行分割,以确定图像中的前景部分和背景部分,然后删除背景部分所包含的像素点,仅保留前景部分包含的像素点,后续仅对前景部分包含的像素点进行聚类。例如,在对初始图像进行编码化操作前,基于mask-RCNN、detectron2等实例分割算法或框架抽取出前景部分和背景部分,单独对前景部分(也就是和目标对象相关的部分)进行像素点划分。
在一些实施例中,在根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息之前还包括去除背景像素簇。图6示出了根据本公开实施方式的去除背景像素簇的方法600的流程图,方法600包括:
步骤601,根据多个像素簇包含的像素点之间的数量关系从多个像素簇中确定至少一个背景像素簇,从多个像素簇中确定至少一个背景像素簇;以及
步骤602,从多个像素簇中去除至少一个背景像素簇。
在对待处理图像进行颜色抽取的过程中,一般仅关注图像中包含的目标对象的图像区域的颜色特征,而不会关注拍摄背景的图像区域的颜色特征。如图2a所示,该图像中包含的对象为汉堡,汉堡的主要颜色为黄色,除去汉堡区域之外的区域为背景区域,背景区域的主要颜色为灰色。因此,该待处理图像所关注的区域为黄色的区域,而非灰色区域。
一般而言,图像的背景区域面积要大于图像中的目标对象区域的面积,因此,被划分为背景像素簇的像素点要多于被划分为对象的像素簇的像素点的数量。在步骤601中,对于多个像素簇中的任一像素簇,可以响应于确定该像素簇的像素点的数量与待处理图像所包含的多个像素点的数量之比大于阈值比值,将该像素簇确定为背景像素簇。例如,阈值比值可以设置为30%、40%或50%等,当某一个像素簇中的像素点的数量和待处理图像所有像素点数量之比大于上述比值时,可以确定该像素簇为背景像素簇。在另外一些实施例中,还可以使用其他关于多个像素簇的像素点之间的数量关系的方法确定背景像素簇,例如还可以将多个像素簇中像素点最多的一个或多个像素簇作为背景像素簇。在步骤602中去除掉背景像素簇之后,后续可以仅确定除去背景像素簇之外的其他像素簇的簇颜色信息,或者也可以在确定所有像素簇的簇颜色信息之后再选择性地去除背景像素簇。如图2b所示,图2a所示的汉堡图像中的所有像素点被划分为3个像素簇,即像素簇A、B和C,其中,像素簇A被确定为背景像素簇,需要被去除,剩余的像素簇B和C将用于后续生成目标对象的颜色分布信息。再如图2d所示,图2c所示的饮品图像中的所有像素点被划分为4个像素簇,即像素簇A’、B’、C’和D’,其中,像素簇A’被确定为背景像素簇,需要被去除,剩余的像素簇B’、C’和D’将用于后续生成目标对象的颜色分布信息。
在相关技术中,由于不区分背景像素簇和包含目标对象的像素簇,因此,在对待处理图像进行颜色提取时,目标对象的颜色会被背景颜色影响,导致最终获得的颜色信息和目标对象的颜色差距较大。而在本实施例中去除了背景像素簇,仅保留包含目标对象的像素簇,从而使得后续提取得到的颜色分布信息更加接近对象的颜色信息。
图7示出了根据本公开实施例的生成目标对象的颜色分布信息的方法600的流程图,如图7所示,该方法700包括:
步骤701,根据像素簇的簇颜色信息,生成像素簇的色调;以及
步骤702,将像素簇的色调沿着预设方向进行排列以生成颜色分布信息。
如上文所述,颜色分布信息可以呈现为色带的形式,即,所有像素簇的簇颜色信息按照预设方向排列。如图2b所示,色带可以包括长度方向和宽度方向,其中,所有像素簇的簇颜色沿着长度方向排列设置,并且分别表示每个簇颜色信息的色带本身具有一定的延伸长度。每个簇颜色带本身的延伸长度和该像素簇所包含的像素点的数量正相关,也就是说,像素簇内包含的像素点的数量越多,该像素簇的簇颜色的延伸长度越长。图2b包含水平方向的坐标,其坐标值表示像素点的数量。
后续可以基于上述色带形式的颜色分布信息进一步确定和待处理图像所包含的目标对象相关的颜色特征信息,以用于后续的商品对象推荐。例如,可以将色带中颜色占比最高的颜色作为该图像中存在的对象的主色调,从而进行推广。例如,还以图2a所示的汉堡的图像为例,通过上述方法可以确定出汉堡的主色调为黄色,从而将该待处理图像标记为黄色,后续可以将该图像或该图像所包含的对象(汉堡)推荐给具有黄色产品偏好的用户。
根据本公开的另一方面,还提供了一种图像的处理装置。图8示出了根据本公开实施例的图像的处理装置800的结构框图,如图8所示,该装置800包括:获取单元810,配置成获取目标对象的待处理图像;第一确定单元820,配置成根据待处理图像确定簇数目;划分单元830,配置成根据待处理图像所包含的多个像素点的像素颜色信息,按照簇数目对多个像素点进行划分,以得到数量为簇数目的至少一个像素簇,其中,像素簇包含多个像素点;第二确定单元840,配置成根据像素簇所包含的多个像素点的像素颜色信息,确定像素簇的簇颜色信息;以及生成单元850,配置成根据至少一个像素簇的簇颜色信息,生成目标对象的颜色分布信息。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的图像数据的处理方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,计算机程序再被处理器执行时实现上述的图像数据的处理方法。
参见图9,现将描述可以作为本公开的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
图9示出了根据本公开实施例的电子设备的框图。如图9所示,电子设备900可以包括能够通过系统总线903彼此通信的至少一个处理器901、工作存储器902、I/O设备904、显示设备905、存储装置906和通信接口907。
处理器901可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器901可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。处理器901可以被配置成获取并且执行存储在工作存储器902、存储装置906或者其他计算机可读介质中的计算机可读指令,诸如操作系统902a的程序代码、应用程序902b的程序代码等。
工作存储器902和存储装置906是用于存储指令的计算机可读存储介质的示例,指令由处理器901执行来实施前面所描述的各种功能。工作存储器902可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,存储装置906可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器902和存储装置906在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器901作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
I/O设备904可以包括输入设备和/或输出设备,输入设备可以是能向电子设备900输入信息的任何类型的设备,可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备可以是能呈现信息的任何类型的设备,并且可以包括但不限于包括视频/音频输出终端、振动器和/或打印机。
通信接口907允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、902.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
工作寄存器902中的应用程序902b可以被加载执行上文所描述的各个方法和处理,例如图1中的步骤S101-步骤S104。在一些实施例中,计算机程序的部分或者全部可以经由存储装置906和/或通信接口907而被载入和/或安装到电子设备900上。当计算机程序被加载并由处理器901执行时,可以执行上文描述的图像数据的处理方法的一个或多个步骤。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (17)
1.一种图像处理方法,包括:
获取包含目标对象的待处理图像;
根据所述待处理图像确定簇数目;
根据所述待处理图像所包含的多个像素点的像素颜色信息,按照所述簇数目对所述多个像素点进行划分,以得到数量为所述簇数目的至少一个像素簇,其中,所述像素簇包含多个像素点;
根据所述像素簇所包含的多个像素点的像素颜色信息,确定所述像素簇的簇颜色信息;以及
根据所述至少一个像素簇的簇颜色信息,生成所述目标对象的颜色分布信息。
2.根据权利要求1所述的方法,其中,根据所述待处理图像确定簇数目包括:
将所述待处理图像输入目标神经网络模型中,得到簇数目。
3.根据权利要求2所述的方法,其中,所述目标神经网络模型的训练过程包括:
获取多个样本图像以及所述多个样本图像对应的真实簇数目;
将所述多个样本图像输入所述目标神经网络模型,以获得所述目标神经网络模型所输出的预测簇数目;
基于所述预测簇数目和真实簇数目,计算损失值;以及
基于所述损失值,调整所述目标神经网络模型的参数。
4.根据权利要求3所述的方法,其中,所述目标神经网络模型包括图像内容识别子网络和输出子网络,其中,将所述待处理图像输入目标神经网络模型中,得到簇数目包括:
将所述待处理图像输入所述图像内容识别子网络,以得到图像内容特征,其中,所述图像内容特征表征所述待处理图像中的前景和后景之间的关系;
将所述图像内容特征输入所述输出子网络,以得到所述簇数目。
5.根据权利要求4所述的方法,其中,所述目标神经网络还包括特征强化子网络,其中,将所述待处理图像输入目标神经网络模型中,得到簇数目还包括:
将所述图像内容特征输入所述特征强化子网络,以得到强化后的图像内容特征,其中,所述特征强化子网络被配置为将使用不同尺寸的卷积核对所述图像内容特征进行处理后得到的特征进行拼接,以得到所述强化后的图像内容特征,并且其中
将所述图像内容特征输入所述输出子网络,以得到所述簇数目还包括:
将所述强化后的图像内容特征输入所述输出子网络,以得到所述簇数目。
6.根据权利要求3所述的方法,其中,根据所述待处理图像确定簇数目还包括:
识别所述待处理图像,以确定所述待处理图像中的对象所包含的至少一个目标对象;
获取所述目标对象所对应的子簇数目;以及
根据所述至少一个目标对象所对应的子簇数目,确定所述簇数目。
7.根据权利要求1所述的方法,其中,所述至少一个像素簇包括多个像素簇,在根据所述像素簇所包含的多个像素点的像素颜色信息,确定所述像素簇的簇颜色信息之前还包括:
根据所述多个像素簇包含的像素点之间的数量关系,从所述多个像素簇中确定至少一个背景像素簇;以及
从所述多个像素簇中去除所述至少一个背景像素簇。
8.根据权利要求7所述的方法,其中,根据所述多个像素簇包含的像素点之间的数量关系,从所述多个像素簇中确定至少一个背景像素簇包括:
响应于确定某一像素簇的像素点的数量与所述待处理图像所包含的多个像素点的数量之间的比值大于阈值比值,将该像素簇确定为背景像素簇。
9.根据权利要求1-8中任一项所述的方法,其中,获取目标对象的待处理图像包括:
获取所述目标对象的初始图像;
识别所述初始图像,以将所述初始图像进行分割;以及
去除所述初始图像的背景部分,以得到所述待处理图像。
10.根据权利要求1-8中任一项所述的方法,其中,根据所述待处理图像所包含的多个像素点的像素颜色信息,按照所述簇数目对所述多个像素点进行划分,以得到数量为所述簇数目的至少一个像素簇包括:
根据所述待处理图像所包含的多个像素点的像素颜色信息生成特征矩阵;以及
根据所述特征矩阵对所述多个像素点进行聚类,得到多个像素簇。
11.根据权利要求10所述的方法,其中,所述像素颜色信息包括像素的通道值,所述特征矩阵包括n维特征矩阵,其中,根据所述待处理图像所包含的多个像素点的像素颜色信息生成特征矩阵包括:
根据所述待处理图像所包含的多个像素点的通道值生成n维特征矩阵,其中,所述n维特征矩阵中的任一元素与所述多个像素点中的一个像素点相对应,并且,元素中的n个分量为对应像素点的通道值的n个分量。
12.根据权利要求10所述的方法,其中,所述像素颜色信息包括像素的通道值,所述簇颜色信息为基于对应的像素簇所包含的多个像素点的通道值而确定的。
13.根据权利要求1-8中任一项所述的方法,其中,根据所述至少一个像素簇的簇颜色信息,生成所述目标对象的颜色分布信息包括:
根据所述像素簇的簇颜色信息,生成所述像素簇的色调;以及
将所述多个像素簇的色调沿着预设方向进行排列以生成所述颜色分布信息。
14.一种图像处理装置,包括:
获取单元,配置成获取目标对象的待处理图像;
第一确定单元,配置成根据所述待处理图像确定簇数目;
划分单元,配置成根据所述待处理图像所包含的多个像素点的像素颜色信息,按照所述簇数目对所述多个像素点进行划分,以得到数量为所述簇数目的至少一个像素簇,其中,所述像素簇包含多个像素点;
第二确定单元,配置成根据所述像素簇所包含的多个像素点的像素颜色信息,确定所述像素簇的簇颜色信息;以及
生成单元,配置成根据所述至少一个像素簇的簇颜色信息,生成所述目标对象的颜色分布信息。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211472602.8A CN118053002A (zh) | 2022-11-17 | 2022-11-17 | 图像处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211472602.8A CN118053002A (zh) | 2022-11-17 | 2022-11-17 | 图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118053002A true CN118053002A (zh) | 2024-05-17 |
Family
ID=91043715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211472602.8A Pending CN118053002A (zh) | 2022-11-17 | 2022-11-17 | 图像处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118053002A (zh) |
-
2022
- 2022-11-17 CN CN202211472602.8A patent/CN118053002A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9741137B2 (en) | Image-based color palette generation | |
US9552656B2 (en) | Image-based color palette generation | |
CN107679466B (zh) | 信息输出方法和装置 | |
Khattab et al. | Color image segmentation based on different color space models using automatic GrabCut | |
CN112949710B (zh) | 一种图像的聚类方法和装置 | |
CN113160257B (zh) | 图像数据标注方法、装置、电子设备及存储介质 | |
US8587604B1 (en) | Interactive color palettes for color-aware search | |
WO2022121218A1 (zh) | 智能图像识别方法、装置、计算机设备及存储介质 | |
US9930218B2 (en) | Content aware improvement of captured document images | |
CN110782466B (zh) | 图片分割方法、装置和系统 | |
CN109344273B (zh) | 一种壁纸管理的方法、装置和移动终端 | |
US12008734B2 (en) | Generating image masks from digital images via color density estimation and deep learning models | |
Murray et al. | Toward automatic and flexible concept transfer | |
CN114841974A (zh) | 一种水果内部结构无损检测方法、系统、电子设备及介质 | |
CN109241930B (zh) | 用于处理眉部图像的方法和装置 | |
US8131077B2 (en) | Systems and methods for segmenting an image based on perceptual information | |
CN114445826A (zh) | 视觉问答方法、装置、电子设备以及存储介质 | |
CN112102200A (zh) | 图像补全模型初始化方法、训练方法和图像补全方法 | |
GB2587833A (en) | Image modification styles learned from a limited set of modified images | |
CN118053002A (zh) | 图像处理方法及装置 | |
CN115546554A (zh) | 敏感图像的识别方法、装置、设备和计算机可读存储介质 | |
CN113032251B (zh) | 应用程序服务质量的确定方法、设备和存储介质 | |
US11615609B2 (en) | Learning apparatus, inferring apparatus, learning method, program, and inferring method | |
US10713792B1 (en) | System and apparatus for image processing | |
CN111062862A (zh) | 基于颜色的数据增强方法和系统及计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |