• 沒有找到結果。

第一章 緒論

1.2 論文架構

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

以下列舉本論文的主要貢獻:

1. 我們提出經由水下影像做出顏色修正,使得影像紀錄可以正確的呈現出 實際色彩的表現。

2. 我們也提出,基於目前已經存在之影像資料集,諸如:Kaggle[21],

OpenImage[10],MS COCO [22], ImageNet[23],PASCAL VOC[24],

或甚至是個人過去所紀錄之影像,可以直接使用並訓練出所需要之模型,

將待測影像在偵測前,透過顏色修正後,可提供給各個模型進行物件偵 測,大幅降低訓練資料的收集與整理。

3. 透過此系統,當在進行水下活動之時,可分辨出是否為危險性生物,提 高水下休閒活動的體驗。

1.2. 論文架構

本論文架構如下所述。第二章的相關研究中,我們會先探討水下顏色變化與 深度之間的關係。此外,也會探討目前物件偵測各種模型的相關議題。在第三章 的研究方法中,首先針對色彩修正(color correction)這個議題,提出本研究的基本 構想,並簡單地展示所做的前期研究,接著針對物件偵測(object detection)各類模

型,進行執行速度及mAp 進行簡單的比較。得到這些初步的成果後,設計其研

究架構,以及預期的目標。在第四章,將詳細地描述研究的資料蒐集與其過程,

簡介所使用的分析工具,以及研究結果的分析,並討論如何將其應用於水下即時 物體偵測系統。而最後的第五章,本論文將做一個簡單的結論,並提出未來可能 繼續研究發展的方向。

其三,探討色彩修正及生成對抗網路(Generative Adversarial Network, GAN)的原 理。藉由這三個部分,除了可以得知現今物件偵測的發展,更可以進一步了解在 水下物體偵測相關領域進展概況。

2.1. 水下成像原理

顏色相關領域中,其研究及發展已經有一定的歷史,而水下光衰(underwater light decay)一般在生活當中不易發現,因為水中的顏色衰減需要有一定的深度,

除非去大型的海洋博物館,否則難以察覺這個一直存在的基本現象。Ocean News

& Technology 期刊在 2013 有針對此現象的基本原理進行說明[7]。

首先,測光,也就是提到有關「照度」的議題時,都牽涉到「平方反比定律」: illumination)是待測目標的直接照明(direct llumination)和漫射照明(diffuse illumination)的總和。直接照明是指從光源直接進入視線的光,漫射照明是經由 多個散射過程以間接路徑傳播並到達目標的光。不論是直接或漫射,其特性受到 溫度、鹽度、固體溶解的濃度、甚至到水分子本身的結構等各種相關參數的限制。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

除了上述參數,光的波長(wavelength of light)與光束角度(beam angle of the light source),共同影響了光的吸收與反射,進而造成光衰減的現象。

會發生直接照明損失(Direct illumination losses)是由於光源與物體之間的 水吸收而造成的。一般而言,光與水分子的相互作用決定了水中的光吸收。當光 子接觸水分子時,會被吸收並轉化為熱能。這種反應的強烈與否取決於於光波長:

紅色和紫色衰減強烈,可見光的藍綠色區域的衰減最小。這就是為什麼海水經常 是藍綠色的原因。此外,水中的其他物質(如,懸浮固體、生物物質、和溶解的 有機物質)也有機會造成進一步光衰減,使得藍色的光衰減更大,而在沿海和河 口的水域,有機物和其他溶解物質的濃度通常較高,藍色光被吸收率較高而導致 向水的顏色往綠色靠近。(如圖2.1 所示)

圖2.1、可見光在純水 (Pope and Fry, 1997)和海水(Smith and Baker, 1981)中的體 積吸收係數和衰減波長之關係

光在其光路徑上行進中,在討論散射現象時,除了原本光束行進路徑的直接 照明分量外,還可以分解成一部分光折射分量及一部分光反射分量,而這兩部分 會偏離原來的光行進方向。如前述,這些變化是由於溫度、懸浮顆粒、及溶解的 固體所引起的。一般而言,散射與光波長存在著一定的關係,但事實上,造成散 射的主因與光行進中的介質成分的關係更為明顯。散射會使得部分光源偏離原本

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

