CTA-GAN:基于生成對抗性網絡的主動脈和頸動脈非集中CT血管造影 CT到增強CT的合成技術

Generative Adversarial Network–based Noncontrast CT Angiography for Aorta and Carotid Arteries

  • 基于生成對抗性網絡的主動脈和頸動脈非集中CT血管造影
    • 背景
    • 貢獻
    • 實驗
    • 方法
    • 損失函數
    • Thinking

基于生成對抗性網絡的主動脈和頸動脈非集中CT血管造影

https://github.com/ying-fu/CTA-GAN
Radiology 2023

背景

碘造影劑(ICAs)廣泛用于CT血管造影術(CTA),可能會對人體產生不良影響,而且使用耗時且成本高昂。研究用平掃CT合成造影劑CT并評價生成的效果很有意義。CTA——Syn-CTA

  • 難點:傳統的深度學習模型不能充分解決成對未對準圖像的映射翻譯問題。此外,先前的醫學圖像翻譯研究集中在單個解剖位置,而臨床診斷經常在多個位置進行(14,15)。

貢獻

  • 本文:開發一種基于生成對抗性網絡(GAN)的CTA成像模型(16-21),以合成獨立于ICAs的高質量CTA樣圖像,并評估使用這些合成CTA(Syn-CTA)圖像輔助臨床診斷的可行性。使用內部和外部測試數據從定量指標視覺質量和血管疾病診斷準確性方面評估Syn-CTA圖像

