图像分割分析效果

news2024/9/18 10:55:44

下面是训练集的效果,

# 训练集dice: 0.9219 - iou: 0.8611 - loss: 0.0318 - mae: 0.0220 - total: 0.8915
basnet_model.evaluate(train_dataset) 损失我只用了二元交叉熵,主要比较损失的影响

上面就是模型在训练集上的效果,可见,模型在训练集上拟合的非常好,既学到了一些有用的信息,但是也学习到了一些在训练集上特有,在验证集上没有的信息,这样的模型训练出来意义不大,我们需要的是能预测未知的模型,希望的是模型学习到通用特征,然而,由于数据集自身问题,模型学到的特征未必都有用,或者有些不但没用,反而起反作用,比如,一个只有半截身子的人在其中一个图片是掩码,但是在其他图片确是背景,这样模型在遇到这样情况时,它就不知所措,因为你得猜它是掩码还是背景,有些被裁剪的半截身子的人在训练集中是掩码,在验证集中可能只是背景,所以如果有自相矛盾的数据集,那肯定没法训练好模型,必须确定好,整个身子出现的人是前景,半截的是背景,不能这个里面是掩码前景,那个里面是背景,别说模型,让你猜,你能猜到它应该是啥吗

这种图像分割不好做图像增强,比如裁剪,如果一张图片是一整个人做前景,你裁剪了之后,这个人半截身子了,但是他还是前景,这样模型就会觉得半截身子的人也可以做前景,但是还是我说的,给你一个半截身子的人图片,你是该当它前景好呢,还是背景好呢,难道要让模型去学习瞎猜,还有随机旋转和缩放,你图片这样做了,掩码也得这样做同样的变换,事实上,在随机旋转后,那片空白区域是要填充的,,默认附近填充,或者填充背景,但是可能都不好,我见过一张图片旋转后,因为图片在图像的边角位,所以旋转后填充了一些,你总不能掩码也填充吧,反正能用的增强未必多,所以我决定用dropout,随机丢弃一些噪音信息

下面是在验证集的表现

# 验证集504个样本,dice: 0.8096 - iou: 0.7138 - loss: 0.1267 - mae: 0.0429 - total: 0.7617
len(val_dataset)*BATCH_SIZE

可以看到评估效果,这种就是明显过拟合,拟合了太多在验证集并不适用的信息,还有如果模型是在拆分的数据集上拆分得到的,你下次重启内核,再评估就不准确了,因为这时的评估集如果变了,评估集中有一些训练集数据,那模型评估效果肯定好,还有k交叉,其实没用,因为你这次评估的数据你总不是丢了,你是再次放入训练集了,这样做多次训练后,你验证集上的评估效果和训练集是一样的,因为都被模型拿来拟合了,这样的模型在未见过的数据上有效果才怪呢

我好无语,上面那个是什么?模型竟然还会去做预测,看来这个数据集太杂,啥都拿来当掩码,这就是我说的,没有准则,你比如提取就得有个框框,你要让模型预测什么,而且在这里面不能有相反的逻辑,比如我说的,一张图片里,半截身子的人是掩码,结果在另一张图片里是背景,你说它应该拿半截身子的人当前景掩码,还是背景好呢?也就是不能自相矛盾,不能出现同一种事物既是掩码,又是背景的情况,你让人预测也不好预测

 总感觉没有结构化损失少点什么?一会把结构化损失加上看看

 dropout后:# dropout后:dice: 0.9143 - iou: 0.8488 - loss: 0.0335 - mae: 0.0236 - total: 0.8816

 

 

 

 

 

 

 

 

 下面验证集效果dice: 0.8113 - iou: 0.7135 - loss: 0.1024 - mae: 0.0409 - total: 0.7624

看到没有,左边图片中的那个半截身子的人,在真实掩码里是有的,模型预测没有,这就是那种自相矛盾的真实掩码

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2114851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百万次使用的高颜值在线绘图平台ImageGP系列教程

