• 沒有找到結果。

HE 產生的雜訊與無法顯現細微溫度變化的缺點 17

五、 基於 BOHP/HE 的對比強化改良方法

5.1 BOHP/HE 的優缺點

5.1.1 HE 產生的雜訊與無法顯現細微溫度變化的缺點 17

HE 比較少應用在紅外線攝影機上,主要是紅外線感測器的平整度 (Uniformity) 不是很好,每個點對溫度的反應曲線皆不相同,且標準差亦 很大,大約會有 2~4 個位元的雜訊。因此,紅外線影像在景物很單調時,

就很容易突顯雜訊出來,這個雜訊問題在 BOHP 上能有效的改善。另外對於 較大物體的細微溫度變化容易產生擴散現象,看起來會有類似沒有聚焦的 現象。如下圖所示,經過 HE 與 BOHP 的後處理比較,在圖 5.1 部分,BOHP 處理後的溫度分佈較為清楚,而圖 5.2 部分,經過 HE 處理後的溫度分佈則 較為模糊不清。

圖 5.1 經過 BOHP 處理後的圖,圖中的 手溫度分佈清楚可見,且無雜訊。

圖 5.2 經過 HE 處理後的圖,圖中的手 溫度分佈較為模糊,且雜訊被強化出 來。

5.1.2 BOHP 的擠壓破壞現象

BOHP 的擠壓破壞現象,只有在強度分佈超過 256 階時才有可能會發生,

主要是因為 BOHP 是以強度分佈數量為調整的依據,當兩個物體的強度分佈 數量差異很大時,強度分佈多的物體即會擠壓強度分佈少的物體,我們先 以下面這三張圖來看看 BOHP 的擠壓破壞現象,圖 5.3a 為原始圖片且經過 BOHP 處理後的結果,圖 5.3b 為該圖片的直方圖,共 65 個強度分佈,圖片 中的儀器為訊號產生器。

圖 5.3a 圖 5.3b

接下來的這一張圖為一個人在旁邊時的畫面,用以證明擠壓現象,圖 5.4a 是訊號產生器被擠壓的圖,圖 5.4b 為直方圖,強度分佈共 369 個我們發 現原本清楚可見的訊號產生器已經被擠壓得看不清楚了。

圖 5.4a 圖 5.4b

我們再將人改成一杯高溫的茶杯,圖 5.5(a)為高溫茶杯的圖片,5.5(b)為直 方圖,其強度分佈共 391 個,同樣我們發現訊號產生器被擠壓的現象。

圖 5.5a 圖 5.5b

現象說明:

從圖 5.3 我們可以發現,訊號產生器的強度分佈範圍從 149~196 數量約 為 47 強度分佈,在整張畫面 65 個強度分佈的比例中,約佔 72%,因此清 楚可見。在圖 5.4 與圖 5.5 中,為何訊號產生器會幾乎看不見呢?是因為新 近來的物體強度分佈的個數量都很大,圖 5.4 的人約佔 304 個強度分佈,圖 5.5 的茶杯約佔 326 個強度分佈,就以人的那張圖來講,訊號產生器在整個 畫面的強度分佈所佔的比例只有 13%,因此分配到的灰階值只有 33 個,因 此產生了看不清楚的狀況。

然則在 HE 的處理下,訊號產生器依然清楚可見,這是因為訊號產生器 的大小約佔整個畫面的 25%,不管進來的是人頭或是茶杯,皆不會影響訊

號產生器所佔的灰階比例,因此不會被擠壓破壞,但也大大的強化了雜訊,

HE 對於紅外線的對比強化應用並不是很好,主要在於雜訊問題與溫度擴散 效應問題。由圖 5.6 與圖 5.7 來看,可以清楚的看到坐落於整張影像的雜訊 被強化出來了,同時人與茶杯清楚可見的溫度漸層也被破壞,溫度漸層被 破壞可以清楚的由茶杯的紋路看出來。

圖 5.6 經 HE 處理後的,訊號產生器並沒有 被進來的人頭擠壓破壞

圖 5.7 經 HE 處理後的,訊號產生器並沒 有被進來的熱茶杯擠壓破壞

