• 沒有找到結果。

第三章 研究方法

3.3 研究架構設計

3.3.2 研究架構

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.2.5. 物件偵測之影像收集

物件偵測訓練資料取自open source 的 openImage V6[10],並使用 big-query[12]

分出所需要之影像進行訓練。另外,因openImage 的資料隨時可能變動,本論文 的收集時間為 2019 年 7 月到 2020 年 4 月期間,keyword 為 Fish、Jellyfish、

Triggerfish、Swordfish、Milkfish、Cartilaginous fish。

3.2.6. 物件偵測模型效能評估

針對SSD 及 Faster RCNN 效能進行評估。

至此已解決了大部分的實作技術問題,接下來闡述本論文的研究架構設計。

3.3. 研究架構設計

3.3.1. 問題陳述

藉由GAN 方法將水下圖像轉換成一般影像,但實際上是否可以讓現有的物

件偵測模型直接套用呢?此外,利用遷移學習的方式來訓練現有的模型,其效能 上是否可以滿足所需呢?綜合我們前述所提出的,在經過這一連串的機器學習,

是否能夠達到即時的水下物體偵測呢?針對這些問題,我們設計了以下的研究 架構,並在第四章「研究過程與結果分析」之中回答這些問題。

3.3.2. 研究架構

此研究整體架構如圖 3.5, 開發工具使用 Tensorflow 及 Python。訓練 顏色修正的平台為CPU: Intel Core i9/ GPU: Nvidia Titan RTX / CUDA 10/ OS:

Ubuntu;訓練物件偵測的平台為 CPU: Intel Core i9/ GPU: Nvidia GeForce 2080 Ti / CUDA 10/ OS: Ubuntu。

圓柱狀圖示為公共開源(open source)的資料集,可收集到 image data 及 label data。其中,色彩修正部分使用 imageNet dataset,而物件偵測部分使用 openImage dataset。CKPT(check point)則是每次訓練的過程會產生的檔案,為一個檢查文件,

紀錄了模型檔案路徑及訓練過程中所有節點上保存的模型名稱,當然也包含最後

Color correction

Object detection

ImageNet

openImage Img

Data CycleGAN

Paired

image pix2pix model Train

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

一次的保存的模型名稱,藉著這個 CKPT 讀取相對應的網路權重資訊及參數資

訊,同時也可讀取該模型的網路結構,也就是說,我們在tensorflow 下訓練的結 果藉由CKPT 保存所有的變量及網路結構,供給未來需要的時候使用。,

色彩修正流程及物件偵測流程將產出新的模型,其中物件偵測採遷移學習 (transfer learning)方式,基於 open source 的預訓練模型(pre-trained model),配合 訓練資料進行重新訓練而得到新的結果。色彩修正的評估因缺乏真實資料 (ground-truth),依據實際產出的結果進行肉眼及 NIQE[28]分數高低判斷,確認是 否良好的顏色修正。物件偵測的評估依據 mAP 及 speed 數值,評估是否符合需

求。而系統整合流程部分則依據前2 個流程得到的結果,將待測影像進行顏色修

正後再做物體偵測,最後確認mAP 高低來評估其結果。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第四章

研究過程與結果分析

在本章節中,主要介紹色彩修正及物件偵測模型訓練資料的蒐集以及訓練 過程觀察。先利用CycleGAN 產出 pix2pix 所需的 paired image,接著使用 pix2pix

訓練出水下顏色修正的CKPT;同時,進行物件偵測模型的選定,並基於遷移學

習的概念針對欲偵測的類別重新訓練。再將水下影像透過 pix2pix 模型搭配 CKPT 產出修正後的影像,透過物件偵測模型做出分析、評估、與修正。此外,

還會進行影像品質好壞的判斷,這部分將使用 NIQE[28]分數來量化藉由 GAN based 所產出的影像,分數越低則影像清晰程度則越好,品質越佳。

4.1. 研究過程

4.1.1. 資料集說明

因物體在相機的成像效果與拍攝時的光線行經的介質有關,在此我們可簡單 的定義相機拍攝時所在的位置:水中(即本論文所提的水下)及空氣中(即水面之 上)。而資料集收集則分 3 個需求:用於訓練 CycleGAN 模型,用於訓練 pix2pix 模型、及用於訓練物件偵測模型,如表4.1 所示。

