向AI转型的程序员都关注了这个号????????????

人工智能大数据与深度学习  公众号:datayx

最近几年服饰关键点检测分析引起了人们的广泛关注。以前的具有代表性的工作是服装关键点的检测或人体关节。这项工作提出预测关键位置在时尚物品上定义的点,例如领口的角落,下摆和袖口。然而,由于背景杂乱,人体的姿势和尺度,检测时尚义务上的关键点是具有挑战性的,为了消除上述变化,以前的工作通常是假设在训练和测试中提供的边界的边框作为附加条件,然而这在实践中是不适用的,本项目涉及的是无约束的服装的关键点的检测,无论是训练还是测试所涉及到的是没有提供服饰的边界框,对此我们提出了一种新的网络结构, 此结构主要包含两个部分,首先使用Resnet进行特征提取,然后利用STN空间转换网络除去背景的干扰,最后使用全连接网络进行对关键点的位置和可见性进行预测。

1、 背景介绍 最近几年人们对于视觉时尚分析兴趣不断增加,主要体现在服装属性的预测,衣服的检索 ,关键点的检测。视觉时尚分析给行业会带来巨大的价值。现在现代的神经网络技术以及大型的时尚服饰数据库使我们能够应对这些具有挑战性的任务。2、 初步工作 2.1数据划分 实验室为我们提供了 Consumer-to-shop Clothes Retrieval Benchmark数据集用于服装关键点检测,由于该数据集主要用于训练衣服检索模型,与我们的目标不太符合,因此我们将买家和卖家相应的图片全部用于关键点检测模型训练(即不区分买家和卖家图片)。我们通过list_eval_partition.txt文件将服装图片数据集划分为train - 训练图片集,val - 验证图片集,test - 测试图片集。借助list_bbox.txt中的服装 bbox 标注对原图进行切割,将切割处理后的图片用于训练。实验后期考虑到在 Consumer-to-shop Clothes Retrieval Benchmark数据集上的训练效果不是很好(因为部分买家服装图片对于关键点检测训练干扰较大),我们选择了专门用于服装关键点检测的Fashion Landmark Detection Benchmark数据集,同样借助list_eval_partition.txt文件划分服装图片数据集。由于数据集相对较好,我们不需要bbox 标注切割图片也可以训练模型。对于以上两个数据集,我们均采用先分开训练4点检测,6点检测,8点检测的模型,然后再尝试4,6,8点检测统一训练。我们在各自的数据集上都采用了相应的对比实验以便测试评估最优模型。

2.2数据处理 实验过程主要涉及两类数据处理,图片填充和图像增强。2.2.1图片填充 对于Consumer-to-shop Clothes Retrieval Benchmark数据集,我们首先将切割后的图片等比例放缩,将其宽或者高中相对较长的一边放缩为224,然后相应的进行上下区域填充(切割后的图片宽大于高)和左右区域填充(切割后的图片高大于宽),均采取全黑填充(R,G,B设为0,0,0),最终所有图片尺寸均为224X224,图片的关键点坐标均需做相应变换。对于Fashion Landmark Detection Benchmark数据集,由于图片对于模型训练相对容易,我们直接将所有图片统一填充为512X512的图片,在图片右方和下方区域进行全黑填充,这样就不会影响关键点的坐标。2.2.2图像增强 后期训练过程中,为了防止模型训练过拟合,我们采取了图像增强,调用torchvision.transforms图像预处理包随机改变图像的亮度对比度和饱和度,经过多次训练,发现关键点检测准确率会因此受到影响,我们在最终的模型训练中取消了图像增强。

2.2模型效果的评估 PDL:(PDL is calculated as the percentage of detected landmarks under certain overlapping criterion.)对于大小为512*512的图片,只有当预测出来的关键点与标签所标注的关键点之间的距离小于35个像素值的时才认为该关键点检测正确。NE:图像中所有预测的关键点与标签关键点之间的平均距离的值除以图像的长或宽


  • 代码 获取方式:

    分享本文到朋友圈

    关注微信公众号 datayx  然后回复 关键点检测  即可获取。

    AI项目体验地址 https://loveai.tech

    单肩包/双肩包/斜挎包/手提包/胸包/旅行包/上课书包 /个性布袋等各式包饰挑选

    https://shop585613237.taobao.com/


