91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-15
  • 語言: Matlab
  • 標(biāo)簽: 目標(biāo)識別??

資源簡介

用Adaboost+PCA進(jìn)行特定的目標(biāo)識別

資源截圖

代碼片段和文件信息

clear?all;
class_num=15;
class_sample=11;
train_num=6;
test_num=5;
sample=10;%sample為選擇需要識別的類別編號
path?=?[‘D:\新建文件夾\文件\tu\‘];
N=5;
n=1;
Train_Image=zeros(10000train_num);
t=strcat(num2str(sample)‘\‘);
for?j=1:train_num
????name=[path?t?‘s‘?num2str(j)?‘.JPEG‘];
????[amap]=imread(name‘bmp‘);
????Train_Image(:j)=reshape(asize(a1)*size(a2)1);
end;
O=double(ones(1size(Train_Image2)));
mean_Image=mean(Train_Image2);
Train_ImageSub=Train_Image-mean_Image*O;
Cov=Train_ImageSub‘*Train_ImageSub;
[VD]=eig(Cov);
V=Train_ImageSub*V;
V=V(:end:-1:end-(N-1));
Vc=V;
a=[1:N];
C=nchoosek(an)‘;
V=zeros(size(Vc1)nsize(C2));
for?i=1:size(C2)
????for?k=1:n
????????V(:ki)=Vc(:C(ki));
????end;
end;
N=nchoosek(Nn);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Adaboost訓(xùn)練開始
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
T=150;%循環(huán)次數(shù)
%選擇tr個類別(其中包括目標(biāo)類別)的樣本,輸入到adTrain_Image中,用作adaboost訓(xùn)練
tr=3;
adTrain_Image=zeros(10000tr*train_num);
for?i=1:tr
????t=strcat(num2str(sample-2+i)‘\‘);
????for?j=1:train_num
????????name=[path?t?‘s‘?num2str(j)?‘.JPEG‘];
????????[amap]=imread(name‘bmp‘);
????????adTrain_Image(:(i-1)*train_num+j)=reshape(asize(a1)*size(a2)1);
????end;
end;
M=train_num*tr;
adaboost_model=struct(‘weights‘zeros(T1)‘feature‘zeros(T1)‘liminal‘zeros(T1));%weights是每輪弱分類器的權(quán)重,feature是特征組編號,liminal是閾值
D=ones(M1);
D=D./M;
errf=0;
errfp=0;
errd=0;
errdp=0;
numf=0;
numd=zeros(N1);
numdt=0;
dis=zeros(tr*train_numN);
for?z=1:T
????errf=0;
????errfp=0;
????for?i=1:N?%遍歷所有特征向量,每次選誤差最小的向量
????????errd=0;
????????errdp=0;
????????cv=zeros(size(mean_Image1)1);
????????cv=double(cv);
????????cv=mean_Image‘*V(::i);
????????for?k=1:tr*train_num??%取每個訓(xùn)練樣本的距離
????????????Image=adTrain_Image(:k);
????????????%CoeTest=Image-mean_Image;
????????????CoeTest=Image‘*V(::i);
????????????dis(ki)=sum(((CoeTest?-?cv).^2).^(1/2));
????????end;
????????temp=zeros(tr*train_num1);
????????for?s=1:tr*train_num?%遍歷所有距離,以每個距離作為閾值
????????????for?k=1:tr*train_num?%比較所有距離與閾值的大小,進(jìn)行分類
????????????????
????????????????if?((dis(ki)>dis(si))&(ceil(k/train_num)~=ceil(tr/2)))|((dis(ki)<=dis(si))&(ceil(k/train_num)==ceil(tr/2)))
????????????????????temp(k)=1;
????????????????else
????????????????????temp(k)=-1;
????????????????end;
????????????end;%?距離分類結(jié)束
????????????if?s==1
????????????????errd=sum(D(temp<0));
????????????????errdp=errd;
????????

評論

共有 條評論