| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 用FCN来分类皮肤病(应用类型的项目) -> 正文阅读 |
|
[人工智能]用FCN来分类皮肤病(应用类型的项目) |
CNN解决皮肤病分类问题来自(未来的科技)炼丹小白师的项目,希望大家喜欢! 前言提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目描述皮肤作为人体免疫系统的第一道防线,对人体疾病防护有着非常重要的作用。现如今社会,由于环境,饮食等问题,皮肤病的发病率逐渐增高,病种也越来越多。目前已知的皮肤病有四千多种,而黑色素瘤、基底细胞癌等癌症肿瘤类是恶性程度最高、发病率增长最快的,相比于其他实体瘤,其致死年龄更低,缺乏特效治疗。因此,早期诊断和治疗极其重要,所以当下皮肤检测技术越来越受社会关注。然而,正确诊断一种皮肤病具有挑战性,由于皮肤科专家的不同经验,用皮肤病镜像图片鉴别的皮肤病可能是不准确的。在实践过程中,专家通过对黑色素瘤皮肤病镜像图片的诊断准确率达到75%到84%之间。但是由于诊断具有严重的主观性,不同的专家差异可能很大,导致专家诊断具有一定的局限性。 二、数据库1. 公开数据集:kaggle竞赛平台提供Datasets,Skin Cancer: Malignant vs. Benign每类数据样本数不同采用20%的部分作为测试。 2. 公开数据集:项目使用了阿里云天池数据集,该数据集包含ISIC 2019挑战赛的训练数据,它已经包含了前几年(2018和2017)的数据。ISIC 2019的数据集包含25,331张图像,可用于对9种不同诊断类别中的皮肤镜图像进行分类。每类数据样本数不同采用20%的部分作为测试。冲鸭:——> 数据集传送门 三、任务建模本次任务建立一个用于分类皮肤病数据的模型,并以此为基础去实现皮肤病种类识别。本次任务分为四个部分: 1.数据预处理部分对于图片精确获取ROI区域,对比10类皮肤病样本特征,我们本打算对其做图像级特征分析,经过前期分析,我们得到几个强特征,如病变区域边缘及内容,而强干扰特征如:毛发信息等。 2.模型选择部分我们的方法采用先易后难,采用FCNN、Faster-CNN、YOLO-v5深度学习模型作为基础模型,首先检验效果,我负责FCNN的架构和训练,效果训练的准确率近乎于60%,不合于当前效果,故后期做了提升。 3.模型训练部分我们采用GPU机器进行训练 4.模型优化部分模型优化我们采用增加一层带权重的block层,从而大幅度降低梯度,更改预处理部分并且增强图片内容特征,根据网络内部结构,从而使模型更为注意病变区域。从而将准确率提高了10%,前一阶段的过拟合问题也得到了解决。 四、评价指标Time 单批次运行时间 五、实验过程和讨论分析详细架构如下: Adam 迭代公式过程如下: 分类结果如下: 根据trainacc与testacc的结果与train-loss与test-loss出现的结果,由此证明前期阶段出现过拟合,故提出来改进方案,一个是提高准确率的方法,第二是削弱前期的过拟合问题。
改进预处理部分的训练效果如下: 2 基于ResNet-50分类输入同上,前期加载预训练模型。池化层定义为平均池化。ResNet-50,数字代表的是网络的深度,50指定的是带有权重的50层,包括卷积层和全连接层,不包括池化层和BN层。ResNet及其变体网路系列,对于一般的图像识别任务表现优异,要根据具体在皮肤病特征信息,进行具体网络结构改进,如增加权重,更改激活函数等。但是考虑到梯度问题,而且对于训练Resnet网络自身前期训练就可以的到结果。[1]采用的resnet50方法及应用领域,在皮肤特征上也可使用。
六、总结1 Resnet50使用心得梯度弥散(当使用反向传播方法计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。结果就造成了整体的损失函数相对于最初几层的权重的导数非常小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习)和梯度爆炸(差梯度在网络训练时被用来得到网络参数更新的方向和幅度,进而在正确的方向上以合适的幅度更新网络参数。在深层网络或递归神经网络中,误差梯度在更新中累积得到一个非常大的梯度,这样的梯度会大幅度更新网络参数,进而导致网络不稳定。在极端情况下,权重的值变得特别大,以至于结果会溢出(NaN值,无穷与非数值)。当梯度爆炸发生时,网络层之间反复乘以大于1.0的梯度值使得梯度值成倍增长),这两点常常困扰着卷积神经网络的设计者和使用者,也成为人们不得不思考的问题。但是所幸的是,一些网络的出现很好的解决了这些问题。Resnet就有效的解决了这个问题。Resnet的提出目的并不是为了解决梯度弥散,有效的消除梯度弥散(意外收获)。卷积神经网络(CNN),导致depth随着层数增加,就出现了学习退化的问题。 2 FCNN的使用心得配合学习[4]的方法,启发了我对传统FCN的改进方法。对于传统的CNN网络在卷积层后使用全连接层得到固定长度的特征向量进行分类(全连接层+SoftMax输出)不同,FCNN网络可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样,使它恢复到与输入图像想通的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像的空间信息,最后在上采样的特征图上进行逐像素分类。最后逐个像素计算softmax分类的损失,相当于每一个像素对应一个训练样本。 七、参考文献[1]宋京,段惠斌 . 基于改进卷积神经网络的手势识别 [J]. 物联网技 术,2020,10(7):26-27. 欢迎大家学习交流,附上小白师的QQ 看到这里的您,为您准备了一颗大彩蛋最近在Kaggle上打比赛,这是传感器压力预测的相关特征的展示图! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:41:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |