图像领域深度学习的七个境界
用深度學(xué)習(xí)玩圖像的七重關(guān)卡
許鐵-巡洋艦科技2 天前
第一個(gè)重境界: 圖像識(shí)別
?
如果你開始了解深度學(xué)習(xí)的圖像處理, 你接觸的第一個(gè)任務(wù)一定是圖像識(shí)別 :
比如把你的愛貓輸入到一個(gè)普通的CNN網(wǎng)絡(luò)里, 看看它是喵咪還是狗狗。
?
一個(gè)最普通的CNN, 比如像這樣幾層的CNN鼻祖Lenet, 如果你有不錯(cuò)的數(shù)據(jù)集(比如kaggle貓狗大戰(zhàn))都可以給出一個(gè)還差強(qiáng)人意的分類結(jié)果(80%多準(zhǔn)確率), 雖然不是太高。
?
當(dāng)然,如果你再加上對(duì)特定問題的一些知識(shí), 也可以順便識(shí)別個(gè)人臉啥的,開個(gè)startup叫face 減減什么:
會(huì)玩的, 也可以順別識(shí)別個(gè)豬臉什么噠(我覺得長得都一樣哦), 這樣搞出來每個(gè)豬的身份, 對(duì)于高質(zhì)量豬肉的銷售, 真是大有裨益的。
或者看看植物都有個(gè)什么病害什么的,像這樣不同的病斑, 人都懶得看的, 它可以給你看出來。 植物保護(hù)的人可以拿著手機(jī)下田了。
Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. "U-net: Convolutional networks for biomedical image segmentation." International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2015.
?
雖然植物保護(hù)真的很好用,分類問做就了還真是挺無聊的。
我們進(jìn)化的方向,也就是用更高級(jí)的網(wǎng)絡(luò)結(jié)構(gòu)取得更好的準(zhǔn)確率,比如像下圖這樣的殘差網(wǎng)絡(luò)(已經(jīng)可以在貓狗數(shù)據(jù)集上達(dá)到99.5%以上準(zhǔn)確率)。分類做好了你會(huì)有一種成為深度學(xué)習(xí)大師,拿著一把斧子眼鏡里都是釘子的幻覺。 分類問題之所以簡單, 一要?dú)w功于大量標(biāo)記的圖像, 二是分類是一個(gè)邊界非常分明的問題, 即使機(jī)器不知道什么是貓什么是狗, 看出點(diǎn)區(qū)別還是挺容易的, 如果你給機(jī)器幾千幾萬類區(qū)分, 機(jī)器的能力通過就下降了(再復(fù)雜的網(wǎng)絡(luò),在imagenet那樣分1000個(gè)類的問題里,都很難搞到超過80%的準(zhǔn)確率)。
He, Kaiming, et al. "Identity mappings in deep residual networks." European Conference on Computer Vision. Springer International Publishing, 2016.
?
第二重境界 : 物體檢測(cè)
?
很快你發(fā)現(xiàn),分類的技能在大部分的現(xiàn)實(shí)生活里并沒有鳥用。因?yàn)楝F(xiàn)實(shí)中的任務(wù)啊, 往往是這樣的:
或者這樣的:
那么多東西在一起,你拿貓狗大頭照訓(xùn)練的分類網(wǎng)絡(luò)一下子就亂了陣腳。 即使是你一個(gè)圖片里有一個(gè)貓還有一個(gè)狗,甚至給貓加點(diǎn)噪聲,都可以使你的分類網(wǎng)絡(luò)分寸大亂。
現(xiàn)實(shí)中, 哪有那么多圖片, 一個(gè)圖里就是一個(gè)貓或者美女的大圖,更多的時(shí)候, 一張圖片里的東西, 那是多多的, 亂亂的,沒有什么章法可言的, 你需要自己做一個(gè)框, 把你所需要看的目標(biāo)給框出來, 然后, 看看這些東西是什么 。
于是你來到機(jī)器視覺的下一層挑戰(zhàn) - 目標(biāo)檢測(cè)(從大圖中框出目標(biāo)物體并識(shí)別), 隨之而來的是一個(gè)新的網(wǎng)絡(luò)架構(gòu), 又被稱為R - CNN, 圖片檢測(cè)網(wǎng)絡(luò) , 這個(gè)網(wǎng)絡(luò)不僅可以告訴你分類,還可以告訴你目標(biāo)物體的坐標(biāo), 即使圖片里有很多目標(biāo)物體, 也一一給你找出來。
?
Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015.
?
萬軍斬你首級(jí)那是杠杠的,在眾多路人甲中識(shí)別嫌疑犯,也是輕而易舉, 安防的人聽著要按捺不住了。
今年出現(xiàn)的YOLO算法更是實(shí)現(xiàn)了快速實(shí)時(shí)的物體檢測(cè),你一路走過就告訴你視線里都有什么在哪里,要知道這在無人駕駛里是何等的利器。
?
YOLO快速檢測(cè)法Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
?
當(dāng)然, 到這里你依然最終會(huì)覺得無聊, 即使網(wǎng)絡(luò)可以已經(jīng)很復(fù)雜, 不過是一個(gè)CNN網(wǎng)絡(luò)(推薦區(qū)域),在加上一層CNN網(wǎng)絡(luò)做分類和回歸。 能不能干點(diǎn)別的?
?
第三重境界 : 圖像切割
啊哈, 這就來到了第三個(gè)關(guān)卡, 你不僅需要把圖片中邊邊角角的物體給檢測(cè)出來, 你還要做這么一個(gè)猛料的工作, 就是把它從圖片中扣出來。 要知道, 剛出生的嬰兒分不清物體的邊界, 比如桌上有蘋果這種事, 什么是桌子,什么是蘋果,為什么蘋果不是占在桌子上的? 所以, 網(wǎng)絡(luò)能不能把物體從一個(gè)圖里摳出來, 事關(guān)它是否真的像人一樣把握了視覺的本質(zhì)。 這也算是對(duì)它的某種“圖靈測(cè)試” 。 而把這個(gè)問題簡化,我們無非是在原先圖片上生成出一個(gè)原圖的“mask”, 面具,有點(diǎn)像phtoshop里的蒙版的東西。
所謂摳圖
Drozdzal, Michal, et al. "The importance of skip connections in biomedical image segmentation." International Workshop on Large-Scale Annotation of Biomedical Data and Expert Label Synthesis. Springer International Publishing, 2016.
注意,這個(gè)任務(wù)里,我們是要從一個(gè)圖片里得到另一個(gè)圖片哦! 生成的面具是另一個(gè)圖片, 這時(shí)候,所謂的U型網(wǎng)絡(luò)粉墨登場(chǎng),注意這是我們的第一個(gè)生成式的模型。 它的組成單元依然是卷積,但是卻加入了maxpooling的反過程升維采樣。
?
這個(gè)Segmentation任務(wù), 作用不可小瞧哦, 尤其對(duì)于科研口的你, 比如現(xiàn)在私人衛(wèi)星和無人機(jī)普及了,要不要去看看自己小區(qū)周圍的地貌, 看是不是隱藏了個(gè)金庫? 清清輸入, 衛(wèi)星圖片一欄無余。 哪里有樹, 哪里有水,哪里有軍事基地,不需要人,全都給你摳出來。
?
?
如果你要數(shù)個(gè)細(xì)胞啥的 ,都是挺容易的,給它變成這樣的輪廓不就你得了。
?
第四重境界:
我們開始fashion起來, 如果你是淘寶服裝小店的老板 ,想讓客戶輸入一張服裝的圖片,然后得到一組推薦的服裝, 來個(gè)以圖搜圖的功能怎么搞呢? 注意啊,我可以從網(wǎng)絡(luò)上爬一大堆圖出來,但是這些數(shù)據(jù)是沒有標(biāo)注的。怎么辦? 鐵哥告你還是有的搞,這個(gè)搞法,就是聚類。
鐵哥教你最簡單的一招聚類哦,那就是, 把圖片統(tǒng)統(tǒng)放進(jìn)卷積網(wǎng)絡(luò),但是我們不提取分類,而只是提取一些網(wǎng)絡(luò)中間層的特征, 這些特征有點(diǎn)像每個(gè)圖片的視覺二維碼,然后我們對(duì)這些二維碼做一個(gè)k-means聚類, 也會(huì)得到意想不到的效果。 為什么要深度? 因?yàn)樯疃忍崛〉奶卣?#xff0c;那是與眾不同的。
然后以圖搜圖呢? 不過是找到同一聚類里的其它圖片啊。
在聚類的基礎(chǔ)上, 就可以做個(gè)搜索!
?
第五層境界 :
我們開始晉升為仰望星空的人, 之前那些分類賺錢的應(yīng)用太無聊了。 機(jī)器視覺搞科學(xué)怎么港? 作為一群仰望星空后觀察細(xì)胞的人,我們最常發(fā)現(xiàn)的是我們得到的天文或者細(xì)胞圖片的噪聲實(shí)在太大了, 這簡直沒法忍啊, 然后, 深度學(xué)習(xí)給了你一套降噪和恢復(fù)圖像的方法。 一個(gè)叫auto-encoder的工具, 起到了很大的作用 , 刷的一下,圖像就清楚了。
?
這還不是最酷炫的,那個(gè)應(yīng)用了博弈理論的對(duì)抗學(xué)習(xí), 也可以幫你謀殺噪點(diǎn)! 如果你會(huì)對(duì)抗所謂GAN, 也是一種圖像生成的工具, 讓網(wǎng)絡(luò)去掉噪聲的圖片,與沒有噪聲的自然圖片, 連卷積網(wǎng)絡(luò)都判別不出來,對(duì), 就是這樣!
Schawinski, Kevin, et al. "Generative adversarial networks recover features in astrophysical images of galaxies beyond the deconvolution limit." Monthly Notices of the Royal Astronomical Society: Letters 467.1 (2017): L110-L114.
?
?
第六重境界 :
?
在工業(yè)界賺夠了錢,科學(xué)也太nerd了, 我們來玩藝術(shù)思考哲學(xué) ,第一招, 圖像風(fēng)格遷移,請(qǐng)見鐵哥之前的文章:
?
?
然而真正能玩好這一事項(xiàng)的,還是那個(gè)剛剛提過的對(duì)抗學(xué)習(xí)GAN, 比如大名鼎鼎的CycleGAN, 幾乎可以實(shí)現(xiàn)一種你自定義的“圖像翻譯” 功能,而且你不用做標(biāo)注哦, 拿出冬天和夏天的兩組圖片, 它會(huì)自動(dòng)的在兩組圖片中找出對(duì)應(yīng)來。
?
Zhu, Jun-Yan, et al. "Unpaired image-to-image translation using cycle-consistent adversarial networks." arXiv preprint arXiv:1703.10593 (2017).
?
第七重境界:
?
圖像翻譯也懶的玩了, 你神經(jīng)網(wǎng)絡(luò)不是號(hào)稱能夠理解圖像,看你來個(gè)無中生有,在噪聲里生成圖片來?
?
對(duì),依然是GAN,而且是最基礎(chǔ)的卷積GAN (DCGAN)就可以給你干出來。
看看GAN所幻想的賓館情景, 你能想到是計(jì)算機(jī)做的圖嗎? 哈哈哈!
Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014.
?
寫到這里, 我自己都覺得GAN是非常有前途的,有前途的,有前途的,以前我還以為只是好玩呢。
這里展示的七級(jí)浮屠,也不過深度學(xué)習(xí)被人類discover的冰山一角, 醉臥沙場(chǎng)君莫笑, 古來征戰(zhàn)幾人回。
總結(jié)
以上是生活随笔為你收集整理的图像领域深度学习的七个境界的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql服务器的HA集群之corosy
- 下一篇: 基于DirectUI搭建Windows窗