機(jī)器視覺原理與應(yīng)用 課件 第11、12章 主動(dòng)輪廓與跟蹤運(yùn)動(dòng)、聚類分析1_第1頁(yè)
機(jī)器視覺原理與應(yīng)用 課件 第11、12章 主動(dòng)輪廓與跟蹤運(yùn)動(dòng)、聚類分析1_第2頁(yè)
機(jī)器視覺原理與應(yīng)用 課件 第11、12章 主動(dòng)輪廓與跟蹤運(yùn)動(dòng)、聚類分析1_第3頁(yè)
機(jī)器視覺原理與應(yīng)用 課件 第11、12章 主動(dòng)輪廓與跟蹤運(yùn)動(dòng)、聚類分析1_第4頁(yè)
機(jī)器視覺原理與應(yīng)用 課件 第11、12章 主動(dòng)輪廓與跟蹤運(yùn)動(dòng)、聚類分析1_第5頁(yè)
已閱讀5頁(yè),還剩120頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第11章主動(dòng)輪廓與跟蹤運(yùn)動(dòng)11.1主動(dòng)輪廓模型11.2彈性形狀模型11.3高斯混合模型 11.3.1高斯混合模型分布特征 11.3.2高斯混合模型的參數(shù)極大似然估計(jì) 11.3.3隨機(jī)梯度算法 11.3.4EM算法11.4跟蹤運(yùn)行特征 11.4.1基于高斯混合模型的背景建模 11.4.2基于核函數(shù)的跟蹤第11章主動(dòng)輪廓與跟蹤運(yùn)動(dòng)11.5基于視覺的運(yùn)動(dòng)特征提取與描述 11.5.1運(yùn)動(dòng)形狀描述 11.5.2運(yùn)動(dòng)形狀檢測(cè)11.1主動(dòng)輪廓模型主動(dòng)輪廓也稱蛇模型(activecontourorsnakes)是與特征提取完全不同的方法。主動(dòng)輪廓是將目標(biāo)特征,即待提取特征包圍起來(lái)的一組點(diǎn)。類似于用一個(gè)氣球找出形狀:氣球放在形狀外部,將形狀包圍在內(nèi)。然后把氣球中的空氣放出,使它慢慢變小,當(dāng)氣球停止縮小時(shí),即找出了形狀,此時(shí)氣球與形狀完全擬合。通過這種方式,主動(dòng)輪廓對(duì)一組點(diǎn)進(jìn)行排列,將目標(biāo)形狀包圍在內(nèi)以便對(duì)其進(jìn)行描述。11.1主動(dòng)輪廓模型在目標(biāo)特征的外部設(shè)置一個(gè)初始輪廓,然后對(duì)其進(jìn)行演變并將目標(biāo)特征包圍在內(nèi)。主動(dòng)輪廓模型采用能量最小化方法進(jìn)行處理。目標(biāo)特征是能量泛函的最小值。該能量泛函不只包含邊界信息,還包括控制輪廓伸縮和彎曲的特性。通過這種方式蛇模型表示其自身特性(比如彎曲和拉伸能力)與圖像特性(比如邊緣強(qiáng)度)之間的一種折中。因此,能量泛函是輪廓內(nèi)部能量

、約束能量

以及圖像能量

的相加函數(shù),它們是組成蛇模型

的一組點(diǎn),即蛇模型中所有點(diǎn)的x和y坐標(biāo)。假設(shè)

是蛇模型的正規(guī)化長(zhǎng)度,那么能量泛函是該蛇模型的所有函數(shù)的積分。因此,能量泛函

為(11-1)11.1主動(dòng)輪廓模型上式中,

,

分別是輪廓點(diǎn)的x和y坐標(biāo),

,內(nèi)部能量

決定蛇模型的自然變化,從而決定蛇模型所有點(diǎn)的排列;圖像能量

引導(dǎo)蛇模型選擇低層次特征(如邊緣點(diǎn));約束能量

給出高層次信息以控制蛇模型的演變。蛇模型的目標(biāo)就是通過式(11-1)的最小化來(lái)進(jìn)行求解。新的蛇模型輪廓是指那些比初始點(diǎn)能量更低并與目標(biāo)特征匹配更好的點(diǎn),蛇模型就是從這些初始點(diǎn)演變而來(lái)的。通過這種方式,選擇一組點(diǎn)

滿足式(11-2)

(11-2)11.1主動(dòng)輪廓模型能量泛函

表示為蛇模型函數(shù)以及圖像的形式。根據(jù)各自所選的權(quán)重系數(shù),這些函數(shù)構(gòu)成蛇模型能量。通過這種方式,曲線內(nèi)部能量

定義為輪廓周圍一階和二階導(dǎo)數(shù)的加權(quán)和,如式(11-3)所示。

(11-3)一階微分

表示由伸縮而產(chǎn)生的彈性能量,由于該微分的值越大意味著這個(gè)輪廓區(qū)域內(nèi)的變化率越大。二階微分

表示因彎曲而產(chǎn)生的能量,即曲率能量。由于受點(diǎn)間隔影響,使用權(quán)值

控制彈性能量貢獻(xiàn);受點(diǎn)變動(dòng)影響,使用權(quán)值

控制曲率能量貢獻(xiàn)。α和β的取值決定蛇模型最終形狀。α取低值表示點(diǎn)的間隔變化幅度大,而取高值則表明蛇模型得到均勻分隔的輪廓點(diǎn)。β取低值意味著曲率不是最小值,并且輪廓在其邊界上形成角點(diǎn),而取高值表示預(yù)先設(shè)定蛇模型為光滑的輪廓。上述情形是輪廓自身的特性,它只是蛇模型自身特征與圖像檢測(cè)特征之間的部分折中。11.1主動(dòng)輪廓模型圖像能量

引導(dǎo)蛇模型提取低層次特征,比如亮度或邊緣數(shù)據(jù),目的是選取具有最小貢獻(xiàn)的特征。式(11-1)表明線、邊緣和端點(diǎn)可以作用于能量函數(shù),這些能量分別標(biāo)記為

,

,并且分別通過權(quán)重系數(shù)

,和

來(lái)控制。因此,圖像能量如式(11-4)所示。

(11-4)線能量可以設(shè)為特定點(diǎn)的圖像亮度。如果黑色比白色取值低,那么將暗特征提取為蛇模型。改變

的符號(hào)可以將蛇模變成較亮的特征。邊緣能量

