新分類關於高光譜成像,是近期的主要長篇內容。
1. 什麼是高光譜圖像?
1.1 RGB 圖像
在日常生活以及之前的 CV 相關內容裏,我們演示使用的圖像數據都是 RGB 圖像,在之前的圖像處理基礎中我們也介紹過這一點。
再簡單複述一下要點:大量出現在我們日常生活中的彩色圖像基本都是 RGB 圖像,這類圖像的每個像素可以看作堆疊在一起的三個通道,分別代表圖像在紅、綠、藍三個維度上的亮度,三者組合才形成了我們肉眼中的彩色圖像。
在專業領域裏 RGB 圖像也有直觀的體現,比如在網頁設計或圖像編輯軟件中常見的“取色器”。
當我們使用取色器點擊某一個像素時,軟件通常會給出一個類似 #FF5733 這樣的顏色代碼。這個看似複雜的字符串,本質上只是 三通道亮度的十六進制表示。
具體來説:
- 前兩位
FF表示紅色通道的強度。 - 中間兩位
57表示綠色通道的強度。 - 後兩位
33表示藍色通道的強度。
因此,RGB 圖像的每一個像素都可以看作一個三維向量:
再擴展到整幅圖像:在計算機的視角里,一幅 RGB 圖像其實就是一個三維數組。
到這裏,便不難理解在深度學習中對 RGB 圖像的學習邏輯,以最常見的圖像分類為例:模型學習圖像分類,實際上就是在紅、綠、藍三個維度上學習空間結構與顏色分佈的規律,並通過反向傳播迭代參數進行擬合。
於是,一個想法便油然而生:如果我們能使用更多維度來表示圖像,是不是就能豐富圖像的信息,幫助相關應用呢?
這便涉及到 RGB 在光學中的實質:壓縮後的可見光波段。
1.2 高光譜圖像(hyperspectral image)
在物理上,我們知道:光本質上是一種電磁波,不同顏色對應不同的波長。比如紅光波長較長,而藍光波長較短等。
我們人眼只能感知可見光的一小段波長範圍(大約 400–700 nm),具體如圖:
而 RGB 圖像之所以只有 3 個通道,本質上是因為相機把連續的可見光波段壓縮成了 3 個寬波段:
- 一個覆蓋紅光區域。
- 一個覆蓋綠光區域。
- 一個覆蓋藍光區域。
簡單展開一下這部分的原理:相機中的傳感器本質上是由硅材料製成的光電器件。它的作用是“把光強轉換為計算機能理解的亮度數值。”
傳感器對可見光範圍內的大多數波長都具有響應能力,但光是混合的,如果不做處理,傳感器只能記錄“總光強”,而無法區分顏色。
於是,為了實現顏色成像,我們在傳感器上方人為設計覆蓋了一層濾色陣列:這些濾色片分別只允許特定波長範圍的光通過,例如紅、綠、藍三個波段。紅色濾色片只允許較長波長通過、綠色濾色片允許中間波段通過,藍色濾色片允許較短波長通過。
每個像素在濾色片的作用下,只記錄某一段波長範圍內的光強。經過插值重建後,最終形成 RGB 三通道圖像。
這種三通道設計並非隨機,而是為了貼近我們的人眼效果。
涉及到很多生物物理知識,我們簡單總結:RGB 圖像之所以流行,是因為我們的人眼結構選擇了這 3 個寬波段,而相機為了實現人眼看到的成像效果,才有了相應的設計。
到這裏就會發現:光譜中實際上藏着更多可分析的信息,而 RGB 只是為了配合我們的視覺效果。
而如果我們不侷限於三寬波段,而是採集幾十甚至上百個窄波段,記錄連續光譜信息,那麼得到的圖像就是高光譜圖像。
2. 高光譜圖像特點
2.1 高光譜圖像的視覺效果
如果説 RGB 圖像是為了配合我們的視覺效果而忽視了部分光譜信息,那麼高光譜圖像就是為了更完整地採集光譜信息,而不再過多關注圖像的視覺表現形式。
舉個例子,假定我們現在採集了一張擁有 100 個窄波段光譜信息的高光譜圖像。
從數據結構上看,每個像素就不再是一個三維向量 (R, G, B),而是一個 100 維向量:
其中每一個 \(I_k\) 表示光在某一個窄波段上的反射強度。
這時,如果我們把 100 個波段的光強簡單相加:
那麼我們實際上做的事情是把所有波長的信息壓縮成一個“總強度”。 只反映光的能量大小,不再區分波長差異。
因此,直接疊加光譜維度,得到的必然是一幅灰度圖像。
就像這樣:
(圖像來源)
高光譜圖像不能直接顯示成符合我們視覺效果的色彩分佈,其根本原因是因為我們的視覺系統本身是三維的,而高光譜數據是高維的。
因此,為了可視化能夠觀察高光譜圖像,我們有這樣幾種方法:
- 單波段顯示:選擇某一個波段,顯示為灰度圖,分析某個特定波長下的反射特徵。
- 真彩色合成:選擇接近紅、綠、藍波段的三個窄波段,組合成 RGB 圖像,這種方式可以得到接近人眼觀感的效果。
- 偽彩色顯示:選取任意三個具有區分能力的波段,映射到 RGB 三通道。這種方式常用於突出特定實體的特徵。
(圖像來源)
2.2 高光譜圖像的信息密度
剛剛我們已經提到了,高光譜圖像的每個像素都是一個多維向量:
現在,如果將這樣的圖像輸入深度學習模型進行訓練,那麼模型學習的就不再是圖像在 RGB 三個維度上的空間結構與顏色分佈的規律,而是更多維度上的空間結構與不同波長上的光強分佈規律。
以最經典的 Indian Pines 數據集為例,其圖像每一個像素的原始波段就有 224 個,也就是説:其圖像的一個像素就有 224 個特徵。這樣規模的特徵數量足以支持單個像素成為樣本。
因此,不同於常規的圖像級數據集,每個數據集都包含成千上萬的 RGB 圖像。高光譜圖像是像素級數據集,一張高光譜圖像就可以作為一個數據集,其每一個像素都是一個樣本。
簡單展開:
- 每個像素 = 一個高維樣本。
- 標籤通常對應地物類別或材料類型。
- 空間結構則提供額外的上下文信息。
2.3 使用高光譜圖像和 RGB 圖像訓練模型
先説結論:使用高光譜圖像訓練的模型並不能和使用 RGB 圖像訓練的模型互通。
你可能會想:高光譜圖像和 RGB 圖像本質上只是不同粒度的圖像數據,那我能不能混合二者使用?
比如在高光譜模型上測試 RGB 圖像,或者乾脆做遷移學習?
答案是:不可以直接這樣做。
首先,最直接的障礙就是模型的輸入維度不匹配。
高光譜圖像的輸入維度通常是幾十到上百個通道,而 RGB 圖像只有三個通道。這不是“效果不好”的問題,而是結構不兼容的問題。
繼續,我們假設通過降維技術繞過模型輸入的硬限制,那就再來看看兩類圖像本身的信息特徵:
- RGB 將連續光譜壓縮為三個寬波段,並將光強映射為在紅綠藍三個顏色上的亮度,模型學習的是顏色規律和空間結構。
- 高光譜是對連續光譜的壓縮為上百個窄波段,直接使用各個波段的光強作為特徵,模型學習的是光譜反射模式和空間結構。
因此,兩者所依賴的判別依據不同,即使任務名稱相同(例如分類),模型關注的特徵也完全不同,強行混用,只會得到近乎隨機的結果。
3. 高光譜圖像的應用領域和研究方向
高光譜圖像在日常生活中並不常見,它更偏向於“物理分析”。
因為它記錄的不是簡單的顏色信息,而是物體在不同波長下的反射特性。
對於同一種物質而言,其在不同波長下的反射率並不相同,因此得到的反射光強也隨波長變化。 這種隨波長變化的反射曲線,構成了物體的“光譜特徵”。
這意味着高光譜圖像更適合用於“識別物質”,而不僅僅是像RGB圖像一樣“識別外觀”。
3.1 高光譜圖像的應用領域
| 應用領域 | 典型場景 | 核心依據 | 本質優勢 |
|---|---|---|---|
| 遙感與地物分類 | 地物分類、農作物識別、森林健康監測、水質分析、礦物勘探 | 不同地物在不同波段上的光譜特徵差異 | 通過光譜曲線區分地表物質,而不僅依賴顏色 |
| 精細材料識別 | 食品質量檢測、藥品成分分析、材料缺陷檢測、文物成分分析 | 不同材料在窄波段下的吸收/反射特性不同 | 外觀相似但光譜不同,可識別材質本身 |
| 醫學與生物領域 | 組織識別、腫瘤邊界檢測、皮膚病分析、血氧評估 | 生物組織在特定波段下的吸收差異 | 利用光譜信息區分生理或病理屬性 |
3.2 深度學習研究方向
在算法層面,高光譜圖像的研究也形成了許多獨立方向:
| 研究趨勢 | 典型論文貢獻形式 | 改進點 |
|---|---|---|
| 更強表達能力 | 引入 Transformer 替代純 CNN | 建模長距離光譜依賴 |
| 更少計算量 | 卷積分解 / 輕量化結構 | 減少參數量 |
| 更少標註依賴 | 自監督預訓練 | 提升小樣本性能 |
| 更高光譜利用率 | 波段注意力機制 | 抑制冗餘信息 |
| 更強泛化能力 | 物理先驗約束 | 避免過擬合 |
| 更低採集成本 | RGB 到 HSI 重建網絡 | 用普通相機替代高光譜相機 |
總之,高光譜圖像通過豐富的光譜維度捕捉物體在不同波長下的特徵,使其在遙感、材料識別和醫學等領域能夠超越視覺外觀進行物質判別。深度學習的不斷髮展又提升了高光譜數據的建模能力、泛化性和低成本應用潛力,為實際任務提供更精準、高效的解決方案。