博客 / 詳情

返回

高光譜成像(一)高光譜圖像

新分類關於高光譜成像,是近期的主要長篇內容。


1. 什麼是高光譜圖像?

1.1 RGB 圖像

在日常生活以及之前的 CV 相關內容裏,我們演示使用的圖像數據都是 RGB 圖像,在之前的圖像處理基礎中我們也介紹過這一點。
image.png
再簡單複述一下要點:大量出現在我們日常生活中的彩色圖像基本都是 RGB 圖像,這類圖像的每個像素可以看作堆疊在一起的三個通道,分別代表圖像在紅、綠、藍三個維度上的亮度,三者組合才形成了我們肉眼中的彩色圖像。

在專業領域裏 RGB 圖像也有直觀的體現,比如在網頁設計或圖像編輯軟件中常見的“取色器”。
image.png
當我們使用取色器點擊某一個像素時,軟件通常會給出一個類似 #FF5733 這樣的顏色代碼。這個看似複雜的字符串,本質上只是 三通道亮度的十六進制表示
具體來説:

  • 前兩位 FF 表示紅色通道的強度。
  • 中間兩位 57 表示綠色通道的強度。
  • 後兩位 33 表示藍色通道的強度。

因此,RGB 圖像的每一個像素都可以看作一個三維向量:

\[(R,G,B) \]

再擴展到整幅圖像:在計算機的視角里,一幅 RGB 圖像其實就是一個三維數組

到這裏,便不難理解在深度學習中對 RGB 圖像的學習邏輯,以最常見的圖像分類為例:模型學習圖像分類,實際上就是在紅、綠、藍三個維度上學習空間結構與顏色分佈的規律,並通過反向傳播迭代參數進行擬合。
於是,一個想法便油然而生:如果我們能使用更多維度來表示圖像,是不是就能豐富圖像的信息,幫助相關應用呢?
這便涉及到 RGB 在光學中的實質:壓縮後的可見光波段

1.2 高光譜圖像(hyperspectral image)

在物理上,我們知道:光本質上是一種電磁波,不同顏色對應不同的波長。比如紅光波長較長,而藍光波長較短等。
我們人眼只能感知可見光的一小段波長範圍(大約 400–700 nm),具體如圖:
image.png

而 RGB 圖像之所以只有 3 個通道,本質上是因為相機把連續的可見光波段壓縮成了 3 個寬波段

  • 一個覆蓋紅光區域。
  • 一個覆蓋綠光區域。
  • 一個覆蓋藍光區域。

簡單展開一下這部分的原理:相機中的傳感器本質上是由硅材料製成的光電器件。它的作用是“把光強轉換為計算機能理解的亮度數值。
傳感器對可見光範圍內的大多數波長都具有響應能力,但光是混合的,如果不做處理,傳感器只能記錄“總光強”,而無法區分顏色。

於是,為了實現顏色成像,我們在傳感器上方人為設計覆蓋了一層濾色陣列:這些濾色片分別只允許特定波長範圍的光通過,例如紅、綠、藍三個波段。紅色濾色片只允許較長波長通過、綠色濾色片允許中間波段通過,藍色濾色片允許較短波長通過。
每個像素在濾色片的作用下,只記錄某一段波長範圍內的光強。經過插值重建後,最終形成 RGB 三通道圖像。
這種三通道設計並非隨機,而是為了貼近我們的人眼效果。
涉及到很多生物物理知識,我們簡單總結:RGB 圖像之所以流行,是因為我們的人眼結構選擇了這 3 個寬波段,而相機為了實現人眼看到的成像效果,才有了相應的設計。

到這裏就會發現:光譜中實際上藏着更多可分析的信息,而 RGB 只是為了配合我們的視覺效果。
如果我們不侷限於三寬波段,而是採集幾十甚至上百個窄波段,記錄連續光譜信息,那麼得到的圖像就是高光譜圖像。

2. 高光譜圖像特點

2.1 高光譜圖像的視覺效果

如果説 RGB 圖像是為了配合我們的視覺效果而忽視了部分光譜信息,那麼高光譜圖像就是為了更完整地採集光譜信息,而不再過多關注圖像的視覺表現形式。

舉個例子,假定我們現在採集了一張擁有 100 個窄波段光譜信息的高光譜圖像。
從數據結構上看,每個像素就不再是一個三維向量 (R, G, B),而是一個 100 維向量

\[(I_1, I_2, I_3, \dots, I_{100}) \]

其中每一個 \(I_k\) 表示光在某一個窄波段上的反射強度。
這時,如果我們把 100 個波段的光強簡單相加:

\[I = \sum_{k=1}^{100} I_k \]

