第16章:基于CNN和Transformer對心臟左心室的實驗分析及改進策略

目錄

1. 項目需求

2. 網絡選擇

2.1 UNet模塊

2.2 TransUnet

2.2.1 SE模塊

2.2.2 CBAM

2.3 關鍵代碼

3 對比試驗

3.1 unet

3.2?transformer+SE

3.3?transformer+CBAM

4. 結果分析

5. 推理

6. 下載


1. 項目需求

本文需要做的工作是基于CNN和Transformer的心臟左心室分割,需要在Transformer網絡中進行改進,以求期待更好的分割結果

數據集的樣式如下:

這里的標簽是這樣的:

因為是二值的分割任務,這里心臟的左心室標簽全部標記為1,看起來是全黑的,可以可視化看看

2. 網絡選擇

本文選擇的網絡是UNet和TransUnet,并且在TransUnet中加入注意力模塊

2.1 UNet模塊

Unet網絡是一種用于圖像分割任務的深度學習架構,由Ronneberger等人于2015年提出。Unet的結構類似于自編碼器,采用對稱的結構,分為編碼器和解碼器兩部分。

編碼器部分由卷積層和池化層構成,用于提取圖像的特征并逐漸減小空間分辨率。解碼器部分則由反卷積層和卷積層構成,用于將編碼器提取的特征映射回原始分辨率,并生成分割結果。

在訓練過程中,Unet通過將輸入圖像與對應的標簽圖像一起輸入網絡,利用損失函數計算網絡輸出與標簽之間的差異,并通過反向傳播算法調整網絡參數,使得網絡輸出能夠盡可能地接近標簽圖像。

Unet網絡在圖像分割任務中表現出色,尤其在醫學圖像分割等領域取得了很好的效果。其優點包括較小的參數數量、對少量訓練樣本的高效利用,以及良好的分割精度。

2.2 TransUnet

TransUNet是一種基于Transformer的圖像分割模型,它結合了Transformer的自注意力機制和UNet的編碼-解碼結構。這個模型由微軟研究院提出,旨在應用于醫學圖像分割任務。

TransUNet模型的架構主要分為兩部分:Encoder部分和Decoder部分。Encoder部分主要利用Transformer的自注意力機制來提取圖像的全局特征,而Decoder部分則類似于UNet的解碼器,用于將特征映射回原始圖像的分辨率并生成分割結果。

相較于傳統的卷積神經網絡,TransUNet模型在處理長程依賴關系和全局特征提取方面具有優勢。它可以學習到更加細致和全局的特征表示,有助于提升圖像分割的準確性和性能。

總的來說,TransUNet模型是一種結合了Transformer和UNet特點的先進圖像分割模型,適用于醫學圖像等領域的任務。

2.2.1 SE模塊

SE模塊(Security Enhancement Module)是一種用于增強系統安全性的軟件或硬件模塊。它通常被用于加固系統的安全性,提高系統的防護能力,防止惡意攻擊和數據泄露。SE模塊可以實現諸如數據加密、訪問控制、身份認證等功能,從而確保系統和數據的安全。在當今信息安全日益重要的環境下,SE模塊成為許多系統和應用程序的重要組成部分,幫助用戶保護其重要信息和資產不受損害。

2.2.2 CBAM

CBAM模塊是一種用于解決關注機制(Attention Mechanism)的問題的模塊。它結合了通道注意(Channel Attention)和空間注意(Spatial Attention)的方法,從而能夠更加有效地捕捉輸入特征圖中的重要信息。通過CBAM模塊,神經網絡可以學習到更加具有區分度的特征表示,從而提升模型在各種視覺任務中的性能表現。CBAM模塊已經在許多計算機視覺領域得到了成功的應用,成為提升模型性能的重要工具之一。

2.3 關鍵代碼