Object detection

Diver 訓練資料集 1023 CycleGAN 來進行。根據式 3.3 為其 loss function,並將 ImageNet 收集的影像依 據品質分為訓練資料集A 及訓練資料集 B,其 NIQE 分數如表 4.2。由 NIQE 分

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

使用訓練資料集A 的實際產出的結果如圖 4.1,A1~D1 分別為輸入的原始圖片,

A2~D2 分別為透過 CycleGAN 產出 paired image。使用訓練資料集 B 的實際產 出的結果如圖4.2。A1~C1 分別為輸入的原始圖片,A2~C2 分別為透過 CycleGAN 產出paired image,表 4.3 為使用測試集產出結果的 NIQE 分數。

4.1、CycleGAN 訓練資料集 A 結果

(A1) (A2)

(B1) (B2)

(C1) (C2)

(D1) (D2)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖4.2、CycleGAN 訓練資料集 B 結果

Max Min Avg

訓練資料集A 結果 23.7651 14.8812345 19.629 訓練資料集B 結果 29.0858 18.1585564 22.585

表4.3、Paired image NIQE 分數

(A1) (A2)

(B1) (B2)

(C1) (C2)

資料,對pix2pix model 進行訓練,而訓練所使用的 loss function 即為式 3.10:

𝓛 = −𝔼𝒙~𝒑𝝉[𝑫(𝒙)] + 𝔼𝒙~𝒑𝒈[𝑫(𝒙)] + 𝝀𝔼𝒙~𝒑𝒙[𝛁𝒙𝑫(𝒙) ∥𝒑− 𝟏]𝟐 GIMP Auto white Balance 76.064 58.040 64.770 G’MIC-QT Color balance 78.441 59.528 68.695

表4.4、顏色修正評估階段之 NIQE 分數

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

首先針對loss function 中的𝝀進行分析評估,基於 Iteration = 38000,Number of Training Data = 6128,圖片解析度為 512x512,結果見圖 4.3。A 為輸入的原始 圖片,B 為 λ = 5 的輸出結果,C 為 λ = 7.5 的輸出結果,D 為 λ = 10 的輸出結果,

E 為 λ = 12.5 的輸出結果,F 為 λ = 15 的輸出結果。

圖4.3、不同 𝝀 結果

(A1) (A2) (A3)

(B1) (B2) (B3)

(C1) (C2) (C3)

(D1) (E2) (E3)

(E1) (E2) (E3)

(F1) (F2) (F3)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

對於paired image 的數量多寡,進行分析評估,基於𝝀= 10,Iteration = 38000,圖 片解析度為512x512,見圖 4.4。A 為輸入的原始圖片,B 為訓練集數量=3064 的 輸出結果,C 為訓練集數量=6128 的輸出結果。

圖4.4、訓練集數量控制結果

(A1) (A2) (A3)

(B1) (B2) (B3)

(C1) (C2) (C3)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

接著就 iteration 的次數進行分析評估,基於𝝀 = 10,Number of Training Data = 6128,圖片解析度為 512x512,結果見圖 4.5。A 為輸入的原始圖片,B 為 Iteration

= 38000 的結果,C 為 Iteration = 76500 的結果,D 為 Iteration = 153000 的結果,

E 為 Iteration = 189500 的結果,F 為 Iteration = 306000 的結果。

圖4.5、訓練迭代次數控制結果

(A1) (A2) (A3)

(B1) (B2) (B3)

(C1) (C2) (C3)

(D1) (E2) (E3)

(E1) (E2) (E3)

(F1) (F2) (F3)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

一般而言,在攝影的角度上要修正色彩,通常是將白平衡調整為正確的色溫 後才拍照或錄影,或者加上濾鏡來改變接受到的顏色狀況,最後才做光源的補償。

而此研究不討論光源補償部分,因為此為直接將水中影像的物理限制做出強制優 化。另外,當影像已經完成拍攝後,傳統做法上,乃是透過影像修飾軟體做出修 正,這裡使用 GIMP 的 AWB 及 GIMC plugin 的 color balance,圖片解析度為 512x512,如圖 4.6。A 為 GAN based 的輸出結果,B 為 GIMP Auto white Balance 的輸出結果,C 為 G’MIC-QT Color balance 的輸出結果。可以看出影像處理軟體 的結果雜訊明顯,中間的顏色並未修正正確,尤其在低對比的圖像更出現顏色完 全錯誤。

