一种针对服装的边缘精细抠图方法及系统与流程

文档序号:23857100发布日期:2021-02-05 15:28阅读:143来源:国知局
一种针对服装的边缘精细抠图方法及系统与流程

[0001]
本申请涉及图像处理技术领域,尤其涉及一种针对服装的边缘精细抠图方法及系统。


背景技术:

[0002]
在进行图像拍摄时,经常会出现拍摄的主体颜色与背景颜色接近的情况,例如:在对服装进行拍摄过程中,会出现服装的颜色与服装所处空间的颜色接近的情况,在这种情况下,很难从拍摄的图片或者视频中提取出主体图像,即使能够从拍摄的图片或者视频中提取出主体图像,由于主体的颜色与背景的颜色接近,提取出的主体图像的轮廓会存在较大的缺陷,并且提取出的主体图像中还会存在背景区域或者其他区域,造成主体图像的提取不彻底。
[0003]
因此,如何保证提取的主体图像的轮廓完整,并且保证提取主体图像彻底,是目前本领域技术人员需要解决的技术问题。


技术实现要素:

[0004]
本申请提供了一种针对服装的边缘精细抠图方法及系统,以保证提取的主体图像的轮廓完整,并且保证提取主体图像彻底。
[0005]
为解决上述技术问题,本申请提供如下技术方案:
[0006]
一种针对服装的边缘精细抠图方法,包括如下步骤:步骤s110、对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中;步骤s120、依据归入种类的服装边界参数,对从服装图片或者服装视频中提取的初步服装边界进行修正,以获得准确的服装边界;步骤s130、依据准确的服装边界从服装图片或者服装视频中分割出服装图像。
[0007]
如上所述的针对服装的边缘精细抠图方法,其中,优选的是,还包括如下步骤:步骤s140、计算分割出的服装图像的边界所围成的各个区域的面积,以对分割出的服装图像的边界进行平滑处理和填充处理;步骤s150、识别服装图像中除服装以外的人台部分,并去除人台部分所占的区域,以形成精确的服装图像。
[0008]
如上所述的针对服装的边缘精细抠图方法,其中,优选的是,对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中,包括如下子步骤:步骤s111、将拍摄的服装图片或者服装视频中的每一帧图像转换为灰度图像;步骤s112、将灰度图像中的低灰度值部分进行扩展,将灰度图像中的高灰度值部分进行压缩,以将灰度图像进行拉伸;步骤s113、在拉伸后的图像中提取服装的边界;步骤s114、从提取出的服装边界中获得服装的特征,并将服装的特征输入服装分类模型中,以将服装归入预定种类中。
[0009]
如上所述的针对服装的边缘精细抠图方法,其中,优选的是,训练形成服装分类模型,包括如下子步骤:步骤s101、预先收集不同种类的服装的参数,形成特征向量集;步骤
s102、将形成的特征向量集输入dbn分类模型,训练dbn分类模型得到不同的子分类模型;步骤s103、将不同的子分类模型进行融合,得到服装分类模型。
[0010]
如上所述的针对服装的边缘精细抠图方法,其中,优选的是,计算服装图像的边界所围成的各个区域的面积,包括如下子步骤:步骤s141、依据边界的各段的曲率大小确定一定数量的折点,并且通过折点形成多边形图像;步骤s142、对多边形图像进行面积计算,得到服装图像的边界所围成的各个区域的面积。
[0011]
一种针对服装的边缘精细抠图系统,包括:识别归类模块、修正模块和分割模块;其中,识别归类模块对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中;修正模块依据归入种类的服装边界参数,对从服装图片或者服装视频中提取的初步服装边界进行修正,以获得准确的服装边界;分割模块依据准确的服装边界从服装图片或者服装视频中分割出服装图像。
[0012]
如上所述的针对服装的边缘精细抠图系统,其中,优选的是,还包括:处理模块和人台去除模块;处理模块计算分割出的服装图像的边界所围成的各个区域的面积,以对分割出的服装图像的边界进行平滑处理和填充处理;人台去除模块识别服装图像中除服装以外的人台部分,并去除人台部分所占的区域,以形成精确的服装图像。
[0013]
如上所述的针对服装的边缘精细抠图系统,其中,优选的是,识别归类模块包括:灰度转换模块、拉伸模块、提取模块和特征识别输入模块;灰度转换模块将拍摄的服装图片或者服装视频中的每一帧图像转换为灰度图像;拉伸模块将灰度图像中的低灰度值部分进行扩展,将灰度图像中的高灰度值部分进行压缩,以将灰度图像进行拉伸;提取模块在拉伸后的图像中提取服装的边界;特征识别输入模块从提取出的服装边界中获得服装的特征,并将服装的特征输入服装分类模型中,以将服装归入预定种类中。
[0014]
如上所述的针对服装的边缘精细抠图系统,其中,优选的是,训练模块包括:特征向量集形成模块、dbn分类模型和融合模块;特征向量集形成模块预先收集不同种类的服装的参数,形成特征向量集;dbn分类模型对形成的特征向量集进行训练,得到不同的子分类模型;融合模块将不同的子分类模型进行融合,得到服装分类模型。
[0015]
如上所述的针对服装的边缘精细抠图系统,其中,优选的是,处理模块包括:多边形形成模块和面积计算模块;多边形形成模块依据边界的各段的曲率大小确定一定数量的折点,并且通过折点形成多边形图像;面积计算模块对多边形图像进行面积计算,得到服装图像的边界所围成的各个区域的面积。
[0016]
相对上述背景技术,本申请所提供的针对服装的边缘精细抠图方法及系统,可以保证提取的主体图像的轮廓完整,并且还可以保证提取主体图像彻底。
附图说明
[0017]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0018]
图1是本申请实施例提供的针对服装的边缘精细抠图方法的流程图;
[0019]
图2是本申请实施例提供的训练形成服装分类模型的流程图;
[0020]
图3是本申请实施例提供的服装归类的流程图;
[0021]
图4是本申请实施例提供的面积计算的流程图;
[0022]
图5是本申请实施例提供的针对服装的边缘精细抠图系统的示意图。
具体实施方式
[0023]
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0024]
实施例一
[0025]
请参阅图1,图1是本申请实施例提供的针对服装的边缘精细抠图方法的流程图;
[0026]
本申请提供了一种针对服装的边缘精细抠图方法,包括如下步骤:
[0027]
步骤s110、对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中;
[0028]
在使用该方法之前,预先采集不同种类的服装的参数,以通过对不同种类的服装参数进行训练,形成服装分类模型。具体的,如图2所示,包括如下子步骤:
[0029]
步骤s101、预先收集不同种类的服装的参数,形成特征向量集;
[0030]
通过预先收集不同种类的服装的参数形成的特征向量集p={z1、z2......z
i
......z
n
},其中z1、z2......z
i
......z
n
为每一件服装的参数集合,n为参数集合的数量,z
i
={a1,a2,a3,a4,a5......a
g
},a1,a2,a3,a4,a5,......a
g
代表一件服装的参数,g为一件服装的参数的数量。
[0031]
例如:特征向量集p中有1000件半袖、1000件长袖、1000件长裤......中每一件服装的参数集合,并且每一件服装的参数结合中具有衣长、衣宽、袖长、袖宽、裤长、裤宽等参数。当然,这就是一个例子,在实际中,会将服装分为更细的种类,例如:半袖进一步分为男装半袖、女装半袖、七分半袖、九分半袖等。
[0032]
步骤s102、将形成的特征向量集输入dbn分类模型,训练dbn分类模型得到不同的子分类模型;
[0033]
dbn模型是一种深度学习算法,具有良好的随时间演化的能力,将特征向量集p={z1、z2......z
i
......z
n
}输入dbn分类模型,利用特征向量集p训练dbm分类模型,得到不同的子分类模型d
t
,其中,t=1、2、3、
……
t,也就是得到t个子分类模型。
[0034]
步骤s103、将不同的子分类模型进行融合,得到服装分类模型;
[0035]
具体的,为不同的子分类模型d
t
赋予相应的权重β
t
,通过以下公式获得分类模型y:
[0036][0037]
在使用时,将服装穿在人台上,然后将服装与人台一并放入拍摄装置内部,从不同角度对服装进行拍摄,以拍摄出服装图片或者服装视频。
[0038]
然后,对拍摄的服装图片或者服装视频进行特征识别,依据识别的特征,将服装图片或者服装视频中的服装归入预定种类中。
[0039]
具体的,请参阅图3,对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中,包括如下子步骤:
[0040]
步骤s111、将拍摄的服装图片或者服装视频中的每一帧图像转换为灰度图像;
[0041]
将拍摄的服装图片或者服装视频中的每一帧图像中的各个像素点的三种颜色r、g、b的值设置为相同,以对拍摄的服装图片或者服装视频中的每一帧图像进行灰度化处理,具体的,通过以下公式r=g=b=wr*r+wg*g+wb*b进行灰度化处理,其中wr、wg、wb分别为r、g、b的权值。
[0042]
步骤s112、将灰度图像中的低灰度值部分进行扩展,将灰度图像中的高灰度值部分进行压缩,以将灰度图像进行拉伸;
[0043]
具体的,将灰度图像中的每个像素点通过公式进行变换,其中,s为变换后的像素点的值,r为灰度图像中像素点的原始值,m为阈值、优选的,m取值为0.5,e为拉伸参数、优选的,e取值为5,通过上述公式将灰度图像进行拉伸。
[0044]
步骤s113、在拉伸后的图像中提取服装的边界;
[0045]
具体的,计算拉伸后的图像中的每个像素点的绝对梯度值m:
[0046][0047]
其中,f(x,y)为拉伸后的图像中的每个像素点所对应的二维函数,x、y为像素点的坐标值,若该像素点的绝对梯度值m(x、y)大于预设的阈值,则该像素点属于服装的边界点。根据该方法计算出拉伸后的图像中服装的所有边界点,将服装的所有边界点形成的集合作为服装的边界,进行提取。
[0048]
步骤s114、从提取出的服装边界中获得服装的特征,并将服装的特征输入服装分类模型中,以将服装归入预定种类中;
[0049]
具体的,依据提取的服装边界获得衣长、衣宽、袖长、袖宽、裤长、裤宽等特征参数,将这些获得的参数输入服装分类模型y中,通过服装分类模型y将服装归入长袖、短袖、长裙、短裙、长裤、短裤等预定种类中的一种。
[0050]
请继续参阅图1,步骤s120、依据归入种类的服装边界参数,对从服装图片或者服装视频中提取的初步服装边界进行修正,以获得准确的服装边界;
[0051]
作为举例,以通过服装分类模型y将服装归为男士长袖衬衣类后,获取预先设置的男士长袖衬衣类的边界参数(例如:男士长袖衬衣的衣长、衣宽、袖长、袖宽等参数的比例关系)。按照上述步骤s111、步骤s112和步骤s113从服装图片或者服装视频中提取的初步服装边界,然后依据预先设置的男士长袖衬衣类的边界参数(例如:男士长袖衬衣的衣长、衣宽、袖长、袖宽等参数的比例关系),对初步服装边界进行修正,得到准确的服装边界。
[0052]
步骤s130、依据准确的服装边界从服装图片或者服装视频中分割出服装图像;
[0053]
依据获得的准确的服装边界,在服装图片或者服装视频中的每一帧图像中进行图像分割,得到服装图像。
[0054]
步骤s140、计算分割出的服装图像的边界所围成的各个区域的面积,以对分割出的服装图像的边界进行平滑处理和填充处理;
[0055]
具体的,请参阅图4,计算服装图像的边界所围成的各个区域的面积,包括如下子步骤:
[0056]
步骤s141、依据边界的各段的曲率大小确定一定数量的折点,通过折点形成多边
形图像;
[0057]
服装图像的边界会围成不同大小的封闭区域,对每个封闭区域进行面积计算。由于包围形成各个区域的服装图像的边界通常为曲线,因此计算各个区域面积时,先依据曲线的各段的曲率大小确定一定数量的折点,具体将曲率大于阈值时对应的顶点确定为折点,然后连接相邻的两个折点,以将每个区域转换成多边形图像。例如:形成w个折点,折点的坐标依次为(c1,d1)、(c2,d2)、

(c
w
,d
w
)。
[0058]
步骤s142、对多边形图像进行面积计算,得到服装图像的边界所围成的各个区域的面积;
[0059]
具体的,多边形图像的面积h为:
[0060][0061]
其中,w为多边形图像的折点的个数,(c
k
,d
k
)、(c
k+1
,d
k+1
)为折点的坐标,k和k+1均为折点坐标c和d的下标,以表示c、d为不同折点的坐标,取值为1至w-1。
[0062]
具体的,计算出服装图像的边界所围成的各个区域的面积后,从服装图像的边界中去除面积小于阈值的区域所对应的边界,从而使得服装图像的边界更加平滑,这样还可以去除服装图像的边界所形成的杂点。
[0063]
在上述基础上,去除面积小于阈值的区域所对应的边界后,对该边界(也就是面积小于阈值的区域所对应的边界)所包围的区域进行填充,具体的,选取该边界附近的像素点,以该像素点的特征填充该边界所包围的区域。
[0064]
步骤s150、识别服装图像中除服装以外的人台部分,并去除人台部分所占的区域,以形成精确的服装图像;
[0065]
具体的,通过凸包技术识别出服装图像中的人台部分,例如:人台的手部,然后对凸包内的图像进行清除,并依据背景颜色向清除的区域进行填充,形成最终的服装图像。
[0066]
实施例二
[0067]
请参阅图5,图5是本申请实施例提供的针对服装的边缘精细抠图系统的示意图;
[0068]
本申请还提供了一种针对服装的边缘精细抠图系统,包括:识别归类模块510、修正模块520、分割模块530、处理模块540和人台去除模块550。
[0069]
识别归类模块510对拍摄的服装图片或者服装视频进行特征识别,以将服装图片或者服装视频中的服装归入预定种类中。
[0070]
在上述基础上,针对服装的边缘精细抠图系统还包括训练模块560,在使用该方法之前,训练模块560对预先采集的不同种类的服装的参数进行训练,形成服装分类模型。具体的,训练模块560包括:特征向量集形成模块561、dbn分类模型562和融合模块563。
[0071]
特征向量集形成模块561通过预先收集的不同种类的服装的参数形成特征向量集;
[0072]
具体的,通过预先收集不同种类的服装的参数形成的特征向量集p={z1、z2......z
i
......z
n
},其中z1、z2......z
i
......z
n
为每一件服装的参数集合,n为参数集合的数量,z
i
={a1,a2,a3,a4,a5......a
g
},a1,a2,a3,a4,a5,......a
g
代表一件服装的参数,g为一件服装的参数的数量。
[0073]
例如:特征向量集p中有1000件半袖、1000件长袖、1000件长裤......中每一件服
装的参数集合,并且每一件服装的参数结合中具有衣长、衣宽、袖长、袖宽、裤长、裤宽等参数。当然,这就是一个例子,在实际中,会将服装分为更细的种类,例如:半袖进一步分为男装半袖、女装半袖、七分半袖、九分半袖等。
[0074]
dbn分类模型562对形成的特征向量集进行训练,得到不同的子分类模型;
[0075]
dbn模型是一种深度学习算法,具有良好的随时间演化的能力,将特征向量集p={z1、z2......z
i
......z
n
}输入dbn分类模型,利用特征向量集p训练dbm分类模型,得到不同的子分类模型d
t
,其中,t=1、2、3、
……
t,也就是得到t个子分类模型。
[0076]
融合模块563将不同的子分类模型进行融合,得到服装分类模型;
[0077]
具体的,为不同的子分类模型d
t
赋予相应的权重β
t
,通过以下公式获得分类模型y:
[0078][0079]
在使用时,将服装穿在人台上,然后将服装与人台一并放入拍摄装置内部,从不同角度对服装进行拍摄,以拍摄出服装图片或者服装视频。
[0080]
然后,对拍摄的服装图片或者服装视频进行特征识别,依据识别的特征,将服装图片或者服装视频中的服装归入预定种类中。
[0081]
具体的,识别归类模块510包括:灰度转换模块511、拉伸模块512、提取模块513和特征识别输入模块514。
[0082]
灰度转换模块511将拍摄的服装图片或者服装视频中的每一帧图像转换为灰度图像;
[0083]
将拍摄的服装图片或者服装视频中的每一帧图像中的各个像素点的三种颜色r、g、b的值设置为相同,以对拍摄的服装图片或者服装视频中的每一帧图像进行灰度化处理,具体的,通过以下公式r=g=b=wr*r+wg*g+wb*b进行灰度化处理,其中wr、wg、wb分别为r、g、b的权值。
[0084]
拉伸模块512将灰度图像中的低灰度值部分进行扩展,将灰度图像中的高灰度值部分进行压缩,以将灰度图像进行拉伸;
[0085]
具体的,将灰度图像中的每个像素点通过公式进行变换,其中,s为变换后的像素点的值,r为灰度图像中像素点的原始值,m为阈值、优选的,m取值为0.5,e为拉伸参数、优选的,e取值为5,通过上述公式将灰度图像进行拉伸。
[0086]
提取模块513在拉伸后的图像中提取服装的边界;
[0087]
具体的,计算拉伸后的图像中的每个像素点的绝对梯度值m:
[0088][0089]
其中,f(x,y)为拉伸后的图像中的每个像素点所对应的二维函数,x、y为像素点的坐标值,若该像素点的绝对梯度值m(x、y)大于预设的阈值,则该像素点属于服装的边界点。根据该方法计算出拉伸后的图像中服装的所有边界点,将服装的所有边界点形成的集合作为服装的边界,进行提取。
[0090]
特征识别输入模块514从提取出的服装边界中获得服装的特征,并将服装的特征输入服装分类模型中,以将服装归入预定种类中;
[0091]
具体的,依据提取的服装边界获得衣长、衣宽、袖长、袖宽、裤长、裤宽等特征参数,将这些获得的参数输入服装分类模型y中,通过服装分类模型y将服装归入长袖、短袖、长裙、短裙、长裤、短裤等预定种类中的一种。
[0092]
修正模块520依据归入种类的服装边界参数,对从服装图片或者服装视频中提取的初步服装边界进行修正,以获得准确的服装边界;
[0093]
作为举例,以通过服装分类模型y将服装归为男士长袖衬衣类后,获取预先设置的男士长袖衬衣类的边界参数(例如:男士长袖衬衣的衣长、衣宽、袖长、袖宽等参数的比例关系)。从服装图片或者服装视频中提取的初步服装边界,然后依据预先设置的男士长袖衬衣类的边界参数(例如:男士长袖衬衣的衣长、衣宽、袖长、袖宽等参数的比例关系),对初步服装边界进行修正,得到准确的服装边界。
[0094]
分割模块530依据准确的服装边界从服装图片或者服装视频中分割出服装图像;
[0095]
依据获得的准确的服装边界,在服装图片或者服装视频中的每一帧图像中进行图像分割,得到服装图像。
[0096]
处理模块540计算分割出的服装图像的边界所围成的各个区域的面积,以对分割出的服装图像的边界进行平滑处理和填充处理;
[0097]
具体的,处理模块540包括:多边形形成模块541和面积计算模块542。
[0098]
多边形形成模块541依据边界的各段的曲率大小确定一定数量的折点,通过折点形成多边形图像;
[0099]
服装图像的边界会围成不同大小的封闭区域,对每个封闭区域进行面积计算。由于包围形成各个区域的服装图像的边界通常为曲线,因此计算各个区域面积时,先依据曲线的各段的曲率大小确定一定数量的折点,具体将曲率大于阈值时对应的顶点确定为折点,然后连接相邻的两个折点,以将每个区域转换成多边形图像。例如:形成w个折点,折点的坐标依次为(c1,d1)、(c2,d2)、

