<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CV崗位面試題:感受野是什么?

          共 3307字,需瀏覽 7分鐘

           ·

          2021-02-09 16:26

          文 | 七月在線
          編 | 小七


          解析:


          某一層特征圖中的一個cell,對應到原始輸入的響應的大小區(qū)域。

          什么是感受野

          感受野(Receptive Field),指的是神經(jīng)網(wǎng)絡中神經(jīng)元“看到的”輸入?yún)^(qū)域,在卷積神經(jīng)網(wǎng)絡中,feature map上某個元素的計算受輸入圖像上某個區(qū)域的影響,這個區(qū)域即該元素的感受野。

          卷積神經(jīng)網(wǎng)絡中,越深層的神經(jīng)元看到的輸入?yún)^(qū)域越大,如下圖所示,kernel size 均為3×3,stride均為1,綠色標記的是Layer2 每個神經(jīng)元看到的區(qū)域,黃色標記的是Layer3 看到的區(qū)域,具體地,Layer2每個神經(jīng)元可看到Layer1 上 3×3 大小的區(qū)域,Layer3 每個神經(jīng)元看到Layer2 上 3×3 大小的區(qū)域,該區(qū)域可以又看到Layer1 上 5×5 大小的區(qū)域。

          ????????????????????????????????????????????????????????
          所以,感受野是個相對概念,某層feature map上的元素看到前面不同層上的區(qū)域范圍是不同的,通常在不特殊指定的情況下,感受野指的是看到輸入圖像上的區(qū)域。

          為了具體計算感受野,這里借鑒視覺系統(tǒng)中的概念:



          準確計算感受野,需要回答兩個子問,即視野中心在哪和視野范圍多大。
          只有看到”合適范圍的信息”才可能做出正確的判斷,目標識別問題中,我們需要知道神經(jīng)元看到是哪個區(qū)域,才能合理推斷物體在哪以及判斷是什么物體。

          但是,網(wǎng)絡架構多種多樣,每層的參數(shù)配置也不盡相同,感受野具體該怎么計算?

          符號定義??

          在正式計算之前,先對數(shù)學符號做如下約定:
          ??????????????????????????????????
          ???????
           ????   k:kernel size  ? ????
          ??????? p:padding size ? ????
          ??????? s:stride size ? ????
          ??????? Layer:用Layer表示feature map,特別地 Layer 0為輸入圖像;? ? ????
          ??????? Conv:用Conv表示卷積,k、p、s為卷積層的超參數(shù),Conv l的輸入和輸出分別為 Layer l?1 和 Layer l+1;? ? ????
          ??????? n:feature map size為 n×n,這里假定height=width;? ? ????
          ??????? r:receptive field size為r×r,這里假定感受野為方形;? ? ????
          ??????? j:feature map上相鄰元素間的像素距離,即將feature map上的元素與輸入圖像Layer

          0 上感受野的中心對齊后,相鄰元素在輸入圖像上的像素距離,也可以理解為 feature map上前進1步相當于輸入圖像上前進多少個像素,如下圖所示,feature map上前進1步,相當于輸入圖像上前進2個像素,j=2;
          ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

          start:feature map左上角元素在輸入圖像上的感受野中心坐標(start,start),即視野中心的坐標,在上圖中,左上角綠色塊感受野中心坐標為(0.5,0.5),即左上角藍色塊中心的坐標,左上角白色虛線塊中心的坐標為(?0.5,?0.5);? ? ????
          ??????? l:l表示層,卷積層為Conv l,其輸入feature map為Layer l?1,輸出為Layer l。
          ?????????
          感受野大小:

          感受野大小的計算是個遞推公式。

          再看上面的動圖,如果feature map Layer 2 上的一個元素A看到feature map Layer 1 上的范圍為3×3(圖中綠色塊),其大小等于kernel size k2,所以,A看到的感受野范圍r2等價于Layer 1上3×3窗口看到的Layer 0 范圍,據(jù)此可以建立起相鄰Layer感受野的關系,如下所示,其中rl為Layer l的感受野,rl?1為Layer l?1 的感受野:


          Layer l 一個元素的感受野rl等價于Layer l?1 上k×k 個感受野的疊加;

          Layer l?1 上一個元素的感受野為rl?1;

          Layer l?1 上連續(xù)k 個元素的感受野可以看成是,第1個元素看到的感受野加上剩余k?1步掃過的范圍,Layer l?1 上每前進1個元素相當于在輸入圖像上前進jl?1個像素,結果等于rl?1+(k?1)×jl?1

          可視化如下圖所示,

          下面的問題是,jin怎么求?

          Layer l 上前進1個元素相當于Layer l?1上前進sl個元素,轉換成像素單位為


          其中,sl為Conv l的kernel在Layer l?1 上滑動的步長,輸入圖像的s0=1。

          根據(jù)遞推公式可知:
          Layer l上前進1個元素,相當于在輸入圖像前進了jl個像素,即前面所有層stride的連乘。
          進一步可得,Layer l的感受野大小為



          感受野中心

          感受野中心的計算也是個遞推公式。

          在上一節(jié)中計算得jl,表示feature map Layer l上前進1個元素相當于在輸入圖像上前進的像素數(shù)目,如果將feature map上元素與感受野中心對齊,則jl為感受野中心之間的像素距離。如下圖所示,

          ????????????????????????????????????????????

          其中,各層的kernel size、padding、stride超參數(shù)已在圖中標出,右側圖為feature map和感受野中心對齊后的結果。

          相鄰Layer間,感受野中心的關系為


          所有的start坐標均相對于輸入圖像坐標系。其中,start0=(0.5,0.5),為輸入圖像左上角像素的中心坐標,startl?1表示Layer l?1左上角元素的感受野中心坐標,(kl?1)/2?pl為Layer l與Layer l?1感受野中心相對于Layer l?1坐標系的偏差,該偏差需折算到輸入圖像坐標系,其值需要乘上jl?1,即Layer l?1相鄰元素間的像素距離,相乘的結果為{(kl?1)/2?pl}?jl?1,即感受野中心間的像素距離——相對輸入圖像坐標系。至此,相鄰Layer間感受野中心坐標間的關系就不難得出了,這個過程可視化如下。



          知道了Layer l左上角元素的感受野中心坐標(startl,startl),通過該層相鄰元素間的像素距離jl可以推算其他元素的感受野中心坐標。

          小結



          由上面的遞推公式,就可以從前向后逐層計算感受野了,在線可視化計算可參見Receptive Field Calculator:https://fomoro.com/research/article/receptive-field-calculator

          Layer l的感受野大小與sl、pl無關,即當前feature map元素的感受野大小與該層相鄰元素間的像素距離無關;

          為了簡化,通常將padding size設置為kernel的半徑,即p=k?12,可得startl=startl?1,使得feature map Layer l 上(x,y)位置的元素,其感受野中心坐標為(xjl,yjl);

          對于空洞卷積dilated convolution,相當于改變了卷積核的尺寸,若含有dilation rate參數(shù),只需將kl替換為dilation rate?(kl?1)+1 ,dilation rate=1時為正常卷積;

          對于pooling層,可將其當成特殊的卷積層,同樣存在kernel size、padding、stride參數(shù);
          非線性激活層為逐元素操作,不改變感受野。



          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  男女拍拍拍拍 | 国产视频福利导航 | 日韩v欧美 | av天堂一区二区 A片免费播放视频 | 天堂在线免费视频 |