top of page

Python-蕭O泓-Covid-19檢測

使用卷積神經網路有助於醫生檢測病人是否感染Covid-19


專案動機

本專案開發一種基於卷積神經網路模型,用於辨識出緩者是否感染Covid-19

這兩年隨著Covid-19造引起肺炎,而胸部X光圖像非常適合辨識出患者是否感染


重點介紹
  • 技術1.流程圖

流程圖包含了:

  1. 影像前處理

  2. CNN模型和分類結果


其中影像前處理模組包含了:

  1. 影像大小縮放

  2. 轉換成灰階圖像









  • 技術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%左右的準確度,也希望未來可以將此打造成一個較為完整的系統


專案心得&教學回饋

經過了這半年的學習

從對於資料分析、人工工智慧方向懵懵懂懂到現在能夠獨自完成一個專案。


在這兩個月的專案實作中

了解到一個專案的完成是經過多方向的討論和修改的。

148 次查看

Comments


bottom of page