计算机基础项目实战8_第1页
计算机基础项目实战8_第2页
计算机基础项目实战8_第3页
计算机基础项目实战8_第4页
计算机基础项目实战8_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机视觉项目开发实战

(微课版)项目九艺术海报生成—k-Means配色与风格化思维导图学习目标概览能够实现完整的k-Means聚类流程知识目标学习目标素养目标技能目标培养精益求精的工匠精神培养技术伦理与版权意识培养文化自信与创新意识能够使用肘部法确定最优聚类数目能够使用轮廓系数分析法确定k-Means聚类中的最佳k值掌握聚类的概念及算法的评价指标掌握k-Means算法的概念与实现流程掌握使用肘部法及轮廓系数分析法选择k值的原理目录项目导入知识准备项目拓展项目实施项目巩固9.1聚类9.2k-Means算法9.3k-Means算法中k值的选取PART01项目导入项目导入在数字化技术与艺术创作深度融合的今天,图像作为文化传播与情感表达的重要媒介,正经历着从“记录现实”到“创造美学”的深刻变革。艺术海报的创作过程本质上是“技术理性”与“人文感性”的对话。量化算法的精准性需与艺术表达的开放性相平衡:既要通过颜色量化优化图像的视觉层次,也要为创作者保留主观诠释的空间。让技术真正服务于具有人文温度的创意表达PART02知识准备知识准备—聚类9.1.1聚类的概念聚类(Clustering)是机器学习中一种典型的无监督学习任务,其核心目标是根据样本之间的内在相似性,将数据集划分为若干个互不相交的簇(Cluster)。在每个簇内,样本间具有较高的相似性;而不同簇之间的样本则存在明显差异。与有监督的分类任务不同,聚类分析处理的是无标签数据,聚类划分的簇不依赖于任何预先定义的类别信息。知识准备—聚类9.1.1聚类的概念在聚类分析中,“簇”的划分通常追求两个目标:簇内紧凑与簇间分离。在衡量样本之间的相似性时,通常采用距离(例如欧氏距离、曼哈顿距离等)作为度量标准。距离越近的样本,其相似度越高,越可能被归入同一个簇中。聚类分析处理的是无标签数据,但其本质上仍然是一种对数据内在结构的探索与划分。聚类缺乏明确的类别标签作为指导,聚类结果往往难以直接与有监督分类的准确性指标进行比较。聚类能够在没有先验知识的情况下,发现数据中潜在的模式、簇或异常点。知识准备—聚类9.1.1聚类的概念根据聚类算法对簇的定义方式和数据划分策略的不同,现有的聚类算法主要可分为以下几类:以k-Means算法为代表的基于划分的聚类。以层次聚类为代表的基于样本连通性的聚类。以DBSCAN为代表的基于密度的聚类。k-Means算法:原理直观、实现简单且计算效率高等特点,成为应用最广泛的聚类算法之一。知识准备—聚类9.1.2聚类算法的评价指标簇内平方和簇内平方和(Within-ClusterSumofSquares,WCSS)也称为惯性(Inertia),是k-Means算法最直接的评价指标。WCSS的计算公式如下:常用的聚类算法评价指标主要从簇内紧密性和簇间分离性两个维度来衡量聚类效果。其中,k表示簇的个数,Ci表示第i个簇,表示第i个簇的中心点,x表示簇中各样本点。该指标衡量了每个簇内样本到其质心的距离平方和,WCSS越小,说明簇内样本越紧密,聚类效果越好。在实际应用中,常会通过肘部法来确定最优聚类数目k。知识准备—聚类9.1.2聚类算法的评价指标簇间平方和与WCSS相对应,簇间平方和(Between-ClusterSumofSquares,BCSS)衡量的是各个簇的中心点与全体数据中心点的离散程度。BCSS的计算公式如下:其中,表示所有样本的全局质心,ni表示第i簇中样本的数量。BCSS越大,说明各个簇之间的分离度越高,簇间的差异性越明显。WCSS和BCSS之间存在互补关系,两者的和是一个常数,等于数据的总平方和。知识准备—聚类9.1.2聚类算法的评价指标轮廓系数轮廓系数(SilhouetteCoefficient)综合考察了簇内紧密性和簇间分离性,它的计算公式如下:其中,a(i)表示第i个样本到同簇其他样本的平均距离,表达了簇内数据的不相似程度;b(i)表示第i个样本到其他簇中所有样本的平均距离的最小值,表达了簇间数据的不相似程度。轮廓系数的取值范围为[−1,1],值越接近1表示聚类效果越好。当所有样本的平均轮廓系数较高时,说明聚类结果具有较好的簇内紧密性和簇间分离性。知识准备—聚类9.1.2聚类算法的评价指标Davies-Bouldin指数Davies-Bouldin指数指的是任意两个簇的WCSS与BCSS的比值,度量簇间分离性与簇内紧密性。Davies-Bouldin指数越小,说明簇内样本越紧凑,簇间分离度越高,聚类效果越理想。在实际应用中,需要根据数据特性和分析目标选择合适的评价指标。例如,当簇的形状较为规整且大小相近时,WCSS和轮廓系数都是有效的评价指标;而当簇的形状复杂或大小差异较大时,则需要结合多个指标进行综合评估。通过科学运用这些评价指标,可为聚类结果的优化提供重要依据,帮助选择最佳的聚类参数和聚类数目。知识准备—k-Means算法9.2.1k-Means算法的概念与实现流程k-Means算法也称k均值算法,是聚类分析领域最为经典且最具代表性的算法之一。k-Means算法基于迭代优化的思想,能够自动将数据集划分为预设数量的簇。在算法执行过程中,首先需要设置聚类数目k,并随机初始化k个聚类中心;然后通过不断迭代各样本的簇分配与更新聚类中心两个核心步骤,将数据样本划分到距离最近的聚类中心所在的簇,并根据簇内所有样本重新计算该簇的中心,直至聚类结果趋于稳定。最终,获得k个互不重叠的簇及其对应的聚类中心,完成对原始数据的有效划分。①随机初始化k个聚类中心。②计算每个数据点与各聚类中心的距离(如欧氏距离),将其分配到距离最近的聚类中心对应的簇中,形成k个簇。③对于每个簇,重新计算簇内所有数据点的均值,将该均值作为新的聚类中心。④重复②、③两步,直到满足终止条件。k-Means算法主要包括以下几个步骤。知识准备—k-Means算法9.2.1k-Means算法的概念与实现流程算法的终止条件通常设定为以下3种情况之一:数据点的簇归属不再发生变化、达到预设的最大迭代次数,或连续两次迭代中聚类中心的移动距离小于指定阈值。这种迭代优化的机制确保了k-Means算法能够有效收敛,形成稳定的聚类结果。图9-1展示了k-Means算法的工作流程。图9-1k-Means算法的工作流程知识准备—k-Means算法【例9-1】借助NumPy实现k-Means算法,并将其应用于数据的聚类。步骤1:导入将使用的库9.2.1k-Means算法的概念与实现流程—案例知识准备—k-Means算法步骤2:创建k-Means算法的实现类【例9-1】借助NumPy实现k-Means算法,并将其应用于数据的聚类。9.2.1k-Means算法的概念与实现流程—案例知识准备—k-Means算法步骤3:生成随机数据,创建k-Means算法模型,实现数据的聚类【例9-1】借助NumPy实现k-Means算法,并将其应用于数据的聚类。9.2.1k-Means算法的概念与实现流程—案例知识准备—k-Means算法步骤4:可视化聚类结果【例9-1】借助NumPy实现k-Means算法,并将其应用于数据的聚类。9.2.1k-Means算法的概念与实现流程—案例知识准备—k-Means算法运行本例完整代码,将展示图9-2所示的聚类结果。图9-2原始数据分布与k-Means聚类结果【例9-1】借助NumPy实现k-Means算法,并将其应用于数据的聚类。9.2.1k-Means算法的概念与实现流程—案例知识准备—k-Means算法聚类数目k值难以预先确定。算法对初始聚类中心敏感,且易受噪声数据影响。算法基于距离度量的特性存在固有局限。9.2.2k-Means算法的不足k-Means算法以其简洁性和高效性在大规模数据处理中展现出显著优势,然而该算法在实际应用中也存在若干值得关注的局限性,主要表现在以下3个方面。

