主要内容

使用CycleGAN无人监督的医学图像去噪

这个例子展示了如何生成高质量的高剂量计算机断层扫描(CT)图像噪声低剂量CT图像使用CycleGAN神经网络。

注意:这个例子引用数据集的低剂量CT大挑战,2021年5月1日访问。示例使用胸部的照片现在在限制访问的数据集。要运行这个示例,您必须有一个兼容的数据集与低剂量和高剂量CT图像,并适应数据预处理和培训选项适合您的数据。

x射线CT是一种流行的影像学方法用于临床和工业应用,因为它产生高质量的图像,提供卓越的诊断能力。为了保护病人的安全,医生建议低辐射剂量。然而,低辐射剂量结果在较低的信噪比(信噪比)的图像,因此降低了诊断的准确性。

深度学习技术可以改善低剂量CT图像质量(LDCT)图像。使用生成对抗网络(GAN) image-to-image翻译,您可以转换噪声LDCT图像的图像质量与常规剂量CT图像。对于这个应用程序,源域由LDCT图像和目标域由常规剂量图像。有关更多信息,请参见开始与甘斯Image-to-Image翻译(图像处理工具箱)

甘CT图像去噪要求执行非监督训练,因为医生不通常获得匹配的成对的小剂量和常规剂量CT图像相同的病人在同一个会话。这个示例使用cycle-consistent GAN (CycleGAN)训练的补丁图像数据从一个大样本的数据。类似的方法使用一个单位神经网络训练图像从有限的样本数据,看看无人监督的医学图像去噪使用单位(图像处理工具箱)

UnsupervisedDenoisingExampleUpdated_3.png

下载LDCT数据集

这个示例使用数据从低剂量CT挑战赛(2、3、4)。常规剂量CT图像和模拟的数据包括对低剂量CT图像为99头扫描(神经标记N),胸部扫描(标记为C的胸部),100和100年腹部扫描肝脏(标记为L)。数据集的大小是1.2 TB。

指定dataDir所需的位置的数据集。

dataDir = fullfile (tempdir,“LDCT”,“LDCT-and-Projection-data”);

下载数据,去癌症成像存档的网站。这个示例只使用胸部的照片。从“图像下载胸部文件(日本,952 GB)”数据集到指定的目录dataDir使用通过数据寻回犬。当下载成功,dataDir包含50子文件夹名称,如“C002”和“C004”,以“C296”。

创建数据存储训练、验证和测试

LDCT数据集提供了对低剂量和高剂量CT图像。然而,CycleGAN架构需要未配对数据无监督学习。这个例子模拟未配对的培训和验证数据分区的图片,这样的病人用于获得低剂量CT和高剂量CT图像不重叠。保留对小剂量和常规剂量的例子图像进行测试。

将数据分为训练、验证和测试的数据集使用createLDCTFolderListhelper函数。这个函数是附加到例子作为支持文件。万博1manbetxhelper函数将数据的,大概是有表示在每组两种类型的图像。大约80%的数据用于训练,15%是用于测试,5%用于验证。

maxDirsForABodyPart = 25;[filesTrainLD, filesTrainHD filesTestLD、filesTestHD filesValLD, filesValHD] =createLDCTFolderList (dataDir maxDirsForABodyPart);

创建包含训练和验证图像的图像数据存储这两个领域,即低剂量CT图像和高剂量CT图像。数据集由DICOM图像,所以使用自定义ReadFcn名称-值参数在imageDatastore使阅读数据。

ext =“.dcm”;readFcn = @ (x) dicomread (x);imdsTrainLD = imageDatastore (filesTrainLD FileExtensions = ext ReadFcn = ReadFcn);imdsTrainHD = imageDatastore (filesTrainHD FileExtensions = ext ReadFcn = ReadFcn);imdsValLD = imageDatastore (filesValLD FileExtensions = ext ReadFcn = ReadFcn);imdsValHD = imageDatastore (filesValHD FileExtensions = ext ReadFcn = ReadFcn);imdsTestLD = imageDatastore (filesTestLD FileExtensions = ext ReadFcn = ReadFcn);imdsTestHD = imageDatastore (filesTestHD FileExtensions = ext ReadFcn = ReadFcn);

低剂量和高剂量的图像可以不同的数量。选择这样的一个子集文件图像的数量是相等的。

