当前位置: 首页 > news >正文

5.28.1 使用卷积神经网络检测乳腺癌

深度学习技术正在彻底改变医学图像分析领域,因此在本研究中,我们提出了卷积神经网络 (CNN) 用于乳腺肿块检测,以最大限度地减少手动分析的开销。CNN 架构专为特征提取阶段而设计,并采用了更快的 R-CNN 的区域提议网络 (RPN) 和感兴趣区域 (ROI) 部分,以实现乳腺肿块异常的自动检测。

模型可检测乳房 X 光检查 (MG) 图像中的肿块区域,并一次性将其分类为良性或恶性异常。对于所提出的模型,MG 图像是从本地的不同医院收集的。图像经过不同的预处理阶段,例如高斯滤波器、中值滤波器、双边滤波器,并从 MG 图像的背景中提取乳房区域。

1. 介绍

微钙化和肿块是乳腺癌的最早迹象,只能使用成像方式检测到。根据乳腺异常的侵袭阶段,异常可能是良性的或恶性的。与检测微钙化相比,检测乳房组织中的肿块更具挑战性。

Organization 等人 (2006) 的研究表明,种族、地理位置和其他风险因素会决定乳腺癌的发展。在这项工作中,我们提出了基于卷积神经网络 (CNN) 的乳腺肿块检测方法,以同时定位肿块并将其分类为良性或恶性异常。为了训练、验证和测试该方法,我们从不同站点收集了数据集。

2. 方法论

2.1 数据集

这项工作仅考虑了收集的 MG 图像中的肿块异常,即 1588 张具有肿块异常的完整乳房 X 射线图像,这些图像由专业放射科医生使用 labelMe Russell et al (2008) 注释工具进行注释。

2.2 方法

开发了基于 CNN 的乳腺肿块异常检测模型,该模型可自动检测肿块异常的感兴趣区域,并将其分类为 MG 图像中的良性或恶性。

对 INbreast Moreira 等人(2012 年)拍摄的 116 张完整 MG 图像和 CBIS-DDSM Lee 等人(2017 年)拍摄的 1380 张完整 MG 图像进行了预处理和增强,以便为训练我们的模型和本地收集的数据集提供初始权重。

2.2.1 数据收集

表 1 中描述的数据集是从埃塞俄比亚的不同医院收集的

2.2.2 MG图像预处理

为了提高数据质量并以适合深度学习训练的方式准备数据,对数据进行了预处理。为了消除图像中的噪声,应用了高斯滤波、中值滤波和双边滤波。随后使用对比度限制自适应直方图均衡化 (CLAHE) 增强图像,然后进行形态学操作和 OTSU 阈值处理,以从背景中提取乳房区域,并从 MG 中去除非乳房区域部分,例如伪影、标签、患者资料等。

2.2.3 模型训练

Bounding box regressor(边框回归器)在计算机视觉和目标检测中用于预测目标物体的边界框(Bounding Box)的位置和大小。其目标是从给定的物体位置(通常是一个初始边界框)开始,通过学习和预测修正值,使得模型能够准确地预测物体的边界框。这些修正值通常是相对于初始边界框的偏移量,包括水平偏移、垂直偏移、宽度缩放和高度缩放。

特征提取部分有一系列五个卷积层,每个卷积层分别有 (64, 128, 256, 512,512) 数量的卷积核。每个卷积层后面都是 Relu 激活层、批量归一化层、最大池化层和 dropout,但第二层除外,它既没有 dropout 也没有最大池化。

通过调整 Faster R-CNN Ren et al (2015) 的 ROI Pooling 部分的锚点边界框尺度、RPN 和最大池化的比率,它被用于检测肿块异常。我们使用了 9 个锚点,锚点框尺度分别为 32 × 32、64 × 64 和 128 × 128 像素,锚点框宽高比为 [1, 1]、[\frac{1}{\sqrt{2}}, \frac{2}{\sqrt{2}}] 和 [\frac{2}{\sqrt{2}}, \frac{1}{\sqrt{2}}],ROI 最大池化大小为 (5,5)。

