雜訊消除術

一幅影像中難免會有雜訊, 尤其是當影像經過高強度的處理後, 雜訊也會跟著放大. 但有雜訊未必是壞事, 事實上, 最高強度的處理應處理到雜訊恰好出現為止, 因為這表示影像中所有有用的資訊都被提取出來了, 再繼續下去只是放大雜訊而已. 若已處理到這一步, 我們可以做適度的雜訊消除, 讓畫面看起來更平順悅目. 以下介紹如何在PhotoShop中做簡單的雜訊消除, 進階的雜訊消除要靠其它軟體, 這留待日後再向大家介紹.

上方的影像是一幅經高強度處理的影像的局部放大, 其中可以看出有明顯的底片顆粒, 也就是雜訊. 這些底片顆粒的大小約在三到四個pixel不等, 有的地方是以暗斑呈現, 有的則是亮點. 而當然, 最亮的點都是星點, 並非雜訊, 很多明暗結構也都是雲氣中的真實結構, 並非雜訊. 如何將雜訊抹平但不影響到星點與雲氣中的構造是此處最重要的課題. 我們第一件注意到的事是, 雜訊除了具有明暗的不規則, 亦具有色彩的不規則, 而天體的色彩則在小空間範圍內難以見到劇烈的變化, 就算有, 人眼也對這樣的色彩變化不敏感, 而是對明暗變化較敏感. 透過這個色彩特性, 我們可以將雜訊與來自天體的真實訊號做初步分離. 分離的方式是將影像模式從標準的RGB模式轉換到PhotoShop Lab模式. 如果各位對Lab色彩特性不熟, 可以參考我所寫的 "簡介PhotoShop Lab色彩" 一文.

Channels視窗
L (lightness)
a
b

透過Image--Mode--Lab color可以將影像的色彩模式轉換到Lab空間, 利用Window--show channels可呼叫出channels視窗, 如上圖最左側所示. 在channels視窗中點選L (Lightness) 或a或b任一格可顯示這三個色頻的長相, 如上圖, L色頻只記錄影像中的明暗資訊, 而不載有色彩資訊, 可以把它當灰階影像來看. ab兩色頻只記錄影像中的色彩資訊, 而與明暗無關. 概略地說, a記載的是影像中紫紅與生青這兩個補色的資訊, b記載的則是影像中黃與藍這兩個補色的資訊. 如前一段所說, 現在我們只就色彩下手, 設法做初步的雜訊消除. 如下圖左, 透過滑鼠左鍵以及shift鍵, 我們從channels視窗中選擇ab兩個與色彩有關的色頻, 此時影像視窗中看到的應如下圖中一般, 畫面中只有色彩資訊而沒有明暗資訊. 如果各位不習慣看到這樣的畫面, 可以點選channels視窗中Lab那一格左側的小眼睛, 如下圖右, 此時影像視窗中看到的畫面會恢復正常, 但仍然只有ab兩色頻被選取.

仔細觀察ab兩色頻的內容, 我們發現主要的大尺度特徵是雲氣的顏色變化, 有些地方藍, 有些地方紅, 不藍不紅的地方當然是背景以及黑暗星雲的部份. 除了雲氣的大尺度顏色變化, 小尺度上仍可見到許多色彩的變化, 有些是繞著星點的, 這些顯然與望遠鏡的色差有關, 有些則是畫面裡到處都有, 這些是雜訊. 而不論是色差還是雜訊, 都是我們想消除的. 試著做以下步驟並觀察其所引起的變化:

1. Filter--Blur--Gaussian Blue, 模糊半徑選1.5, OK
2. Edit--Fade Gaussian Blur, Opacity選70%, Mode維持預設的normal, OK
3. 再一次使用Gaussian Blur, 半徑選4.0
4. 再一次Fade Gaussian Blue, Opacity選50%.

完成後的影像如上, 左側是只看ab的模樣, 右側是完整顯示Lab的模樣. 與未處理的影像比較可以看出, 影像中的色彩雜訊被抹去不少, 星點四週的有色光暈也被濾除了, 但雲氣的顏色變化卻被保留了下來. (註一) 現在讓我稍微解釋一下以上四個步驟. 步驟1與3將色彩模糊化, 其中, 1.抹掉範圍小於1.5像元的色彩變化, 而3.抹掉半徑小於4.0的色彩變化. 步驟2與4則淡化了1與3的模糊化, 對影像做出若干的復原, 這是為了避免太強的模糊效應, 仍保留少量的雜訊 (或者可能是真實的訊號) 在影像中, 一幅過度平順而沒有雜訊的影像其實看起來是不舒服的. 其中, 步驟2的還原量較小, 步驟4還原較多, 這等於是在承認, 小範圍 (半徑1.5) 的色彩變化比較可能是雜訊, 所以我不想做太多的還原, 而大範圍的色彩變化較不像是雜訊, 所以我不想做太多的抹平. 也因為我對不同尺度的色彩變化有著不同的價值判斷 (所以做出不同程度的還原保留), 1與3這兩個尺度不同的模糊化才需要分開做, 如果完全不做2與4的還原, 那只需做步驟3就好, 1就變得不必要了.

