高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalno03.pdf ·...

50
高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報 捷運車廂乘客安全預警 專題製作小組成員 ET083007周家正 ET083028黃瀞萱(組長)

Upload: others

Post on 28-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

高雄捷運股份有限公司人工智慧學校技術領袖培訓班第三期專題簡報

捷運車廂乘客安全預警

專題製作小組成員 ET083007周家正 ET083028黃瀞萱(組長)

Page 2: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

前言

2014年台北捷運襲擊事件,造成四死廿四傷的重大傷亡結果,引起社會動盪不安。兇

手首先攻擊睡眠中之乘客,加上其他乘客均處於放鬆滑手機的狀態,因此未在第一時

間受到警告而產生防禦之心,讓他在倒數第二到第五車廂無阻礙的砍殺多人,最後竟

逃離車廂,直到被見義勇為民眾制伏。

此次事件的兇手鄭捷僅是一位學生,卻在搭乘捷運時造成重大傷亡,最主要原因是因

為車輛行駛中,乘客並未處於警戒狀態,如果可以有影像偵測與預警系統,可協助車

上乘客在危急時刻有所警惕,並通知車站維安人員到達正確位置壓制兇手,可有效控

制危機,讓乘客安全更能得到保障。

Page 3: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

高捷企業專題名稱

捷運車廂空間乘客安全預警系統

在不危害到隱私權益前提下,讓AI之眼關注乘客安全!

Page 4: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

找出危險物件,緊急通報!

專題任務

Knife

Attacking

Knife

Knife

Gun

John Wick💘

error

Page 5: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

使用絕技-瞳之術DarknetYOLOv3 Model+Darknet53 Backbone(使用為transfer learning)

YOLO使用CNN作為偵測物件原理,YOLO不只偵測物件分類,並且標示物件位置,所以YOLO可

以在一張圖片上可以多物件的方式標示,如上圖同時標示人與腳踏車。

Page 6: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

Input(416, 416, 3)

Conv2D(416, 416, 32)

Res(104, 104, 128)

Res(52, 52, 256)

Res(26, 26, 512)

Conv2D+Up2D(26, 26, 256)

Conv2D 5L(13, 13, 1024) Res

(26, 26, 768)

Conv2D 1x1+Conv2D 3x3+Conv2D 1x1(13, 13, 255)

Conv2D 5L(26, 26, 256)

Conv2D+Up2D(52, 52, 128)

Res(52, 52, 256)

Conv2D 5L(52, 52, 128)

Conv2D 1x1+Conv2D 3x3+Conv2D 1x1(26, 26, 255)

Conv2D 1x1+Conv2D 3x3+Conv2D 1x1(52, 52, 255)(80+5)*3=255

使用 RESNet 網路 (Residual Network)新的基底網路為 Darknet-53,有 53 層,隨著網絡層數不斷加深 (數量級從 20~30 層到 ~50 層),採用了一般類神經網路加深時常用的 ResNet 結構來解決梯度問題

Page 7: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

Adaptively Spatial Feature Fusion , ASFF

https://arxiv.org/pdf/1911.09516v1.pdf Learning Spatial Fusion for Single-Shot Object Detection

使用 FPN 網路 (Feature Pyramid Networks)使用 FPN 多層級預測架構以提升小物體預測能力,特徵層從單層 13x13 變成了多層 13x13、26x26 和 52x52。使用 FPN 的架構可以讓低層較佳的目標位置和高層較佳的語義特徵融合,並且在不同特徵層獨立進行預測,使得小物體檢測改善效果十分明顯。

Page 8: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

8294106

416x416x3 416x416x32208x208x64 104x104x128 52x52x256 26x26x512 13x13x1024 13x13x512 13x13x1024 13x13x255

13x13x256

26x26x256

26x26x768 26x26x256 26x26x512 26x26x255

26x26x128

52x52x12852x52x384 52x52x128 52x52x256 52x52x255

Page 9: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

YOLOv3應用在影片上

Total number of frames 269

Total amount of time 107.42672 seconds

FPS: 2.5一秒取2.5張

原始碼位址https://drive.google.com/open?id=1aFeGSbv0Nbox-uZ7c9k1bUrOnP6iThpB

Page 10: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

YOLO COCO Dataset Classes

person、bicycle、car、motorbike、aeroplane、bus、train、truck、boat、traffic light、fire hydrant、stop sign、parking meter、bench、bird、cat、dog、horse、sheep、cow、elephant、bear、zebra、giraffe、backpack、umbrella、handbag、tie、suitcase、frisbee、skis、snowboard、sports ball、kite、baseball bat 棒球棍、baseball glove、skateboard、surfboard、tennis racket、bottle、wine glass、cup、fork、knife、spoon、bowl、banana、apple、sandwich、orange、broccoli、carrot、hot dog、pizza、donut、cake、chair、sofa、pottedplant、bed、diningtable、toilet、tvmonitor、laptop、mouse、remote、keyboard、cell phone、microwave、oven、toaster、sink、refrigerator、book、clock、vase、scissors、teddy bear、hair drier、toothbrush

Page 11: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

YOLOv3 密技展開-使用COCO Dataset 進行影像偵測Import openCV -> 讀入影像 -> 使用Blob包覆影像(轉成四維) -> 載入YOLOv3模型 -> 紀錄偵測時間 -> 取出 bounding boxes(決定類別) -> Non-maximum suppression剔除機

率低的分類預測 -> 畫出分類與標示內容

偵測結果

原始碼位址https://drive.google.com/file/d/1z8is_lZAhODEAzSjpmvhCWnBHwo2Ytkb/view?usp=sharing

Page 12: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

YOLOv3 密技展開-After Action Review➔ 讀刀不讀人,讀人不讀刀

➔ 水果刀變剪刀,菜刀變手機

以上皆說明識刀不清呀

無法判別被手握住的刀

Page 13: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

下個目標

➔ 定義危險物件的classes分類。-> Knife

➔ 標定label含有手握刀以及各家名刀種類的自行製作dataset : 使用YOLO的格式標記Label。

Page 14: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

YOLOv3 darknet測試刀子圖片-收集持刀圖片前步驟➔ 刀子如果是偏黑色就會變剪刀或是無偵測(2020-03-28建立)

未偵測出 偵測為剪刀

正確結果

Page 15: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

免費網路圖片資源 : Open Image Dataset V6 https://storage.googleapis.com/openimages/web/visualizer/index.html?set=train&type=segmentation&r=false&c=%2Fm%2F04ctx

含各種情境

及有手握刀的圖片

Page 16: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第一次訓練:使用 Open Image Dataset V6 + 331張手持刀圖片

Page 17: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

使用 OIDv4-toolkit 下載 Open Image Dataset-Knife

➔ 下載

OIDv4-toolkit➔ 使用OIDv4-toolkit

下載圖片

>conda install git>git clone https://github.com/EscVM/OIDv4_ToolKit.git>cd OIDv4_ToolKit>pip install -r requirements.txt

>cd OIDv4_ToolKit>python main.py downloader --classes Kitch_knife Knife --type_csv train --multiclasses 1 --limit 800>python main.py visualizer

Page 18: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

Open Image “Kitchen knife” “Knife”-轉換成YOLO特徵圖片

下載資料內容

import pandas as pdimport osfull_path_to_csv = '/home/my_name/OIDv4_ToolKit/OID/csv_folder'full_path_to_images = \ '/home/my_name/OIDv4_ToolKit/OID/Dataset/train/Kitchen_knife_knife'labels = ['Kitchen knife', 'Knife']classes = pd.read_csv(full_path_to_csv + '/' + 'class-descriptions-boxable.csv', usecols=[0, 1], header=None)encrypted_strings = []for v in labels: sub_classes = classes.loc[classes[1] == v] e = sub_classes.iloc[0][0] encrypted_strings.append(e)annotations = pd.read_csv(full_path_to_csv + '/' + 'train-annotations-bbox.csv', usecols=['ImageID','LabelName','XMin','XMax','YMin','YMax'])sub_ann = annotations.loc[annotations['LabelName'].isin(encrypted_strings)].copy()sub_ann['classNumber'] = ''sub_ann['center x'] = ''sub_ann['center y'] = ''sub_ann['width'] = ''sub_ann['height'] = ''for i in range(len(encrypted_strings)): sub_ann.loc[sub_ann['LabelName'] == encrypted_strings[i], 'classNumber'] = isub_ann['center x'] = (sub_ann['XMax'] + sub_ann['XMin']) / 2sub_ann['center y'] = (sub_ann['YMax'] + sub_ann['YMin']) / 2sub_ann['width'] = sub_ann['XMax'] - sub_ann['XMin']sub_ann['height'] = sub_ann['YMax'] - sub_ann['YMin']r = sub_ann.loc[:, ['ImageID', 'classNumber', 'center x', 'center y', 'width', 'height']].copy()os.chdir(full_path_to_images)for current_dir, dirs, files in os.walk('.'): for f in files: if f.endswith('.jpg'): image_name = f[:-4] sub_r = r.loc[r['ImageID'] == image_name] resulted_frame = sub_r.loc[:, ['classNumber', 'center x', 'center y', 'width', 'height']].copy() path_to_save = full_path_to_images + '/' + image_name + '.txt' resulted_frame.to_csv(path_to_save, header=False, index=False, sep=' ')

