日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

深度学习(二十五)基于Mutil-Scale CNN的图片语义分割、法向量估计-ICCV 2015

發(fā)布時(shí)間:2025/3/21 pytorch 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习(二十五)基于Mutil-Scale CNN的图片语义分割、法向量估计-ICCV 2015 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于Mutil-Scale CNN的圖片語(yǔ)義分割、法向量估計(jì)

原文地址:http://blog.csdn.net/hjimce/article/details/50443995

作者:hjimce

一、相關(guān)理論

? ?2016年的第一篇博文,新的奮斗征程。本篇博文主要講解2015年ICCV的一篇paper:《Predicting?Depth,?Surface?Normals?and?Semantic?Labels?with?a?Common?Multi-Scale?Convolutional?Architecture》,文獻(xiàn)的主頁(yè):http://www.cs.nyu.edu/~deigen/dnl/。一開(kāi)始看到這篇文獻(xiàn)的名字,有點(diǎn)被嚇到了,我以為作者要采用mutil-task多任務(wù)特征學(xué)習(xí)的方法,用于估計(jì)單幅圖像的深度、法向量、語(yǔ)義分割三個(gè)任務(wù)。還以為paper即將采用跟文獻(xiàn)《Facial?Landmark?Detection?by?Deep?Multi-task?Learning》一樣的思想,進(jìn)行提高精度,最后仔細(xì)通讀全文才知道,其實(shí)這三個(gè)任務(wù)是獨(dú)立的,不是傳說(shuō)中的“多任務(wù)特征學(xué)習(xí)”,終于松了一口氣(因?yàn)橹翱础稒C(jī)器學(xué)習(xí)及其應(yīng)用2015》這本書(shū)的第一章的時(shí)候,講到了“魯邦多任務(wù)特征學(xué)習(xí)”,覺(jué)得好難,看不懂,所以就對(duì)多任務(wù)特征學(xué)習(xí)有點(diǎn)害怕)。這篇paper的思想其實(shí)很簡(jiǎn)單,說(shuō)白了就是在文獻(xiàn)《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》的基礎(chǔ)上,改一改,精度稍微提高了一點(diǎn)點(diǎn),就這樣。

? ?基于多尺度的語(yǔ)義分割在FCN網(wǎng)絡(luò)中,早有耳聞,所以如果學(xué)過(guò)paper:《Fully Convolutional Networks for Semantic Segmentation?》 ,在學(xué)習(xí)這篇文獻(xiàn)的網(wǎng)絡(luò)架構(gòu)時(shí)會(huì)比較輕松。對(duì)于三維法向量估計(jì),這個(gè)需要懂一點(diǎn)點(diǎn)三維圖像學(xué)的知識(shí),一般只有搞到三維圖像的人才會(huì)去在意這篇paper的法向量估計(jì)算法,不然二維視覺(jué)很少用到,因?yàn)槲乙郧霸?jīng)搞過(guò)三維,所以對(duì)于三維的一些知識(shí)比較了解。還有另外一個(gè)是深度估計(jì),深度估計(jì)基本上沒(méi)變,都是繼承了文獻(xiàn)《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》的方法。所以總得來(lái)說(shuō)我感覺(jué)這篇文獻(xiàn)的創(chuàng)新點(diǎn)不是很明顯,新的知識(shí)點(diǎn)很少,我們學(xué)起來(lái)也會(huì)比較輕松。

學(xué)習(xí)建議:要學(xué)習(xí)這篇paper,我個(gè)人感覺(jué)還是先要學(xué)《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》,學(xué)了這篇文獻(xiàn),那么接著就非常容易了。

二、網(wǎng)絡(luò)架構(gòu)

網(wǎng)格結(jié)構(gòu)方面與文獻(xiàn)《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》基本相似,可以說(shuō)是在這篇paper的基礎(chǔ)上做的修改,區(qū)別在于:

(1)采用了更深層的網(wǎng)絡(luò);

(2)增加了第三個(gè)尺度的網(wǎng)絡(luò),使得我們的輸出是更高分辨率的圖片(之前的paper輸出大小是55*77,現(xiàn)在最后網(wǎng)絡(luò)的輸出大小是109*147);

(3)與之前的思路有點(diǎn)不同,之前采用的方式是,先訓(xùn)練scale1,訓(xùn)練完成后,以scale?1的輸出作為scale?2的輸入。現(xiàn)在所采用的方式是:scale 1和scale 2聯(lián)合訓(xùn)練,最后固定這兩個(gè)尺度CNN,在訓(xùn)練scale 3。

我們先大體看一下網(wǎng)絡(luò)的總體架構(gòu):


