主页:http://fashionai.alibaba.com/

服饰属性标签识别 - Top5-PPT

阿里天池关于服装属性标签识别的竞赛的 Top5 团队的技术方案 PPT 汇总. 可以在竞赛主页观看技术方案的答辩视频.

image

1. 禾思众成团队

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

2. JUST GAN 团队

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

3. 小飞猪团队

image

在开始我们的展示之前,首先想先问大家一个问题: 如何理解Fashion?其实每个人对fashion都有不同的理解和关注点。因此阿里巴巴在本次竞赛中提供了丰富的数据,从Attributes Recognition 角度去理解Fashion。

image

数据集照片的属性标签可以分为两大类:长度估计,款式设计
长度估计包括:衣长,裤长,裙长,袖长
款式设计包括:领口,领线
带观众了解一下数据集,数据集又分为两大类,一类是长度估计,包括衣长、裙长、裤长、袖长;另一类是款式设计,大多关注领口的款式,比如V领圆领等。
总的来说,数据集大概有18万的训练图片,可以分为8大类,54小类。

image

(看几个例子)数据集中有两类图片,一类是模特图,一类是平铺图。左边是两个比较容易的图片(不需要解释为什么容易),右边是一些比较难的图片,他们有遮挡、剪切、多个人、姿势变形、小尺度、旋转等方面的问题.

image

下面,我向大家介绍一下我们这次提出的解决方案

我们的方案非常直观,分为两个模块,第一个是Detection,第二个是Recognition.

image

具体的网络框架可以看这幅图,左边是Detection的过程,对输入的图片进行处理,找到图片最重点的区域,右边是recognition,检测到图片区域会经过两个深度卷积神经网络,得到最终的结果。下面我们将对这些模块一一具体讲解。

image

首先,为什么我们要做detection。大家可以想象一下,不管我们的分类长度估计也好,款式设计也好,首先我们应该做的,是把这件衣服找出来。而detection就能帮助我们完成这件事情,让我们把注意力集中到图片中最关键的区域,这样就可以避免位置和尺度不一带来的干扰。其次是假如图片中有多个人或多件衣服,detection也是可以搞定的,有多少件给你识别多少件出来,这样的情况在生活中是非常常见的.

image

这是我们detection的整个pipeline,可以分为四步。首先,当然是检测出衣服所在的位置在哪啦(强调“当然是”),然后再经过后面的放大,填充以及数据增强操作.

image

我们怎么做detection呢。我们采用的是Faster R-CNN, ROIAlign和YOLOv2作为我们的detector,它们都是在学术界非常state-of-the-art的方法,也在一些成熟的产品项目中有应用.

image

检测出框之后,我们会利用框周围的context信息对原来的框进行补充。好这里问题来了,为什么我们要用context信息呢?
大家可以想象一下,比如对于裙子来说,我们人的腿是不是一个非常有用的参考信息,比如我看到了膝盖,可能就是短裙,我看到脚踝,可能就是长裙。因此,这个context上下文信息是可以引入一些挺有用的参考信息的,对分类也是有帮助的。其次,加context信息可以把一些漏检的区域给补回来,有效地减少缺胳膊少腿的情况.
好,现在问题又来了,怎么设定这个padding的大小呢?这里我们要引入学术圈非常常用的两个数字,一个是512,另一个是448,在训练模型的时候,512 random crop 448是一个非常广泛使用的setting,我们在之后的训练中也用到了。所以,怎么让这个random crop,无论怎么random,都能框住检测的核心区域呢?答案就是,将核心区域的大小缩放到384,这样就能保证,检测核心区域能够永远被框中.

image

Detection部分的亮点就是这样,下面我将介绍我们的分类模型。我们的base分类模型采用的是DPN和NASNet,其中DPN是imagenet2017 物体定位的冠军,性能非常强大,而NASNet就更有意思了,它是google最近搞出来的,用神经网络生成出来的神经网络。非常推荐去阅读这两篇paper了解更多有意思的细节.

image

