论文《Recoloring textile fabric images based on improved fuzzy clustering》笔记整理

论文地址:https://onlinelibrary.wiley.com/doi/full/10.1002/col.22023

摘要

本文提出了一种基于改进的模糊局部信息c均值(FLICM)聚类的织物图像重新着色方法。 在聚类算法中,对模糊因子进行了修改,以便可以在细节丰富的区域中进行可靠的分割。利用获得的簇标签和逐个像素成员资格,将每个像素的颜色建模为两种最主要颜色的线性组合。 然后通过用用户提供的目标色替换指定的主导色来进行着色处理。实验结果表明,该方法可以在印花和色织织物图像上产生自然,忠实的颜色外观,并且优于最新技术 。

fuzzy local information c-means(FLICM)

-----------------------------------------------------------------------------------------------------------------------------------------

FCM是什么(图像分割):

一:

FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小。模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。

举例:

假设样本集合为X={x1 ,x2 ,…,xn },将其分成c 个模糊组,并求每组的聚类中心cj ( j=1,2,…,C) ,使目标函数达到最小。

隶属度函数

隶属度函数是表示一个对象x隶属于集合A的程度的函数,通

常记做μA(x),其自变量范围是所有可能属于集合A的对象(即集合A所在空间中的所有点),μA(x)的取值范围是[0,1],即0<= μA(x)<=1。越接近于1表示隶属度越高,反之越低。

模糊集合

一个定义在空间X={x}上的隶属度函数就定义了一个模糊集合A,即这个模糊集合里的元素对某一标准的隶属度是基本相近的。在聚类的问题中,可以把聚类生成的簇看成一个个模糊集合,因此,每个样本点对簇的隶属度就在[0,1]区间内。

总结1:

FCM与普通分类的区别就在于FCM用模糊划分,使得每个给定数据点用值域在0到1之间的隶属度函数确定其属于各个类的程度以达到分类的目的。

二:

Fuzzy C-Means算法原理:

对每个对象和每个簇赋予一个权值,指明对象属于该簇的程度。

抛开复杂的算式,这个算法的意思就是:给每个样本赋予属于每个簇的隶属度函数。通过隶属度值大小来将样本归类。

https://img2018.cnblogs.com/blog/683615/201906/683615-20190618174520065-381625098.png

FCM算法的优点是什么?

      传统的聚类分析是把每个元素严格的划分到一个类中,属于硬划分。模糊聚类分析将聚类生成的每个簇均看做模糊集合,通过隶属度来确定聚类关系,是一种柔性划分,得到元素属于各个簇的不确定性程度,使得聚类结果更加准确灵活,因此,模糊聚类分析逐渐成为聚类分析的主流。

-----------------------------------------------------------------------------------------------------------------------------------------

INTRODUCTION

设计师通常会花费大量时间和精力来选择合适的颜色,以获得更好的产品视觉效果。 在纺织工业中,在织物设计中找到令人愉悦和有吸引力的色彩主题很重要,但同时也很困难,因为这涉及很多先验后错误的染色。尽管计算机辅助设计(CAD)工具可以提供帮助,但是虚拟样品和物理样品的颜色外观之间仍然存在很大的差距。因此,仍然有必要准备耗时且昂贵的物理样品。 为了解决这个问题,在本文中,我们提出了一种使织物图像重新着色的新颖方法,利用该方法,设计人员可以轻松修改图像颜色,而无需实际生产物理样品。

重新着色或着色是一种流行的图像编辑技术,旨在修改或更改图像的颜色外观。已经开发了各种方法来对自然图像进行颜色修改。Reinhard等人提出了一种简单有效的方法,通过修改去相关颜色空间中颜色分布的均值和标准偏差(means and standard deviations),将图像的颜色外观转换为另一种颜色。Levin等人提出了一种在假设具有相似强度的相邻像素也应具有相似颜色的前提下,通过将着色问题转化为约束优化问题来对灰度图像着色的方法。Tai等人提出了一种基于概率软图像分割的颜色转移方法,其中采用高斯混合模型(GMM)和期望最大化(EM)方案来实现空间颜色平滑度。Dalmau-Cedeno等人介绍了一种交互式着色方法,该方法通过根据概率分割计算出的概率测度字段,使用用户提供的颜色的线性组合。Charpiat等人通过多模式预测解决全局优化问题,提出了一种自动灰度图像着色技术。Chen等人通过保留特征空间中所有像素的流形结构,为交互式图像重着色提供了一种编辑传播算法。Xu等人提出了一种稀疏控制模型,以最大程度地减少用户的工作,例如绘制涂鸦。Yoo等人提出了一种使用局部色彩将图像色彩转换为局部色彩的方法。Jin等人提出了一种自然对象着色的随机算法,该算法可以产生自然丰富的色彩变化。

