基于分割和识别的服饰商品的自动推荐

衣服商品的推荐

衣服的自动推荐一直是一个商业热点,如何根据现有的衣服的特征(颜色,纹理,款式等)在数据库中找出相似度最高的衣服,并推荐给用户是非常具有挑战性的。目前常用的服装推荐系统是基于文本标注的,但是文本标注的成本非常高,目前有不少的方案都采用了弱监督的学习方式,或者采用sift特征点等作为图像检索的依据,但是效果依然不理想,这篇博客主要分析2013年的一篇论文Getting the Look: Clothing Recognition and Segmentation for Automatic Product Suggestions in Everyday Photos。
这篇文章把服装的检测,分割,识别,特征识别作为一体来做,能够在服装的推荐系统中取得不错的效果,这篇文章从人体姿态识别开始做起,然后分割出最有可能是衣服的区域,在分割前景和背景的时候,作者使用了一种空间表达mask,用来表达衣服,头发,帽子,鞋子等信息。
第一步,我们从一些开源的数据集里面找到一些模特人体估计的数据集来训练生成我们的人体关键点检测网络模型。这些人体姿态估计数据是开源,不难找到。常见的有26点的人体姿态估计和19点的人体姿态估计。
下面是作者贴出的基于人体特征点的框选区域:
基于分割和识别的服饰商品的自动推荐
但是经过第一步处理的区域非常的粗糙,不足以做衣服的识别的支撑,第二步,作者生成了一个概率图,用于估计衣服商品出现的可能区域,结合衣服出现的区域信息,利用区域信息作了一个投票算法,用来描述出人体的粗糙的轮廓,投票算法结果如下:
基于分割和识别的服饰商品的自动推荐
虽然现在有了概率图,有了前景,有了背景,但是距离衣服的分割还是很远,进一步利用目前已有的姿态估计的信息,结合近似高斯模型(AGM)来做聚类,聚类的目的是可以把前景的部分进一步分离开,比如属于脚的部分就可能属于鞋子等,属于头部可能属于帽子和头发的概率更高。首先作者确定了K个类别(帽子,鞋子等)。
基于分割和识别的服饰商品的自动推荐
如此便得到了一个“稍微准确”分割模型,ps(值得注意的是,现在有的服装分割数据和网络模型能够做出比这个准确很多分割结果)。虽然看起来还是很丑陋,但是已经大体上能够用了。现在分割结束了,下一步便是做特征提取,提取商品的属性的时候,提取特征的时候,作者利用局部敏感哈希索引表(LSH)来表达分割结果,利用局部哈希计算最大的相似度来匹配图片,这个过程是不需要进行学习的。在视觉特征上面,作者选用了颜色和纹理作为相似度匹配的依据。
作者首先将衣服中的颜色量化为29种颜色,然后提取了3*3的LBP纹理描述子,加上类别信息,一共是39维的向量作为图像相似度计算的依据。在这里作者对29维的向量作了归一化,具体的计算方式作者采用的是汉明距离的计算方式,作者发现肤色并不属于商品属性,所以他在分割中去除了肤色的信息。得到了如下的分割信息
基于分割和识别的服饰商品的自动推荐
最终的商品推荐效果如下;
基于分割和识别的服饰商品的自动推荐