96SEO 2026-02-23 13:27 10
。

使用nnU-Net#xff0c;这是语义图像分割中非常强大的基线。
在本指南中#xff0c;您将#xff1a;
了解最先进的nnU-Net以及如何将其应用于您自己的数据集所需的一切。
使用nnU-Net这是语义图像分割中非常强大的基线。
在本指南中您将
但是我有点努力才能完全理解模型以及如何训练它并且在互联网上找不到太多帮助。
现在我已经熟悉了我创建了本教程来帮助您更好地理解此模型背后的内容或者如何在您自己的数据集中使用它。
nnU-Net被公认为图像分割领域最先进的模型在2D和3D图像处理方面都是一股不屈不挠的力量。
它的性能非常强大可以作为对新的计算机视觉架构进行基准测试的强大基准。
从本质上讲如果您正在冒险开发新颖的计算机视觉模型请将nnU-Net视为您的“超越目标”。
这个强大的工具基于U-Net模型你可以在这里找到我的教程之一烹饪你的第一个U-Net该模型于2015年首次亮相。
名称“nnU-Net”代表“没有新的U-Net”这是对其设计没有引入革命性建筑改动这一事实的认可。
相反它采用现有的U-Net结构并使用一组巧妙的优化策略来充分发挥其潜力。
与许多现代神经网络相反nnU-Net不依赖于残差连接密集连接或注意力机制。
它的优势在于其细致的优化策略其中包括重采样、归一化、明智地选择损失函数、优化器设置、数据增强、基于补丁的推理和跨模型集成等技术。
这种整体方法使nnU-Net能够突破原始U-Net架构可实现的界限。
虽然它看起来像一个单一的实体但nnU-Net实际上是三种不同类型的U-Net的总称
U-Net的扩展能够通过3D卷积的应用直接处理3D图像。
U-Net
这些架构中的每一个都有其独特的优势并且不可避免地具有一定的局限性。
U-Net进行3D图像分割似乎违反直觉但在实践中它仍然非常有效。
这是通过将
U-Net可能看起来更复杂但鉴于其更高的参数数量它并不总是最有效的解决方案。
特别是3D
U-Net经常与各向异性作斗争当空间分辨率沿不同轴不同时例如沿x轴为1mm沿z轴为1.2mm时就会发生这种情况。
Cascade变体在处理大图像尺寸时变得特别方便。
它采用初步模型来压缩图像然后是输出低分辨率分割的标准3D
U-Net。
然后对生成的预测进行放大从而产生精细、全面的输出。
通常该方法涉及在nnU-Net框架内训练所有三个模型变体。
接下来的步骤可能是选择三者中最好的表演者或采用合奏技术。
其中一种技术可能涉及整合2D和3D
积分。
如果您的约束只允许训练单个模型请不要担心。
您可以选择只训练一个模型因为集成模型只带来非常微不足道的收益。
鉴于图像大小的显着差异考虑肝脏图像的中位数形状为482×512×512而海马图像的中位数形状为36×50×35nnU-Net智能地调整输入补丁大小和每个轴的池化操作次数。
这实质上意味着自动调整每个数据集的卷积层数从而促进空间信息的有效聚合。
除了适应不同的图像几何形状外该模型还考虑了技术限制例如可用内存。
需要注意的是该模型不会直接对整个图像执行分割而是对具有重叠区域的精心提取的补丁执行分割。
随后对这些补丁的预测进行平均从而得出最终的分割输出。
但是拥有较大的补丁意味着更多的内存使用并且批大小也会消耗内存。
采取的权衡是始终优先考虑补丁大小模型的容量而不是批量大小仅对优化有用。
所有模型都是从头开始训练的并在训练集上使用五重交叉验证进行评估这意味着原始训练数据集被随机分成五个相等的部分或“折叠”。
在此交叉验证过程中其中四个折叠用于模型的训练其余一个折叠用于评估或测试。
然后重复此过程五次五个折叠中的每一个都恰好用作评估集一次。
对于损失我们使用骰子和交叉熵损失的组合。
这是图像分割中非常常见的损失。
有关V-Net中骰子损失的更多详细信息U-Net大人物的兄弟
nnU-Net有一个非常强大的数据增强管道。
作者使用随机旋转、随机缩放、随机弹性变形、伽马校正和镜像。
因此正如我们所说该模型不会直接在全分辨率图像上进行预测而是在提取的补丁上进行预测然后聚合预测。
注意图片中心的补丁比侧面的补丁具有更大的权重因为它们包含更多信息并且模型在其上表现更好
事实证明不不同的模型有不同的优点和缺点。
因此我们实际上可以组合几个模型的预测这样如果一个模型非常自信我们就会优先考虑它的预测。
如果你对第一部分一无所知不用担心这是实际的部分你只需要跟着我你还是会得到最好的结果。
因此首先您需要准备好一个包含输入图像及其相应分割的数据集。
您可以按照我的教程下载这个用于
首先您应该下载数据并将其放置在数据文件夹中方法是将包含分段的两个文件夹命名为“input”和“ground_truth”。
drivedrive.flush_and_unmount()drive.mount(/content/drive,
/content/drive/MyDrive/neurosciences-segmentationelse:#
data/ground_truth)my_nnunet_dir
os.path.join(root_dir,my_nnunet)
make_if_dont_exist(folder_path,overwriteFalse):creates
exists.)else:print(f{folder_path}
overwritten)shutil.rmtree(folder_path)os.makedirs(folder_path)else:os.makedirs(folder_path)print(f{folder_path}
我们使用此功能来创建我们的“my_nnunet”文件夹其中将保存所有内容
https://github.com/MIC-DKFZ/nnUNet.git
https://github.com/NVIDIA/apex#
os.path.join(my_nnunet_dir,nnUNet)
githttps://github.com/nanohanno/hiddenlayer.gitbugfix/get_trace_graph#egghiddenlayer
nnUNet/nnunet/nnUNet_raw_data_base/nnUNet_raw_data
os.path.join(nnunet_dir,task_name)
os.path.join(task_folder_name,imagesTr)
os.path.join(task_folder_name,labelsTr)
os.path.join(task_folder_name,imagesTs)
os.path.join(my_nnunet_dir,nnUNet/nnunet)
最初nnU-Net是为具有不同任务的十项全能挑战而设计的。
如果您有不同的任务只需为所有任务运行此单元格。
make_if_dont_exist(task_folder_name,overwrite
make_if_dont_exist(train_image_dir,
make_if_dont_exist(train_label_dir,
make_if_dont_exist(test_dir,overwrite
make_if_dont_exist(trained_model_dir,
脚本需要知道您raw_data放在哪里在哪里可以找到预处理的数据以及必须保存结果的位置。
os.environ[nnUNet_raw_data_base]
os.path.join(main_dir,nnUNet_raw_data_base)
os.environ[nnUNet_preprocessed]
os.path.join(main_dir,preprocessed)
copy_and_rename(old_location,old_file_name,new_location,new_filename,delete_original
False):shutil.copy(os.path.join(old_location,old_file_name),new_location)os.rename(os.path.join(new_location,old_file_name),os.path.join(new_location,new_filename))if
delete_original:os.remove(os.path.join(old_location,old_file_name))
file_name.endswith(.nii.gz)]for
list_of_all_files:copy_and_rename(input_dir,file_name,train_image_dir,file_name)copy_and_rename(segmentation_dir,file_name,train_label_dir,file_name)
现在我们必须重命名文件以接受nnUnet格式例如subject.nii.gz将成为subject_0000.nii.gz
rename_for_single_modality(directory):for
check_modality(file)False:new_name
file[:file.find(.nii.gz)]_0000.nii.gzos.rename(os.path.join(directory,file),os.path.join(directory,new_name))print(fRenamed
{new_name})else:print(fModality
{file})rename_for_single_modality(train_image_dir)
rename_for_single_modality(test_dir)
os.path.exists(os.path.join(task_folder_name,dataset.json)):print(dataset.json
task_namejson_dict[description]
MindBogglejson_dict[tensorImageSize]
white}#############################################################train_ids
os.listdir(train_label_dir)test_ids
os.listdir(test_dir)json_dict[numTraining]
len(train_ids)json_dict[numTest]
dataset.jsonjson_dict[training]
open(os.path.join(task_folder_name,dataset.json),
os.path.exists(os.path.join(task_folder_name,dataset.json)):if
json_file_existFalse:print(dataset.json
created!)else:print(dataset.json
注意如果您暂停编辑并想要恢复它请在末尾添加“-c”以表示“继续”。
/content/drive/MyDrive/neurosciences-segmentation/my_nnunet/nnUNet/nnunet/nnUNet_raw_data_base/nnUNet_raw_data/Task001/imagesTs
/content/drive/MyDrive/neurosciences-segmentation/my_nnunet/nnUNet/nnunet/nnUNet_raw_data_base/nnUNet_raw_data/Task001/nnUNet_Prediction_Results
结果确实令人印象深刻很明显该模型已经有效地学会了如何高精度地分割大脑图像。
虽然可能存在一些小瑕疵但重要的是要记住图像分割领域正在迅速发展我们正在朝着完美迈出重大步伐。
将来还有进一步优化nnU-Net性能的空间但这将是另一篇文章。
如果你觉得这篇文章很有见地和好处请考虑关注我对深度学习的世界进行更深入的探索。
您的支持帮助我继续制作有助于我们集体理解的内容。
无论您是有反馈想法要分享想与我合作还是只是想打个招呼请填写下面的表格让我们开始对话。
RonnebergerO.FischerP.和BroxT.2015。
U-net用于生物医学图像分割的卷积网络。
医学图像计算和计算机辅助干预国际会议第234-241页。
斯普林格湛。
Isensee
2021.nnU-Net一种基于深度学习的生物医学图像分割的自配置方法。
自然方法182203-211。
Ioffe
2015.批量规范化通过减少内部协变量偏移来加速深度网络训练。
arXiv预印本arXiv1502.03167。
UlyanovD.VedaldiA.和LempitskyV.2016。
实例规范化快速风格化的缺失要素。
arXiv预印本arXiv1607.08022。
MindBoggle
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback