中國(guó)地質(zhì)大學(xué)武漢模式識(shí)別第二次試驗(yàn)kmeans_第1頁(yè)
中國(guó)地質(zhì)大學(xué)武漢模式識(shí)別第二次試驗(yàn)kmeans_第2頁(yè)
中國(guó)地質(zhì)大學(xué)武漢模式識(shí)別第二次試驗(yàn)kmeans_第3頁(yè)
中國(guó)地質(zhì)大學(xué)武漢模式識(shí)別第二次試驗(yàn)kmeans_第4頁(yè)
中國(guó)地質(zhì)大學(xué)武漢模式識(shí)別第二次試驗(yàn)kmeans_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

1、模式識(shí)別第二次實(shí)驗(yàn) 學(xué)號(hào): 20121001873 班學(xué)號(hào):07512213 姓名: 吳澤光 指導(dǎo)老師:馬麗 中國(guó)地質(zhì)大學(xué)(武漢)機(jī)械與電子信息學(xué)院 2015年4月題目:基于k-means算法的遙感圖像分類實(shí)驗(yàn)?zāi)繕?biāo):1. 掌握K-means算法原理2. 用MATLAB實(shí)現(xiàn)k-means算法,并進(jìn)行結(jié)果分析實(shí)驗(yàn)內(nèi)容:1. 采用zy3sample數(shù)據(jù)(400*400*4),該數(shù)據(jù)包含4個(gè)類別:土地;農(nóng)作物/植被;大棚;道路。2. 關(guān)于初始聚類中心的選擇,如果是采用隨機(jī)選擇方法,那么至少隨機(jī)選擇3次,并進(jìn)行結(jié)果比較。(注意:道路占有的像素很少,所以隨機(jī)選擇4個(gè)聚類中心的話,很可能選擇不到這種地物。可

2、以思考該如何解決這個(gè)問題?可以簡(jiǎn)單的先從帶有標(biāo)簽的CMap(也就是自己做的ROI保存的圖像)中選擇,也就是當(dāng)選擇的4個(gè)聚類中心都正確的分別屬于一類地物的話,看看k-means算法的結(jié)果,是否比在整個(gè)圖像中隨機(jī)選擇要好。)3. 關(guān)于迭代終止條件。可以參考下面的一種方法:(1)設(shè)置一個(gè)閾值,當(dāng)前后兩次聚類中心的差別小于這個(gè)閾值的時(shí)候,停止迭代。(2)設(shè)置一個(gè)閾值,當(dāng)前后兩次聚類中所包含的點(diǎn)的數(shù)目變化小于這個(gè)閾值的時(shí)候,停止迭代。(3)設(shè)置最多迭代次數(shù),也就是不管迭代有沒有收斂,只要達(dá)到這個(gè)迭代次數(shù)就停止。4. 關(guān)于距離度量方法,可以選用歐氏距離,光譜角距離(提供代碼),如果兩個(gè)都選擇,那么比較一下

3、聚類效果哪個(gè)好,或者也可以查資料采用其他更好的方法。5. 畫出整個(gè)圖像的聚類結(jié)果,每種類別采用一種彩色ujuj(提供ColorTable和畫圖代碼)?;疽螅?.每位同學(xué)必須掌握k-mean算法的原理,以及會(huì)用MATLAB把算法實(shí)現(xiàn),對(duì)圖像進(jìn)行分類。發(fā)揮部分:1. 關(guān)于初始聚類中心的選擇,進(jìn)行方法的比較和思考。2. 關(guān)于距離度量方法,進(jìn)行方法的比較和思考。3. 實(shí)驗(yàn)的目的就是得到更好的聚類效果,不管采用什么方法,只要達(dá)到這個(gè)目的就可以。試驗(yàn)過(guò)程:1,k-means算法原理: K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大

4、。該算法認(rèn)為簇是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo)。 算法過(guò)程如下:1)從N個(gè)數(shù)據(jù)中隨機(jī)選取K個(gè)點(diǎn)作為類心2)對(duì)剩余的每個(gè)數(shù)據(jù)點(diǎn)測(cè)量其到每個(gè)類心的距離,并把它歸到最近的類心的類3)重新計(jì)算已經(jīng)得到的各個(gè)類的類心4)迭代23步直至新的類心與原類心相等或小于指定閾值,算法結(jié)束2,算法代碼:1)首先選擇每個(gè)類的平均值作為每個(gè)類的類心,類心迭代5次:% 讀遙感數(shù)據(jù),以及讀入帶標(biāo)簽的數(shù)據(jù)%在CMAP中求平均值,歐式距離,定閾值clear % read the data zy3sample1Img = multibandread('zy3sample1',400,

5、400,4,'float',0,'bsq','n','Band','Direct',1:4);%將高光譜數(shù)據(jù)讀入GT = multibandread('zys',400,400,1,'uint8',0,'bsq','n','Band','Direct',1:1);%將ground truth讀入(也就是帶標(biāo)簽的CMap或說(shuō)ROI信息讀入)test_class=1:4;C=length(test_class);NbRow=

