基于数理统计的服装颜色分割提取方法、装置和设备与流程

文档序号:25023719发布日期:2021-05-11 16:48阅读:89来源:国知局
基于数理统计的服装颜色分割提取方法、装置和设备与流程

本申请涉及计算机图像处理技术领域,尤其涉及一种基于数理统计的服装颜色分割提取方法、装置和设备。



背景技术:

在实际生活或工作中,人们经常存在对服装图像进行检索的需求,比如当从视频或图片中看到某人穿着的服装时,可能想要检索该服装的信息。而在实际执行检索时,需要对服装进行特征提取以实现检索(最常见的是提取颜色特征),传统的方法是通过图像匹配,主成分分析等图像处理方法,对图像信息进行特征提取、过滤,最后使用特征匹配的方法进行特征识别,最后得到匹配结果,这种方式对图像信息的特征提取设计较为复杂,且普适性不高。此外,还存在通过kmeans算法对图像进行分类以实现图像颜色特征提取的方法,但该方法需要预设聚类中心个数,最终结果受预设的参数影响较大,导致结果不稳定。



技术实现要素:

本申请提供一种基于数理统计的服装颜色分割提取方法、装置和设备,以解决现有的针对服装颜色的特征提取方法普适性不高或结果不稳定的问题。

本申请的上述目的是通过以下技术方案实现的:

第一方面,本申请实施例提供一种基于数理统计的服装颜色分割提取方法,包括:

获取图像;其中,所述图像包含人体图像,所述人体穿着待进行颜色分割提取的服装;

对所述图像进行人体检测,以检测所述图像中的人体位置,并对人体图像进行切分,得到人体图像切片;

基于dbscan聚类算法对所述人体图像切片进行服装主要颜色的分割提取,得到颜色分割提取结果;

输出所述颜色分割提取结果。

可选的,所述基于dbscan聚类算法对所述人体图像切片进行服装主要颜色的分割提取,得到颜色分割提取结果,包括:

对所述人体图像切片进行预处理;

对所述预处理后得到的图像进行hls颜色空间变换,并进行通道拆分,得到单一h、l、s的数据,对h、s数据按照像素坐标进行拼接为n×2的向量,将该向量作为聚类数据,其中,n=wb×hb,wb,hb分别为所述人体图像切片的宽和高;

基于dbscan聚类算法生成m个颜色类;

对生成的每一个颜色类的特征向量进行统计,得到每一类的大小;

如果聚类数量大于3类,也即m>3,则对各类的大小进行从大到小的排序,并结合所述人体图像切片的尺寸计算各类对应的占比,将占比大于等于预设阈值的类作为备选类;如果聚类数量小于等于3类,也即m≤3,则将全部类作为备选类;

使用欧式距离公式,以图像中心点为固定端点,图像点p=(i,j)为另一端点,连成线段,生成与所述人体图像切片相同尺寸的距离;其中,中心像素值为0,离中心越远,像素值越大;

用各所述备选类的各像素所在坐标,取对应距离的像素值做累加,将累加结果作为各所述备选类的误差;

从所述备选类中选取误差最小的n类作为所述颜色分割提取结果。

可选的,所述预处理包括高斯模糊和下采样。

可选的,所述获取图像,包括:

获取视频并从视频中逐帧提取图像。

可选的,所述对所述图像进行人体检测,以检测所述图像中的人体位置,包括:

获取设定的检测区域;

基于单帧视频图像生成检测区域图像;

利用预先训练的检测模型对所述检测区域图像进行人体检测;其中,所述检测模型是基于深度学习模型训练得到的。

可选的,所述深度学习模型包括yolov3、yolov4、yolov5、fasterrcnn、ssd或mtcnn模型。

第二方面,本申请实施例还提供一种基于数理统计的服装颜色分割提取装置,包括:

获取模块,用于获取图像;其中,所述图像包含人体图像,所述人体穿着待进行颜色分割提取的服装;

