[論文閱讀] 顏色遷移-Linear Monge-Kantorovitch(MKL)

yfor 發表於 2022-12-04

[論文閱讀] 顏色遷移-Linear Monge-Kantorovitch(MKL)

文章: The Linear Monge-Kantorovitch Linear Colour Mapping for Example-Based Colour Transfer, [paper], [matlab程式碼]

1-演算法原理

本文將顏色遷移變成資料分佈的轉換問題, 因而本文需要解決2個方面的問題, 如何描述影像顏色分佈, 二是如何對資料分佈進行變換.

對於資料分佈, 本文使用均值和協方差來對資料分佈進行描述, 對於分佈變換, 本文使用線性變換進行處理.

資料的均值和協方差比較簡單, 因而本文的重點在於尋找變換方法. 本文使用的線性變換如下所示:

\[\left\{\begin{array}{l} t(u)=T\left(u-\mu_u\right)+\mu_v \\ T \Sigma_u T^T=\Sigma_v \tag{5} \end{array}\right. \]

式中, \(u\) 為原始影像, \(v\) 為目標影像, \(\mu\) 為均值, \(\Sigma\) 為協方差, \(T\) 為需要求解的線性變換.

\(\Sigma_u = AA^T\) , \(\Sigma_v = BB^T\), 則

\[T(AA^T)T^T = BB^T \\ (TA)(TA)^T = BB^T \\ TA = B \\ T = BA^{-1} \]

只要知道了A和B即可知道線性變換T.

2-演算法核心

本文的核心就是尋找A和B. 文中主要使用的方法是矩陣分解, 介紹了幾種方法.

2.1-Independent Transfer(IT)

首先介紹的是每個通道單獨進行轉換時, 協方差變成了對角矩陣, 對角元素為每個通道的方差的平方根, 這樣變換公式為:

\[T=\left(\begin{array}{ccc} \sqrt{\frac{\operatorname{var}\left(v_1\right)}{\operatorname{var}\left(u_1\right)}} & & 0 \\ 0 & \ddots & \\ \tag{11} & & \sqrt{\frac{\operatorname{var}\left(v_N\right)}{\operatorname{var}\left(u_N\right)}} \end{array}\right) \]

這種變換方式可以使用如下公式等價, 即為 Color transfer between images 中描述的方法

\[C^i = \frac{\sigma_t^{i}}{\sigma_s^{i}}(C_s^{i} - \mu_s^{i}) + \mu_t^{i} \]

式中, i為通道, s表示源影像, t表示目標影像. 這種方法需要假設影像各顏色通道分佈是獨立可分離的, 但實際情況可能不滿足這種情況, 因而實際效果可能不好. 需要先將影像轉換到不相關的顏色空間, 一般在Lab顏色空間效果較好.

rgb和lab空間結果比較

上圖中, 依次為原始影像, 參考影像, rgb空間結果, lab空間結果.

2.2-Cholesky Decomposition(CD)

關於 Cholesky Decomposition 可以參考:

  1. 三十分鐘理解:矩陣Cholesky分解,及其在求解線性方程組、矩陣逆的應用_大餅博士X的部落格-CSDN部落格_cholesky分解法求解線性方程組
  2. Cholesky分解 - 知乎 (zhihu.com)

Cholesky Decomposition 可以將矩陣分解為 \(A=LL^T\) 形式, 這樣變換公式為:

\[T = L_vL_u^{-1} \tag{12} \]

文中說這種方法對於通道的順序有一定的要求, 不同的顏色通道順序結果不一樣, 如RGB與BGR的結果很有可能不一樣.

rgb和bgr結果比較

上圖中, 依次為原始影像, 參考影像, rgb結果, bgr空間結果.

2.3-Square Root Decomposition(SRD)

這種方法是對 Cholesky Decomposition 方法的一種改進, 分解公式為:

\[\Sigma_u = P_u^T D_u P_u, \Sigma_u^{1/2} = P_u^T D_u^{1/2} P_u \\ \Sigma_v = P_v^T D_v P_v, \Sigma_v^{1/2} = P_v^T D_v^{1/2} P_v \]

這樣變換公式為:

\[T = \Sigma_v^{1/2}\Sigma_u^{-1/2} \tag{15} \]

Square Root Decomposition 分解後, D為特徵值的對角矩陣, 特徵值從大到小排列, 可以實現主方向對齊, 類似PCA處理, 可以減少對顏色通道順序的依賴, 這樣在不同的顏色空間下結果類似.

這種矩陣分解的方法可能的問題是, 區域性出現顏色變化不一致的問題, 應該是與 [論文閱讀] 顏色遷移-Correlated Color Space 中描述的問題一樣.

SRD結果

上圖中, 依次為原始影像, 參考影像, SRD結果.

2.4-Linear Monge-Kantorovitch(MKL)

將分佈變換的問題轉換為最優傳輸的問題, 關於 Monge-Kantorovitch 可以參考: 最優傳輸--Monge-Kantorovich理論_asforking的部落格-CSDN部落格

這樣變換公式為:

\[T = \Sigma_u^{-1/2}(\Sigma_u^{1/2}\Sigma_v\Sigma_u^{1/2})\Sigma_u^{-1/2} \tag{25} \]

這個演算法在 Square Root Decomposition 基礎上進一步進行了改進, 對變換進一步約束了位移, 這樣可以最小化顏色的變化.

regrain結果
上圖中, 依次為原始影像, 參考影像, regrain結果.

3-參考

  1. The Linear Monge-Kantorovitch Linear Colour Mapping for Example-Based Colour Transfer 論文理解_玉兔金兔的部落格-CSDN部落格

相關文章