代碼部分,這里放了三個代碼,分別是unet、transformer+SE、transformer+CBAM,可以自行選擇

    # 1. cbam  注意力機制# model =TransUnet(in_channels=3,img_dim=224,vit_blocks=1,#              vit_dim_linear_mhsa_block=512, classes=nc)# 添加模塊代碼# model.vit.mlp_head.add_module('cbam', CBAM(1024))# model.vit.transformer.layers[0].mhsa.to_qvk.add_module('cbam', CBAM(1024))# model.vit.transformer.layers[0].mhsa.W_0.add_module('cbam', CBAM(1024))##2.  unetmodel = U_Net(img_ch=3,output_ch=nc)# # # 3. se# model =TransUnet(in_channels=3,img_dim=224,vit_blocks=1,#              vit_dim_linear_mhsa_block=512, classes=nc)## # 添加模塊代碼# model.vit.mlp_head.add_module('se', SE_Block(1024))# model.vit.transformer.layers[0].mhsa.to_qvk.add_module('se', SE_Block(1024))# model.vit.transformer.layers[0].mhsa.W_0.add_module('se', SE_Block(1024))

3 對比試驗

因為對比試驗,其他的參數都是一樣的,如下所示:

    "train parameters": {"batch size": 4,"lr": 0.001,"lrf": 0.01,"ct": false,"epochs": 100,"num classes": 2,"best epoch": 96

3.1 unet

最好epoch?

    "epoch:97": {"train log:": {"info": {"pixel accuracy": [0.9996318221092224],"Precision": ["0.9721"],"Recall": ["0.9731"],"F1 score": ["0.9726"],"Dice": ["0.9726"],"IoU": ["0.9466"],"mean precision": 0.9721232056617737,"mean recall": 0.9730567932128906,"mean f1 score": 0.9725897908210754,"mean dice": 0.9725897908210754,"mean iou": 0.9466421008110046}},"val log:": {"info": {"pixel accuracy": [0.9994057416915894],"Precision": ["0.9563"],"Recall": ["0.9568"],"F1 score": ["0.9566"],"Dice": ["0.9566"],"IoU": ["0.9168"],"mean precision": 0.9563419818878174,"mean recall": 0.9568029046058655,"mean f1 score": 0.956572413444519,"mean dice": 0.956572413444519,"mean iou": 0.916759729385376}

3.2?transformer+SE

最好的epoch:

       "train log:": {"info": {"pixel accuracy": [0.9997045397758484],"Precision": ["0.9780"],"Recall": ["0.9780"],"F1 score": ["0.9780"],"Dice": ["0.9780"],"IoU": ["0.9569"],"mean precision": 0.9780052900314331,"mean recall": 0.9779714941978455,"mean f1 score": 0.9779884219169617,"mean dice": 0.9779884219169617,"mean iou": 0.9569249749183655}},"val log:": {"info": {"pixel accuracy": [0.9994567036628723],"Precision": ["0.9588"],"Recall": ["0.9619"],"F1 score": ["0.9604"],"Dice": ["0.9604"],"IoU": ["0.9237"],"mean precision": 0.9588128328323364,"mean recall": 0.9618959426879883,"mean f1 score": 0.9603518843650818,"mean dice": 0.9603519439697266,"mean iou": 0.9237278699874878}}},

?

3.3?transformer+CBAM

最好的epoch:

    "epoch:96": {"train log:": {"info": {"pixel accuracy": [0.9996169209480286],"Precision": ["0.9724"],"Recall": ["0.9705"],"F1 score": ["0.9714"],"Dice": ["0.9714"],"IoU": ["0.9445"],"mean precision": 0.9724175333976746,"mean recall": 0.9704613089561462,"mean f1 score": 0.9714384078979492,"mean dice": 0.971438467502594,"mean iou": 0.9444631338119507}},"val log:": {"info": {"pixel accuracy": [0.9994094967842102],"Precision": ["0.9582"],"Recall": ["0.9554"],"F1 score": ["0.9568"],"Dice": ["0.9568"],"IoU": ["0.9171"],"mean precision": 0.9581836462020874,"mean recall": 0.9553713798522949,"mean f1 score": 0.9567754864692688,"mean dice": 0.956775426864624,"mean iou": 0.9171327948570251}}

4. 結果分析

指標如下:

unettransformer+setransformer+cbam
0.95660.96040.9568
????????0.9168????????0.92370.9171

上述的指標均為驗證集上的指標

其中第一行為dice、第二行為iou

可以發現,transformer+se的效果是最好的

5. 推理

運行命令:streamlit run infer.py

6. 下載

關于本項目代碼和數據集、訓練結果的下載:【更換數據集進行訓練的話,參考readme文件,pip?requirements文件就行了】

基于transformer和unet卷積神經網絡對心臟左心室分割的研究、已經訓練完成資源-CSDN文庫

包含數據集、完整代碼、和訓練結果:


關于神經網絡的改進:圖像分類網絡改進_聽風吹等浪起的博客-CSDN博客?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74422.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74422.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74422.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【AI】知識蒸餾-簡單易懂版

1 緣起 最近要準備升級材料,里面有一骨碌是介紹LLM相關技術的,知識蒸餾就是其中一個點, 不過,只分享了蒸餾過程,沒有講述來龍去脈,比如沒有講解Softmax為什么引入T、損失函數為什么使用KL散度,…

批量將PPT轉換成多張圖片

以下是一個使用Python將PowerPoint文件(PPT/PPTX)批量轉換為多張圖片的代碼示例。該方案通過comtypes庫調用本地Office的COM接口實現轉換,需確保已安裝Microsoft PowerPoint。 import os import comtypes.client from comtypes import COMEr…

單例模式的經典實現

單例模式(Singleton)是一種創建型設計模式,它確保一個類只有一個實例,并提供一個全局訪問點。在MyBatis、Redisson、AMQP等依賴包中,單例模式被廣泛應用。以下是這些框架中單例模式的經典實現及舉例: 1. My…

2024年數維杯數學建模B題生物質和煤共熱解問題的研究解題全過程論文及程序

2024年數維杯數學建模 B題 生物質和煤共熱解問題的研究 原題再現: 隨著全球能源需求的不斷增長和對可再生能源的追求,生物質和煤共熱解作為一種潛在的能源轉化技術備受關注。生物質是指可再生能源,源自植物和動物的有機物質,而煤…

靈茶山艾府基礎算法精講

day1 (1遍)167. 兩數之和 II - 輸入有序數組 https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/solution/san-shu-zhi-he-bu-hui-xie-xiang-xiang-sh-6wbq/ 15. 三數之和 https://leetcode.cn/problems/3sum/solution/shuang-zhi-zhen-…

圖解AUTOSAR_CP_LargeDataCOM

AUTOSAR LdCom模塊詳解 大型數據通信模塊的架構與實現 目錄 AUTOSAR LdCom模塊詳解 目錄1. 概述2. 模塊架構3. 數據流程 3.1 整體數據流3.2 數據發送流程3.3 數據接收流程4. 配置結構5. 總結1. 概述 LdCom(Large Data COM)是AUTOSAR中的輕量級通信模塊,專為高效傳輸大型或動…

Flink 自定義數據源:從理論到實踐的全方位指南

目錄 第一章:自定義數據源的基礎概念 數據源是什么?它在 Flink 中扮演什么角色? Flink 的內置數據源:開箱即用的 “標配” 為什么需要自定義數據源?它的殺手锏在哪? 第二章:自定義數據源的實現之道 接口選擇:從簡單到高級,選對工具事半功倍 SourceFunction:入門…

HarmonyOS Next~鴻蒙應用框架開發實戰:Ability Kit與Accessibility Kit深度解析

HarmonyOS Next~鴻蒙應用框架開發實戰:Ability Kit與Accessibility Kit深度解析 一、HarmonyOS應用框架設計理念 HarmonyOS作為全場景分布式操作系統,其應用框架設計遵循"一次開發,多端部署"的核心原則。通過創新的原…

Spring相關API

1是相對路徑 2 是絕對路徑 3 在注解時使用

Netty源碼—客戶端接入流程

1.關于Netty客戶端連接接入問題整理 一.Netty是在哪里檢測有新連接接入的? 答:boss線程第一個過程輪詢出ACCEPT事件,然后boss線程第二個過程通過JDK底層Channel的accept()方法創建一條連接。 二.新連接是怎樣注冊到NioEventLoop線程的&#x…

python全棧-前端

python全棧-前端 文章目錄 HTML標簽段落p、換行br、水平線hr圖片img路徑src超文本鏈接a超鏈接之錨點href#id文本有序列表ol無序列表ul自定義列表表格table表格屬性單元格合并 表單Forminput標簽HTML5新增type屬性HTML5新增常用屬性 實體字符塊元素與行內元素/內聯元素容器元素d…

領域驅動設計(DDD)實踐入門

文章目錄 1.認識領域驅動設計1.1 簡介1.2 發展歷史1.3 DDD 的興起 2.從一個簡單案例2.1 轉賬需求2.2 設計的問題2.3 違反的設計原則 3.使用 DDD 進行重構抽象數據存儲層抽象第三方服務抽象中間件封裝業務邏輯重構后的架構 4.小結參考文獻 1.認識領域驅動設計 1.1 簡介 領域驅…

nuxt3網站文章分享微信 ,QQ功能

1.安裝 npm install qrcode --save-dev 2.組件使用 <div class"share"><div style"line-height: 69px; color: #fff;width: 100px;"><p style"text-align: center;">分享:</p></div><div click"shareToMi…

VMWare Ubuntu 詳細安裝教程

VMWare Ubuntu 詳細安裝教程 一、下載安裝VMware二、下載 Ubuntu 鏡像文件三、安裝 Ubuntu四、開啟虛擬機 一、下載安裝VMware 官網下載地址https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion知乎大佬的博客原文&#xff0c;含下載地址https://zhua…

MySQL里的鎖有哪些

MySQL 的鎖機制是實現并發控制的核心&#xff0c;不同層級的鎖適用于不同場景&#xff0c;以下是對其鎖類型的系統分類及詳細說明&#xff1a; 一、按鎖粒度劃分 1. 全局鎖&#xff08;Global Lock&#xff09; 用途&#xff1a;鎖定整個數據庫實例&#xff0c;用于全庫備份。…

Spring WebFlux 教程

Spring WebFlux 教程 Spring WebFlux 是 Spring Framework 5 引入的一種新的響應式編程框架&#xff0c;旨在處理高并發、高性能和實時數據流應用。與傳統基于線程阻塞的 Spring MVC 不同&#xff0c;WebFlux 采用了非阻塞、事件驅動的編程模型&#xff0c;能夠更加高效地利用…

SCI英文論文Accepted后的第一步——Rights and Access

SCI英文論文Accepted后的第一步——Rights and Access 目錄 SCI英文論文Accepted后的第一步——Rights and AccessBased on information provided the embargo period/end date is 24 months. 因為選擇閉源**Rights and Access(版權與訪問權限)**環節是關鍵第一步,具體操作流…

Qt文件管理系統

引言 今天我將使用model/view模型視圖框架來完成一個簡單的Qt文件管理系統&#xff0c;主要使用到了QTreeView、QTabelView視圖和QFileSystemModel文件系統模型。 界面設計 使用Qt創建項目并勾選創建ui文件&#xff0c;打開ui文件&#xff0c;使用Tree View、Table View、St…

《可愛風格 2048 游戲項目:HTML 實現全解析》

一、引言 在如今的數字化時代&#xff0c;小游戲以其簡單易上手、趣味性強的特點深受大家喜愛。2048 游戲作為一款經典的數字合并游戲&#xff0c;擁有龐大的玩家群體。本文將詳細介紹一個用單文件 HTML 實現的可愛風格 2048 游戲項目&#xff0c;它不僅具備傳統 2048 游戲的基…

CSS3:深度解析與實戰應用

CSS3&#xff1a;深度解析與實戰應用詳解 1. 選擇器增強2. 盒模型擴展3. 漸變和背景4. 轉換和動畫總結 CSS3 是 CSS&#xff08;層疊樣式表&#xff09;的最新版本&#xff0c;它引入了許多新的特性和功能&#xff0c;使得網頁的樣式設計更加靈活、豐富和具有動態效果。在本文中…