顯然地, 對ab兩色頻做模糊化讓影像品質增進不少, 在精神上這與數位影像的LRGB合成是一致的. 不論如何, 影像中還是有雜訊, 小的暗斑與亮斑依舊存在, 這就不能靠只對ab下手來改善了, 我們無可避免得要對L下手. L的雜訊消除最難是在於L中除了雜訊外亦含有星點與雲氣, 任意對其做模糊化處理只會讓影像糊掉而已. 如何不讓影像糊掉但又濾除部份雜訊是很棘手的事, 至少在Photoshop中並不易完美做到. PhotoShop中有個勉強可用的工具叫Smart Blur, 它會偵測影像中高振幅的結構, 譬如星點, 保護這些結構不被模糊化. 在選取L色頻後, 試做以下步驟並觀察影像的變化:

5. Filter--Blur--Smart Blur, Radius選2.0, Threshold選40, quality與mode維持預設值.
6. Edit--Fade Smart Blur, Opacity選35%.

其中, Smart Blur的半徑值意義與Gaussian Blur的模糊半徑意義是一樣的, 我們應選一個與最小星點直徑差不多的數字 (一兩倍以內), 因為我們知道最小星點直徑代表的是這張影像的解析力, 比最小星點小的結構是不該存在的, 當然應是雜訊, 而比最小星點大的結構則不太可能是底片粒子或其它雜訊, 應該是真實結構, 不然最小星點就不會那麼小了. 是故, 我們不希望用比最小星點直徑大太多的模糊半徑, 這會損及影像中的真實結構. 在本例中, 我試用1與3之間的數字, 最後選擇2.0. Threshold決定了多弱的訊號會被抹平, 這值太小的話, 抹平雜訊的效果會太弱, 太大則可能會抹到星點等真實結構. 利用預覽功能, 我決定對此例來說, 40的Threshold是最適合的. 而不論Threshold如何選定, Smart Blur的效應都太強, 最後我用Fade功能將影像還原為原來的65%, 經Smart Blur處理的影像只佔最終合成的35%, 約三分之一而已. 處理後的影像如下. 可以看出, 高振幅的星點都被順利保留了, 但小振幅的雜訊卻被抹平了些. 值得注意的是, 雖然我用Fade將Smart Blur的效應沖淡成約1/3而已, 其消除雜訊的效果還是滿強的, 使用Smart Blur必需小心不要過度處理了.

完成以上處理後可以將影像還原回RGB模式, 其結果也或可做進一步的微弱處理, 譬如利用Image--Adjust--Hue/Saturation來稍稍提高影像的色彩飽和度, 以補償在ab兩色頻的去雜訊之後產生的微弱飽和度喪失. 也可以用Unsharp Mask來對雲氣中的細節做出微弱的強化, 這可以在L色頻做, 亦可在RGB模式下做. 如果要在此時做Unsharp Mask要注意幾點, 首先, 此時Unsharp Mask的半徑值一定要大於步驟5中的半徑, 用Unsharp Mask來強化原先我們認為是雜訊的結構是沒意義的. 其次, 宜善用Unsharp Mask中的Threshold, 在1至5之間尋找最適值, 以保護當初我們遺留下的微妙雜訊不再被強化了. 最後讓我提醒大家, 這樣的雜訊消去術因為牽涉到移除影像中的特定結構, 它最好是在影像處理的最後段再進行, 一些基本的階調調整, 或Unsharp Mask強化, 都應在去雜訊之前進行. 一但做了去雜訊這動作, 剩下的都應該只是微調了.

此處提供的只是最基本的例子而已. PhotoShop因為缺少系統化的雜訊消除工具, 使用者只好自己變魔術, 而這也意味著我們其實有很大的自由度來變出各種花樣. 我不打算就此多所著墨, 因為其實還有不少比PhotoShop更強的軟體可以做更好的雜訊消除, 讓大家瞭解PhotoShop所能做到的基本動作也就夠了. 在各類能去雜訊的軟體中, 最值得推薦的 (可能也是最難用的) 是套稱作PixInsight的軟體, 它是專為天文攝影設計的, 它的限制版PixInsight LE可以免費下載, 其中的SGBNR是很強大的雜訊消除功能, SCNR則可用來消除底片影像所特有的綠色雜訊, 最高頻的小尺度雜訊則可用Wavelet來消除, 有興趣的讀者不妨下載這套軟體來玩玩.

 

註一: 問題是, 畫面中有少數顏色特紅的星點在處理後也失去了顏色, 這要如何避免? 這問題留給各位當作業吧, 方法就在本文中喔.