2016年4月3日

IR相機拍攝NDVI影像

怎麼知道一個植物健康與否?我們會用到NDVI影像來判斷

NDVI是Normalized Difference Vegetation Index的縮寫,中文叫做標準化植被指數、常態化差值植生指標,或是歸一化植被指數。

在了解這個字之前,要先對植物葉綠素有些了解。在可見光的範圍中,葉綠素吸收紅光、藍光,反射綠光,這也就是植物葉片是綠色的基本原因,但是在非可見光的範圍呢?

看一下這個Google連結的圖片-chlorophyll spectrum infrared,仔細看看紅外光的波段,葉綠素反射的程度很強呢。

也因此若是直接用去除IR-cut的相機拍攝植物,看到的植物就是一片白呢,因為反射的光線都被相機接收了啊。
IMG_20160331_080511


一個健康的植物,應該就能反射很多紅外線,但是吸收很多藍光、紅光等可見光。

把植物的影像中,紅外光的強度減去可見光的強度,這個就叫做DVI,Difference Vegetation Index。如果再除以紅外光強度加上可見光強度,那就叫做NDVI。(除以這個值的原因,是因為每個地方照射的光強不一定相同,所以除以這個值予以標準化)

總結一下,公式就是NDVI=(IR-VIS)/(IR+VIS)
IR就是紅外光
VIS就是可見光

不過在我們手作的這些紅外線拍攝設備中,RGB三個channel其實都也同時紀錄了IR的色光,所以需要找一些特殊濾鏡,讓某些頻道只有紀錄到IR。

Public Lab的網站裡,說明了可以利用Rosco #2007、#74、或是#19不同的濾片來達成目標。


以下是幾個濾片的穿透光譜資料,這是2007,是藍色濾片,注意它可以擋住紅光

2007:StoraroBlue




這是#74,擋紅光的程度比較好一些,同樣是藍色濾片
74: Night Blue


這是#19,注意它擋住的是藍光
19: Fire




有了濾片的基本資料,接下來可以參看這個教學文件
http://publiclab.org/wiki/public-lab-lesson-3-photography-in-a-new-light

簡要的來說,藍色濾片擋住紅光,所以Red Channel可以紀錄IR,而Blue Channel紀錄的藍光就可以當可見光。所以如果用藍色濾片,則NDVI的計算方式,可以用
(Red Channel-Blue Channel)/(Red Channel+Blue Channel)

如果是用紅色濾片,那麼就可以讓Blue Channel紀錄到IR,那麼NDVI就要這樣算
(Blue Channel-Red Channel/(Blue Channel+Red Channel)

不管哪種算法,NDVI都會介在-1到1之間。
在這個文件中,介紹了其實紅色濾片會比藍色濾片更適合拍攝NDVI影像
主要是NDVI就是想要能區分植物與非植物,或是健康植物與非健康植物。所以希望物體的可見光和紅外光反射程度相差要比較大。

就dry grass來說,IR-藍光的差值大於IR-紅光的差值(請見上述連結的圖),所以希望是用藍光波段來當可見光,因此才會建議使用紅色濾鏡。

而在拍攝時,也要事先調整白平衡,才能夠做出比較好的NDVI影像。根據Public Lab上面的資料,如果是用藍色濾鏡,就要先用藍色物體來作白平衡,而紅色濾鏡,就用紅色物體。

作好的影像除了利用Public Lab的線上工具來轉檔

也可以利用GImp或是ImageJ來處理
NDVI

目前有人已經開發ImageJ的Plugin


可以直接到下面這個連結,下載打包好的Fiji
https://github.com/nedhorning/PhotoMonitoringPlugin/tree/master/downloads/packages
解壓縮之後,就可以直接執行

打開你要處理的相片之後,選擇Plugins/Photo Monitoring/Single Image Index Processing  From Displayed Image

然後就按照預設值直接選定,只是要注意如果是用藍色濾鏡,
「Channel For red band to create index」就要選Blue
而「Channel For IR band to create index」就要選Red

相反地,如果是用紅色濾鏡,
「Channel For red band to create index」就要選Red
而「Channel For IR band to create index」就要選Blue