卷积网络和卷积神经网络_卷积神经网络的眼病识别-程序员宅基地

技术标签: 卷积  卷积神经网络  网络  深度学习  神经网络  

卷积网络和卷积神经网络

关于这个项目 (About this project)

This project is part of the Algorithms for Massive Data course organized by the University of Milan, that I recently had the chance to attend. The task is to develop the Deep Learning model able to recognize eye diseases, from eye-fundus images using the TensorFlow library. An important requirement is to make the training process scalable, so create a data pipeline able to handle massive amounts of data points. In this article, I summarize my findings on convolutional neural networks and methods of building efficient data pipelines using the Tensorflow dataset object. Entire code with reproducible experiments is available on my Github repository: https://github.com/GrzegorzMeller/AlgorithmsForMassiveData

该项目是我最近有幸参加的由米兰大学组织的“海量数据算法”课程的一部分。 任务是开发使用TensorFlow库从眼底图像识别眼睛疾病的深度学习模型。 一个重要的要求是使培训过程具有可扩展性,因此创建一个能够处理大量数据点的数据管道。 在本文中,我总结了有关卷积神经网络和使用Tensorflow数据集对象构建有效数据管道的方法的发现。 我的Github存储库中提供了具有可重复实验的整个代码: https//github.com/GrzegorzMeller/AlgorithmsForMassiveData

介绍 (Introduction)

Early ocular disease detection is an economic and effective way to prevent blindness caused by diabetes, glaucoma, cataract, age-related macular degeneration (AMD), and many other diseases. According to World Health Organization (WHO) at present, at least 2.2 billion people around the world have vision impairments, of whom at least 1 billion have a vision impairment that could have been prevented[1]. Rapid and automatic detection of diseases is critical and urgent in reducing the ophthalmologist’s workload and prevents vision damage of patients. Computer vision and deep learning can automatically detect ocular diseases after providing high-quality medical eye fundus images. In this article, I show different experiments and approaches towards building an advanced classification model using convolutional neural networks written using the TensorFlow library.

早期眼病检测是预防由糖尿病,青光眼,白内障,年龄相关性黄斑变性(AMD)和许多其他疾病引起的失明的经济有效方法。 根据世界卫生组织(WHO)的目前,全世界至少有22亿人有视力障碍,其中至少有10亿人本来可以预防[1]。 快速和自动检测疾病对于减轻眼科医生的工作量并防止患者视力损害至关重要。 提供高质量的医学眼底图像后,计算机视觉和深度学习可以自动检测眼部疾病。 在本文中,我展示了使用使用TensorFlow库编写的卷积神经网络构建高级分类模型的不同实验和方法。

数据集 (Dataset)

Ocular Disease Intelligent Recognition (ODIR) is a structured ophthalmic database of 5,000 patients with age, color fundus photographs from left and right eyes, and doctors’ diagnostic keywords from doctors. This dataset is meant to represent the ‘‘real-life’’ set of patient information collected by Shanggong Medical Technology Co., Ltd. from different hospitals/medical centers in China. In these institutions, fundus images are captured by various cameras in the market, such as Canon, Zeiss, and Kowa, resulting in varied image resolutions. Annotations were labeled by trained human readers with quality control management[2]. They classify patients into eight labels including normal (N), diabetes (D), glaucoma (G), cataract (C), AMD (A), hypertension (H), myopia (M), and other diseases/abnormalities (O).

眼病智能识别(ODIR)是一个结构化的眼科数据库,包含5,000名年龄的患者,左眼和右眼的彩色眼底照片以及医生的医生诊断关键字。 该数据集旨在代表由上工医疗技术有限公司从中国不同医院/医疗中心收集的“真实”患者信息集。 在这些机构中,眼底图像由市场上的各种相机(例如佳能,蔡司和Kowa)捕获,从而产生不同的图像分辨率。 注释由经过培训的人类读者进行质量控制管理来标记[2]。 他们将患者分为八个标签,包括正常(N),糖尿病(D),青光眼(G),白内障(C),AMD(A),高血压(H),近视(M)和其他疾病/异常(O) 。

After preliminary data exploration I found the following main challenges of the ODIR dataset:

经过初步的数据探索,我发现了ODIR数据集的以下主要挑战:

· Highly unbalanced data. Most images are classified as normal (1140 examples), while specific diseases like for example hypertension have only 100 occurrences in the dataset.

·高度不平衡的数据。 大多数图像被归类为正常图像(1140个示例),而特定疾病(例如高血压)在数据集中仅出现100次。

· The dataset contains multi-label diseases because each eye can have not only one single disease but also a combination of many.

·数据集包含多标签疾病,因为每只眼睛不仅可以患有一种疾病,而且可以患有多种疾病。

· Images labeled as “other diseases/abnormalities” (O) contain images associated to more than 10 different diseases stretching the variability to a greater extent.

·标记为“其他疾病/异常”(O)的图像包含与10多种不同疾病相关的图像,这些图像在更大程度上扩展了变异性。

· Very big and different image resolutions. Most images have sizes of around 2976x2976 or 2592x1728 pixels.

·非常大且不同的图像分辨率。 大多数图像的大小约为2976x2976或2592x1728像素。

All these issues take a significant toll on accuracy and other metrics.

所有这些问题都会对准确性和其他指标造成重大损失。

数据预处理 (Data Pre-Processing)

Firstly, al

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_26752765/article/details/108132559

智能推荐

远程桌面服务器连接失败,Windows服务器远程桌面连接失败是什么原因-程序员宅基地

文章浏览阅读6.1k次。1、先通过显示器直接连接的方式连接到那台连接出错的服务器上。登陆以后,在桌面上的此电脑图标上面点右键,选择属性。2、然后在属性页面中我们可以看到对应的系统版本是Windows Server 2016。CPU是intel xeon型号,内存是16g。这个时候我们点击它左上角的远程设置。3、在远程设置界面,我们可以看到,它默认的设置是允许远程到这台服务器上,但是它下面勾选了”仅允许运行使用网络级别身份..._远程桌面服务无法加入服务器 win-th0hfpjn9vr 上的连接代理。 错误: 当前异步消息

ApacheCN 翻译活动进度公告 2019.6.15-程序员宅基地

文章浏览阅读109次。Special Sponsors我们组织了一个开源互助平台,方便开源组织和大 V 互相认识,互相帮助,整合资源。请回复这个帖子并注明组织/个人信息来申请加入。请回复这个帖子来推荐希望翻译的内容。如果大家遇到了做得不错的教程或翻译项目,也可以推荐给我们。我们会联系项目的维护者,一起把...

Python培训课程深圳,群年轻人正在追捧Python-程序员宅基地

文章浏览阅读182次。记者 | 伍洋宇 袁伟腾编辑 | 文姝琪1李楠打算年底换份新工作,Python方向的、纯软件岗位,发挥空间更大的全栈开发工程师就很不错,目标月薪一万二。这使得他在今年下半年开始系统学习Python。因为本科是计算机专业,期间也自学过Python这门语言,李楠选择了继续自学。学Python真的有用吗?“当然有用啦,没用谁去学它啊。”今年24岁、刚刚毕业一年的李楠这么说。目前他在一家智能硬件公司做嵌入式开发软件工程师,月薪一万,工作是“往硬件里面写软件”,他觉得太枯燥了。“代码都是写好的,基..

Ubuntu下安装R,升级R版本,安装Rstudio,安装Rstudio Server以及安装Shiny Server_marutter-ubuntu-rrutter-focal.list-程序员宅基地

文章浏览阅读2.9k次。一、安装R只需要一步命令:sudo apt-get install r-base二、升级R版本第一步给Ubuntu指定PPA:sudo add-apt-repository ppa:marutter/rrutter第二步:sudo apt-get update第三步:sudo apt-get upgrade三、安装Rstudio直接去Rstudio官网下载最新版的Rst..._marutter-ubuntu-rrutter-focal.list

Redis5.0集群搭建(Redis Cluster)_rediscluster搭建 5.0-程序员宅基地

文章浏览阅读9.1k次。Redis5.0集群搭建RedisCluster_rediscluster搭建 5.0

题目-java基础_面向过程的程序设计是把计算机程序视为一系列的命令集合-程序员宅基地

