【玩转华为云】手把手教你利用ModelArts进行肺结节检测

本篇推文共计2000个字,阅读时间约3分钟。

华为云华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。

华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。

华为云官方网站

ModelArts华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。

华为云官方网站

手把手教你利用ModelArts进行肺结节检测

近年来,在体检中发现肺部结节的人数越来越多,经科学研究得知肺结节发生癌变的几率约为40%。在我国,大约有75%的肺癌患者在首次去医院就诊时就已经属于肺癌晚期。由此可见,早期发现和诊断出肺癌对于肺癌患者而言是一件极其紧急的事。而肺结节的检测结果对于病人的后续诊断的影响也是举足轻重的。

为了帮助专家便捷地诊断肺结节,人工智能通过海量的医学数据、医学影像和病历的学习和研究,可以生成准确的预测模型,可以为疾病提供早期预警。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第1张图片

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第2张图片

肺结节检测手动标记病灶图

本实验将介绍如何利用华为云一站式AI开发平台ModelArts使用预置算法Faster_RCNN_ResNet_v1_50基于肺结节病灶数据训练一个肺结节检测模型。并一键将训练得到的模型部署成在线服务,用户使用该在线服务对输入的医疗图片进行预测以达到自动识别上传医疗图片是否含有肺结节的目的。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第3张图片

ModelArts训练出的模型检测肺结节病灶

手把手利用ModelArts进行肺结节检测

1.准备实验环境与工具

2.准备数据

3.创建数据集

4.据标

5.一键模型上线

6.在线服务测试

1

1.1密钥准备

首先需要进入华为云官方网站

https://www.huaweicloud.com/

点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。位置如下图所示:


什么是访问密钥?

访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。

选择访问密钥”,点击“新增访问密钥

妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)SK(Secret Access Key)以备后续步骤使用。

1.2创建OBS桶和目录

进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。

什么是OBS?

对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

1.3 OBS桶设置

OBS桶设置参数如下:

区域:华北-北京四

桶名称:自定义(注意:此名称会在后续步骤使用)

根据自己的命名习惯,我将此处的桶名称取为

nodule-detect

存储类别:标准存储

桶策略:私有

归档数据直读:关闭

多AZ:关闭

 

点击"立即创建",完成创建

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第4张图片

1.4创建文件夹

点击刚刚创建的桶,进入详情页

左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:

文件夹名称:自定义此名称会在后续步骤中使用)

根据自己的命名,我将此处的文件夹名称取为nodule-data

 

点击“确定”完成添加

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第5张图片

1.5服务授权

由于创建自动学习项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。

在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权

由具备授权的账号同意授权后,即可正常使用:

1.6下载安装并登录OBS Browser+

由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具OBS Browser的升级版OBS Browser+

OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。

该工具在华为云主页“开发者->资源工具->开发工具”处

双击点进去后是下面的页面

在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:

此为下载完成打开后的OBS Browser+工具界面:

填入步骤1.1下载得到的Access Key IdSecret Access Key密钥

即可登录刚刚在华为云云端创建的OBS桶:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第6张图片

此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第7张图片

2

2.1准备数据

关于医疗图像肺结节病灶数据的话,这里本文是利用官方肺结节检测数据集

LUng Nodule Analysis 2016(LUNA16)

进行处理后得到的,已经自己人为标注好了300张病灶数据,可以直接导入华为云ModelArts AI开发平台进行使用。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第8张图片

关于整个肺结节检测数据集的话,数据集文件的大小不大,有35M,共300张已标注好肺结节病灶的文件。

关注本微信公众号,后台回复“肺结节”即可一键获取标注好了的300张肺结节检测数据集:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第9张图片

如果你对数据的数量不太满意,可以官网下载肺结节检测数据集LUng Nodule Analysis 2016(LUNA16),根据自己的实验数量需求进行数据标注。

下载链接如下:

http://academictorrents.com/collection/luna-lung-nodule-analysis-16---isbi-2016-challenge

2.2数据解压

在本地电脑平台,解压下载的

“data”压缩包。

例如,解压至本地“data”文件夹下

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第10张图片

2.3数据上传

点击打开刚刚下载安装好的OBS Browser+工具进行对象存储服务:

进入步骤1创建好的OBS桶nodule-data文件夹中:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第11张图片

点击上传”,选择刚才下载的本地美食分类数据集中的文件夹,点击“确定”即可完成上传。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第12张图片

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第13张图片

利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的肺结节数据集:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第14张图片

3

3.创建数据集

进入ModelArts管理控制台主页,单击左侧导航栏“数据管理”,再点击数据集

添加步骤1保存的访问密钥文件中的密钥:

在“数据集”栏中单击“创建数据集

在“创建数据集”页面中,填写“数据集名称

dataset-nodule

选择“数据集输入位置”

肺结节数据集OBS路径为

“/nodule-detect/nodule-data/train/”

“数据集输出位置”选择一个空目录如

“/nodule-detect/nodule-data/output/”

标注场景选择物体检测,其它不用填

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第15张图片

点击创建即可创建数据集:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第16张图片

4

4.数据标注

点击进刚刚创建好的数据集dataset-nodule:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第17张图片

此页面可以可视化的看见数据集中图片数量,标注和未标注的图片数量,以及标签统计。

此外在此处右上方还可选择创建团队标注任务,可以多人实时进行线上标注,大大提高了标注工作效率。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第18张图片