numTrain = min(元素个数(imdsTrainLD.Files),元素个数(imdsTrainHD.Files));imdsTrainLD =子集(imdsTrainLD 1: numTrain);imdsTrainHD =子集(imdsTrainHD 1: numTrain);numVal = min(元素个数(imdsValLD.Files),元素个数(imdsValHD.Files));imdsValLD =子集(imdsValLD 1: numVal);imdsValHD =子集(imdsValHD 1: numVal);numTest = min(元素个数(imdsTestLD.Files),元素个数(imdsTestHD.Files));imdsTestLD =子集(imdsTestLD 1: numTest);imdsTestHD =子集(imdsTestHD 1: numTest);

预处理和增加数据

预处理数据使用变换函数与自定义指定的预处理操作normalizeCTImageshelper函数。这个函数是附加到例子作为支持文件。万博1manbetx的normalizeCTImages函数将数据重新调节范围[1]。

timdsTrainLD =变换(imdsTrainLD @ (x) {normalizeCTImages (x)});timdsTrainHD =变换(imdsTrainHD @ (x) {normalizeCTImages (x)});timdsValLD =变换(imdsValLD @ (x) {normalizeCTImages (x)});timdsValHD =变换(imdsValHD @ (x) {normalizeCTImages (x)});timdsTestLD =变换(imdsTestLD @ (x) {normalizeCTImages (x)});timdsTestHD =变换(imdsTestHD @ (x) {normalizeCTImages (x)});

结合低剂量和高剂量使用训练数据randomPatchExtractionDatastore(图像处理工具箱)。当阅读从这个数据存储,增加数据使用随机旋转和水平反射。

inputSize =[1] 128128年;增量= imageDataAugmenter (RandRotation = @ (90) * (randi ([0, 1], 1)), RandXReflection = true);dsTrain = randomPatchExtractionDatastore (timdsTrainLD timdsTrainHD,inputSize (1:2), PatchesPerImage = 16, DataAugmentation =增压器);

结合使用的验证数据randomPatchExtractionDatastore。您不需要执行增强阅读时验证数据。

dsVal = randomPatchExtractionDatastore (timdsValLD、timdsValHD inputSize (1:2));

可视化数据集

看一些低剂量和高剂量图像补丁对训练集。注意,形象对低剂量(左)和高剂量(右)图像未配对,他们来自不同的病人。

numImagePairs = 6;imagePairsTrain = [];i = 1: numImagePairs imLowAndHighDose =阅读(dsTrain);inputImage = imLowAndHighDose.InputImage {1};inputImage =重新调节(im2single (inputImage));responseImage = imLowAndHighDose.ResponseImage {1};responseImage =重新调节(im2single (responseImage));imagePairsTrain =猫(4 imagePairsTrain inputImage responseImage);结束蒙太奇(imagePairsTrain大小= [numImagePairs 2], BorderSize = 4,写成BackgroundColor =“w”)

批训练在训练和验证数据

这个例子使用一个自定义训练循环。的minibatchqueue观察的对象是用于管理mini-batching定制培训循环。minibatchqueue对象也投下数据dlarray在深度学习应用程序对象,使汽车分化。

沿着批处理mini-batches通过连接图像补丁维度使用helper函数concatenateMiniBatchLD2HDCT。这个函数是附加到例子作为支持文件。万博1manbetx指定mini-batch数据提取格式为“SSCB”(空间、空间、通道、批)。丢弃任何偏mini-batches不到miniBatchSize观察。

miniBatchSize = 32;mbqTrain = minibatchqueue (dsTrain,MiniBatchSize = MiniBatchSize,MiniBatchFcn = @concatenateMiniBatchLD2HDCT,PartialMiniBatch =“丢弃”,MiniBatchFormat =“SSCB”);mbqVal = minibatchqueue (dsVal,MiniBatchSize = MiniBatchSize,MiniBatchFcn = @concatenateMiniBatchLD2HDCT,PartialMiniBatch =“丢弃”,MiniBatchFormat =“SSCB”);

创建生成器和鉴别器网络

CycleGAN由两个发电机和两个鉴别器。发电机执行image-to-image翻译低剂量和高剂量,反之亦然。返回的鉴别器PatchGAN网络patch-wise概率输入数据是真实的或生成。一个鉴别器区分真正的和生成的低剂量的图片和其他鉴别器区分真正的和生成的高剂量图像。