尽管方法变得越来越方便和高效,但是参考图像或用户指定的涂鸦仍然是必需的输入。在纺织工业中,要求用户输入最少,并且重新着色的织物图像应保持较高的色彩保真度。由于织物图像始终包含丰富的纹理和众多的颜色区域,这与自然场景截然不同,因此上述大多数方法都不能满足此要求。幸运的是,织物图像中主要颜色的数量通常不是很大,因此重新着色过程可以从先前的图像分割中受益。 因此,最近的工作遵循这种方式对纺织品图像进行着色。例如,Han等人采用了一种快速的多阶段图像分割算法来估计色偏,并使用隶属函数进行自动颜色主题设计。基于多相分割算法,Zheng对织物图像进行了进一步的颜色转移工作。最近,Chang等人介绍了一种新颖的图像编辑方法,该方法由调色板创建和颜色转移步骤组成。 该方法假设图像中的主要颜色数量有限,因此适用于织物图像的重新着色。 但是,上述方法可能导致颜色偏移或减弱纹理,因此所得图像无法保持高保真度的颜色外观。最近,Chang等人介绍了一种新颖的图像编辑方法,该方法由调色板创建和颜色转移步骤组成。 该方法假设图像中的主要颜色数量有限,因此适用于织物图像的重新着色。 但是,上述方法可能导致颜色偏移或减弱纹理,因此所得图像无法保持高保真度的颜色外观。

在本文中,我们提出了一种基于改进的模糊聚类算法的织物图像上色方法。 聚类算法结合了局部空间约束和模糊因子的修改,从而可以产生更好的图像分割。将每个像素的颜色建模为两种最主要颜色的线性组合,并且可以通过用用户选择的目标颜色替换特定的主要颜色来实现重新着色过程。用户交互包括指定主色的数量和选择所需的目标色,这对于实际操作而言非常容易。 所提方法的性能在印花和色织织物图像上均得到验证。

FUZZY CLUSTERING

模糊聚类广泛用于图像分割和颜色提取。与硬聚类相比,它通过引入部分成员资格的思想保留了更多的图像信息。模糊c均值(FCM)算法是最流行的模糊聚类方法之一,但由于忽略了空间信息,因此对噪声敏感。已经提出了FCM的各种变体,其中,模糊局部信息c均值(FLICM)聚类非常吸引人。 在本节中,我们将对FLICM进行改进,使其更适用于纺织品图像分割。

FLICM

对于具有N个像素的图像,第i个像素的颜色表示为xi。 假设图像包含c种主色,则在FLICM聚类中,通过最小化目标函数来生成最佳图像分区:

其中vk是第k个聚类中心的颜色原型,表示作为距离度量的欧几里得范数。在等式中 (1),uki表示在约束条件下第k个簇中像素i的隶属度。

模糊化因子m确定模糊程度,并且始终设置为2。模糊因子Gki定义为:

其中Ni代表像素i周围的局部窗口,dij是像素i与j之间的空间欧几里得距离。

目标函数(1)可以通过迭代更新成员资格和聚类中心来获得其局部最小值。

当算法收敛后,可以根据隶属度的最大定律进行图像分割。

Improved FLICM

随着FLICM中模糊因子的引入,局部窗口中像素的隶属度将在聚类过程中逐渐收敛到相似的值,因此该算法对于噪声和离群值破坏具有鲁棒性。而且,该算法还可以通过将稀疏或微小区域中的像素分配给周围像素的簇来消除纺织品图像中的丰富细节。

已经进行了一些工作来提高FLICM的性能。在本文中,我们建议修改模糊因子,以使算法可以在细节精细的区域中产生真实的分割。 我们认为,在模糊因素中,仅考虑局部空间距离是不够的,而且还应考虑相邻像素之间的色差。由于纺织品图像很少包含离群值(outliers),因此我们可以假设相邻像素和当前像素之间的色差越大,相邻信息的可信度就越低。 在这方面,我们根据颜色相似度量化从相邻像素j到当前像素i的信息的可信度,如下所示:

其中Ci表示像素i具有最大隶属关系的簇的索引,

在等式(6)中,xCi是当前在聚类Ci中的像素的平均颜色,并且控制颜色相似度。在本文中,我们将设置为群集Ci中当前像素的标准偏差,以便颜色相似项gcij可以适应不同的群集。

通过将空间约束写为

和本地像素分布为

新的模糊因子定义为

通过引入新的模糊因子,聚类算法具有目标功能

与原始FLICM算法类似,成员资格迭代更新为

群集中心的颜色更新为

改进的FLICM聚类算法为:

概述如下:

步骤1.设置簇数c,模糊化m和停止公差

步骤2.初始化隶属度矩阵U(0)。

步骤3.设置循环计数器t = 0。

步骤4.根据等式(13)计算聚类中心vk的颜色。

步骤5.根据等式(12)更新成员资格U(t)。

步骤6.如果max {U(0)-U(t)} <,则停止; 否则设置t = t +1并转到步骤4。

Image Segmentation

本文利用CIELAB色彩空间对织物图像进行模糊聚类,式(6)中的欧几里得距离实际上就是CIELAB色差。聚类后,为每个像素分配与最大成员资格相对应的聚类标签。 图1显示了基于原始FLICM算法和改进的FLICM算法的图像分割图和相应的重新着色图像。出于演示目的,将分割图以伪彩色显示。 从特写视图可以看出,对于原始的FLICM算法,一些绿色像素被误贴,因为其模糊因子仅考虑空间约束。相比之下,由于在模糊因子中引入了颜色相似项,因此改进后的FLICM算法产生了更好的分割图。 相应地,当在图像分割中采用改进的FLICM算法时,这些像素的颜色在重新着色的图像中的偏差较小。

 

图1.织物图像分割和重新着色的示例。 (a)原始的印花织物图像和特写视图。 (b)通过原始FLICM算法的分割图和所得的重新着色图像。 (c)通过改进的FLICM算法(建议)进行分割图并生成重新着色的图像。 分割图以伪彩色显示。 在(b)中,颜色偏移由红色箭头指示。

RECOLORING

Color Modeling

在最近的工作中,像素的颜色由所有主色的线性组合表示,而权重只是从聚类过程中获得的隶属关系。 这种处理方式的主要问题是,由于从属关系不能完全反映主色的权重,因此重新着色的图像通常会出现颜色伪影。

      在本文中,我们将像素的颜色建模为最多两种主要颜色(可以修改的部分)的线性组合。 这对于纺织品图像是合理的,因为纯色区域仅具有一种颜色,而过渡区域中像素的颜色通常受两个相邻区域的影响。

像素的光谱反射率值r(λ),其中λ表示波长,可以分解为两种主要颜色r1(λ)和r2(λ)的反射率的线性组合,

其中e(λ)表示反射率空间中的近似误差。 反射率r(λ)的三刺激值计算为:

 

表示CIE颜色匹配函数,L(λ)表示光源的光谱功率分布,D(λ)表示波长间隔。

然后可以在CIEXYZ颜色空间中将公式(14)重新表示为

其中(X1,Y1; Z1)T和(X2,Y2,Z2)T分别是反射率r1(λ)和r2(λ)的相应三刺激值(tristimulus values),3 * 1向量e表示残留误差。

根据等式(14)和(17),可以在多光谱图像或彩色图像上应用重新着色过程。 考虑到纺织工业中重新着色的目的是帮助配色方案设计,下面我们在CIEXYZ颜色空间中进行重新着色。 如图所示,扩展到反射空间很简单。

Recoloring Algorithm

