丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給隔壁王大喵
發(fā)送

0

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

本文作者: 隔壁王大喵 編輯:郭奕欣 2017-09-04 10:28
導(dǎo)語:這篇文章介紹了作者Gidi Sheperber在greenScreen.AI項目中所做的工作和研究。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

雷鋒網(wǎng)AI科技評論按:這篇文章介紹了作者Gidi Sheperber在greenScreen.AI項目中所做的工作和研究,雷鋒網(wǎng)AI科技評論對本文做了詳細介紹和編譯。

簡介

在機器學(xué)習(xí)方興未艾的過去幾年里,我一直想要親自開發(fā)具有實用價值且基于機器學(xué)習(xí)的產(chǎn)品。然后幾個月前,在我學(xué)習(xí)了由Fast.AI所提供的深度學(xué)習(xí)課程之后,我意識到機會來了。當前的機遇是:深度學(xué)習(xí)的技術(shù)優(yōu)勢使得許多之前不能完成的事情變得可能,并且還有許多新興工具被開發(fā)出來,這使得深度學(xué)習(xí)的部署過程變得更加簡單。

在上述課程中,我遇到了Alon Burg——一名經(jīng)驗豐富的web開發(fā)人員,我們剛好趣味相投。所以為了實現(xiàn)這么一款產(chǎn)品,我們?yōu)樽约涸O(shè)定了一些目標:

  1. 提高自身的深度學(xué)習(xí)技巧

  2. 提高自身的AI產(chǎn)品部署技巧

  3. 針對市場需求,開發(fā)具有實用價值的產(chǎn)品

  4. 產(chǎn)品要有趣

  5. 要分享我們的經(jīng)驗

綜合考慮以上的目標,我們進行了頭腦風(fēng)暴:

  1. 哪些東西是沒被做過的(或者說還不夠完善)

  2. 產(chǎn)品的設(shè)計以及實現(xiàn)難度不能太大——因為我們的計劃是花上2-3個月的時間,每周只在這上邊花個1天時間

  3. 用戶接口要足夠簡單,容易上手——因為我們希望用戶能夠輕松學(xué)會如何使用這個產(chǎn)品,畢竟該產(chǎn)品開發(fā)的初衷不是為了科學(xué)驗證

  4. 用于訓(xùn)練深度學(xué)習(xí)模型的數(shù)據(jù)要容易獲取——因為有機器學(xué)習(xí)經(jīng)驗的人基本都知道,有時數(shù)據(jù)比算法來的更加重要

  5. 將采用尖端的深度學(xué)習(xí)技巧(這種技巧還未被Google、Amazon等公司投入商業(yè)化應(yīng)用),但是也不能太過于新穎(以便于我們可以在網(wǎng)上找到參考例子)

  6. 產(chǎn)品將具備有生產(chǎn)的潛力

我們最早的想法是從醫(yī)療項目入手,因為醫(yī)療領(lǐng)域與我們的初衷很接近,并且那時認為(現(xiàn)在依然認為)深度學(xué)習(xí)在醫(yī)療領(lǐng)域還存在著大量機會。但是,我們意識到這將違背有關(guān)于數(shù)據(jù)收集那一條,數(shù)據(jù)要容易獲取的原則。因此我們退而求其次,選擇了做背景消除(Background removal)。

背景消除這項任務(wù)如果由人類純手工來做,或者借助諸如Photoshop、Power Point等工具來實現(xiàn)都是非常簡單的。然而,全自動化的背景消除卻是一項充滿挑戰(zhàn)的任務(wù)。并且根據(jù)我們的了解,目前還沒有一款產(chǎn)品能夠在背景消除任務(wù)中實現(xiàn)非常好的效果,不過有些廠商已經(jīng)進行了嘗試。

那么問題來了,我們需要消除什么樣的背景?這是一個很重要的問題。因為一個模型越是具體(比如說對物體、角度等方面有詳細規(guī)定),它最后的分割效果也越好。在我們剛開始時,我們將這個范圍定義得比較廣:一個通用的背景消除器將能夠從任何類型的圖片中自動識別出前景與背景。但是在我們訓(xùn)練出了第一個模型之后,我們意識到如果將精力集中于一組特定的圖像上,將取得更好的效果。因此,我們決定專注于肖像以及自拍類型的照片。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

背景消除樣例

自拍的圖像具有突出和集中的前景(一個或者多個“人”),這樣使得背景和物體(臉部和上半身)間能實現(xiàn)較好的分割,并且能保持一個相對穩(wěn)定的角度。

