昨天的攝影留下的待辦是取得 Hao 等人論文的 Table II 與 Table III,今天拿到了,結果推翻昨天兩句話。PDF 的表格是點陣圖,文字抽取只有標題,我把第 9、10 頁渲染成圖片逐格讀,再把 Table III 的 24 列乘 11 欄全部轉成數字,用論文自己的定義 10·log10(平均 MSE) 重算每一欄的平均,十一欄全部與原表差不到 0.01 dB,所以轉錄可信。第一,昨天寫「論文沒有測補色圖樣」不對:圖 7 與圖 8 的 2×2 與 4×4 新圖樣,十六格裡有十四格是青、黃、洋紅的半透明混色,只是每格透光量總和仍然被釘在 1。第二,「CFA4b 平均最高」成立,但領先 HWpA 的幅度是 0.034 dB,逐張配對 13 勝 11 負,拿掉第 4 或第 15 張影像排名就會翻;論文說 Condat 低於新圖樣,對 CFA4a 簡單平均版只差 0.02 dB,而且逐張是 Condat 贏 13 張、輸 10 張。第三,Table II 的範數 P3 指標在六類圖樣上與無雜訊畫質呈正相關,不是負相關,所以 Table III 完全沒有檢驗 P3;而 Condat 論文的有雜訊表顯示,三種設計裡範數最小的 Bayer 在 σ=10 與 σ=20 都是最差的。

📖 學

一、Table II 的原樣,以及我能重現的部分

Table II 列五個量:亮度與色度載波的最小距離、色度之間的最小距離、重複色度的個數(同一個色度在頻譜中出現幾次)、解多工矩陣 的 2 範數與 Frobenius 範數。照原表抄錄,最後加一列我算的 。

BayerSony斜條紋HWpACondatCFA4a/4b
亮度–色度最小距離0.5π0.5π0.471π0.559π0.601π0.559π
色度–色度最小距離0.5π0.5π0.471π0.25π0.333π0.25π
重複色度個數211214
2.82821.7324.89935.657
3.7423.30336.7084.5836.782
(我算)14.010.99.045.021.046.0

論文第 5 節 B 小節給了 CFA4a 與 CFA4b 的多工矩陣(式 23):,,各列依序是亮度、兩個色度,各欄依序是三個原色。取反矩陣 ,兩者的 都是 5.657、 都是 6.782,與 Table II 逐位吻合。Bayer 的 論文沒有印出來,我用 (亮度加兩組色度)算出 2.828 與 3.742,同樣吻合,所以我推論 Table II 的 Bayer 用的就是這個矩陣;這是由數字吻合得到的推論,不是論文明寫。

反矩陣有一個直接可讀的結構:三個圖樣的亮度那一欄能量完全一樣,都是 3.000(Bayer、CFA4a、CFA4b 的 第一欄是 (1,1,1))。所以 的差全部來自色度欄:Bayer 是 8 加 3 等於 11,CFA4 是 32 加 11 等於 43,總和 14 對 46。這正是昨天「P3 範數最小不等於雜訊放大最小」的具體內容:光量預算固定為 1 時,亮度雜訊放大在三種圖樣上完全相同,差異只在色度,而色度在實際流程裡會被低通。

順帶一個細節:論文第 5 節 A 小節的 2×2 設計範例,式 (21) 的 (第三列第一個符號因換行在抽取文字裡讀不清,但符號不影響範數)算出 ,即 ,比 Bayer 的 14 大得多,亮度欄能量也是 12。這個範例的最佳化是在「色度頻率位置 (0, 0.5) 設為零」這個先選好的頻率結構之內做的;Bayer 的結構不同(同一個色度重複兩次),所以「最佳」只對該結構成立。這個 2×2 圖樣沒有進入 Table III 的實驗。

二、圖 7 與圖 8:「補色」其實就在裡面

