
來源 | TowardsDataScience
譯者 | 小韓
時裝業是人工智能領域很有前景的領域。 研究人員可以開發具有一定實用價值的應用。 我已經在這里展示了我對這個領域的興趣,在那里我開發了一個來自Zalando在線商店的推薦和標記服裝的解決方案。
在這篇文章中,我們會開發一個提取連衣裙的應用。 它輸入原始的圖像(從網絡上下載或用智能手機拍照),并提取圖像中的連衣裙。 分割的難點在于原始圖像中存在了大量的噪聲,但是我們會在預處理期間通過一個技巧來解決這個問題。
最后,您還可以嘗試將此解決方案與之前引用的解決方案合并。
這允許您通過外出和拍攝時拍攝的照片,開發一個實時推薦和標記服裝的系統。
數據集
最近有一項關于服裝視覺分析和分割的Kaggle比賽。 這是一個非常有趣的比賽,但它并不適合我們。 我們的目標是從圖像中提取連衣裙,因此這個數據集不太適合我們,因為它包含了比較多的冗余。 我們需要的是包含連衣裙的圖像,因此最好自己來構建數據集。
我收集了網絡上的一些圖片,其中包含了在不同場景穿著不同類型的連衣裙的人。 然后需要創建蒙版,它在每個對象分割任務中都是必要的。
下面是我們的數據樣本。 我從互聯網上收集了一些原始圖像,經過進一步剪切,將人與衣服分開。

圖像分割示例
因為我們要將背景、皮膚和連衣裙進行分離,首先要將它們區分出來。 背景和皮膚是本問題中最相關的噪聲源,我們要盡量減少它們的干擾。
通過手動分割來創建蒙版,如下圖所示,簡單的對蒙版進行二值化。

蒙版示例
最后一步,我們將所有的蒙版圖像合并為三維的單個圖像。 這張照片表示了原始圖像的相關特征。 我們的目的主要是分離背景,皮膚和連衣裙,因此這個圖像非常適合!

最終蒙版
我們對數據集中的每個圖像重復這個過程,為每個原始圖像提供三維的對應蒙版。
模型
我們可以很容易的建立模型,過程非常簡單:
我們需要訓練這樣一個模型,該模型輸入原始圖像,可以輸出它的三維蒙版,即分離皮膚、背景和衣服。 訓練完成之后,當一個新的圖像輸入時,我們就可以將它分成三個不同的部分: 背景、皮膚和衣服。 我們只關注感興趣區域(連衣裙),這樣蒙版結合原始圖像,就可以裁剪出我們需要的連衣裙。
我們使用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
公眾號后臺回復
關鍵字
“
0704
”
可獲取
代碼github鏈接~
你也許還想 看 :
●? 一文總結深度學習的12張思維導圖
●? 用機器學習生成披頭士的歌詞 | 項目實戰
●? 怎樣設計最優的卷積神經網絡架構?| NAS原理剖析
歡迎掃碼關注:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
