U-Net 模型改进和应用场景研究性综述

2023-11-16

1 文章介绍

在这里插入图片描述

闲来无事,被封宿舍,代码不好码,正好有几篇综述,拿来看看,这篇文章主要从U-Net模型的结构性和非结构性改进两个方向做出综述,同时还介绍了视网膜血管,肺结节,肝脏肝脏肿瘤,脑肿瘤四种典型任务为例,阐述不同数据的分割特点和难点;

2 U-Net介绍

参考之前的一篇文章:U-Net代码练习

对U-Net有一定了解之后,一定要动手跑一下,加深映像;总的来说,U-Net 网 络 模 型 结 构 主 要 包 括 编 码 器 、解 码 器 和跳跃连接部分。编码器用于提取抽象特征和上 下 文 信 息 ,解 码 器 用 于 将 图 像 逐 步 恢 复 至 原 始 尺 寸 ,而 跳 跃 连 接 则 将 不 同 层 次 的 特 征 进 行 融 合 。

3 结构改进

结构性改进就三种情况,编码器解码器改进,跳连接改进,以及模型整体结构改进;大 部 分 改 进 工 作是在原有模块的基础上,增加残差模块、Dense 模 块 、Inception 模 块 、Attention 模 块 等 经 典 网 络 模 块 , 或 综 合 运 用 其 中 的 几 种 模 块 ,以 提 高 网 络 的 分 割 性 能。

2018年的一篇MDU-Net: Multi-scale Densely Connected U-Net for biomedical image segmentation,就是添加了Dense和Inceptioon模块,然后不同层之间进行特征连接,增加网络的学习能力,结构图如下:
在这里插入图片描述

代码如何实现呢:应该是定义好各个卷积模块和采样模块,在def forward中来回的进行连接吧,有机会就回来实现一下代码;

2018年的另外一篇文章,Recurrent Residual Convolutional Neural Network based on U-Net (R2U-Net) for Medical Image Segmentation,与原 始 U-Net 相比,这种网络分别在编/解码器阶段用循环卷积层(RCLs)和带有残差单元的循环卷积层(RCLs)代替原有的正向卷积层,使得网络在不增加参数量的同时具有优于U-Net和ResU-Net 的分割性能,网络结构图如下:
在这里插入图片描述

代码如何实现呢:不太会,因为这个循环卷积层没用过,只是在NLP任务中听说过循环神经网络(RNN),不知道是否有关系?

2019年一篇顶会文章,Prostate Segmentation using 2D Bridged U-net,文章中是串联了U-Net,每个跳连接之间在通过其他方式连接起来,比较适合病灶分割,结合我之前看过的一篇文章,也是串联U-Net,主要用来进行视网膜血管分割,可以对比学习一下,文章链接:Iter-Net——迭代式U-Net变型

在这里插入图片描述

代码如何实现呢:可以封装U-Net,将跳连接部分的接口放出来,但是可能也不太好实现,最莽的手段就是在forward里面按部就班的写;

再来一篇2018年的顶刊文章M-Net,发表在TMI上的文章,主要思想,将输入图片缩放成不同的大小传入U-Net的每一层,同时也将U-Net每一层的输出都拿出来进行损失计算,反向传播,这样可以的大大增加拟合强度,我第一次接触这种每一层都输出结果进行计算的思想,是在 U 2 − N e t U^2-Net U2Net中,文章讲解:套娃式U-Net网络结构;M-Net网络结构如下:
在这里插入图片描述

代码如何实现:我猜将图片缩放之后,存入列表中做参数传入网络结构中,那GT图像也要进行同比例的缩放,这样计算Loss时才方便,同时,训练和测试时,输入输出可能不一样,这在 U 2 − N e t U^2-Net U2Net中有表现;

那针对U-Net的结构型改进总结如下:
在这里插入图片描述

4 非结构改进

4.1 预处理——数据增强