数据集难点。其实在这个task中,有一个提到的难点,这个数据集中有两类的图片,一类是模特图,一类是平铺图。从我们人的直观感受来看,假如衣服穿在人身上,我们人就是一把活的尺子,可以用来丈量衣服的长度,而对于平铺图,就只能通过一些比例,比如长宽比啊去估算了。我们统计了一下数据集的一个分布,发现了一个有趣的事情,在长度估计的类别中,模特图平铺图的比例大概是一半一半,而领口款式设计类的图片全是模特图。我们接下来提出的方案是针对图片有人没人这个特点的,因此只对四个长度类进行设计。

image

这个是最原始的分类网络,输入图片,输出label。

image

我们在此基础上,引入了multi task training 的概念,用另一个分支去预测输入图片是模特图还是平铺图,两个分支同时优化整个网络。这样做有什么好处呢?这个好处是体现在分类之前的这个feature F身上的. 原本的 F 只有区分label的能力,网络需要去学习模特图和平铺图之间的共同点,这样是比较困难的;现在F同时具有了判别模特图平铺图的能力,这样在最后一个隐空间学习的时候,能从两个不同的角度去拟合label,这两个角度都是学习同种图片类内的共同点,所以会比较简单。

image

首先,不知道大家注意到没有,不同长度之间,实际是有一种包含递增的关系的. 像长裙可能有这么多布料,长裙包含这么多布料,它当然包括短裙需要的布料长度. 我们可以利用这种类别与类别之间的递增关系。
另外,如果一个短裙被误判成了这种中长裙,错得不多,但如果预测成了长裙,那错得就很离谱了,显然,错得越离谱需要给更多的惩罚。结合刚刚说到的两点,我们提出了这种 incremental label 的表达方式。
具体是这样的。最原始的label,第一位是1代表第一类,第三位是1代表第三位;可能也有其他人注意到这点,稍微改进成了这种soft label的方式,让ground truth周围的类不会有太大的惩罚;而我们提出的incremental label是这样,一个1代表第一类,三个1代表第三类,六个1代表第六类,用1的数量来表示长度。我们通过实验也发现,这种方式的设计可以大大提升准确率。

下面我们展示一些我们在比赛过程中做的一些不同维度的对比实验

image

首先这个是我们在本地验证集上的实验结果,我们对比了在所有类别上用原图,加了detection以及加了模特平铺图分支分别的实验结果,可以看到,加了detection对准确率和map的提升非常大,而加了模特平铺图分支之后又能进一步提升.

image

这个是我们在衣长这个类别上,对比了我们几种创新方案的实验,可以incremental label和soft label的准确率提升都非常大,但map指标反而下降,因此最终我们没有采用这两种方案,用的还是模特平铺图这种在准确率和map都有提升的方案

image

接下来我带大家做一下性能分析。首先我先解释几个概念,在预测的时候,为了提高分数,我们使用了multi crop testing,具体操作是 :
1crop指的是原图,2crop指的是原图和翻转,5crop指的是对原图进行五种尺度的裁剪,10crop是五种尺度裁剪以及镜像。

下面这个是我们模型的运行效率,推荐大家从下往上看。

image

最后,总结一下提出的方案.

image

首先,Detection能够大大地提升准确率,而且它在更加复杂的场景,比如多个物体,或者物体不在图片中心之类的情况,都能够适用,在实际产品中非常具有应用价值;

其次,适当的multi task training可以增强feature的表达能力,在一些具有层级结构label的分类任务中能够起到作用,比如说动植物里面界门纲目科属种的分类就可以这么用;

第三,incremental label的这种表达形式对于具有递增形式label的分类任务是非常有作用的,比如年龄,长度,体积等等

image

image

image

image

image

性能分析,上面是在detector和classifier中用的分辨率,检测器速度
下面是分类器速度,当我用用大batch size的时候,由于GPU做了并行优化,可以发现速度明显加快

image

Invisible是一个特殊的类,它跟其他长度的类或者设计的类没有共性,放在一起会加大网络学习的难度。我们将这个task提前,让模型在前面先判断是否visible,如果是visible的,后面再进行label预测,这样就不会让invisible的图片干扰到label的学习.

image

这个是novel trail的实验结果,可以看到 incremental label,soft label, invisible的准确率都有提升,但是map降了,所以我们最终的方案并没有采用.

4. BUPT_OVERFITED 团队

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

5. SIAT-MMLAB-VIP 团队

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Last modification:January 25th, 2019 at 10:25 pm