昨天我寫「約束加總為 1 排除了每格總透光量為 2 的補色 Bayer,論文也沒有測補色」。圖 7 與圖 8 的格子顏色推翻了後半句。先驗證 2×2:式 (17) 至 (19) 的約束是三個原色圖樣加總為全 1 矩陣,式 (18) 的三個等式與式 (19) 的非負不等式,取式 (20) 的最佳解頂點 (0,−1)、(−1,0)、(1/2,1/2),解 、、 得 。代回式 (17),三個原色圖樣為 是 [[1,0],[.5,.5]]、 是 [[0,.5],[.5,0]]、 是 [[0,.5],[0,.5]],逐格相加四格都是 1,圖樣即式 (22):[[$C_3$, ($C_1{+}C_2$)/2],[($C_1{+}C_3$)/2, ($C_2{+}C_3$)/2]]。圖 7(a) 令 ,印出來是 B、Y / M、C,與式 (22) 一格對一格相符:黃是 (R+G)/2、洋紅是 (R+B)/2、青是 (G+B)/2。

再驗證 4×4。圖 8(a) 的 CFA4a 十六格逐格數:R 一格、G 一格、青四格、黃六格、洋紅四格。若這些字母像圖 7 一樣代表混色,各原色的平均透光率是:R 為 (1 + 6×0.5 + 4×0.5)/16 = 6/16,G 為 (1 + 4×0.5 + 6×0.5)/16 = 6/16,B 為 (4×0.5 + 4×0.5)/16 = 4/16,即 3/8、3/8、2/8,與 的亮度列 (3, 3, 2)/8 完全相同,因為亮度列正是各原色圖樣的直流分量。CFA4b(B 一格、G 一格、黃四格、青六格、洋紅四格)同樣算出 2/8、3/8、3/8,對上 的亮度列。兩個吻合足以讓我確認圖中的青黃洋紅是半透明混色,不是三原色之外的另一組濾片。

所以準確的說法是:Hao 的新圖樣在色相上幾乎全是補色圖樣,但每格總透光量被正規化為 1。一格「青」是 (0, 1/2, 1/2),只有真正青色濾片(綠加藍各接近 1,總量約 2)的一半光。論文給的理由是「讓每個像素的動態範圍相同」(第 3 頁與第 5 頁原文:to ensure the same dynamic range of the sensed image at each pixel),不是光量預算,也沒有一句談雜訊。圖 1 的說明只寫 (m) 與 (n),即 Hirakawa 與 Wolfe 的圖樣和 Condat 的圖樣,是「原色的非平凡混合」。我在 14 頁文字抽取中搜尋 normal、scal、transmi、noise,沒有任何一句交代怎麼把總透光量 1.5 的這兩種濾片放進加總為 1 的框架;公式在抽取中全部遺失,所以這個否定結論只針對正文文字,昨天的待辦第一項因此仍是「未確認」,但答案縮小為「得看技術報告」。

三、Table III 重算:平均值、勝負與排名的穩固程度

Hao 的平均是 10·log10(24 張平均 MSE);Condat 論文的 Mean 列則是 24 個 dB 值的算術平均(我用他的 Table I 重算:五欄依序 39.637、39.582、39.018、40.360、40.106,與原表四捨五入一致)。兩種平均差很多:同一張 Table III,Bayer 自適應版是 38.66(MSE 平均)對 39.47(算術平均)。昨天我寫「兩篇數字不能互比」,原因之一就是這個,今天可以明說:Hao 的 Bayer 38.66 與 Condat 的 Bayer 39.64 是不同平均、不同演算法、不同裁邊(Condat 忽略邊緣 10 像素寬;Hao 的正文文字我搜尋 border、crop 沒找到裁邊說明)的數字。

欄位MSE 平均(原表)算術平均(我算)
Bayer naive / Adapt37.35 / 38.6638.26 / 39.47
Sony、斜條紋36.99、36.9937.78、37.86
HWpA naive / Adapt39.35 / 39.3840.08 / 40.12
Condat38.9339.80
CFA4a naive / Adapt38.95 / 39.2339.72 / 40.01
CFA4b naive / Adapt39.25 / 39.4240.04 / 40.21

兩種平均下排名大致一致,但 Condat 與 CFA4a naive 對調:MSE 平均 38.926 對 38.947(新圖樣贏 0.02 dB),算術平均 39.80 對 39.72(Condat 贏 0.08 dB)。逐張配對(數字為「前者減後者」的逐張 dB 差,t 值為配對差的平均除以標準誤;24 張不是隨機樣本,t 值只當粗略指標):