数据增强的目的是有意地从原始训练数据中生成更多的训练数据来提高网络性 能 ,常见的数据增 强方法有镜像对称、旋转 、翻转 、随机裁剪等;最最重要的,也是我新学到的:Image Patch操作,在血管分割中,将大图片裁剪成多个小图片,这样能大大增加图片数量!!
数 据 增 强 的 方 法 有 很 多 ,但 具 体 选 择 哪 些 数 据 增 强 方 法 往 往 不 是 固 定 的 ,何 种 数 据 增 强 技 术 是 最 佳 的 也 很 难 衡 量 。 在 实 际 应 用 中 ,要 根 据 训 练 数 据 集 的 特 点 进 行 合 理 选 择 ,使 网 络 具 有 最 佳 的 泛 化 能 力 和 鲁 棒 性 ,进 而 有 助 于 网 络 性 能 的 提升;

代码如何实现呢:Pytorch有自带已集成好的方法,但是传入参数是单个的PIL或者是Numpy数据,不能是object或者是List数据,意味着你需要调用两次才能实现原始图像和GT图像同时变换,而且有时候随机数不同,两者的变化也不同,因此,建议在github上找一个大神写好的,然后自己修修改改,作为自己的,同时以后也可以作为实验室祖传代码传下去,哈哈哈哈哈!

4.2 训练——数据归一化

常见的是BN,BN 层可使网络中的数据分布得更 均 匀 ,从而可以缓解梯度弥散,加快训练速度,但BN算法容易受到batch size的影响,因此出现了样 本 归 一 化(IN),即 只 对 每 个 样 本 进 行 类 似 BN 的 标准化处理,使其不受通道和 batch size 的影响;组 归 一 化(GN)将 通 道 划 分 为 组 ,在 组 内 计 算 数 据 的 均 值 和 方 差 ,进 而 实 现 对 图 像 的 归 一 化 处 理,之后还有集大成者,谷歌在 2019 年提出了新的归 一 化 层 ——FRN(filter response normalization),它 既 能 解 决 mini batch 问 题 ,又 能 在 batch 较 大 时 具 有 比 使 用 BN 更 好 的 性 能,5种归一化方法介绍:BN、GN、LN、IN、SN 、FRN

4.3 训练——激活函数

激活函数可使输入输出之间生成 非 线 性 映 射 ,从 而 使 得 网 络 能 够 学 习 更 为 复 杂 的 内 容 。 U-Net 网 络 及 大 部 分 的 改 进 网 络 均 使 用 ReLU 函 数 进 行 激 活 ,能 够 有 效 避 免 和 纠 正 梯 度 消 失 问 题;但是其也存在着梯度消失问题;因此人们剔除LeakReLU,ELU,mish等激活函数,常见激活函数如下:Pytorch 非线性激活函数

代码如何实现:有时候不同的激活函数产生的效果不同,Pytorch提供的激活函数非常的全面,重点是学习前辈论文,然后有选择性的使用激活函数,这个在发表论文中,如果仅仅只是使用,是不够发论文的,除非你新发明了一种新的激活函数!

4.4 训练——损失函数

损失函数是神经网络寻找最优权重参数的指标。常用的损失函数有BCELoss,BCE,DIceLoss, IoULoss等,同时组合使用损失函数也是当前发论文的一种方向,但是想要取得成果,其实还是很难的,毕竟你不仅要有效果,还有指出为何有效果;不同的损失函数优化目标不同,有时候选择不同的损失函数,都会导致训练不收敛,因此损失函数寻找和组合需要谨慎和细心,Pytorch现有损失函数如下:Pytorch Loss

代码如何实现:Pytorch集成的损失函数只有一少部分,大部分的分割损失函数需要自己实现,这里就需要平时多看GitHub进行收集了,收集好了,作为实验室祖传代码,哈啊哈!

4.5 结构改进总结

针对 U-Net 网络在结构改进和非结构改进方面取得的成效,按照改进的目的对改进措施和代表性网络进行了归纳总结,结果如下:
在这里插入图片描述

5 U-Net应用场景

