背景
来了个自家的工作,精确分割某类目标。图像分辨率较低,环境噪声较多。
失败方案1
在AI吊打一切的时代,自然优先想到用AI来做。实例分割的SOTA全都是大模型,我要在笔记本上训练还是比较困难,于是选择到了YOLOv8-seg,毕竟他家提供的一键训练导出是真的简单。
模型训练出来发现这个分割的边缘是真的能凑合就凑合。简单来说,分割的边缘只是比检测框稍靠近一点点目标罢了,目标的复杂细节根本分割不出来,即使我制作了高精度数据集还是一样。
于是我又尝试着找一些边缘细化的方案。首先肯定有注重于边缘细化的端到端实例分割模型,但我看了看他们的demo视频,我觉得不行,很拉胯。然后又找了一些针对多边形的后期细化方案,一个看起来比较可行的方案是多边形的每一个顶点沿法线移动。这个工作没开源,但基本思路看起来还是没问题的。然而不想在这里浪费时间做实验了,毕竟我又不是做科研的。
失败方案2
既然AI做不好,自然想到用老一套:降噪,梯度。在背景中已经提到,这次工作的图像环境噪声较多,而且这个噪声并不是所谓的随机噪声,单纯是环境中存在很多无法预测的高频背景。
在一个比较理想的情况下,我希望通过目标检测模型先获取一些检测框,然后根据检测框抠一个矩形图片出来,这样就能去掉绝大多数环境噪声了。然后对截取的图像进行直方图均衡化,各种滤波降噪,用Canny算子直接提取图像中剩余的边缘,将边缘进行形态学闭运算,使其连通,形成指示目标轮廓的多边形。提取面积最大的多边形,即为目标的轮廓。
理想很丰满,现实很骨感。这个噪声根本去不掉。。。并且目标部分区域和背景颜色实在是太相近了,即使进行了闭运算,边缘也很难连通。
最终方案
通过目标检测模型获取目标的检测框,抠矩形图片下来,中值滤波强力降噪,Sobel算子沿俩方向扫一遍,求均值,获得梯度图。手动设置梯度图的梯度阈值,忽略较小梯度,保留较大梯度。
这样获得的肯定不是目标的完整外轮廓,并且有些环境噪声还是会留下来。
但因为可视化这块儿做得比较好看,leader非常满意。。。所以说核心技术还是美工。
在这里我用的目标检测模型是YOLOv10m,单类别训练了330 epoch收敛。推理时我发现YOLOv10虽然干掉了NMS,但它实际上是有重合检测框的啊!我是真的服了气了,然后自己又做了NMS。
碎碎念
我知道CV发展是陷入停滞了,但这NMS去得是真的没啥用说实话。以及实例分割就现在这水平不琢磨着细化边缘,光琢磨着刷点,是不是有点离谱了,这多边形真的没比检测框强到哪里去啊!
5 条评论
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙
技术伦理的探讨体现人文科技平衡意识。
bhankd37184KH-文章很不错,感谢作者!https://kan.xiaoxinbk.com/30117.html/