文章浏览阅读405次。多线程和单线程线程不是越多越好,假如你的业务逻辑全部是计算型的(CPU密集型),不涉及到IO,并且只有一个核心。那肯定一个线程最好,多一个线程就多一点线程切换的计算,CPU不能完完全全的把计算能力放在业务计算上面,线程越多就会造成CPU利用率(用在业务计算的时间/总的时间)下降。但是在WEB场景下,业务并不是CPU密集型任务,而是IO密集型的任务,一个线程是不合适,如果一个线程在等待数据时,把CPU的计算能力交给其他线程,这样也能充分的利用CPU资源。但是线程数量也要有个限度,一般线程数有一个公式:最佳启_面向过程的程序设计是把计算机程序视为一系列的命令集合

随便推点

储能8串电池用140W DCDC电路2 USB_A 2个 TYPE-C 2A2C_pl56002-程序员宅基地

文章浏览阅读78次。储能8串电池,输出是2个C口,2个USBA口,功率是C1:140W,C2:100W,A1:18W,A2:18W.A1,A2不降功率,使用IP2736,IP2723T,IP2163,_pl56002

python3.8.1手机版下载-Python官方下载|Python最新版 V3.8.1 -推背图下载站-程序员宅基地

文章浏览阅读2k次。Python最新版是一款功能强大脚本编程软件。Python最新版它可以帮助编程人员更加便捷的进行代码编写,适合完成各种高层任务,兼容所有的操作系统中使用,因为它的便捷性,在程序员中得到广泛的应用,新入门的编程学习者可以使用它快速学习,欢迎前来下载!功能特点1、简单易学Python极其容易上手,因为Python有极其简单的说明文档 。2、免费开源Python是FLOSS(自由/开放源码软件)之一。3..._手机版python官网下载

Unity3D学习之(坦克大战解析)-程序员宅基地

文章浏览阅读3.9k次。欢迎大家光临我的博客!对坦克大战项目的解析:一、游戏模块主要是:注册模块、登录模块、我方模块、和敌方模块。①注册模块:可以跳转到登录界面!②登录模块:可以跳转到游戏界面!③我方模块:可以前后左右移动,可以发射子弹,可以死亡销毁。④敌方模块:可以可以发射子弹,追踪我方的位置,也可以随机出现,可以死亡销毁。 二、所用到的技术①键盘事件 //敌我双方通过键盘上下左右键的移动②位移 ...

【linux】进程和线程的几种状态及状态切换_linux线程状态-程序员宅基地

文章浏览阅读3.6k次,点赞46次,收藏54次。进程和线程的状态_linux线程状态

Java/Mysql数据库+SSM+学生信息管理系统 11578(免费领源码)计算机毕业设计项目推荐上万套实战教程JAVA、PHP,node.js,C++、python、大屏可视化等-程序员宅基地

文章浏览阅读1.1k次,点赞22次,收藏20次。免费领取项目源码,请关注●点赞●收藏并私信博主,谢谢~本系统以实际运用为开发背景,通过系统管理员可以对所有的学生和教师等人员以及学生相关联的一些学生管理、分配任务、完成任务、打卡签到、师生交流等数据信息进行统一的管理,方便资料的保留。教师和学生可以通过注册,然后登录到系统当中,对分配任务、完成任务、打卡签到以及师生交流这些信息进行查询管理。总的来说,系统的前台是通过Java页面展示,后台使用SSM这个框架,数据库采用目前流行的开源关系型数据库MYSQL。

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?_在群晖nas安装cpolar套件-程序员宅基地

文章浏览阅读1.2k次,点赞39次,收藏34次。群晖作为大容量存储系统,既可以作为个人的私有存储设备,也可以放在小型企业中作为数据中心使用。其强大的数据存储和管理功能,让其还能够胜任更多任务。但由于群晖的应用场景所限,这些功能通常只能在局域网内实现,想要让群晖NAS存储的数据能在公网访问到,我们可以借助cpolar的辅助,轻松实现在公共互联网访问内网群晖NAS上的数据。在这之前,我们还是需要了解下cpolar的基本操作方式。_在群晖nas安装cpolar套件