根 据 不 同 的 疾 病 图 像 特 点 ,我 们 采 取 适 当 的 措 施 对 U-Net 模 型 加 以 改 进 ,并 将 其 应 用 于 不 同 医 学 图 像 的 分 割 中 ,会 取 得 不 错 的 效 果 。 下 面 将 对 U-Net 及 其 改 进 后 的 网 络 在 视 网 膜 血 管 分 割 、肺 结 节 分 割 、肝 脏 和 肝 脏 肿 瘤 分 割 、脑 肿 瘤 分 割 四 种 不 同 医 学 图 像 分 割 中 的 应 用 研究进行总结:

5.1 视网膜血管分割

二 维 彩 色 眼 底 图 和 三 维 光 学 相 干 断 层 扫 描 (OCT)图 像 是 眼 科 疾 病 最 常 见 的 诊 断 依 据;
其本身存在的困难点为 结 构 极 其 复 杂 ,具 有 很 高 的 弯 曲 度 ,且 形 态 各 异 ,同 时 视 网 膜 血 管 细 小 ,分 叉 和 交 叉 区 域 较 多,分割精度要求较为严格;文章中举例了DUNet: A deformable network for retinal vessel segmentation,在三个公开数据集DRIVESTARECHASE上的分割效果很好,优于传统的U-Net,针对血管分割,需要提升网络学习细小血管的能力,因此需要更多的信息采集模块,文章后面提到的添加Inception模块,也是相同的思想;同时,我之前看过的一篇文章Iter-Net:Iter-Net——迭代式U-Net变型,也是通过串行U-Net提升网络分割精度的;

5.2 肺结节分割

通 过 观 察 CT 图 像 中 肺 结 节 的 纹 理 特 征 ,可 以 较 为 清 晰 地 判 断 病 人 是 否 有 肺 癌 隐 患 ,并 量 化 分 析 肺 癌 的 恶 性 程 度 , 从 而 高 效 地 辅 助 医 生 进 行 诊 断;
其 存 在 的 分 割 难 点 在 于:肺 结 节 体 积微小,与肺实质中的血管等组织相似,且在 CT 图 像 中 存 在 边 缘 模 糊 、对 比 度 低 、灰 度 不 均 匀 等 问 题 , 容 易 受 到 噪 声 和 伪 影 的 影 响 ,从 而 在 一 定 程 度 上 对 医 生 的 诊 断 造 成 了 干 扰;
文章中举例了Dense U-Net,Res U-Net,也有添加了Inception的U-Net,分割效果都不断的优化,同时最令我注意的是,其实很多分割存在着两个阶段,第一阶段是粗分割,分割出大致区域或者是个数,第二阶段,精细分割,确定分割范围,这个我没接触过,以后可以试一试;
同时文章中主要列举了分割的改进方法:

  1. 通 过 引 入 条 件 随 机 场 能 够 关 联 不 同 像 素 之 间 的 关 系 ,对 边 缘 模 糊 的 情 况 有 较 好 的 改 善 作 用 ;
  2. 通 过 引 入 密 集 连 接 或 构 建 子 网 络 模 块 ,促 进 多 尺 度 特 征 的 提 取 ,有 助 于 网 络 对 不 同 尺 寸 肺 结 节 的 分 割 ,特 别 是 小 结 节 区 域 或 血 管 粘 连 部 位 ,但 这 会 在 一 定 程 度 上 增 加 网 络 的 计 算 成 本 ;
  3. 引 入 空 间 注 意 力 模 块 和 通 道 注 意 力 模 块 有 助于增强特征提取的有效性以及网络对不同尺度 特 征 的提取能力;
  4. 增 加 深 度 监 督 机 制 能 够 进 一 步 优 化 网 络 的 分 割 性 能 ,在 一 定 程 度 上 减 少 假 阳 性 的 发生。

5.3 肝脏和肝脏肿瘤分割