利用邊緣檢測(cè)算子來(lái)計(jì)算,比如Sobel邊緣檢測(cè)算子輸出的強(qiáng)度。端點(diǎn)能量包括層次圖像輪廊的曲率,但是很少用到。最常用的是邊緣能量。11.2彈性形狀模型分析形狀的方法主要關(guān)注的是圖像數(shù)據(jù)的匹配。通常關(guān)注一個(gè)模型(即一個(gè)可以變形的模板或可以演變的形狀)與單幅圖像之間的匹配。主動(dòng)輪廓是彈性的,但其演變實(shí)質(zhì)上受局部曲率或邊緣強(qiáng)度等局部特性的限制。那些泛函所賦予的參數(shù)值或可能范圍可以通過學(xué)習(xí)所應(yīng)用的同類圖像數(shù)據(jù)庫(kù)進(jìn)行多方面測(cè)試,或根據(jù)經(jīng)驗(yàn)進(jìn)行選取。一個(gè)與此完全不同的方法是,考慮圖像庫(kù)中是否包含該形狀的所有可能變化,比如外觀或姿勢(shì),圖像庫(kù)可以形成一個(gè)該形狀可能變化的模型。因此,如果把該模型作為一個(gè)整體約束條件,同時(shí)引導(dǎo)與最可能形狀的匹配,那么可以得到一個(gè)可變形方法,通過對(duì)形狀的可能變化進(jìn)行統(tǒng)計(jì)來(lái)實(shí)現(xiàn)。上述方法稱為彈性模板,利用從訓(xùn)練數(shù)據(jù)樣例形成的整體形狀約束。11.2彈性形狀模型其中的主要新方法稱為主動(dòng)形狀建模。該方法實(shí)質(zhì)上是由點(diǎn)組成的形狀模型:這些點(diǎn)的變化稱為點(diǎn)分布模型。所選地標(biāo)點(diǎn)在訓(xùn)練圖像中進(jìn)行標(biāo)記,這組訓(xùn)練圖像旨在得到形狀的所有可能變化。每個(gè)點(diǎn)描述邊界上的一個(gè)特定點(diǎn),因此其順序在標(biāo)記過程中非常重要。這些樣點(diǎn)的選擇包括曲率高的位置(如眼睛角點(diǎn))或弧長(zhǎng)頂點(diǎn),這樣的地方對(duì)比度比較高(如眼瞼上方)。對(duì)這些點(diǎn)的位置所產(chǎn)生的形狀變化進(jìn)行統(tǒng)計(jì),可以描述形狀的外觀。實(shí)例應(yīng)用包括在圖像中找出人臉(如:自動(dòng)人臉識(shí)別中的人臉檢測(cè))。臉部可以獲得不同模型的唯一部位是虹膜上的圓圈,除非分辨率非常高,否則該部位區(qū)域非常小。臉部的其余部分由一些未知的形狀組成,而這些形狀隨臉部表情的變化而變化。由此可見,由于我們得到一組形狀和一個(gè)固定的相互關(guān)系,它們非常適合于將形狀與分布結(jié)合在一起的方法,不過有些細(xì)節(jié)可能發(fā)生變化。這些細(xì)節(jié)變化正是主動(dòng)形狀模型所要得到的。11.2彈性形狀模型如果選擇的點(diǎn)非常多而且要用到很多訓(xùn)練圖像,那么這樣處理數(shù)據(jù)量非常大,即將有大量的點(diǎn)要處理,主成分分析可以將數(shù)據(jù)壓縮成最重要項(xiàng)。主成分分析是一個(gè)非常成熟的數(shù)學(xué)工具。實(shí)質(zhì)上,它對(duì)坐標(biāo)系進(jìn)行了旋轉(zhuǎn)以便得到最大辨別能力:如果從兩個(gè)不同的點(diǎn)觀察一個(gè)事物,或許無(wú)法看到,但是如果從其中一個(gè)點(diǎn)進(jìn)行觀察,則可以看得非常清楚。此處要做的是:旋轉(zhuǎn)坐標(biāo)系以便從一堆雜亂的數(shù)據(jù)找出最重要的變化。已知N個(gè)訓(xùn)練樣本的集合,每個(gè)樣本為n個(gè)點(diǎn)的集合,對(duì)于第i個(gè)訓(xùn)練樣本xi,有(11-5)11.2彈性形狀模型式中,xki表示第i個(gè)訓(xùn)練樣本中的第k個(gè)變量。如果將其應(yīng)用于形狀,每個(gè)元素取每個(gè)點(diǎn)的兩個(gè)坐標(biāo)。然后,對(duì)整個(gè)訓(xùn)練樣本集合計(jì)算平均值,如式(11-6)所示。(11-6)于是根據(jù)平均值計(jì)算每個(gè)樣本的偏差(11-7)這個(gè)差值說(shuō)明每個(gè)樣本與某點(diǎn)均值的距離。

協(xié)方差矩陣S表示所有差值與均值之間的距離,如式(11-8)所示。(11-8)11.2彈性形狀模型該協(xié)方差矩陣的主成分分許顯示這些樣本數(shù)量,即其形狀可能發(fā)生多少變化。事實(shí)上,形狀的任何一個(gè)樣例都可以近似為(11-9)式中,

表示第t個(gè)特征矢量矩陣,

表示相對(duì)應(yīng)的權(quán)值失量,其中每個(gè)權(quán)值控制一個(gè)特征矢量的貢獻(xiàn)。w的不同值給出不同的模型或形狀。如假設(shè)這些變化在一個(gè)設(shè)定的范圍內(nèi),新的模型或形狀將與基礎(chǔ)(平均)形狀類似。這是因?yàn)樽兓J绞怯桑▎挝唬┨卣魇噶縼?lái)表示的,如(11-10)式中,表示特征值,特征矢量具有正交性,因而(11-11)11.2彈性形狀模型而且這些特征值是有序的,因而

。式中,最大特征值對(duì)應(yīng)數(shù)據(jù)中的最重要變化模式。訓(xùn)練數(shù)據(jù)中的變化部分對(duì)應(yīng)每個(gè)特征矢量,與相應(yīng)的特征值成正比。由此可見,一組數(shù)量有限的特征值和特征矢量可以用來(lái)包括大部分?jǐn)?shù)據(jù)。其余特征值和特征矢量對(duì)應(yīng)數(shù)據(jù)中那些幾乎不出現(xiàn)的變化模式(如高頻率部分對(duì)圖像的貢獻(xiàn),主要根據(jù)低頻率分量對(duì)圖像進(jìn)行重構(gòu),同圖像編碼)。需要注意的是,為了對(duì)應(yīng)用于新形狀的訓(xùn)練集中貼有地標(biāo)標(biāo)記的點(diǎn)的統(tǒng)計(jì)進(jìn)行檢查,需要對(duì)這些點(diǎn)進(jìn)行排序,從而得到確定的程序。11.2彈性形狀模型應(yīng)用過程(如找出被建模形狀的實(shí)例)是利用迭代方法使模型和圖像中相匹配點(diǎn)不斷增多。這可以通過檢測(cè)模型點(diǎn)周圍區(qū)域以確定最佳近鄰匹配來(lái)實(shí)現(xiàn)。該方法對(duì)數(shù)據(jù)的最佳擬合模型計(jì)算適當(dāng)?shù)钠揭?、縮放、旋轉(zhuǎn)和特征矢量。不斷重復(fù)以上處理直到模型對(duì)數(shù)據(jù)收斂,這時(shí)參數(shù)幾乎沒有變化。由于只改變形狀以便更好地?cái)M合數(shù)據(jù),并且形狀受所期望的形狀外觀控制,所以這種模型被稱為主動(dòng)形狀模型。將主動(dòng)形狀模型應(yīng)用于找出臉部特征。該方法可以利用由粗到細(xì)的方式進(jìn)行處理,即以低分辨率開始處理(使其快速進(jìn)行),逐漸提高分辨率直到處理結(jié)果沒有改進(jìn),即最終收斂。很顯然,這樣的方法不受特殊情形或背景中的其他特征所誤導(dǎo)。它可以用來(lái)注冊(cè)(自動(dòng)找出人臉)或自動(dòng)人臉識(shí)別(找出或描述人臉的特征)。該方法無(wú)法處理太粗劣的初始化,其初始位置并不需要非??拷四槨?1.2彈性形狀模型主動(dòng)形狀模型(ActiveShapeModel,ASM)已經(jīng)應(yīng)用于人險(xiǎn)識(shí)別、醫(yī)學(xué)圖像分析,以及工業(yè)檢查。相似理論被用來(lái)開發(fā)一種與紋理相關(guān)的新方法,稱為主動(dòng)外觀模型(ActiveAppearancemodel,AAM)。主動(dòng)外觀模型也是將形狀表示為一組地標(biāo)點(diǎn),并利用一組訓(xùn)練數(shù)據(jù)確定形狀變化的可能范圍。一個(gè)主要區(qū)別在于AAM顯然包括紋理,并通過重復(fù)搜索處理對(duì)紋理進(jìn)行匹配來(lái)更新模型參數(shù),使地標(biāo)點(diǎn)向圖像點(diǎn)靠近。ASM和AAM的實(shí)質(zhì)區(qū)別包括:●ASM利用的是點(diǎn)局部的紋理信息,而AAM利用的是整個(gè)區(qū)域的紋理信息。●ASM想要得到模型點(diǎn)與相應(yīng)圖像點(diǎn)之間的最小距離,而AAM想要得到合成模型與目標(biāo)圖像之間的最小距離?!馎SM在當(dāng)前點(diǎn)附近,尤其在垂直于邊界的輪廓上進(jìn)行搜索,而AAM只考慮當(dāng)前位置的圖像。11.2彈性形狀模型研究表明,雖然ASM比AAM實(shí)現(xiàn)更快,但是AAM需要的地標(biāo)點(diǎn)更少,而且收斂得到更好的效果,尤其以紋理的形式。我們期待彈性形狀建模方面的這些方法得到進(jìn)一步的發(fā)展。近來(lái)的研究關(guān)注的是處理遮擋的能力,改變?nèi)S(3D)朝向或姿勢(shì)時(shí)都會(huì)出現(xiàn)遮擋。11.3.1高斯混合模型分布特征如果一個(gè)類中的模式分布在不同的聚類中,通過一個(gè)高斯模型去近似類條件分布是不合適的。比如說(shuō),圖11-1a所示的情形,通過一個(gè)高斯模型去近似單峰模型分布,其結(jié)果是準(zhǔn)確的估計(jì)。但是如圖11-1b所示,如果用一個(gè)高斯模型去近似多峰模型分布,即使在訓(xùn)練樣本足夠多的情況下,其表現(xiàn)依舊會(huì)很差。定義高斯混合模型為:(11-12)高斯混合模型很適合這樣的多峰模型分布。這里,

