1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        推薦 | 深度學習反卷積最易懂理解

        共 3154字,需瀏覽 7分鐘

         ·

        2021-07-27 15:55

         ↑ 點擊藍字 關(guān)注極市平臺

        作者丨gloomyfish
        來源丨openCV學堂
        編輯丨極市平臺

        極市導讀

         

        普通圖像反卷積,跟深度學習中的反卷積是一回事嗎?別傻傻分不清!其實它們根本不是一個概念。大家可以通過本文,好好捋一捋深度學習的反卷積。 >>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿

        圖像反卷積

        最早支持反卷積是因為圖像去噪跟去模糊,知道圖像去模糊時候會使用反卷積技術(shù),那個是真正的反卷積計算,會估算核,會有很復雜的數(shù)學推導,主要用在圖像的預處理與數(shù)字信號處理中。

        反卷積本質(zhì)上是一種圖像復原技術(shù),典型的圖像模糊可以看成事圖像卷積操作得到的結(jié)果,把模糊圖像重新復原為清晰圖像的過程常常被稱為去模糊技術(shù),根據(jù)模糊的類別不同可以分為運動模糊與離焦模糊,OpenCV支持對這兩張模糊圖像進行反卷積處理得到清晰圖像。

        反卷積的基本原理就是把圖像轉(zhuǎn)換到頻率域,通過估算圖像的核函數(shù),在頻率域?qū)D像點乘計算之后,重新獲取圖像信息,轉(zhuǎn)回為空間域。 主要操作都在頻率域,轉(zhuǎn)換通過離散傅里葉(DFT)變換與反變換,通過維納濾波處理獲取反模糊信息,OpenCV支持反卷積采用維納濾波方式的去模糊,但是參數(shù)調(diào)整事一個大坑,基本上每張圖像的參數(shù)都不一樣,很難有相同的結(jié)果。

        最近這些年,圖像反模糊逐步被深度學習的方法引領(lǐng),OpenCV提供的那幾個函數(shù)越來越少的人知道,主要是通用性很差。貼一張圖:

        OpenCV反模糊之后的效果:

        深度學習中的反卷積

        深度學習中典型網(wǎng)絡就是卷積神經(jīng)網(wǎng)絡,對圖像分類,對象檢測都可以取得很好的效果。但是在語義分割任務中,網(wǎng)絡模型涉及到上采樣操作,最常見的就是通過填充0或者最近鄰插值的方式來完成上采樣。

        在ICCV 2015年的一篇論文中提出了可學習的反卷積網(wǎng)絡,不再通過簡單粗暴的填充0或者最近鄰插值方法來完成上采樣,讓整個過程變成可學習,在圖像語義分割網(wǎng)絡中實現(xiàn)了對上采樣過程的訓練。論文中提到的反卷積操作實現(xiàn)上采樣跟圖像處理中反卷積實現(xiàn)圖像去模糊有本質(zhì)區(qū)別,這里的反卷積更加準確的說法應該是轉(zhuǎn)置卷積。

        卷積操作

        圖中第二行就是卷積與反卷積的示意圖,下面通過一個簡單的例子來解釋上圖的內(nèi)容。假設有4x4大小的二維矩陣D,有3x3大小的卷積核C,圖示如下:

        直接對上述完成卷積操作(不考慮邊緣填充)輸出卷積結(jié)果是2x2的矩陣。

        其中2x2卷積的輸出結(jié)果來自D中第二行第二列像素位置對應輸出,相關(guān)的卷積核與數(shù)據(jù)點乘的計算為:

        0x3+1x3+2x2+2x0+2x0+0x1+0x3+1x1+2x2=12,可以看出卷積操作是卷積核在矩陣上對應位置點乘線性組合得到的輸出,對D=4x4大小的矩陣從左到右,從上到下,展開得到16個維度的向量表示如下:

        我們同樣可以把3x3的卷積核表示如下:

        為了獲得卷積核的4x4的向量表示,我們可以對其余部分填充零,那么卷積核在D上面移動的位置與對應的一維向量表示如下:

        考慮到卷積核C與D的點成關(guān)系,合并在一起還可以寫成如下形式:

        把上面卷積核中的字符表示替換為實際卷積核C,得到:

        所以上述的卷積操作可以簡單的寫為:(D^T為(1,12)的矩陣,C為(12,4)的矩陣,所以矩陣相乘,結(jié)果為(1,4)的矩陣)

        重排以后就得到上面的2x2的輸出結(jié)果。

        轉(zhuǎn)置卷積

        現(xiàn)在我們有2x2的數(shù)據(jù)塊,需要通過卷積操作完成上采樣得到4x4的數(shù)據(jù)矩陣,怎么完成這樣的操作,很容易,我們把2x2轉(zhuǎn)換為1x4的向量E,然后對卷積核C轉(zhuǎn)置,再相乘,表示為:,就得到16維度向量,重排以后就得到了4x4的數(shù)據(jù)塊。這個就是深度學習中的卷積與反卷積最通俗易懂的解釋。

        終極解釋 | 一維轉(zhuǎn)置卷積

        什么!還不明白,那我最后只能放一個大招了!我搞了個一維的轉(zhuǎn)置卷積的例子:

        有個前提,你得先理解什么是卷積跟一維卷積,二維卷積等基本概念。這個例子就很直接,我用Excel繪制的,先看圖:解釋一下,一維卷積的本來是1xN,轉(zhuǎn)置變?yōu)镹x1的,然后同樣用輸入的數(shù)據(jù)跟卷積核點乘,點成的方式如上,如果有重疊的部分,就加在一起就好啦,這部分還可以通過代碼來驗證演示一波,pytorch的代碼演示如下:你好

        from __future__ import print_functionimport torchimport numpy as np# 輸入一維數(shù)據(jù)d = torch.tensor([1.,2.])# 一維卷積核f = torch.tensor([3.0,4.0])# 維度轉(zhuǎn)換ddd = d.view(1,1,2)f = f.view(1,1,2)# 一維轉(zhuǎn)置卷積ct1d = torch.nn.ConvTranspose1d(in_channels=1, out_channels=1, kernel_size=2, stride=2, bias=0)ct1d.weight = torch.nn.Parameter(f);# 打印輸出print("輸入數(shù)據(jù):", d)print("輸出上采樣結(jié)果:", ct1d(d))

        運行結(jié)果如下:根據(jù)我的手繪Excel圖,可以認為:

        [x, y] = [1, 2],
        卷積核[a, b] = [3, 4],
        輸出結(jié)果[ax, bx, ay, by] = [3, 4, 6, 8]

        這個就是轉(zhuǎn)置卷積上采樣!這下還不明白我真的沒法啦!

        參考鏈接:

        https://iksinc.online/2017/05/06/deconvolution-in-deep-learning/ 

        2015 ICCV論文《Learning Deconvolution Network for Semantic Segmentation》

        如果覺得有用,就請分享到朋友圈吧!

        △點擊卡片關(guān)注極市平臺,獲取最新CV干貨

        公眾號后臺回復“CVPR21檢測”獲取CVPR2021目標檢測論文下載~


        極市干貨
        YOLO教程:一文讀懂YOLO V5 與 YOLO V4大盤點|YOLO 系目標檢測算法總覽全面解析YOLO V4網(wǎng)絡結(jié)構(gòu)
        實操教程:PyTorch vs LibTorch:網(wǎng)絡推理速度誰更快?只用兩行代碼,我讓Transformer推理加速了50倍PyTorch AutoGrad C++層實現(xiàn)
        算法技巧(trick):深度學習訓練tricks總結(jié)(有實驗支撐)深度強化學習調(diào)參Tricks合集長尾識別中的Tricks匯總(AAAI2021
        最新CV競賽:2021 高通人工智能應用創(chuàng)新大賽CVPR 2021 | Short-video Face Parsing Challenge3D人體目標檢測與行為分析競賽開賽,獎池7萬+,數(shù)據(jù)集達16671張!


        CV技術(shù)社群邀請函 #

        △長按添加極市小助手
        添加極市小助手微信(ID : cvmart4)

        備注:姓名-學校/公司-研究方向-城市(如:小極-北大-目標檢測-深圳)


        即可申請加入極市目標檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強/OCR/視頻理解等技術(shù)交流群


        每月大咖直播分享、真實項目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~



        覺得有用麻煩給個在看啦~  
        瀏覽 74
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美极品一区 | 国产精品久久久一区二区三区网站 | 国产精品天干天干在线观看61 | 肏逼肏逼 | 久久久资源站 | 国产成人自拍视频在线 | 91九色蝌蚪91POR成人 | 毛茸茸亚州孕妇孕交片 | 探花在线| 男女强吻摸下面揉免费 |