<加速深度学习训练…<前一 深度学习基于代理模型>下一个> 医学图像的语义分割 发布的Johanna Pingel,2021年5月10日 (30天)| 129年视图0喜欢|4评论 下面的文章是博士。Barath Narayanan代顿大学研究所(UDRI)作者:拉塞尔·c·哈迪博士和Redha阿里。 在这个博客中,我们基于深度学习的分割适用于皮肤损伤在dermoscopic图片帮助黑色素瘤检测。 社会兼职: *传感器和软件系统,代顿大学的研究所300大学公园,代顿,哦,45469* *代顿大学电子与计算机工程系300大学公园,代顿,哦,45469 背景 皮肤病灶分割是一个重要的步骤在计算机辅助诊断(CAD)的黑色素瘤。在这个博客中,我们提出一个基于卷积神经网络(CNN)在dermoscopic图像分割方法应用于皮肤损伤。黑色素瘤的早期检测和诊断检测的存活率显著增加。请引用下面这篇文章如果你使用代码的任何部分的研究。[1]阿里,R。,难的,r . C。,Narayanan, b . N。& De Silva),美国(2019年7月)。”深度学习整体皮肤损伤分析方法对黑色素瘤检测”。2019年IEEE国家航空航天和电子会议(NAECON)(第316 - 311页)。IEEE。这个博客是来自数据集使用ISIC 2018。指令的数据集提供的这篇文章。 加载数据集和调整 原始图像加载使用imageDatastore。它是一种计算有效的函数来收集图像信息。加载地面实况面具使用pixelLabelDatastore。白色区域地面真理面具显示图像的“病变”和其他属于“背景”类。这个函数pixelLabelImageDatastore有助于标记的原始图像与相应的地面实况面具。让我们想象某些随机图像数据集,供我们参考。后,调整所有图片的大小224 x 224深的学习网络。 标签图像显示像素作为背景(黑色)和前景“病变”(白色) %明显工作区清晰;关闭所有;clc;%所有图片imd = imageDatastore (‘ISIC2018_Task1-2_Training_Input’,‘IncludeSubfolders’,真的);%定义类名和相应的id一会=(“病变”,“背景”);labelIDs = (255,0);%创建一个pixelLabelDatastore地面实况像素标签pxds = pixelLabelDatastore (ISIC2018_Task1_Training_GroundTruth,类名,labelIDs);%创建一个像素标签图像数据存储的图像pxds pximds = pixelLabelImageDatastore (imd);%的图片total_num_images =长度(pximds.Images);%可视化随机图像烫= randperm (total_num_images 4);图;%可视化图像的剪切蒙版中idx = 1:长度(烫)(~,文件名)= fileparts (pximds.Images {idx});次要情节(2,2,idx);imshow (imread (pximds.Images{烫发(idx)}));抓住;visboundaries (imread (pximds.PixelLabelData{烫发(idx)}),“颜色”,“r”);标题(sprintf (“% s”,文件名),“翻译”,“没有一个”);结束 %的图像大小图象尺寸= (224 224 3);%创建一个所有缩放图像的像素标签图像数据存储pximdsResz = pixelLabelImageDatastore (imd, pxds OutputSize,图象尺寸);%清除所有变量除了必要的变量刚pximdsResz clearvars一会total_num_images图象尺寸 将数据集训练,验证和测试 % 100随机选择图像的测试数据集test_idx = randperm (total_num_images, 100);%的指数是利用培训和验证train_valid_idx = setdiff (1: total_num_images, test_idx);%随机挑选100个图像从训练数据集进行验证valid_idx = train_valid_idx (randperm(长度(train_valid_idx), 100));%的指标用于培训train_idx = setdiff (train_valid_idx valid_idx);%训练数据集pximdsTrain = partitionByIndex (pximdsResz train_idx);%的验证数据集pximdsValid = partitionByIndex (pximdsResz valid_idx);%测试数据集pximdsTest = partitionByIndex (pximdsResz test_idx); 深度学习的方法 定义了CNN网络培训网络和必要的参数。在这个博客中,我们研究性能使用DeepLab v3 +网络。DeepLab v3 +是语义图像分割的CNN。它利用一个基于encoder-decoder的体系结构和扩张隆起和跳过部分图像的卷积。在[1]中,我们提出一个方法相结合的两种U-Net DeepLab v3 +网络。在博客中,我们只关注DeepLab v3 +网络使用ResNet50架构。随意改变hyperparameters和观察到的性能。 注: 确保安装深度学习工具箱ResNet-50网络模型通过扩展浏览器支持包。金宝app 输入正常化可能需要5 - 10分钟由于分辨率的原始图像。每个时代的培训时间在NVIDIA GeForce 1070 GTX公司大约10分钟。 您还可以设置执行环境中的“multi-gpu”培训选项如果你获得一个以上的GPU。 %的类numClasses =长度(类名);%网络lgraph = deeplabv3plusLayers(图象尺寸、numClasses resnet50);%定义了网络参数选择= trainingOptions(“个”,…“InitialLearnRate”, 0.03,…“动量”、0.9……“L2Regularization”, 0.0005,…“MaxEpochs”, 20日……“MiniBatchSize”, 32岁的……“VerboseFrequency”, 20日……“LearnRateSchedule”、“分段”,…“ExecutionEnvironment”、“gpu的,……“洗牌”、“every-epoch’,…… 'ValidationData',pximdsValid, ... 'ValidationFrequency',50, ... 'ValidationPatience',4,... 'Plots','training-progress',... 'GradientThresholdMethod','l2norm',... 'GradientThreshold',0.05);%训练网络网= trainNetwork (pximdsTrain、lgraph选项); 测试和性能分析 现在,让我们研究网络的性能测试集。我们学习方面的性能指标: 像素分类精度:全球和的意思 十字路口在联盟(借据):加权和的意思 规范化的混淆矩阵 在[1]中,我们还研究方面的性能Jaccard指数和骰子系数。 %的语义分割测试数据集的基础上,训练网络[pxdspredicted] = semanticseg (pximdsTest,净WriteLocation, tempdir);%的评估指标= evaluateSemanticSegmentation (pxdspredicted pximdsTest); %的混淆矩阵normConfMatData = metrics.NormalizedConfusionMatrix.Variables;图h =热图(类名、类名、100 * normConfMatData);h。包含=“预测类”;h。YLabel =真正的类的;h。Title =“规范化混淆矩阵(%)”; 目视检查 在本节中,我们视力检查结果可视化预测和实际面具对于一个给定的图像。%的图片num_test_images =长度(pximdsTest.Images);%选择任何随机2图像烫= randperm (num_test_images 2);%可视化图像的剪切蒙版中idx = 1:长度(烫)%提取文件名的标题(~,文件名)= fileparts (pximdsTest.Images {idx});%阅读原始文件和调整网络的目的我= imread (pximdsTest.Images{烫发(idx)});我= imresize,图象尺寸(1)图象尺寸(2)),“双线性”);图;图像(I);抓住;%阅读实际的面具和调整可视化actual_mask = imread (pximdsTest.PixelLabelData{烫发(idx)});actual_mask = imresize (actual_mask,图象尺寸(1)图象尺寸(2)),“双线性”);%地面实况visboundaries (actual_mask,“颜色”,“r”);%的预测算法predicted_image = (uint8 (readimage (pxdspredicted烫(idx))));%值1和2 predicted_results = uint8 (~ (predicted_image-1));%转换为二进制和反向极性与labelIds匹配%的预测结果visboundaries (predicted_results‘颜色’,‘g’);标题(sprintf (' % s红色——实际,绿色——预测,文件名),“翻译”,“没有一个”);imwrite (mat2gray (predicted_results) sprintf (% s.png,文件名));结束 结论在这个博客中,我们提出了一个简单的基于深度学习在dermoscopic图像分割应用于皮肤损伤帮助黑色素瘤检测。分割算法用DeepLab v3 + ResNet50架构表现相对较好,良好的借据和像素分类精度。将这些结果与其他现有架构将提高性能。随时学习不同hyperparameters设置下的性能和结构。在我们的论文[1],我们融合的结果DeepLab v3 + U-Net架构。分割的皮肤病变将成为一个有价值的预处理步骤检测黑色素瘤的分类算法。数据集的指令请引用以下文章如果你使用数据集。[2]诺尔Codella, Veronica Rotemberg菲利普Tschandl, m .埃姆雷Celebi,斯蒂芬•Dusza大卫•古特曼Brian Helba Aadi Kalloo, Konstantinos Liopyris,迈克尔•马哈拉尔德难应付的,艾伦Halpern:“皮肤病变分析对黑色素瘤检测2018:一个挑战主办的国际皮肤成像协作(ISIC)”, 2018;https://arxiv.org/abs/1902.03368[3]Tschandl, P。,Rosendahl, C. & Kittler, H. The HAM10000 dataset, a large collection of multi-source dermatoscopic images of common pigmented skin lesions. Sci. Data 5, 180161 doi:10.1038/sdata.2018.161 (2018).下载ISIC 2018任务1、2训练数据(10.4 GB)和训练场真理(MB) 26日任务1。下载zip文件之后,他们提取到各自的文件夹(“ISIC2018_Task1-2_Training_Input”、“ISIC2018_Task1_Training_GroundTruth”所需的脚本)。数据集包含了总共2594张图片。注意,我们仅利用“任务1 -训练数据”来研究系统的性能,如地面真理是公开的。 传记 Barath Narayanan毕业于电气工程硕士和博士学位代顿大学(UD)分别于2013年和2017年。他目前持有共同被任命为UDRI研究科学家的软件系统集团和UD ECE部门兼职教员。他以优异的成绩毕业SRM大学钦奈,印度在2012年电气和电子工程学士学位。他的研究兴趣包括深度学习、机器学习、计算机视觉和模式识别。 Redha阿里获得计算机科学学士学位从大学电子技术和信息技术,拜尼沃利德,2012年利比亚。他完成了他的硕士在代顿大学的电气和计算机工程是在2016年。他的硕士论文工作和出版领域的图像和视频去噪。他正在追求博士的研究在医学成像代顿大学。他应用研究兴趣包括医学图像处理,深度学习、机器学习、计算机视觉、视频恢复和提高。 罗素博士c .辛苦地以优等成绩毕业罗耀拉大学1988年在巴尔的摩马里兰工程学的学士及以上学位。他获得电气工程硕士和博士学位特拉华大学分别在1990年和1992年。艰苦的博士担任资深科学家地球卫星公司(MDA)现在在马里兰之前他的任命代顿大学在1993年。他现在是一个完整的电子和计算机工程系教授,联合与光电技术和光子学的约会。 有一个问题或评论作者吗?请在下面留下你的评论。 | 你现在下面这篇博客 你将看到在你更新活动提要。 你可以接收电子邮件,取决于你通知偏好。 类别: 深度学习 <加速深度学习训练…<前一 深度学习基于代理模型>下一个> 另请参阅 MATLAB基础知识视频:连接向量 博客 糖尿病性视网膜病变检测 博客 MATLAB基础知识视频:连接向量 博客 使用Pascal VOC语义分割 partitionByIndex 学习使用Pretrained网络传输 评论 留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。