表示一個(gè)期望為

和方差協(xié)方差矩陣為

的高斯模型:(11-13)11.3.1高斯混合模型分布特征圖11-1高斯模型的極大似然估計(jì)11.3.1高斯混合模型分布特征所以,高斯混合模型是m個(gè)高斯模型根據(jù)

加權(quán)線性組合而成。高斯混合模型的參數(shù)為:

高斯混合模型

如果要成為一個(gè)概率密度函數(shù),就應(yīng)該滿足下面的條件:

同時(shí)

需要滿足:(11-14)如圖11-2所示的高斯混合模型的例子,通過多個(gè)高斯模型的線性組合,高斯混合模型能夠表示一個(gè)多峰模型分布。11.3.1高斯混合模型分布特征 a)每個(gè)高斯分量b)高斯混合模型圖11-2高斯混合模型11.3.1高斯混合模型分布特征mu=[12;-3-5];sigma=cat(3,[20;0.5],[10;01]);p=ones(1,2)/2;obj=gmdistribution(mu,sigma,p);ezsurf(@(x,y)pdf(obj,[xy]),[-1010],[-1010])

#Python調(diào)用MATLAB的m文件,高斯混合模型importmatlabimportmatlab.engine#importnumpyasnpeng=matlab.engine.start_matlab()eng.gmdistribution(nargout=0)input()#使圖像保持

圖11-3高斯混合模型的Python和Matla程序11.3.1高斯混合模型分布特征圖11-4高斯混合模型三維圖11.3.2高斯混合模型的參數(shù)極大似然估計(jì)高斯混合模型的參數(shù)可以用極大似然進(jìn)行估計(jì),似然公式為:(11-15)并且極大似然估計(jì)找到使其最大化的參數(shù)。當(dāng)上述高斯混合模型的似然被最大化時(shí),應(yīng)該滿足等式(11-16)的約束:(11-16)由于以上約束,的最大值不能通過簡(jiǎn)單的對(duì)似然求導(dǎo)并令導(dǎo)數(shù)等于0來(lái)得到。這里

被重新參數(shù)化為:(11-17)11.3.2高斯混合模型的參數(shù)極大似然估計(jì)其中

自動(dòng)滿足等式(11-14)的約束,它可以被學(xué)習(xí)得到。對(duì)于

最大似然解滿足下面似然等式:(11-18)其中:表示d-維零向量,

表示d*d零矩陣。把等式(11-17)代入等式(11-15)中,對(duì)數(shù)似然被表示為:(11-19)11.3.2高斯混合模型的參數(shù)極大似然估計(jì)對(duì)上述的對(duì)數(shù)似然求關(guān)于

的偏導(dǎo),得:(11-20)其中

被定義為

11.3.2高斯混合模型的參數(shù)極大似然估計(jì)同理,對(duì)上述的對(duì)數(shù)似然求關(guān)于

的偏導(dǎo),可得:(11-21)(11-22)11.3.2高斯混合模型的參數(shù)極大似然估計(jì)令上述導(dǎo)數(shù)為零,最大似然解

,和滿足(11-23)11.3.2高斯混合模型的參數(shù)極大似然估計(jì)其中

是樣本

的第組成部分的決定因素(responsibility):

(11-24)上述似然等式中的變量用很混亂和復(fù)雜的方式被定義和使用,目前還沒有比較有效的方法能解決這個(gè)問題。下面,介紹了兩種方法來(lái)找到數(shù)值解:一個(gè)是梯度方法,一個(gè)是算法。11.3.3隨機(jī)梯度算法梯度方法是一種比較通用和簡(jiǎn)單的優(yōu)化方法,如圖11-5所示,它通過不停的迭代更新參數(shù)的方法來(lái)使得目標(biāo)函數(shù)的梯度升高或者降低(在最小化的情況下)。如圖11-6所示,詳細(xì)描述了梯度上升算法執(zhí)行過程。在寬松的假設(shè)條件下,梯度上升的解能保證是局部最優(yōu)的,就好比一個(gè)局部山峰的峰頂,任何局部參數(shù)的更新,目標(biāo)值也不會(huì)增加。梯度方法的一種隨機(jī)變種是,隨機(jī)選擇一個(gè)樣本,然后根據(jù)這個(gè)被選擇的樣本更新參數(shù)來(lái)上升梯度。這種隨機(jī)方法被稱作隨機(jī)梯度算法,該算法也能找到局部最優(yōu)解。注意(隨機(jī))梯度方法不僅要給出全局最優(yōu)解而且還要給出一個(gè)局部最優(yōu)解,如圖11-5所示。此外,算法的性能依賴于步長(zhǎng)的選擇,且步長(zhǎng)的大小在實(shí)際使用中很難選擇。如果步長(zhǎng)設(shè)置較大,那么梯度在剛開始的時(shí)候上升很快,但是可能會(huì)翻過最高點(diǎn),如圖11-7a所示。另一方面,如果步長(zhǎng)設(shè)置減少,那么雖然能夠找到最高點(diǎn),但是在剛開始11.3.3隨機(jī)梯度算法的時(shí)候梯度上升的速度會(huì)很慢,如圖11-7b所示。為了克服這個(gè)問題,我們開始把步長(zhǎng)設(shè)置較大,隨后慢慢減少步長(zhǎng),這是比較有效果的,這就是模擬退火。但是,在實(shí)際使用的時(shí)候,初始步長(zhǎng)的選擇和步長(zhǎng)的下降因子是不能直接確定的。為了減輕只能找到一個(gè)局部最優(yōu)解的問題,實(shí)際上,設(shè)置不同的初始值多次運(yùn)行梯度算法,根據(jù)最好的解來(lái)選擇一個(gè)初始值是很有用的。圖11-5梯度下降原理圖11.3.3隨機(jī)梯度算法圖11-6梯度下降法給解

