基于单张图片实现虚拟试衣的相关算法研究

2021-06-26 08:25董文敏
科学技术创新 2021年16期
关键词:试衣像素点轮廓

董文敏

(聊城大学,山东 聊城252000)

1 概述

据统计,我国网购用户的规模于2020年大约达到7.1 亿。同时,网上购物的发展冲击了传统的服装产业,服装行业的整体销售水平下滑,大部分线下服装店出现关门现象。与其相反的是,服装类电商市场发展良好,规模逐渐拓展,发展迅速,2018年至2019年服装类电商市场规模同比增长22.1%。经调查得知,我国消费者绝大多数愿意通过网络购买衣服,更有超过七成的消费者已经有过网购服装的经历。

经数据分析,服装行业由于科技的冲击,正以一种新的形式蓬勃发展。在发展过程中,网上购买服装已经逐渐成为新的购物方式。但在网购时,人们具有一定的盲目性和不确定性。比如,一些服装的图片因种种原因与真实情况有出入,网上购买无法试穿,无法确定用户购买的服装是否合身等等。种种情况导致退换货现象频繁发生,在电商热点投诉问题统计中,因商品质量、是否合身等问题导致的退换货现象等问题占比高达48.5%,给商家和消费者都带来了损害和麻烦。

虚拟现实技术在社会发展需要、人们需求和计算机性能提高的推动下,在与计算机图形学和计算机视觉等技术融合的条件下,逐渐得到发展,实现服装的虚拟试穿。在过去几十年,研究人员从不同的角度对虚拟试衣技术进行研究,虚拟试衣系统在国内外发展逐渐成熟,出现了Runway 3D、CLO 3D等多款虚拟试衣系统。但受技术发展限制,实现虚拟试衣需要用户提供大量信息,对于使用的图片也有较高要求,也正是因为这些问题,虚拟试衣发展受限,至今未能被大众接受[2]。

根据上述问题,本文研究基于单张图片[3],如何实现虚拟试衣。

2 二维虚拟试衣

针对二维虚拟试衣,本文提出一种试衣方式,用户提供带有服装的图片,和系统中根据用户身材构建的虚拟模特,提取人体体形和服装图像的轮廓图,利用像素点转化实现二维虚拟试衣[4-5]。

2.1 服装轮廓提取

服装轮廓提取最主要的是得到人体和服装图像的边缘轮廓图,可通过Canny算法提取图像的边缘信息并处理筛选来生成。Canny边缘检测通过不同的对象提取信息、减少数据量,是目前边缘检测中最优的一套方法,具有较低错误率,定位的边缘最可能的接近真实边缘,并实现了单一的边缘点响应,被广泛应用。服装轮廓提取一般分为五个步骤[6],如图1所示。

图1 利用Canny算法进行服装轮廓提取流程图

2.1.1 原始图像处理

彩色图像的算法处理复杂,通常在应用时将其转化为灰度图。在使用Canny算法之前,采用加权均值法,基于人们对不同颜色的敏感度设置不同的权值,对彩图进行处理,经检验按下式能得到较合理地灰度图像。

图2 灰度化处理前

图3 灰度化处理后

利用下列公式,求上步得到的平滑图像I(x,y)的梯度方向和幅值,利用一阶偏导的有限差分来计算:

M[i,j]为梯度幅值,θ [i,j]为梯度方向。

上一步中得到的梯度方向,与图像中的每一个点都要进行比较,若被比较的点不是幅值最大的,就将它的边缘标识赋为0,通过这种方式,对M[i,j]进行非极大值抑制,这种处理会对边缘进行细化,找到真正的边缘。

因为之前对图像进行的处理并不能彻底减少图像中的噪声,因此会有假边缘段的存在,为减少他们的数量,进行双阈值的检测处理和边缘的连接,尽可能的消除影响。首先需设定高低阈值,将一个大于高阈值的梯度幅值确定为边缘,小于低阈值的确定为非边缘,介于这两者之间的被认为是疑似边缘点。定义为非边缘点的灰度值被设置为0,疑似边缘点将进行下一步的判断。然后连接图像中的边缘节点,不断收集边缘,直到图像边缘完全闭合。

2.2 定位优化

通过Canny算法,检测出所有轮廓后,通过灰度值筛选,得到人体轮廓的外边缘和服装轮廓[8]。对服装轮廓进行压缩,定位在人体轮廓上,寻找人体对应的最佳位置,把该点像素点转换为服装图像的像素。当连续转化像素点时,对像素点进行不断的优化以便达到最好的效果。同时,使用图像增强对处理后的图像进行锐化处理,增加试穿的立体感,使虚拟试衣有更好的贴合度,效果更加真实。

2.3 算法分析

二维虚拟试衣具有算法复杂度低,处理技术成熟等优势,但缺少对试穿效果的良好展示,无法反映真实的试穿情况。随着计算机的发展,三维虚拟试衣顺应出现。

3 三维虚拟试衣

3.1 三维虚拟试衣

三维虚拟试衣除去克服二维试衣的缺陷外,还对试衣功能进行了良好的丰富完善。但许多三维试衣系统必须基于用户具有良好的专业素质或可以提供大量信息的前提下。才能进行服装的建模。这也是三维试衣虽可以更好的展示试衣效果但却得不到推广发展的原因。大多数用户不具备专业知识,也不愿意提供太多相关信息,且一些服装网站也不会提供多视角的服装图片[9]。

基于上述情况,研究基于单张图片,根据相关算法实现从图片到服装样板自动匹配[10],实现三维虚拟试衣。

3.2 图片处理

进行处理的图片尺寸是不固定的,为方便处理,要对图片进行缩放,选取500*700大小的图片,作为系统的图片输入。

首先利用Faster R-CNN将不同背景的图片作为研究对象,进行目标的快速检测,框选出要检测的区域,实现图片服装区域的有效识别[11-12]。避免因提供的照片背景复杂或有其它人物干扰等问题,影响GrabCut的分割解析。本文将Faster R-CNN与GrabCut分割算法相结合,将图像中的人物部分提取出来,进行服装解析,生成效果比较优秀的人物轮廓和服装轮廓,不产生较大误差。

通过Faster R-CNN识别服装图像的具体区域坐标后,GrabCut分割算法的具体实现步骤[13]:

首先通过GrabCut的分割模型简单了解一下,如图4所示。

图4 GrabCut的分割模型

GrabCut算法是Graph Cut的改进版,其最大区别就是在计算区域项时采用了高斯混合模型。混合高斯概率公式为:

判断该像素属于目标或背景的概率。

在初始化之前,先求取后续需使用的区域项和边界项,估算像素点的高斯模型参数,将x,μ,∑带入上述概率公式,获取区域项,通过确定区域项可以初步判断某像素属于背景或前景的概率。边界项的求取利用了欧氏距离,通过比较相邻像素点,并进行减法处理,通过差值的大小判断被分割的可能性。该处理利用的公式如下所示:

GrabCut算法的分割主要分初始化和迭代两部分:初始化时,利用mask掩膜处理图像中的所有像素点,像素点生成含背景像素(GC_BGD)和可能的背景像素(GC_PR_BGD)的BGM模型,含前景像素(GC_FGD)和可能的前景像素(GC_PR_FGD)的BFM模型。定义的目标和背景像素被k-mean算法聚类为k个高斯模型。

初始化结束后,进行迭代处理,将GC_PR_BGD和GC_PR_BGD带入已建立的高斯模型中,选取概率最大的进行计算,结合区域项和边界项,通过最大流算法,将未知的像素点进行重新分配并更新参数,更新mask。未得到分配的部分GC_PR_BGD和GC_PR_BGD进行下一次的迭代,重新分配,反复迭代直至目标结果收敛。图片分割之后,对边界进行平滑处理,生成人体轮廓图和服装轮廓图。

3.3 服装解析

K邻近(简称KNN)学习,是由Cover和Hart最早提出的一种常用的监督学习方法。使用KNN方法提取图像的特征,选取区域特征点,以期达到最好的匹配效果。采用具有两千多张已标注数据的常用数据库Clothing Co-Parsing(CCP)Dataset,作为样本数据集。通过KNN方法把请求学习的区域与数据库中不同类型的服装模型进行比对,解析提取出的服装,实现从图片到服装样板的匹配。

利用KNN方法进行综合处理,提升处理效率,避免因有些模型的某些特征非常相近,或数据库中同一类别的服装在图片中表现出的特征不尽相同等问题,影响解析结果。

4 结论

电商的崛起给虚拟试衣的发展带来了新的活力,不管是二维还是三维都有很大的发展进步空间。面对实现虚拟试衣的种种复杂前提,本文探索基于单张图片实现虚拟试衣的算法。

简单介绍了Canny边缘检测算法、Faster R-CNN算法、GrabCut算法和KNN学习几种算法在二维和三维虚拟试衣系统中的应用。详细介绍了Canny算法及GrabCut算法的实现步骤。据研究可知,边缘检测、图像增强、目标定位等技术具有一定难度,但基于单张图片的虚拟试衣系统具有很大的发展前景,相关技术也有很大的探索空间。本文主要对虚拟试衣技术中,从图片到生成服装样板的过程进行了具体的阐述。但限于自身能力,对于前期用户的虚拟建模、服装样板的参数化调整及虚拟缝合并未进行详细介绍。同时,这也是虚拟试衣技术发展必须要攻克的难题,是需要花时间集中精力重点研究的。

猜你喜欢
试衣像素点轮廓
图像二值化处理硬件加速引擎的设计
基于大数据虚拟试衣系统的研究
基于局部相似性的特征匹配筛选算法
跟踪导练(三)
零下20℃
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
自动试衣器
儿童筒笔画
创造早秋新轮廓