那麼我們實際上做的事情是把所有波長的信息壓縮成一個“總強度”。 只反映光的能量大小,不再區分波長差異。
因此,直接疊加光譜維度,得到的必然是一幅灰度圖像。
就像這樣:
image
(圖像來源)
高光譜圖像不能直接顯示成符合我們視覺效果的色彩分佈,其根本原因是因為我們的視覺系統本身是三維的,而高光譜數據是高維的。
因此,為了可視化能夠觀察高光譜圖像,我們有這樣幾種方法:

  1. 單波段顯示:選擇某一個波段,顯示為灰度圖,分析某個特定波長下的反射特徵。
  2. 真彩色合成:選擇接近紅、綠、藍波段的三個窄波段,組合成 RGB 圖像,這種方式可以得到接近人眼觀感的效果。
  3. 偽彩色顯示:選取任意三個具有區分能力的波段,映射到 RGB 三通道。這種方式常用於突出特定實體的特徵。
    image.png
    (圖像來源)

2.2 高光譜圖像的信息密度

剛剛我們已經提到了,高光譜圖像的每個像素都是一個多維向量:

\[(I_1, I_2, I_3, \dots, I_{n}) \]

現在,如果將這樣的圖像輸入深度學習模型進行訓練,那麼模型學習的就不再是圖像在 RGB 三個維度上的空間結構與顏色分佈的規律,而是更多維度上的空間結構與不同波長上的光強分佈規律
以最經典的 Indian Pines 數據集為例,其圖像每一個像素的原始波段就有 224 個,也就是説:其圖像的一個像素就有 224 個特徵。這樣規模的特徵數量足以支持單個像素成為樣本。
image.png
因此,不同於常規的圖像級數據集,每個數據集都包含成千上萬的 RGB 圖像。高光譜圖像是像素級數據集,一張高光譜圖像就可以作為一個數據集,其每一個像素都是一個樣本。
簡單展開:

  • 每個像素 = 一個高維樣本。
  • 標籤通常對應地物類別或材料類型。
  • 空間結構則提供額外的上下文信息。

2.3 使用高光譜圖像和 RGB 圖像訓練模型

先説結論:使用高光譜圖像訓練的模型並不能和使用 RGB 圖像訓練的模型互通。
你可能會想:高光譜圖像和 RGB 圖像本質上只是不同粒度的圖像數據,那我能不能混合二者使用?
比如在高光譜模型上測試 RGB 圖像,或者乾脆做遷移學習?
答案是:不可以直接這樣做。

首先,最直接的障礙就是模型的輸入維度不匹配
高光譜圖像的輸入維度通常是幾十到上百個通道,而 RGB 圖像只有三個通道。這不是“效果不好”的問題,而是結構不兼容的問題

繼續,我們假設通過降維技術繞過模型輸入的硬限制,那就再來看看兩類圖像本身的信息特徵:

  1. RGB 將連續光譜壓縮為三個寬波段,並將光強映射為在紅綠藍三個顏色上的亮度,模型學習的是顏色規律和空間結構。
  2. 高光譜是對連續光譜的壓縮為上百個窄波段,直接使用各個波段的光強作為特徵,模型學習的是光譜反射模式和空間結構。

因此,兩者所依賴的判別依據不同,即使任務名稱相同(例如分類),模型關注的特徵也完全不同,強行混用,只會得到近乎隨機的結果。

3. 高光譜圖像的應用領域和研究方向

高光譜圖像在日常生活中並不常見,它更偏向於“物理分析”。
因為它記錄的不是簡單的顏色信息,而是物體在不同波長下的反射特性
對於同一種物質而言,其在不同波長下的反射率並不相同,因此得到的反射光強也隨波長變化。 這種隨波長變化的反射曲線,構成了物體的“光譜特徵”。
這意味着高光譜圖像更適合用於“識別物質”,而不僅僅是像RGB圖像一樣“識別外觀”。

3.1 高光譜圖像的應用領域

應用領域 典型場景 核心依據 本質優勢
遙感與地物分類 地物分類、農作物識別、森林健康監測、水質分析、礦物勘探 不同地物在不同波段上的光譜特徵差異 通過光譜曲線區分地表物質,而不僅依賴顏色
精細材料識別 食品質量檢測、藥品成分分析、材料缺陷檢測、文物成分分析 不同材料在窄波段下的吸收/反射特性不同 外觀相似但光譜不同,可識別材質本身
醫學與生物領域 組織識別、腫瘤邊界檢測、皮膚病分析、血氧評估 生物組織在特定波段下的吸收差異 利用光譜信息區分生理或病理屬性

3.2 深度學習研究方向

在算法層面,高光譜圖像的研究也形成了許多獨立方向:

研究趨勢 典型論文貢獻形式 改進點
更強表達能力 引入 Transformer 替代純 CNN 建模長距離光譜依賴
更少計算量 卷積分解 / 輕量化結構 減少參數量
更少標註依賴 自監督預訓練 提升小樣本性能
更高光譜利用率 波段注意力機制 抑制冗餘信息
更強泛化能力 物理先驗約束 避免過擬合
更低採集成本 RGB 到 HSI 重建網絡 用普通相機替代高光譜相機

總之,高光譜圖像通過豐富的光譜維度捕捉物體在不同波長下的特徵,使其在遙感、材料識別和醫學等領域能夠超越視覺外觀進行物質判別。深度學習的不斷髮展又提升了高光譜數據的建模能力、泛化性和低成本應用潛力,為實際任務提供更精準、高效的解決方案。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.