Python-蕭O泓-Covid-19檢測
- Tw Tedu
- 2022年3月28日
- 讀畢需時 2 分鐘
使用卷積神經網路有助於醫生檢測病人是否感染Covid-19

專案動機
本專案開發一種基於卷積神經網路模型,用於辨識出緩者是否感染Covid-19
這兩年隨著Covid-19造引起肺炎,而胸部X光圖像非常適合辨識出患者是否感染
重點介紹
技術1.流程圖

流程圖包含了:
影像前處理
CNN模型和分類結果
其中影像前處理模組包含了:
影像大小縮放
轉換成灰階圖像
技術2.資料集說明
圖片來源為Kaggle上COVIDx CXR-2資料集


資料集以80:20比例拆分
技術3.灰階轉換
為了讓所有顏色通道保持一制性,也讓進入捲積時的input shape保持一致

公式如下:
RGB[A] to Gray:Y←0.299⋅R+0.587⋅G+0.114⋅B
技術4.灰階轉換
直方圖均衡化
用於加強X光圖像的肺部結構顯示,使模型的準確度提升。

技術5.卷積神經網路模型架構
該模型架構包含了4層的卷積層,4層的最大池化層,1層的展平層和5層的全連接層。

卷積層
主要是通過卷積核提取特徵
最大池化層透過設定過濾器大小和步幅從特徵圖中提取為大值
並達到防止過擬合的問題,平坦層主要目的是將其輸入到人工神經網絡中進行進一步處理
全連接層
主要是用來分輸出類結果,由於該問題是二元分類問題,所以這裡使用激活函數sigmoid。
技術6.模型訓練過程
在配置模型訓練階段時,權重是隨機初始化的,優化器是使用Adam進行訓練的。
Loss使用BinaryCrossentropy。
Learning Rate設定0.0001。

在模型訓練的階段,設定Batch Size(每次梯度更新的數量)為32。
Epochs設定為100,主要是用來設定訓練模型的時期數。
在訓練過程中為了防止模型過擬合,使用Early Stopping來達到更好的收斂。
技術7.混淆矩陣 & 準確率



結論
根據本次專案得出,利用影像來幫助醫生識別病人是否罹患Covid-19是可行的
使用建構的捲積神經網路並搭配測試集得出的準確度達到92%
未來希望可以優化此模型,並期望可以達到95%左右的準確度,也希望未來可以將此打造成一個較為完整的系統
專案心得&教學回饋
經過了這半年的學習
從對於資料分析、人工工智慧方向懵懵懂懂到現在能夠獨自完成一個專案。
在這兩個月的專案實作中
了解到一個專案的完成是經過多方向的討論和修改的。
Comments