在线平台BIC (https://www.bic.ac.cn/BIC/#/, 点击阅读原文或百度搜索皆可访问到)是 ImageGP的重构升级版,重构于2020年初。 该平台采用配置文件快速部署工具、生成结果或结果报告。其绘图和分析基于 R 语言(ImageGP 包, 在早期ImageGP脚本的基础上重新进行了封装&a…

flume 使用 exec 采集容器日志,转储磁盘

flume 使用 exec 采集容器日志,转储磁盘 在该场景下,docker 服务为superset,flume 的sources 选择 exec , sinks选择 file roll 。 任务配置 具体配置文件如下: #simple.conf: A single-node Flume configuration#…

深入理解java并发编程之aqs框架

跟synchronized 相比较,可重入锁ReentrankLock其实原理有什么不同? 所得基本原理是为了达到一个目的;就是让所有线程都能看到某种标记。synchronized通过在对象头中设置标记实现了这一目的,是一种JVM原生的锁实现方式。而Reentran…

基于深度学习 卷积神经网络resnext50的中医舌苔分类系统

项目概述 本项目旨在通过深度学习技术,特别是利用卷积神经网络(Convolutional Neural Networks, CNNs)中的ResNeXt50架构,实现对中医舌象图像的自动分类。该系统不仅能够识别不同的舌苔类型,还能够在PyQt5框架下提供一…

IBM Storwize V7000存储控制器故障节点报错574

背景:由于客户机房搬迁,需要下电迁移设备。该存储自2016年投入生产使用后,从未关过机,已正常运行七八年时间,期间只更换过硬盘,无其他硬件故障。 在GUI界面点击关闭系统后,大概等了40分钟&…

AIGC简化文件管理:Python自动重命名Word和PDF文件

1.背景 大家应该也有遇到,自己电脑有很多文件命名不合理的文件,比如:文件1、想法3 ,当你长时间再看到这个文件的时候,已经很难知道文件内容。 今天我们将借助AIGC的编码能力,帮我们生成一个批量改文件名的…

多个路由器级联实现子网的方式

好久没写博客啦,最近搬家,换了网络环境,简单记录一下网络配置。 拓扑图就不画了,光猫 - > 华为TC7102路由 -> 华为AX2 Pro路由 -> 各种设备,简单表示就是这样。 原因是第一个路由是房东的,我希望自…

绿色能源在日常生活中的革新应用

绿色能源在日常生活中的革新应用 在当今社会,绿色能源已成为推动可持续发展的关键力量。它不仅代表着对环境的尊重与保护,更引领着生活方式的绿色转型。在我们的日常生活中,绿色能源正以多样化的形式,悄然改变着我们的生活方式。…

emlog Pro动态百分比顶部滚动条插件

插件介绍 给emlog博客顶部添加一个动态百分比顶部滚动条,可以选择设置图片、渐变背景样式。这个动态效果出现好久了,然后在js监测屏幕下拉值,最后用css改变图片和背景的宽度,从而实现动态的效果。目前支持10多种样式供选择&#…

iPhone手机清理软件:照片清理功能全解析

在数字化生活中,智能手机成为我们记录生活点滴的主要工具,尤其是iPhone,以其卓越的相机功能备受用户青睐。然而,成千上万的照片迅速堆积,不仅占用了大量存储空间,还使得设备运行缓慢。在众多解决方案中&…

软件工程-图书管理系统的概要设计

软件概要设计说明书 目录 软件概要设计说明书 一、引言 1.1 编写目的 1.2 背景 1.3 定义 1.3.1特定对象 1.3.2专业术语 1.4 参考资料 二、总体设计 2.1 需求规定 2.1.1信息要求 2.1.2功能要求 2.2 运行环境 2.3 基本概要设计和处理流程 2.4 体系结构设计 2.5 模…

Android Jetpact Lifecycle 解析

认识 Lifecycle Lifecycle 是什么 Lifecycle 是 Jetpack 组件库中的一个生命周期感知型组件。在 Lifecycle 出现之前,需要手动从外部宿主(如 Activity、Fragment 或自定义宿主)中将生命周期事件分发到功能组件内部,这势必会造成…

GEE数据集:加拿大卫星森林资源调查 (SBFI)-2020 年加拿大森林覆盖、干扰恢复、结构、物种、林分年龄以及 1985-2020 年林分替代干扰的信息

目录 简介 数据集后处理 数据下载链接 矢量属性 代码 代码链接 引用 许可 网址推荐 0代码在线构建地图应用 机器学习 加拿大卫星森林资源调查 (SBFI) 简介 卫星森林资源清查(SBFI)提供了 2020 年加拿大森林覆盖、干扰恢复、结构、物种、林分…

6.3图的遍历

图的遍历是指从某点出发,按照某种搜索方式沿着边访问图中所有节点 图的遍历算法主要有两种:广度优先,深度优先 都需要辅助数组visited[]来记录节点是否被访问过 6.3.1广度优先搜索 like层次遍历,需要辅助队列 代码实现 #include<stdio.h> #define maxnum 15 bool vi…

解决Win10版Township进度保存问题

解决Win10版Township进度保存问题 问题描述问题分析解决步骤1.WinR打开运行&#xff0c;输入regedit点击确定打开注册表2.进入注册表“计算机\HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings”目录3.在这…

算法题之水壶问题

水壶问题 有两个水壶&#xff0c;容量分别为 x 和 y 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 target 升。 你可以&#xff1a; 装满任意一个水壶清空任意一个水壶将水从一个水壶倒入另一个水壶&#xff0c;直到接水壶已满&#xff0c;或倒水壶已空。 示…

LabVIEW制系统开发流程介绍

在开发一个LabVIEW电机控制系统时&#xff0c;尤其是涉及多种类型的电机并需实现本地与远程控制时&#xff0c;合理的开发顺序是确保项目高效完成且返工最少的关键。下面介绍如何按照系统需求分阶段开发&#xff0c;从而保障开发的速度与质量&#xff0c;减少返工的风险。 开发…

企业大模型落地的“最后一公里”攻略

一、大模型落地的行业现状与前景 大模型在多个行业展现出强大的应用潜力。在金融行业&#xff0c;沉淀了大量高质量数据&#xff0c;各金融平台用户数以亿计&#xff0c;交易数据浩如烟海。利用大模型分析处理这些数据&#xff0c;金融机构可以预测用户行为偏好&#xff0c;更…

CMake/C++:一个日志库spdlog

项目仓库 GitHub - gabime/spdlog: Fast C logging library.Fast C logging library. Contribute to gabime/spdlog development by creating an account on GitHub.https://github.com/gabime/spdlog 知乎参考贴 https://zhuanlan.zhihu.com/p/674073158 先将仓库clone一下 然…

LabVIEW如何确保采集卡稳定运行

在LabVIEW开发中&#xff0c;如何确保硬件采集卡稳定运行&#xff0c;特别是长期采集电压信号&#xff0c;是系统稳定性的重要考虑因素。用户在使用采集卡时&#xff0c;可能需要频繁进行开始、停止和重新采集的操作&#xff0c;这对硬件和软件提出了高要求。下面介绍实现长期稳…