網(wǎng)絡(luò)分成三個(gè)尺度的CNN模型,scale 1的輸入是原始圖片;scale 2 的輸入是原始圖片和scale 1的輸出;同樣,scale 3 的輸入是scale 2的輸出和原始圖片??赡芫W(wǎng)絡(luò)的結(jié)構(gòu),看起來(lái)有點(diǎn)龐大,其實(shí)不然,這個(gè)相比于前面的博文《基于DCNN的人臉特征點(diǎn)定位》簡(jiǎn)單多了。

?1、Scale?1?網(wǎng)絡(luò)架構(gòu)

網(wǎng)絡(luò)的輸入:原始圖片,輸入圖片大小為?三通道彩色圖片;

網(wǎng)絡(luò)的輸出:19*14大小的圖片;

下面是網(wǎng)絡(luò)第一個(gè)尺度的相關(guān)參數(shù),這個(gè)和文獻(xiàn)《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》一樣,基本上是Alexnet。


本尺度的CNN不在細(xì)講,如果不知道怎么架構(gòu),可以好好閱讀文獻(xiàn):《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》。

2、Scale?2?網(wǎng)絡(luò)架構(gòu)

(1)第一層網(wǎng)絡(luò)

輸入:原始圖片304*228(輸入320*240后,訓(xùn)練的時(shí)候,采用random?crop到304*208),經(jīng)過(guò)卷積后,得到74*55大小的圖片。相關(guān)參數(shù)如下:

[python]?view plaincopy
  • [conv_s2_1]??
  • type?=?conv??
  • load_key?=?fine_2??
  • filter_shape?=?(96,3,9,9)??
  • stride?=?2??
  • init_w?=?lambda?shp:?0.001*np.random.randn(*shp)??
  • init_b?=?0.0??
  • conv_mode?=?valid??
  • weight_decay_w?=?0.0001??
  • learning_rate_scale?=?0.001??
  • [pool_s2_1]??
  • type?=?maxpool??
  • poolsize?=?(3,3)??
  • poolstride?=?(2,2)??
  • 也就是特征圖個(gè)數(shù)為96,卷積的stride大小為2。池化采用重疊池化,池化stride大小為2。這樣卷積步的stride=2,池化步的stride=2,圖片的大小就縮小為原來(lái)的1/4(具體計(jì)算不再詳解,因?yàn)檫@些計(jì)算是非常基礎(chǔ)的東西了)。

    (2)第二層網(wǎng)絡(luò)。輸入:除了第一層得到的特征圖之外,還有scale?1的輸出(把scale1的輸出圖片由19*14,放大4倍,然后進(jìn)行邊界處理,得到74*55的圖片)。

    3、Scale?3?網(wǎng)絡(luò)結(jié)構(gòu)

    個(gè)人感覺(jué)多加了這個(gè)尺度的網(wǎng)絡(luò),僅僅只是為了獲得更高分辨率的輸出。

    (1)第一層網(wǎng)絡(luò)。與scale?2一樣,第一層網(wǎng)絡(luò)的輸入是原始圖片,然后進(jìn)行卷積池化,因?yàn)槲覀僺cale?3要得到更大分辨率的結(jié)果,于是作者就把池化的stride選擇為1,具體代碼如下:

    [python]?view plaincopy
  • [conv_s3_1]??
  • type?=?conv??
  • load_key?=?fine_3??
  • filter_shape?=?(64,3,9,9)??
  • stride?=?2??
  • init_w?=?lambda?shp:?0.001*np.random.randn(*shp)??
  • init_b?=?0.0??
  • conv_mode?=?valid??
  • weight_decay_w?=?0.0001??
  • learning_rate_scale?=?0.001??
  • ???
  • [pool_s3_1]??
  • type?=?maxpool??
  • poolsize?=?(3,3)??
  • poolstride?=?(1,1)??
  • 這樣經(jīng)過(guò)這一層的操作,我們可以得到147*109的圖片。

    (2)第二層網(wǎng)絡(luò)。輸入第一層的特征圖,還有scale?2的輸出圖,在進(jìn)行卷積池化。相關(guān)參數(shù)如下:

    [python]?view plaincopy
  • [depths_conv_s3_2]??
  • type?=?conv??
  • load_key?=?fine_3??
  • filter_shape?=?(64,64,5,5)??
  • init_w?=?lambda?shp:?0.01*np.random.randn(*shp)??
  • init_b?=?0.0??
  • conv_mode?=?same??
  • weight_decay_w?=?0.0001??
  • learning_rate_scale?=?0.01??
  • (3)第三層網(wǎng)絡(luò)。后面都差不多,大同小異,具體就不在詳解了,看一下網(wǎng)絡(luò)的相關(guān)配置參數(shù):

    [python]?view plaincopy
  • [depths_conv_s3_3]??
  • type?=?conv??
  • load_key?=?fine_3??
  • filter_shape?=?(64,64,5,5)??
  • init_w?=?lambda?shp:?0.01*np.random.randn(*shp)??
  • init_b?=?0.0??
  • conv_mode?=?same??
  • weight_decay_w?=?0.0001??
  • learning_rate_scale?=?0.01??
  • (4)第四層網(wǎng)絡(luò)

    [python]?view plaincopy
  • [depths_conv_s3_4]??
  • type?=?conv??
  • load_key?=?fine_3??
  • filter_shape?=?(64,1,5,5)??
  • transpose?=?True??
  • init_w?=?lambda?shp:?0.01*np.random.randn(*shp)??
  • init_b?=?0.0??
  • conv_mode?=?same??
  • weight_decay_w?=?0.0001??
  • learning_rate_scale?=?0.001??
  • 四、損失函數(shù)構(gòu)建

    我覺(jué)得文獻(xiàn)的提出算法,如何構(gòu)造損失函數(shù)也是一大創(chuàng)新點(diǎn),所以我們還是要好好閱讀對(duì)于深度、法向量、語(yǔ)義分割這些損失函數(shù)是怎么構(gòu)建的。

    (1)深度估計(jì)損失函數(shù)

    這個(gè)與之前的那篇paper的構(gòu)造方法相同,也是采用作者所提出的縮放不變損失函數(shù),同時(shí)后面又加了一項(xiàng)elementwise?L2:

    ?

    其中D和D*分別表示網(wǎng)絡(luò)深度預(yù)測(cè)值、實(shí)際的深度值。然后d=D-D*。

    (2)法矢估計(jì)損失函數(shù)

    因?yàn)榉ㄏ蛄渴侨S的,因此我們每層scale的輸出,就不應(yīng)該是一個(gè)單通道圖片了,而應(yīng)該改為3通道,用于分別預(yù)測(cè)一個(gè)三維向量的(x,y,z)值。同時(shí)我們要知道法向量指的是長(zhǎng)度為1的歸一化向量,因此在輸出三維V向量后,我們還需要把它歸一化,然后接著才能定義計(jì)算損失函數(shù):

    ?

    因?yàn)轭A(yù)測(cè)值N和真實(shí)值N*向量的模長(zhǎng)都為1,所以其實(shí)上面的損失函數(shù)說(shuō)白了就是以兩個(gè)向量的角度差,作為距離度量。

    真實(shí)的法向量的獲取方法:可能是沒(méi)有訓(xùn)練數(shù)據(jù)的原因,所以文獻(xiàn)法向量訓(xùn)練數(shù)據(jù)的獲取方法,是通過(guò)每個(gè)像素點(diǎn)的深度值,獲得三維空間中每個(gè)像素點(diǎn)的位置,也就是相當(dāng)于點(diǎn)云。然后采用最小二乘平面擬合,擬合出每個(gè)點(diǎn)鄰域范圍內(nèi)平面,以平面的法向量作為每個(gè)像素點(diǎn)的法矢(這個(gè)因?yàn)槲抑案氵^(guò)三維的重建、點(diǎn)云處理,所以對(duì)于三維點(diǎn)云法向量的求取會(huì)比較熟悉,如果沒(méi)有接觸過(guò)三維圖形學(xué)的,可以跳過(guò)不看,或者可以學(xué)一學(xué)我的博客:?http://blog.csdn.net/hjimce/article/category/5570255?關(guān)于三維圖形學(xué)的知識(shí),可以直接看點(diǎn)云重建)

    (3)語(yǔ)義分割損失函數(shù)

    因?yàn)檎Z(yǔ)義分割,就相當(dāng)于給每個(gè)像素點(diǎn)做分類(lèi),也就是相當(dāng)于一個(gè)多分類(lèi)問(wèn)題,所以自然而然采用softmax,損失函數(shù)采用交叉熵:

    ?

    其中:

    ?

    這個(gè)是softmax的相關(guān)知識(shí)了,不熟悉的趕緊補(bǔ)一下。不然后面遇到CNN圖片分類(lèi),就要抓狂了,softmax是基礎(chǔ)知識(shí)。

    五、網(wǎng)絡(luò)訓(xùn)練

    (1)訓(xùn)練流程

    訓(xùn)練方法采用的都是隨機(jī)梯度下降法,首先我們訓(xùn)練把scale?1和scale?2?聯(lián)合起來(lái)訓(xùn)練,也就是說(shuō)我們?cè)谟?xùn)練scale?2的時(shí)候,scale1的參數(shù)也是要更新的,這個(gè)與另外一篇paper:《Depth?Map?Prediction?from?a?Single?Image?using?a?Multi-Scale?Deep?Network》的訓(xùn)練方法不同。然后scale?3的訓(xùn)練和前面兩個(gè)尺度的訓(xùn)練是分開(kāi)的,我們先訓(xùn)練完了scale?1、scale?2,訓(xùn)練完畢后,固定這兩個(gè)尺度的參數(shù),然后繼續(xù)訓(xùn)練scale?3(換一種說(shuō)法就是訓(xùn)練scale?3的時(shí)候,scale?1\2的參數(shù)是不更新的)。

    (2)訓(xùn)練參數(shù)

    具體的訓(xùn)練參數(shù),還是參考作者給的代碼中的conf網(wǎng)絡(luò)配置文件,里面可以看到每層的學(xué)習(xí)率,以及其它的一些相關(guān)參數(shù)。參數(shù)初始化:除了scale?1前面幾層卷積層是用了Alexnet訓(xùn)練好的參數(shù),作為初始值。其它的全部采用隨機(jī)初始化的方法。Batch?size大小選擇32。

    參考文獻(xiàn):

    1、《Predicting?Depth,?Surface?Normals?and?Semantic?Labels?with?a?Common?Multi-Scale?Convolutional?Architecture》

    2、http://www.cs.nyu.edu/~deigen/dnl/

    3、《Depth?map?prediction?from?a?single?image?using?a?multi-scale?deep?network》

    **********************作者:hjimce ? 時(shí)間:2016.1.1 ?聯(lián)系QQ:1393852684 ? 地址:http://blog.csdn.net/hjimce? ?原創(chuàng)文章,版權(quán)所有,轉(zhuǎn)載請(qǐng)保留本行信息(不允許刪除)

    總結(jié)

    以上是生活随笔為你收集整理的深度学习(二十五)基于Mutil-Scale CNN的图片语义分割、法向量估计-ICCV 2015的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 暖暖日本在线视频 | 男男受被啪到高潮自述 | 天堂国产精品 | 欧美 中文字幕 | 日韩在线观看免费av | 黄色网页在线观看 | av动漫网| 四虎影院永久地址 | 日韩欧美在线中文字幕 | 国产欧美在线视频 | 影音先锋亚洲一区 | 在线播放国产视频 | 国产综合在线观看 | 自拍超碰 | 亚洲国产第一区 | 国产精品久久婷婷六月丁香 | 国产不雅视频 | h成人在线 | 武侠古典av | 天天综合干 | av青娱乐 | 日韩黄视频 | 久久久久久久久久久久久女过产乱 | 亚洲在线第一页 | 182av| 国产精品久久久久永久免费看 | 午夜在线精品偷拍 | 91成人免费电影 | 在线综合网 | 亚洲第9页| 熟女人妻aⅴ一区二区三区60路 | 大地资源二中文在线影视观看 | 99久久人妻无码中文字幕系列 | 久久不射网站 | 国产女人高潮视频 | 一级黄色性生活片 | 国产盗摄在线观看 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 福利片av | 九七av | 国产精品一区二区欧美 | 午夜伦理av| 波多野结衣喷潮 | 国av在线| 奶妈的诱惑 | 久久视频在线 | 成人在线观看免费网站 | 亚洲永久无码精品一区二区 | 免费日韩精品 | 哪里可以看毛片 | 精品少妇无码av无码专区 | 一级黄色特级片 | 久久精品视频无码 | 热久久av | 黄色网址网站 | 超污巨黄的小短文 | 夜夜夜影院 | 久久久久久久影视 | 欧洲一区二区三区在线 | 四虎永久在线 | 一区二区三区四区在线观看视频 | 老牛影视少妇在线观看 | 女人扒开腿免费视频app | 91精品一区二区三区四区 | 蜜臀99久久精品久久久久小说 | 青青青免费在线 | 免费在线色视频 | 欧美日韩亚洲国产一区 | 日本一本二本三区免费 | 韩国美女av | h在线播放 | 亚洲永久免费 | 亚洲视频手机在线观看 | youjizz欧美| 亚洲精选久久 | 婷婷综合亚洲 | 国产精品电影 | 国产做受高潮漫动 | 亚洲视频精选 | 97精品一区 | 伦在线| 国产精品一区二区精品 | 黄色av软件 | 欧美另类专区 | 永久免费看片在线播放 | 精品美女在线 | 三年中文在线观看中文版 | 中文字幕无码人妻少妇免费 | 日韩中文字幕二区 | 黄瓜视频污在线观看 | 亚洲精品20p | 一级黄色片毛片 | 天天干夜夜看 | 免费啪啪小视频 | 亚洲成人乱码 | 男人用嘴添女人下身免费视频 | 正在播放老肥熟妇露脸 | 亚洲国产一区二区三区在线观看 | 亚洲男人天堂网站 |