比較勝 / 負平均差 dB標準誤t
CFA4b Adapt 對 Bayer Adapt19 / 5+0.740.164.52
HWpA Adapt 對 Bayer Adapt19 / 5+0.640.183.59
CFA4b naive 對 Bayer Adapt17 / 7+0.570.173.34
Condat 對 Bayer Adapt20 / 4+0.330.132.53
CFA4a naive 對 Bayer Adapt15 / 9+0.250.131.98
CFA4b Adapt 對 HWpA Adapt13 / 11+0.090.110.89
CFA4a naive 對 Condat10 / 13(另 1 張平手)−0.080.09−0.87

論文說 CFA4a 與 CFA4b 的簡單平均版「在平均與多數影像上勝過 Bayer-Adapt」:CFA4b naive 17 勝 7 負成立,CFA4a naive 15 勝 9 負成立但證據薄(t 約 2)。「CFA4b 最高」:與 HWpA Adapt 的差是 0.034 dB(MSE 平均)或 0.09 dB(逐張平均),在標準誤 0.11 之內;留一法檢查,拿掉第 4 或第 15 張影像,CFA4b 與 HWpA 的順序就翻轉。Condat 對 CFA4a naive 拿掉第 5、13 或 17 張,順序也翻轉。24 張裡最高分的欄位分布是 HWpA Adapt 8 張、CFA4b Adapt 6 張、Condat 6 張、CFA4a Adapt 3 張、CFA4b naive 1 張,沒有任何設計通吃。MSE 平均還有另一個性質:Bayer Adapt 的總 MSE 有 10.5% 來自第 24 張、9.8% 來自第 13 張、9.4% 來自第 8 張,前三張占 29.7%,低分影像主導了這個平均。

四、P3 範數與畫質:兩張表都沒有支持它

P3 說解多工矩陣範數越小越好,動機是減少誤差放大。把 Table II 的範數與 Table III 的畫質並排:六種圖樣取最佳演算法版本的 MSE 平均 CPSNR,Bayer 38.66、Sony 36.99、斜條紋 36.99、HWpA 39.38、Condat 38.93、CFA4b 39.42。把 與它做 Spearman 等級相關(Sony 與斜條紋視為平手),結果是 +0.99,正相關:範數越大畫質越好,斜條紋與 Sony 範數最小(9.0、10.9)畫質最差,新圖樣範數最大(46.0)畫質最高。這不代表大範數有益,論文自己也警告範數會隨圖樣週期與色度個數增加,不可直接比;它只代表在無雜訊的 CPSNR 下,範數量到的是「色度數量」而不是畫質。等級相關在樣本數只有 6 的情況下只能當描述,不能當證明。

同樣的檢查套到 P1 的另一半,色度之間的最小距離(越大越好):等級相關是 −0.85,贏家 CFA4 與 HWpA 都是 0.25π、最小,輸家 Bayer 與 Sony 是 0.5π。亮度–色度距離的相關是 +0.76,重複色度個數是 +0.78。換句話說,Table III 能支持的只有 P2(重複色度,配合自適應加權)與 P1 的「離開亮度」那一半;論文自己的解釋也是這樣:Bayer 自適應比 naive 多 1.31 dB(38.66 減 37.35),HWpA 只多 0.03 dB(39.38 減 39.35)。

五、Condat 的有雜訊表,對照昨天的預測

昨天用光量預算把雜訊帳寫成:讀出雜訊極限下,色度保留 1/9 頻寬時,各設計相對 Bayer 的雜訊功率比,Hirakawa 是 0.673(低 1.72 dB)、Condat 是 0.594(低 2.26 dB)。今天可以拿真資料對:Condat 論文 Table II 是 24 張 Kodak 影像加高斯雜訊後,聯合去馬賽克與去雜訊(BM3D 去亮度雜訊)的 CPSNR,我用表內逐列數字重算 Mean 列,與原表一致。

加雜訊標準差BayerHirakawaCondatHirakawa 減 BayerCondat 減 BayerCondat 減 Hirakawa
σ=1032.6333.9934.15+1.36+1.52+0.16
σ=2029.6330.7730.98+1.14+1.35+0.21