1 0.4481 0.4915 0.6712 0.8536 0 0.4475 0.4929 0.67 0.8752類別 X軸位置 Y軸位置 寬度 高度

classes.names:Kichen KnifeKnife

Page 19: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

新增手持刀圖片-使用 Labelimg 標記YOLO特徵圖片

https://drive.google.com/file/d/19CRHsZvky12VOz-EX6nFrLnLh3PUHZOT/view?usp=sharing YOLO格式介紹

*1.要選成YOLO格式。 *2.YOLO會產生與圖片相同檔案之標記txt檔,以及分類內容classes之txt檔。

*1

*2

下載LabelImg

至data中修改

predefined_classes.txt

Page 20: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

收集 Darknet 訓練資料之一 劃分Train/Valid之txt資料

➔ train.txt #取得Train資料集

➔ test.txt #取得Valid資料集

C:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fb4cd766c218666d.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fbb61f53681d7494.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fc225d6f6fe570ec.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fcba8f8612bc1b93.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fd17aa0e39f40ba3.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fe4a4d55f60ee669.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/fe88f63459353344.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0001.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0002.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0003.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0004.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0005.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0006.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0007.jpgC:\Users\monic\Documents\UdemyYoloV3\L4\labelled-custom2/img-0008.jpg

Page 21: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

收集 Darknet 訓練資料之二 .data/.names

➔ custom_data.data➔ classes.names

Page 22: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

使用 Darknet 訓練資料: .data介紹

➔ classes = 2 #類別數量

➔ train = path/train.txt #➔ valid = path/test.txt➔ names = path/classes.names➔ backup = backup

使用 Darknet 訓練資料: .names介紹

➔ kitchen knife➔ knife

Page 23: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

將所有Custom Data攪在一起

首先要將所有圖片放到同一個資料夾中,再使用python將文字資料加在一起

加入訓練集文字資料 JupyterNotebook檔案: train.txt/test.txt

加入data文字資料 JupyterNotebook檔案: Joined_data.data/ 新classes.names

Page 24: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

用Darknet訓練資料 - 使用Anaconda Prompt執行

➔ 安裝 Darknet

➔ 測試是否安裝成功

➔ 將所需資料放到Darknet對應資料夾

➔ 設定參數

➔ 開始訓練

Page 25: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

參數介紹-需要調整的參數-由yolov3.cfg修改

filters=32 #(classes + coordinates(座標值) +1)*masks #5:tx, ty, tw, th + 1for joined_dataset: (3 + 5)*3 = 24

➔ Last 3 YOLO layers[convolutional] filter=255 #需修改為24[yolo] classes=80 #需修改為3(Kitchen knife, Knife, Attack)

➔ max_batches = classes(3)*2000 (not less than 4000)=6000 訓練的iteration數➔ steps = 80% of max_batches(4800), 90%(5400) of max_batches #根據batch數調整learning rate➔ mini batch = batch/subdivisions

Parameters for training: batch = 64 / subdivision = 32Parameters for testing: batch= 1 / subdivision = 1

➔ *依照以上設定,另存 yolov3_joined_train.cfg / yolov3_joined_test.cfg

1 0.4481 0.4915 0.6712 0.8536 0 0.4475 0.4929 0.67 0.8752類別 X軸位置 Y軸位置 寬度 高度

Page 26: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

Darknet 開始Train➔ darknet.exe detector train cfg/joined3_data.data cfg/yolov3_joined3_train.cfg weights/darknet53.conv.74 -map

#weights/darknet53.conv.74 使用darknet53.conv.74作transfer learning#-map可附贈loss/mAP方格圖

Page 27: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

Darknet Train 時的log

Batch 完成時的 log

➔ [current iteration]: [cur loss], [avg loss] avg, [learning rate] rate, [running time] seconds, [images count] images 2775 : 0.487991, 0.434679 avg loss, 0.001000 rate, 7.249000 seconds, 177600 images

Subdivision 完成時的 log

