• 大小: 765KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-08-03
  • 语言: 其他
  • 标签:

资源简介

这是一个研究车牌号码数字识别的综合性工程,从最基本的BP分类,到分别用遗传算法和粒子群算法对BP网络进行优化分类,再到利用Hopfield神经网络对数字进行识别分类。所有代码均能直接运行,并有准备的结果,并且包括数字号码的图像库,识别结果明确。由于本人在此花费了不少精力,所以资源分标了10分,希望能对同学的毕业设计起到作用。

资源截图

代码片段和文件信息


%% 清空环境变量
clc
clear

%% 训练数据预测数据提取及归一化

%下载四类语音信号
load data1 c1
load data2 c2
load data3 c3
load data4 c4

%四个特征信号矩阵合成一个矩阵
data(1:500:)=c1(1:500:);
data(501:1000:)=c2(1:500:);
data(1001:1500:)=c3(1:500:);
data(1501:2000:)=c4(1:500:);

%从1到2000间随机排序
k=rand(12000);
[mn]=sort(k);

%输入输出数据
input=data(:2:25);
output1 =data(:1);

%把输出从1维变成4维
for i=1:2000
    switch output1(i)
        case 1
            output(i:)=[1 0 0 0];
        case 2
            output(i:)=[0 1 0 0];
        case 3
            output(i:)=[0 0 1 0];
        case 4
            output(i:)=[0 0 0 1];
    end
end

%随机提取1500个样本为训练样本,500个样本为预测样本
input_train=input(n(1:1500):)‘;
output_train=output(n(1:1500):)‘;
input_test=input(n(1501:2000):)‘;
output_test=output(n(1501:2000):)‘;

%输入数据归一化
[inputninputps]=mapminmax(input_train);

%% 网络结构初始化
innum=24;
midnum=25;
outnum=4;
 

%权值初始化
w1=rands(midnuminnum);
b1=rands(midnum1);
w2=rands(midnumoutnum);
b2=rands(outnum1);

w2_1=w2;w2_2=w2_1;
w1_1=w1;w1_2=w1_1;
b1_1=b1;b1_2=b1_1;
b2_1=b2;b2_2=b2_1;

%学习率
xite=0.1;
alfa=0.01;

%% 网络训练
for ii=1:10
    E(ii)=0;
    for i=1:1:1500
       %% 网络预测输出 
        x=inputn(:i);
        % 隐含层输出
        for j=1:1:midnum
            I(j)=inputn(:i)‘*w1(j:)‘+b1(j);
            Iout(j)=1/(1+exp(-I(j)));
        end
        % 输出层输出
        yn=w2‘*Iout‘+b2;
        
       %% 权值阀值修正
        %计算误差
        e=output_train(:i)-yn;     
        E(ii)=E(ii)+sum(abs(e));
        
        %计算权值变化率
        dw2=e*Iout;
        db2=e‘;
        
        for j=1:1:midnum
            S=1/(1+exp(-I(j)));
            FI(j)=S*(1-S);
        end      
        for k=1:1:innum
            for j=1:1:midnum
                dw1(kj)=FI(j)*x(k)*(e(1)*w2(j1)+e(2)*w2(j2)+e(3)*w2(j3)+e(4)*w2(j4));
                db1(j)=FI(j)*(e(1)*w2(j1)+e(2)*w2(j2)+e(3)*w2(j3)+e(4)*w2(j4));
            end
        end
           
        w1=w1_1+xite*dw1‘;
        b1=b1_1+xite*db1‘;
        w2=w2_1+xite*dw2‘;
        b2=b2_1+xite*db2‘;
        
        w1_2=w1_1;w1_1=w1;
        w2_2=w2_1;w2_1=w2;
        b1_2=b1_1;b1_1=b1;
        b2_2=b2_1;b2_1=b2;
    end
end
 

%% 语音特征信号分类
inputn_test=mapminmax(‘apply‘input_testinputps);

for ii=1:1
    for i=1:500%1500
        %隐含层输出
        for j=1:1:midnum
            I(j)=inputn_test(:i)‘*w1(j:)‘+b1(j);
            Iout(j)=1/(1+exp(-I(j)));
        end
        
        fore(:i)=w2‘*Iout‘+b2;
    end
end



%% 结果分析
%根据网络输出找出数据属于哪类
for i=1:500
    output_fore(i)=find(fore(:i)==max(fore(:i)));
end

%BP网络预测误差
error=output_fore-output1(n(1501:2000))‘;

%画出预测语音种类和实际语音种类的分类图
figure(1)
plot(output_fore‘r‘)
hold on
plot(output1(n(1501:2000))‘‘b‘)
legend(‘预测语音类别‘‘实际语音类别‘)

%画出误差图
figure(2)
plot(error)
title(‘BP网络分类误差‘‘fontsize‘12)
xlabel(‘语音信号‘‘fontsize‘12)
ylabel(‘分类误差‘‘fontsize‘12)

%print -dtiff -r600 1-4

k=zeros(14);  
%找出判断错误的分类属于哪一类
for i=1:500
    if error(i)~=0
        [bc]=max(output_test(:i));
        switch c
            case 1 
                k(1)=k(1)+1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3760  2010-11-01 23:05  基于神经网络的车辆牌照字符识别技术\BP分类\BP.m

     文件       3808  2010-11-01 23:20  基于神经网络的车辆牌照字符识别技术\BP分类\BPDLX.m

     文件      93015  2009-08-29 16:54  基于神经网络的车辆牌照字符识别技术\BP分类\data1.mat

     文件      92845  2009-08-29 16:54  基于神经网络的车辆牌照字符识别技术\BP分类\data2.mat

     文件      92937  2009-08-29 16:54  基于神经网络的车辆牌照字符识别技术\BP分类\data3.mat

     文件      93438  2009-08-29 16:54  基于神经网络的车辆牌照字符识别技术\BP分类\data4.mat

     文件       1285  2010-10-18 13:13  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\BP\BP.m

     文件      46375  2009-12-14 15:38  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\BP\data.mat

     文件        420  2009-08-16 22:48  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Code.m

     文件       1556  2009-08-31 23:41  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Cross.m

     文件      46404  2009-09-18 14:23  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\data.mat

     文件       1158  2009-08-31 23:41  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Decode.m

     文件       1013  2010-10-19 13:26  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\fun.m

     文件       4373  2010-11-01 23:38  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Genetic.m

     文件       1602  2009-11-12 19:20  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Mutation.m

     文件        827  2010-10-19 15:22  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\Select.m

     文件        291  2010-10-19 18:06  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\ga\test.m

     文件      46404  2009-09-18 14:23  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\pso\data.mat

     文件       1050  2010-05-23 06:38  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\pso\fun.m

     文件       2909  2010-11-01 23:47  基于神经网络的车辆牌照字符识别技术\GA与PSO优化BP\pso\PSO.m

     文件       1410  2010-11-01 23:23  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\chapter9.m

     文件        191  2009-08-30 17:53  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data0.mat

     文件        195  2009-08-30 17:37  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data1.mat

     文件        216  2009-08-30 17:56  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data1_noisy.mat

     文件        205  2009-08-30 17:39  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data2.mat

     文件        224  2009-08-30 17:57  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data2_noisy.mat

     文件        192  2009-08-30 17:51  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data3.mat

     文件        195  2009-08-30 17:51  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data4.mat

     文件        195  2009-08-30 17:51  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data5.mat

     文件        195  2009-08-30 17:52  基于神经网络的车辆牌照字符识别技术\Hopfield数字识别\data6.mat

............此处省略120个文件信息

评论

共有 条评论