以適當(dāng)?shù)某踔怠?duì)于選定的初值,計(jì)算出對(duì)數(shù)似然

的梯度:3.采用梯度上升的方式,對(duì)參數(shù)進(jìn)行更新:4.重復(fù)上述

步計(jì)算,直到解

達(dá)到收斂精度為止。11.3.3隨機(jī)梯度算法 a)太大 b)太小圖11-7梯度下降過程步長(zhǎng)設(shè)置11.3.4EM算法在梯度方法中調(diào)整步長(zhǎng)的困難能夠被算法克服.算法是在當(dāng)輸入僅僅部分可觀察的情況下為了得到極大似然估計(jì)解而發(fā)展出來(lái)的。高斯混合模型的極大似然估計(jì)實(shí)際上也能被視為從不完全的數(shù)據(jù)中學(xué)習(xí)而來(lái),并且EM算法能給出一種有效的方式來(lái)得到一個(gè)局部最優(yōu)解。如圖11-8描述的一樣,EM算法是由E步和M步兩部分組成。11.3.4EM算法對(duì)參數(shù)

進(jìn)行初始化。

步:根據(jù)當(dāng)前的參數(shù)

,可以計(jì)算出后驗(yàn)概率

步:從當(dāng)前的后驗(yàn)概率

,對(duì)參數(shù)

進(jìn)行更新:重復(fù)上述2-3步的計(jì)算。

圖11-8EM算法11.3.4EM算法

E步和M步解釋如下:

E步:當(dāng)解為時(shí),似然

的下界的等號(hào)能被取得:(11-25)注意:下界

需要通過不可觀察的變量來(lái)計(jì)算期望得到,這也是為什么把這一步叫做(expectation)步。

M步:使下界

最大的可得:(11-26)如圖11-9所示,通過E步和M步的迭代,對(duì)數(shù)似然的值增加了(準(zhǔn)確說(shuō)是對(duì)數(shù)似然是單調(diào)不減的)。11.3.4EM算法E步的下界是基于

不等式得到的:對(duì)于

,有(11-27)對(duì)于m=2,如圖11-10所示,通過對(duì)數(shù)函數(shù)的凸性,我們可以很直觀的理解式(11-27),

不等式被簡(jiǎn)化為:(11-28)11.3.4EM算法11.3.4EM算法對(duì)數(shù)似然

可以使用式(11-24)

來(lái)表達(dá):(11-29)把公式(11-29)中的

不等式(11-27)聯(lián)系起來(lái),對(duì)數(shù)似然

的下界

可以表示為:(11-30)11.3.4EM算法當(dāng)

時(shí),式(11-30)等號(hào)成立,由式(11-24)得下界

為:(11-31)使下界

最大的在M步中應(yīng)該滿足:(11-32)11.3.4EM算法根據(jù)最大

可得:

(11-33)上述解釋說(shuō)明對(duì)數(shù)似然通過E步和M步迭代的時(shí)候是單調(diào)不減的。此外,EM算法被證明是可以找到一個(gè)局部最優(yōu)解的。11.4.1基于高斯混合模型的背景建模為了快速和準(zhǔn)確地提取背景,當(dāng)圖像中人物的衣服與背景類似、陰影的效果與fragmentary形態(tài)等檢測(cè)時(shí)所出現(xiàn)的現(xiàn)象。通過對(duì)一系列圖像進(jìn)行處理來(lái)估計(jì)背景圖像,即對(duì)每一幅新圖像更新得到一個(gè)估計(jì),如式(11-34)所示。(11-34)假定

,α為學(xué)習(xí)因子(

)。通過這種方式,一部分新圖像被添加到背景圖像中。這樣,只需要恢復(fù)單一的背景圖像。通過這個(gè)過程,他們走入或者走出,都會(huì)被檢測(cè)到。但如果一個(gè)人準(zhǔn)備走進(jìn)一個(gè)場(chǎng)景然后停下來(lái),他們將不會(huì)被檢測(cè)到(學(xué)習(xí)因子所指的時(shí)刻),因?yàn)楫?dāng)他們停止時(shí),將變?yōu)楸尘暗囊徊糠?。因此,?shí)際上人物確實(shí)有可能與背景混合。當(dāng)新的物體出現(xiàn)在圖像中時(shí),它們可以被標(biāo)記為背景(這種情況下它們被添加到背景圖像中)或者前景(此時(shí),對(duì)背景圖像沒有貢獻(xiàn))。使用高斯混合模型對(duì)背景進(jìn)行建模,將運(yùn)動(dòng)對(duì)象從背景中分離出來(lái)11.4.1基于高斯混合模型的背景建模將背景建模為一個(gè)系統(tǒng)時(shí),每個(gè)像素均有一個(gè)概率分布。許多運(yùn)動(dòng)的圖像,因?yàn)橛泻芏嘁恢碌谋尘?,其概率分布?huì)出現(xiàn)峰值,背景模型將會(huì)出現(xiàn)多個(gè)因子。因此,我們可以將其建模為混合概率分布。如圖11-13所示,圖11-13(a)是單一的高斯分布的情況,圖11-13(b)顯示了3個(gè)高斯分布(點(diǎn)線),概率分布是它們加在一起(實(shí)線)。很明顯,由多個(gè)分布得到的分布具有更好的建模復(fù)雜背景的能力。11.4.1基于高斯混合模型的背景建模(a)單一的(高斯)分布

(b)多個(gè)分布圖11-13高斯和混合高斯分布11.4.1基于高斯混合模型的背景建模單變量x的中心高斯分布g是均值和標(biāo)準(zhǔn)偏差的函數(shù):(11-35)對(duì)于d維,多元高斯分布(multi-variateGaussiandistribution)G標(biāo)記為(11-36)其中,為一般矩陣,d是多維x中變量的數(shù)目,是變量的均值,是d*d的協(xié)方差矩陣。給定一個(gè)假設(shè):協(xié)方差矩陣縮減為一個(gè)對(duì)角陣(假設(shè)變量獨(dú)立,那些反映相關(guān)性的反對(duì)角線元素為0),此時(shí)多元高斯模型簡(jiǎn)化為11.4.1基于高斯混合模型的背景建模(11-37)將k個(gè)高斯多元分布加起來(lái)為(11-38)其中,

是第j個(gè)分布的權(quán)值或者重要度。如果像素與任何的背景分布匹配,那么認(rèn)為它是背景像素。背景模型是從B分布形成的,它按照排序滿足:(11-39)其中,閾值T的值控制背景模型的分布數(shù)量。減少T值則增加分布能夠形成部分背景模型的機(jī)會(huì)。11.4.1基于高斯混合模型的背景建模通過使用權(quán)值與方差的比率(

),將分布進(jìn)行排序。選擇具有高權(quán)值和小方差的分布。如果像素與前景分布匹配,或者不與背景分布匹配,則認(rèn)為該像素是一個(gè)前景像素,屬于運(yùn)動(dòng)目標(biāo)。對(duì)于權(quán)值

,首先它們被設(shè)置為一個(gè)低的值,而每個(gè)分布的方差

則設(shè)置為一個(gè)大的值。然后,進(jìn)行像素比較,并且在第一次迭代時(shí)像素不與任何分布匹配,因此變?yōu)橐粋€(gè)新的分布。在第二次和后續(xù)的迭代時(shí),更新第k個(gè)分布的權(quán)值(其中,

是它的先前的值)為(11-40)11.4.1基于高斯混合模型的背景建模其中,α控制學(xué)習(xí)率,即該方法適應(yīng)背景數(shù)據(jù)變化的速度。對(duì)于匹配的分布,

