欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch圖片分割原理分析

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

pytorch圖片分割原理

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

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

實(shí)驗(yàn)

原圖:

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

完全沒法看好吧!

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

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

可以看到分割的很完美!

接下來(lái)解釋一下原因

1:通道數(shù)必須放到最后一個(gè)維度:首先,我們知道再?gòu)埩繑?shù)據(jù)是連續(xù)的情況下,其數(shù)據(jù)是按行展開排序的,也就是按照張量最后一個(gè)維度展開排序,所以,對(duì)于一個(gè)三通道的RGB圖像(3,H, W)它本來(lái)是按照寬度展開的,但這樣在分割的時(shí)候就存在問(wèn)題了,因?yàn)?,分割一張圖片,應(yīng)該是三個(gè)通道一起分割,故,我們第一步應(yīng)該把通道數(shù)調(diào)到最后一個(gè)維度(這里因?yàn)槭怯胏v2打開的圖片,通道數(shù)已經(jīng)在最后一維 ,所以不用再單獨(dú)轉(zhuǎn)換,但如果需要轉(zhuǎn)換的話,注意,不可以用reshape或者view,只能用permute/或者transpose)

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

張量的維度,實(shí)際上表述數(shù)據(jù)的方向和排列順序,越靠后的維度越先排列,所以,對(duì)于(B, H W, C),如果只是進(jìn)行reshape或者view的話,他始終是會(huì)先把寬W排完之后再排高,所以,為了要把圖片分成一份一份的,那么就必須讓寬和高交替出現(xiàn),也就是要改變數(shù)據(jù)的排列順序,這正是permute和transpose的作用,它們相當(dāng)于在保持現(xiàn)有數(shù)據(jù)在內(nèi)存中順序的基礎(chǔ)上,改變數(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轉(zhuǎn)換以后則為(B,高,寬,高,寬,C )

總結(jié)

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

相關(guān)文章

  • 詳解OpenCV中簡(jiǎn)單的鼠標(biāo)事件處理

    詳解OpenCV中簡(jiǎn)單的鼠標(biāo)事件處理

    談及鼠標(biāo)事件,就是在觸發(fā)鼠標(biāo)按鈕后程序所做出相應(yīng)的反應(yīng),但是不影響程序的整個(gè)線程。本文將主要介紹OpenCV中的簡(jiǎn)單鼠標(biāo)事件處理,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法

    python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法,實(shí)例分析了Python同構(gòu)socket實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python調(diào)用兩個(gè)機(jī)器人聊天的實(shí)戰(zhàn)

    Python調(diào)用兩個(gè)機(jī)器人聊天的實(shí)戰(zhàn)

    本文主要介紹了Python調(diào)用兩個(gè)機(jī)器人聊天,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例

    Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例

    今天小編就為大家分享一篇關(guān)于Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • Python3實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載

    Python3實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載

    這篇文章主要介紹了Python3通過(guò)request.urlopen實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Django與FastAPI的選擇區(qū)別深入剖析

    Django與FastAPI的選擇區(qū)別深入剖析

    這篇文章主要為大家介紹了Django與FastAPI的選擇區(qū)別深入剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python:Scrapy框架中Item Pipeline組件使用詳解

    Python:Scrapy框架中Item Pipeline組件使用詳解

    這篇文章主要介紹了Python:Scrapy框架中Item Pipeline組件使用詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • Python判斷一個(gè)數(shù)是否為質(zhì)數(shù)的3種方法(超詳細(xì))

    Python判斷一個(gè)數(shù)是否為質(zhì)數(shù)的3種方法(超詳細(xì))

    一個(gè)大于1的自然數(shù),除了1和它本身外,不能被其他自然數(shù)(質(zhì)數(shù))整除(2, 3, 5, 7等),換句話說(shuō)就是該數(shù)除了1和它本身以外不再有其他的因數(shù),下面這篇文章主要給大家介紹了關(guān)于利用Python判斷一個(gè)數(shù)是否為質(zhì)數(shù)的3種方法,需要的朋友可以參考下
    2024-09-09
  • ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8

    ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8

    這篇文章主要給大家介紹了關(guān)于ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8的相關(guān)資料,Python是一種廣泛使用的編程語(yǔ)言,而Ubuntu是一個(gè)流行的開源操作系統(tǒng),通過(guò)升級(jí)Python您可以獲得新功能、性能改進(jìn)和安全修復(fù),需要的朋友可以參考下
    2023-11-11
  • python flask幾分鐘實(shí)現(xiàn)web服務(wù)的例子

    python flask幾分鐘實(shí)現(xiàn)web服務(wù)的例子

    今天小編就為大家分享一篇python flask幾分鐘實(shí)現(xiàn)web服務(wù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07

最新評(píng)論