第四章 研究過程與結果分析
4.2 可用性分析
first_stage_features_stride 8 first_stage_atrous_rate 2 first_stage_localization_loss_weight 2 first_stage_objectness_loss_weight 1 first_stage_nms_iou_threshold 0.7 maxpool_stride 1 maxpool_kernel_size 1 second_stage_iou_threshold 0.6 second_stage_localization_loss_weight 2 second_stage_classification_loss_weight 1
score_converter SOFTMAX momentum_optimizer_value 0.8
initial_learning_rate 0.0003 learning_rate(Step70000) 0.00003
step 100000
Batch_size 1(此項跟訓練的硬體有關)
表 4.5 faster_rcnn_inception_resnet_v2_atrous 最後之調校參數
4.2. 可用性分析
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
名稱 mAP
(IOU threshold 0.5)
mAP
(IOU threshold 0.6)
mAP
(IOU threshold 0.4) 軍艦 0.816 0.699 0.825
民船 0.908 0.754 0.923 全部 0.862 0.727 0.874
表 4.6 最後調校模組各分類之細部準確率
圖 4.11 模組 TotalLoss 收斂圖示意
針對民船偵測圖示意如民船示意圖 4.12,可以跟圖 4.6 比較,模組經過調校 後,可以看到針對靠近的船體的偵測 faster_rcnn_inception_resnet_v2_atrous 也都 可以偵測出來。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 4.12 民船偵測示意圖
另故意選擇海上有文字的照片,也不會被影響,軍艦的偵測準確率也上升了 不少,偵測結果如圖 4.13 所示。
圖 4.13 軍艦偵測示意圖
針對較小的船艦,也可以偵測的出來,另如果圖片有 google 浮水印,依然 可以辨識的出來,如圖 4.14 所示。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 4.14 針對較小船體也可以偵測出來
海的顏色或是波浪也不會影響辨識,如圖 4.15 所示。
圖 4.15 海的顏色以及波浪,並沒有影響物體偵測的結果。
看完了 faster_rcnn_inception_resnet_v2_atrous 調校後的成果,我們用最後所 收集的資料利用各模組進行訓練,來比較一下我們所選擇的模組是否準確率是最 高的。
‧
我們選擇了另外 3 個演算法來進行比較,分別為 faster_rcnn_resnet101、
faster_rcnn_inception_v2、ssd_mobilenet_v2,表 4.7 為各演算法 mAP 比較。
名稱
mAP(IOU threshold 0.5)
民船 軍艦 全部
調 校 後
faster_rcnn_inception_resnet_v2_atrous
0.908 0.816 0.862
faster_rcnn_resnet101 0.859 0.814 0.836 faster_rcnn_inception_v2 0.812 0.792 0.802 ssd_mobilenet_v2 0.563 0.359 0.461
表 4.7 各演算法辨識 mAP 比較表
其中可以看到 faster_rcnn 在準確率的表現上的確優於 SSD,SSD 在小物體 的偵測上表現較差(如圖 4.16 所示,圖 4.16 演算法由左至右分別為調校後 faster_rcnn_inception_resnet_v2_atrous 、 faster_rcnn_resnet101 、 faster_rcnn_inception_v2、、ssd_mobilenet_v2),但 SSD 在不論在處理圖片的速 度或是模組的訓練時間上也的確比起 faster_rcnn 還要快上許多。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
4.2.3. 自動化判圖系統建置
為了可以方便使用者使用,後續利用 Python 寫了一個可以讓使用者方便使 用的圖片預測程式,讓使用者不需要操作 Tensorflow 就可以對於想處理的圖片 進行預測,使用者只需要把圖片放在資料夾中,然後執行我們寫的 Python 檔後,
再開啟資料夾,就可以看到我們所預測的圖片會存在於資料夾中(如圖 4.17 所 示)。
圖 4.17 放進資料夾之圖片,處理完後會加上_result 之結果圖示意
該程式之撰寫是改寫了 Tensorflow 之程式把訓練完成之模組包成Tensorflow Model File(檔案格式如圖 4.18 所示,打包之模組檔,主要包含模組 fine tune 後的 ckpt 檔,以及Tensorflow Model File(frozen_inference_graph.pb),有了這幾個檔案,我 們就可以利用程式來呼叫模組進行圖片預測),接著撰寫 Python 程式,把使用者丟 入之圖片,利用模組以及 matplotlib 處理完之資料另存於資料夾中,讓使用者只需執行 程式便可以得到結果預測之圖片,