。對(duì)于其余的分布,

。在該過程后,權(quán)值被歸一化。然后,對(duì)于匹配的分布,更新均值

和方差

的值為(11-41)(11-42)其中(11-43)式(11-39)-式(11-43)中參數(shù)和T性能分析。首先,學(xué)習(xí)率α,它控制適應(yīng)背景時(shí)迭代的次數(shù)。其次,閾值T,

,并且T值越大,它對(duì)于多模背景的適應(yīng)能力越強(qiáng)。最后,每個(gè)混合的高斯分布的數(shù)量,以及選擇的初始方差值。很自然地,高斯分布的個(gè)數(shù)少,對(duì)于計(jì)算量來(lái)說(shuō)具有吸引力。11.4.1基于高斯混合模型的背景建模但是,復(fù)雜的背景需要較多的高斯分布個(gè)數(shù)。如果初始方差過大,當(dāng)運(yùn)動(dòng)對(duì)象的顏色與背景類似時(shí),這會(huì)增加它被標(biāo)記為背景的機(jī)會(huì)。直到方差的估計(jì)收斂時(shí)。并且,方差值大,它要求更多的迭代。考慮到這種方法受到歡迎,自然出現(xiàn)了一些方法,對(duì)它的性能進(jìn)行改進(jìn)。一種明顯的變化是采用不同的顏色空間:使用色調(diào)、飽和度、值/強(qiáng)度(HIS/HSV),而不是RGB顏色模型,受陰影的影響較小。11.4.2基于核函數(shù)的跟蹤背景建??梢院?jiǎn)化物體跟蹤,如果不需要對(duì)背景做任何特殊處理,將會(huì)更有價(jià)值。由于現(xiàn)在的視頻序列的幀率都很高,所以都能滿足相鄰兩幀間變化很小。在滿足了這個(gè)要求的基礎(chǔ)上,可以完成基于梯度的物體定位和跟蹤?;诤撕瘮?shù)的跟蹤是一種非常高效的實(shí)時(shí)跟蹤方法,該方法基于如下過程:使用一個(gè)各向同性核函數(shù)來(lái)對(duì)物體在空間上施加一個(gè)掩膜,然后施加一個(gè)平滑相似函數(shù),這樣就將跟蹤問題簡(jiǎn)化為在其前一幀的臨近位置搜索最大相似度的問題,以下為基于核函數(shù)的物體跟蹤。11.4.2基于核函數(shù)的跟蹤首先,必須事先確定想要跟蹤的目標(biāo)特性,比如,從圖像數(shù)據(jù)中估計(jì)出一個(gè)概率密度函數(shù)q。對(duì)于真實(shí)環(huán)境下的視頻跟蹤,一般情況都是彩色的,所以通常利用顏置于局部坐標(biāo)系的中心,然后當(dāng)前幀的目標(biāo)候選置于y處。目標(biāo)候選的特征描述可以使用一個(gè)概率密度函數(shù)

來(lái)刻畫,它是從當(dāng)前圖像幀數(shù)據(jù)中估計(jì)出來(lái)的。為了使計(jì)算更高效,采用離散化的概率密函數(shù),用m個(gè)區(qū)間的直方圖表示。因此,目標(biāo)模型

和目標(biāo)候選

概率密度函數(shù)定義如下:(11-44)(11-45)11.4.2基于核函數(shù)的跟蹤其中

;是和之間的相似度函數(shù)(11-46)對(duì)于一個(gè)跟蹤任務(wù),相似度函數(shù)與在前一幀已經(jīng)確定了位置的目標(biāo)出現(xiàn)在當(dāng)前幀的位置y處的可能性相符。因此,對(duì)于待分析的幀序列,

的局部最優(yōu)值就對(duì)應(yīng)著目標(biāo)在當(dāng)前幀出現(xiàn)的位置。目標(biāo)模型(targetmodel)從一個(gè)橢圓形的區(qū)域中導(dǎo)出,這個(gè)橢圓形區(qū)域首先被規(guī)范化到一個(gè)單位圓中來(lái)去除目標(biāo)尺度的影響,包括n個(gè)像素的目標(biāo)區(qū)域由規(guī)范化后的像素坐標(biāo)表示;規(guī)范化使用單位圓的中心作為原點(diǎn)。然后使用一個(gè)單調(diào)遞減的凸核函數(shù)K和一個(gè)輪廓函數(shù)k(x)來(lái)記錄目標(biāo)區(qū)域

滿足

(11-47)11.4.2基于核函數(shù)的跟蹤C(jī)omaniciu等人推薦使用Epanechnikov核函數(shù)。在處的每一個(gè)目標(biāo)模型像素必須與其在量化后的特征空間上的一個(gè)索引

相關(guān)聯(lián),其索引函數(shù)是

。特征

的概率通過如下方式計(jì)算(11-48)其中是Kroneckerdelta函數(shù)(

for ;

其他),C是一個(gè)規(guī)范化常量(11-49)11.4.2基于核函數(shù)的跟蹤在當(dāng)前幀以y為中心的目標(biāo)候選(targetcandidate)用規(guī)范化的像素位置集合

來(lái)表示,其中h表示具有與目標(biāo)模型相同輪廊函數(shù)k(x)的核函數(shù)K的帶寬。規(guī)范化過程是從包含目標(biāo)模型的幀中繼承來(lái)的。帶寬定義了目標(biāo)候選的尺度,因此也決定了當(dāng)前幀在定位過程中需要分析的像素?cái)?shù)目。特征

的概率

是(11-50)其中規(guī)范化常量為(11-51)11.4.2基于核函數(shù)的跟蹤由于Ch不依賴于y,所以對(duì)于給定的核函數(shù)和帶寬,它可以被事先計(jì)算出來(lái)。式(11-46)的相似度函數(shù)繼承了所用核函數(shù)K的特性。選用一個(gè)平滑可微的核函數(shù)并利用爬山法來(lái)優(yōu)化相似度函數(shù)。很明顯,相似度函數(shù)是對(duì)目標(biāo)和每個(gè)候選之間距離的一個(gè)度量指標(biāo)。這兩個(gè)分布之間的距離

可以通過巴氏(Bhattacharyya)系數(shù)評(píng)估p和q之間的相似度來(lái)估計(jì)(11-52)其中(11-53)11.4.2基于核函數(shù)的跟蹤為了在當(dāng)前幀找到目標(biāo)最可能的位置,將式(11-52)的距離最小化,并且將式(11-53)的巴氏系數(shù)最大化。這個(gè)優(yōu)化過程從目標(biāo)在前一幀的位置出發(fā),然后使用基于梯度的均值移位方法。當(dāng)前幀中每一個(gè)獨(dú)立跟蹤步驟從目標(biāo)模型在前一幀確定的位置y0處開始。模型本身是從跟蹤序列的初始幀估計(jì)出來(lái)的。由于隨著時(shí)間可能會(huì)發(fā)生變化,必須有一個(gè)可以更新的目標(biāo)模型機(jī)制。為了初始化每一個(gè)跟蹤過程,需要計(jì)算y0處于

處目標(biāo)候選

的概率。在

附近的泰勒展開可以用式(11-54)近似。(11-54)11.4.2基于核函數(shù)的跟蹤只要后續(xù)序列中目標(biāo)候選

在初始

處不劇烈變化,上面就可以得到一個(gè)合理且緊湊的近似結(jié)果。注意

(或者大于一個(gè)小數(shù))這個(gè)要求除了一些不符合的特征外,對(duì)于所有的