在下文中,我们考虑像素i的重着色过程,其CIEXYZ值由3 * 1矢量xi表示。为了简化符号,通过删除下标将颜色表示为x。 假设已经通过提出的模糊聚类方法对纺织品图像进行了分割,并且获得了主色以及像素的隶属关系。我们还假设,对于像素i,群集c1具有最大成员资格,而群集c2具有第二最大成员资格。 然后,具有c1和c2的群集的平均颜色(分别表示为v1和v2)是像素的两个最主要的颜色。 根据等式(17),像素的颜色x的模型为

其中a和b是与主色v1和v2对应的系数,向量e表示残留误差。

在等式中 (18),最优系数a和b应该使误差项最小。另外,由于颜色x是两种主要颜色的混合,因此合理要求系数应为非负值,然后将系数的解表示为

这是一个二次编程问题。 由于二次规划的直接使用是计算密集型的,因此下面我们首先根据最小二乘准则求解系数,然后将系数强制为非负数。

最小二乘

因此,残余误差计算为e = x-Vc。在一个系数(例如b)为负的情况下,我们将混合模型(18)简化为

由于主色v1接近x,我们可以确保a>0。因此,残留误差为e = x-a * v1。

可以基于在等式(20)或(22)中计算出的系数a和b,根据颜色混合模型对像素重新着色。 假设u为用户选择的目标颜色,则可以通过在线性模型中用u替换主色v1来计算像素的新颜色,

请注意, (23)表示理想的重新着色过程,它忽略了残留误差e。 由于残留误差还包含部分纹理信息,因此由等式产生的重新着色结果。 (23)可能看起来不是很现实。 在这方面,我们采用以下模型进行重新着色

其中参数补偿纹理效果。 在本文中,我们设置 = 0.5。 图2显示了带有和不带有残留误差项的重新着色结果。 观察到,当考虑残留误差项时,所得图像的颜色外观看起来更自然。

图2.带有和不带有残留误差项的重新着色结果。 (a)原始图像。 (b)残留error,可视化得到了增强。 (c)重新着色的结果,没有残留误差项。 (d)带有残留误差项的重新着色结果。

 

Recoloring Process

在本文中,修改配色方案需要最少的用户交互。 首先,用户提供主色的数量并通过改进的模糊聚类算法对图像进行分割。 然后,用户通过将特定的主色替换为目标色来编辑图像。

当要替换两种或更多种颜色时,我们可以简单地用不同的目标颜色迭代重新着色算法。

如上所述,取决于系数a和b是否为负数,可以使用等式(18)或(21)对像素的颜色建模。 我们的研究表明模型(18)对于两个颜色区域之间的过渡区域中的像素是必需的,而模型(21)可以描述区域内的大多数像素。 但是,由于系数是由重新着色算法自动确定的,因此用户无需选择适当的模型。

EXPERIMENTS

在实验中,我们使用多光谱成像系统获取了印花和色织织物图像。CIEXYZ和CIELAB格式的图像是在CIE标准光源D65下从多光谱图像获得的。 改进的模糊聚类应用于CIELAB图像,而重着色应用于CIEXYZ图像。 最后将重新着色的图像转换为sRGB颜色空间以进行可视化。

我们评估了所提出的方法,以及Han等人[13,Zheng,14 Chen等人,9和Chang等人,15]在许多织物图像上的方法。 Han方法,Zheng方法,Chen方法和建议的方法均在MATLAB 2010中实现。Chang的方法由其作者使用带有图形用户界面(GUI)的Java脚本实现。 我们修改了代码,以便即使指定了区域,其他区域的亮度值在重新着色过程中也不会改变。 所有这些方法都可以在具有2.13 GHz CPU(Intel Xeon E5506)和12 GB RAM的个人计算机上运行。

请注意,提议方法以及汉,郑和张的方法都基于颜色聚类。 对于这些方法,手动指定图像中的簇数c。 在Chen的方法中,手动提供了涂鸦,以指示要更改的颜色和应保持不变的颜色。

Comparison

图3显示了印花织物图像的重新着色结果,其中樱桃色的两种颜色将被修改。 可以看出,所提出的方法在重新着色的图像中产生自然的外观。 在Han的方法制作的图像中,尽管我们不打算对其进行更改,但背景颜色显示为淡黄色。