圖4.6、軟體自動修正結果

(A1) (A2) (A3)

(B1) (B2) (B3)

(C1) (C2) (C3)

結果。根據Tensorflow detection model zoo,可以預先挑選出可使用的模型,如表 4.5。

Model name Speed (ms) COCO

mAP Outputs

ssd_mobilenet_v1_coco 30 21 Boxes

ssd_mobilenet_v1_0.75_depth_coco 26 18 Boxes ssd_mobilenet_v1_quantized_coco 29 18 Boxes ssd_mobilenet_v1_0.75_depth_quantized_coco 29 16 Boxes ssd_mobilenet_v1_ppn_coco 26 20 Boxes ssd_mobilenet_v1_fpn_coco 56 32 Boxes ssd_resnet_50_fpn_coco 76 35 Boxes

ssd_mobilenet_v2_coco 31 22 Boxes

ssd_mobilenet_v2_quantized_coco 29 22 Boxes ssdlite_mobilenet_v2_coco 27 22 Boxes

ssd_inception_v2_coco 42 24 Boxes

faster_rcnn_inception_v2_coco 58 28 Boxes faster_rcnn_resnet50_coco 89 30 Boxes

rfcn_resnet101_coco 92 30 Boxes

faster_rcnn_resnet101_coco 106 32 Boxes faster_rcnn_inception_resnet_v2_atrous_coco 620 37 Boxes

faster_rcnn_nas 1833 43 Boxes

表4.5、COCO-trained models[19]

由 表 4.5 , 基 於 speed 及 mAP , 預 先 選 定 ssd_resnet_50_fpn_coco 、 faster_rcnn_nas、及 faster_rcnn_inception_resnet_v2_atrous_oidv4 進行評估。此外,

也加入YOLO V4[29]進行評估,並使用針對移動裝置的 Tensorflow lite 深度學習 框架。進行方式為將待偵測的圖片進行前述之色彩修正,並使用預訓練模型偵測。

測試集部分,我們偵測 3 個類別,diver 數量為 231 張,fish 數量為 7563 張,

jellyfish 數量為 487 張。而每個模型針對五種條件的圖片:original 為原始圖片,

其他四種為色彩修正模型不同迭代次數的生成圖像,圖片解析度為512x512,計 算mAP 及每張圖片處理所需的時間來評估及選定,見表 4.6。

Original Number of iterations

38000 76500 153000 306000

這個階段為選定一物件偵測模型後,藉由遷移訓練概念,輸入pre-trained ckpt、

訓 練 集 、 進 行 模 型 的 重 新 訓 練 。 基 於 速 度 與 偵 測 率 , 此 研 究 使 用 ssd_resnet50_v1_fpn 為偵測模型,使用的訓練集分為 3 種類型:水中影像、空氣 中影像、及綜合(水中與空氣中)影像,見表4.7。圖 4.7(潛水員-混合)、圖 4.8(水 母-混合) 、及圖 4.9(魚-混合)為各類別的 loss 結果,因潛水員身上裝備較複雜,

其收斂結果並非很好,而魚及水母的loss 結果則有收斂。

Diver Fish Jellyfish

空氣中

水中

表4.7、不同影像類型

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖4.7、潛水員(混合)的 Loss

圖4.8、水母(混合)的 Loss

圖4.9、魚(混合)的 Loss

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.2. 分析階段

由研究過程的每個階段,都得到一些結果,此部分即針對這些結果進行分析。

4.2.1. Paired image分析

由圖4.1、圖 4.2、及表 4.3,使用訓練資料集 A(品質好)所產出的結果一般都

比訓練資料集B(品質差)產出的結果好,因此在這部分,我們會採用訓練資料集

A 所做出的結果來成為 GAN 模型需要的 paired images。

4.2.2. 色彩修正結果分析

圖4.3 顯示,λ 必須大於或等於 10,其結果才能符合我們需求。而圖 4.4 來 看,數量較多的訓練集,產出的圖像清晰度及顏色部分都較好,這部分符合深度 學習基本預期。圖4.5 部分,迭代次數與顏色修正結果成正向趨勢,這部分也可 以知道其結果為使用WGAN-GP 的收斂效果是正向的。