都是可以的。跟蹤過程根據(jù)式(11-50)優(yōu)化目標(biāo)候選的位置。通過使用式(11-54),必須最大化式(11-55)右邊的第二項(xiàng),因?yàn)榈谝豁?xiàng)和y無(wú)關(guān)。

(11-55)其中(11-56)11.4.2基于核函數(shù)的跟蹤最大化第二項(xiàng)反映了在當(dāng)前幀y處由核輪廓函數(shù)k(x)計(jì)算的作為權(quán)重的密度估計(jì)。使用式(11-57)均值移位過程可以以迭代的方式從

處開始找到最大值的位置。(11-57)其中

除了有限個(gè)點(diǎn)外均可微。11.4.2基于核函數(shù)的跟蹤11.4.2基于核函數(shù)的跟蹤11.4.2基于核函數(shù)的跟蹤11.4.2基于核函數(shù)的跟蹤11.5.1運(yùn)動(dòng)形狀描述11.5.1運(yùn)動(dòng)形狀描述11.5.1運(yùn)動(dòng)形狀描述在行為識(shí)別領(lǐng)域,有相當(dāng)多的(持續(xù)的)研究,并且伴隨著標(biāo)準(zhǔn)數(shù)據(jù)集及評(píng)價(jià)標(biāo)準(zhǔn)。在運(yùn)動(dòng)分析與識(shí)別中,從圖像序列中恢復(fù)人的姿態(tài)與運(yùn)動(dòng)可以被視為復(fù)原/跟蹤問題。其中,行為的識(shí)別是一個(gè)分類問題。在人運(yùn)動(dòng)的全局表示中,行為被描述為一個(gè)整體,并且通過背景減/跟蹤方法得到。另一種方法是使用局部特征,它通常采用學(xué)習(xí)的方法。通過使用的數(shù)據(jù),行為通常被預(yù)先分割,盡管行為檢測(cè)有一些應(yīng)急的方法。因此,這些方法很少關(guān)注計(jì)算機(jī)視覺中的特征提取與描述,本節(jié)將就此展開闡述。我們應(yīng)該通過將特征提取技術(shù)擴(kuò)展應(yīng)用到圖像序列,并考慮那些致力于從圖像序列中分割和描述運(yùn)動(dòng)對(duì)象的方法。11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)11.5.2運(yùn)動(dòng)形狀檢測(cè)思考與練習(xí)11-1主動(dòng)輪廓模型包含哪幾部分?各部分怎樣計(jì)算?11-2編程實(shí)現(xiàn)圖11-2的Python程序。11-3試說(shuō)明隨機(jī)梯度算法和EM算法的工作過程,并說(shuō)明他們之間的優(yōu)缺點(diǎn)?11-4試說(shuō)明基于核函數(shù)算法跟蹤的工作過程。第12章聚類分析12.1K-Means聚類 12.1.1目標(biāo)函數(shù) 12.1.2K-Means聚類算法流程 12.1.3K-Means聚類模塊庫(kù)代碼 12.1.4Python中基于OpenCV的K-Means聚類12.2FCM聚類 12.2.1FCM聚類目標(biāo)函數(shù) 12.2.2FCM聚類算法 12.2.3基于Python與OpenCV的FCM聚類12.3SCM聚類 12.3.1

SCM聚類算法 12.3.2SCM聚類工業(yè)應(yīng)用第12章聚類分析

聚類分析是一種無(wú)監(jiān)督學(xué)習(xí),用于對(duì)未知類別的樣本進(jìn)行劃分,將他們按照一定的規(guī)則劃分成若干個(gè)類簇,把相似的樣本聚集在同一個(gè)類簇中。與有監(jiān)督的分類算法不同,聚類算法沒有訓(xùn)練過程,直接完成對(duì)一組樣本的劃分。常用的聚類方法有K-Means聚類、FCM(Fuzzyc-Means)聚類和SCM(SubtractiveClusteringMethod)聚類。

12.1K-Means聚類

K-Means聚類算法由Steinhaus(1955年)、Lloyd(1957年)、Ball&Hall(1965年)、McQueen(1967年)分別在各自不同的領(lǐng)域內(nèi)獨(dú)立提出的。盡管K-Means聚類算法被提出有50多年了,但仍是目前應(yīng)用最廣泛的聚類算法之一。12.1.1目標(biāo)函數(shù)

對(duì)于給定的

維數(shù)據(jù)點(diǎn)的數(shù)據(jù)集

,其中

,數(shù)據(jù)子集的數(shù)目是K,K-Means聚類將數(shù)據(jù)對(duì)象分為K個(gè)劃分,具體劃分為

。每個(gè)劃分代表一個(gè)類

,每個(gè)類

的中心為

。取歐氏距離作為相似性和距離判斷的準(zhǔn)則,計(jì)算該類各個(gè)點(diǎn)到聚類中心

的距離平方和。

(11-1)

(11-2)

聚類的目標(biāo)是使各類總的距離平方和

最小。12.1.1目標(biāo)函數(shù)

其中:

K-Means聚類算法從一個(gè)初始的K類別劃分開始,然后將各數(shù)據(jù)點(diǎn)指派到各個(gè)類別中,以減少總的距離平方和。由于K-Means聚類算法中總的距離平方和隨著類別的個(gè)數(shù)K的增加而趨向于減小,當(dāng)時(shí)

,

。因此,總的距離平方和只能在某個(gè)確定的類別個(gè)數(shù)K下取得最小值。12.1.2K-Means聚類算法流程

K-Means聚類算法的核心思想是把n個(gè)數(shù)據(jù)對(duì)象劃分為k個(gè)聚類,使每個(gè)聚類中的數(shù)據(jù)點(diǎn)到該聚類中心的平方和最小。輸入聚類個(gè)數(shù)k,數(shù)據(jù)集中的數(shù)據(jù)對(duì)象的個(gè)數(shù)n。算法如下所示。⑴從n個(gè)數(shù)據(jù)對(duì)象中任意選取k個(gè)對(duì)象作為初始的聚類中心種子點(diǎn);⑵分別計(jì)算每個(gè)對(duì)象到各個(gè)聚類中心的距離,把對(duì)象分配到距離最近的聚類中心種子群;⑶所有對(duì)象分配完成后,重新計(jì)算k個(gè)聚類的中心;⑷重復(fù)上述步驟(2)至步驟(3)的過程,本周期計(jì)算的結(jié)果與上一周期計(jì)算得到的各個(gè)聚類中心比較,如果聚類中心發(fā)生變化,轉(zhuǎn)至步驟(2),否則轉(zhuǎn)至步驟(5);⑸輸出聚類中心結(jié)果。12.1.3K-Means聚類模塊庫(kù)代碼K-Means聚類在機(jī)器學(xué)習(xí)庫(kù)Scikit-learn中,相應(yīng)的函數(shù)sklearn.cluster.KMeans。sklearn.cluster.KMeans(n_clusters=8,

init='k-means++',

n_init=10,

max_iter=300,

tol=0.0001,

precompute_distances='auto',

verbose=0,

random_state=None,

copy_x=True,

n_jobs=1,

algorithm='auto')12.1.3K-Means聚類模塊庫(kù)代碼sklearn.cluster.KMeans參數(shù)的意義:n_clusters:分類簇的個(gè)數(shù);init:初始簇中心的獲取方法;n_init:獲取初始簇中心的更迭次數(shù),為了彌補(bǔ)初始質(zhì)心的影響,算法默認(rèn)會(huì)初始10次質(zhì)心,實(shí)現(xiàn)算法,然后返回最好的結(jié)果;max_iter:最大迭代次數(shù)(因?yàn)閗means算法的實(shí)現(xiàn)需要迭代);tol:算法收斂的閾值,即kmeans運(yùn)行準(zhǔn)則收斂的條件;precompute_distances:有3種選擇{‘a(chǎn)uto’、‘True’、‘False’},是否需要提前計(jì)算距離,這個(gè)參數(shù)會(huì)在空間和時(shí)間之間做權(quán)衡。如果選擇True,預(yù)12.1.3K-Means聚類模塊庫(kù)代碼計(jì)算距離,會(huì)把整個(gè)距離矩陣都放到內(nèi)存中;選擇auto,在數(shù)據(jù)維度f(wàn)eaturs*samples的數(shù)量大于12×106時(shí)不預(yù)計(jì)算距離;如果選擇False,不預(yù)計(jì)算距離。verbose:默認(rèn)是0,不輸出日志信息,值越大,打印的細(xì)節(jié)越多;random_state:隨機(jī)生成簇中心的狀態(tài)條件,一般默認(rèn)即可(隨機(jī)種子);copy_x:布爾值,標(biāo)記是否修改數(shù)據(jù),主要用于precompute_distances=True的情況。如果True,預(yù)計(jì)算距離,不修改原來(lái)的數(shù)據(jù);如果False,預(yù)計(jì)算距離,修改原來(lái)的數(shù)據(jù)用于節(jié)省內(nèi)存;n_jobs:指定計(jì)算所需的進(jìn)程數(shù);algorithm:K-Means的實(shí)現(xiàn)算法,有:‘a(chǎn)uto’,‘full’,‘elkan’,其中'full’表示用EM方式實(shí)現(xiàn)。12.1.3K-Means聚類模塊庫(kù)代碼12.1.3K-Means聚類模塊庫(kù)代碼12.1.3K-Means聚類模塊庫(kù)代碼12.1.4Python中基于OpenCV的K-Means聚類