問題關鍵:

由於 BOHP 的特性是以紅外線強度分佈範圍所佔的比例為壓縮依據,而 HE 是以各紅外線強度像素在影像空間佔的比例為壓縮依據。我們可以發現 這兩種處理方式,存在互補性,如果我們可以找到一個接近平衡的方法,

如圖 5.8 所示,相信不論在任何情況下的景像,我們仍然可以明顯的分辨物 體,尤其在監控觀視的應用裏更為重要,因為我們不能忽視掉任何的景像 或物體。

圖 5.8 理想的平衡圖

5.2 直方圖門檻(Histogram Threshold)的應用

HE 是以強度分佈內的像素數量當作調整的比例,也就是空間比例,因 此如果我們在直方圖加上一個門檻,便可動態調整強度分佈的高度。為何 我們要加上門檻?主要是為了降低 HE 帶來的雜訊,與溫度擴散效應,並想 保有 HE 帶來的效果,因此加上強度分佈門檻的調整。

具體而言,強度分佈門檻調在最高點,就等於完全沒有砍掉,如圖 5.9 所示,效果如同使用 HE;另一方面,強度分佈門檻調若在最低點,如圖 5.10 所示,則其效果會如同使用 BOHP 一樣。

圖 5.10  最低門檻值 圖 5.9  最高門檻值

我們以下面的調整來說明加上門檻後的效果,圖 5.11 為沒有調整門檻後的 結果,其效果等同於 HE,在這張圖裡,人與訊號產生器都清楚可見,但雜 訊相當的高。

圖 5.11,門檻不調整時,效果等同於 HE

接著我們繼續往下調整門檻至 1/4 高度的地方,如圖 5.12 所示,我們發現 雜訊降低了一些,物體與人也都還分辨得很清楚。

圖 5.12,門檻往下調整,效果漸佳

再往下調,將門檻調至 1/8 高度的結果,如圖 5.13 所示,發現在這個情況 下雜訊不多,且物體與人也都還分辨得很清楚,可以說是最理想的位置。

圖 5.13,調整門檻至 1/8 高度,本張影像中的最佳點

最後若我們將門檻調至最低,如圖 5.14 所示,其效果等同於 BOHP,此時 訊號產生器已經很難辨識了。

圖 5.14 門檻往下調至 1,效果等同於 BOHP,訊號產生器已模糊而不復見

我們發現,若能有個自動調整的依據,且該依據能將門檻調整至最佳點,

則能改進 BOHP 的缺點。

5.3 BOHP 與 HE 的平衡

以直方圖的特性而言,當景像很單調時,直方圖的強度分佈必定很少 呈現高峰值,也就是說某些強度分佈欄位裡的像素數量很高;反之,若景 象很豐富時,直方圖的呈現形狀,必定較為平整,也就說大部分的強度分 佈欄位裡的像素數量會比較低,且比較平均。由於 BOHP 的特性是以紅外 線強度分佈範圍所佔的比例為壓縮依據,而 HE 是以各紅外線強度像素在影 像空間佔的比例為壓縮依據。因此我們首先嘗試以畫面像素個數除上強度 分佈的個數來作為自動達到動態調整的門檻值。

我們做這樣的嘗試主要依據在於平衡 BOHP 的演算法與 HE 的演算 法,讓門檻值有個自動調整的標準,計算方式採用 HE 的計算方式,門檻的 高度與整張影像的強度分佈多寡有關,整理後我們將步驟分成 9 個。

計算步驟:

A. 先將畫面的紅外線 12 位元影像像素建立長條圖,該長條圖只是統計學 上的長條圖而已,紀錄了每個紅外線強度的數量,最多 4096 個分佈。

B. 計算出整個影像直方圖的強度分佈個數。

C. 畫面像素個數除上強度分佈的個數即為門檻值。

D. 砍掉所有超過該門檻值的強度分佈高度。

E. 計算出砍掉後的像素總數,該數值必恆小於原先的影像像素總數。

F. 從強度分佈 0 開始掃描並將累加變數設為 0,遇到強度分佈欄位有像素 存在時,將該強度分佈欄位佔有的比例乘以 255,並加上累加變數,同 時回填於該強度分佈欄位;遇到沒有強度分佈時,欄位則直接將累加變 數填進去,最後一個強度分佈欄位的值會等於 255,此步驟的計算方式 與 HE 一樣。

G. 該新建立完成的強度分佈表,即為 12 位元轉 8 位元的轉換對照表。

H. 最後將原本 12 位元的紅外線影像的每個點(像素)都重新對照出一個新 的 8 位元像素,即為我們要看的視訊訊號。

流程圖:

圖 5.15 為總流程圖,共分成 5 個大項步驟,圖 5.16~5.19 其為步驟細項,

圖 5.16 為清除直方圖的流程圖,圖 5.17 為建立直方圖的流程圖,圖 5.18 為 找出強度分佈的流程圖,圖 5.19 為門檻處理的流程圖,圖 5.20 為建立位元 壓縮對照表的流程圖。

圖 5.15  建立位元壓縮對照表的總流程圖

圖 5.16 清除直方圖的流程圖

圖 5.17 建立直方圖的流程圖

圖 5.18 尋找強度分佈數量的流程圖

圖 5.19 門檻處裡的流程圖

圖 5.20 建立位元壓縮對照表的流程圖

我們將上述的步驟,改寫成 C 語言,其程式如下圖 5.21。

void BuildLookupTable(unsigned short *img, int *histo) { int i,opy,level,pixel;

float gray;

// clear histogram for(i=0; i<4096; i++)

// build histogram equalization lookup table gray = 0;

5.4 以平均區域標準差為調整依據的進一步改良

本論文所提出的改善方法,雖然能有效改善 BOHP 的擠壓破壞現象,與 降低 HE 在畫面強度分佈少時所帶來的雜訊強化現象,但在某些情況下,效 果仍然不是很理想。以圖 5.22 來看,圖片中的訊號產生器雖然可見,但仍 然不夠明顯,因此改善 BOHP 的擠壓破壞現象仍然不足。

圖 5.22 訊號產生器仍不夠明顯

以圖 5.23 為例,若我們直接對門檻值加權處理以提高它,試圖讓影像中的 訊號產生器清楚一點,當我們提高門檻後訊號產生器的確清楚了很多,但 若用相同的調整方式於圖 5.24 的影像上,該圖的雜訊卻增加了。

圖 5.23 訊號產生器非常明顯 圖 5.24 雜訊突顯了

問題關鍵:

問題的關鍵在於如何給定一個調整門檻值的加權,而這個加權是依據 畫面的內容而定的。在此,我們先將各種可能產生的強度分佈畫面分類,

如圖 5.25 所示,左邊是受擠壓的圖,其需要將門檻值提高,中間的圖是強 度分佈少的圖,其效果已經很好不需調整,右邊是強度分佈多的圖片,其 也不需要再調整。將所有影像經過門檻調整後的畫面平均區域標準差整理 出來,並顯示在左下角,我們可以發現畫面標準差跟門檻的調整有相當的 關聯。在左邊那三張受到擠壓的圖片中,我們可以發現,其標準差都很小,

分別為 5.15/6.52/4.37,因此,我們將標準差的數值大小作為我們調整 的依據。

圖 5.25 未經過門檻加權前的結果

從圖 5.25 分析來看,我們需要調整的是低標準差的圖片,高標準差的 圖片通常景像豐富的地方比較平均,或是雜訊已經開始突顯了,低標準差 的圖片通常是景象較為不豐富,或某一部份被擠壓了。調整門檻的流程如 圖 5.26 所示。

圖 5.26 調整門檻的流程圖

平均區域標準差的計算方式

Mean Deviation =

75684

const int MaskPos[9] = {-321,-320,-319, -1,0,1, 319,320,321};

float GetLocalDeviation8(unsigned char *p) { int i,j,k,var,addr; (p[addr+MaskPos[k]]-p[addr]) ;

var/=9;

我們以上面未經過加權調整的圖,與下面經過加權調整的圖 (圖 5.28) 來

我們以上面未經過加權調整的圖,與下面經過加權調整的圖 (圖 5.28) 來

相關文件