人体图像切片生成模块,用于对所述图像进行人体检测,以检测所述图像中的人体位置,并对人体图像进行切分,得到人体图像切片;

分割提取模块,用于基于dbscan聚类算法对所述人体图像切片进行服装主要颜色的分割提取,得到颜色分割提取结果;

输出模块,用于输出所述颜色分割提取结果。

可选的,所述分割提取模块具体用于:

对所述人体图像切片进行预处理;

对所述预处理后得到的图像进行hls颜色空间变换,并进行通道拆分,得到单一h、l、s的数据,对h、s数据按照像素坐标进行拼接为n×2的向量,将该向量作为聚类数据,其中,n=wb×hb,wb,hb分别为所述人体图像切片的宽和高;

基于dbscan聚类算法生成m个颜色类;

对生成的每一个颜色类的特征向量进行统计,得到每一类的大小;

如果聚类数量大于3类,也即m>3,则对各类的大小进行从大到小的排序,并结合所述人体图像切片的尺寸计算各类对应的占比,将占比大于等于预设阈值的类作为备选类;如果聚类数量小于等于3类,也即m≤3,则将全部类作为备选类;

使用欧式距离公式,以图像中心点为固定端点,图像点p=(i,j)为另一端点,连成线段,生成与所述人体图像切片相同尺寸的距离;其中,中心像素值为0,离中心越远,像素值越大;

用各所述备选类的各像素所在坐标,取对应距离的像素值做累加,将累加结果作为各所述备选类的误差;

从所述备选类中选取误差最小的n类作为所述颜色分割提取结果。

可选的,所述获取模块具体用于:

获取视频并从视频中逐帧提取图像。

第三方面,本申请实施例还提供一种基于数理统计的服装颜色分割提取设备,其包括:

存储器和与所述存储器相连接的处理器;

所述存储器,用于存储程序,所述程序至少用于实现第一方面任一项所述的基于数理统计的服装颜色分割提取方法;

所述处理器,用于调用并执行所述存储器存储的所述程序。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请的实施例提供的技术方案中,首先获取包含人体的图像,并进行人体检测以及在检测到人体后进行人体图像切片,然后通过dbscan聚类算法实现对人体图像切片的主要颜色的分割提取,如此设置,相对于传统的图像匹配,主成分分析等图像处理方法,设计简单、普适性高,并且采用dbscan聚类算法,相对于kmeans算法,不需要预设聚类中心个数,因此效果更直观稳定,更加符合预期。因此本申请的方案具有很高的实用性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的一种基于数理统计的服装颜色分割提取方法的流程示意图。

图2为本申请实施例提供的一种基于数理统计的服装颜色分割提取装置的结构示意图;

图3为本申请实施例提供的一种基于数理统计的服装颜色分割提取设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

为了解决背景技术中提到的现有的针对服装颜色的特征提取方法普适性不高或结果不稳定的问题,本申请提供一种基于数理统计的服装颜色分割提取方法,以下通过实施例进行详细说明。

实施例

参照图1,图1为本申请实施例提供的一种基于数理统计的服装颜色分割提取方法的流程示意图。如图1所示,该方法至少包括以下步骤:

s101:获取图像;其中,所述图像包含人体图像,所述人体穿着待进行颜色分割提取的服装;

具体的,获取服装图像的方法有多种,比如,获取视频并从视频中逐帧提取图像,或者直接获取单张图片图像。其中,获取的视频可以是从各种途径得到的,包括从网络下载的以及用户自行拍摄的等等,直接获取单张图片图像同理,只要最终得到的图像包括人体且该人体身穿用户想要检索的服装即可。

s102:对所述图像进行人体检测,以检测所述图像中的人体位置,并对人体图像进行切分,得到人体图像切片;