σ=10 時 Hirakawa 與 Condat 在 24 張上都全勝 Bayer(最小差 0.51、0.79 dB,最大 2.33、2.42 dB),Condat 對 Hirakawa 贏 23 張;σ=20 時 Condat 對 Hirakawa 24 張全贏。方向與順序和昨天的預測一致(Condat 勝 Hirakawa 勝 Bayer),幅度比預測小 0.4 至 0.9 dB(預測 1.72 與 2.26,實測 1.36 與 1.52 於 σ=10;1.14 與 1.35 於 σ=20)。我不能把這個差距歸給模型誤差:實測流程含 BM3D,亮度雜訊被削掉一大塊,而我的模型是不去雜訊的線性放大,兩者本來就不是同一個量。能說的只有:光量預算加色度低通這個定性結構,預測對了方向與順序。反過來,P3 的範數順序(Bayer 14 最小,Condat 21,HWpA 45)與實測相反,只有 Condat 優於 HWpA 這一對是對的。

還有一條曲線:Condat 減 Hirakawa 在無雜訊是 −0.25 dB(Table I,Condat 40.11、Hirakawa 40.36),σ=4 是 +0.02(正文給 37.60 對 37.58),σ=10 是 +0.16,σ=20 是 +0.21。線性內插,翻轉點約在 σ=3.7(粗略估計:σ=0 與 σ=4 兩點取自不同流程,前者沒有去雜訊步驟)。這個 σ 的意義:在 0–255 範圍內雜訊 σ=4 對應單獨雜訊的 PSNR 為 20·log10(255/4)=36.1 dB,σ=10 為 28.1 dB,σ=20 為 22.1 dB;Condat 圖樣無雜訊的均方根去馬賽克誤差,由 Table I 24 張 MSE 平均算出約 2.7 灰階(39.4 dB)。也就是說,雜訊強度與去馬賽克自身誤差同一量級的時候,排名開始翻轉。這是量級對照,不是推導。

六、更正與仍未解決

  1. 昨天「補色 Bayer 在散粒雜訊主導時多 1.76 dB」只在色度完全不低通成立,昨天已改;今天再補一條:Hao 的新圖樣本身就是色相補色、透光量 1 的設計,和昨天算的 L=2 補色 Bayer 不是同一個東西,光量預算帳不可混用。
  2. Lu 與 Vetterli 2009 年的 SPIE 論文(Proc. SPIE 7250,Digital Photography V,725009)我只取得摘要:把 CFA 取樣視為編碼、去馬賽克視為最佳解碼,找資訊損失最小的 CFA;摘要沒有提雜訊。全文沒取得,所以「有沒有把雜訊納入最佳化」仍未確認。
  3. Hao 把 HWpA 與 Condat 放進加總為 1 的框架時有沒有重新縮放,正文沒寫。若它們是以 1.5 縮成 1 後算範數(未確認), 會縮小為 1/1.5, 縮為 1/2.25:HWpA 由 45.0 變 20.0、Condat 由 21.0 變 9.33,Condat 才會低於 Bayer 的 14。這只是條件式的算術。

🧠 記

表格比正文誠實,但排名要連同平均定義與逐張勝負一起記。 Hao 的 CPSNR 是 10·log10(平均 MSE),Condat 是 dB 的算術平均,同一張表差 0.8 dB;CFA4b 領先 HWpA 0.034 dB,逐張 13 勝 11 負,拿掉一張影像就翻轉。

Hao 的新圖樣是補色相、總透光量 1 的設計。 CFA4a 十六格裡只有一格純 R、一格純 G,其餘 14 格是 C、Y、M 的半透明混色,平均透光率驗算為 3/8、3/8、2/8。

P3 的範數在六種圖樣上與無雜訊畫質正相關(+0.99),在 Condat 的有雜訊表裡也與贏家相反(Bayer 範數最小卻最差)。 範數量到的主要是色度數量;亮度那一欄在 Bayer 與 CFA4 都是 3。

有雜訊時 Condat 優於 Hirakawa,無雜訊時相反。 差距由 −0.25 dB(無雜訊)變成 +0.02(σ=4)、+0.16(σ=10)、+0.21(σ=20);翻轉點約 σ=3.7。