在做了這些基本假設(shè)之后,我們開始了理論研究、代碼實現(xiàn)和長達數(shù)小時模型訓(xùn)練的旅程,以創(chuàng)建能夠一鍵輕松消除背景的服務(wù)。其中最重要的一部分工作是訓(xùn)練模型,但是也不能低估了正確部署模型的重要性。另外當前最好的分割模型還無法像分類模型(比如SqueezeNet)那么緊湊。并且我們還主動檢查了服務(wù)器和瀏覽器的部署選項。

如果你想了解更多關(guān)于我們產(chǎn)品的部署過程,建議你去閱讀這兩篇文章,它們分別從服務(wù)器端客戶端的角度介紹了該項目。

如果你只是想了解模型和它的訓(xùn)練過程,那么請接著閱讀吧。

語義分割

當我們開始認真思考深度學(xué)習(xí)和計算機視覺中各項技術(shù)的時候,顯而易見的,最適于用來實現(xiàn)背景消除任務(wù)的技術(shù)是語義分割。

當然也有其它的策略,比如說通過深度檢測器實現(xiàn)分割,但是這個對于我們而言似乎還不夠成熟。

語義分割(Semantic segmentation)是一項眾所周知計算機視覺任務(wù),與圖像分類和物體檢測并列為計算機視覺領(lǐng)域的三大挑戰(zhàn)。分割的過程可以視為將圖像中的每個像素點分類到圖像中某一個物體類別上,所以分割實際上也是分類任務(wù)。與圖像分類或檢測不同,語義分割真正展現(xiàn)出了對圖像“理解”。因為它并不只是簡單地指明“圖像中有只貓”,而且還在像素的級別上直接指出了圖中的貓在哪個位置,以及貓所占的范圍。

那么分割究竟是如何實現(xiàn)的呢?為了更好的理解這一點,我們將回顧一下該領(lǐng)域的一些早期工作。

最早的想法是采用一些早期的分類網(wǎng)絡(luò),比如VGG和Alexnet。VGG是2014年用于處理圖像分類任務(wù)最先進的模型,并且由于它簡單明了的網(wǎng)絡(luò)結(jié)構(gòu),使得它在今天依然非常有用。在VGG較靠前的網(wǎng)絡(luò)層中,在要進行分類的物體周圍會具有較高的激活,并且在更深的層次中將具有更強的激活。但是由于重復(fù)的池化(Pooling)操作使得這些激活的性質(zhì)相對粗糙。有了這點基本理解之后,我們可以假設(shè)分類訓(xùn)練模型在進行一些調(diào)整之后也能被應(yīng)用于尋找或者分割圖像中的物體。

語義分割的早期結(jié)果與分類算法一起出現(xiàn)。在這篇文章中,你將看到一些通過VGG實現(xiàn)的分割結(jié)果,但是結(jié)果比較粗糙。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

較后邊網(wǎng)絡(luò)的結(jié)果:

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

校車的分割結(jié)果,淺紫色(29)代表了校車類別

經(jīng)過雙線性上采樣之后:

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

這些結(jié)果僅來自于將全連接層轉(zhuǎn)換為原始形狀,而保持了原本的空間特征。在上邊所展示的實例中,我們輸入一張768*1024的圖像到VGG中,然后獲得一層24*32*1000,其中24*32是該圖像池化后的版本,而1000則指的是Image-net的類別數(shù)量,從中可以導(dǎo)出分割結(jié)果。

為了實現(xiàn)平滑預(yù)測,研究員使用了一個簡單的雙線性上采樣層。

FCN的論文中,研究員進一步改進了上述的方法。他們連接了一些層次,以便于獲取更多的特征解釋,并且依據(jù)上采樣率,分別被命名為FCN-32、FCN-16和FCN-8。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

在層之間添加一些跳躍連接允許預(yù)測器從原始圖像獲取更精細的細節(jié)。進一步的訓(xùn)練更能提高結(jié)果。

這種技術(shù)本身并不像以前所想那么糟糕,并且證明了深度學(xué)習(xí)在語義分割領(lǐng)域的潛力。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

FCN的處理結(jié)果,圖像來自論文

FCN為語義分割打開了一扇通往新世界的大門,研究員為此任務(wù)嘗試了不同的網(wǎng)絡(luò)結(jié)構(gòu)。但是核心思想保持不變:使用已知的結(jié)構(gòu)、上采樣和網(wǎng)絡(luò)層間跳躍連接。這些技巧在較新的模型中依然常見。

你可以在這幾個貼子中進一步獲取語義分割領(lǐng)域的發(fā)展情況:

另外你可能也發(fā)現(xiàn)了,大多數(shù)語義分割方法都保持了編碼-解碼(Encoder-decoder)的架構(gòu)模式。

回到項目

在一番調(diào)研之后,我們將目光聚集在了三個模型上:FCN、Unet。其中Tiramisu采用了非常深的編碼-解碼架構(gòu)。我們也對Mask-RCNN有些想法,但是實現(xiàn)它似乎已經(jīng)超出了本項目的范圍。

FCN由于效果太差,首先被我們舍棄。而另外兩個模型的結(jié)果還不錯:Tiramisu和Unet的主要優(yōu)勢在于模型緊湊和計算快速。就實現(xiàn)方面而言,Unet非常容易實現(xiàn)(采用Keras)而Tiramisu也可以實現(xiàn)。并且我們也使用了來自Jeremy Howard's的Deep learning課程中最后一堂課所提供的Tiramisu的實現(xiàn)代碼。

保留著兩個候選的模型,我們進入到了下一步——開始訓(xùn)練模型。必須說明的一點是,當我第一次嘗試了Tiramisu模型之后,就被它驚人的結(jié)果所深深捕獲,因為它能夠捕獲到圖像中的尖銳邊緣。另一方面,Unet似乎還不夠好,它的結(jié)果也是差強人意。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

數(shù)據(jù)

既然在模型選擇方面已經(jīng)有個大概方向,那么接下來我們將開始尋找合適的訓(xùn)練數(shù)據(jù)。用于訓(xùn)練分割模型的數(shù)據(jù)并不像分類或者檢測那樣常見。事實上,圖像分割最常用的幾個數(shù)據(jù)集分別是COCO,它包含有90種類別,大概有8萬張圖像;VOC pascal,它包含有20種類別和1.1萬張圖像;以及最近發(fā)布的ADE20K。

最終我們選擇采用COCO數(shù)據(jù)集,因為它包含有許多關(guān)于“人”這一類別的圖像,而這正是我們所感興趣的。

考慮到產(chǎn)品所要實現(xiàn)的任務(wù),我們還需要考慮是只使用與任務(wù)最相關(guān)的那一部分數(shù)據(jù)集,還是使用更多的更一般的數(shù)據(jù)?一方面,使用具有更多圖像和類別的更一般性的數(shù)據(jù)集,將使得模型具備有處理更多場景和更具挑戰(zhàn)性的圖像;而另一方面,一個通宵的時間我們能夠訓(xùn)練15萬張圖像。因此如果我們將完整的COCO數(shù)據(jù)集都用于訓(xùn)練模型,則一個通宵的時間下來,平均而言,每張圖像將被使用2次左右。所以采用更加精簡的部分數(shù)據(jù)將對模型訓(xùn)練有益,此外,它將使得模型更加集中。

還有一件值得一提的事是,Tiramisu模型原本是在CamVid數(shù)據(jù)集上進行訓(xùn)練的,該數(shù)據(jù)具有一些缺陷,但最重要的是它的圖像內(nèi)容非常單調(diào)——所有的圖像都是道路與汽車。相信你可以很容易就理解,從這樣的數(shù)據(jù)集中進行學(xué)習(xí)(即便它包含有人)對我們的最終目的也沒有任何好處,所以經(jīng)過短暫的考慮,我們選擇了放棄而改用COCO。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

來自CamVid數(shù)據(jù)集的樣例

COCO數(shù)據(jù)集附有非常簡單明了的API,這可以讓我們準確地知道每張圖像上都包含了哪些物體(根據(jù)90個預(yù)定義的類別)。

經(jīng)過一番實驗,我們決定精簡數(shù)據(jù)集。首先,我們選出了那些包含有人物的圖像,這樣的圖像有4萬張。然后,我們繼續(xù)將那些包含有太多人物的圖像剔除,剩余的圖片中只包含有1到2個人,因為這樣的圖像與我們的產(chǎn)品目標最契合。最終,我們只留下那些圖中有20%~70%的區(qū)域被標記為人的圖像,而繼續(xù)移除了那些背景中人物過小,或者是存在某些怪異東西的圖片。最終,精簡后的數(shù)據(jù)集包含有1.1萬張圖像,而我們認為這個數(shù)據(jù)量在現(xiàn)階段已經(jīng)足夠了。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