具体的,人体检测过程可以根据实际需要进行设置,对此不进行限制,比如可以是利用预先基于深度学习模型训练得到的检测模型实现人体检测。此外,对人体图像进行切分得到人体图像切片,是指将图像内的人体图像部分进行切分(实质是对服装部分的切分),得到多个不同的子图像,该过程可以参照现有技术中的方法实现,不再进行详细说明。此外需要说明的是,本实施例中所提及的人体图像及其切片均指的是仅包含单一人体的图像及其切片。

进一步的,当步骤s101中是获取视频并从视频中逐帧提取得到的图像,则在该步骤s102中的对所述图像进行人体检测,以检测所述图像中的人体位置,可以是:获取设定的检测区域;基于单帧视频图像生成检测区域图像;利用预先训练的检测模型对所述检测区域图像进行人体检测;其中,所述检测模型可以是基于深度学习模型训练得到的,可以采用的深度学习模型包括yolov3、yolov4、yolov5、fasterrcnn、ssd或mtcnn模型等,优选为yolov3模型。

关于设定的检测区域,由于获取到的图像中可能包括多个人体且不同人体可能身穿不同服装,因此,当需要进行颜色特征提取的服装是其中之一时,则此时需要由用户设定相应的检测区域,实质上也即由用户选择目标服装。

此外,在应用该方法时,除了需要预先设定检测区域,还要预先设定各算法参数并存储,比如:后续步骤中的dbscan(density-basedspatialclusteringofapplicationswithnoise)聚类算法的聚类半径α,面积比例系数β;后续步骤中用于确定备选类的预设阈值thresh;对于深度学习模型设置后处理参数,如nms(non-maximumsuppression,非极大值抑制)参数ρ,置信度参数σ,top数量参数τ;等等。

s103:基于dbscan聚类算法对所述人体图像切片进行服装主要颜色的分割提取,得到颜色分割提取结果;具体包括:

对所述人体图像切片进行预处理;预处理包括高斯模糊和下采样;高斯模糊(gaussianblur),也叫高斯平滑,用于减少图像噪声以及降低细节层次;此外,对于一幅图像i,尺寸为m×n,对其进行s倍下采样,即得到尺寸的分辨率图像,即把原始图像s×s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值;通过预处理,对检测图像进一步优化,可以加快后续处理速度,同时进一步避免不必要的干扰;

对所述预处理后得到的图像进行hls(hue色相、lightness亮度、saturation饱和度)颜色空间变换,并进行通道拆分,得到单一h、l、s的数据,对h、s数据按照像素坐标进行拼接为n×2的向量,将该向量作为聚类数据clusterdata,其中,n=wb×hb,wb,hb分别为所述人体图像切片的宽和高;

基于dbscan聚类算法生成m个颜色类,也即class=(class0,class1,class2,…classm-1);应用该算法前,需先设置面积比例参数β、聚类半径α等参数,则聚类时,首先计算dbscan参数min_pts=n×β,然后根据聚类半径α和计算得到的min_pts,对聚类数据clusterdata进行基于密度的聚类,即可得到m个颜色类;dbscan聚类算法同kmeans算法相比,不用预设聚类个数,效果更直观稳定,更加符合预期;

对生成的每一个颜色类的特征向量进行统计,得到每一类的大小;

如果聚类数量大于3类,也即m>3,则对各类的大小进行从大到小的排序,并结合所述人体图像切片的尺寸计算各类对应的占比,将占比大于等于预设阈值tres的类作为备选类;如果聚类数量小于等于3类,也即m≤3,则将全部类作为备选类;

使用欧式距离公式,以图像中心点为固定端点,图像点p=(i,j)为另一端点,连成线段,生成与所述人体图像切片相同尺寸的距离mask(其中,i,j分别为图像点p的横纵坐标);其中,中心像素值为0,离中心越远,像素值越大,表达式为:

用各所述备选类的各像素所在坐标,取对应距离mask的像素值做累加,将累加结果作为各所述备选类的误差ern,表达式为:

从所述备选类中选取误差最小的n类作为所述颜色分割提取结果choose,具体为:coose=[class0class1…]。

s104:输出所述颜色分割提取结果。

输出的分割提取结果为一或多个颜色特征,可以用于检索,而本申请中对于检索过程不进行限制,因此也不再进行详细说明。

上述技术方案中,首先获取包含人体的图像,并进行人体检测以及在检测到人体后进行人体图像切片,然后通过dbscan聚类算法实现对人体图像切片的主要颜色的分割提取,如此设置,相对于传统的图像匹配,主成分分析等图像处理方法,设计简单、普适性高,并且采用dbscan聚类算法,相对于kmeans算法,不需要预设聚类中心个数,因此效果更直观稳定,更加符合预期。因此本申请的方案具有很高的实用性。

此外,对应于上述实施例的基于数理统计的服装颜色分割提取方法,本申请实施例还提供一种基于数理统计的服装颜色分割提取装置。该装置为相应设备中基于软件、硬件或其结合的功能集合体。

参照图2,图2为本申请实施例提供的一种基于数理统计的服装颜色分割提取装置的结构示意图。如图2所示,该装置主要包括以下结构:

获取模块21,用于获取图像;其中,所述图像包含人体图像,所述人体穿着待进行颜色分割提取的服装;

人体图像切片生成模块22,用于对所述图像进行人体检测,以检测所述图像中的人体位置,并对人体图像进行切分,得到人体图像切片;

分割提取模块23,用于基于dbscan聚类算法对所述人体图像切片进行服装主要颜色的分割提取,得到颜色分割提取结果;

输出模块24,用于输出所述颜色分割提取结果。

可选的,所述分割提取模块23具体用于:

对所述人体图像切片进行预处理;

对所述预处理后得到的图像进行hls颜色空间变换,并进行通道拆分,得到单一h、l、s的数据,对h、s数据按照像素坐标进行拼接为n×2的向量,将该向量作为聚类数据,其中,n=wb×hb,wb,hb分别为所述人体图像切片的宽和高;

基于dbscan聚类算法生成m个颜色类;

对生成的每一个颜色类的特征向量进行统计,得到每一类的大小;

如果聚类数量大于3类,也即m>3,则对各类的大小进行从大到小的排序,并结合所述人体图像切片的尺寸计算各类对应的占比,将占比大于等于预设阈值的类作为备选类;如果聚类数量小于等于3类,也即m≤3,则将全部类作为备选类;

使用欧式距离公式,以图像中心点为固定端点,图像点p=(i,j)为另一端点,连成线段,生成与所述人体图像切片相同尺寸的距离;其中,中心像素值为0,离中心越远,像素值越大;

用各所述备选类的各像素所在坐标,取对应距离的像素值做累加,将累加结果作为各所述备选类的误差;

从所述备选类中选取误差最小的n类作为所述颜色分割提取结果。

可选的,所述获取模块21具体用于:

获取视频并从视频中逐帧提取图像。

其中,上述功能模块的所执行的具体方法步骤的实现方法可以参照前述方法实施例中的相应内容,此处不再详述。

此外,对应于上述实施例的基于数理统计的服装颜色分割提取方法,本申请实施例还提供一种基于数理统计的服装颜色分割提取设备。

参照图3,图3为本申请实施例提供的一种基于数理统计的服装颜色分割提取设备的结构示意图。如图3所示,该设备包括:

存储器31和与所述存储器31相连接的处理器32;

存储器31用于存储程序,所述程序至少用于实现上述的基于数理统计的服装颜色分割提取方法;

处理器32用于调用并执行存储器31存储的所述程序。

其中,所述设备可以是pc、移动终端或类似设备。此外,所述程序所实现的方法的具体步骤可以参照前述方法实施例中的相应内容,此处不再详述。

通过上述方案,用户输入图像后可以快速得到目标服装的颜色的分割提取结果,也即得到颜色特征,进而可以用于实现服装的检索。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1