光路徑,但也會因為散射使得光將返回原光路徑,然後照射在物體上,使得總照 度上升。根據Ocean News & Technology 期刊上所述,在距光源大於一到兩個衰 減距離處,總照度的散射分量將變得很明顯,並開始超過或已經超過直接照明分 量。因此,當白色光源(全波段)照射在水中時候,反應出的顏色會因吸收和散 射而降低飽和度,然後接近單色光源(特定波段)的顏色,這是不同光波長穿過 水的衰減比例不相同造成的(如圖2.2 所示)。 光衰減會使得總照度受限制,也 會使得水中傳輸顏色訊息的範圍受到限制。

圖2.2、各種光源通過海水不同距離的光譜衰減 (Aaron Steiner, ONT, May 2013).

2.2. 深度學習與物件辨識

提到電腦視覺領域中的物件偵測技術,CNN(convolutional neural network)

是一個必須了解的基礎。如同一般的神經網路(圖2.3),除了 affine layer 外,

不同的是CNN 增加新的 convolution layer 及 polling layer(圖 2.4)。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖2.3、深度神經網路架構

圖2.4、CNN 建構之神經網路

為了改善Affine layer 會忽略資料的「形狀」,因此增加了 convolution layer

(圖2.5),期望將資料的形狀維持住。舉例來說,輸入影像為 RGB 三維形態,

類似的空間經常會有類似的像素值,而RGB 三顏色之間,也有相當緊密的關聯

性;反之,較遠距離的像素通常則沒有緊密的關聯性,這在保持資料形狀的前提 下,就多了這個隱藏的關聯性,也就是affine layer 這種將所有資料當成相同維度 來處理而無法找到的隱藏關聯性。另外,新增加的polling layer,一般有 max polling 及average polling,影像識別通常使用 max polling(圖 2.6),目的為由目標區域 取得該區域的最大值,如此一來,可以縮小垂直及水平空間的運算。

圖2.5、Convolution 運算

Input

image Affine ReLU Affine ReLU Affine ReLU Affine ReLU Affine Softmax

Input

image Conv ReLU Polling Conv ReLU Polling Conv ReLU Affine ReLU Affine Softmax

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖2.6、Max polling 運算

有了基本概念後,必須探討的如何評估偵測的成效。一般來說,物體的偵查 評估是基於F1 socre 或 mAP。所謂的 F1 socre ,針對預測的資料去進行假設,再 把實際結果與假設做適當的運算,得到的即為F1 score。再仔細說明如下:如果 預測為正,實際為正,則為true positive(TP);如果預測為正,實際為負,則為 false positive(FP);如果預測為負,實際為正,則為 false negative(FN);如 果預測為負,實際為負,則為true negative(TN)。通常在 dataset 中,我們可以 定義出正樣本數為P,負樣本數為 N,這麼一來,可以得到:

𝑷 = 𝑻𝑷 + 𝑭𝑵 𝑵 = 𝑻𝑵 + 𝑭𝑷 式2.2、樣本數量計算

基於此基礎,可以定義出兩個指標:recall、precision,其與 F1 score 關係如下:

𝑹𝒆𝒄𝒂𝒍𝒍 = 𝑻𝑷

𝑻𝑷 + 𝑭𝑵=𝑻𝑷 𝑷 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 = 𝑻𝑷

𝑻𝑷 + 𝑭𝑷 𝑭𝟏 = 𝟐𝑻𝑷

𝟐𝑻𝑷 + 𝑭𝑵 + 𝑭𝑷= 𝟐 ∙ 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 ∙ 𝑹𝒆𝒄𝒂𝒍𝒍 𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 + 𝑹𝒆𝒄𝒂𝒍𝒍 式2.3、recall & precision & F1-score 計算

先說明 IOU (intersection over union):「兩個物件的交集」除以「兩個物件的聯 集」。

𝑰𝒐𝑼 =𝑨𝒓𝒆𝒂 𝒐𝒇 𝑶𝒗𝒆𝒓𝒍𝒂𝒑 𝑨𝒓𝒆𝒂 𝒐𝒇 𝑼𝒏𝒊𝒐𝒏 式2.4、IoU 計算

因此,如果假設IoU 的閥值(threshold)為 0.5,則如果 IoU > 0.5,可以被認為 此次偵測為正確檢測(true detection,TP),反之則為錯誤檢測(false detection,

FP)。接著說明 AP(Average Precision),假設偵測某一物體(例如偵測魚),

實際上有8 隻魚(ground truth 1~8),而 detection model 偵測出的 Bounding box 有10 個(Bounding box 1~10),根據 IoU 知道 overlap 的多寡,而 ground truth 7&8 沒有偵測到(FN),如表 2.1:

表2.1、偵測範例(魚數量)