實驗

  • 數據集:收集了17-22年頸部和腹部的成對的CT和CTA圖像,1749名患者,1137訓練,400驗證,212測試,外部驗證42名。
  • 數據處理:每個NCCT和CTA掃描被重采樣到0.67x0.67x1.25的體積中,由75-490各切片組成,512x512分辨率,CTA造影劑濃度370mg/ml,注射速率4.5ml/s,將-2000-2095的像素值標準化到-1-1,排除手動檢查后圖像質量較差的掃描。
  • Patient Characteristics(患者特征),在1833名符合條件的患者中,84名圖像質量較差的患者被排除在外,1749名患者(中位年齡,60歲[IQR,50-68歲];1057名[60.4%]男性患者和692名[39.6%]女性患者)被納入分析。1137名患者的CT掃描用于模型訓練;來自400名患者的掃描用于模型開發驗證;212名患者的掃描用于模型測試(圖1)。外部獨立驗證集包括42名患者(中位年齡67歲[IQR,59–74歲];37名[88.1%]男性患者和5名[11.9%]女性患者)。
  • 評估方法:Quantitative Evaluation(定量評價),正態平均絕對誤差(NMAE)、峰值信噪比(PSNR)、結構相似性指數測量(SSIM
  • Visual Quality Evaluation(視覺質量評估),具有10年經驗的專家,獨立評估了CTA和Syn-CTA圖像的圖像質量。任何分歧都通過協商一致的方式解決。放射科醫生使用主觀三點量表(視覺質量評分)(25,26)評估Syn-CTA和真實CTA掃描的圖像質量1、質量差;2、質量合格;3、質量好;具體而言,圖像質量評估包括血管壁清晰度、管腔邊緣清晰度和管腔壁對比度(附錄S1,圖S1)。
  • Diagnostic Evaluation(診斷評估),對每次掃描的Syn-CTA圖像和真實CTA圖像進行匿名化,然后將其隨機并按序列號呈現給進行獨立閱讀視覺質量評估的同兩名放射科醫生。基于每次掃描的血管診斷(動脈瘤、夾層、動脈粥樣硬化或健康動脈)由兩名放射科醫生確定。通過一致閱讀解決任何診斷分歧(附錄S1)。從真實的CTA圖像中讀取的血管診斷被視為基本事實。
    在這里插入圖片描述
    人工評價:Syn-CTA測試集中的高質量分數(分數=3)的比率均大于90%,高質量分數的總體比率為95%
    在這里插入圖片描述
    在這里插入圖片描述

方法

在這里插入圖片描述
在這里插入圖片描述
論文中對方法描述不多,以下是從源代碼中簡化的訓練步驟偽代碼

# real_A2是CT,real_B2是Syn_CTA,
# NetG_A2B是生成器,R_A是校準器,spatial_transform是進行采樣的一個配準場不是模型,
# netD_B是判別器,target_real = Variable(Tensor(1,1).fill_(1.0), requires_grad=False),
# target_fake = Variable(Tensor(1,1).fill_(0.0), requires_grad=Falseoptimizer_R_A.zero_grad()
optimizer_G.zero_grad()								# 只更新生成器和校準器
fake_B = netG_A2B(real_A2)  						# CT生成的Syn_CTA,fake_B
Trans = R_A(fake_B, real_B2)						# fake_B和real_B校準得到Trans
SysRegist_A2B = spatial_transform(fake_B, Trans)	# fake_B和Trans,配準得到,SysRegist_A2B
pred_fake0 = netD_B(fake_B)							# fake_B輸入到判別器得到pred_fake0SM_loss = smoothing_loss(Trans)
SR_loss = L1_loss(SysRegist_A2B, real_B2)			# 配準后的生成圖和real_B要長得像
adv_loss = MSE_loss(pred_fake0, target_real)  		# 對抗,fake_B的pred_fake0和1的MSElossloss = SM_loss + SR_loss + adv_loss					# 總損失
loss.backward()										# 梯度回傳
optimizer_R_A.step()								# 更新R_A和G
optimizer_G.step()optimizer_D_B.zero_grad()							# 只更新判別器
with torch.no_grad():fake_B = netG_A2B(real_A2)  					# 生成器不更新權重
pred_fake0 = netD_B(fake_B)							# 再算一次pred_fake0
real_BB2 = copy.deepcopy(real_B2)			
pred_real = netD_B(real_BB2)						# 判別real_B得到pred_real
loss_D_B = MSE_loss(pred_fake0, target_fake) 		# 對抗,pred_fake0和0,pred_real和1+ MSE_loss(pred_real, target_real)	
loss_D_B.backward()
optimizer_D_B.step()								# 更新判別器

損失函數

配準后的圖像和源圖像的L1 loss,對抗loss

Thinking

輸入是未配準的成對CT-SynCTA影像,先用CT影像生成SynCTA影像,再對SynCTA影像進行配準,再通過判別器,判別生成的影像和原始SynCTA影像。最終合成配準了的SynCTA影像。

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

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

相關文章

可自行DIY單TYPE-C接口設備實現DRP+OTG功能芯片

隨著USB-C接口的普及,歐盟的法律法規強制越來越多的設備開始采用這種接口。由于 USB-C接口的高效性和便攜性,使各種設備之間的連接和數據傳輸變得非常方便快捷,它們不僅提供了強大的功能,還為我們的日常生活和工作帶來了極大的便利…

Python與設計模式--代理模式

5-Python與設計模式–代理模式 一、網絡服務器配置白名單 代理模式是一種使用頻率非常高的模式,在多個著名的開源軟件和當前多個著名的互聯網產品后 臺程序中都有所應用。下面我們用一個抽象化的簡單例子,來說明代理模式。 首先,構造一個網絡…

ssm+vue的企業文檔管理系統(有報告)。Javaee項目,ssm vue前后端分離項目。

演示視頻: ssmvue的企業文檔管理系統(有報告)。Javaee項目,ssm vue前后端分離項目。 項目介紹: 采用M(model)V(view)C(controller)三層體系結構&…

Talk | 牛津大學博士后研究員邊佳旺:SC-DepthV3-動態場景中的自監督單目深度估計

本期為TechBeat人工智能社區第550期線上Talk。 北京時間11月23日(周四)20:00,牛津大學博士后研究員—邊佳旺的Talk已準時在TechBeat人工智能社區開播! 他與大家分享的主題是: “SC-DepthV3:動態場景中的自監督單目深度估計”,介紹…

Vocoder,聲碼器詳解——語音信號處理學習(十)

參考文獻: [1] Vocoder (由助教許博竣同學講授)嗶哩嗶哩bilibili [2] Oord A, Dieleman S, Zen H, et al. Wavenet: A generative model for raw audio[J]. arXiv preprint arXiv:1609.03499, 2016. [3] https://deepmind.com/blog/article/wavenet-generative-mode…

【華為OD機試題】 給出一個區間的集合,請合并所有重疊的區間。

給出一個區間的集合,請合并所有重疊的區間。 示例 1: 輸入: [[1,3],[2,6],[8,10],[15,18]] #輸出: [[1,6],[8,10],[15,18]] 解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合并為 [1,6]. 示例 2: #輸入: [[1,4],[4,5]] #輸出: [[1,5]] #解釋: 區間 [1,4] 和 [4,5] 可被視…

window.requestAnimationFrame+localStorage+canvas實現跨窗口小球連線效果

文章目錄 前言效果代碼后言 前言 hello world歡迎來到前端的新世界 😜當前文章系列專欄:前端系列文章 🐱?👓博主在前端領域還有很多知識和技術需要掌握,正在不斷努力填補技術短板。(如果出現錯誤,感謝大家…

FPGA----ZCU106使用petalinux 2019.1的第一個app開發

1、petalinux在zcu106上的構建參見前文 FPGA----ZCU106使用petalinux 2019.1(全網最詳)-CSDN博客文章瀏覽閱讀31次。本文完成了Vivado 2019.1版本下的基于ZCU106的全部linux系統移植https://blog.csdn.net/qq_37912811/article/details/1345197352、我們…

Vatee萬騰科技的未來探險:Vatee數字創新的獨特發現

在科技的浩瀚海洋中,Vatee萬騰科技如一艘探險船般,勇敢地駛向未知的數字化領域。這次未來的探險,不僅是一場科技創新的冒險,更是對數字化時代的獨特發現和深刻探討。 Vatee萬騰科技視科技創新為一座高峰,而他們的未來探…

java類中局部變量和成員變量有啥區別?

java類中局部變量和成員變量有啥區別? 舉個例子,我們可以定義一個Person類,其中有兩個成員變量name和age,以及一個構造方法和一個show方法。在構造方法中,我們可以使用this關鍵字來引用成員變量,以區分同名…

基于亞馬遜云科技大語言模型等服務打造企業知識庫

背景 大語言模型是自然語言處理領域的一項重要技術,能夠通過學習大量的文本數據,生成具有語法和意義的自然語言文本。目前大語言模型已經成為了自然語言處理領域的一個熱門話題,引起了廣泛的關注和研究。 知識庫需求在各行各業中普遍存在&a…

《洛谷深入淺出基礎篇》P4715淘汰賽——二叉樹

上鏈接:【深基16.例1】淘汰賽 - 洛谷https://www.luogu.com.cn/problem/P4715 上題干: 題目描述 有 2^n(n≤7)個國家參加世界杯決賽圈且進入淘汰賽環節。已經知道各個國家的能力值,且都不相等。能力值高的國家和能力值…

力扣刷題,兩數之和

1、兩數之和 1、問題描述 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那兩個整數,并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素在答案里不能重復出現。…

從裸機啟動開始運行一個C++程序(十三)

前序文章請看: 從裸機啟動開始運行一個C程序(十二) 從裸機啟動開始運行一個C程序(十一) 從裸機啟動開始運行一個C程序(十) 從裸機啟動開始運行一個C程序(九) 從裸機啟動開…

uniapp打包的ipa上架到appstore的傻瓜式教程

? 轉載:uniapp打包的ipa上架到appstore的傻瓜式教程 uniapp打包 在HBuilder X編輯器中打開需要打包的項目,然后點擊上面菜單欄中 發行 > 原生App-云打包,對以下彈出的彈窗進行內容填寫 ? 填寫完成以后,點擊打包操作 ? ? …

自定義責任鏈Filter實現

核心接口 Filter package com.xxx.arch.mw.nbp.common.extension;import com.xxx.commons.data.domain.Result;/*** date 2023/08/25*/ public interface Filter {Result invoke(final Invoker invoker, final Invocation invocation); } Invoker package com.xxx.arch.mw.…

修改mysql的密碼(每一步都圖文解釋哦)

當你想要連接本機數據庫時,是不是有可能突然忘記了自己的數據庫密碼? 在此文中,我們來詳細解決一下如何去修改自己的數據庫密碼,并使用Navicat來連接測試 1.停止mysql服務 打開終端,鍵入命令,將mysql服務先停止掉,…

設置滾動條樣式

滾動條樣式&#xff1a; 下面是代碼&#xff1a; <!doctype html> <html lang"en"><head><meta charset"UTF-8"><title>CSS3自定義滾動條</title><style>header {font-family: Lobster, cursive;text-align: c…

亞馬遜云科技向量數據庫助力生成式AI成功落地實踐探秘(二)

向量數據庫選擇哪種近似搜索算法&#xff0c;選擇合適的集群規模以及集群設置調優對于知識庫的讀寫性能也十分關鍵&#xff0c;主要需要考慮以下幾個方面&#xff1a; 向量數據庫算法選擇 在 OpenSearch 里&#xff0c;提供了兩種 k-NN 的算法&#xff1a;HNSW (Hierarchical…

基于STM32設計的智能防盜單車鎖(馬蹄鎖)設計_升級版

1. 前言 隨著共享單車和自行車的普及,人們對自行車的安全和便利性提出了更高的要求。智能防盜馬蹄鎖是一種基于 STM32 單片機的智能鎖,可以通過手機藍牙實現開鎖和關鎖控制,同時具備 GPRS 防盜預警功能,提高了自行車的安全性和使用便利性。 通過智能防盜馬蹄鎖,用戶可以…