一种实时头发分割方法和系统
文献发布时间:2023-06-19 10:19:37
技术领域
本发明涉及图像分割技术领域,具体涉及一种实时头发分割方法和系统。
背景技术
图像分割是一种广泛使用的技术,它使电影导演和视频内容创作者能够将图像的前景从背景中分离出来,并将它们视为两个不同的视觉层。通过修改图层(比如重新着色、屏蔽或替换等),让原本枯燥或者不符合视觉要求的图像场景变得更加引人注目,提高视觉效果。然而目前,上述的图像分割过程通常采用人工方式进行,艺术家需要对每一视频帧按照要求进行人为图像分割和图像处理,面对帧数庞大的视频,手工进行图像分割的过程无疑耗时巨大,相当费力。
所以为了解决这个问题,例如在拍电影时,通过人为布设容易处理的背景,比如以绿色幕布为背景进行电影场景拍摄,后期再用专用视频处理软件将绿色背景替换为需要的背景,但这种处理方式也存在相当大的局限性,如果前景结构比较复杂,比如前景存在较大面积的头发区域时,这种前背景分割方式处理速度很慢,无法做到对头发分割的实时性。
发明内容
本发明以实时分割头发,大幅提升图像分割速度为目的,提供了一种实时头发分割方法和系统。
为达此目的,本发明采用以下技术方案:
提供一种实时头发分割方法,具体包括如下步骤:
步骤S1,获取当前视频帧图像;
步骤S2,将当前的所述视频帧图像分离为RGB颜色模式下的三个通道图像;
步骤S3,将当前帧的上一视频帧图像所关联的第一头发分割掩膜,以及关联当前的所述视频帧图像的三张所述通道图像输入到一预先训练的头发分割模型中,经模型预测输出当前的所述视频帧图像所关联的第二头发分割掩膜;
步骤S4,重复步骤S1~S3,以完成对所有视频帧图像的头发实时分割。
作为本发明的一种优选方案,所述实时头发分割方法还包括:
步骤S5,根据原始的当前视频帧图像和预测得到的关联当前视频帧图像的所述第二头发分割掩膜,对头发重新进行上色,并输出上色后的新图像。
作为本发明的一种优选方案,所述步骤S3中,训练所述头发分割模型的方法具体包括:
步骤L1,获取样本图像数据集;
步骤L2,对所述样本图像数据集中的每一张样本图像进行前景元素标注,标注出头发在图像中的准确所处位置,得到头发标注图;
步骤L3,对所述头发标注图进行二值化处理,得到区分头发前景和图像背景的二值化掩膜图像;
步骤L4,以未标注的原始样本图像和关联原始样本图像的所述二值化掩膜图像为训练样本,通过一神经网络训练形成所述头发分割模型。
作为本发明的一种优选方案,所述步骤L2中,通过人工标注方法对头发进行标注。
作为本发明的一种优选方案,所述图像数据集中至少包括10000张图像。
作为本发明的一种优选方案,所述神经网络为hourglass沙漏型结构,所述神经网络包括编码器、解码器和连接所述解码器的输出的DenseNet层,所述编码器和所述解码器中的特征提取层之间设置有跳跃连接,所述编码器对网络输入进行特征下采样,所述解码器对所述编码器的输出进行特征上采样后输出给所述DenseNet层,通过所述DenseNet层提取输入图像上的头发细节特征后输出预测结果。
本发明还提供了一种实时头发分割系统,可实现所述的实时头发分割方法,所述实时头发分割系统包括:
视频帧图像获取模块,用于根据图像获取指令获取当前视频帧图像;
图像分离模块,连接所述视频帧图像获取模块,用于根据图像分离指令将获取的当前视频帧图像分离为RGB颜色模式下的三张通道图像并存储;
头发分割掩膜获取模块,连接头发分割掩膜存储模块,用于根据掩膜获取指令从所述头发分割掩膜存储模块中获取当前帧的上一视频帧图像所关联的第一头发分割掩膜;
图像输入模块,分别连接所述图像分离模块和所述头发分割掩膜获取模块,用于根据图像输入指令将关联当前视频帧图像的三张所述通道图像以及当前帧的上一视频帧图像输入到头发分割模块中;
所述头发分割模块,连接所述图像输入模块,用于根据头发分割指令通过一预先训练的头发分割模型,根据模型输入预测输出当前视频帧图像所关联的第二头发分割掩膜。
作为本发明的一种优选方案,所述实时头发分割系统还包括:
头发上色模块,连接所述头发分割模块和所述视频帧图像获取模块,用于根据上色指令,并基于原始未上色的当前视频帧图像以及当前视频帧图像所关联的所述第二头发分割掩膜,对预测出的头发区域重新进行上色。
作为本发明的一种优选方案,所述头发上色模块中具体包括:
颜色查找单元,用于在原始未上色的当前视频帧图像上查找出所预测的头发区域中的各像素的颜色强度信息;
上色颜色选择单元,用于提供给用户选择所需的上色颜色;
上色单元,分别连接所述颜色查找单元和所述上色颜色选择单元,用于将所选的所述上色颜色按照所述头发区域中各所述像素对应的原始颜色强度信息上色到对应的每个所述像素中。
作为本发明的一种优选方案,所述实时头发分割系统还包括:
头发分割模型训练模块,连接所述头发分割模块,用于训练形成所述头发分割模型并将模型保存在头发分割模块中,所述头发分割模型训练模块中具体包括:
样本图像获取单元,用于从一样本图像数据集中获取样本图像;
样本图像标注单元,连接所述样本图像获取单元,用于将获取的所述样本图像提供给不同专业人员进行图像前景元素标注,以交叉验证并准确标注出头发在图像中的所处位置,得到头发标注图;
样本图像处理单元,连接所述图像标注单元,用于对所述头发标注图进行二值化处理,得到区分头发前景和图像背景的二值化掩膜图像;
模型训练单元,分别连接所述样本图像获取单元和所述样本图像处理单元,用于以未标注的原始样本图像和关联原始样本图像的所述二值化掩膜图像为训练样本,通过一神经网络训练形成所述头发分割模型。
本发明的有益效果是:
1、以上一帧原始图像的三通道图像以及原始图像对应的头发分割掩膜模型输入,预测输出当前帧的头发分割掩膜,极大提升了头发分割的速度,确保了头发分割的实时性。
2、本发明采用hourglass沙漏型结构的神经网络训练形成头发分割模型,并在神经网络的编码层和解码层之间加入跳跃连接,以及在解码层的输出增加DenseNet层,精简的神经网络结构进一步提升了头发分割的速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的实时头发分割方法的方法步骤图;
图2是本发明一实施例提供的训练所述头发分割模型的方法步骤图;
图3是本发明一实施例提供的实时头发分割系统的结构示意图;
图4是所述实时头发分割系统中的头发上色模块的内部结构示意图;
图5是所述实时头发分割系统中的头发分割模型训练模块的内部结构示意图;
图6是训练头发分割模型的神经网络的网络结构图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明实施例提供的一种实时头发分割方法,具体包括如下步骤:
步骤S1,获取当前视频帧图像;可以为手机实时拍摄的视频帧图像,由于本发明提供的实时头发分割方法对图像进行头发分割的速度很快,而且占用手机资源较少,所以支持对手机实时拍摄的视频帧图像进行头发分割;
步骤S2,将当前的视频帧图像(RGB图像)分离为RGB颜色模式下的三个通道图像;
步骤S3,将当前帧的上一视频帧图像所关联的第一头发分割掩膜,以及关联当前的视频帧图像的三张通道图像输入到一预先训练的头发分割模型中,经模型预测输出当前的视频帧图像所关联的第二头发分割掩膜;由于前后帧图像之间的头发形状变化通常较小,所以本发明以上一帧的三通道图像和上一帧的头发分割掩膜作为模型输入去预测当前帧的头发分割掩膜,而不是重新根据当前帧的三张通道图像直接去预测当前帧的头发分割掩膜,这样有利于大幅提高头发分割的速度,确保头发分割的实时性;
步骤S4,重复步骤S1~S3,以完成对所有视频帧图像的头发实时分割。
本发明还提供对头发分割区域的上色功能,所以优选地,实时头发分割方法还包括:
步骤S5,根据原始(未分割前)的当前视频帧图像和预测得到的关联当前视频帧图像的第二头发分割掩膜,对头发重新进行上色,并输出上色后的新图像。上色方法为,首先在原始的当前视频帧图像上查找(可以通过LUTS颜色查找表查找,具体查找方法并非本发明要求权利保护的范围,所以在此不做说明)出所预测的头发区域中的各像素的颜色强度信息;然后明确所要上色的颜色;最后,将所选的上色颜色按照头发区域中各像素对应的原始颜色强度信息上色到对应的每个像素中。
步骤S3中,训练头发分割模型的方法如图2所示,具体包括如下步骤:
步骤L1,获取样本图像数据集;为了确保模型的预测精度,图像数据集中至少包括10000张图像;
步骤L2,对样本图像数据集中的每一张样本图像进行前景元素(前景元素包括头发、嘴巴、眉毛、鼻子等,当分割对象为头发时,则标注头发区域)标注,标注出头发在图像中的准确所处位置,得到头发标注图;为了确保头发标注的准确度,本发明通过人工标注和交叉验证方式对头发进行标注。也就是将同一张样本图像提供各不同的标注人员进行标注,并对各标注人员的标注结果进行交叉验证,然后从中选择一张公认为标准最为准确标注图作为最终选定的头发标注图。
步骤L3,对头发标注图进行二值化处理,得到区分头发前景和图像背景的二值化掩膜图像;由于二值化图像相比较头发标注图而言,图像信息大幅减少,所以将头发标注图二值化为掩膜图像,并以二值化掩膜图像作为后续模型训练的样本,有利于大幅提高头发分割模型的头发分割速度;
步骤L4,以未标注的原始样本图像和关联原始样本图像的二值化掩膜图像为训练样本,通过一神经网络训练形成头发分割模型。
为了进一步提升头发分割的速度,本发明对训练头发分割模型的神经网络的网络结构进行了改进,如图6所示,该神经网络结构为hourglass沙漏型结构,该神经网络包括编码器、解码器和连接解码器的输出的DenseNet层,编码器和解码器中的特征提取层之间设置有跳跃连接,以提升神经网络的编解码速度,编码器对网络输入进行特征下采样,解码器对编码器的输出进行特征上采样后输出给DenseNet层,通过DenseNet层能够提取输入图像上的头发细节特征以及边缘特征,头发分割结果更加准确。
本发明还提供了一种实时头发分割系统,可实现上述的实时头发分割方法,如图3所示,该实时头发分割系统包括:
视频帧图像获取模块,用于根据图像获取指令获取当前视频帧图像;
图像分离模块,连接视频帧图像获取模块,用于根据图像分离指令将获取的当前视频帧图像(RGB图像)分离为RGB颜色模式下的三张通道图像并存储;
头发分割掩膜获取模块,连接头发分割掩膜存储模块,用于根据掩膜获取指令从头发分割掩膜存储模块中获取当前帧的上一视频帧图像所关联的第一头发分割掩膜;
图像输入模块,分别连接图像分离模块和头发分割掩膜获取模块,用于根据图像输入指令将关联当前视频帧图像的三张通道图像以及当前帧的上一视频帧图像输入到头发分割模块中;
头发分割模块,连接图像输入模块,用于根据头发分割指令通过一预先训练的头发分割模型,根据模型输入预测输出当前视频帧图像所关联的第二头发分割掩膜;
头发上色模块,连接头发分割模块和视频帧图像获取模块,用于根据上色指令,并基于原始未上色的当前视频帧图像以及当前视频帧图像所关联的第二头发分割掩膜,对预测出的头发区域重新进行上色。具体上色过程在上述的实时头发分割方法中作了简要阐述,在此不再赘述。
如图4所示,头发上色模块中具体包括:
颜色查找单元,用于在原始未上色的当前视频帧图像上查找出所预测的头发区域中的各像素的颜色强度信息;
上色颜色选择单元,用于提供给用户选择所需的上色颜色;
上色单元,分别连接颜色查找单元和上色颜色选择单元,用于将所选的上色颜色按照头发区域中各像素对应的原始颜色强度信息上色到对应的每个像素中。
为了实现模型训练功能,如图3所示,实时头发分割系统还包括:
头发分割模型训练模块,连接头发分割模块,用于训练形成头发分割模型并将模型保存在头发分割模块中。具体地,如图5所示,头发分割模型训练模块中包括:
样本图像获取单元,用于从一样本图像数据库中获取样本图像;
样本图像标注单元,连接样本图像获取单元,用于将获取的样本图像提供给不同的专业人员进行图像前景元素标注,以交叉验证并准确标注出头发在图像中的所处位置,得到头发标注图;
样本图像处理单元,连接图像标注单元,用于对头发标注图进行二值化处理,得到区分头发前景和图像背景的二值化掩膜图像;
模型训练单元,分别连接样本图像获取单元和样本图像处理单元,用于以未标注的原始样本图像和关联原始样本图像的二值化掩膜图像为训练样本,通过一神经网络训练形成头发分割模型。该神经网络的网络结构在上述的实时头发分割方法中作了简要阐述,在此不再赘述。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。
- 一种实时头发分割方法和系统
- 一种基于深度学习的头发精细化分割方法及系统