• 沒有找到結果。

腸道假體影像接合

在文檔中 內視鏡之色彩影像校正 (頁 51-0)

第五章 實驗結果與模擬分析

5.2 腸道假體影像接合

環場式膠囊內視鏡拍攝草履蟲影像,如圖5.6所示,利用皮爾森相關係法與笛卡兒

座標法將所拍攝影像展開與接合,如圖5.7所示,由圖中可以發現所拍攝影像因為投光 不平均與幾何圖形不同造成縫隙問題,故利用減少縫隙方法將縫隙減少,如圖5.8所 示,分別利用平均加權平滑法與最佳化縫隙法,由人眼觀察圖形可以發現縫隙有減少 的效果,接著使用峰值訊號雜訊比去比較經處理縫隙後影像與未處理縫隙影像作比 較,並以量化方式呈現其中的差異,如表5.2所示。

圖5.6 草履蟲影像

圖5.7 草履蟲接合影像

圖5.8 (a)草履蟲接合圖, (b)平均加權平滑法, (c)最佳化縫隙法 表5.2 PSNR比較表

Image Stitching Weighted Average Method Optimal Seam Method

PSNR 17.56 17.57 35.82

擷取到的影像利用笛卡兒座標轉換,將極座標影像轉換成直角座標影像,如圖5.9 所示,並且利用皮爾森相關係數法,將影像進行接合,如圖5.10所示,由圖可以知道影 像接合時,因為幾何圖形不同與亮度不平均造成縫隙問題,利用演算法將縫隙減少,

如圖5.11所示。

圖5.9 經直角座標轉換圖

圖5.10 腸道假體重建圖

圖5.11 (a)平均加權平滑法, (b)最佳縫隙法

5.3

色域體積計算分析

色票所定義的色彩資訊在於D65燈源下所拍攝的資訊,所以內視鏡先於D65標準燈 源下量測色票位置,圖5.12與圖5.13所表示著色票所定義的色度圖與內視鏡於D65標準 燈源下所拍攝的色度圖,圖5.14表示著兩者合併成一張進行比較,受到影像感測器的製 程影響,利用色差公式計算,兩者之間的色差值為8.2973。將D65燈源換為LED燈源進 行拍攝,內視鏡所拍攝的色度圖如圖5.15與色票所定義的色彩資訊之間的色差為 21.4483,由數值上可知燈源對於色差的影響較大。

圖5.12 色票色度圖

圖5.13 影像感測器色度圖(D65燈源)

圖5.14 色票與影像感測器色度圖(D65燈源)

圖5.15 色票與影像感測器色度圖(LED燈源)

將環場式膠囊內視鏡與內視鏡的色域面積做比較,如圖5.16所示,內視鏡與環場式 膠囊內視鏡的色域面積並不相同,內視鏡色域面積較為大,而環場式膠囊內視鏡的色 域面積較為小,可能是受到環場式膠囊內視鏡投光不均勻所造成色域面積的壓縮,之 間的誤差為4.4095。

圖5.16 內視鏡(LED燈源)

利用光纖光譜儀量測內視鏡照射參考白色票光譜與環場式膠囊內視鏡照射參考白 色票光譜,如圖5.17所示,由圖可以知道因為機構不同造成光譜不同而產生色偏問題,

環場式膠囊內視鏡與內視鏡之間機構的差異在於膠囊殼與錐狀鏡,將膠囊殼去除掉,

進行光譜量測,如圖5.18所示。

圖5.17 內視鏡與環場式膠囊內視鏡光譜

圖5.18 去除膠囊殼拍攝色票

圖5.19所表示的是去除膠囊殼與有膠囊殼的環場式膠囊內視鏡的光譜,圖中可以發 現所投射的光源因為受到膠囊殼影響,造成光譜在於500~700nm波段不同。

圖5.19 有無膠囊殼的環場式膠囊內視鏡光譜

圖5.20 有無膠囊殼的環場式膠囊內視鏡光譜增益比較

5.4 色彩校正結果分析