左邊:好樣例,中間:包含有太多元素,右邊:目標主體太小

Tiramisu模型

如上所述,我們在Jeremy Howard的課程中學(xué)習(xí)到了Tiramisu模型。雖然它的全名“100層Tiramisu”可能暗示了它是一個巨大的模型,但事實上它非常地經(jīng)濟,甚至只有900萬個參數(shù),而VGG16則擁有超過1.3億個參數(shù)。

Tiramisu模型是參考了DensNet的設(shè)計而提出的。而DensNet是一個最近提出的圖像分類模型,在這個模型中所有層都相互連接。此外,Tiramisu還在上采樣層添加了跳躍連接(Skip connections),這一點和Unet一樣。

如果你還記得,這個架構(gòu)是符合FCN所提出的想法的:使用分類架構(gòu)、上采樣和跳躍連接進行細化。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

Tiramisu的通用架構(gòu)

DenseNet模型可以看作是ResNet模型的一個自然演變,但是DenseNet不是“記住”層與層之間的關(guān)系,而是記住了模型中的所有層。這種連接被稱為高速公路連接(Highway connections)。它導(dǎo)致了過濾器數(shù)量激增,這被定義為“增長率”。Tiramisu的增長率為16,因此在每一層我們需要添加16個新的濾波器,直到達到某一層具有1072個濾波器。你也許會期望1600層,因為模型的名字是“100層Tiramisu”,然而上采樣層降低了一些濾波器。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

Densenet模型草圖,早期的濾波器堆疊在整個模型中

訓(xùn)練

我們按照原始論文所述的方式對模型進行了訓(xùn)練:標準的交叉熵、采用1e-3學(xué)習(xí)率的RMSProp優(yōu)化器和較小的衰減值。我們將精簡后的1.1萬張圖像分成了70%的訓(xùn)練集和20%的驗證集,以及10%的測試集。接下來展示的所有圖片均來自測試集。

為了保證我們的訓(xùn)練過程與論文中的保持一致,我將Epoch size設(shè)置為每500張圖像,這使得我們能夠隨著每個結(jié)果的改進而定期保存模型,因為我們對更多的數(shù)據(jù)進行了訓(xùn)練(原論文使用的CamVid數(shù)據(jù)集包含的圖像少于1千)。

此外,我們只在兩種類別上進行訓(xùn)練:背景與人,而論文中則使用了12種類別。我們一開始嘗試在COCO的類別上進行訓(xùn)練,但是發(fā)現(xiàn)這對訓(xùn)練并沒有太大幫助。

數(shù)據(jù)問題

一些數(shù)據(jù)集的缺陷阻礙了模型的表現(xiàn)能力:

  • 動物——我們的模型有時候分割動物,這將導(dǎo)致較低的IoU。在我們?nèi)蝿?wù)中往主要類別增加動物進去或者是其它東西將導(dǎo)致結(jié)果變差。

  • 軀干——由于我們是通過程序自動化地過濾了數(shù)據(jù)集,所以無法判斷一張包含有人物的圖片是真的有一個人,還是說僅僅只有一些軀干,比如手或者腳。這些圖像并不在我們的目標范圍內(nèi),但是它們還是出現(xiàn)在了數(shù)據(jù)集中。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

動物,軀干,手持物體

  • 手持物體——數(shù)據(jù)集中的許多圖像都是與運動有關(guān)的,圖中人物總是伴隨著棒球棒、網(wǎng)球拍和滑雪板等出現(xiàn)。我們的模型在某種程度上混淆了應(yīng)該如何去區(qū)分圖中的人和物。與在動物的案例中一樣,將它們歸為主體的一部分或則區(qū)分開來都將有助于提高模型的表現(xiàn)力。

  • 粗糙的真實數(shù)據(jù)(Ground truth)——COCO數(shù)據(jù)集不是按像素進行逐個標記,而是使用了多邊形進行標注。有些時候,這種程度的標注已經(jīng)足夠了,但是有些時候,這樣的真實數(shù)據(jù)還是過于粗糙,從而阻礙了模型的學(xué)習(xí)。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

原圖以及粗糙的真實數(shù)據(jù)

結(jié)果