✍️ 實踐

用 numpy 重現 Table II,再改一個參數看光量預算怎麼進範數。 這個練習 15 分鐘做完,需要 Python 與 numpy。

  1. 建三個矩陣,算反矩陣與範數:
import numpy as np
T4a = np.array([[3,3,2],[1,-1,0],[1,1,-2]]) / 8
Tby = np.array([[1,2,1],[1,0,-1],[-1,2,-1]]) / 4
for T in (T4a, Tby):
    D = np.linalg.inv(T)
    print(np.linalg.norm(D, 2), np.linalg.norm(D, 'fro'), (D**2).sum(0))

預期:CFA4a 印出 5.657、6.782 與欄能量 3、32、11;Bayer 印出 2.828、3.742 與欄能量 3、8、3。

  1. 把 T 乘上 2(模擬每格總透光量從 1 變 2),再印一次,確認範數除以 2、 除以 4。這就是昨天 的來源。
  2. 驗算圖 8(a):數字母(R 1、G 1、C 4、Y 6、M 4),用混色等於半半的規則算三原色平均透光率,預期 6/16、6/16、4/16。

先預測再算:步驟 2 之後,CFA4a 的 應該是 11.5(46 除以 4);若不是,先檢查 T 有沒有整個乘上去,而不是只乘第一列。

明天的待辦: 取得 Hao 等人的技術報告 RR-08-03(Li、Hao、Lin,《Color filter arrays: A design methodology》,Queen Mary,2008 年 5 月,Condat 論文的參考文獻 17 號列出),核對 HWpA 與 Condat 圖樣進入加總為 1 框架時有沒有重新縮放;並檢查 Condat 的 Matlab 程式(作者首頁提供)能否在 σ=0 到 10 之間跑出翻轉點,與今天內插的 3.7 對照。

🔗 延伸學習


💬 問 AI

我讀了 Hao、Li、Lin、Dubois 2011 年 IEEE TIP 20(3):709–722 的 CFA 設計論文與 Condat 2011 年 IEEE TIP 的 CFA 論文,有以下發現與推論,請嚴格分成三類並逐條標示:「論文或文獻明確寫的」、「你查證到的(附出處)」、「你自己的推論」;查不到就直接說查不到,不要補。
 
我讀到的:(1)Hao 論文的 CFA4a、CFA4b 是 4×4 圖樣,多工矩陣 T_CFA4a = [3 3 2; 1 -1 0; 1 1 -2]/8,T_CFA4b = [2 3 3; 0 -1 1; -2 1 1]/8;反矩陣的 2 範數 5.657、Frobenius 範數 6.782,與 Table II 吻合;(2)Table III 平均 CPSNR 是 10·log10(平均 MSE),CFA4b Adapt 39.42、HWpA Adapt 39.38,逐張配對 13 勝 11 負;(3)Condat 論文 Table II 在 σ=10 時 Bayer 32.63、Hirakawa 33.99、Condat 34.15(算術平均,聯合去馬賽克與 BM3D 去雜訊)。
我的推論:圖 8 的 C、Y、M 格是原色的半半混色(每格透光量總和為 1),理由是平均透光率驗算為 3/8、3/8、2/8,與 T 的亮度列吻合;P3 的範數越小越好,但在六種圖樣上與無雜訊畫質的等級相關為 +0.99。
 
請回答:
1. 圖 8 的字母代表混色(每格總透光量 1),而不是真正的 C、M、Y 濾片(總量約 2),這個讀法對嗎?論文或作者的技術報告 RR-08-03 有沒有明說?
2. Hao 把 Hirakawa 與 Wolfe 的 HWpA 與 Condat 圖樣放進「加總為 1」框架時有沒有重新縮放?若縮放,Table II 的範數(HWpA 6.708、Condat 4.583)是縮放前還是縮放後?
3. 有沒有同行審查文獻直接檢驗解多工矩陣範數與有雜訊畫質的關係?
4. Condat 無雜訊時略輸 Hirakawa、有雜訊時反超,翻轉點約 σ=3.7 的內插估計,合理嗎?它是否與去雜訊流程有關?
每一點請說明你的把握程度。