# 期末專題:熱影像頭部辨識 M11107424 電機碩一 劉哲瑜 ## 簡介 由於新冠疫情的延燒,很多的醫院都出現量能不足的問題。再加上疫情期間人心惶惶,醫療人員們也是能夠不接觸病患就盡量不接觸。在此背景下,我們希望可以透過一些非接觸式的裝置以及技術以幫助醫療人員能夠不接觸病人就得知病人的生理數據,故有了此專題的發想。 此專題整體主要使用**YOLOv5**進行thermal data的預測。並利用OpenVINO進行推理加速。 除了套用模型預測外,本專題還有對於raw data的預處理以及使用YOLOv5 detect後的post processing部分。 ## 資料集建置 此次熱影像資料集的建置主要分為兩個部分: 1. 實驗室自行錄製資料 2. 醫院錄製資料 其中: * 總體的訓練資料量: 4192張圖片(含Augmentation後的資料) * 正常值測試資料量: 957張圖片 * 異常值測試資料量: 471張圖片 Label標註的部分則為將Matplotlib的標註形式根據定義轉換為YOLO labels的形式 其中: * 總體的訓練Label量: 4192組(含Augmentation後的Label) * 正常值測試Label量: 957組 * 異常值測試Label量: 471組 標註完的圖片如下: ![](https://hackmd.io/_uploads/r1Tq1_uI3.png =50%x) ## 資料預處理 資料預處理的部分包含下列主要部分: ### 1. 主要部分 * 中值濾波 * Gamma修正 * 定範圍標準化 * 誤差平面運算 ### 2. 資料集擴增部分 ### 3. 各部分細部介紹 #### 中值濾波: 目的: * 影像平滑化 * 降噪(剔除異常值) ![](https://hackmd.io/_uploads/ByP-zd_Ih.png) #### Gamma修正: 目的: * 增強影像對比度 ![](https://hackmd.io/_uploads/ryzopj_I2.png) #### 定範圍標準化: 目的: * 平衡影像像素值 ![](https://hackmd.io/_uploads/Syo80ouU3.png) #### 誤差平面運算: 目的: * 得到不同層級的資訊 * 增強特徵 ![](https://hackmd.io/_uploads/HyCPJn_8n.png =50%x) ## 實驗結果 處理器型號:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz ### 1. 正常值資料集 ![](https://hackmd.io/_uploads/r1h4g0OL2.jpg =50%x) * IOU:0.97 * HCR:0.98 * 推論時間(CPU-OpenVINO optimized):129.1 ms * 推論時間(CPU):276.2 ms * Speed up(%):53.3 % ### 2. 醫院資料集 ![](https://hackmd.io/_uploads/Hk2FgCOU2.jpg =50%x) * IOU:0.78 * HCR:0.93 * 推論時間(CPU-OpenVINO optimized):129.1 ms * 推論時間(CPU):276.2 ms * Speed up(%):53.3 % ### 3. 異常值資料集 ![](https://hackmd.io/_uploads/rJNjgRd83.jpg =50%x) * IOU:0.53 * HCR:0.74 * 推論時間(CPU-OpenVINO optimized):135.3 ms * 推論時間(CPU):283.1 ms * Speed up(%):52.2 % ## 結論 ### OpenVINO加速 * 利用OpenVINO加速可增加50%以上速度 ### 此專題特點 * 低解析度偵測 * 正常值資料測試具有90%以上的準確率 ### 需要改進的部分 * 異常值資料準確度加強 ## 參考資料 * YOLOv5開源資料碼:[https://github.com/ultralytics/yolov5 ](https://github.com/ultralytics/yolov5)