6、400;NbCol=400;NbDim=4;dataname='zy3'X=;Y=;A=zeros(C,4);for i=1:C row,col=find(GT=i);%總共21837個(gè)點(diǎn)有值 for j=1:length(row) data=reshape(Img(row(j),col(j),:),1,NbDim); A(i,:)=A(i,:)+data; X=X;data;%采樣4列 Y=Y;i;%標(biāo)簽信息 end A(i,:)=A(i,:)./length(row);%平均聚類中心enddata=reshape(Img,160000,NbDim);%將原始數(shù)據(jù)變成2維數(shù)據(jù)

7、j=1;for i=1:C %求各點(diǎn)到類心的距離 D=Euclidian_distance(data,A(i,:); D1(:,j)=D; j=j+1;endc,d=min(D1,2);%返回每行的最小值的坐標(biāo)v=;A1=zeros(4,4);D=;K-means部分:for n=1:5 A2=A1; for i=1:C %重新分類 N=; l=find(d=i); %尋找類別的地址 N=data(l,:); A1(i,:)=mean(N);%新的平均聚類中心,求每一列的均值 end for i=1:C %求各點(diǎn)到類心的距離 D=Euclidian_distance(data,A1(i,:);

8、%求出距離再次分類 D2(:,i)=D; end c,d=min(D2,2);%返回每行的最小值的坐標(biāo) end DATA=d;LINES=400;SAMPLES=400;ColorTable=160,82,45;% c1:soil 255, 255, 255 ;%c3:house 0 255 0;%c4 road 255,0,0 ;%c2:grassCOLORTABLE=ColorTable; ClassificationMap = GenerateClassificationMap( LINES, SAMPLES, COLORTABLE, DATA );imshow(Classificati

9、onMap);title('迭代5次后的分類結(jié)果')2)隨機(jī)選擇類心,對(duì)比程序:A=zeros(4,4);for i=1:4r=randperm(16000);r=r(1);A(i,:)=data(r,:);%隨機(jī)數(shù)據(jù)做為類心end3)求數(shù)據(jù)之間的光譜角距離:%光譜角距離function D=SAM(data1,data2) ;% input:nsamp*nband%data1,data2,(n*d)的列向量為data,行向量為dimensions%data1未知光譜,data2已知光譜%結(jié)果:0到pi/2,越相似,D越小,越接近0.if nargin<2, %如果只有1

10、個(gè)輸入,就是求data1之間的SAM距離 length_1=sqrt(sum(data1.*data1)'); % length_1:1*N; data:N*L D=real(acos(data1*data1'./(length_1'*length_1); D = min(D,D'); %保證對(duì)稱 for i=1:size(D,1) D(i,i)=0; end %保證對(duì)角線值為0else %如果2個(gè)輸入,就是求data1和data2之間的SAM距離 length_1=sqrt(sum(data1.*data1)'); % 1*N; data:N*L le

11、ngth_2=sqrt(sum(data2.*data2)'); D=real(acos(data1*data2'./(length_1'*length_2);endfunction D=Euclidian_distance(data1,data2) %data:N*Lif nargin<2 %求data1數(shù)據(jù)之間的歐氏距離陣D length_1=sum(data1.*data1)'); % 1*N; data:N*L ab=data1*data1' D=repmat(length_1,size(length_1,2),1) + repmat(le

12、ngth_1',1 size(length_1,2) -2*ab; D = min(D,D'); D=sqrt(D); for i=1:size(D,1) D(i,i)=0; endelse %求data1和data2數(shù)據(jù)之間的歐氏距離陣D length_1=sum(data1.*data1)',1); % 1*N; data:N*L length_2=sum(data2.*data2)',1); ab=data1*data2' data1=;data2=; D=repmat(length_1',1,size(length_2,2) + repmat(length_2,size(length_1,2),1) -2*ab; D=sqrt(D);endD=real(D);4)求數(shù)據(jù)之間的歐氏距離:3)算法結(jié)果:歐氏距離,以每個(gè)類的平均值為類心迭代5次后的結(jié)果:對(duì)比上個(gè)算法,隨機(jī)選擇類心的結(jié)果: 對(duì)比第一個(gè)算法,隨機(jī)選擇類心迭代一次后的結(jié)果: 對(duì)比第一個(gè)算法,選擇平均類心循環(huán)一個(gè)后的結(jié)果: 對(duì)比上一個(gè)算法,選擇光譜角后的結(jié)果: 4,結(jié)果分析: 總體的分類效果都不是很好。從迭代次數(shù)來(lái)看,選擇每一類的平均值作為類心且只迭代一次的效果最好。隨機(jī)選擇類心分

溫馨提示

  • 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)論