最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

48 全連接卷積神經網絡 FCN【動手學深度學習v2】

2022-07-13 23:42 作者:如果我是泡橘子  | 我要投稿

全連接卷積神經網絡(FCN)


  • Fully Convolutional Network,F(xiàn)CN
  • 語義分割是對圖像中的每個像素進行分類,輸出的類別預測與輸入圖像在像素級別上具有一一對應關系:通道維的輸出即為該位置對應像素的類別預測
  • FCN 采用卷積神經網絡實現(xiàn)了從圖像像素到像素類別的變換,區(qū)別于圖像分類和目標檢測中的卷積神經網絡,全連接卷積神經網絡通過引入轉置卷積將中間層特征圖的高和寬變換回輸入圖像的尺寸



工作原理


它用轉置卷積層來替換 CNN 最后的全連接層,從而可以實現(xiàn)每個像素的預測

1、CNN 可以認為是在 ImageNet 上面預訓練好的模型

  • 全連接卷積神經網絡先使用卷積神經網絡抽取圖像特征
  • CNN 模型的最后兩層要么就是全連接層,這樣可以做到 label 的語義信息,全連接層下面通常是一個全局平均池化層:全連接層將 224*224 的圖片變成 7*7 的高寬,全局平均池化層再將 7*7 變成 1*1 ,不管怎么樣將通道中的信息做平均
  • 這對于圖片分類來說沒有什么問題,但是對于需要空間信息來說就不是那么好了,所以全連接卷積神經網絡的 CNN 其實就是去掉了全連接層和最后的全局平均池化層,所以如果輸入是 224*224 的圖片的話,輸出就是 7*7 的高寬,通道數(shù)可能是 512*512


2、1*1 的卷積層

  • 通過 1*1 卷積層將通道數(shù)變換為類別個數(shù)
  • 不會對空間信息做變化,主要是用來降低維度(降低通道數(shù)),從而降低計算量


3、transposed conv(轉置卷積層)

  • 轉置卷積層就是將圖片放大,將特征圖的高和寬變換為輸入圖像的尺寸,從而使模型輸出與輸入圖像的高和寬相同,并且最終輸出通道包含了該空間位置像素的類別預測
  • 假設 CNN 是將圖片縮小的話,一般來說,對于 ImageNet 的 224*224 的圖片來說是縮小 32 倍(高寬均縮小 32 倍),得到 7*7 的高寬
  • 轉置卷積層就是將圖片擴大 32 倍,將 7*7 的高寬還原稱為 224*224 ,通道數(shù) K 等價于類別數(shù)(對每個像素的類別預測存儲在通道信息中),這樣的話,不管對于高寬為多少的圖片,都會得到通道數(shù)為類別數(shù)且高寬相同(與輸入圖片的原始尺寸相同)的預測,這樣就能實現(xiàn)對每個像素做標號和預測
  • 在圖像處理中,有時需要將圖片放大(上采樣,upsampling),雙線性插值(bilinear interpolation)是常用的上采樣方法之一,也常用于初始化轉置卷積層(雙線性插值的上采樣可以通過轉置卷積層實現(xiàn))



訓練


  • 在訓練時,因為使用轉置卷積層的通道來預測像素的類別,所以需要在損失計算中指定通道維,模型基于每個像素的預測類別是否正確來計算準確率



預測


  • 假設模型所使用的轉置卷積層的步幅為 x ,為了解決輸入圖像的高或寬無法被 x 所整除時所造成的轉置卷積層輸出高或寬與輸入圖像尺寸的偏差問題,可以在輸入圖像中截取多塊高和寬為 x 的整數(shù)倍的矩形區(qū)域(這些區(qū)域的并集需要完整覆蓋輸入圖像),并分別對這些區(qū)域中的像素做前向傳播當一個像素被多個區(qū)域所覆蓋時,它在不同區(qū)域前向傳播中轉置卷積層輸出的平均值可以作為 softmax 運算的輸入,從而預測類別





總結


1、全卷積網絡首先使用卷積神經網絡抽取圖像特征,然后通過 1*1 卷積層將通道數(shù)變換為類別個數(shù),最后通過轉置卷積層將特征圖的高和寬變換為輸入圖像的尺寸

2、在全卷積網絡中,可以將轉置卷積層初始化為雙線性插值的上采樣





Q&A


  • 1、當前檢測如果只需要精度不考慮速度,有推薦的模型嗎?YOLO v5 和 cascade rcnn哪個好一些?

?
QA P3 - 00:02
?


  • 2、如果有相似場景數(shù)據 2 萬張圖片自己預訓練提升大嗎?能演示亞馬遜 AutoGluon嗎?AutoGluon做目標檢測嗎?

?
QA P3 - 00:47
?


  • 3、請問網絡中間1*1卷積,將7*7*512壓縮到7*7*class_num,這樣原來在512通道的信息,被強制壓縮到num_class,不會造成很大的信息損失嗎?

?
QA P3 - 01:12
?


  • 4、老師,能不能畫圖說明一下padding怎么起作用的?

?
QA P3 - 02:13
?


  • 5、沒聽懂padding 16 的由來


  • 6、請問為什么不用多層小 kernel 的轉置卷積,而是直接一層到位?

?
QA P3 - 02:29
?


  • 7、老師,轉置卷積層為什么只用一層,而不是用多層級聯(lián)的形式?


  • 8、如何通過卷積實現(xiàn)插值?

?
QA P3 - 03:25
?


  • 9、沒聽懂為啥使用雙線插值的方法


  • 10、為什么不使用3次方插值,插值效果會更好嗎?


  • 11、初始化對最終有什么影響呢?


  • 12、FCN和目前SOTA的模型相比,后續(xù)主要有哪些改進點?

?
QA P3 - 04:06
?


  • 13、李老師,請問如果想導入 pre-trained 數(shù)據,目前的模型是不是要和 pre-trained 模型一致?

?
QA P3 - 04:33
?





----end----

其他參考

1、《動手學深度學習》,教材,https://zh-v2.d2l.ai/chapter_computer-vision/fcn.htm

2、《動手學深度學習》,PPT,https://courses.d2l.ai/zh-v2/assets/pdfs/part-2_16.pdf

48 全連接卷積神經網絡 FCN【動手學深度學習v2】的評論 (共 條)

分享到微博請遵守國家法律
凤山市| 乐至县| 永安市| 湾仔区| 华宁县| 张家港市| 互助| 阳西县| 保山市| 建平县| 汉阴县| 杭州市| 宁海县| 博乐市| 泾阳县| 滕州市| 太湖县| 玉树县| 九龙县| 休宁县| 临澧县| 鄂伦春自治旗| 开江县| 通道| 怀远县| 北票市| 调兵山市| 镇平县| 麻江县| 新巴尔虎右旗| 曲阜市| 彭山县| 改则县| 沙雅县| 石景山区| 平定县| 浑源县| 南召县| 漾濞| 应用必备| 东乡|