➔ v3 (mse loss, Normalizer: (iou: 0.75, cls: 1.00) Region 82 Avg (IOU: 0.791135, GIOU: 0.785672), Class: 0.810664, Obj: 0.620445, No Obj: 0.004544, .5R: 1.000000, .75R: 1.000000, count: 3, class_loss = 0.783427, iou_loss = 0.221446, total_loss = 1.004873

➔ v3 (mse loss, Normalizer: (iou: 0.75, cls: 1.00) Region 94 Avg (IOU: 0.000000, GIOU: 0.000000), Class: 0.000000, Obj: 0.000000, No Obj: 0.000011, .5R: 0.000000, .75R: 0.000000, count: 1, class_loss = 0.000022, iou_loss = 0.000000, total_loss = 0.000022

➔ v3 (mse loss, Normalizer: (iou: 0.75, cls: 1.00) Region 106 Avg (IOU: 0.000000, GIOU: 0.000000), Class: 0.000000, Obj: 0.000000, No Obj: 0.000001, .5R: 0.000000, .75R: 0.000000, count: 1, class_loss = 0.000004, iou_loss = 0.000000, total_loss = 0.000004

Page 28: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第一次 Darknet 訓練結果

calculation mAP (mean average precision)...

detections_count = 438, unique_truth_count = 306class_id = 0, name = knife, ap = 43.70% (TP = 27, FP = 14)class_id = 1, name = kitchen knife, ap = 63.72% (TP = 99, FP = 22)

for conf_thresh = 0.25, precision = 0.78, recall = 0.41, F1-score = 0.54 for conf_thresh = 0.25, TP = 126, FP = 36, FN = 180, average IoU = 61.32 %

IoU threshold = 50 %, used Area-Under-Curve for each unique Recall mean average precision ([email protected]) = 0.537135, or 53.71 %

Page 29: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

訓練結果 是有比較好一點,但是...

COCO Dataset未偵測出的項目

自定義 DatasetOpen Image Dataset V6 + 331張網路找的手持刀圖片

Page 30: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第二次訓練:使用 Open Image Dataset V6 + 507張網路找的手持刀圖片+1新增類別 : Attack

Page 31: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第二次 Darknet 訓練結果

calculation mAP (mean average precision)...

detections_count = 1059, unique_truth_count = 306class_id = 0, name = kitchen knife, ap = 48.80% (TP = 47, FP = 48)class_id = 1, name = knife, ap = 64.17% (TP = 117, FP = 55)class_id = 2, name = attack, ap = 0.00% (TP = 0, FP = 10)

for conf_thresh = 0.25, precision = 0.59, recall = 0.54, F1-score = 0.56 for conf_thresh = 0.25, TP = 164, FP = 113, FN = 142, average IoU = 45.00 %

IoU threshold = 50 %, used Area-Under-Curve for each unique Recall mean average precision ([email protected]) = 0.376566, or 37.66 %Total Detection Time: 6 Seconds

Page 32: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

訓練效果顯著 以下為兩個分類與三個分類比較:

Page 33: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報
Page 34: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報
Page 35: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

還是有些缺陷,可以當作下次收集Datasets目標:

背景太複雜 預測錯誤危險狀的手勢

解析度較差

解析度較差 解析度較差 背景太複雜

Page 36: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

接下來看看影片效果吧-牛排刀

Page 37: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

接下來看看影片效果吧-菜刀

Page 38: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

接下來看看影片效果吧-水果刀

Page 39: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第三次訓練:使用 Open Image Dataset V6 + 507張網路找的手持刀圖片+478張自拍的影片+1新增類別 : Attack

Page 40: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

第三次 Darknet 訓練結果

calculation mAP (mean average precision)...252detections_count = 1113, unique_truth_count = 454class_id = 0, name = kitchen knife, ap = 48.44% (TP = 64, FP = 56)class_id = 1, name = attack, ap = 0.00% (TP = 0, FP = 9)class_id = 2, name = knife, ap = 67.47% (TP = 197, FP = 61)

for conf_thresh = 0.25, precision = 0.67, recall = 0.57, F1-score = 0.62 for conf_thresh = 0.25, TP = 261, FP = 126, FN = 193, average IoU = 53.14 %

IoU threshold = 50 %, used Area-Under-Curve for each unique Recall mean average precision ([email protected]) = 0.386371, or 38.64 %Total Detection Time: 8 Seconds

Page 41: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

訓練資料進化過程

未偵測出

knife: 52%attack: 65%

自定義 DatasetOpen Image Dataset V6

+ 331張手持刀圖片COCO Dataset

自定義 DatasetOpen Image Dataset V6

+ 507張手持刀圖片+1新增類別 : Attack

自定義 DatasetOpen Image Dataset V6

+ 990張手持刀圖片+1新增類別 : Attack

Page 42: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

接下來看看影片效果吧-菜刀

Page 44: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

試試看十大劍術電影 Sword Fighting-保證低解析

Page 45: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

結論一-下一步

➔ 雖然是利用object偵測的方式標記動作偵測,基本上是可以針對持危險物品的動

作物件進行標記與訓練,但mAP數據說明,動作偵測FP很高,未來可以朝Pose Estimation進行下一步,針對範圍涵蓋所有攻擊行為。

Page 46: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

結論二-由偵測到預警

➔ The Python Mega Course: Build 10 Real World Applications我們的課程已經算是將Machine Learning領域完整涵蓋,但是要落實商業化仍需

要有實質性的App建立,下一步要找出如何將偵測的log轉出到前端,達到預警的

效果。

Page 47: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

參考資料來源

Multi-Person Pose Estimation in OpenCV using OpenPosehttps://www.learnopencv.com/multi-person-pose-estimation-in-opencv-using-openpose/

安裝drakflowhttp://www.darkflow.org/docs/installation.en/#darkflow-on-ms-windows下載位置http://www.darkflow.org/docs/download.en/

https://medium.com/@airwaves/opencv-%E5%9C%A8windows%E4%B8%AD%E5%AE%89%E8%A3%9D-opencv-python-295ae092ca57 OpenCV —在Windows中安裝 OpenCV-python

Page 48: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

參考資料來源

YOLOv3: An Incremental Improvement 原始介紹論文https://pjreddie.com/media/files/papers/YOLOv3.pdf

https://allen108108.github.io/blog/2020/02/15/[%E8%AB%96%E6%96%87]%20YOLOv3%20_%20An%20Incremental%20Improvemen

t/ YOLOv3論文中文說明

configuration file for YOLOv3-608 model: YOLOv3參數內容https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg

https://www.twblogs.net/a/5b839ebd2b71777a2efcab7f

https://towardsdatascience.com/yolo-v3-object-detection-53fb7d3bfe6b 英文介紹

https://medium.com/@chih.sheng.huang821/%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92-%E7%89%A9%E4%BB%B6%

E5%81%B5%E6%B8%AC-you-only-look-once-yolo-4fb9cf49453c 中文介紹(大推)

Page 49: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

參考資料來源

http://yy-programer.blogspot.com/2019/01/yolo-darknet.html 安裝darknet

https://medium.com/@chih.sheng.huang821/%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92-%E7%89%A9%E4%BB%B6%

E5%81%B5%E6%B8%ACyolov1-yolov2%E5%92%8Cyolov3-cfg-%E6%AA%94%E8%A7%A3%E8%AE%80-75793cd61a01 YOLOv3.cfg 參數說明

https://www.twblogs.net/a/5b8d84502b717718833e9a58 YOLOv3.cfg 參數說明

https://medium.com/@chih.sheng.huang821/%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92%E7%B3%BB%E5%88%97-%

E4%BB%80%E9%BA%BC%E6%98%AFap-map-aaf089920848 YOLO3 MAP說明

https://mropengate.blogspot.com/2018/06/yolo-yolov3.html 比較YOLO各版本

https://data-sci.info/2017/07/19/feature-pyramid-networks-object-detection/ FEATURE PYRAMID NETWORKS FOR OBJECT DETECTION

Page 50: 高雄捷運股份有限公司 - aiacademy.tw › event › st3 › file › technicalNO03.pdf · 高雄捷運股份有限公司 人工智慧學校技術領袖培訓班第三期專題簡報

參考資料來源

Online Video Object Detection using Association LSTMhttp://openaccess.thecvf.com/content_ICCV_2017/papers/Lu__Online_Video_ICCV_2017_paper.pdf

Multiple Target Trackinghttps://mc.ai/multiple-target-tracking/

Action Recognition in Video Sequences using Deep Bi-Directional LSTM With CNN Featureshttps://ieeexplore.ieee.org/document/8121994

Order-Free RNN with Visual Attention for Multi-Label Classificationhttps://arxiv.org/pdf/1707.05495.pdf

https://www.dlology.com/blog/live-face-identification-with-pre-trained-vggface2-model/

https://paperswithcode.com/task/6d-pose-estimation