計算機基礎項目實戰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

提交評論