医生再添新助手!深度学习诊断传染病.docx
《医生再添新助手!深度学习诊断传染病.docx》由会员分享,可在线阅读,更多相关《医生再添新助手!深度学习诊断传染病.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、医生再添新助手!深度学习诊断传染病|Dipanjan(DJ)Sarkar译者|Monanfei编辑|Rachel、Jane出品|AI科技大本营idrgznai100【导读】文本基于深度学习以及迁移学习方法对疟疾等传染病检测问题进展了研究。对疟疾的检测原理和迁移学习理论进展了介绍并使用VGG-19预训练模型进展了基于特征提取以及基于参数微调的迁移学习理论。前言安康就是财富这是一个老生常谈的话题但不得不讲这是一个真理。在这篇文章中我们将研究怎样利用AI技术来检测一种致命的疾病疟疾。本文将提出一个低本钱、高效率以及高准确率的开源解决方案。本文有两个目的1.解析疟疾的传染原因以及其致命性2、介绍怎样运
2、用深度学习有效检测疟疾。本章的主要内容如下开展本工程的动机疟疾检测的方法用深度学习检测疟疾从头开场训练卷积神经网络CNN利用预训练模型进展迁移学习本文不是为了宣扬AI将要取代人类的工作或接收世界等论调而是仅仅展示AI是怎样用一种低本钱、高效率以及高准确率的方案来帮助人类去检测以及诊断疟疾并尽量减少人工操作。PythonandTensorFlowAgreatcombotobuildopen-sourcedeeplearningsolutions在本文中我们将使用Python以及tensorflow来构建一个强大的、可扩展的、有效的深度学习解决方案。这些工具都是免费并且开源的这使得我们可以构建一个
3、真正低本钱、高效精准的解决方案而且可以让每个人都可以轻松使用。让我们开场吧动机疟疾是经疟蚊叮咬而感染疟原虫所引起的虫媒传染病疟疾最常通过受感染的雌性疟蚊来传播。固然我们不必详细解析这种疾病但是我们需要知道疟疾有五种常见的类型。下列图展示了这种疾病的致死性在全球的分布情况。MalariaEstimatedRiskHeathMap(Source:treated)从上图中可以明显看到疟疾遍布全球尤其是在热带区域分布密集。本工程就是基于这种疾病的特性以及致命性来开展的下面我们举个例子来讲明。起初假如你被一只受感染的蚊子叮咬了那么蚊子所携带的寄生虫就会进入你的血液并且开场摧毁你体内的携氧红细胞。通常来讲
4、你会在被疟蚊叮咬后的几天或者几周内感到不适一般会首先出现类似流感或病毒感染的病症。然而这些致命的寄生虫可以在你身体里完好地存活超过一年度的时间并且不产生任何其他病症延迟承受正确的治疗可能会导致并发症甚至死亡。因此早期并有效的疟疾检测以及排查可以挽救这些生命。世界卫生组织WHO发布了几个关于疟疾的重要事实详情见此。简而言之世界上将近一半的人口面临疟疾风险每年度有超过2亿的疟疾病例和有大约40万人死于疟疾。这些事实让我们认识到快速简单高效的疟疾检查是多么重要这也是本文的动机所在。疟疾检查的方法文章?Pre-trainedconvolutionalneuralnetworksasfeatureext
5、ractorstowardimprovedMalariaparasitedetectioninthinbloodsmearimages?本文的数据以及分析也是基于这篇文章扼要介绍了疟疾检测的几种方法这些方法包括但是不限于厚薄血涂片检查、聚合酶链式反响PCR以及快速诊断测试RDT。在本文中我们没有对这些方法进展详细介绍但是需要注意的一点是后两种方法常常作为替代方案使用尤其是在缺乏高质量显微镜效劳的情况下。我们将扼要讨论基于血液涂片检测流程的标准疟疾诊断方法首先感谢CarlosAriza的博文和AdrianRosebrock关于疟疾检查的文章这两篇文章让我们对疟疾检查领域有了更为深化的解析。Abl
6、oodsmearworkflowforMalariadetection(Source)根据上图所示的WHO的血液涂片检测流程该工作包括在100倍放大倍数下对血涂片进展深化检查其中人们需要从5000个细胞中手动检测出含有寄生虫的红细胞。Rajaraman等人的论文中更加详细的给出了相关的描绘如下所示厚血涂片有助于检测寄生虫的存在而薄血涂片有助于识别引起感染的寄生虫种类CentersforDiseaseControlandPrevention,2021。诊断准确性在很大程度上取决于人类的专业知识并且可能受到观察者间的差异以及观察者的可靠性所带来的不利影响和受到在疾病流行或者资源受限的区域内的大规模
7、诊断造成的负担所带来的不利影响MitikuMengistuGelaw2003。替代技术例如聚合酶链式反响PCR以及快速诊断测试RDT也会被使用但是PCR分析受到其性能的限制Hommelsheim等2021而RDT在疾病流行地区的本钱效益较低HawkesKatsuvaMasumbuko2020。因此传统的疟疾检测绝对是一个密集的手工经过或者许深度学习技术可以帮助它完成自动化。上文提到的这些内容为后文打下了根底。用深度学习检测疟疾手工诊断血液涂片是一项重复且规律的工作而且需要一定的专业知识来区分以及统计被寄生的以及未感染的细胞。假如某些地区的工作人员没有正确的专业知识那么这种方法就不能很好地推广并
8、且会导致一些问题。现有工作已经获得了一些进展包括利用最先进的图像处理以及分析技术来提取手工设计的特征并利用这些特性构建基于机器学习的分类模型。但是由于手工设计的局部需要花费大量的时间当有更多的数据可供训练时模型却无法及时的进展扩展。深度学习模型或者更详细地讲卷积神经网络CNN在各种计算机视觉任务中获得了非常好的效果。本文假设您已经对CNN有一定的解析但是假如您并不解析CNN可以通过这篇文章进展深化解析。简单来讲CNN最关键的层主要包括卷积层以及池化层如下列图所示。AtypicalCNNarchiteture(Source:)卷积层从数据中学习空间层级形式这些形式具有平移不变性因此卷积层可以学习
9、图像的不同方面。例如第一卷积层将学习诸如边缘以及角落的微型部分形式第二卷积层将基于第一层所提取的特征来学习更大的图像形式如此循序渐进。这使得CNN可以自动进展特征工程并且学习有效的特征这些特征对新的数据具有很好的泛化才能。池化层常用于下采样以及降维。因此CNN可以帮助我们实现自动化的以及可扩展的特征工程。此外在模型的末端接入密集层可以使我们执行图像分类等任务。使用像CNN这样的深度学习模型进展自动化的疟疾检测可能是一个高效、低本钱、可扩展的方案。十分是随着迁移学习的开展以及预训练模型的分享在数据量较少等限制条件下深度学习模型也能获得很好的效果。Rajaraman等人的论文?Pre-traine
10、dconvolutionalneuralnetworksasfeatureextractorstowardimprovedparasitedetectioninthinbloodsmearimages?利用6个预训练模型在进展疟疾检测时获得了95.9%的准确率。本文的重点是从头开场尝试一些简单的CNN模型以及一些预先训练的模型并利用迁移学习来检验我们在同一数据集下得到的结果。本文将使用Python以及TensorFlow框架来构建模型。数据集的详情首先感谢ListerHill国家生物医学通信中心LHNCBC的研究人员国家医学图书馆NLM的部门他们仔细采集并注释了这个血涂片图像的数据集数据中包含
11、安康以及感染这两种类型的血涂片图像。您可以从官方网站上下载这些图像。实际上他们开发了一款可以运行在标准安卓智能手机上的应用程序该程序可以连接传统的光学显微镜(Poostchietal.,2018)。他们从孟加拉国吉大港医学院附属医院进展拍照记录了样本集其中包括150个恶性疟原虫感染的样本以及50个安康的样本每个样本都是经过Giemsa染色的薄血涂片。智能手机的内置摄像头可以捕获样本的每一个部分微观视图。来自泰国曼谷的玛希隆-牛津热带医学研究所的专业人员为这些图像进展了手动注释。让我们扼要地看一下数据集构造。首先根据本文所使用的操作系统我们需要安装一些根本的依赖项。本文所使用的系统是云上的Deb
12、ian系统该系统配置有GPU这可以加速我们模型的训练。首先安装依赖树这可以方便我们查看目录构造。sudoaptinstalltree从上图所示的目录构造中可以看到我们的文件里包含两个文件夹分别包含受感染的以及安康的细胞图像。利用以下代码我们可以进一步解析图像的总数是多少。importosimportglobbase_diros.path.join(./cell_images)infected_diros.path.join(base_dir,Parasitized)healthy_diros.path.join(base_dir,Uninfected)infected_filesglob.gl
13、ob(infected_dir/*.png)healthy_filesglob.glob(healthy_dir/*.png)len(infected_files),len(healthy_files)#Output(13779,13779)从上述结果可以看到疟疾以及非疟疾未感染的细胞图像的数据集均包含13779张图片两个数据集的大小是相对平衡的。接下来我们将利用这些数据构建一个基于pandas的dataframe类型的数据这对我们后续构建数据集很有帮助。importnumpyasnpimportpandasaspdnp.random.seed(42)files_dfpd.DataFrame(
14、filename:infected_fileshealthy_files,label:malaria*len(infected_files)healthy*len(healthy_files).sample(frac1,random_state42).reset_index(dropTrue)files_df.head()构建以及探究图像数据集在构建深度学习模型之前我们不仅需要训练数据还需要未用于训练的数据来验证以及测试模型的性能。本文采用60:10:30的比例来划分训练集、验证集以及测试集。我们将使用训练集以及验证集来训练模型并利用测试集来检验模型的性能。fromsklearn.model_
15、selectionimporttrain_test_splitfromcollectionsimportCountertrain_files,test_files,train_labels,test_labelstrain_test_split(files_dffilename.values,files_dflabel.values,test_size0.3,random_state42)train_files,val_files,train_labels,val_labelstrain_test_split(train_files,train_labels,test_size0.1,rand
16、om_state42)print(train_files.shape,val_files.shape,test_files.shape)print(Train:,Counter(train_labels),nVal:,Counter(val_labels),nTest:,Counter(test_labels)#Output(17361,)(1929,)(8268,)Train:Counter(healthy:8734,malaria:8627)Val:Counter(healthy:970,malaria:959)Test:Counter(malaria:4193,healthy:4075)
17、可以发现由于血液来源、测试方法和图像拍摄的方向不同血液涂片以及细胞的图像尺寸不尽一样。我们需要获取一些训练数据的统计信息进而确定最优的图像尺寸请注意在这里我们完全没用到测试集。importcv2fromconcurrentimportfuturesimportthreadingdefget_img_shape_parallel(idx,img,total_imgs):ifidx%50000oridx(total_imgs-1):print(:workingonimgnum:.format(threading.current_thread().name,idx)returncv2.imread(
18、img).shapeexfutures.ThreadPoolExecutor(max_workersNone)data_inp(idx,img,len(train_files)foridx,imginenumerate(train_files)print(StartingImgshapecomputation:)train_img_dims_mapex.map(get_img_shape_parallel,record0forrecordindata_inp,record1forrecordindata_inp,record2forrecordindata_inp)train_img_dims
19、list(train_img_dims_map)print(MinDimensions:,np.min(train_img_dims,axis0)print(AvgDimensions:,np.mean(train_img_dims,axis0)print(MedianDimensions:,np.median(train_img_dims,axis0)print(MaxDimensions:,np.max(train_img_dims,axis0)#OutputStartingImgshapecomputation:ThreadPoolExecutor-0_0:workingonimgnum
20、:0ThreadPoolExecutor-0_17:workingonimgnum:5000ThreadPoolExecutor-0_15:workingonimgnum:10000ThreadPoolExecutor-0_1:workingonimgnum:15000ThreadPoolExecutor-0_7:workingonimgnum:17360MinDimensions:46463AvgDimensions:132.77311215132.457577333.MedianDimensions:130.130.3.MaxDimensions:3853943我们采用了并行处理的策略来加
21、速图像读取操作。基于汇总的统计信息我们决定将每张图像的大小调整为125x125。如今让我们加载所有的图像并把他们的大小都调整为上述固定的尺寸。IMG_DIMS(125,125)defget_img_data_parallel(idx,img,total_imgs):ifidx%50000oridx(total_imgs-1):print(:workingonimgnum:.format(threading.current_thread().name,idx)imgcv2.imread(img)imgcv2.resize(img,dsizeIMG_DIMS,interpolationcv2.IN
22、TER_CUBIC)imgnp.array(img,dtypenp.float32)returnimgexfutures.ThreadPoolExecutor(max_workersNone)train_data_inp(idx,img,len(train_files)foridx,imginenumerate(train_files)val_data_inp(idx,img,len(val_files)foridx,imginenumerate(val_files)test_data_inp(idx,img,len(test_files)foridx,imginenumerate(test_
23、files)print(LoadingTrainImages:)train_data_mapex.map(get_img_data_parallel,record0forrecordintrain_data_inp,record1forrecordintrain_data_inp,record2forrecordintrain_data_inp)train_datanp.array(list(train_data_map)print(nLoadingValidationImages:)val_data_mapex.map(get_img_data_parallel,record0forreco
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医生 再添新 助手 深度 学习 诊断 传染病
限制150内