由量測結果分析可以發現到,內視鏡會受到燈源與影像感測器的影響而產生色 偏,環場式膠囊內視鏡除了受到燈源與影像感測器的影響外,還會受到錐狀鏡機構的 影響而色域面積壓縮,由以上的結果來看,內視鏡與環場式膠囊內視鏡所拍攝的色彩 並非真實色彩,而會受到內部的影響而產生色偏,例如影像感測器、燈源與機構等,

故需要利用色彩校正將其色彩校正還原至真實色彩中。

本論文提出兩種方法去校正色彩,分別為係數法與複變映射轉換多項式法,並且

著每個人主觀的思想在其中,而造成精準度降低。圖5.21與圖5.22所表示的是係數法與 複變映射轉換分別利用不同階數係數色彩校正後的色域面積,表5.3所表示係數與色差 的關係,最後係數法可以改善色差至1.539,而複變映射轉換多項式法可以改善色差至 1.324,因為複變映射轉換多項式法式利用不同係數代表著不同階層,而複變映射轉換 多項式法每個係數只代表著一個係數而非一個階層,故複變映射轉換係數法只需利用 較少係數就可達到低色差的色彩校正。

利用經過縫隙處理的腸道假體模型的腸道重建影像進行色彩校正,圖5.23分別為係 數法與複變映射轉換多項式法校正後的影像。經過色彩校正後的腸道假體影像。

圖5.21 係數法色域面積比較

圖5.22 複變映射轉換多項式法色域面積比較

表5.3 各種色差比較

Regression method Complex mapping polynomial method

Number Color difference Order Color difference

2 2.629 2 3.296

3 2.157 3 2.461

4 1.980 4 2.082

5 1.856 5 1.621

6 1.559 6 1.471

7 1.541 7 1.325

8 1.539 8 1.324

圖5.23 (a)係數法, (b) 複變映射轉換多項式法

第 六 章

硬 體 架 構

6.1

FPGA發展版

本研究使用ALTERA公司所開發的Cyclone III發展板,如圖6.1所示,擁有高速匯流 卡(High Speed Mezzanine Connector, HSMC)、DDR2 SDRAM與發光二極體等硬體設 備。此發展板搭載Cyclone III EP3C120F780晶片,此顆晶片擁有著11900個邏輯單元(les) 與3888 Kbits記憶體等組件[46],整體架構圖如圖6.2所示。

圖6.1 Cyclone III 發展版

圖6.2 Cyclone III 硬體架構[46]

利用Bitec公司所開發的高速匯流卡[47],如圖6.3所示。此卡可以與ALTERA公司 所開發的板子進行連結,此卡的用途用於讀取影像資訊,所能讀取的規格包含PAL、

NTSC與S-Video等格式,輸出的格式包含VGA、DV與S-Video,整體架構圖6.4所示。

圖6.3 Bitec 高速匯流卡

圖6.4 Bitec 高速匯流卡硬體架構

6.2

軟體實現

軟體架構如圖6.5所示,影像由高速匯流卡輸入,高速匯流卡會依據輸入的Vertical blank、Pixel clock與Field signal將Data轉換至Ycbcr色彩空間,Ycbcr色彩空間轉換至 RGB色彩空間。將第四章所提到的色彩校正的複變映射轉換多項式帶入演算法中,將 原本的RGB映射到新的RGB值中,再經由Nios II處理器將新的RGB經由DVI傳送到螢 幕。

圖6.5 FPGA軟體架構圖

利用Verilog實現演算法,首先將RGB色彩空間轉換至xyY色彩空間,將式3.4中矩 陣係數利用Verilog撰寫,其中八位元為小數有效位元,整數部分為一位元,以下為 Verilog程式碼:

wire [16:0] mul1 = rb * 9'b001101010;

wire [16:0] mul2 = gb * 9'b001011100;

wire [16:0] mul3 = bb * 9'b000101110;

wire [16:0] mu21 = rb * 9'b000110110;

wire [16:0] mu22 = gb * 9'b010110111;

wire [16:0] mu23 = bb * 9'b000010010;

wire [16:0] mu31 = rb * 9'b000000101;

wire [16:0] mu32 = gb * 9'b000011111;

wire [16:0] mu33 = bb * 9'b011110011;

wire [8:0] D_YI = (mu21+mu22+mu23)>>8;

wire [8:0] D_ZI = (mu31+mu32+mu33)>>8;

wire [10:0] sum_XYZ = D_XI+D_YI+D_ZI;

wire [16:0] sum_X = D_XI<<8;

wire [16:0] sum_Y = D_YI<<8;

wire [9:0] D_xI = sum_X/sum_XYZ;

wire [9:0] D_yI = sum_Y/sum_XYZ;

wire [9:0] D_zI = 9'b100000000-D_xI-D_yI;

利用Matlab將轉換係數計算出來,並且代入Verilog中,在這裡利用兩階多項式去 進行色彩校正,因為其中轉換係數有負值,須利用有數小數進行運算,八位元為小數 有效位數與一位元為整數有效位數,第一位元為判別正負位數,其Verilog程式碼如 下:

wire [19:0] mbx2 = (D_xI*D_xI);

wire [9:0] max2 = mbx2[17:8];

wire [19:0] mby2 = (D_yI*D_yI);

wire [9:0] may2 = mby2[17:8];

wire [19:0] mb2xy = (D_xI*D_yI)*2;

wire [9:0] ma2xy = mb2xy[17:8];

wire [9:0] mumxb1 = 10'b0000001010;

wire [19:0] mumxb2 = 10'b0011100110*D_xI;

wire [9:0] mumxa2 = mumxb2[17:8];

wire [19:0] mumxb3 = (max2-may2)*10'b0001101010;

wire [9:0] mumxa3 = mumxb3[17:8];

wire [9:0] mumx = mumxb1+mumxa2+mumxa3;

wire [9:0] mumyb1 = 10'b1111111110;

wire [19:0] mumyb2 = 10'b0110000110*D_yI;

wire [9:0] mumya2 = mumyb2[17:8];

wire [29:0] mumyb3 = ma2xy*19'b1111111111110001000;

wire [9:0] mumya3 = mumyb3[17:8];

wire [9:0] mumy = mumyb1+mumya2+mumya3;

wire [9:0] mumz = 9'b100000000-mumx-mumy;

最後利用將校正後的xyY色彩空間轉換至RGB色彩空間,其Verilog程式碼如下:

wire [19:0] sum_z = mumz*D_YI;

wire [19:0] sum_x = mumx*D_YI;

wire [9:0] D_ZO = sum_z/mumy;

wire [9:0] D_XO = sum_x/mumy;

wire [21:0] muO11 = D_XO*12'b001100111110;

wire [32:0] muO12 = D_YI*23'b11111111111111001110110;

wire [32:0] muO13 = D_ZO*23'b11111111111111110000000;

wire [11:0] muOC11=muO11[19:8];

wire [11:0] muOC12=muO12[19:8];

wire [11:0] muOC13=muO13[19:8];

wire [13:0] RBO1 = muOC11+muOC12+muOC13;

wire [9:0] RBO2 = RBO1[9:0];

wire [32:0] muO21 = D_XO*23'b11111111111111100001000;

wire [21:0] muO22 = D_YI*12'b000111100000;

wire [21:0] muO23 = D_ZO*12'b000000001011;

wire [11:0] muOC21=muO21[19:8];

wire [11:0] muOC22=muO22[19:8];

wire [11:0] muOC23=muO23[19:8];

wire [13:0] GBO1 = muOC21+muOC22+muOC23;

wire [9:0] GBO2 = GBO1[9:0];

wire [21:0] muO31 = D_XO*12'b000000001110;

wire [32:0] muO32 = D_YI*23'b11111111111111111001100;

wire [21:0] muO33 = D_ZO*12'b000100001111;

wire [11:0] muOC31=muO31[19:8];

wire [11:0] muOC32=muO32[19:8];

wire [11:0] muOC33=muO33[19:8];

wire [13:0] BBO1 = muOC31+muOC32+muOC33;