我們的結(jié)果非常令人滿意,雖然還有些美中不足:我們在測試集上取得IoU是84.6,而目前最佳的成績則是85。這個數(shù)據(jù)(IoU)也是棘手的,因為它在不同的數(shù)據(jù)集和類別中會發(fā)生波動。有些類別本身就更容易進行分割,例如房子、道路等,許多模型都能很容易取得90的IoU。另一些更加具有挑戰(zhàn)性的類別有樹和人,在這些類別的分割上大多數(shù)模型只能達到60的IoU。為了衡量這一困難,我們幫助網(wǎng)絡(luò)專注于單一的類別和有限類型的照片。

盡管我們?nèi)匀挥X得目前的成果尚不足以達到“可以投入使用(Production ready)”的標準要求,但是現(xiàn)在是一個暫停下來好好討論結(jié)果的好時機,因為大約有50%的照片都給出了不錯的結(jié)果。

以下是一些比較好的例子。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

從左到右分別是:圖像,真實數(shù)據(jù),輸出結(jié)果(來自測試集)

調(diào)試與記錄

訓(xùn)練神經(jīng)網(wǎng)絡(luò)的很重要一部分工作就是進行調(diào)試。開始一個神經(jīng)網(wǎng)絡(luò)的訓(xùn)練非常容易,只要獲取數(shù)據(jù)輸入網(wǎng)絡(luò),然后就開始進行訓(xùn)練,最終再看看輸出結(jié)果如何。但是我們發(fā)現(xiàn),跟蹤網(wǎng)絡(luò)訓(xùn)練的每一步都是非常重要的,所以我們?yōu)樽约褐谱髁讼鄳?yīng)的工具,以便于能在每個步驟中檢查結(jié)果。

以下是一些常見的挑戰(zhàn),以及我們所采取的措施:

  1. 早期問題——該模型可能無法訓(xùn)練。這可能是因為一些固有的問題,或者由于某種預(yù)處理錯誤,例如忘記歸一化數(shù)據(jù)塊導(dǎo)致的。無論如何,將結(jié)果可視化出來將非常有幫助。這有一個與該主題有關(guān)的貼子。

  2. 調(diào)試網(wǎng)絡(luò)——在確定沒有重大問題之后,網(wǎng)絡(luò)將以預(yù)定義的損失開始訓(xùn)練。在語義分割領(lǐng)域主要的衡量指標是IoU——交疊率(Intersect over union)。我們花了一段時間才開始采用IoU作為模型訓(xùn)練的主要指標(而不是交叉熵)。另一個有用的做法是在每一個時期(Epoch)展示一些模型的預(yù)測結(jié)果。這個帖子很好地介紹了如何調(diào)試機器學(xué)習(xí)模型。另外請注意IoU在keras中并不是標準的損失函數(shù),但是可以很容易在網(wǎng)上找到現(xiàn)成的,比如這個。我們也利用這個Gist來繪制每個時期的損失和預(yù)測結(jié)果。

  3. 機器學(xué)習(xí)的版本控制——通常一個模型都會具有許多參數(shù),有些參數(shù)比較難以跟蹤。我必須說明我們還沒找到完美的方法解決這個問題,除了比較頻繁地寫出配置信息(并使用keras回調(diào)自動保存最佳模型,參見下文)。

  4. 調(diào)試工具——在完成了以上所有措施后,我們將能夠在每一個步驟檢驗我們工作,但是依然無法做到無縫檢測。因此,最重要的一步是將上述步驟結(jié)合起來,并創(chuàng)建一個Jupyter筆記本,我么能夠借助它實現(xiàn)無縫地加載每個模型和每個圖像,并且能夠快速檢測它的結(jié)果。這樣我們可以很容易發(fā)現(xiàn)模型之間的差異、模型的缺陷以及其它問題。

以下是我們模型的改進示例,以及參數(shù)調(diào)整和額外的訓(xùn)練。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

保存在驗證集上取得最好IoU成績的模型(Keras提供了一個非常棒的回調(diào)函數(shù),使得這件事變得非常簡單):

callbacks = [keras.callbacks.ModelCheckpoint(hist_model, verbose=1,save_best_only =True, monitor= ’val_IOU_calc_loss’), plot_losses]

除了可能的代碼錯誤的正常調(diào)試之外,我們還注意到,模型的錯誤是“可預(yù)測的”。如“切割”身體部分超出了正常的軀干范圍,沒必要的軀干延伸,光照不足,照片質(zhì)量低和照片中細節(jié)過多等。其中一些在添加不同數(shù)據(jù)集中特定圖像時被處理掉了,但是其它的一些則依然是一項還有待處理的挑戰(zhàn)。為了在下個版本能夠提升結(jié)果,我們將使用專門針對“硬”圖像的擴充進行訓(xùn)練模型。