使用 0.9 动量、500 个 epoch、0.00001 学习率、RPN 的 Adam 和整个模型的随机梯度下降 (SGD) 作为优化器。所提出的模型是使用 Python 和 Keras 实现的,其中 Tensorflow 用作后端。

3. 结果与讨论

描述了一种基于 CNN 的方法,用于检测肿块区域并将其分为良性和恶性。研究了在本地多中心 MG 数据集中一次性检测、定位肿块异常并将其分类为良性或恶性。很难将我们的检测结果与以前的本地研究直接进行比较。因此,我们对基于 VGG 的更快 R-CNN Ren et al (2015) 架构进行了训练、验证和测试,以便使用收集到的数据集与我们模型的性能进行比较。在收集到的所有图像中,选择了 1588 张包含肿块异常的完整 MG 图像,然后由专业放射科医生使用 labelMeRussell et al (2008) 注释工具对其进行注释。在 1588 张 MG 图像中,有 1683 个乳腺肿块异常。数据集被随机分成 80% 用于训练、10% 用于验证和 10% 用于测试。

对 INbreast Moreira 等人(2012 年)、CBIS-DDIS Lee 等人(2017 年)执行了相同的流水线预处理,并为所提出的模型和基于 VGG 的Faster R-CNN 收集了本地 MG 数据集。

在预处理阶段:将不同的成像格式(例如 DICOM 医学图像格式)转换为 .png 图像格式,去除噪音,从背景中提取乳房区域,删除患者信息,清除伪影和其他不需要的物体。分别使用 3×3 和 5×5 大小的高斯、中等和横向滤波器进行降噪,并使用 MSE 评估去噪结果。在考虑的两种卷积核尺寸中,最终使用了 3×3 大小的卷积核。此外,使用 CLAHE 增强去噪后的 MG 图像,然后提取乳房区域并使用 OTSU 和形态学操作去除不需要的伪影。

相关文章:

5.28.1 使用卷积神经网络检测乳腺癌

深度学习技术正在彻底改变医学图像分析领域,因此在本研究中,我们提出了卷积神经网络 (CNN) 用于乳腺肿块检测,以最大限度地减少手动分析的开销。CNN 架构专为特征提取阶段而设计,并采用了更快的 R-CNN 的区域提议网络 (RPN) 和感兴…...

【JavaScript脚本宇宙】JavaScript日期处理神器: 6款顶级库解析

提升编程效率:六个强大的JavaScript日期时间库介绍 前言 在信息化社会,日期和时间的处理是任何编程语言必不可少的部分。本文将介绍六个优秀的JavaScript日期和时间库,这些库各有特色,可以应对多样的使用场景。 欢迎订阅专栏&am…...

C++基础编程100题-002 OpenJudge-1.1-04 输出保留3位小数的浮点数

更多资源请关注纽扣编程微信公众号 002 OpenJudge-1.1-04 输出保留3位小数的浮点数 http://noi.openjudge.cn/ch0101/04/ 描述 读入一个单精度浮点数,保留3位小数输出这个浮点数。 输入 只有一行,一个单精度浮点数。 输出 也只有一行,…...

Linux挂载硬盘

通过df -h命令后无硬盘信息,但是已经分配了硬盘,需要将硬盘挂载到主机上。 通过命令:lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 492K 0 rom vda 252:0 0 50G 0 disk …...

用户购物性别模型标签(USG)之决策树模型

一、USG模型引入: 首先了解一下,如何通过大数据来确定用户的真实性别, 经常谈论的用户精细化运营,到底是什么? 简单来讲,就是将网站的每个用户标签化,制作一个属于用户自己的网络身份证。然后,运营人员 通…...

Mock的用法

1. 引入unittest包,再从包里引用mock类 import unittest from unittest import Mock 2. mock的作用,做挡板或者用来做一些单元测试过程中复杂的数据的模拟 demo Demo() #把mock的值赋值给demo的get()方法,这样在调用这个方法时&#xff0…...

内网-win1