3、 模型训练过程 开始的时候,我们使用的模型是VGG16进行对图片的特征的提取,去掉VGG16 的最后两层,加上一个最大池化和一个全连接层,回归输出关键点的位置以及分类输出可见性。

上述的模型对于图像中的背景的影响较为明显,对于在不使用包围盒的情况下的效果并不理想,于是我们采用了STN网络(Spatial Transformer Networks),这个网络的好处是能够使模型能够自己注意到关键检测的目标点的位置,并且这种网络不需要额外的监督,并且不会明显影响网络的运算速度,于是,我们首先使用预训练的Resnet18对处理过的图像进行特征提取,然后使用一个空间变换网络STN在之后并联四个STN用来消除背景的干扰,之后使用全连接层进行对关键点的 可见性以及关键点的位置进行预测。

loss function:

4、 模型训练结果 4.1模型训练数据

table1:对比各种模型在Consumer-to-shop_Clothes_Retrieval_Benchmark数据集上的效果,主要采PDL指标进行衡量

下图为Consumer-to-shop_Clothes_Retrieval_Benchmark 数据集上检测4个关键点任务中采用VGG6、ResNet18、ResNet34、ResNet34+Dropout正则化以及ResNet+dropout+SPP五种网络结构之间的关键点检测率PDL的对比,其中SPP(空间金字塔池化)中的池化为最大池化,用于替代从最后一个卷积层到第一个全连接层之间的池化层。可以看出随着模型的复杂程度不断地增加, 最终的准确率不断的提升,其中ResNet34+Dropout在最后取得了最高的准确率。其中ResNet34+Dropout+SPP的效果不太理想可能是因为采用了最大池化层以及只选用了11,22,33,44的输出尺寸,相比于ResNet34最后一层的7*7的平均池化较为不佳,关于在第一层全连接层之前采用较大尺寸的平均池化可以取得较好的效果也有许多的研究。

由于之前采用的Consumer-to-shop_Clothes_Retrieval_Benchmark 数据集主要用于卖家与买家的图像检索匹配任务,因此以下的实验我们采用了Fashion Landmark Detection Benchmark数据集进行后续的实验。在之前的实验中我们将BoundingBox作为一个已知的量进行模型的训练,即训练和预测模型的效果的图片都是通过BoundingBox裁剪所得到的,这样会导致需要人为地标注BoundingBox才能利用模型进行预测,这样会导致模型的实际应用价值大打折扣。而在下面Fashion Landmark Detection Benchmark数据集上我们不再利用BoundingBox作为已知条件,以此来增加模型的实用性。

表2为我们的实验结果,其中STN分为参数共享和并行两种结构。

table2:对比各种模型在Fashion Landmark Detection Benchmark数据集上的效果,主要采用PDL指标进行衡量

下图为采用ResNet18+4个共享权重的STN下模型训练过程中测试集的PDL以及NE.

4.2 部分图片效果展示

以下为Consumer-to-shop_Clothes_Retrieval_Benchmark数据集4、 6和8个点的部分图片预测效果展示。

以下为Fashion Landmark Detection Benchmark数据集4、 6和8个点的部分图片预测效果展示。

服装关键点检测算法(CNN/STN)含(4点、6点以及8点)相关推荐

  1. 关键点检测算法(一)总体介绍

    目录 一.简介 二.人体关键点检测数据集 三.关键点检测任务的目标构建 四.单人2D关键点检测相关算法 五.多人2D关键点检测相关算法 六.3D关键点检测相关算法 正文 一.简介 关键点检测领域包括人 ...

  2. 第一篇:关键点检测算法基础及mmpose文件夹规则

    关键点检测算法基础 关键点检测既不是打标签的图像分类.也不是画框框的目标检测.也不是抠图的语义分割和实力分割,而是一个另类的回归问题,是要输出关键点的坐标.如果要考虑连续帧,则还有跟踪和重识别等衍生任 ...

  3. Tensorflow2实现人脸关键点检测算法PFLD——一个精度高,速度快,模型小的人脸关键点检测模型

    1. 前言 最近,学了人脸关键点检测算法,发现一个比较好的人脸关键点检测模型,打算学一学,让我们来看看算法是如何实现的吧! 论文地址:https://arxiv.org/pdf/1902.10859. ...

  4. 122FPS、51.8mAP 超轻量关键点检测算法PP-TinyPose来啦!

    精准的人机交互任务,如手势控制.智能健身.体感游戏等,背后的核心技术是什么?那必须是关键点检测!还有智慧城市.智慧安防等领域的打架斗殴.司机/工人违规操作等异常行为识别,都离不开关键点检测.话不多说, ...

  5. 122FPS,51.9mAP 超轻量关键点检测算法PP-TinyPose来啦!

    在人机交互场景中,机器可以识别人的手势.肢体动作.表情,你可知背后的核心技术是什么吗? 没错,就是关键点检测技术,它能帮你实现精准的人机交互任务,如手势控制.智能健身.体感游戏等, 还可以识别交通违规 ...

  6. PFLD:简单高效的实用人脸关键点检测算法

    作者丨杜敏 学校丨华中科技大学硕士 研究方向丨模式识别与智能系统 研究背景 人脸关键点检测,在很多人脸相关的任务中,属于基础模块,很关键.比如人脸识别.人脸验证.人脸编辑等等.想做人脸相关的更深层次的 ...

  7. 人脸识别,人脸关键点检测算法

    from http://blog.csdn.net/sloanqin/article/details/48193119 1 Face++:http://www.faceplusplus.com.cn/ ...

  8. 【论文解读】PFLD:高精度实时人脸关键点检测算法

    这篇文章作者分别来自天津大学.武汉大学.腾讯AI实验室.美国天普大学.该算法对在高通ARM 845处理器可达140fps:另外模型大小较小,仅2.1MB:此外在许多关键点检测的benchmark中也取 ...

  9. 关键点检测算法——sift算法

    OpenCV+Python实现 shif算子 (一)SIFT算法分解为如下四步: 1.尺度空间极值检测:搜索所有尺度上的图像位置.通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点. 2.关键点定 ...

最新文章

  1. C++之头文件与源文件
  2. AI实时特效,魔幻修图,Adobe Photoshop相机拯救PS菜鸟
  3. 近世代数--有限交换群--存在子群的阶是群阶的因子
  4. MATLAB学习(一)
  5. 计算机专业有什么血泪建议吗?
  6. Find non-overlap jobs with max cost
  7. 计算机考研数学基础知识点,2019计算机考研数学复习:打好基础是必须的啊喂!...
  8. 可能存在无限递归_你为什么学不会递归?读完这篇文章轻松理解递归算法
  9. Easy machine learning pipelines with pipelearner: intro and call for contributors
  10. batchplot插件用法_batchplot插件用法_batchplot批量打印怎么用?Batchplot(CAD批量打印工具)安装步骤...
  11. js 移动端的表情包
  12. 网页分享至Facebook,Twitter,LinkedIn,WhatsApp,邮箱总结
  13. SFP光纤收发器搭配光模块的交换机连接方案解决方案
  14. C#做的一个简易图片浏览器
  15. usb接口问题折腾记
  16. 名校女教授,强迫其男博士“发生性关系多年”!索赔750万
  17. 用C++实现iec61850协议
  18. 到底什么是服务器托管
  19. 免申请直接用上 IDEA 新 UI,只需要这三步配置
  20. 【失败】尝试改hosts突破迅雷离线的封锁

热门文章

  1. iOS多线程: pthread、NSThread
  2. SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN
  3. 九、模型文档编辑器(生成项目文档)
  4. Python开发【第二篇】:初识Python
  5. 【Todo】【读书笔记】Linux高性能服务器编程
  6. 【转】性能测试设计和LR原理的探讨
  7. 学会科学饮水令你越喝越美
  8. 使用XML及XSL生成简单HTML
  9. AJAX编写用户注册实例及技术小结
  10. c语言程序位置式pid算法,位置式PID算法的C语言代码