精华内容
下载资源
问答
  • FashionAI天池比赛总结 Rank7

    千次阅读 热门讨论 2018-07-21 21:19:34
    FashionAI全球挑战赛——服饰属性标签识别 排名:7/2950 FashionAI全球挑战赛——服饰关键点定位 排名:59/2322 FashionAI全球挑战赛——服饰属性标签识别 项目地址:team79/Tianchi_FashionAI_...

    比赛:
    FashionAI全球挑战赛——服饰属性标签识别 排名:7/2950
    FashionAI全球挑战赛——服饰关键点定位 排名:59/2322

    FashionAI全球挑战赛——服饰属性标签识别

    项目地址:team79/Tianchi_FashionAI_ClothingLabelRecognition
    这个比赛当时和杭电的陶星一起组队的,然后也加了一些其他人。一段很棒的经历,水平提升不少。
    尝试的方法有:
    1.增强上:使用了基于人体检测的裁剪,看到很多方案都是基于热力图的裁剪,而在我们这个数据集上使用人体检测来的更为方便,再实际裁剪过程中,还需要根据分类的属性进行不同的裁剪,在length这类上能有两个百分点的提升(用的yolo和fasterrcnn)。考虑到淘宝图片亮度差异较大,也增加了亮度上的增强。 亮度 对比度 颜色 增强

    
    # image enhancement classes
    #
    # For a background, see "Image Processing By Interpolation and
    # Extrapolation", Paul Haeberli and Douglas Voorhies.  Available
    # at http://www.graficaobscura.com/interp/index.html

    2.loss上:length这类数据在复赛加入平铺之后大大加大了分类难度,比赛后期一直想方设法提高这四类的精度,检查数据和标签,我发现这几类有个共同的特点,就是处于分类边界的图像非常多。于是尝试利用标签中的M,在交叉熵loss上加入,基于M的mse的loss,效果不佳,在这之后还尝试了centerloss,soft target,target smooth这些操作,都没有见到明显的提升。

    3.数据平衡上:发现本次给的数据还是存在一定的不平衡性,所以尝试了数据的平衡,具体的操作有重采样,过采样。都没有明显的提升。不过,考虑到初赛和复赛的数据的差别,我采用了一半epoch在全部数据上训练,一半在复赛数据上训练的方法,能有一定的提升。

    4.数据扩充上:参考许多图像细粒度分类的论文,很多都有通过爬取图片来扩充数据提升精度的。当时陶星也爬了几十g的数据,通过模型+人工的方式对数据进行筛选分类,加入到官方数据中,结果实验发现精度反而有所降低。分析其原因可能是爬虫得到的数据标注不够准确,这次的数据尤其是length这部分,边界的图像非常多,很容易混淆。

    5.模型融合:组委会对模型的大小等进行了限定,在复赛第一阶段使用了两到三个模型在最后一层concate的方法进行融合,不过在第二阶段由于忘加bn进行特征的归一化导致结果反而变差,然而电脑由于过热死机没能改正。这也是从第一阶段的第三下降到第七的原因。

    FashionAI全球挑战赛——服饰关键点定位

    这个主要是学妹做的,当时主要关注第一个比赛也没帮上学妹什么忙,大致思路就是直接拿关键点定位的模型跑了几个,然后直接平均融合一下。
    项目地址:待整理。

    展开全文
  • 主页:http://fashionai.alibaba.com/ 服饰属性标签识别 - Top5-PPT 阿里天池关于服装属性标签识别的竞赛的 Top5 团队的技术方案 PPT 汇总. 可以在竞赛主页观看技术方案的答辩视频. 1. 禾思众成团队 ...

    原文:FashionAI 天池竞赛 - Top5 技术方案简汇 - AIUAI

    主页: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

    展开全文
  • 阿里天池关于服装属性标签识别的竞赛的 Top5 团队的技术方案 PPT 汇总. 可以在竞赛主页观看技术方案的答辩视频.1. 禾思众成团队2. JUST GAN 团队3. 小飞猪团队在开始我们的展示之前,首先想先问大家一个问题: 如何...

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

    6621fa2b82dfd9eabffef02479aa3c5e.png

    1. 禾思众成团队

    83e465ce6e925ad0786035e43cb84079.png

    7a2f3998fe7b6b8125c86e838ad672e3.png

    9cf45dc187fc568a7d1fefb88c2b2c9e.png

    03eac8d67cec9f2c55f2728a8f7f9935.png

    7d87e36d8aab273915dc789a747f27eb.png

    c8ff483bb7d3623198a08a5c344b27da.png

    f971f34d8de9dd411ad7ecc08359e96f.png

    081b0ac00e5b285cbc16f1efda6b2f59.png

    199b5c89c38d4e868f8434d0ca725e84.png

    306302e1f62011c7b3caeb4506387d88.png

    f4e87bc4f7297f6e69e851431335a804.png

    223c8c2de7f7e045739e35c55e7ed24d.png

    ac2dc625207357584e715a9d7202bea2.png

    cf2aafc94eac23ceeb5d85a2d6eaced9.png

    3ce37111a09cb5505fc08cfadba6d57f.png

    102011369f73ff40e62debf20fb661b2.png

    80f083996464a5152f43dc87265a50e3.png

    900ed9697ebf31cb934c552e333889f2.png

    a2c5d43acb71328c5c0e5be646c59839.png

    4241271ee8f78e9f98ab004edc4712a2.png

    d0cc26929d98b7f13dbd1b3b8df42cd1.png

    05547e1fdf4f7d44e2c4a15e0f3c9449.png

    2. JUST GAN 团队

    3cee0128289d565841a4eaf540add404.png

    e28135edd54e97d84b1f57427eb2744d.png

    8d2032176118efa385251eab03a1665f.png

    16b06e0e66a99540eff829e6576d1e24.png

    328adbf6c3743e2545f02602f0ddbd1d.png

    8a450b04bb87176d6258722300b3bd93.png

    4805aaeb29c14318b6b984348fc893a0.png

    047f93ccdaffb94a5d2bec1dd6e8f80a.png

    1f76907846a778bcaf078ebe1f5521a0.png

    47eee7e88ec0bc08ad602c3c87d78930.png

    51ea4cdf501be5bcf396e59c7d27e99d.png

    309748410233bdaef5f57bc0eed34fa6.png

    a7ff6ebc9be789d77fa1e2cf0235594f.png

    bb84704245cd987fb93054d4ee1a598f.png

    38933d92d1440023e66c3d808f912dcc.png

    529c6f943353a1b0f4404d8e16c27698.png

    38f727889c64effb6f792a5a903a0c1c.png

    0ec3d11858e0b03ad1a9845110f960fd.png

    3. 小飞猪团队

    62eba2b03935b8837d63caadf32bc8bf.png

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

    28d7a973d662f6ab3d1031651c99a333.png

    数据集照片的属性标签可以分为两大类:长度估计,款式设计

    长度估计包括:衣长,裤长,裙长,袖长

    款式设计包括:领口,领线

    带观众了解一下数据集,数据集又分为两大类,一类是长度估计,包括衣长、裙长、裤长、袖长;另一类是款式设计,大多关注领口的款式,比如V领圆领等。

    总的来说,数据集大概有18万的训练图片,可以分为8大类,54小类。

    84327b1782f07f758d783fe0e032e1bf.png

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

    3f80052232178a0aebe739fcc39bf4be.png

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

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

    be311ab8a0ddf7755a9b5a8693941c4a.png

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

    924fe4818ce10d25f8d566c62489e421.png

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

    89ae5c48808de94207e9cb2bc027a575.png

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

    f33f07cb2e736aebcdf6e625b1d368e2.png

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

    791ad366856b8357be066cb22cb45a6a.png

    检测出框之后,我们会利用框周围的context信息对原来的框进行补充。好这里问题来了,为什么我们要用context信息呢?

    大家可以想象一下,比如对于裙子来说,我们人的腿是不是一个非常有用的参考信息,比如我看到了膝盖,可能就是短裙,我看到脚踝,可能就是长裙。因此,这个context上下文信息是可以引入一些挺有用的参考信息的,对分类也是有帮助的。其次,加context信息可以把一些漏检的区域给补回来,有效地减少缺胳膊少腿的情况.

    好,现在问题又来了,怎么设定这个padding的大小呢?这里我们要引入学术圈非常常用的两个数字,一个是512,另一个是448,在训练模型的时候,512 random crop 448是一个非常广泛使用的setting,我们在之后的训练中也用到了。所以,怎么让这个random crop,无论怎么random,都能框住检测的核心区域呢?答案就是,将核心区域的大小缩放到384,这样就能保证,检测核心区域能够永远被框中.

    886c2fcbd2e46bce0be717498f2a114f.png

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

    93ee1b5630021ce9fb705cbc060d2dbe.png

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

    4abc445a3ea0e48465173bf8215e649d.png

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

    82b45dd332cbdc8b14900533c7ca7b4f.png

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

    c6eae11d547db9758919544d3e8fa32e.png

    首先,不知道大家注意到没有,不同长度之间,实际是有一种包含递增的关系的. 像长裙可能有这么多布料,长裙包含这么多布料,它当然包括短裙需要的布料长度. 我们可以利用这种类别与类别之间的递增关系。

    另外,如果一个短裙被误判成了这种中长裙,错得不多,但如果预测成了长裙,那错得就很离谱了,显然,错得越离谱需要给更多的惩罚。结合刚刚说到的两点,我们提出了这种 incremental label 的表达方式。

    具体是这样的。最原始的label,第一位是1代表第一类,第三位是1代表第三位;可能也有其他人注意到这点,稍微改进成了这种soft label的方式,让ground truth周围的类不会有太大的惩罚;而我们提出的incremental label是这样,一个1代表第一类,三个1代表第三类,六个1代表第六类,用1的数量来表示长度。我们通过实验也发现,这种方式的设计可以大大提升准确率。

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

    56284ac32508caceb495a1b3151c5cd4.png

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

    55bb85d804a509950918ed79468d91fa.png

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

    c4f4ba53600501cbd7e20b27e7fbb3f7.png

    接下来我带大家做一下性能分析。首先我先解释几个概念,在预测的时候,为了提高分数,我们使用了multi crop testing,具体操作是 :

    1crop指的是原图,2crop指的是原图和翻转,5crop指的是对原图进行五种尺度的裁剪,10crop是五种尺度裁剪以及镜像。

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

    ac2b722ba9d8ddcef43908aaf5d66d5c.png

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

    9e794d034f9e7bed68467ccd7775e213.png

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

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

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

    bbf5c1d3204576642fced1e215f4ba9f.png

    3c62362b4c4c9900dde34453b0384670.png

    158ea1bd7575971c9900c41857a52a45.png

    dcb4a1a74f193b42940ce2976a10218e.png

    f27790e0a6c58b9b2f94144f137c31cd.png

    性能分析,上面是在detector和classifier中用的分辨率,检测器速度

    下面是分类器速度,当我用用大batch size的时候,由于GPU做了并行优化,可以发现速度明显加快

    274e1cdd052492948c41a9a733bad5a5.png

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

    edd4b785615ae385647dc1174d1769c2.png

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

    4. BUPT_OVERFITED 团队

    d906110a71673ff18ab76515ac529dee.png

    2e04719990dd5e2bc6ae0bed45b84ccc.png

    1602e5af7942e6e34601d42ca893634c.png

    88657088ed6f6ed3daa5ec10a3f9c07c.png

    8aed2ed3c4aaaef556d5322d4be638d0.png

    068dde6afac405c83c6ece67cde9d264.png

    43696e707d03b0988a79513d715df742.png

    1b33691e03594f539147d73fd65a636c.png

    9324b9035a986e0bb7c7b6b6aaa3ee79.png

    e9b0ece606f53e87a9e8af8c5008c110.png

    c585778b34ae8203ffa5358fc0894521.png

    8497d58d820866aba17c149ba5dac993.png

    70e892e06635b64755ececabf6f767c8.png

    d8199b01ebef6c1eb6f488b3ac0a06c3.png

    8fff6eaf9cd9ed15a9294898ed658dc6.png

    43f9de2de57678b8b94bc7dff02a2a0c.png

    593e9ae6d11c4f05874dd5873a98fbe0.png

    7c7ef040b3784d9822f300c75d2e4165.png

    795e9e73f5f0a6a0687223abc67c06fd.png

    651fadc0a758863351253f725674ad96.png

    d3f674af390de348b1f224f030f6ac64.png

    873f7d8a6eefb7d20cf89e90d72f7e54.png

    5fe6da888f7d24a0b67c30306445852c.png

    d73cb79fedd87e4065c0f58242e2c62c.png

    fe71cc1b99a29c5bf8ca218ea45a1803.png

    fa363c411939e9f35d3f7188156df7d4.png

    08a0b99e514a267c90adae88e3b53dfd.png

    026e9566b96b34fae3c52809c6547f0f.png

    72fa2b96de74e9bc3174295d84243f20.png

    098819a32d44f562c8609b7ea021a777.png

    d39b22498efb7fa5d0e16203a4e01d40.png

    1f47f610b201a2161e8e86f499d843f2.png

    82a65a92e1fc869bf2485fadcadce503.png

    5. SIAT-MMLAB-VIP 团队

    55e94d153637b1231ee07f73f1d00ae2.png

    7e16c796693f2958a678303897b38b11.png

    376880e9df00e855b2d994855c4bdce9.png

    fb3a9999f918849d0904019a941116cf.png

    c60be1f5fa103672158dee6ddf1c1748.png

    02dce12cd09c51f8f06e3d057eee0e75.png

    21c644adada11e8edbbce498cb4ff81e.png

    1fd6de5a388cac2139db3a0f8c620742.png

    fadef98f197e7cbc7191f197833da189.png

    1636fcea67404666f17f846cfa9e33af.png

    50abeacaef0914206dd57b3649d16203.png

    5ffca66a35d295b3e830fac62cad5df7.png

    79dd84ccdda155c694f77f4791650b2c.png

    1e3259cc71749e01defe0ae5946afdd9.png

    a4d0b3871e7d5cf7997e575a58aa7e97.png

    ed4e470993a979b819a06ef61f434dc6.png

    13ff40b4e7b209de703240e2b96df197.png

    17b77a221257a5676966a368db8acddc.png

    5dfaeeb048adfbc6a38308080d151a55.png

    d298f31c0654c8b217c1c9e283fd1c60.png

    9bee18948a413bbf4018091662b8df9c.png

    ed6794fd5fe8215c838b8c450c9ed340.png

    4eabb269e2fa20b31696c1c6601cbdbe.png

    67c2682d60e164c59c8307c9f4716913.png

    009221d0ac8ab0e020b501b5ae9c3550.png

    bdec9860124593cd826cc64aa86733b1.png

    6e66c4dedc1bd081e1990bc5e53b4782.png

    展开全文
  • FashionAI认可 天池大数据竞赛:FashionAI全球挑战赛-服饰属性标签识别竞赛源代码
  • FashionAI-MultiTask 这是天池FashionAI复赛用的多任务部分代码,基本模型是DenseNet 169,底下接了8个分类器,但是效果不好,才50多,复赛排名垫底了,打算继续研究这个数据的多任务实现,希望可以攻克
  • TensorFlow中的沙漏,DHN和CPN模型用于2018年-天池服装AI关键点检测 该存储库包含TensorFlow的和用于的重新实现代码。 。 这里的CPN(层叠金字塔网络)和DHN(反卷积头网络)都有几个不同的主干:ResNet50,SE-...
  • 比赛名称:天池FashionAI服装定位全球挑战的关键点 队伍名称:AILAB-ZJU 第一季排名:70/2322 第二赛季排名:41/2322 最佳成绩:第二季NE = 4.45% 结果显示 代码环境说明 我们的代码执行环境是: 作业系统:...
  • 阿里天池FashionAI服装属性标签图像识别Top1-5方案分享
  • 上周六刚刚结束FashionAI2018服装属性标签识别的复赛,比赛竞争十分激烈。比赛总共报名近3000支队伍,经过3个月的比拼,我们队伍最终获得了第11名的成绩。虽然离第十名只有一步之遥,但是我不遗憾,毕竟这是我第一次...

    前言

    上周六刚刚结束FashionAI2018服装属性标签识别的复赛,比赛竞争十分激烈。比赛总共报名近3000支队伍,经过3个月的比拼,我们队伍最终获得了第11名的成绩。虽然离第十名只有一步之遥,但是我不遗憾,毕竟这是我第一次参加天池比赛,对于这个结果我感觉对得起自己三个月的辛苦。

    #干货
    首先源码网址:https://github.com/KaiJin1995/fashionAI2018/tree/master

    下面从以前几点来讲解该比赛及方案

    • FashionAI比赛内容
    • FashionAI比赛方案
    • 未来计划
    • 源码分享

    比赛内容

    该比赛是对服装不同属性进行识别,服装的属性包含:coat length 、collar design、neck design、neckline design、pant length、lapel design、skirt length、sleeve length,每种服装属性包含若干类别,我们需要做的是识别服装的每个属性的不同类别。具体类别请参考下图,该比赛只涉及到了脖领设计、领子设计、翻领设计、颈线设计、袖长、衣长、裙长、裤长八个属性,每个属性都有自己的分类。该比赛需要我们分别对每个属性设计分类器,对每个属性单独分类,最终评价分类器每个属性识别准确率好坏。

    图1

    详情请参考阿里天池-服装属性标签识别
    任务的定义很直白,简而言之是分类任务。

    比赛方案

    首先这是比赛的总体框图
    这里写图片描述

    总体来说有五大部分:

    1. 改进版多任务训练
    2. Mask RCNN 和CPN的应用
    3. 输入图像大小的影响
    4. 数据增广
    5. 多通道网络的训练

    改进版多任务训练

    由于是分类任务,目前做分类任务做好的方法是使用深度CNN网络,所以该比赛毋庸置疑必须要有GPU才能做。我们做这个比赛使用了3块1080Ti、4块K80(稳定)。最多的时候用了6块1080Ti、3块1080、7块K80 和 1块P100。(应急的时候借师兄师姐师弟师妹的GPU)是不是感觉GPU有点多,毕竟要不断的尝试方案,在有限的时间里训练多种不同的方案需要一些GPU,最终定下方案的时候只需要使用2块卡就足够训练了。

    一旦使用深度卷积神经网络,不可避免的一点就是数据量的问题。初赛的时候数据量比较小,而现有的分类效果良好的CNN参数量较大,如何用比较少的数据量训练比较深的网络是要解决的难点之一。

    因此,多谢技术圈中培文大佬的分享,使得我们对于这个难点有了新的思路:这个思路便是采用多任务学习的方式进行训练,从而弥补数据量的不足。多任务学习在分类和检测任务中很常见,比如FasterRCNN便同时可实现对物体位置的定位和分类。我们不再对每个属性单独训练,而是将所有的属性合并起来共同训练。

    多任务训练结构图如下图所示:详细的代码请看NasNet代码
    NasNet多任务训练
    这个图来自培文大佬开源的代码的可视化图。
    多任务训练的思想在于如何多种相似数据集共同输入至网络训练,对于分类网络而言,所有的任务共享卷积层,全连接层独立,例如coat输入到网络中,将会有结果同时在八个全连接层输出,但只更新coat的全连接层,其他七个FC层不更新,FC层之外的Conv层是都更新的:即共享不同属性的结构信息。
    这个方法对于数据集数量不多,但是不同数据集的结构特征很相似的情况下很有用,能够提升约1个百分点的准确率。

    而直接使用八个属性进行多任务训练是存在不足的,因为八个多任务需要识别的特征是有差异的,比如design和length的显著性特征是不同的。因此提出了一种分离多任务训练策略:属性分成length属性和coat属性,分别对这两个不同属性进行多任务训练。分离成这样的多任务,每个多任务分类器需要分类四个属性,使用这种方法准确率进一步提升。

    但是仅仅是这样也是不足够的,如果使用了检测将衣服关注区域crop之后,design的多任务策略需要改变,因为我们对于neck和collar切的图像区域很小,使用的是CPN的方法,而lapel和neckline切的图像区域较大,使用的是MaskRCNN。使用了这种不同策略的图像crop之后,图像的分辨率将发生变化,此时图像的结构信息发生改变,不能将这四个属性一起多任务训练,于是lapel和neckline合并进行多任务训练,neck和collar合并进行多任务训练。
    如下图所示,分成三个部分进行多任务训练:
    length
    Collar&NeckNeckline&Lapel

    以上便是我们采用的改进版多任务训练的方法

    ####Mask RCNN 和CPN的应用

    此部分简单说一下,因为这部分是由本次比赛的主力二号来自上交的老哥做的。由于FashionAI同时举办了服装关键点检测和服装属性标签识别,所以具有服装关键点的数据集,而且属性标签识别的比赛允许使用关键点对图像进行预处理,因此我们采用关键点检测先对训练集进行预处理,之后送入分类网络中训练。
    由于length属性容易出现裁剪不恰当导致服装部分被裁掉,进而出现服装length识别错误的问题,即length对于裁剪比较敏感,因此本次比赛仅对length的pant和skirt进行裁剪,而且裁剪的也是大图,无法切成小图。
    因此对design进行裁剪,design中的lapel和neckline占据较大的面积,因此不能切割很小的图像,于是保留了大部分的图像,而neck和collar在图像中占据的面积较小,因此可以切割较小的图。
    切割图像示例:

    neck:collar:

    lapel:neckline:
    skirt:pant:

    输入图像大小的影响

    输入图像的大小对于结果的影响很显著,对于识别而言,官方给的图像都在1000以上,如果输入到网络的图像resize更大,则对识别而言,图像特征更明显更清晰,卷积核提取到更有判别性的特征。
    比赛中,我选用了Inception系列的网络用作识别,因为Inception结构具备多尺度提取特征的特性。
    Inception典型结构如下图所示:

    这里写图片描述
    1x1卷积用来整合concat层通道信息,用不同大小的卷积多尺度地提取特征,每个卷积核提取到的featuremap拥有不同的感受野。对于服装属性识别任务,多尺度特性提取有助于抓住关键信息,我认为这具有间接attention的作用。

    InceptionV3一般输入大小是299,由于最后分类的FC层拥有Global Average Pooling,所以输入大小可以改变,并不是固定的,因此,根据下图在ImageNet的实验,我采用了393的输入大小:
    这里写图片描述

    其实,对于这个任务而言,可以输入更大的图像,但是会带来显存占用显著增加,对于393的大小,我感觉预测速度明显变慢,显存占用很严重。由于考虑到时间不够长,就没能尝试更大的图像。

    数据增广

    这是做图像识别的最基本的技巧,也是在数据集不够的情况下的一种妥协。一般来说,不同的数据集需要做不同的数据增广,这是case-by-case的。因此对于一般的图像识别而言,mirror、rotation、random crop都是必须要做的。在服装属性识别任务中,我们除了上述的通用的增广方式,同时也采用了channel shift,也就是颜色通道的变化,使得图像具有不同的颜色。这个操作在一定程度上是有帮助的,避免了颜色信息影响图像的识别。另外,图像的旋转对于这个数据集很有帮助,因为测试集中具有很多旋转的图片,通过数据增广,可以对旋转的图片更鲁棒的识别。

    ####多通道网络训练
    官方限制只能使用两个模型,因此,为了获得更好的单模型性能,本次比赛采用了多通道网络训练策略。
    **该多通道模型是端到端可训练的网络结构。不同于训练完模型之后的简单融合,其实就是相当于加宽了网络。**训练结构图如下图所示:
    这里写图片描述
    因为考虑到不同模型结构对于网络的特征提取不同,因此,我们使用了三种不同的网络特性结构,

    通过多网络联调训练方式,加深了网络,获得不同网络对于特征的提取特性。
    这种策略在单模型上很有用,缺陷在于训练耗时,测试时间长,显存占用比较大。

    未来计划

    将在一周内公开源码。将来一段时间博客的内容主要是tensorflow的讲解,预计会开一个专栏,专门将tensorflow的重点用法。tensorflow的灵活性使得做竞赛、做实验都很方便

    ####源码公开

    https://github.com/KaiJin1995/fashionAI2018/tree/master

    展开全文
  • 前些天从实验室了解到天池FashionAI全球挑战赛,题目和数据都挺有意思,于是花了点时间稍微尝试了下。目前比赛还在初赛阶段,题目有两个,分别是服装属性标签识别和服饰关键点定位。 服装属性标签识别是指识别出领...
  • TianchiChallenge-3 天池FashionAI全球挑战赛:服饰属性标签识别 rank:41 /2950 The source code will be uploaded
  • 天池FashionAI全球挑战赛—服饰属性标签识别 总决赛TOP5的答辩PPT
  • 天池FashionAI全球挑战赛—服饰属性标签识别 总决赛TOP5的答辩PPT
  • https://github.com/shaoniangu/Realize_Convolutional_Pose_Machines_On_FashionAI ; 使用的CPM的tensorflow源码地址: https://github.com/timctho/convolutional-pose-machines-tensorflow 。 初赛阶段...
  • 1.首先最明确的一点就是修改需要检测关键点的个数,COCO数据集姿态识别的关键点个数是17,而FashionAI数据集的总个数是24个,但是不同的服装类别的个数不一样,比如blouse有13个点,但是如果生成24个heatmap,就会...
  • 天池大数据竞赛——FashionAI全球挑战赛—服饰属性标签识别 采用多任务学习的策略,比赛最终成绩为决赛21名,在此记录一下在比赛过程中踩过的坑 transfer learning multitasks learning keras FashionAI Tianchi big...
  • https://github.com/JosephPai/FashionAI-Attributes 强烈欢迎Star/Follow 关于代码或者数据集如果有任何问题,欢迎大家本博客或者github issues留言一起交流学习 任务描述 从属性标签知识体系中拿出了8种...
  • 原有思路:利用已有的在ImageNet数据集上分类效果好的网络为基础,对服装图像数据集进行特征提取,然后进行回归,分别得到需要定位的关键点。 注意:由于convNet越往深层提取的特征越是高层特征,视野更广,而相对...
  • 1.通过对embeddeding层的运用可以实现一个模型对五种服装的关键点定位,思路是通过不同类的softmax与预测的24个坐标相乘。...改变tensor的width和height维度可以通过卷积操作与上采样5.改变channel的...
  • 1.参考风格迁移里面的思想。2.参考yolo算法。3.relu激活函数的修改4.训练时可以不用预训练好的权重,直接所有权重从头训练。5.对于验证集与训练集没有进行区分,应该用训练集进行训练6.验证方法有交叉验证与留一法,...
  • 由于图像的数据量还不小,总共有31631张图片,并且每张都是512*512*3大小的图片,无法一次性导入内存中,因此采用类的方法,实现每次只导入内存一个batch的图片。需要设计两个类,第一个类是ImageData:class ...
  • https://github.com/Jeremyczhj/FashionAI_Tianchi_2018    折腾了两个月的比赛终于结束了,名次出乎了最初的预料  但是也有些许不甘,毕竟前20都有奖励,尴尬的21名  想想有接近3000支队伍参赛,好像又心理平衡...
  • 2018Fashion AI 全球挑战赛的服装关键点检测

    千次阅读 热门讨论 2018-03-13 22:54:24
    http://fashionai.alibaba.com/?spm=a2c41.aliyun_email.0.0#home 1. 比赛任务描述:(以下图片部分参考Top4 @_@队) 在这次比赛中有24个服装关键点,以下五种类别的服饰,因此不是每张图中出现24个关键点。 ...
  • 近日,FashionAI全球挑战赛正式公布了晋级复赛的队伍名单,共有203支队伍晋级两个赛道的复赛阶段。据天池数据众智平台官方统计,自开赛以来,FashionAI全球挑战...
  • FashionAI服装属性标签识别竞赛

    千次阅读 热门讨论 2018-07-03 16:39:37
    初赛结束前一个月在Gluon论坛上看到了hetong007的帖子实战阿里天池竞赛——服饰属性标签识别,正好当时并无太多事情要忙,于是下载了代码和数据集,准备小试一下。 两个月后,比赛终于落下帷幕。尽管最后只取得了...
  • 2018年7月4日 - 阿里巴巴集团研发的人工智能系统FashionAI已经可以为消费者提供个性化的衣着搭配建议了。阿里巴巴今天在香港推出全新数字化的时尚零售概念店,并在店内展示了这一系统的技术优势。 阿里巴巴的...
  • 2018年7月5日-由阿里巴巴集团旗下的“图象和美”研究团队、香港理工大学(理大)纺织及制衣学系、英国纺织协会联合举办的FashionAI全球挑战赛在香港理工大学进行了总决赛。比赛最终由来自早稻田大学的博士李玮特夺得...

空空如也

空空如也

1 2 3 4 5
收藏数 92
精华内容 36
关键字:

fashionai天池