一、概述 1、工作组:将不同的计算机按功能(或部门)分别列入不同的工作组 (1)、查看(windows) 查看当前系统中所有用户组:打开命令行--》net localgroup查看组中用户:打开命令行 --》net localgroup 后接组名查看用户…...

中国电子学会(CEIT)2023年09月真题C语言软件编程等级考试三级(含详细解析答案)

中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试三级 2023年09月 编程题五道 总分:100分一、谁是你的潜在朋友(20分) "臭味相投"一这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着 许多共同的兴趣。然而作为…...

golang线程池ants-四种使用方法

目录 1、ants介绍 2、使用方式汇总 3、各种使用方式详解 3.1 默认池 3.2 普通模式 3.3 带参函数 3.4 多池多协程 4、总结 1、ants介绍 众所周知,goroutine相比于线程来说,更加轻量、资源占用更少、无线程上下文切换等优势,但是也不能…...

Flutter开发效率提升1000%,Flutter Quick教程之对组件进行拖拽与接收

1,首先,所有可以选择的组件,都在左边的组件面板里。从里面点击任何一个,按住左键,向右边的手机面板上进行拖拽即可。 2,拖拽后,我们要选择一个接收组件。什么时候可以接收组件,就是当…...

揭秘小程序商城的团购奇迹:独特模式引领盈利新纪元

在数字经济的新纪元里,你是否对那些不张扬却充满潜力的商业模式心生好奇?今天,我要为你揭示一种别出心裁的商业模式,它以其独特的魅力,不仅迅速吸引了大量用户的目光,更在短短一个月内创造了超过600万的惊人…...

ssm_mysql_高校自习室预约系统(源码)

博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

AI自动化办公:批量将Excel表格英文内容翻译为中文

有一个50列的表格,里面都是英文,要翻译成中文: 在ChatGPT中输入提示词: 你是一个开发AI大模型应用的Python编程专家,要完成以下任务的Python脚本: 打开Excel文件:"F:\AI自媒体内容\AI行业…...

PPT 隐藏开启对象图层

目录预览 一、问题描述二、解决方案三、参考链接 一、问题描述 制作PPT的时候,有时候需要在一张PPT放置多个依次出现的内容,然后设置对应的动画,要是需要对某个内容进行修改的话,就会很不方便,这个时候就需要使用&…...

PHP火狼大灌篮游戏源码微信+手机wap源码带控制

使用此接口可以实现支付宝、QQ钱包、微信支付与财付通的即时到账,免签约,无需企业认证。PHP易支付源码,免签约不需要企业的支付平台源码,彩虹第三四方在线支付系统源码,易支付token合作者商户申请源码,app和网页都可以…...

推荐几首听无数遍也听不腻的好歌(1)

1.Wannabe (Spice Girls Cover) 这首歌是Why Mona创作的首红眼特效的歌,唱的像牙痛的唱不清楚,但配上超级劲爆的旋律及节奏,简直好听到爆 2.Down For Life (Reset) 这首HSHK创作的纯音乐,虽然旋律一直重复一个调,但…...

【全开源】Java短剧系统微信小程序+H5+微信公众号+APP 源码

打造属于你的精彩短视频平台 一、引言:为何选择短剧系统小程序? 在当今数字化时代,短视频已经成为人们日常生活中不可或缺的一部分。而短剧系统小程序源码,作为构建短视频平台的强大工具,为广大开发者提供了快速搭建…...

基于Springboot驾校预约平台小程序的设计与实现(源码+数据库+文档)