數(shù)據(jù)集問題我們在之前已經(jīng)談到過了?,F(xiàn)在來看看模型面臨的一些挑戰(zhàn):

  1. 衣服——非常亮或者非常黑的衣服有時會被當成背景

  2. “挖洞”——有些本應(yīng)該不錯的結(jié)果卻有出現(xiàn)類似于被挖了一個洞情況

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

衣服和“挖洞”

  3. 燈光——雖然光照不足和圖像模糊的情況在照片中很常見,但是COCO數(shù)據(jù)集卻不常見這類情況。因此,除了使用標準難度的模型來處理之外,我們還沒有為那些富有挑戰(zhàn)的圖像做好準備。這一問題可以通過獲取更多數(shù)據(jù),或者增強數(shù)據(jù)(Data augmentation)來解決。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

光照不足的樣例

未來

進一步訓(xùn)練

我們的訓(xùn)練數(shù)據(jù)訓(xùn)練了300多個時期,在這之后,模型開始變得過擬合。由于我們的結(jié)果已經(jīng)非常接近于發(fā)布的成績,因此我們沒有機會應(yīng)用數(shù)據(jù)增強的基本做法。

訓(xùn)練所用的輸入圖像統(tǒng)一被調(diào)整為224*224大小。更進一步地,采用更多的數(shù)據(jù)和更大分辨率的圖像(COCO圖像的原始大小約為600*1000)進行訓(xùn)練模型也對提高最終的結(jié)果有幫助。

CRF和其它增強

在某些階段,我們發(fā)現(xiàn)有些結(jié)果的邊緣存在噪點??梢圆捎肅RF模型來改善這一問題。在這個博客中,作者展示了CRF的簡單使用樣例。

但是該方法對我們的工作來說還不是很有幫助,也許是因為只有當結(jié)果比較粗糙的時候該方法才會有所幫助。

摳圖(Matting)

即使我們目前取得了這樣的結(jié)果,但是在實際的分割中還是不夠完美。諸如頭發(fā)、細膩的衣服、樹枝和其它精美的物品永遠無法被完美分割。事實上,這種非常精細的分割任務(wù)被稱為摳圖(Matting),它定義了一種不同的挑戰(zhàn)。這里展示了一個當前最先進的摳圖樣例,該項工作是在今年早些時候的NVIDIA大會上發(fā)表的。

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

摳圖樣例,輸入包含了Trimap

摳圖任務(wù)與其它圖像相關(guān)的任務(wù)不太一樣,因為它的輸入中不僅有原始圖像還有三分圖(Trimap)。三分圖指的是圖像邊緣的輪廓,這也使得它成了“半監(jiān)督”問題。

我們使用摳圖進行了一些實驗,就是將我們的分割圖像作為三分圖使用,但是卻沒有取得任何有意義的結(jié)果。

還有一個問題就是缺乏使用的訓(xùn)練數(shù)據(jù)集。

總結(jié)

正如一開始所說的,我們的目標是開發(fā)出一款具有意義的深度學(xué)習(xí)產(chǎn)品。正如你可以在Alon的貼子里看到的那樣,部署相對而言更加容易和快速。另一方面,模型的訓(xùn)練才是最棘手的——特別是需要花上一晚的時間進行訓(xùn)練,此時你就需要進行仔細規(guī)劃、調(diào)試和記錄結(jié)果。

事實證明,要在研究和嘗試新事物以及訓(xùn)練和改進模型之間取得平衡是一件不容易的事情。由于使用了深度學(xué)習(xí),我們總是覺得最好的模型或者最適合我們的模型就躲在某個角落,只需要多進行一次Google搜索或者多閱讀一篇論文就將會引導(dǎo)我們發(fā)現(xiàn)它。但是在實踐中,我們實際的改進來自于從原始的模型中一點點地“擠壓”。而且如上所述,我們?nèi)匀挥X得有更多的地方可以繼續(xù)改進。

總而言之,我們在這個工作中收獲了許多樂趣,這幾個月的日子過得就像科幻小說一般。我們很樂意同大家討論和回答任何問題,期待在我們的網(wǎng)站上遇見您。

Via Background removal with deep learning,雷鋒網(wǎng)AI科技評論編譯

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

自拍摳圖摳到手軟?詳解如何用深度學(xué)習(xí)消除背景

分享:
相關(guān)文章

知情人士

我也是個旅途的浪人
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說