知识准备—k-Means算法中k值的选取9.3.1肘部法在k-Means算法中,聚类数目k值过小可能导致簇内样本差异过大,无法有效揭示数据的内部结构;相反,k值过大则可能造成过拟合。肘部法的核心思想是基于WCSS随k值增加而变化的关系来选择最合适的聚类数目。其实施步骤如下:①计算不同k值(通常从一个较小值开始递增)对应的WCSS。②将这些k值与对应的WCSS绘制成折线图。③观察折线图,从中找出形如“手肘”的拐点,选择其对应的k值。通常,当k值从1开始逐渐增大时,WCSS会快速下降,因为每个新增的簇都能显著提高数据划分的精细程度。然而,当k值达到某个临界点后,继续增加k值所带来的WCSS下降幅度会明显减缓,形成类似人手臂肘部的弯曲形状。这个拐点对应的k值就被认为是较优的聚类数目。知识准备—k-Means算法中k值的选取【例9-2】使用肘部法选择k值。步骤1:构建不同k值下的k-Means模型并计算WCSS9.3.1肘部法—案例知识准备—k-Means算法中k值的选取【例9-2】使用肘部法选择k值。步骤2:使用最优k值构建k-Means模型并对聚类结果进行可视化9.3.1肘部法—案例知识准备—k-Means算法中k值的选取【例9-2】使用肘部法选择k值。9.3.1肘部法—案例运行上述代码,将显示图9-3(b)所示的聚类结果。图9-3用肘部法确定k值及k-Means聚类结果知识准备—k-Means算法中k值的选取9.3.2轮廓系数分析法轮廓系数分析法是另一种确定k-Means算法中最佳k值的重要方法,与肘部法相比,它提供了更加量化的评估标准。轮廓系数能够同时衡量簇内样本的紧密程度和簇间样本的分离程度,为k值的选择提供更全面的依据。轮廓系数的核心思想是计算每个样本点与同簇其他样本点的相似度以及与其他簇样本点的相异度来评估聚类效果。在实际应用中,通常会计算所有样本点轮廓系数的平均值(即平均轮廓系数)来评估整个聚类结果的质量。知识准备—k-Means算法中k值的选取9.3.2轮廓系数分析法使用轮廓系数分析法确定k值的步骤如下:①设定k值的候选范围。②对每个候选k值进行k-Means聚类。③计算每个k值对应的平均轮廓系数。④选择平均轮廓系数最大的k值作为最优聚类数目。轮廓系数分析法的适用场景:数据分布复杂,肘部法难以确定明显拐点。需要量化评估不同k值的聚类效果。簇的形状和大小差异较大。知识准备—k-Means算法中k值的选取【例9-3】使用轮廓系数分析法选择k值。步骤1:构建不同k值的k-Means模型,计算相应的轮廓系数9.3.2轮廓系数分析法—案例知识准备—k-Means算法中k值的选取【例9-3】使用轮廓系数分析法选择k值。步骤1:构建不同k值的k-Means模型,计算相应的轮廓系数9.3.2轮廓系数分析法—案例图9-4不同k值时的平均轮廓系数知识准备—k-Means算法中k值的选取步骤2:使用最优k值构建k-Means模型进行聚类9.3.2轮廓系数分析法—案例【例9-3】使用轮廓系数分析法选择k值。知识准备—k-Means算法中k值的选取运行上述代码,将生成图9-5所示的聚类结果。图9-5原始数据分布与k=3的k-Means聚类结果9.3.2轮廓系数分析法—案例【例9-3】使用轮廓系数分析法选择k值。PART03项目实施项目实施项目任务量化图像颜色(减少颜色数量),提取图像主色调生成调色板,生成艺术海报。任务实现本项目将按照图像处理与机器学习项目的典型流程,使用k-Means算法实现图像颜色的量化与艺术海报的生成。整个过程包括图像的加载与预处理、使用肘部法寻找最优聚类数目、对像素值进行聚类、根据聚类结果生成量化图像、生成调色板、创建简单的艺术海报、绘制使用肘部法选择k值的图7个核心步骤。本项目将针对每个步骤编写独立的功能函数,在主程序中,将按工作过程依次调用这些功能函数,形成完整的艺术海报生成流程。项目实施步骤1:图像的加载与预处理定义load_image()函数,从指定路径读取图像文件,将图像从OpenCV使用的BGR格式转换为RGB格式后,进一步缩放到指定的大小。具体代码如下:项目实施步骤2:使用肘部法寻找最优聚类数目定义find_optimal_k()函数,使用肘部法寻找最优的聚类数目。在该函数中将分别计算k取2~10时k-Means模型的WCSS,然后计算WCSS变化曲线在各个k值处的二阶导数,将二阶导数中的最大值对应的k值作为最优聚类数目。这样的方法可以使最优k值的寻找过程更为科学、精准。具体代码如下:项目实施步骤3:对像素值进行聚类定义color_clustering()函数,使用k-Means算法对像素值进行聚类。该函数的参数为图像中的所有像素值与聚类数目k,如果k值没有指定,则调用步骤2中定义的find_optimal_k()函数,使用肘部法寻找最优的k值。具体代码如下:项目实施步骤4:根据聚类结果生成量化图像定义quantize_image()函数,使用训练好的k-Means模型预测各个像素值对应的簇,并使用各个簇的聚类中心替换原始像素值,从而生成量化后的图像。具体代码如下:项目实施步骤5:生成调色板定义generate_palette()函数,根据k-Means聚类结果生成可视化调色板。该函数的参数为已训练的k-Means模型,通过提取聚类中心和每个簇中的样本数,创建包含各主色调及其占比信息的调色板,确保调色板能够直观反映各主色调的重要性。具体代码如下:项目实施步骤6:创建简单的艺术海报定义create_poster_effect()函数,将量化颜色后的图像转换为艺术海报。该函数的参数为量化后的图像和图像边缘的宽度。在该函数中,首先将彩色图像转换为灰度图像,然后使用Canny算法检测图像边缘并对其进行增强处理,为量化后的色块添加黑色边缘,突出图像的结构特征,增强视觉表现力。具体代码如下:项目实施步骤7:绘制使用肘部法选择k值的图定义plot_elbow_method()函数,使用肘部法选择k值,并将随k值变化的WCSS进行可视化展示,展示选择出的最优k值。具体代码如下:项目实施按顺序组织上述步骤中的函数,并编写主程序对其进行调用,即可完成图像颜色的量化与艺术海报的生成。运行本项目的完整代码,将会对指定的Tiger.jpg图像进行处理,生成图9-6所示的量化图像、调色板、艺术海报等图像。图9-6运行项目代码输出的相关图像PART04项目拓展项目拓展智能化风格迁移:从颜色结构到艺术渲染在传统的艺术海报生成流程中,k-Means颜色量化实现了对图像色彩的提炼与归纳,形成了具有海报感的颜色结构图。然而,若要进一步赋予其独特的艺术质感与风格,则需要引入更强大的生成能力。StableDiffusion等文生图大模型可对量化后的图像进行风格增强。这种方法能够把传统颜色量化技术与大模型的生成能力结合,创造出更丰富的视觉效果。其并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论