七牛云做網(wǎng)站今日國內(nèi)新聞大事
- 這篇是董超老師通訊作者的一篇盲圖像修復(fù)的論文,目前好像沒看到發(fā)表在哪個會議期刊,應(yīng)該是還在投,這個是arxiv版本,代碼倒是開源了。本文所指的BIR并不是一個single模型對任何未知圖像degradation都能處理,而是用同一個framework解決BSR,BID和BFR等blind image restoration任務(wù),每個任務(wù)對應(yīng)一個模型參數(shù)。
- 文章提出,BIR可以分解為兩個階段:去除 image-dependent degradation (由一個restoration module來完成)和 生成丟失的圖像內(nèi)容(由IRControlNet來完成,用現(xiàn)有的train好的text-to-image latent diffusion model)。現(xiàn)有利用diffusion模型來進行IR的方法,基本都是把LQ作為diffusion的condition,和xt一起送進denoising network。但是本文提出,使用有noise和artifact的圖片作為condition會影響生成,導(dǎo)致生成結(jié)果有artifact。因此,本文先用一個restoration模型來去除degradation,再把去除了degradation的圖片作為condition送進diffusion模型。
- 文章提出一個training-free region-adaptive restoration guidance,有點類似classifer-based的方法控制diffusion生成圖片類別的做法那樣,在diffusion的中間加梯度來影響diffusion的方向,對圖像中低頻的部分要求和guidance image(即一階段restore的結(jié)果)更接近(MSE Loss),而高頻區(qū)域則受MSELoss影響小以圖取更好的細節(jié)生成能力。
- 一二階段的訓(xùn)練是分開的。一階段用的是現(xiàn)有的BID BSR BFR網(wǎng)絡(luò),用MSELoss來train。而且選的是這三個可以從HQ合成LQ的任務(wù),用了大范圍的參數(shù)來合成各種各樣的LQ圖片來訓(xùn)練。二階段如圖所示,首先把restored image用一個pretrained fixed VAE encoder提取特征cRM,然后和zt送進stable diffusion模型做reverse預(yù)測zt-1。黃色的部分則是剛剛提的guidance。
- reverse用的是pretrained fixed stable diffusion model,加一個自己的controlnet,train的是control的部分,如下圖所示:
- guidance是這樣做的,其實沒什么知識點,知道classifier-based 的diffusion model是怎么控制生成圖片的類別的就知道了。首先,原來的diffusion是從 z t z_t zt?預(yù)測噪聲epsilon減去得出 z 0 z_0 z0?,然后從 z t z_t zt?和 z 0 z_0 z0?推 z t ? 1 z_{t-1} zt?1?,這就是一個reverse的step。那么guidance就是,在 z 0 z_0 z0?的基礎(chǔ)上,計算一個損失,然后計算損失對于對于 z 0 z_0 z0?的梯度,乘以一個scale,加上去,相當(dāng)于對 z 0 z_0 z0?做了一步梯度回傳加更新,得到 z ^ 0 \hat z_0 z^0?。然后以更新后的 z ^ 0 \hat z_0 z^0?和 z t z_t zt?來推 z t ? 1 z_{t-1} zt?1?,作為一個reverse的step。關(guān)鍵就是這個損失怎么算,一般guidance就是計算 z 0 z_0 z0?和guidance的相似度,本文也一樣,guidance image就是一階段restored 的image,但是我們希望只有平滑區(qū)域?qū)Wrestored image,有紋理區(qū)域不要學(xué),讓diffusion生成,所以就在算loss的時候乘了個平滑度圖。
- 如上所示, D ( z 0 ) D(z_0) D(z0?)就是stable diffusion的decoder,stable diffusion不是直接對圖片進行reverse step,而是對特征進行diffusion,所以需要先用decoder把特征轉(zhuǎn)成圖像域,再和restored image算差,差還是CHW的,還沒取平均,這時候先element-wise地乘以一個權(quán)重圖 W W W,這個 W W W表示的是區(qū)域的平滑度,越高則越接近1,否則越接近0。從而這個損失對有紋理細節(jié)的區(qū)域影響相對小,而對平滑區(qū)域影響相對大,所以實現(xiàn)了前面的目的。 W W W怎么來的,很簡單,先用sobel算子對restored image算梯度的模,然后切不相交的patch,算patch內(nèi)部的平均,然后用1來減。
- 評價:guidance的loss的算法其實在很多無監(jiān)督半監(jiān)督的restoration方法中有用到,很常見。guidance也是標(biāo)準(zhǔn)的diffusion模型的guidance算法。加condition的方式也是現(xiàn)有的controlnet的方式。相比現(xiàn)有diffusion做restoration的方法,其實就是多了一步restoration,相當(dāng)于拼起來一個restoration模型加一個diffusion模型,感覺有點臃腫。核心動機是兩個,一個是改善diffusion的條件,不要拿LQ作為條件;第二個是先restore再接diffusion,并且把restore的結(jié)果作為guidance來使得整個方法把restore和generation解耦出來,diffusion專門做generation,要說diffusion的作用應(yīng)該是對前面restore方法的結(jié)果的錦上添花,起添加一些細節(jié)上去的作用。因此從實驗結(jié)果可以看到,經(jīng)過兩階段后,確實是很多細節(jié)精細了很多。