衣服配准映射
图 4. MakeHuman 中衣服模型的纹理图
本文采用了 MakeHuman 来制作三维人物。该软件的用户社区资源中包含多种衣服模型,其中大部分模型的 UV 纹理图具有清晰的纹理结构,如上图 4b 所示,称为规则纹理图。由此可以通过经由关键点配准的投影方法将真实照片中的图案投影到模型的 UV 纹理图上。
再如图 4 所示,目标模型纹理图中标注了一系列关键点位置(如 4b 红点所示),真实照片中衣服相应关键点位置可以通过训练检测器检测得到(如 4a 红点所示),再通过求解投影变换矩阵,便可以对照片中衣服区域的每个像素点计算出它在纹理图上的对应点,以此实现衣服配准映射。下图 5 的上部分展示了衣服配准映射的过程。
图 5. 衣服配准映射和均匀布料扩展示意图
均匀布料扩展
通过衣服配准映射可以将衣服正面纹理映射到规则纹理图的相应位置,但不能处理衣服模型的背面纹理和不规则纹理图(如图 4c 所示)。因此,本文提出了第二种方法 —— 均匀布料扩展来解决这个问题。
如上图 5 下半部分所示,首先通过一个训练好的行人再辨识模型对衣服图片抽取特征,然后在特征中遍历不同的矩形块。通过计算每个特征的均值方差,可以找到块内平均方差与矩形面积之比的最小矩形块,其对应区域为最优同质块。
对于规则模型,如图 5 所示,由于投影变换造成了图像尺寸变化,获得的同质块需要进行相应的尺度变换来保证纹理的一致性。对于不规则模型则保持同质块的原始尺寸。获得同质块后,使用图片翻转的策略扩展同质块来填充纹理图。
相似性 - 多样性人物扩展策略
图 6. 相似性 - 多样性人物扩展策略示意图
本文使用 DeepFashion 和 DeepFashion2 数据库生成虚拟人物。通过预处理阶段筛选后,仍然有数万张照片可以用来生成虚拟人物。考虑到生成的数据应该具备相似性和多样性,本文设计了一个相似性 - 多样性人物扩展策略。
由于照片中存在同一人多角度的照片,首先需要去除这些相同衣服纹理不同角度的照片。因此本文对照片进行两次聚类:第一次去除重复图片,第二次选取具有相似性和多样性的照片。第一次聚类使非常相似(同一人的不同角度)的照片聚在一起,并抽取每类距离中心点最近的一张图片和聚类失败的图片混合后进行第二次聚类。
两次聚类后,如上图 6 所示,相似性 - 多样性人物扩展策略通过采样克隆同一聚类内的人物照片生成相似人物,通过克隆不同聚类的人物照片生成多样性的人物。本文从聚类结果中的每一类抽取 7 张照片进行克隆(5 张生成训练集,2 张生成测试集),最终生成 5621 个虚拟人物。将这些虚拟人物渲染后得到数据集 ClonedPerson。
下表 1 统计了 ClonedPerson 和其他虚拟行人数据集的一些特征。