(c
w
,d
w
)。
[0100]
面积计算模块542对多边形图像进行面积计算,得到服装图像的边界所围成的各个区域的面积;
[0101]
具体的,多边形图像的面积h为:
[0102][0103]
其中,w为多边形图像的折点的个数,(c
k
,d
k
)、(c
k+1
,d
k+1
)为折点的坐标,k和k+1均为折点坐标c和d的下标,以表示c、d为不同折点的坐标,取值为1至w-1。
[0104]
具体的,计算出服装图像的边界所围成的各个区域的面积后,从服装图像的边界中去除面积小于阈值的区域所对应的边界,从而使得服装图像的边界更加平滑,这样还可以去除服装图像的边界所形成的杂点。
[0105]
在上述基础上,去除面积小于阈值的区域所对应的边界后,对该边界(也就是面积小于阈值的区域所对应的边界)所包围的区域进行填充,具体的,选取该边界附近的像素点,以该像素点的特征填充该边界所包围的区域。
[0106]
人台去除模块550识别服装图像中除服装以外的人台部分,并去除人台部分所占的区域,以形成精确的服装图像;
[0107]
具体的,通过凸包技术识别出服装图像中的人台部分,例如:人台的手部,然后对
凸包内的图像进行清除,并依据背景颜色向清除的区域进行填充,形成最终的服装图像。
[0108]
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0109]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1