创建每个发电机网络使用cycleGANGenerator(图像处理工具箱)函数。对于一个输入256 - 256像素的大小,指定NumResidualBlocks参数为9。默认情况下,函数3编码器模块和使用64年第一次卷积过滤器层。

numResiduals = 6;genHD2LD = cycleGANGenerator (inputSize NumResidualBlocks = numResiduals NumOutputChannels = 1);genLD2HD = cycleGANGenerator (inputSize NumResidualBlocks = numResiduals NumOutputChannels = 1);

创建每个鉴别器网络使用patchGANDiscriminator(图像处理工具箱)函数。使用默认设置将采样块的数量和数量在第一次卷积层过滤器鉴别器。

discLD = patchGANDiscriminator (inputSize);discHD = patchGANDiscriminator (inputSize);

定义损失函数和分数

modelGradientshelper函数的梯度和损失计算鉴别器和生成器。这个函数是定义在万博1manbetx支持功能这个例子。

发电机的目的是生成翻译图片的鉴别器分类一样真实发电机损失是一个加权和的三种类型的损失:敌对的损失,周期一致性损失和富达的损失。富达损失是基于结构相似度(SSIM)损失。

l = l 敌对的 + λ * l 周期 一致性 + l 忠诚

指定权重因子 λ 控制的相对重要性周期的一致性与敌对的损失和忠诚的损失。

λ= 10;

每一个鉴别器的目的是正确区分真实图像(1)和翻译图像(0)图像域。每个鉴别器有一个损失函数依赖于预期之间的均方误差(MSE)和预测输出。

指定培训选项

火车mini-batch大小32 3时代。

numEpochs = 3;miniBatchSize = 32;

指定的选项为亚当的优化。发电机和鉴别器网络,使用:

  • 学习速率为0.0002

  • 一个梯度衰减系数为0.5

  • 一个平方梯度衰减系数为0.999

learnRate = 0.0002;gradientDecay = 0.5;squaredGradientDecayFactor = 0.999;

初始化亚当的发电机和鉴别器的参数。

avgGradGenLD2HD = [];avgSqGradGenLD2HD = [];avgGradGenHD2LD = [];avgSqGradGenHD2LD = [];avgGradDiscLD = [];avgSqGradDiscLD = [];avgGradDiscHD = [];avgSqGradDiscHD = [];

每100次迭代显示生成的验证图像。

validationFrequency = 100;

火车或下载模式

默认情况下,示例下载的pretrained版本CycleGAN发电机高剂量CT低剂量。pretrained网络使您能够运行整个示例没有等待培训完成。

训练网络,设置doTraining变量在下面的代码真正的。火车模型在一个定制的训练循环。每一次迭代:

  • 读取数据为当前mini-batch使用下一个函数。

  • 评估模型梯度使用dlfeval函数和modelGradientshelper函数。

  • 更新网络参数使用adamupdate函数。

  • 显示输入和翻译图像的源和目标域后,每一个时代。

火车在GPU如果一个是可用的。使用GPU需要并行计算工具箱™和CUDA NVIDIA GPU®®启用。有关更多信息,请参见GPU计算的需求(并行计算工具箱)。培训大约需要30小时的NVIDIA™泰坦X 24 GB的GPU内存。

doTraining = false;如果doTraining迭代= 0;开始=抽搐;%创建一个目录来存储检查点checkpointDir = fullfile (dataDir,“检查点”);如果~存在(checkpointDir“dir”mkdir (checkpointDir);结束%初始化块培训进展[figureHandle, tileHandle imageAxes、scoreAxesX scoreAxesY,lineScoreGenLD2HD lineScoreGenD2LD lineScoreDiscHD lineScoreDiscLD] =initializeTrainingPlotLD2HDCT_CycleGAN;时代= 1:numEpochs shuffle (mbqTrain);%循环mini-batcheshasdata (mbqTrain)迭代=迭代+ 1;% mini-batch读取的数据[imageLD, imageHD] =下一个(mbqTrain);%转换mini-batch dlarray和指定的数据维度标签%”SSCB”(空间、空间、通道、批处理)imageLD = dlarray (imageLD,“SSCB”);imageHD = dlarray (imageHD,“SSCB”);%如果训练在GPU,然后将数据转换成gpuArray如果canUseGPU imageLD = gpuArray (imageLD);imageHD = gpuArray (imageHD);结束%计算损失和梯度[genHD2LDGrad, genLD2HDGrad discrXGrad discYGrad,genHD2LDState genLD2HDState,分数,imagesOutLD2HD imagesOutHD2LD] =dlfeval (@modelGradients genLD2HD genHD2LD,discLD、discHD imageHD imageLD,λ);genHD2LD。状态= genHD2LDState;genLD2HD。状态= genLD2HDState;% discLD更新参数,区分%生成的低剂量CT图像的低剂量CT图像[discLD。learnables,avgGradDiscLD,avgSqGradDiscLD] =adamupdate (discLD.Learnables discrXGrad avgGradDiscLD,迭代,avgSqGradDiscLD learnRate、gradientDecay squaredGradientDecayFactor);% discHD更新参数,区分%生成的高剂量CT图像的高剂量CT图像[discHD。learnables,avgGradDiscHD,avgSqGradDiscHD] =adamupdate (discHD.Learnables discYGrad avgGradDiscHD,迭代,avgSqGradDiscHD learnRate、gradientDecay squaredGradientDecayFactor);% genHD2LD更新参数,%从高剂量CT图像生成低剂量CT图像[genHD2LD。learnables,avgGradGenHD2LD,avgSqGradGenHD2LD] =adamupdate (genHD2LD.Learnables genHD2LDGrad avgGradGenHD2LD,迭代,avgSqGradGenHD2LD learnRate、gradientDecay squaredGradientDecayFactor);% genLD2HD更新参数,%从低剂量CT图像生成高剂量CT图像[genLD2HD。learnables,avgGradGenLD2HD,avgSqGradGenLD2HD] =adamupdate (genLD2HD.Learnables genLD2HDGrad avgGradGenLD2HD,迭代,avgSqGradGenLD2HD learnRate、gradientDecay squaredGradientDecayFactor);%更新网络分数的情节updateTrainingPlotLD2HDCT_CycleGAN(得分、迭代、时代、启动、scoreAxesX scoreAxesY,lineScoreGenLD2HD lineScoreGenD2LD,lineScoreDiscHD lineScoreDiscLD)%每个validationFrequency迭代,显示一批%使用伸出发生器输入生成的图像如果国防部(迭代,validationFrequency) = = 0 | |迭代= = 1 displayGeneratedLD2HDCTImages (mbqVal, imageAxes, genLD2HD genHD2LD);结束结束%保存模型在每一个时代如果canUseGPU [genLD2HD、genHD2LD discLD discHD] =收集(genLD2HD genHD2LD、discLD discHD);结束generatorHighDoseToLowDose = genHD2LD;generatorLowDoseToHighDose = genLD2HD;discriminatorLowDose = discLD;discriminatorHighDose = discHD;modelDateTime =字符串(datetime (“现在”格式=“yyyy-MM-dd-HH-mm-ss”));保存(checkpointDir + filesep +“LD2HDCTCycleGAN——”+ modelDateTime +“时代——”+时代+“.mat”,“generatorLowDoseToHighDose”,“generatorHighDoseToLowDose”,“discriminatorLowDose”,“discriminatorHighDose”);结束%保存最后的模型modelDateTime =字符串(datetime (“现在”格式=“yyyy-MM-dd-HH-mm-ss”));保存(checkpointDir + filesep +“trainedLD2HDCTCycleGANNet——”+ modelDateTime +“.mat”,“generatorLowDoseToHighDose”,“generatorHighDoseToLowDose”,“discriminatorLowDose”,“discriminatorHighDose”);其他的net_url =“//www.tianjin-qmedu.com/万博1manbetxsupportfiles/vision/data/trainedLD2HDCTCycleGANNet.mat”;downloadTrainedNetwork (net_url dataDir);负载(fullfile (dataDir“trainedLD2HDCTCycleGANNet.mat”));结束

使用测试数据生成新的图像

定义测试图像的数量用于计算质量量度。随机选择两个测试图像显示。

numTest = timdsTestLD.numpartitions;numImagesToDisplay = 2;idxImagesToDisplay =兰迪(numTest 1 numImagesToDisplay);

初始化变量计算PSNR和SSIM。

origPSNR = 0 (numTest, 1);generatedPSNR = 0 (numTest, 1);origSSIM = 0 (numTest, 1);generatedSSIM = 0 (numTest, 1);

产生新翻译图像,使用预测函数。从测试数据集和读取图像使用训练有素的发电机来产生新的图像。

idx = 1: numTest imageTestLD =阅读(timdsTestLD);imageTestHD =阅读(timdsTestHD);imageTestLD =猫(4,imageTestLD {1});imageTestHD =猫(4,imageTestHD {1});%转换mini-batch dlarray和指定的数据维度标签%”SSCB”(空间、空间、通道、批处理)imageTestLD = dlarray (imageTestLD,“SSCB”);imageTestHD = dlarray (imageTestHD,“SSCB”);%如果运行在GPU,然后将数据转换成gpuArray如果canUseGPU imageTestLD = gpuArray (imageTestLD);imageTestHD = gpuArray (imageTestHD);结束%生成翻译图片generatedImageHD =预测(generatorLowDoseToHighDose imageTestLD);generatedImageLD =预测(generatorHighDoseToLowDose imageTestHD);%显示几个图像可视化网络响应如果ismember (idx idxImagesToDisplay)图origImLD =重新调节(extractdata (imageTestLD));genImHD =重新调节(extractdata (generatedImageHD));蒙太奇({origImLD, genImHD},大小= [1 - 2],BorderSize = 5)标题(“原始LDCT测试图像”+ idx +“(左),生成HDCT形象(右)”)结束origPSNR (idx) = psnr (imageTestLD imageTestHD);generatedPSNR (idx) = psnr (generatedImageHD imageTestHD);origSSIM (idx) = multissim (imageTestLD imageTestHD);generatedSSIM (idx) = multissim (generatedImageHD imageTestHD);结束

计算平均PSNR的原始和生成图像。一个更大的PSNR值表示更好的图像质量。

disp (“平均PSNR的原始图像:“+的意思是(origPSNR,“所有”));
原始图像的平均PSNR值:20.4045
disp (“平均PSNR值生成的图片:“+的意思是(generatedPSNR,“所有”));
平均生成的图像的PSNR值:27.9155

计算的平均SSIM原始和生成图像。一个SSIM值接近1,表明更好的图像质量。

disp (“平均SSIM的原始图像:“+的意思是(origSSIM,“所有”));
原始图像的平均SSIM: 0.76651
disp (“平均SSIM生成的图片:“+的意思是(generatedSSIM,“所有”));
平均SSIM生成的图片:0.90194

万博1manbetx支持功能

模型梯度函数

这个函数modelGradients需要输入两个发生器和鉴频器dlnetwork对象和mini-batch的输入数据。函数返回的梯度损失对可学的参数在网络和分数的四个网络。因为鉴频器输出不是在区间[0,1],modelGradients函数乙状结肠函数适用于鉴别器输出转化为概率的分数。

函数[genHD2LDGrad, genLD2HDGrad discLDGrad discHDGrad,genHD2LDState genLD2HDState,分数,imagesOutLDAndHDGenerated imagesOutHDAndLDGenerated] =modelGradients (genLD2HD、genHD2LD discLD、discHD imageHD, imageLD,λ)%将图像从一个域到另一个:高剂量和低剂量%亦然向前(imageLDGenerated genHD2LDState] = (genHD2LD imageHD);向前(imageHDGenerated genLD2HDState] = (genLD2HD imageLD);%计算预测在每个域的对应的真实图像%鉴别器网络predRealLD =前进(discLD imageLD);predRealHD =前进(discHD imageHD);%计算预测生成的图像在每个域%相应的鉴频器网络predGeneratedLD =前进(discLD imageLDGenerated);predGeneratedHD =前进(discHD imageHDGenerated);%计算真实图像鉴别器的损失discLDLossReal = lossReal (predRealLD);discHDLossReal = lossReal (predRealHD);%计算生成的图像鉴别器的损失discLDLossGenerated = lossGenerated (predGeneratedLD);discHDLossGenerated = lossGenerated (predGeneratedHD);%计算每个鉴别器网络鉴别器总损失discLDLossTotal = 0.5 * (discLDLossReal + discLDLossGenerated);discHDLossTotal = 0.5 * (discHDLossReal + discHDLossGenerated);%计算发电机损失产生的图像genLossHD2LD = lossReal (predGeneratedLD);genLossLD2HD = lossReal (predGeneratedHD);%完成往返(周期之间的一致性的)输出通过应用%发电机每个生成的图像相对应的图像%原域cycleImageLD2HD2LD =前进(genHD2LD imageHDGenerated);cycleImageHD2LD2HD =前进(genLD2HD imageLDGenerated);%计算周期的一致性之间真正的损失和生成图像cycleLossLD2HD2LD = cycleConsistencyLoss (imageLD cycleImageLD2HD2LD,λ);cycleLossHD2LD2HD = cycleConsistencyLoss (imageHD cycleImageHD2LD2HD,λ);%计算身份输出identityImageLD =前进(genHD2LD imageLD);identityImageHD =前进(genLD2HD imageHD);%计算精确度损失(SSIM)身份之间的输出fidelityLossLD =意味着(1-multissim (identityImageLD imageLD),“所有”);fidelityLossHD =意味着(1-multissim (identityImageHD imageHD),“所有”);%计算发电机总损失genLossTotal = genLossHD2LD + cycleLossHD2LD2HD +genLossLD2HD + cycleLossLD2HD2LD + fidelityLossLD + fidelityLossHD;%计算分数的发电机genHD2LDScore =意味着(乙状结肠(predGeneratedLD),“所有”);genLD2HDScore =意味着(乙状结肠(predGeneratedHD),“所有”);%计算分数的鉴别器discLDScore = 0.5 *意味着(乙状结肠(predRealLD),“所有”)+0.5 *意味着(1-sigmoid (predGeneratedLD),“所有”);discHDScore = 0.5 *意味着(乙状结肠(predRealHD),“所有”)+0.5 *意味着(1-sigmoid (predGeneratedHD),“所有”);%将分数结合到细胞数组成绩= {genHD2LDScore, genLD2HDScore、discLDScore discHDScore};%计算梯度的发电机genLD2HDGrad = dlgradient (genLossTotal、genLD2HD.Learnables RetainData = true);genHD2LDGrad = dlgradient (genLossTotal、genHD2LD.Learnables RetainData = true);%计算梯度的鉴别器discLDGrad = dlgradient (discLDLossTotal、discLD.Learnables RetainData = true);discHDGrad = dlgradient (discHDLossTotal discHD.Learnables);%的返回mini-batch将低剂量CT转换为高剂量CT图像imagesOutLDAndHDGenerated = {imageLD, imageHDGenerated};%的返回mini-batch图像转换高剂量CT低剂量CTimagesOutHDAndLDGenerated = {imageHD, imageLDGenerated};结束

损失函数

为真实和指定MSE损失函数生成的图像。

函数损失= lossReal(预测)损失=意味着((1-predictions)。^ 2,“所有”);结束函数损失= lossGenerated(预测)损失=意味着((预测)^ 2,“所有”);结束

指定周期的一致性损失函数实部和生成图像。

函数损失= cycleConsistencyLoss (imageReal imageGeneratedλ)损失=意味着(abs (imageReal-imageGenerated),“所有”)*λ;结束

引用

[1]朱、Jun-Yan Taesung公园,菲利普·伊索拉,阿列克谢·a·埃。“孤Image-to-Image翻译使用Cycle-Consistent敌对的网络。“在2017年IEEE计算机视觉国际会议(ICCV)2242 - 51。威尼斯:IEEE 2017。https://doi.org/10.1109/ICCV.2017.244

[2]·麦克洛,辛西娅,年份,David R福尔摩斯三世,辉段,Zhicong Yu和Yu帅愣,乔尔·弗莱彻。“低剂量CT图像和投影数据(LDCT-and-Projection-Data)。”2020岁的癌症成像存档。https://doi.org/10.7937/9npb - 2637。

[3]授予EB017095和EB017185(辛西娅·麦克洛π),从国家生物医学成像和生物工程研究所。

[4]克拉克,肯尼斯·布鲁斯·文特Kirk Smith,约翰•Freymann了贾斯汀科比、保罗·柯柏走,斯蒂芬·摩尔,et al。“癌症成像存档(TCIA):维护和运营公共信息资源库”。数码影像杂志26日,没有。6(2013年12月):1045 - 57。https://doi.org/10.1007/s10278 - 013 - 9622 - 7。

[5]你,陈宇,菁杨Hongming, Lars Gjesteby广,特别鸣谢榉,Zhuiyang Zhang et al。“低剂量CT Structurally-Sensitive多尺度深层神经网络去噪”。IEEE访问6 (2018):41839 - 55。https://doi.org/10.1109/ACCESS.2018.2858196。

另请参阅

(图像处理工具箱)|(图像处理工具箱)||||||

相关的例子

更多关于