從零開始實現穿衣圖像分割完整教程(附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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索