圖片分割工具-Unet基本原理分享

產(chǎn)品狗一枚,入坑AI,今天向大家介紹下圖像識(shí)別非常重要的工具Unet,簡(jiǎn)單介紹其原理。
Unet在自動(dòng)駕駛、馬賽克修復(fù)、殘破圖片還原、醫(yī)學(xué)圖像識(shí)別等方面有重要應(yīng)用,具體介紹自行搜索或者問(wèn)AI吧,但是Unet的原理對(duì)于沒(méi)有系統(tǒng)化學(xué)習(xí)過(guò)的人來(lái)說(shuō)是很難懂的,尤其涉及到一些專(zhuān)業(yè)詞匯和算法公式,勸退了一波初學(xué)者。因此根據(jù)我的理解,在這里嘗試不用專(zhuān)業(yè)詞匯解釋Unet的原理,或許能有一些幫助。

訓(xùn)練過(guò)程U型圖

想要了解Unet原理的同學(xué)應(yīng)該都見(jiàn)過(guò)這張圖,分別是下采樣、上采樣的過(guò)程,但這個(gè)過(guò)程受專(zhuān)業(yè)詞匯影響理解起來(lái)非常懵逼,簡(jiǎn)單來(lái)說(shuō)這個(gè)U型圖分左右兩部分,左邊的下采樣是為了讓Unet理解讓他識(shí)別的圖形是什么,右邊上采樣是讓Unet識(shí)別出學(xué)到的圖形在原圖的哪些區(qū)域。

理解到這個(gè)流程的概念,再來(lái)看看什么是下采樣、上采樣。

下采樣

可以在圖中看到左邊有4層三道杠,具體什么算法不用著急,從里面的參數(shù)可以看到每層三道杠有兩組數(shù)值,比如:572×572 570×570 568×568,1 64 64,前面一組代表圖片的分辨率,后面一組代表圖片的解析帶寬,然后每往下走一層,分辨率都會(huì)下降一倍,而解析帶寬都會(huì)翻一倍,直至最后分辨率變成64×64,帶寬變?yōu)?12。
這個(gè)過(guò)程相當(dāng)于,每次訓(xùn)練的時(shí)候,先把圖片的每個(gè)像素掃一遍,提取一些圖片上的特征,然后把圖片的分辨率縮小一倍,再逐個(gè)像素掃一遍,提取圖片上的特征,當(dāng)然因?yàn)閳D片尺寸變小了,掃描圖片的次數(shù)也會(huì)翻倍,這樣可以提取更豐富的特征,如此往復(fù)4次直至最終輸出的圖片分辨率只有32×32,然后再卷一次1024的特征掃描,交給上采樣處理,整個(gè)過(guò)程相當(dāng)于:

下采樣過(guò)程

可以看到,每次下采樣,隨著圖片分辨率的下降,圖片也會(huì)丟失一半的細(xì)節(jié),但這更方便找到關(guān)鍵特征,就像盲人摸象,剛開(kāi)始的時(shí)候大家都先一個(gè)盲人整體摸一下大象什么形狀,其實(shí)這個(gè)盲人是很懵逼的,但是再叫64個(gè)盲人摸一個(gè)570×570像素的大象,之后每次分辨率縮小就等于都把大象卸掉一半,同時(shí)摸象的人再翻一倍,并且每個(gè)人都記下自己摸過(guò)的樣子,再叫128個(gè)盲人摸284×284的大象,再反復(fù)折騰幾次,直到最后又叫了1024個(gè)盲人摸一個(gè)32×32分辨率的象,每次摸象的盲人對(duì)大象是什么形狀心里就有數(shù)了。

上采樣

接前面,當(dāng)每個(gè)盲人摸完大象后,為了證明他們都摸明白了,就得讓他們把摸過(guò)的大象部件用陶土捏回去,這個(gè)過(guò)程和下采樣正好反過(guò)來(lái),第一次有1024個(gè)盲人捏出自己摸過(guò)的樣子,此時(shí)圖片分辨率只有28×28,別問(wèn)32×32是怎么變成28×28的,問(wèn)就是信息損耗。然后把這28×28的圖片和前面1024人摸過(guò)的人再對(duì)比下捏出來(lái)的形狀,該調(diào)的調(diào),該修的修,這個(gè)調(diào)修技術(shù)上叫跳躍連接,然后再讓512個(gè)盲人接著前面1024人捏出來(lái)的土坯零件,按照他們摸過(guò)的記憶補(bǔ)充細(xì)節(jié),該調(diào)的調(diào),該修的修,然后再重復(fù),直到最后64個(gè)人捏回了388×388的大象,此時(shí)新捏出來(lái)的大象雖然和原來(lái)的大象有些細(xì)節(jié)不一樣,但這些盲人終于搞明白什么是大象,以后只要在動(dòng)物園里摸到大象,他們就可以指著大象說(shuō):這就是大象。

原圖的人工標(biāo)記

在實(shí)際下采樣的時(shí)候,并不是發(fā)一張飛機(jī)的照片給到Unet,它就知道要去摸飛機(jī)了,還需要給它提供一份飛機(jī)的定義,相當(dāng)于我們要把飛機(jī)的特征手動(dòng)標(biāo)記出來(lái),并且是各個(gè)角度、各種類(lèi)型的飛機(jī)的原圖照片+特征標(biāo)記,每個(gè)樣本和對(duì)應(yīng)的標(biāo)記都讓Unet摸一摸,以后它就可以自動(dòng)識(shí)別出飛機(jī)了,比如當(dāng)你帶著Unet開(kāi)飛機(jī)的時(shí)候,它老遠(yuǎn)就能識(shí)別出前方過(guò)來(lái)的是飛機(jī)而不是天上的云,叫你開(kāi)上去創(chuàng)死他,開(kāi)玩笑,躲開(kāi)他。當(dāng)然了你又會(huì)問(wèn)特征標(biāo)記是什么,具體是怎么樣的?還是拿飛機(jī)舉個(gè)例子:


標(biāo)記過(guò)程

請(qǐng)忽略粗糙的摳圖,訓(xùn)練時(shí)向下采樣輸入原圖和標(biāo)記圖,兩者尺寸、分辨率必須保持一致,當(dāng)然標(biāo)記也還有其他類(lèi)型的文件格式,比如json。然后下采樣時(shí)Unet就像盲人一樣分層分級(jí)的摸標(biāo)記和原圖上的重疊的部分(編碼器),再分層分級(jí)的把摸過(guò)的形狀特征捏回來(lái)(解碼器),并且邊摸邊對(duì)照之前摸過(guò)的樣子,基本上就八九不離十了。

額外補(bǔ)充

可以看到下采樣和上采樣的每一次處理都會(huì)帶來(lái)一定分辨率的損失(失真),所以Unet也無(wú)法做到100%的分割或者識(shí)別,但可以通過(guò)增加樣本的訓(xùn)練、優(yōu)化每次采樣的算法來(lái)提高準(zhǔn)確率、減少失真,那么Unet的基本原理就介紹到這里,感謝觀看~!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容