此外,汉氏和郑氏方法都在令人愉悦的图案上产生令人不快的色斑。 原因是这两种方法仅采用混色模型中的成员模型,无法指导重新着色过程。 注意,在Chen的方法中,已经提供了大量的涂鸦作为用户输入。 但是,如突出显示的区域所示,所得图像仍然不令人满意。 对于Chang的方法,由于错误的图像分割,其最终图像在左下方产生了错误的颜色。

图3.印花织物图像的重新着色结果。 在原始图像下方显示了两个源-目标颜色对。 缺陷以红色箭头或黄色框突出显示。

(篇幅原因,不上传所有的图片了,感兴趣的可以直接查看原论文)

图4显示了色织织物的重新着色结果,其中将红色更改为紫色,对于Han方法,所得图像在白色/深色区域中显得模糊,紫色纱线和深色之间的颜色过渡 背景似乎太突然了。郑的方法产生的图像中也存在突然的颜色过渡。 根据Chen的方法,这些小区域相互连接。 Chang的方法产生了良好的视觉效果,但是当将重新着色的纱线与目标颜色进行比较时,可以感觉到颜色偏移。 相比之下,所提出的方法产生自然的外观并且不引入色偏。

图5和图6显示了印花织物图像上的其他重新着色结果。 在图5中,除白色背景外的所有图案颜色都将被更改。 所提出的方法产生具有自然色彩外观的图像。相比之下,郑和陈的方法所产生的重新着色图像中的纹理明显减弱了。 此外,Chang的方法在白色背景上引入了明显的色彩偏差。 在图6中,由于在该印刷织物图像中区域边界不清晰,因此难以进行重新着色。 然而,所提出的方法在重新着色长曲线时仍然表现良好,同时保持其他颜色不变。 相比之下,Zheng的方法产生的图像具有异常的颜色外观,而Chen和Chang的方法会导致意外的颜色变化,如红色箭头所示。

图7和图8在色织的织物图像上显示了另外两个重新着色的结果。 如图7所示,用汉斯和郑的方法,合成纱线在合成图像中显得异常平整。 Chen方法的结果包含明显的伪像。 提出的方法和Chang的方法都能产生令人满意的重新着色图像。 在图8中,提出的方法再次产生了良好的重新着色结果。 相比之下,用郑和陈的方法得到的图像是不可接受的,而用张的方法所得到的图像包含阴影区域中可察觉的颜色变化。

除了重着色效果之外,还需要评估重着色方法的运行效率。该方法的计算成本主要由复杂度为O(Nc)的聚类过程确定。 Chang的方法是用Java语言实现的,因此应该很有效,因为它在聚类过程中没有考虑空间信息。对于Han和Zheng的方法,色偏场的估计需要大量计算。在Chen的方法中,局部线性嵌入(LLE)和基于稀疏系统的重新着色都需要大量计算。表I列出了在具有500 3 450像素的图像上获得的这些重新着色方法的运行时间。该方法的计算成本约为43秒,这表明它的运行速度比Chang的方法之外的所有竞争对手都要快。值得注意的是,当在C11中实现时,建议的方法的运行时间约为3秒,足以用于交互式重着色任务。

More Results

图9和图10分别显示了该方法在印花和色织织物图像上的更多重新着色结果。 在图9(a)中,替换了一种颜色,而在两个图中都替换了。 在图9(b)和9(c)中,替换了两种颜色。 观察到,在图9(b)中很好地保留了纹理效果。 另外,图9(c)中所得图像的颜色外观非常自然。 图10显示了三个色织织物图像的重新着色结果。 可以看出颜色外观相当逼真并且纹理效果保持良好。

CONCLUSIONS

在本文中,我们提出了一种用于织物图像的重新着色方法,该方法包括模糊聚类算法和重新着色算法。 通过引入颜色相似性度量来改进模糊聚类,以便它可以处理纺织品图像中的精细细节。 在记录算法中,将像素的颜色建模为两种最主要颜色的线性组合,并且对系数具有非负约束。 然后可以通过将特定的主色替换为目标色来修改配色方案。 实验结果验证了该方法在印花和色织织物图像上的性能。

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值