4.2.3. 物件偵測重新訓練結果分析

表4.8 為預訓練偵測的結果與使用混合訓練集進行重新訓練的偵測結果,重 新訓練後的 AP 皆有提高。資料集數量部分,diver 的訓練/測試為 1023/231,

jellyfish 的訓練/測試為 2002/487,fish 的訓練/測試為 28465/7563,未做顏色修正,

圖片解析度為512x512。

AP Pre-Trained Re-Train

Diver 0.23 0.32

Jellyfish 0.26 0.50

Fish 0.26 0.39

表4.8、預訓練與重新訓練的比較

影像、及混合影像,而比例上,diver 的水中:空氣中約為 75%:25% (767:256),

fish 的水中:空氣中約為 34%:66% (9678:18787),而 jellyfish 的水中:水空氣 中約為42%:58% (840:1162);測試集部分,diver 為 231 張,fish 為 7563 張,

jellyfish 為 487 張,圖片解析度皆為 512x512,分別進行重新訓練並測試結果。

由表4.9 可看出當圖片經過顏色修正(Gen),AP 均有提升。

Diver Jellyfish fish

AP Original Gen Original Gen Original Gen

x 軸為圖片編號,y 軸為信心指數(confidence score)。由圖可以發現,如果模型重 新訓練,使用混合影像(空氣中加上水中)當成訓練集,發生部分偵測的結果反而

pre-train 0.57 0.31 0.52 0.66 0.57 0.48 0.52 0.24 0.23 0.35 0.57 0.70 0.58 0.52 0.77

mixture 0.65 0.51 0.63 0.62 0.72 0.65 0.63 0.36 0.29 0.53 0.69 0.80 0.57 0.56 0.87

air 0.74 0.63 0.77 0.78 0.79 0.74 0.72 0.53 0.61 0.64 0.78 0.85 0.72 0.67 0.91

0.00

512*512 的結果基本優於 256*256,如表 4.10 所示,此為使用空氣中訓練集進行 訓練。

而取測試集中Jellyfish 類別的 15 張影像,分別以訓練集影像大小與測試集 影像大小來比較,x 軸為圖片編號,y 軸為信心指數,而 bar 的表示為:訓練集 影像大小-測試集影像大小。例如,512-256 代表訓練集影像大小為 512*512,測 試集影像大小為256*256,以此類推,如圖 4.13。

512-256 0.55 0.72 0.68 0.84 0.58 0.73 0.85 0.73 0.79 0.73 0.79 0.76 0.59 0.74 0.91

256-256 0.56 0.74 0.70 0.87 0.59 0.75 0.88 0.77 0.83 0.77 0.82 0.78 0.62 0.78 0.94

512-512 0.68 0.73 0.66 0.84 0.65 0.77 0.86 0.77 0.81 0.78 0.83 0.83 0.65 0.72 0.93

256-512 0.69 0.73 0.67 0.84 0.66 0.77 0.86 0.77 0.81 0.77 0.82 0.82 0.65 0.72 0.93

0.00

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.3. 系統可行性分析

我們已經在前面根據顏色修正及物體偵測的兩個流程完成結果產出與分析,

而針對可行性的部分,我們在這個系統希望達到之目標如下:

1. 透過顏色修正後的影像,是否能提供給重新訓練後的模型使用?

2. 選用的物體偵測模型,在 mAP 及 speed 基礎上,是否可用於此研究?

3. 遷移學習的方式來訓練現有的模型,其結果是否可以滿足水中物體的偵 測?

4.3.1. 色彩修正可行性探討

模型評估階段的結果(見表 4.6),藉由迭代次數不同的色彩修正後的圖像,提 供給原始ckpt 的 ssd_resent_50_fpn_coco 模型做偵測,顏色修正前的 mAP 為 0.21,

迭代次數為306000 的 mAP 提升到 0.40,另外兩個模型的結果也是相同,顏色修 正後的 mAP 高於未做顏色修正,圖片大小為 512*512。由此可見,此顏色修正 步驟有其效果。

4.3.2. 即時偵測之可行性探討

4.3.2. 即時偵測之可行性探討

相關文件