如前述,假設IoU 的閥值是 0.5,大於 0.5 才是 TP,可得到表 2.2:

Ground Truth Bounding Box IoU Probability

1 BB1 0.8 0.9

Bounding Box IoU>0.5 Probability

BB1 1 0.9

Rank Bounding Box IoU>0.5 Probability

1 BB1 1 0.9

表2.4、precision-recall 計算結果範例

根據precision 及 recall,AP 就是計算這 precision-recall curve 下的面積。另外,

將recall 細分為 11 等分,在 recall 上算 precision,也可以寫出式 2.5: 種作法:二階段處理(Two-stage Learning 與一階段處理(One-種作法:二階段處理(Two-stage Learning)。

二階段處理,會用某些方法,如 Selective Search,先選出候選區域(Region Proposal),一般會在圖片上取出約數百個候選的區域。然後針對選出的區域透過 分類器(classifier)再進行物件辨識,進一步找出分類及位置修正,需注意的是,

因為選出的物件大小不會相同,因此classifier 可能只能做到分類,但也可能有特 徵擷取及分類。R-CNN、Fast R-CNN、Faster R-CNN 等皆屬此類。二階段處理最

Rank Bounding Box IoU>0.5 Probability Precision Recall

1 BB1 1 0.9 1 0.125

那麼第二階段的使用 classifier 辨識就必須用重複做三千次,假設一個候選區域 辨識要 0.05 秒,則三千個候選區域至少需要 150 秒,在現今主流使用上,如每 同時偵測物件位置及辨識物件,如 YOLO[29]、Single Shot Detector (SSD)[8]、

RetinaNet [25 ]等。然而,雖然大幅提高運算速度,但整體辨識準確度與二階段方 法相比,通常都比較差,這時候就端看設定之運算速度下,整體辨識率是否可以 接受,而就目前看來,如果資料集準備上及標籤設定沒太大問題,基本都在可接 受範圍內。

2.3. 色彩修正與生成對抗網路

由前述可知,水下影像會有顏色衰減(color decay)的現象,如何恢復消失的 色彩至今仍然是一個難題。Sea-thru[26]在 2019 年被提出,主要基於物理修正方 式,藉由考慮了光吸收及散射的物理特性,將影像恢復成如同在空氣中拍攝一

RCNN

Region proposal (SS) Feature extraction (Deep

Net) Classification (SVM) Rect refine (Regression)

Fast RCNN

Region proposal (SS)

Feature extraction Classification + Rect refine

(Deep Net)

Faster RCNN

Region proposal Feature extraction Classification + Rect refine

(Deep Net)

下影像必須包含一個彩色色卡(Color Checker)來當參考。而收集到的水下影像,

其顏色變化與懸浮固體、生物物質、及溶解的有機物質都有關係,如採用物理 修正,將會受到海域的限制。另外,使用物體與相機之間的深度資訊,存在一 個硬體限制: 距離相機較遠的部分其深度資訊一般回報無限大,或者,如採用 多張影像計算深度,除了低光源造成距離分析困難,更會產生盲區而缺少資訊。

生成對抗網路(Generative Adversarial Network,GAN)[9]或許可以解決這些問題。

由圖2.8 可看出 GAN 基本上為 2 個 Network:Discriminator 及 Generator。

圖2.8、生成對抗網路架構

Discriminator Network 簡單來說就是藉由訓練一個神經網路去分辨 fake image 跟 real image。將 real 標註 1,fake 標註 0,進行 training 即可。而 Generator Network 的概念就是要訓練出一個神經網路讓 Discriminator 分辨出來的結果越 接近real 越好,即 Predict Label 越接近 1 越好,loss 的 target 為 1,然後再更新 generator 權重(weight)。

Discriminator

路,可以假設共20 層 layer 的 NN,Generator 是前 10 層,Discriminator 是後 10

層,然後這個模型做出的預估,其值越要接近1 越好,如此即可較為簡單來看

這個模型。但是這裡我們只更新 Generator 的 weight,Discriminator 的 weight 要維持,這樣才可以將更新後的 Generator 所產生出來的假圖,在 Discriminator 上的值越接近真實的結果。我們可以用一個結論來表示,其實就是更新生成器

這個模型。但是這裡我們只更新 Generator 的 weight,Discriminator 的 weight 要維持,這樣才可以將更新後的 Generator 所產生出來的假圖,在 Discriminator 上的值越接近真實的結果。我們可以用一個結論來表示,其實就是更新生成器

相關文件