一.项目介绍 系统角色:管理员、教练、学员 小程序(仅限于学员注册、登录): 查看管理员发布的公告信息 查看管理员发布的驾校信息 查看所有教练信息、预约(需教练审核)、评论、收藏喜欢的教练 查看管理员发布的考试信息、预约考试(需管理…...

python列表基本运算

列表基本运算 成员运算符 in 老师你在上课喊人回答问题的时候,就犯了难。想点的人名字已经脱口而出了,但发现这位同学没来。 可不,今天的课就来了 8 个人: students [林黛玉, 薛宝钗, 贾元春, 妙玉, 贾惜春, 王熙凤, 秦可卿,…...

Pytorch实用教程:pytorch中nn.Linear()用法详解 | 构建多层感知机 | nn.Module的作用 | nn.Sequential的作用

文章目录 1. nn.Linear()用法构造函数参数示例使用场景2. 构建多层感知机步骤代码示例注意事项3. 继承自nn.Module的作用是什么?1. 组织网络结构2. 参数管理3. 模型保存和加载4. 设备管理不继承 `nn.Module` 的后果...

如何利用unicloud阿里云云函数实现文件包括图片或文件上传,unicloud云函数写法一览

这里以一个单文件上传为例子,多图多文件同理,循环单图处理逻辑即可。 背景 前端vue上传图片文件(base64格式)到服务器,并获取返回的服务器资源存储路径 传入参数 { ”queryStringParameters“:{ "file":&qu…...

Django序列化器中is_valid和validate

今天上班的时候分配了一个任务,是修复前端的一个提示优化,如下图所示: 按照以往的经验我以为可以直接在validate上进行校验,如何抛出一个异常即可 ,例如: class CcmSerializer(serializers.ModelSerialize…...

关于Golang中自定义包的简单使用-Go Mod

1. go env 查看 GO111MODULE 是否为 on,不是修改成on go env -w GO111MODULEon 2 .自定义包的目录格式 3. test.go 内容 package calc func Add(x, y int) int { // 首字母大写表示公有方法return x y }func Sub(x, y int) int {return x - y } 4.生成calc目…...

Dijkstra求最短路篇二(全网最详细讲解两种方法,适合小白)(python,其他语言也适用)

前言: Dijkstra算法博客讲解分为两篇讲解,这两篇博客对所有有难点的问题都会讲解,小白也能很好理解。看完这两篇博客后保证收获满满。 第一篇博客讲解朴素Dijkstra算法Dijkstra求最短路篇一(全网最详细讲解两种方法,适合小白)(p…...

Dijkstra求最短路篇一(全网最详细讲解两种方法,适合小白)(python,其他语言也适用)

前言: Dijkstra算法博客讲解分为两篇讲解,这两篇博客对所有有难点的问题都会讲解,小白也能很好理解。看完这两篇博客后保证收获满满。 本篇博客讲解朴素Dijkstra算法,第二篇博客讲解堆优化Dijkstra算法Dijkstra求最短路篇二(全网…...

计算机组成原理06:浮点数运算

浮点数加减运算 之前我们提到过&#xff0c;浮点数具有特定的表示形式。因此&#xff0c;在进行浮点数的加减运算之前&#xff0c;需要统一浮点数的表达方式。这里我们主要对浮点数表示中的尾数M进行处理&#xff0c;要求0≤M<1&#xff0c;统一格式如下&#xff1a; 正数…...

opencascade 快速显示AIS_ConnectedInteractive源码学习

AIS_ConcentricRelation typedef PrsDim_ConcentricRelation AIS_ConcentricRelation AIS_ConnectedInteractive 简介 创建一个任意位置的另一个交互对象实例作为参考。这允许您使用连接的交互对象&#xff0c;而无需重新计算其表示、选择或图形结构。这些属性是从您的参考对…...

CentOS系统上安装单机版Redis教程

一、前言 1.1 为什么选择Redis&#xff1f; Redis不仅支持丰富的数据类型&#xff08;如字符串、哈希、列表、集合、有序集合等&#xff09;&#xff0c;还具有高性能、持久化、发布订阅、事务和Lua脚本等特点。这些优势使其成为分布式系统和高并发应用中的首选。 1.2 为什么…...

纯Java实现Google地图的KMZ和KML文件的解析

目录 前言 一、关于KMZ和KML 1、KMZ是什么 2、KML是什么 二、Java解析实例 1、POM.xml引用 2、KML 基类定义 3、空间对象的定义 4、Kml解析工具类 三、KML文件的解析 1、KML解析测试 2、KMZ解析测试 四、总结 前言 今天是六.一儿童节&#xff0c;在这里祝各位大朋友…...

k8s自定义资源你会创建吗

创建自定义资源定义 CustomResourceDefinition 当你创建新的 CustomResourceDefinition&#xff08;CRD&#xff09;时&#xff0c;Kubernetes API 服务器会为你所 指定的每一个版本生成一个 RESTful 的 资源路径。CRD 可以是名字空间作用域的&#xff0c;也可以是集群作用域的…...

CATIA二次开发VBA入门(4)——进程外开发环境搭建,vb.net在Visual Studio中开发,创建圆柱曲面的宏录制到二次开发案例

目录 引出vb.net和vb6.0 进程外开发环境搭建vb.net开发环境搭建《CATIA二次开发技术基础》模板 添加宏库引用 vs开发环境初步vs中的立即窗口对象浏览器 建立模板案例&#xff1a;创建一堆圆柱曲面第一步&#xff1a;录制宏第二步&#xff1a;代码精简第三步&#xff1a;for循环…...

c++字符串相关接口

c字符串相关接口 1.str2wstr(str转换wstr)2.wstr2str(str转换wstr)3.Utf8ToAsi(Utf8转换ANSI)4.AsiToUtf8(ANSI转换Utf8)5.stringformatA/stringformatW(按照指定的格式格式化字符串)6.GetStringBetween(获取cStart cEnd之间的字符串)7.Char2Int(char转int)8.Str2Bin(字符串转换…...

Maven打包错误:无效的源发行版:17

1. 报错问题 在用maven进行打包时&#xff08;clean & install&#xff09;&#xff0c;报如下错误&#xff1a; 一开始让我很摸不着头脑&#xff0c;我确定我的pom.xml&#xff0c;还有IDEA中的Project Settings是正确的。 2. 排查 尽管确定&#xff0c;但还是一个个排…...

【环境栏Composer】Composer常见问题(持续更新)

1、执行composer install提示当前目录中没有 composer.lock 文件时 No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Composer 在执行 install 命令时会…...

塑造更智慧的AI:策略与路径探索

提升数据质量&#xff1a; 数据清洗&#xff1a;去除数据中的异常值、缺失值、噪声等干扰因素&#xff0c;确保数据的准确性和一致性。数据标注&#xff1a;为数据集提供准确的标签&#xff0c;以便进行有监督学习。标注的质量直接影响模型的性能。数据增强&#xff1a;通过图像…...

软设之快速排序

快速排序是冒泡排序的改进算法 它采用的是分治法&#xff0c;基本思想是把原问题分解为若干规模更小但结构与原问题相似的子问题&#xff0c;通过递归解决这些子问题&#xff0c;然后将这些子问题的解组合成原问题的解。 它的步骤是 1.在待排序的n个记录中任取一个记录&…...

从零学算法2965

2965. 找出缺失和重复的数字 给你一个下标从 0 开始的二维整数矩阵 grid&#xff0c;大小为 n * n &#xff0c;其中的值在 [1, n2] 范围内。除了 a 出现 两次&#xff0c;b 缺失 之外&#xff0c;每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个…...

【Mac版】Java生成二维码

软件版本 IntelliJ IDEA&#xff1a;2023.2 JDK&#xff1a;17 Tomcat&#xff1a;10.1.11 Maven&#xff1a;3.9.3 技术栈 servlet谷歌的&#xff1a;zxing 生成普通的黑白二维码在二维码中间添加一个小图标 github开源项目&#xff1a;qrcode qrcode开源项目的内部是基于z…...

ROS2自定义服务接口

ROS2自定义服务接口 在src/village_interface 下构建srv文件夹 src/village_interface/srv 下新建一个BorrowMoney.srv 遵循大小写编程规范 # 客户端请求 string name uint32 money # 中间这三个横杠很重要 不能删掉 --- # 服务端响应 bool success uint32 money接口编译 修改…...

linux /www/server/cron内log文件占用空间过大,/www/server/cron是什么内容,/www/server/cron是否可以删除

linux服务器长期使用宝塔自带计划任务&#xff0c;计划任务执行记录占用服务器空间过大&#xff0c;导致服务器根目录爆满&#xff0c;需要长期排查并删除 /www/server/cron 占用空间过大问题处理 /www/server/cron是什么内容&#xff1f;/www/server/cron是否可以删除&#xf…...

C++青少年简明教程:break语句、continue语句

C青少年简明教程&#xff1a;break语句、continue语句 break语句 只能用在switch语句和循环语句&#xff08;for循环、while循环和do-while循环&#xff09;中。作用&#xff1a;跳出switch语句或提前终止循环。 break语句的基本语法如下&#xff1a; break; break语句的示例…...

MySQL实战行转列(或称为PIVOT)实战sales的表记录了不同产品在不同月份的销售情况,进行输出

有一个sales的表&#xff0c;它记录了不同产品在不同月份的销售情况&#xff1a; productJanuaryFebruaryMarchProduct AJanuary10Product AFebruary20Product BJanuary5Product BFebruary15Product CJanuary8Product CFebruary12 客户需求展示为如下的样子&#xff1a; pro…...

牛客NC164 最长上升子序列(二)【困难 贪心+二分 Java/Go/PHP/C++】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/4af96fa010c44638a7e112abf65f7237 思路 贪心二分 所谓贪心&#xff0c;就是往死里贪&#xff0c;所以对于最大上升子序列&#xff0c;结尾元素越小&#xff0c;越有利于后面接上其他的数&#xff0c;也就可能变…...

电子烟开发【恒压、恒有效算法】

恒压算法 pwm是通过软件模拟的 pwm满值运行是250全占空比 #define D_TARGET_AVERAGE_VOLTAGE 3500 //R_ADC1_Vout &#xff1a;发热丝两端AD值 //R_ADC_FVR &#xff1a;电池电压AD值 //FVR_VOLTAGE &#xff1a;电池AD参考电压 满电值AD //R_Smk1Duty &#xff1a;最后…...

基于Open3D的点云处理22-非阻塞可视化/动态可视化

官网测试用例:examples/python/visualization/non_blocking_visualization.py 非阻塞可视化,即实时更新点云数据; 如下,动态可视化ICP的匹配过程: import open3d as o3d import numpy as npif __name__ == "__main__":o3d.utility.set_verbosity_level(o3d.ut…...

C++面试题其一

C和C的区别 C和C都是广泛使用的编程语言&#xff0c;但它们有显著的区别&#xff1a; 语言范式&#xff1a; C&#xff1a;是一种过程化编程语言&#xff0c;强调过程和函数的使用。C&#xff1a;是一种多范式编程语言&#xff0c;支持面向对象编程、泛型编程和过程化编程。 …...

CentOS7某天的samba服务搭建操作记录(还没成功)

#CentOS7 yum软件仓库阿里云 samba服务器配置失败 sensors成功了 (花了200元组装H61测试机&#xff0c;75元的主板只有一块能用&#xff0c;垃圾板但又不完全能用&#xff09; 2024.5月的某天记录如下&#xff1a; https://blog.csdn.net/dszgf5717/article/details/53732182 …...

Qt Demo:基于TCP协议的视频传输Demo

目录 1.设计思路 2.Pro文件配置 3.头文件引入 4.界面设计 5.初始化设备函数 6.发起视频链接函数 7.初始化定时器模块函数 8.TCP链接模块函数 9.处理接收的数据线程函数 10.实现功能展示 设计思路 基于TCP协议的视频传输Demo&#xff0c;设计要实现的功能主要是TCP传输还有视频&…...

内存管理【C++】

内存分布 C中的内存区域主要有以下5种 栈&#xff08;堆栈&#xff09;&#xff1a;存放非静态局部变量/函数参数/函数返回值等等&#xff0c;栈是向下增长的【地址越高越先被使用】。栈区内存的开辟和销毁由系统自动执行 堆&#xff1a;用于程序运行时动态内存分配&#xff…...

D3D 顶点格式学习

之前D3D画三角形的代码中有这一句&#xff0c; device.VertexFormat CustomVertex.TransformedColored.Format; 这是设置顶点格式&#xff1b; 画出的三角形如下&#xff0c; 顶点格式是描述一个三维模型的顶点信息的格式&#xff1b;可以包含以下内容&#xff0c; 位置…...