数据标注,针对图像分类项目,即在已有数据集图像中,标注出不同类别物体,并为其打上标签。标注好的数据用于模型训练。

此处的话,由于上传数据集之前已经对肺结节病灶数据进行了标注,此处对于数据标注的操作可以略过。

如果大家想学习如何使用华为云ModelArts进行数据标注,可查看下面过去的两篇推文文章,具体步骤已经在文章中写出:

【玩转华为云】手把手教你利用ModelArts实现数据集的图像标注

【玩转华为云】手把手教你用Modelarts实现猫狗数据集的智能标注

5

5.一键模型上线

返回数据集列表,选择刚才创建的dataset-nodule数据集右侧的“一键模型上线

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第19张图片

点击一键模型上线下方的“任务创建

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第20张图片

此时就可以进行物体检测模型的配置:

名称:自定义(这里我定义的是nodule-300-auto

预置算法:选择Faster_RCNN_ResNet_v1_50

我的运行参数如下:

split_spec:train:0.9,eval:0.1

max_epoches:50

其余的运行参数保持默认。

这些运行参数会控制模型的训练过程,有经验的用户可以调节这些运行参数。

经验不足的用户可以直接默认配置:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第21张图片

训练输出位置:选择OBS路径

/nodule-detect/nodule-data/output/

作业日志路径:选择OBS路径

/nodule-detect/nodule-data/log/

(output,log文件夹都是需要自己新建的文件夹)

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第22张图片

资源池:公共资源池

类型:GPU

规格:[限时免费] GPU:1 * nvidia-v100-pcie-32gb 32GiB CPU:8 核 64GiB

计算节点:1

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第23张图片

部署:公共资源池

计算节点规格:CPU:2 核 8 GiB。如果开通了GPU部署权限,可以尝试GPU部署。

计算节点个数:1。如果是多个计算节点,就是多实例部署,可以提高API的并发数。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第24张图片

填写好参数后,点击“下一步”按钮,确认参数无误:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第25张图片

然后点“提交”按钮

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第26张图片

一键模型上线任务包含了三个子任务:

1.首先会在训练作业中创建一个训练作业,会训练得到一个模型

2.然后将训练所得模型导入到模型管理中

3.最后将模型在在线服务中部署为一个在线API服务

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第27张图片

我所用的套餐一共使用了11分钟就将300张图片的肺结节病灶数据集训练成功了。

在“训练管理”处可以点击查看刚刚完成的训练作业:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第28张图片

点击作业名称可进入作业,查看作业详情:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第29张图片

日志”页面展示了训练过程日志,可以看到模型在训练过程中打印的日志,比如模型精度训练速度等,同时也可以下载日志文件到本地查看:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第30张图片

6

6.在线服务测试

在“部署上线”的“在线服务”处,点击运行中的在线服务右侧的“预测

在线服务的本质是RESTful API,可以通过HTTP请求访问,在本实验中,我们直接在网页上访问在线服务。

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第31张图片

进入到测试界面,单击“上传图片,进行检测:

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第32张图片

箭头指的地方可看见检测结果,可以说利用ModelArts平台训练出来的肺结节检测模型检测效果是很棒的。(直接看太小的话,可以点开图片放大看)

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第33张图片

ModelArts模型测试1

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第34张图片

原肺结节检测手动标记病灶图1

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第35张图片

ModelArts模型测试2

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第36张图片

原肺结节检测手动标记病灶图2

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第37张图片

ModelArts模型测试3

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第38张图片

原肺结节检测手动标记病灶图3

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第39张图片

ModelArts模型 测试 4

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第40张图片

原肺结节检测手动标记病灶图4

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第41张图片

ModelArts模型测试5

【玩转华为云】手把手教你利用ModelArts进行肺结节检测_第42张图片

原肺结节检测手动标记病灶图5

从最后实验的结果对比图来看,可以说利用ModelArts平台训练出来的肺结节检测模型检测效果是很棒的,虽然存在一定的肺结节病灶假阳性标记,但是这在小样本数据集的人工智能医疗检测中是会出现的情况。毕竟对于人工智能医疗检测模型来说,只用了300张标注图片就能达到这样的效果,真的让人感到惊喜。

下一步的实验规划是进行数据增广,以及网络参数和网络结构的调整。在ModelArts的Notebook开发环境中进行实验,将实验检测的准确度提高,让其真正的成为一个肺结节病灶检测利器。

至此实验全部完成。

最后大家使用的云端资源记得全部删除如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除或停用,并停用访问密钥,以免造成不必要的花费。

如果看了这么多,您也想体验一下华为云AI的魅力,可点击下方[阅读全文]活动链接,参加已于5月18日开始的

《2020|华为云AI实战营》

与华为云技术专家和全国华为云AI爱好者们一起领略华为云AI魅力,让你轻松Get AI技能,获取丰厚的奖品,一起升级打怪,变成最好的自己。

风里雨里,华为与我,在等你!

华为,中国骄傲!中华有为!

往期回顾

【玩转华为云】这个夏日,我与华为云青年班AI实战营的遇见

华为加油,中国加油!

欢迎各位读者在下方进行提问留言

☆ END ☆

你与世界

只差一个

公众号

扫描上方二维码,获取千元“编程学习资料”大礼包

你可能感兴趣的:(【玩转华为云】手把手教你利用ModelArts进行肺结节检测)