在OpenCV中,提供了cv2.kmeans()函數(shù)實(shí)現(xiàn)K均值聚類,其一般格式為:retval,bestLabels,centers=cv2.kmeans(data,K,bestLabels,criteria,attempts,flags)返回值各參數(shù)的含義:retval:距離值(也稱密度值或緊密度),返回每個(gè)點(diǎn)到相應(yīng)中心點(diǎn)距離的平方和;bestLabels:各個(gè)數(shù)據(jù)點(diǎn)的最終分類標(biāo)簽(索引);centers:每個(gè)分類的中心點(diǎn)數(shù)據(jù)。12.1.4Python中基于OpenCV的K-Means聚類函數(shù)體內(nèi)各參數(shù)的含義:data:輸入待處理數(shù)據(jù)集合,每個(gè)特征放在單獨(dú)的一列中;K:要分出的簇的個(gè)數(shù),即分類的數(shù)目,最常見的是K=2,表示二分類;bestLabels:表示計(jì)算之后各個(gè)數(shù)據(jù)點(diǎn)的最終分類標(biāo)簽(索引)。實(shí)際調(diào)用時(shí),參數(shù)bestLabels的值設(shè)置為None;

criteria:算法迭代的終止條件。當(dāng)達(dá)到最大循環(huán)數(shù)目或者指定的精度閾值時(shí),算法停止繼續(xù)分類迭代計(jì)算。該參數(shù)由3個(gè)子參數(shù)構(gòu)成,分別為:type、max_iter和eps,其中max_iter代表最大迭代次數(shù);eps表示精確度的閾值;type表示終止的類型,分別為:cv2.TERM_CITERIA_EPS(表示精度滿足eps時(shí),停止迭代),cv2.TERM_CITERIA_MAX_ITER(表示迭代次數(shù)超過閾值max_iter時(shí),停止迭代)和12.1.4Python中基于OpenCV的K-Means聚類cv2.TERM_CITERIA_EPS+cv2.TERM_CITERIA_MAX_ITER(上述兩個(gè)條件中的任意一個(gè)滿足時(shí),停止迭代)。attempts:在具體實(shí)現(xiàn)時(shí),為了獲得最佳分類效果,可能需要使用不同的初始分類值進(jìn)行多次嘗試,指定attempts的值,可以讓算法使用不同的初始值進(jìn)行多次嘗試。flags:表示選擇初始中心點(diǎn)的方法,主要有3種,分別為:cv2.KMEANS_RANDOM_CENTERS(表示隨機(jī)選取中心點(diǎn)),cv2.KMEANS_PP_CENTERS(表示基于中心化算法選取中心點(diǎn)),cv2.KMEANS_USE_INITIAL_LABELS(表示使用用戶輸入的數(shù)據(jù)作為第一次分類中心點(diǎn),若果算法需要多次嘗試(attempts值大于1時(shí)),后續(xù)嘗試都是使用隨機(jī)值或者半隨機(jī)值作為第一次分類中心點(diǎn))。12.1.4Python中基于OpenCV的K-Means聚類12.1.4Python中基于OpenCV的K-Means聚類12.1.4Python中基于OpenCV的K-Means聚類12.1.4Python中基于OpenCV的K-Means聚類12.2FCM聚類Ruspini率先提出了模糊劃分的概念。以此為基礎(chǔ),模糊聚類理論和方法迅速發(fā)展起來(lái)。實(shí)際中,最受歡迎的是基于目標(biāo)函數(shù)的模糊聚類方法,即把聚類歸結(jié)成一個(gè)帶有約束的非線性規(guī)劃問題,通過優(yōu)化求解獲得數(shù)據(jù)集的模糊劃分和聚類。在基于目標(biāo)函數(shù)的聚類算法中模糊c均值(FCM,F(xiàn)uzzyc-Means)類型算法的理論最為完善、應(yīng)用最為廣泛。12.2.1FCM聚類目標(biāo)函數(shù)Bezdek給出了基于目標(biāo)函數(shù)模糊聚類的一般描述:

(11-3)其中,表示由c個(gè)子集的特征函數(shù)值構(gòu)成的矩陣,m稱為加權(quán)指數(shù),又稱為平滑參數(shù)。表示樣本與第i類的聚類原型之間的距離度量,如式(11-4)所示。(11-4)其中,A為階的對(duì)稱正定矩陣,聚類的準(zhǔn)則為取的極小值,如式(11-5)所示。(11-5)12.2.1FCM聚類目標(biāo)函數(shù)由于矩陣U中各列都是獨(dú)立的,因此

(11-6)

式(11-6)采用拉格朗日乘數(shù)法來(lái)求解。

(11-7)

最優(yōu)化的一階必要條件為

(11-8)

(11-9)12.2.1FCM聚類目標(biāo)函數(shù)由式(11-9)得(11-10)使得為最小的值為(11-11)用類似的方法可以獲得

為最小的

的值,令

(11-12)12.2.1FCM聚類目標(biāo)函數(shù)得到(11-13)(11-14)若數(shù)據(jù)集、聚類類別數(shù)c和權(quán)重m值已知,由式(11-11)和式(11-14)確定最佳模糊分類矩陣和聚類中心。12.2.2FCM聚類算法為了優(yōu)化聚類分析的目標(biāo)函數(shù),現(xiàn)在廣泛流行的模糊c均值(FCM,F(xiàn)uzzyc-means)聚類算法得到廣泛使用。該算法從硬c均值(HCM,Hardc-means)聚類算法發(fā)展而來(lái)。FCM聚類算法如下所示。初始化:給定聚類類別數(shù),,是數(shù)據(jù)個(gè)數(shù),設(shè)定迭代停止閾值,初始化聚類原型模式,設(shè)置迭代計(jì)數(shù)器 ;步驟一:用式(11-15)計(jì)算或更新劃分矩陣:對(duì)于,如果,則有