实现肝脏精准分割有助于肝段切除和肝移植 体积测量。因此这一块主要说的是3D领域的分割;
其分割难点在于:肝脏和肝脏肿瘤在形状和大小上 都 是 不 规 则 的 ,它 们 可 能 与 周 围 的 器 官 比 较 相 似; 由 于 仪 器 设 备 参 数 不 同 ,CT 图 像 间 的 灰 度 值 也 存 在 差 异 ,进 而 肝 脏 所 显 示 的 位 置 也 不 同 。
从文中介绍的三个网络来看,增 加 三 维 条 件 随 机 场 的 3D UNet-C2 能 够 有 效 减 少 假 阳 性 ,剔 除 非 肝 脏 区 域 ,同 时 优 化 肝 脏 边 缘 的 分 割 效 果 。 BSU-Net 能 够 更 好 地 控 制 形 状 变 形 、减 少 假 阳 性 和 假 阴 性 ,从 而 验 证 了 使 用 密 集 连 接 模 块 及扩展编码路径的有效性。LV-Net 通过使用深度 监督机制使网络在减少参数量的同时仍然具有较 好的分割表现。

5.4 脑肿瘤分割

MRI 是 一 种 典 型 的 非 侵 入 式 成 像 技 术 ,能 够 生 成 高 质 量 的 无 损 伤 和 无 颅 骨 伪 影 的 脑 影 像 ,是 进 行 脑 肿 瘤 诊 疗 的 主 要 技 术 手 段。
脑 肿 瘤 区 域 的 分 割 难 度 相 比 其 他 种 类 图 像 的 分 割 难 度 更 大 ,不 同 的 肿 瘤 区 域 又 存 在 不 同 的 分 割 难 点 。 比 如 :

  1. 完 整 肿 瘤 区 域(WT)易 将 背 景 部 分 分 割 进 来 ,造 成 过 分 割 ;
  2. 肿 瘤 核 心 区 域(TC)易 与 其 他 区 域 产 生 粘 连 ;
  3. 增 强 肿 瘤 区 域(ET)多 存 在 点 状 、 不 连 续 的 细 小 肿 瘤 ,分 割 难 度 更 大 。

公开数据集是:BRATS,文章中提到了3D-HDC-UNet网络结构,其中通过Dice 损失和 Focal 损失的混合损失函数替换原来单一的 Dice 损 失 函 数 ,加 强 了 稀 疏 类 对 损 失 函 数 的 贡 献 ,提 高 了 肿瘤核心区域的分割精度;
从文章分析结果来看:

  1. 通过引 入 密 集 连 接 和 残 差 连 接 能 够 有 效 改 善 该 问 题 ,不 仅 能 更 加 细 致 地 分 割 出 肿 瘤 核 心 区 域 ,避 免 与 其 他 区 域 粘 连 ,同 时 对 分 割 难 度 最 大 的 增 强 肿 瘤 区 域也能够很好地进行分割;
  2. 包含刚性或仿射的变 形以及包括亮度和弹性变形的数据增强方法对全 部完整肿瘤和肿瘤核心区域分割的改善作用明 显 ,但 对 增 强 肿 瘤 区 域 分 割 的 改 善 效 果 不 明 显 ;
  3. 混合膨胀卷积的使用有助于对大区域的分 割 ,混 合 了 Dice 损 失 和 Focal 损 失 的 损 失 函 数 有 利 于 对 小 区 域 目 标 的 识 别 ,同 时 对 分 割 难 度 较 大 的 肿瘤核心和增强肿瘤区域的识别也更加准确。

5.5 不同应用场景总结

不 同 类 型 的 疾 病 在 进 行 诊 断 时 所 使 用 的 图 像 略 有 不 同 ,比 如 视 网 膜 区 域 的 疾 病 往 往 通 过 眼 底 彩 色 图 像 进 行 诊 断肺 结 节 和 肝 脏 肿 瘤 常 通 过 CT 图 像 进 行 诊 断而 脑 肿 瘤 一般通过磁共振图像进行诊断。各部位的图像具 有 各 不 相 同 的 特 点 ,因 此 在 进 行 图 像 分 割 时 也 存 在 不 同 的 分 割 难 点 。 针 对 各 种 问 题 ,研 究 人 员 采 取 了 相 应 的 改 进 措 施 ,有 效 地 提 高 了 分 割 精 度 和 网 络 性 能 。 根 据 上 述 内 容 ,本 文 对 U-Net 及 其 改 进 网 络 在 各 类 疾 病 图 像 分 割 中 的 相 关 应 用 进 行 了 总 结 ,具 体如下:
在这里插入图片描述

6 总结

通 过 研 究 大 量 相 关 改 进 工 作 可 以 看 出 ,U-Net 模 型 的 改 进 ,网 络 结 构 改 进 中 ,残 差 模 块、Dense 模块、Inception 模块和 Attention 模块是最 常 见 的 引 入 模 块 ,这 些 模 块 能 够 使 网 络 有 效 提 取 特 征 ,充 分 利 用 上 下 文 信 息 ,从 而 提 高 分 割 精 度 ;对 于 引 入 的 卷 积 来 说 ,扩 张 卷 积 和 可 变 形 卷 积 最 为 常 见 ,它 们 能 够 调 整 感 受 野 的 大 小 ,减 少 参 数 量 ,使 网 络 可 以 利 用 不 同 层 次 的 特 征 ,从 而 有 效 避 免 过 拟 合;
非 结 构 改 进 对 网 络 性 能 提 升 的 有 效 性 也 逐 渐 得 到 了 关 注 ,有 些 研 究 者 在 进 行 网 络 结 构 改 进 的 同 时 ,充 分 考 虑 了 数 据 增 强 和 数 据 归 一 化 方 法 的 综 合 运 用 ,并 提 出 了 一 些 新 的 混 合 损 失 函 数 ,有 针 对 性 地 训 练 网 络 ,从 而 提 升 了 网 络 的 性 能;
自己的想法:

  1. 是将其真正落地,做成接口嵌入到硬件中;
  2. 进行半监督和无监督的网络改进;
  3. 将Transformer引入到医学图像分割中;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

U-Net 模型改进和应用场景研究性综述 的相关文章

  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk

随机推荐

  • QTextDocument和QTextBlock

    QTextDocument QTextDocument是用于结构化富文本文档的容器 为样式文本和各种类型的文档元素 如列表 表格 框架和图像 提供支持 可以创建它们以在QTextEdit中使用 也可以独立使用 每个文档元素均由关联的格式对象
  • 可视化工具Netron介绍

    Netron是一种用于神经网络 深度学习和机器学习模型的可视化工具 它可以为模型的架构生成具有描述性的可视化 descriptive visualization 源码在 https github com lutzroeder netron
  • Taro安装、启动命令、创建项目、修改端口号以及如何在微信开发者工具内运行

    1 安装Taro开发工具 npm install g tarojs cli 或者yarn global add tarojs cli 使用npm可能会有一些报错的信息 建议使用cnpm安装 2 使用命令创建模板 taro init myAp
  • 教你如何基于Redis来实现高性能延时消息队列!

    最近在倒腾自建博客后端系统 需要用到延时任务的功能 但手头只有一套MySQL和Redis 如果搞一套MQ成本有点大 于是想着用redis实现延时消息队列 有些场景用数据库的定时扫表也能简单实现延时消息的功能 不过对于我这边的实际场景 比如计
  • C#学习笔记 任务操作

    利用线程 可以方便地进行异步操作 但是线程模型有一个缺点 就是无法处理返回值 要在不同线程之间传递数据比较麻烦 任务则解决了这个问题 完整代码在这里 https github com techstay csharp learning not
  • 流程控制和数组(下)

    文章目录 Java 类 Arrays Java 类 Arrays Java提供的Arrays类里包含的一些statics修饰的方法可以直接操作数组 这个Arrays类里包含了如下的几个static修饰的方法 static修饰的方法可以直接通
  • 【数据挖掘】数据清洗

    数据挖掘 数据清洗 数据挖掘一般流程 数据挖掘一般流程 需求分析 数据挖掘任务分类 1 预测 分类 回归 2 聚类 文档归类 3 关联性分析 购物篮分析 4 异常检测 信用卡欺诈 获取数据 sql linux 爬虫 数据清洗 主要 去重 缺
  • Halcon极坐标变换检测缺陷

    一 原图 二 通过极性变换拉直 三 检测缺陷 This example checks bottle necks for defects First the bottle is detected with basic morphology e
  • ARouter 之注解 @JvmField 和 @Autowired

    文章目录 1 定义 2 使用 3 源码分析 4 为什么 Autowired 要搭配 JvmFiled 同时使用 1 定义 在 Activity 进行数据传递一般都会通过 getIntent putxxx getxxx 方法 在 Fragme
  • 【华为OD机试真题 python】查找重复代码【2022 Q4

    题目描述 查找重复代码 小明负责维护项目下的代码 需要查找出重复代码 用以支撑后续的代码优化 请你帮助小明找出重复的代码 重复代码查找方法 以字符串形式给定两行代码 字符串长度 1 lt length lt 100 由英文字母 数字和空格组
  • s2.ubuntu搭建s3c2440平台arm-linux-gcc交叉编译工具链安装+资源下载

    交叉编译工具包arm linux gcc 3 4 5 glibc 2 3 6 tar bz2 zip 蓝奏云 文件实际后缀是 bz2 下载后去掉 zip后缀 然后放入Ubuntu系统 具体步骤 1 复制交叉编译链的包到Ubuntu中 这里我
  • Spring学习(五):Spring中注入一些细节

    1 字面值 字面值 可用字符串表示的值 可以通过
  • Misc

    我可是黑客 用winehx打开 下拉到最后 moctf e4sy 1ma9e m1sc 假装安全 用kali的binwalk分离 打开记事本 mcfCrflyS1eot eul ld 扫扫出奇迹 用QR Research直接扫 或者用Ste
  • Linux 4G 通信实验

    目录 4G 网络连接简介 高新兴ME3630 4G 模块实验 ME3630 4G 模块简介 ME3630 4G 模块驱动修改 1 Linux内核添加代码 USB设备信息 2 Linux内核添加代码 添加ECM支持程序 3 配置使能Linux
  • 计算机怎么快速查找应用,win10系统如何快速查找应用?win10系统快速查找应用的方法...

    win10电脑经常会安装各种程序应用 因为没有添加到桌面 所以这个时候很难找到 如果一个一个程序查找很浪费时间 有什么快速查找应用的方法 针对此疑问 小编和大家说说win10系统快速查找应用的方法 具体方法如下 1 首先你要找到 开始菜单
  • Vue3+Element-Plus 实现表单中搜索功能 三五

    1 当用户在表单搜索框中 输入要搜索的用户名 点击搜索按钮后 查找到相对应的用户数据 2 实现搜索功能的步骤 2 1 首先 使用v model 指令 将文本输入框的数据与 data 中的数据做双向绑定 2 2 其次 为搜索按钮绑定单击事件
  • Java中Math类中的常用方法

    Java中Math类中的常用方法 代码实例 public class Demo1 Math public static void main String args System out println Math PI System out
  • 使用备份工具mysqldump备份数据库

    MySQL自带的备份工具mysqldump 可以很方便的对MySQL进行备份 通过该命令工具可以将数据库 数据表或全部的库导出为SQL脚本 便于该命令在不同版本的MySQL服务器上使用 例如 当需要升级MySQL服务器时 可以先使用mysq
  • Java 读取jar内包资源文件和读取jar包外资源文件

    Java 读取jar包内资源文件 读取jar 包内资源文件application properties InputStream appPropertiesInputStream ApplicationPropertiesHolder cla
  • U-Net 模型改进和应用场景研究性综述

    U Net综述 1 文章介绍 2 U Net介绍 3 结构改进 4 非结构改进 4 1 预处理 数据增强 4 2 训练 数据归一化 4 3 训练 激活函数 4 4 训练 损失函数 4 5 结构改进总结 5 U Net应用场景 5 1 视网膜