最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch圖片分割原理分析

 更新時間:2024年10月14日 08:46:46   作者:xx_xjm  
自Transformer模型被應用于計算機視覺領域后,圖像分割技術得到了進一步的發(fā)展,但圖像分割操作復雜,特別是對張量的處理,涉及多種變換方法,其中,view/reshape用于改變數(shù)據(jù)形狀,而permute/transpose用于改變數(shù)據(jù)的維度順序

pytorch圖片分割原理

自從transformer應用到cv領域以后,對圖片的分割需求便越加重了,但是圖像分割說起來容易,實際操作起來還是有很多地方不懂(主要還是code能力太弱)。

我們知道,對張量的處理一般又兩種,一種是view/reshape這樣的,先將數(shù)據(jù)按行展開,再按照指定形狀排列數(shù)據(jù);另一種是permute/transpose這種,是把數(shù)據(jù)按照維度進行變化,也就是把數(shù)據(jù)排列的先后順序轉換一下(后面具體介紹)。所以分割圖片就用到了兩者的結合

實驗

原圖:

1:我們先看直接reshape的結果:將原圖片切割為8份

完全沒法看好吧!

原因就是上面說的,reshape是把整張圖片按行(這里是按照通道數(shù)3,實際上也確實應該把通道數(shù)調到最后,按照通道展開,原因后面介紹)展開。

2:我們看一下正確的做法

可以看到分割的很完美!

接下來解釋一下原因

1:通道數(shù)必須放到最后一個維度:首先,我們知道再張量數(shù)據(jù)是連續(xù)的情況下,其數(shù)據(jù)是按行展開排序的,也就是按照張量最后一個維度展開排序,所以,對于一個三通道的RGB圖像(3,H, W)它本來是按照寬度展開的,但這樣在分割的時候就存在問題了,因為,分割一張圖片,應該是三個通道一起分割,故,我們第一步應該把通道數(shù)調到最后一個維度(這里因為是用cv2打開的圖片,通道數(shù)已經(jīng)在最后一維 ,所以不用再單獨轉換,但如果需要轉換的話,注意,不可以用reshape或者view,只能用permute/或者transpose)

2:寬和高的分割必須先在自己的維度分割,即對于一組(B,C,H, W)的圖片,在把C轉換到最后一維后為(B,H,W,C),分割(此時用reshape)應該先按照(B,H/H分割size,H分割size,W/W分割size,W分割size,C)展開,然后再用permute,或者tanspose轉化為(B,H/H分割size,W/W分割size,H分割size,W分割size,C),最后,再用contiguous().view轉化為(B,(H/H分割size)*(W/W分割size),H分割size,W分割size,C),解釋如下:

張量的維度,實際上表述數(shù)據(jù)的方向和排列順序,越靠后的維度越先排列,所以,對于(B, H W, C),如果只是進行reshape或者view的話,他始終是會先把寬W排完之后再排高,所以,為了要把圖片分成一份一份的,那么就必須讓寬和高交替出現(xiàn),也就是要改變數(shù)據(jù)的排列順序,這正是permute和transpose的作用,它們相當于在保持現(xiàn)有數(shù)據(jù)在內存中順序的基礎上,改變數(shù)據(jù)的排列順序,這里(B,H/H分割size,H分割size,W/W分割size,W分割size,C)H/H分割size,H分割size都代表高;W/W分割size,W分割size都代表寬,也就是(B,高,高,寬,寬,C),將H分割size和W/W分割size轉換以后則為(B,高,寬,高,寬,C )

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python數(shù)據(jù)的標準輸出與格式化輸出

    Python數(shù)據(jù)的標準輸出與格式化輸出

    這篇文章主要給大家介紹了關于Python數(shù)據(jù)的標準輸出與格式化輸出的相關資料,和大多數(shù)語言一樣,Python也是用print()函數(shù)來進行輸出,需要的朋友可以參考下
    2023-08-08
  • Linux添加Python?path方法及修改環(huán)境變量的三種方法

    Linux添加Python?path方法及修改環(huán)境變量的三種方法

    這篇文章主要介紹了Linux添加Python?path方法及修改環(huán)境變量的三種方法,Linux 下設置環(huán)境變量有三種方法,一種用于當前終端,一種用于當前用戶,一種用于所有用戶,本文對每種方法給大家介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 詳解Pytorch自動求導機制

    詳解Pytorch自動求導機制

    自動求導是一種計算梯度的技術,它允許我們在定義模型時不需要手動推導梯度計算公式,PyTorch 提供了自動求導的功能,使得梯度的計算變得非常簡單和高效,這篇文章主要介紹了Pytorch自動求導機制詳解,需要的朋友可以參考下
    2023-07-07
  • Python cookbook(數(shù)據(jù)結構與算法)將名稱映射到序列元素中的方法

    Python cookbook(數(shù)據(jù)結構與算法)將名稱映射到序列元素中的方法

    這篇文章主要介紹了Python cookbook(數(shù)據(jù)結構與算法)將名稱映射到序列元素中的方法,結合實例形式分析了Python使用collections.namedtuple()進行元組命名相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python中常用的內置函數(shù)

    Python中常用的內置函數(shù)

    這篇文章主要介紹了Python中常用的內置函數(shù),主要介紹內容有map()、filter()、all()、int()等更多相關函數(shù),需要的小伙伴可以參考一下
    2022-04-04
  • Python中使用jpype調用Jar包中的實現(xiàn)方法

    Python中使用jpype調用Jar包中的實現(xiàn)方法

    這篇文章主要介紹了Python中使用jpype調用Jar包中的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python登錄并爬取淘寶信息代碼示例

    python登錄并爬取淘寶信息代碼示例

    這篇文章主要介紹了python 登錄并爬取淘寶信息代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • python如何將.tif格式圖批量轉化為.jpg格式圖

    python如何將.tif格式圖批量轉化為.jpg格式圖

    這篇文章主要介紹了python如何將.tif格式圖批量轉化為.jpg格式圖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python如何實現(xiàn)Paramiko的二次封裝

    Python如何實現(xiàn)Paramiko的二次封裝

    這篇文章主要介紹了Python如何實現(xiàn)Paramiko的二次封裝,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python中@property的理解和使用示例

    Python中@property的理解和使用示例

    這篇文章主要介紹了Python中@property的理解和使用,結合實例形式分析了Python中@property的功能、使用方法及相關操作注意事項,需要的朋友可以參考下
    2019-06-06

最新評論

西青区| 开江县| 易门县| 宿迁市| 高安市| 上栗县| 武清区| 榆林市| 奎屯市| 贵州省| 东港市| 田林县| 武川县| 朔州市| 崇仁县| 探索| 瓮安县| 马山县| 靖西县| 马关县| 东安县| 寿光市| 惠州市| 东丽区| 柳州市| 上思县| 东乡| 抚顺县| 谢通门县| 英德市| 大同县| 丹巴县| 怀仁县| 贵州省| 新邵县| 北安市| 松潘县| 兴城市| 兴山县| 镇沅| 桐乡市|