图像分割模型实际分隔效果测试(Clipseg + GroundingDINO + Yoloworld)

✨背景

对于设计的工作流来说,智能图像分割也是一个很重要的课题,尤其是像照片换脸、照片高清写真等等的工作流,可能要多次把人物的脸部或者手部抠图出来进行合成,工作流如果可以直接智能分割图像并合成,就可以避免自己再到ps中去抠图了,目前也的确有不少的模型和节点是用来做这个事情的,比如说ComfyUI中的Clipseg节点、GroundingDINO还有Yoloworld模型相关的节点等等。这里就简单测试下这三个模型,看下具体的效果如何。

(如果大家觉得有帮助的话,记得点点赞啊~🏃‍♀️)

🎡测试方法及结果

我们拿到这样一张原图:

(避免版权问题,这张图其实是midjourney直接生成的。)

然后搭建一个三种分割算法的工作流,并写提示词(比如说“face”)把面部分割出来,形成蒙版,然后把蒙版和原图进行合成,这样比较容易看出效果;

工作流截图:

🙋‍♂️测试结果

face的分割效果:

girl 的分割效果:

如果说AI生成的图像可能会有偏差,我们再从pixabay上找到一张图做一下测试:

还是用girl来做过滤:

再试验下组合词:hand,arm

dresses:

简单可以得出一个结论:

clipseg基本完败,这也是为什么用这个节点的时候,经常角色周围会有一圈很难处理干净,需要处理蒙版向内缩小一圈才能用;

GroundingDINO效果还可以,但是仔细看的话,经常会有一些莫名其妙的地方处理不干净,比如说人物面部:

综合来看,yoloworld-efficientSAM这个节点的效果最好。

(而且安装起来并不会比clipseg这个节点更复杂...)

🤶YoloWorld-EfficientSAM节点地址:

GitHub - ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM: Unofficial implementation of YOLO-World + EfficientSAM for ComfyUI

👨测试工作流下载

下载地址:https://pan.quark.cn/s/16227e56e2a4

🎉写在最后~

去年的时候写了两门比较基础的Stable Diffuison WebUI的基础文字课程,大家如果喜欢的话,可以按需购买,在这里首先感谢各位老板的支持和厚爱~

✨StableDiffusion系统基础课(适合啥也不会的朋友,但是得有块Nvidia显卡):

https://blog.csdn.net/jumengxiaoketang/category_12477471.html

​​​​🎆综合案例课程(适合有一点基础的朋友):

https://blog.csdn.net/jumengxiaoketang/category_12526584.html

​​​​

这里是聚梦小课堂,就算不买课也没关系,点个关注,交个朋友😄

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 动态聚类法是一种常用的图像分割方法,而matlab中的kmeans函数则可用于实现该方法。 图像分割是将一幅图像分成若干个区域,使得每个区域内部的像素具有相似的特征,而不同区域之间的特征差异较大。动态聚类法就是通过使用聚类算法,将图像中的像素点进行分类,从而实现图像分割。 在matlab中使用kmeans函数进行图像分割的步骤如下: 1. 读取图像:首先,使用imread函数读取待分割的图像,将其转换为灰度图像或者彩色图像。 2. 数据预处理:对图像做一些预处理,例如平滑处理、增强对比度等,以便更好地进行聚类。 3. 选择聚类数目:根据实际需求,确定需要将图像分成的区域数目。 4. 特征选择:根据图像的特性选择适合的特征,例如颜色、纹理等。 5. 特征提取:将图像的每个像素点表示为所选择的特征。 6. 运行kmeans算法:使用kmeans函数对提取的特征进行聚类,将图像中的像素点分成所设定的区域数目。 7. 分割结果显示:根据聚类结果,将同一区域内的像素点标记为相同的值,并将其显示为不同的颜色或灰度级。 通过以上步骤,就可以使用matlab中的kmeans函数实现对图像的分割。这样,图像中的不同区域就可以被有效地识别和提取出来,为后续的图像处理和分析提供了基础。 ### 回答2: 动态聚类法是一种在图像分割中常用的方法之一,而kmeans算法是其核心。它通过将图像中的像素根据灰度值进行聚类,将相似的像素分到同一个类别中,从而实现图像的分割。 在Matlab中,可以使用kmeans函数来实现动态聚类法图像分割。首先,需要加载要进行分割的图像,并将其转换为灰度图像。然后,选择合适的聚类数k,即图像中期望分割的类别数目。 接下来,可以使用kmeans函数进行聚类。该函数需要输入一个特征向量和一个初始的聚类中心,然后会计算每个像素到每个聚类中心的距离,并将像素分配到距离最近的聚类中心所对应的类别中。最后,通过重新计算每个类别的中心点,迭代直至收敛。 完成聚类后,可以根据每个像素所属的类别,将其分配到不同的颜色或灰度值上。这样就实现了图像的分割效果。最后,可以将处理后的图像显示出来,以便观察结果。 动态聚类法在图像分割中具有很好的效果,尤其在一些较为简单的图像上,可以得到较为准确的分割结果。然而,在一些复杂的图像上,可能会出现一些问题,例如前景与背景相似度较高时的分割困难。因此,在实际应用中,还需要根据具体情况进行参数的调整和优化,以获得更好的分割效果。 ### 回答3: 动态聚类法是一种用于图像分割的算法,在matlab中可以使用kmeans函数实现。 动态聚类法基于聚类的概念,将图像中的像素点划分为不同的群组,每个群组代表了一个特定的颜色或纹理。这种方法可以有效地将图像中的不同目标分隔开来,使得后续的分析和处理更加容易。 在matlab中,我们可以使用kmeans函数来进行动态聚类。kmeans函数将图像中的像素点作为输入,并将其划分为k个群组。在这个过程中,k值是一个重要的参数,它需要根据具体的需求进行选择。较小的k值会导致较低的图像分割精度,而较大的k值可能导致过度分割。 kmeans函数使用的是迭代的方法来寻找最佳的聚类结果。它首先随机选择k个中心点作为初始聚类中心,然后通过迭代的方式不断调整这些中心点,使得每个像素点所属的群组与其最近的聚类中心距离最小。迭代的过程会一直进行,直到达到预设的终止条件为止。 经过动态聚类法分割后的图像可以更好地突出图像中的目标区域,以便进行后续处理。可以利用分割的结果来进行目标检测、图像去噪、图像识别等应用。 总之,动态聚类法是一种有效的图像分割方法,在matlab中可以使用kmeans函数实现。它通过将图像中的像素点划分为不同的群组来分割图像,以便于后续的处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聚梦小课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值