🏡作者主页:点击!
🤖编程探索专栏:点击!
⏰️创作时间:2024年11月20日7点29分
神秘男子影,
秘而不宣藏。
泣意深不见,
男子自持重,
子夜独自沉。
概述
图像分割是将一幅图像分成若干个具有语义信息的部分的过程,每个部分被称为一个“分割区域”,它是计算机视觉领域中的重要任务之一。在许多领域,如医学图像分析、自动驾驶、物体识别和机器人导航等,图像分割都具有广泛的应用。图像分割的目的是将一张图像划分成若干个不同的部分,使得同一区域内的像素具有相似的特征,而不同区域之间的特征差异明显。这样做的目的是为了更好地理解图像内容、提取感兴趣的目标、对图像进行分类、识别和检测等。对于农作物病害图像而言,图像分割就是将病害特征与背景分割开来,这样做可以消除背景带来偏差影响,可以更好地提高网络模型识别的准确率,这是一个不错的想法。
效果展示
主要方法
主要是利用U2Net神经网络,这是一种用于图像分割的深度学习模型,它可以高效地分离图像中前景和背景,并在许多基准数据集上实现了最先进的性能。U2Net由Xuebin Qin等人于2020年提出,是U-Net的扩展版本。它具有更深的网络结构和更多的参数。相较于传统的U-Net,U2Net在分割效果和计算速度上都有显著的提升。
这里我考虑到Plant Village数据集中可能存在有背景偏差的影响,因此需要对数据集中图像进行背景的去除处理。所以结合U2Net网络模型的优点,利用U2Net网络模型对数据集中叶子图像进行背景去除。
使用方式
工作流程大概为,首先通过人工利用Labelme数据标注软件对Plant Village数据集中部分样本数据集进行数据标注,这里我在每一个分类下选取了5张叶子图像,因为数据集中有38个分类标签,故共计人工标注了190张叶子图像;其次,将这190张叶子图像当作一个样本训练集,利用U2Net网络模型对样本训练集进行360轮次训练,并保存模型的权重与训练的记录;最后将保存的权重测试到整个Plant Village数据集上,取得了去除背景后的图像,并且分割率高达96%以上。
如果您是做叶子图像分割的,下载好代码,安装好我为您提供的库,可以直接使用我预训练好的模型去分割您的数据集。当然您也可以自己重新再训练一个自己的U2Net网络。
如果您不是做叶子图像分割的,您也可以使用这个去分割这种2D类型的图像,需要人为的标注图像,这个根据您的需要,拿出来数据集中的一部分去进行标注,这个我附件里面有详细的教学视频链接,可供您使用,这里我以的是叶子图像为例,当然你们可以标注其他的图像然后训练自己的分割网络,这些都是可以的,授人以鱼不如授人以渔。
具体操作
下载好附件中ReadMe提供的链接
最终项目文件目录如下
(1)、运行start.py
出现这样的窗口,点击上传图像,选择我们要分割的叶子,这里我从数据集中随机选了一张,点击开始分割,如下图所示。
(2)、您也可以重新从头到尾训练整个分割网络,只需要运行train.py即可;
(3)、predict_seg.py主要是将test_pic文件目录下的所有子目录中包含的图像通过加载分割网络模型进行去除背景处理,输送到output文件目录中;
(4)、最终结果展示
部署方式
编译器:Pycharm;框架:Pytorch
一定要根据我附件里面的东西去做,附件中都有相关的链接,按照ReadMe一步一步做
成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"
"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"
神秘泣男子