wire [9:0] BBO2 = BBO1[9:0];

表6.1為經由運算後新RGB值,利用ModelSim軟體模擬與Matlab軟體所運算做比 較,Modeslsim模擬圖如圖6.6所示。

表6.1 模擬結果表

Item Software

Item 1 Item 2 Item 3

Original color (128,128,128) (180,128,134) (250,240,180) Matlab (105,136,98) (167,135,105) (206,254,132) ModelSim (102,133,98) (162,135,108) (202,254,141)

圖6.6 (a) (128,128,128), (b) (180,128,134), (c) (250,240,180)

數位運算與類比運算計算方式並不一樣,數位運算並沒有浮點數運算,所以數位 運算需將數值乘上有效位元數後,才可呈現浮點數運算結果,當小數有效位數越大 時,代表著精準度也相對提升,然而運算時間也將會提升,反之有效位元數越小,精 準度也降低,運算時間也跟著下降,代表著運算時間與有效位元數有相對的關係。目 前利用八位元的有效位元數,數位運算與類比運算結果的色差為0.9725。

6.3 即時色彩校正硬體架構

本論文的硬體架構如圖6.7所示,用CMOS影像感測器拍攝影像,將影像經由S-Video傳輸到FPGA,再經由FPGA運算完後,再經由DVI傳送到螢幕,實際架構圖如圖 6.8。

圖6.7 FPGA硬體架構圖

圖6.8 FPGA實際架構圖

第 七 章

結 論 與 未 來 展 望

7.1 結論

本論文為內視鏡之色彩影像校正,利用環場式膠囊內視鏡進行腸道假體拍攝,將 腸道假體影像進行重建,但是受到環場式膠囊內視鏡的錐狀鏡機構影響,造成影像接 合時產生不連續問題,本論文採用平均加權平滑法與最佳化縫隙法減少縫隙的產生,

由未改善的峰值訊號雜訊比17.56改善至35.82。

內視鏡與環場式膠囊內視鏡進行色票拍攝,將拍攝到的色票儲存於電腦中,利用 Matlab軟體計算出色度圖與色票所定義的色度圖比較,可以發現到色票所定義的資訊 與所拍攝到的色票影像有所不同,代表著內視鏡受到影像感測器、光源與機構而造成 影像色偏。色票所定義的D65燈源下拍攝色票,由色度圖可以察覺白色色點位置並不相 同,是因受到影像感測器的色彩濾光片影響,造成所拍攝到色彩資訊不相同,接著利 用將燈源更換為LED燈源進行拍攝,由色度圖上可發現並不相同,由此可以推估色彩 資訊也會受到燈源不同所影響,故需將所拍攝的色彩資訊校正至正確位置;再者環場 式膠囊內視鏡因受到膠囊殼影響造成影像偏黃,造成環場式膠囊內視鏡所拍攝影像與 原始色票所定義色彩色差為21.448,利用係數法與複數映射轉換多項式法,分別可以將 色差值降為1.539與1.324,最後將演算法利用Verilog語法撰寫完成,利用ModelSim模擬 FPGA結果與Matlab模擬結果比較,兩者之間的色差為0.9725。以上的色差值低於美國 國家標準與技術局所定義的色差在3以下人眼所可容忍色差之內。

7.2 未來展望

環場式膠囊內視鏡擁有錐狀鏡光學元件的關係而產生雜散光,而造成投光不平均 使得越靠近中心影像過曝,未來可以將環場式膠囊內視鏡的LED燈源照射於腸道壁

上,減少雜散光的產生。目前腸道影像接合時,所使用平均加權平滑法與最佳化縫隙 法為將影像模糊化,這樣會造成整體影像銳利度降低,造成影像品質只有小幅度的上

上,減少雜散光的產生。目前腸道影像接合時,所使用平均加權平滑法與最佳化縫隙 法為將影像模糊化,這樣會造成整體影像銳利度降低,造成影像品質只有小幅度的上

在文檔中 內視鏡之色彩影像校正 (頁 51-0)

相關文件