(11-15)12.2.2FCM聚類算法如果使得,則有,且對(duì)(11-16)步驟二:使用式(11-17)更新聚類模式矩陣:(11-17)步驟三:如果,則停止計(jì)算,輸出矩陣和聚類原型;否則令 ,轉(zhuǎn)至步驟一。12.2.3基于Python與OpenCV的FCM聚類

例12-3在Python中編程實(shí)現(xiàn)FCM聚類算法。importnumpyasnpimportmatplotlib.pyplotaspltimporttimestar=time.time()#計(jì)時(shí)image=plt.imread("D:\Python\pic\smalldog52.jpg")#讀取圖片,存儲(chǔ)在三維數(shù)組中row=image.shape[0]col=image.shape[1]plt.figure(1)#plt.subplot(221)plt.imshow(image)deffcm(data,threshold,k,m):12.2.3基于Python與OpenCV的FCM聚類

#0.初始化data=data.reshape(-1,3)cluster_center=np.zeros([k,3])#簇心distance=np.zeros([k,row*col])#歐氏距離times=0#迭代次數(shù)goal_j=np.array([])#迭代終止條件:目標(biāo)函數(shù)goal_u=np.array([])#迭代終止條件:隸屬度矩陣元素最大變化量

#1.初始化Uu=np.random.dirichlet(np.ones(k),row*col).T#形狀(k,col*rol),任意一列元素和=1#forsinrange(50):12.2.3基于Python與OpenCV的FCM聚類

while1:times+=1print('循環(huán):',times)#2.簇心updateforiinrange(k):cluster_center[i]=np.sum((np.tile(u[i]**m,(3,1))).T*data,axis=0)/np.sum(u[i]**m)#update#歐拉距離foriinrange(k):distance[i]=np.sqrt(np.sum((data-np.tile(cluster_center[i],(row*col,1)))**2,axis=1))12.2.3基于Python與OpenCV的FCM聚類

#目標(biāo)函數(shù)goal_j=np.append(goal_j,np.sum((u**m)*distance**2))#更新隸屬度矩陣oldu=u.copy()#記錄上一次隸屬度矩陣u=np.zeros([k,row*col])foriinrange(k):forjinrange(k):u[i]+=(distance[i]/distance[j])**(2/(m-1))u[i]=1/u[i]goal_u=np.append(goal_u,np.max(u-oldu))#隸屬度元素最大變化量print('隸屬度元素最大變化量',np.max(u-oldu),'目標(biāo)函數(shù)',np.sum((u**m)*distance**2))12.2.3基于Python與OpenCV的FCM聚類

#判斷:隸屬度矩陣元素最大變化量是否小于閾值ifnp.max(u-oldu)<=threshold:breakreturnu,goal_j,goal_uif__name__=='__main__':img_show,goal1_j,goal2_u=fcm(image,1e-09,5,2)img_show=np.argmax(img_show,axis=0)plt.figure(2)#plt.subplot(223)plt.plot(goal1_j)plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False12.2.3基于Python與OpenCV的FCM聚類

#plt.title('目標(biāo)函數(shù)變化曲線')plt.xlabel('迭代次數(shù)')plt.ylabel('目標(biāo)函數(shù)')plt.figure(3)#plt.subplot(224)plt.plot(goal2_u)#plt.title('隸屬度矩陣相鄰兩次迭代的元素最大變化量變化曲線')plt.xlabel('迭代次數(shù)')plt.ylabel('隸屬度矩陣相鄰兩次迭代的元素最大變化量')plt.figure(4)12.2.3基于Python與OpenCV的FCM聚類

#plt.subplot(222)plt.imshow(img_show.reshape([row,col]))end=time.time()print('用時(shí):',end-star)plt.show()程序運(yùn)行結(jié)果如圖11-3所示。12.2.3基于Python與OpenCV的FCM聚類

12.3.1SCM聚類算法由于采用FCM聚類方法確定規(guī)則的數(shù)時(shí),需要事先知道聚類中心的個(gè)數(shù)。因此,在應(yīng)用上受到很大影響。減法聚類(SCM,Subtractiveclusteringmethod)可以有效克服FCM對(duì)初始化敏感及容易陷入局部極值點(diǎn)的缺點(diǎn),減法聚類是一種密度聚類,將每個(gè)數(shù)據(jù)點(diǎn)都作為一個(gè)潛在的聚類中心,按照如下步驟來(lái)確定:Step1:假定每個(gè)數(shù)據(jù)點(diǎn)都是聚類中心的候選者,則數(shù)據(jù)點(diǎn)

處的密度指標(biāo)定義為

,其中

為樣本數(shù)據(jù)集,

;這里

是一個(gè)正數(shù),定義了該點(diǎn)的一個(gè)鄰域,半徑以外的數(shù)據(jù)點(diǎn)對(duì)該點(diǎn)的密度指標(biāo)貢獻(xiàn)非常小,取

;12.3.1SCM聚類算法Step2:計(jì)算最大密度值 ,選擇具有最大密度指標(biāo)的數(shù)據(jù)點(diǎn)為第1個(gè)聚類中心,即;Step3:選取

,按照下式修改密度指標(biāo):

;計(jì)算最大密度值

,選擇具有最高密度指標(biāo)的數(shù)據(jù)點(diǎn)為第2個(gè)聚類中心,即

;Step4:重復(fù)Step3,當(dāng)新聚類中心

對(duì)應(yīng)的密度指標(biāo)

與滿足

時(shí),則聚類過程結(jié)束,否則進(jìn)入Step3,取

。12.3.2

SCM聚類工業(yè)應(yīng)用基于上述分析,以新型干法水泥熟料生產(chǎn)過程生料分解率目標(biāo)值設(shè)定為例,如圖11-4所示。

圖11-4易煅燒生料或難煅燒生料智能控制結(jié)構(gòu)簡(jiǎn)圖12.3.2

SCM聚類工業(yè)應(yīng)用采用ANFIS建立生料分解率目標(biāo)值設(shè)定模型。由于采用FCM聚類方法確定規(guī)則數(shù)量時(shí),需要事先知道聚類中心的個(gè)數(shù)。因此,在應(yīng)用上受到很大影響。采用減法聚類方法確定隸屬函數(shù)中心及規(guī)則數(shù)量。減法聚類可以有效克服FCM對(duì)初始化敏感及容易陷入局部極值點(diǎn)的缺點(diǎn),結(jié)構(gòu)如圖11-5所示。12.3.2

SCM聚類工業(yè)應(yīng)用

圖11-5基于減法聚類和ANFIS的生料分解率目標(biāo)值設(shè)定模型12.3.2

SCM聚類工業(yè)應(yīng)用圖11-5中,生料分解率目標(biāo)值設(shè)定模型由易煅燒生料的生料分解率目標(biāo)值設(shè)定模型、難煅燒生料的生料分解率目標(biāo)值設(shè)定模型和切換機(jī)制組成。為了描述方便,生料分解率目標(biāo)值設(shè)定模型中的輸入變量集,簡(jiǎn)寫為。圖11-5中,A部分內(nèi)每一個(gè)塊和節(jié)點(diǎn)描述如下。在切換機(jī)制中,易煅燒性識(shí)別模塊通過易煅燒生料游離氧化鈣含量最大值、生料煅燒指數(shù)、難煅燒生料游離氧化鈣含量最大值判斷生料的煅燒性。如果,那么代表易煅燒生料;如果,那么代表難煅燒生料。目標(biāo)值選擇模塊根據(jù)式(11-18)選擇相應(yīng)的目標(biāo)值設(shè)定模型。(11-18)

12.3.2

SCM聚類工業(yè)應(yīng)用在A部分的第1層,每個(gè)節(jié)點(diǎn)是一個(gè)方形,并且可以表示為:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論