从零开始实现穿衣图像分割完整教程(附python代码演练)


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

机器学习AI算法工程  公众号:datayx程序员



时装业是人工智能领域颇有前景的领域。 研究人员能够开发具备必定实用价值的应用。 我已经在这里展现了我对这个领域的兴趣,在那里我开发了一个来自Zalando在线商店的推荐和标记服装的解决方案。web


在这篇文章中,咱们会开发一个提取连衣裙的应用。 它输入原始的图像(从网络上下载或用智能手机拍照),并提取图像中的连衣裙。 分割的难点在于原始图像中存在了大量的噪声,可是咱们会在预处理期间经过一个技巧来解决这个问题。面试


最后,您还能够尝试将此解决方案与以前引用的解决方案合并。 这容许您经过外出和拍摄时拍摄的照片,开发一个实时推荐和标记服装的系统。算法



项目下载地址flask

关注微信公众号 datayx  而后回复 穿衣  便可获取。微信

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



数据集

最近有一项关于服装视觉分析和分割的Kaggle比赛。 这是一个很是有趣的比赛,但它并不适合咱们。 咱们的目标是从图像中提取连衣裙,所以这个数据集不太适合咱们,由于它包含了比较多的冗余。 咱们须要的是包含连衣裙的图像,所以最好本身来构建数据集。app


我收集了网络上的一些图片,其中包含了在不一样场景穿着不一样类型的连衣裙的人。 而后须要建立蒙版,它在每一个对象分割任务中都是必要的。机器学习

下面是咱们的数据样本。 我从互联网上收集了一些原始图像,通过进一步剪切,将人与衣服分开。





图像分割示例

由于咱们要将背景、皮肤和连衣裙进行分离,首先要将它们区分出来。 背景和皮肤是本问题中最相关的噪声源,咱们要尽可能减小它们的干扰。


经过手动分割来建立蒙版,以下图所示,简单的对蒙版进行二值化。





蒙版示例

最后一步,咱们将全部的蒙版图像合并为三维的单个图像。 这张照片表示了原始图像的相关特征。咱们的目的主要是分离背景,皮肤和连衣裙,所以这个图像很是适合!




最终蒙版

咱们对数据集中的每一个图像重复这个过程,为每一个原始图像提供三维的对应蒙版。


 

模型

咱们能够很容易的创建模型,过程很是简单:

咱们须要训练这样一个模型,该模型输入原始图像,能够输出它的三维蒙版,即分离皮肤、背景和衣服。 训练完成以后,当一个新的图像输入时,咱们就能够将它分红三个不一样的部分: 背景、皮肤和衣服。 咱们只关注感兴趣区域(连衣裙),这样蒙版结合原始图像,就能够裁剪出咱们须要的连衣裙。

咱们使用UNet创建该模型,它常常用于相似的分割任务,并且很容易在Keras中实现。





在开始训练以前,要对全部的原始图像进行均值标准化。 



结果和预测

在预测期间,当遇到高噪声的图像(背景或皮肤模糊等)时,模型开始动荡。 这种问题能够简单地经过增长训练图像的数量进行解决。 但咱们也开发了一个巧妙的方法来避免这种问题。


咱们使用 OpenCV 提供的 GrubCut 算法。 该算法利用高斯混合模型分离前景和背景。 经过它能够帮助咱们找到图像中的人物。



咱们只实现了简单的功能。 假设感兴趣的人站在图像的中间。

python def cut(img): img = cv.resize(img,(224,224)) ¨K5K


执行GrubCut结果


下面是结合使用GrubCut和UNet以后的结果:



GrubCut与UNet相结合获得了优秀的结果。

 

总结

在这篇文章中,咱们为连衣裙分割开发了一套解决方案。 为了达到这个目的,咱们使用了GrubCut和UNet。 咱们计划在真实照片中使用这个解决方案,并根据它构建一个视觉推荐系统。


原文连接:

https://towardsdatascience.com/dress-segmentation-with-autoencoder-in-keras-497cf1fd169a




阅读过本文的人还看了如下:


分享《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


一样是机器学习算法工程师,你的面试为何过不了?


前海征信大数据算法:风险几率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest作特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)经过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程


不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

长按图片,识别二维码,点关注


AI项目体验

https://loveai.tech




本文分享自微信公众号 - 机器学习AI算法工程(datayx)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索