高光譜或多光譜圖像為什麼不能由光學相機的照片經圖像處理獲得?

我學習圖像處理,了解到了高光譜圖像。
想到普通光學相機在自然光下拍的照片應該是包含高光譜信息的吧。
那為什麼不能通過圖像處理得到高光譜圖片而必須用成像光譜儀這些才能得到呢?
希望大神幫忙解釋一下。。


普通相機就RGB這3個band,每個band裡面的顏色混在一起,記錄一個亮度值,這樣記錄下來的信息已經把band之內的光譜信息給簡併起來了,不可能再復原。


光譜到RGB:1+2+3+4+5+5+5=?
RGB到光譜:已知七個數字的和是25,求這七個數字。


用一張圖來表達這個問題。圖片來自於http://research.microsoft.com/en-us/UM/people/stevelin/papers/vc13lan.pdf。

(a)是普通相機拍的,進入鏡頭的場景是全光譜的。但感應器前有個濾鏡,對全光譜的光子做了一次chromaticity mapping,得到RGB三個分量,記錄在圖像上。這時候其他信息就都消失了。也就是說,普通光學相機在自然光下拍的照片應該包含高光譜信息。也無法通過圖像處理來恢復。

(b)是高光譜圖像的處理流程。相機記錄下全光譜中多個頻率下的亮度,得到的Multi-Spectral Image(MSI)經過後期的chromaticity mapping後,得到RGB三個分量的圖像。你用不同的chromaticity權重,可以得到不同的結果。只有這樣才是題主要的高光譜信息。

在做那篇論文的時候,實際搭設備我們用的是一個黑白監控攝像頭,在前面放不同的窄帶濾鏡。麻煩的是折射率和頻率有關,所以換一個濾鏡就可能要重新調焦。因為那個設備做成全手動的方式,大量時間花在了換濾鏡和調焦上,結果拍一張MSI經常要幾十分鐘。

還有一種做法是用一個超長的CCD/CMOS,經過分光之後投射上去。這樣不同位置記錄的就是同一個圖像在不同頻率下的亮度,處理之後也能得到MSI。


最近在做某公司的一個有關相機成像的項目,即將在今年10月發布產品,正好有研究這方面的東西,可以講講。

1. 普通相機的成像原理

成像的過程可以用下面這張圖來解釋:下面這張圖代表了一個CCD點陣,圖中的每個小格子(紅色的或綠色的或藍色的)自然就是CCD中的像素啦,那麼這些像素點為什麼被染上了RGB三種顏色之一呢?因為每個像素點只接受某個固定波段的光子,也就是說在CCD接收到的原始數據中,每個像素點只有一個通道(RGB之一)的信息。這種原始數據成為mosaic數據,也就是最原始的裸數據。

那麼我們平時看到的彩色圖像是怎麼來的呢?這就要談到Demosaicing演算法了。
Demosaicing演算法的目標,就是從mosaic數據(每個pixel只有RGB其中一個channel的信息)恢復成RGB 3個channel的彩色圖片,此時每個pixel是有RGB三個通道的信息的。


一張3個通道的彩色圖片就這麼來了。
具體可以參見Demosaicing - Wikipedia

2.普通光學相機拍攝的照片能不能經過圖像處理之後成為高光譜圖像

可以。

現有的思路,通過圖像超分辨的方法,可以從自然圖像(3個波段)恢復到一張30個波段的高光譜圖像(當然有性能損失)。我們實驗室有學霸就做出來了,想聊聊的可以私信我可以幫你找找。


分為兩方面

一方面,普通光學相機在自然光下拍的照片還真不包含完整的光譜信息

一般在遙感領域,有意義的多/高光譜數據應該包含近紅外波段,例如用的比較多的Landsat(8)有如下波段:

編號 波長(μm)

1 0.433–0.453 深藍/紫外

2 0.450–0.515 可見光-藍

3 0.525–0.600 可見光-綠

4 0.630–0.680 可見光-紅

5 0.845–0.885 近紅外

6 1.560–1.660 短波紅外

8 0.500–0.680 短波紅外

8 0.500–0.680 全色

9 1.360–1.390 主要用於雲層

10 10.6-11.2 熱紅外

11 11.5-12.5 熱紅外

Landsat 8 Bands Landsat Science

你看,普通的可見光相機只記錄了2/3/4三個波段的信息,其他波段就都丟掉了。

並且,對於可見光相機而言,我們知道RGB三個波段是通過拜耳陣列排列在感測器上,每個顏色的像素上都覆蓋著對應顏色的濾色片:

但是這些濾色片濾不掉近紅外光,所以近紅外會在感測器上成像,干擾可見光的結果,所以要把近紅外濾掉。於是大部分數碼相機在感測器前面都有紅外濾片和低通濾鏡裝在一起,濾掉近紅外光。

你看,普通可見光相機不光沒有可見光之外的信息,還要專門給去除掉,所以再高明的演算法也恢復不出來╮(╯▽╰)╭。

知道了這一點,就有一些發燒玩家把相機的低通/紅外濾鏡拆掉,把相機改裝成紅外相機

得到的效果類似於:

(左邊是普通可見光,右邊是拆掉紅外濾鏡)

另一方面如 @劉博洋 師兄說,CCD/CMOS在記錄光信號時只會將收到的所有光子積分,在輸出電信號時不會有這些光子的波長信息了。打個親民的比方的話,你把幾杯水倒進一個大桶里,就分不出這個桶里的水有多少是來自哪個杯子了。

就醬~


想到普通光學相機在自然光下拍的照片應該是包含高光譜信息的吧。

當然不包含了。數碼相機通常就存儲RGB三個分量,彩色膠片也只是存儲被濾過光的三個分量。為什麼你會有它們神奇地包含全譜數據這種想法?


http://photo.stackexchange.com/questions/10757/why-not-use-a-camera-as-a-colorimeter


普通相機就RGB三個信號的圖像,高光譜可是一個波長(看波長解析度)一個信號圖像的


利益相關,某高光譜相機製作部門保安。可類比真彩色和偽彩色。真彩色是ccd實際接收到的顏色,偽彩色是根據點不管三七二十一把12號灰強行對應給某色,從灰度到偽彩色是個欠定問題,所以只能求的近似解,不唯一,真彩色就是真彩色了。。。。
我只是個保全,說錯了別怪我。。。


你可以把成像過程理解為對實際空間能量的採樣。在光譜維採樣就是光譜信息,在空間維採樣就是空間信息。當然,實際過程還有能量轉換,濾波,量化等。普通光學圖像最多仨波段(RGB),有時候捎帶手能加上個近紅外,所以在採樣過程中,相當於只對上述三個波段進行了能量採樣,這就像一條很長的鐵路,只用放大鏡看北京,南京,上海這三段。而高光譜則可以成很多波段的像,相當於在整個鐵路上,找了很多的點去看,沒法從三個點推出很多的。


相機拍的只有RGB三個譜,光譜儀根據解析度,幾千幾萬個是有的。


我覺得高光譜主要是從光譜解析度提出的概念,光學相機一個像素點由2綠1紅1綠組成 由於亞像素組成較為接近通過軟體處於可以感覺是在空間緯度是一樣的,其實光學相機可以看成四個多光譜合併而成彩色。另外現在有一種叫做壓縮感知的技術可以通過較少的光譜數據提升解析度


如果你是說可見光波段的高光譜 那麼需要至少六或者七個band 才可以做到很好的高光譜 estimation(這個一般會用於fine art painting reproduction或者是研究古畫用的pigment) 如果你說的高光譜超過可見光波段 那麼你的問題就是遙感問題了 那樣問題會複雜很多 應該是遙感專業的問題 應該不屬於你說的範圍


我是做可見光多光譜的,從400nm-700nm。

我們用的是16個濾波片,加一個灰度相機。

通過計算每個波段的反射率,能夠更好地判斷材料的顏色,這對染色和質量控制有幫助。

理論上當然也可以用普通相機,但是普通相機一般只有三個通道,也就是通常所說的RGB,這樣提供的信息量不如多光譜圖像。


題主有順便證明一個類似P=NP的定理的潛質的說(光速逃


我就從遙感方向答一下,大神輕噴,高光譜遙感是從電磁波的可見光、近紅外、中紅外、熱紅外波段選取許多非常窄的光譜連續的影像數據的技術,高光譜遙感能選出幾十甚至上百個波段,將這些波段依次排序可得到一個連續的光譜曲線(全憑記憶手打


高光譜會有很多不同的波段啊,普通RGB 才三個。能一樣么


推薦閱讀:

TAG:圖像處理 | 光譜學 | 光學儀器 | 紅外光譜 | 高光譜圖像 |