基于人工神经网络的MATLAB手写数字识别系统

基于人工神经网络的MATLAB手写数字识别系统
基于人工神经网络的MATLAB手写数字识别系统

基于人工神经网络的MATLAB手写数字识别系统

一、函数MouseDraw实现手写识别系统GUI界面的建立和鼠标手写的实现。(使用时保存为MouseDraw.m)

function MouseDraw(action)

% MouseDraw 本例展示如何以Handle Graphics来设定滑鼠事件

% (MouseDraw Events)的反应指令(Callbacks)

% 本程序在鼠标移动非常快时,不会造成画“断线”

% global不能传矩阵

global InitialX InitialY FigHandle hb2 hb3 hb4 count hb5 hb6 hb7 count='E:\im.jpg';

imSize = 50;

if nargin == 0, action = 'start';

end

switch(action)

%%开启图形视窗

case'start',

FigHandle = figure('WindowButtonDownFcn','MouseDraw down','DeleteFcn','save bpnet');

axis([1 imSize 1 imSize]); % 设定图轴范围%

set(gca,'Position',[.25 .20 .7 .7]);

axis off;

grid off;

box on; % 将图轴加上图框

title('手写体输入窗');

try evalin('base','load bpnet')

catch

evalin('base','bpgdtrain');

end

% % fprintf('start');

%%设定滑鼠按钮被按下时的反应指令为「MouseDraw down」

% set(gcf, 'WindowButtonDownFcn', 'MouseDraw down');

hb1 = uicontrol('Parent', FigHandle, 'Units', 'Normalized', ...

'Position', [.3 .01 .13 .07], 'String', '保存', ...

'Callback',['exa=rgb2gray(frame2im(getframe(gca)));','imwrite(exa ,''E:\im.jpg'')']);

hb2=uicontrol('Parent',FigHandle,'Style','popupmenu','Position',[ 50 50 50 30],...

'String', {'26','24', '22', '20', '18', '16','14','12','10'}); hb3=uicontrol('Parent', FigHandle,'Style','text',...

'Position',[10 90 90 30],'String',[ 'CurrentX() ','CurrentY()']); hb4=uicontrol('Parent',FigHandle,'Style','popupmenu','Position',[ 50 20 50 30],...

'String',{'Red','Blue','Black','Yellow','Green'});

uicontrol('Parent',FigHandle,'Position',[270 6 70 30],'String','训练','Callback',...

['exa=rgb2gray(frame2im(getframe(gca)));','sample=reshape(recgnit ion(exa),25,1);','clc;',...

't=inputdlg(''数字类别'',''样品训练'');','t=str2num(t{1,1})/10;',...

'bpnet.trainParam.lr=str2num(get(hb6,''String''));','bpnet.trainP aram.goal=str2num(get(hb7,''String''));',...

'[bpnet]=train(bpnet,sample,t);','save bpnet']);

uicontrol('Parent',FigHandle,'Position',[360 6 70 30],'String','识别','Callback',...

['exa=rgb2gray(frame2im(getframe(gca)));','sample=reshape(recgnit ion(exa),25,1);',...

'record=round(sim(bpnet,sample)*10);','clc;','set(hb5,''String'', num2str(record),''fontSize'',48);']);

uicontrol('Parent',FigHandle,'Style','text','Position',[10 60 30 20],'String','字号');

uicontrol('Parent',FigHandle,'Style','text','Position',[10 30 30 20],'String','颜色');

hb5=uicontrol('Parent',FigHandle,'Style','text','Position',[10 150 90 90]);

uicontrol('Parent',FigHandle,'Style','text','Position',[5 260 50 20],'String','学习速率');

hb6=uicontrol('Parent',FigHandle,'Style','Edit','Position',[60 260 30 20],'String','0.01');

uicontrol('Parent',FigHandle,'Style','text','Position',[5 290 50 20],'String','训练精度');

hb7=uicontrol('Parent',FigHandle,'Style','Edit','Position',[60 290 30 20],'String','0.005');

uicontrol('Parent',FigHandle,'Style','pushbutton','Position',[450 6 70 30],'String','清除','Callback','cla');

%将函数变量导入到工作空间;

assignin('base','hb5',hb5);

assignin('base','hb6',hb6);

assignin('base','hb7',hb7); %%%%%%%%%%%%%%%%%%%%%%%%%%%

dlmwrite('IXT.txt', -10, 'delimiter', '\t', 'precision', 6); dlmwrite('IYT.txt', -10, 'delimiter', '\t', 'precision', 6); %%滑鼠按钮被按下时的反应指令

case'down',

if strcmp(get(FigHandle, 'SelectionType'), 'normal') %如果是左键 set(FigHandle,'pointer','hand');

CurPiont = get(gca, 'CurrentPoint');

InitialX = CurPiont(1,1);

InitialY = CurPiont(1,2);

dlmwrite('IXT.txt', InitialX, '-append', 'delimiter', '\t', 'precision', 6);

dlmwrite('IYT.txt', InitialY, '-append', 'delimiter', '\t', 'precision', 6);

% 列印「MouseDraw down!」讯息

% % fprintf('MouseDraw down!\n');

% 设定滑鼠移动时的反应指令为「MouseDraw move」

set(gcf, 'WindowButtonMotionFcn', 'MouseDraw move');

set(gcf, 'WindowButtonUpFcn', 'MouseDraw up');

elseif strcmp(get(FigHandle, 'SelectionType'), 'alt') % 如果是右键

set(FigHandle, 'Pointer', 'arrow');

set( FigHandle, 'WindowButtonMotionFcn', '')

set(FigHandle, 'WindowButtonUpFcn', '')

fprintf('MouseDraw right button down!\n');

ImageX = importdata('IXT.txt');

ImageY = importdata('IYT.txt');

InputImage = ones(imSize);

roundX = round(ImageX);

roundY = round(ImageY);

for k = 1:size(ImageX,1)

if0

InputImage(roundX(k)-1:roundX(k)+2,

roundY(k)-1:roundY(k)+2) = 0;

end

end

InputImage = imrotate(InputImage,90); % 图像旋转90

figure(2);

imshow(InputImage);

end

%%滑鼠移动时的反应指令

case'move',

CurPiont = get(gca, 'CurrentPoint');

X = CurPiont(1,1);

Y = CurPiont(1,2);

set(hb3,'String',['CurrentX(',num2str(X),')','CurrentY(',num2str( Y),')']);

% 当鼠标移动较快时,不会出现离散点。

% 利用y=kx+b直线方程实现。

x_gap = 0.1;

% 定义x方向增量

y_gap = 0.1;

% 定义y方向增量

if X > InitialX

step_x = x_gap;

else

step_x = -x_gap;

end

if Y > InitialY

step_y = y_gap;

else

step_y = -y_gap;

end

% 定义x,y的变化范围和步长

if abs(X-InitialX) < 0.01 % 线平行于y轴,即斜率不存在时

iy = InitialY:step_y:Y;

ix = X.*ones(1,size(iy,2));

else

ix = InitialX:step_x:X ;

% 定义x的变化范围和步长% 当斜率存在,即k = (Y-InitialY)/(X-InitialX) ~= 0

iy = (Y-InitialY)/(X-InitialX).*(ix-InitialX)+InitialY;

end

ImageX = [ix, X];

ImageY = cat(2, iy, Y);

popup_index1=26-(get(hb2,'Value')-1)*2;

popup_index2=get(hb4,'Value');

switch(popup_index2)

case 1

line(ImageX,ImageY, 'marker', '.', 'markerSize',popup_index1, ...

'LineStyle', '-', 'LineWidth', 4, 'Color', 'Red');

case 2

line(ImageX,ImageY, 'marker', '.', 'markerSize',popup_index1, ...

'LineStyle', '-', 'LineWidth', 4, 'Color', 'Blue');

case 3

line(ImageX,ImageY, 'marker', '.', 'markerSize',popup_index1, ...

'LineStyle', '-', 'LineWidth', 4, 'Color', 'Black');

case 4

line(ImageX,ImageY, 'marker', '.', 'markerSize',popup_index1, ...

'LineStyle', '-', 'LineWidth', 4, 'Color', 'Yellow');

case 5

line(ImageX,ImageY, 'marker', '.', 'markerSize',popup_index1, ...

'LineStyle', '-', 'LineWidth', 4, 'Color', 'Green');

end

dlmwrite('IXT.txt', ImageX, '-append', 'delimiter', '\t', 'precision', 6);

dlmwrite('IYT.txt', ImageY, '-append', 'delimiter', '\t', 'precision', 6);

InitialX = X; %记住当前点坐标

InitialY = Y; %记住当前点坐标

% 列印「MouseDraw is moving!」及滑鼠现在位置

% fprintf('MouseDraw is moving! Current location = (%g, %g)\n', ...

% CurPiont(1,1), CurPiont(1,2));

% % fprintf('MouseDraw move!\n');

% 设定滑鼠按钮被释放时的反应指令为「MouseDraw up」

set(gcf, 'WindowButtonUpFcn', 'MouseDraw up');

%%滑鼠按钮被释放时的反应指令

case'up',

% 清除滑鼠移动时的反应指令

set(gcf, 'WindowButtonMotionFcn', '');

% 清除滑鼠按钮被释放时的反应指令

set(gcf, 'WindowButtonUpFcn', '');

% 列印「MouseDraw up!」

% % fprintf('MouseDraw up!\n');

end

end

二、实现手写数字图像特征的提取:(存为recgnition.m)

function sample=recgnition(exa)

[i,j]=find(exa~=204);

imin=min(i);

imax=max(i);

jmin=min(j);

jmax=max(j);

a=exa(imin:imax,jmin:jmax);

M=imax-imin+1;

N=jmax-jmin+1;

for m=1:5

for n=1:5

exa_c{m,n}=a(1+(m-1)*M/5:m*M/5,1+(n-1)*N/5:n*N/5);

sample(1,(m-1)*5+n)=size(find(exa_c{m,n}~=204),1)/(M*N/25);

%subplot(5,5,(m-1)*5+n),subimage(exa_c{m,n});

end

end

三、建立bp神经网络。(可修改所建立bp神经网络参数,也可建立其他类型神经网络)。

x=ones(25,2);

x(:,1)=0;

bpnet=newff(x,[50,1],{'logsig','logsig'},'traingd');

bpnet.trainParam.show=5;%显示训练迭代过程(每隔5次训练,显示一次训练进程)bpnet.trainParam.lr=0.01;%学习速率

bpnet.trainParam.epochs=2000;%最大训练次数

bpnet.trainParam.goal=0.005;%训练要求精度(0.005)

此段命令应存为bpgdtrain.m文件。

以上函数以及m文件须保存以后才可调用。

神经网络要经过一定数量的训练才能达到较高的识别精度。

使用时先运行MouseDraw函数,出现下图界面,

界面介绍:

保存:可将手写数字图像保存为im.jpg文件。

训练:用于有导师训练神经网络,用户使用鼠标写好数字,点击训练,弹出输入框框,输入相应正确数字。

识别:对界面上的手写数字进行识别,结果显示在左边白色方框。清除:可清除界面上数字,重新书写。

字号、颜色选择下拉框可选择手写数字字号与颜色。

:控制训练精度和学习速率。具体参照bp神经网络。

人工神经网络Matlab实现代码

以下是用Matlab中的m语言编写的BP神经网络代码,实现的是一个正弦函数的拟合过程,包括了初始化、BP算法、绘制曲线等过程,可以将代码放到一个M文件中运行,以下是代码: defaultpoints=20; %%%%%%%%%隐含层节点数 inputpoints=1; %%%%%%%%%输入层节点数 outputpoints=1; %%%%%%%%%输出层节点数 Testerror=zeros(1,100);%%%%每个测试点的误差记录 a=zeros(1,inputpoints);%%%%输入层节点值 y=zeros(1,outputpoints);%%%样本节点输出值 w=zeros(inputpoints,defaultpoints);%%%%%输入层和隐含层权值 %初始化权重很重要,比如用rand函数初始化则效果非常不确定,不如用zeros初始化 v=zeros(defaultpoints,outputpoints);%%%%隐含层和输出层权值 bin=rand(1,defaultpoints);%%%%%隐含层输入 bout=rand(1,defaultpoints);%%%%隐含层输出 base1=0*ones(1,defaultpoints);%隐含层阈值,初始化为0 cin=rand(1,outputpoints);%%%%%%输出层输入 cout=rand(1,outputpoints);%%%%%输出层输出 base2=0*rand(1,outputpoints);%%输出层阈值 error=zeros(1,outputpoints);%%%拟合误差 errors=0;error_sum=0; %%%误差累加和 error_rate_cin=rand(defaultpoints,outputpoints);%%误差对输出层节点权值的导数 error_rate_bin=rand(inputpoints,defaultpoints);%%%误差对输入层节点权值的导数 alfa=0.5; %%%% alfa 是隐含层和输出层权值-误差变化率的系数,影响很大 belt=0.5; %%%% belt 是隐含层和输入层权值-误差变化率的系数,影响较小 gama=5; %%%% gama 是误差放大倍数,可以影响跟随速度和拟合精度,当gama大于2时误差变大,容易震荡 %%%%规律100个隐含节点,当alfa *gama =1.5时,效果好,其他值误差变大,belt基本不影响效果 %%%%规律200个隐含节点,当alfa *gama =0.7时,效果好,其他值误差变大,belt基本不影响效果,最小误差和100个隐含点一样 %%%%规律50个隐含节点,当alfa *gama =3时,效果好,其他值误差变大,belt基本不影响效果,最小误差和100个隐含点一样 trainingROUND=200;% 训练次数,有时训练几十次比训练几百次上千次效果要好很多sampleNUM=361; % 样本点数 x1=zeros(sampleNUM,inputpoints); %样本输入矩阵 y1=zeros(sampleNUM,outputpoints); %样本输出矩阵 x2=zeros(sampleNUM,inputpoints); %测试输入矩阵

人工神经网络的发展及应用

人工神经网络的发展与应用 神经网络发展 启蒙时期 启蒙时期开始于1980年美国著名心理学家W.James关于人脑结构与功能的研究,结束于1969年Minsky和Pape~发表的《感知器》(Perceptron)一书。早在1943年,心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型(即M—P模型),该模型把神经细胞的动作描述为:1神经元的活动表现为兴奋或抑制的二值变化;2任何兴奋性突触有输入激励后,使神经元兴奋与神经元先前的动作状态无关;3任何抑制性突触有输入激励后,使神经元抑制;4突触的值不随时间改变;5突触从感知输入到传送出一个输出脉冲的延迟时问是0.5ms。可见,M—P模型是用逻辑的数学工具研究客观世界的事件在形式神经网络中的表述。现在来看M—P 模型尽管过于简单,而且其观点也并非完全正确,但是其理论有一定的贡献。因此,M—P模型被认为开创了神经科学理论研究的新时代。1949年,心理学家D.0.Hebb 提出了神经元之间突触联系强度可变的假设,并据此提出神经元的学习规则——Hebb规则,为神经网络的学习算法奠定了基础。1957年,计算机学家FrankRosenblatt提出了一种具有三层网络特性的神经网络结构,称为“感知器”(Perceptron),它是由阈值性神经元组成,试图模拟动物和人脑的感知学习能力,Rosenblatt认为信息被包含在相互连接或联合之中,而不是反映在拓扑结构的表示法中;另外,对于如何存储影响认知和行为的信息问题,他认为,存储的信息在神经网络系统内开始形成新的连接或传递链路后,新 的刺激将会通过这些新建立的链路自动地激活适当的响应部分,而不是要求任何识别或坚定他们的过程。1962年Widrow提出了自适应线性元件(Ada—line),它是连续取值的线性网络,主要用于自适应信号处理和自适应控制。 低潮期 人工智能的创始人之一Minkey和pape~经过数年研究,对以感知器为代表的网络系统的功能及其局限性从数学上做了深入的研究,于1969年出版了很有影响的《Perceptron)一书,该书提出了感知器不可能实现复杂的逻辑函数,这对当时的人工神经网络研究产生了极大的负面影响,从而使神经网络研究处于低潮时期。引起低潮的更重要的原因是:20世纪7O年代以来集成电路和微电子技术的迅猛发展,使传统的冯·诺伊曼型计算机进入发展的全盛时期,因此暂时掩盖了发展新型计算机和寻求新的神经网络的必要性和迫切性。但是在此时期,波士顿大学的S.Grossberg教授和赫尔辛基大学的Koho—nen教授,仍致力于神经网络的研究,分别提出了自适应共振理论(Adaptive Resonance Theory)和自组织特征映射模型(SOM)。以上开创性的研究成果和工作虽然未能引起当时人们的普遍重视,但其科学价值却不可磨灭,它们为神经网络的进一步发展奠定了基础。 复兴时期 20世纪80年代以来,由于以逻辑推理为基础的人工智能理论和冯·诺伊曼型计算机在处理诸如视觉、听觉、联想记忆等智能信息处理问题上受到挫折,促使人们

基于matlab的图像识别与匹配

基于matlab的图像识别与匹配 摘要 图像的识别与匹配是立体视觉的一个重要分支,该项技术被广泛应用在航空测绘,星球探测机器人导航以及三维重建等领域。 本文意在熟练运用图像的识别与匹配的方法,为此本文使用一个包装袋并对上面的数字进行识别与匹配。首先在包装袋上提取出来要用的数字,然后提取出该数字与包装袋上的特征点,用SIFT方法对两幅图进行识别与匹配,最终得到对应匹配数字的匹配点。仿真结果表明,该方法能够把给定数字与包装袋上的相同数字进行识别与匹配,得到了良好的实验结果,基本完成了识别与匹配的任务。

1 研究内容 图像识别中的模式识别是一种从大量信息和数据出发,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别、评价的过程。 图形辨别是图像识别技术的一个重要分支,图形辨别指通过对图形的图像采用特定算法,从而辨别图形或者数字,通过特征点检测,精确定位特征点,通过将模板与图形或数字匹配,根据匹配结果进行辨别。 2 研究意义 数字图像处理在各个领域都有着非常重要的应用,随着数字时代的到来,视频领域的数字化也必将到来,视频图像处理技术也将会发生日新月异的变化。在多媒体技术的各个领域中,视频处理技术占有非常重要的地位,被广泛的使用于农业,智能交通,汽车电子,网络多媒体通信,实时监控系统等诸多方面。因此,现今对技术领域的研究已日趋活跃和繁荣。而图像识别也同样有着更重要的作用。 3 设计原理 3.1 算法选择 Harris 角点检测器对于图像尺度变化非常敏感,这在很大程度上限制了它的应用范围。对于仅存在平移、旋转以及很小尺度变换的图像,基于Harris 特征点的方法都可以得到准确的配准结果,但是对于存在大尺度变换的图像,这一类方法将无法保证正确的配准和拼接。后来,研究人员相继提出了具有尺度不变性的特征点检测方法,具有仿射不变性的特征点检测方法,局部不变性的特征检测方法等大量的基于不变量技术的特征检测方法。 David.Lowe 于2004年在上述算法的基础上,总结了现有的基于不变量技术的特征检测方法,正式提出了一种基于尺度空间的,对图像平移、旋转、缩放、甚至仿射变换保持不变性的图像局部特征,以及基于该特征的描述符。并将这种方法命名为尺度不变特征变换(Scale Invariant Feature Transform),以下简称SIFT 算法。SIFT 算法首先在尺度空间进行特征检测,并确定特征点的位置和特征点所处的尺度,然后使用特征点邻域梯度的主方向作为该特征点的方向特征,以实现算子对尺度和方向的无关性。利用SIFT 算法从图像中提取出的特征可用于同一个物体或场景的可靠匹配,对图像尺度和旋转具有不变性,对光照变化、

BP人工神经网络算法的MATLAB实现

%% 清空环境变量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(1,2000); [m,n]=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),:)'; %输入数据归一化 [inputn,inputps]=mapminmax(input_train); %% 网络结构初始化 innum=24; midnum=25; outnum=4; %权值初始化 w1=rands(midnum,innum); b1=rands(midnum,1); w2=rands(midnum,outnum); b2=rands(outnum,1); w2_1=w2;w2_2=w2_1;

人工神经网络的发展及应用

人工神经网络的发展及应用 西安邮电学院电信系樊宏西北电力设计院王勇日期:2005 1-21 1 人工神经网络的发展 1.1 人工神经网络基本理论 1.1.1 神经生物学基础生物神经系统可以简略地认为是以神经元为信号的处理单元,通过广泛的突触联系形成的信息处理集团,其物质结构基础和功能单元是脑神经细胞,即神经元(neuron) 。 (1)神经元具有信号的输人、整合、输出三种主要功能作用行为,结构如图1 所示: (2)突触是整个神经系统各单元间信号传递驿站,它构成各神经元之间广泛的联接。 (3)大脑皮质的神经元联接模式是生物体的遗传性与突触联接强度可塑性相互作用的产物,其变化是先天遗传信息确定的总框架下有限的自组织过程。 1.1.2 建模方法神经元的数量早在胎儿时期就已固定,后天的脑生长主要是指树突和轴突从神经细胞体中长出并形成突触联系,这就是一般人工神经网络建模方法的生物学依据。人脑建模一般可有两种方法:①神经生物学模型方法,即根据微观神经生物学知识的积累,把脑神经系统的结构及机理逐步解释清楚,在此基础上建立脑功能模型;②神 经计算模型方法,即首先建立粗略近似的数学模型并研究该模型的动力学特性,然后冉与真实对象作比较(仿真处理方法)。1.1.3 概

念人工神经网络用物理町实现系统采模仿人脑神经系统的结构和功能,是一门新兴的前沿交义学科,其概念以T.Kohonen.Pr 的论述 最具代表性:人工神经网络就是由简单的处理单元(通常为适应性神经元,模型见图2)组成的并行互联网络,它的组织能够模拟生物神 经系统对真实世界物体所作出的交互反应。 1.2 人工神经网络的发展 人工神经网络的研究始于40 年代初。半个世纪以来,经历了兴起、高潮与萧条、高潮及稳步发展的较为曲折的道路。1943 年,心理学家W.S.Mcculloch 和数理逻辑学家W.Pitts 提出了M—P 模型, 这是第一个用数理语言描述脑的信息处理过程的模型,虽然神经元的功能比较弱,但它为以后的研究工作提供了依据。1949 年,心理学家D. O. Hebb提出突触联系可变的假设,根据这一假设提出的学习规律为神经网络的学习算法奠定了基础。1957 年,计算机科学家Rosenblatt 提出了著名的感知机模型,它的模型包含了现代计算机的一些原理,是第一个完整的人工神经网络。1969 年,美国著名人工智能学者M.Minsky 和S.Papert 编写了影响很大的Perceptron 一书,从理论上证明单层感知机的能力有限,诸如不能解决异或问题,而且他们推测多层网络的感知能也不过如此,在这之后近10 年,神经网络研究进入了一个缓慢发展的萧条期。美国生物物理学家J.J.Hopfield 于1982年、1984 年在美国科学院院刊发表的两篇文章,有力地推动了神经网络的研究,引起了研究神经网络的

基于matlab的数字识别系统设计

数字识别系统 1.绪论 1.1研究背景 1.1.1索书号的简介 索书号是图书馆赋予每一种馆藏图书的号码,这种号码具有一定结构并带有特定的意义。在馆藏系中,每种书的索书号是唯一的,可准确地确定馆藏图书在书架上的排列位置,它是读者查找图书必要的代码信息。 索书号通常是根据中国图书资料分类法编排的【1】——简称《中图法》。《中图法》采拉丁字母和阿拉伯数字相结合的混合标记符号。根据图书的学科主题,以拉丁字母标记并顺序展列出22个基本大类,其中没有L、M和Y开头的——参考附录1中图法简表。由于“T工业技术”的大类范围广泛、内容繁多,故又在该类基础上采用双位拉丁字母标记出16个二级类目,如TK、TL、TM和TN等。字母之后再用阿拉伯数字对大类进行细分。如B表示哲学、宗教一大类;B020则表示宗教理论。有的图书馆如清华大学还在图书分类号码后添加按照图书作者姓名所编排的著者号码,或者是按照图书进馆时间的先后所取用的顺序号码。 不同索书号确定排列先后顺序的步骤是,先比较分类号码:如分类号码相同再比较著者号码 或顺序号码。最后按照字母表和数字大小的顺序排列。 1.1.2书库中图书查找存在的问题 随着电子计算机和网络技术的发展,现代图书馆都已经广泛建立电子数据库图书管理系统, 方便用户查找、阅览书籍。读者借图书的流程如图2所示,一般利用书目查询系统,根据图书的 书名,出版社,作者以及书的内容等在电子数据库中检索自己需要的图书,记录图书相关信息。 最后,根据图书的索书号,快速方便地在书库中找到相应的图书。但是,经常会遇到下列问题:电子数据库系统显示图书状态为“归还”,利用检索到号,却无法在书库找到此书。出现这种情况主要有两个原因:(1)图书错位放置,即图书在书库中摆放的位置与索书号不一致。(2)图书已经丢失,即虽然电子数据库中显示图书状态为“归还”,但实质图书已经丢失,并不在书库中。随着图书馆藏书数目的不断增加,每天借阅的人数增多,而且有的图书馆发展成拥有几个分馆,上述问题越来越严重。这一方面严重降低了图书馆的资源的利用率;另一方面,浪费了读者的时间,造成了很大麻烦。 目前,图书馆主要通过定期的人工检查发现书库中错位和丢失的图书。但是,由丁馆藏图书

bp神经网络及matlab实现讲解学习

b p神经网络及m a t l a b实现

图1. 人工神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为: 图中 yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数 ( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为: 若用X表示输入向量,用W表示权重向量,即: X = [ x0 , x1 , x2 , ....... , xn ]

则神经元的输出可以表示为向量相乘的形式: 若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。 图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Element )。 2. 常用激活函数 激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。 (1) 线性函数 ( Liner Function ) (2) 斜面函数 ( Ramp Function ) (3) 阈值函数 ( Threshold Function ) 以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。 (4) S形函数 ( Sigmoid Function ) 该函数的导函数:

基于matlab-汽车号牌识别系统设计

汽车号牌识别系统设计 ** 中文摘要:随着二十一世纪到来,经济快速发展和人们生活水平显著提高,汽车逐渐成为家庭的主要交 通工具。汽车的产量快速增多,车辆流动也变得越来越频繁,因此给交通带来了严重问题,如交通堵塞、交通事故等,智能交通系统(Intelligent Transportation System)的产生就是为了从根本上解决交通问题。在智能交通系统中车牌识别技术占有重要位置,车牌识别技术的推广普及必将对加强道路管理、城市交通事故、违章停车、处理车辆被盗案件、保障社会稳定等方面产生重大而深远的影响。 该设计主要研究基于MATLAB 软件的汽车号牌设别系统设计,系统主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别五大核心部分。系统的图像预处理模块是将图像经过图像灰度化、图像增强、边缘提取、二值化等操作,转换成便于车牌定位的二值化图像;利用车牌的边缘、形状等特征,再结合Roberts 算子边缘检测、数字图像、形态学等技术对车牌进行定位;字符的分割采用的方法是将二值化后的车牌部分进行寻找连续有文字的块,若长度大于设定的阈值则切割,从而完成字符的分割;字符识别运用模板匹配算法完成。以上每个功能模块用MATLAB 软件实现,最后识别出车牌,在研究设计的同时对其中出现的问题进行具体分析、处理,并寻求更优的方法。 关键词:MATLAB ,车牌识别系统,字符识别,图像处理 一、总体设计 汽车号牌识别系统技术是从一幅车辆图像中准确定位出车牌区域,然后经过字符切割和字符识别来实现车辆牌照的自动识别。主要流程图如下: 图1.1 二、总体功能模块 基于MA TLAB 车牌识别系统主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别五个关键环节[11],其基本工作如下: (1) 图像采集:使用摄像头、照相机拍摄采集图像。 读取图片 图像预处理 车牌定位 字符分割 模板库 字符识别

基于matlab实现BP神经网络模型仿真

基于BP神经网络模型及改进模型对全国历年车祸次数预测 一、背景 我国今年来随着经济的发展,汽车需求量不断地增加,所以全国每年的车祸次数也被越来越被关注,本文首先搜集全国历年车祸次数,接着通过这些数据利用BP神经网络模型和改进的径向基函数网络进行预测,最后根据预测结果,分析模型的优劣,从而达到深刻理解BP神经网络和径向基函数网络的原理及应用。所用到的数据即全国历年车祸次数来自中国汽车工业信息网,网址如下: https://www.360docs.net/doc/2d16604713.html,/autoinfo_cn/cszh/gljt/qt/webinfo/2006/05/124650 1820021204.htm 制作历年全国道路交通事故统计表如下所示: 二、问题研究 (一)研究方向 (1)通过数据利用BP神经网络模型预测历年全国交通事故次数并与实际值进行比较。(2)分析BP神经网络模型改变训练函数再进行仿真与之前结果进行对比。 (3)从泛化能力和稳定性等方面分析BP神经网络模型的优劣。 (4)利用径向基函数网络模型进行仿真,得到结果与采用BP神经网络模型得到的结果进行比较。

(二)相关知识 (1)人工神经网络 人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 人工神经网络有以下几个特征: (1)非线性非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性网络关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。 (2)非局限性一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。 (3)非常定性人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。 (4)非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。 (2)BP神经网络模型 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。 (3)径向基函数网络模型 径向基函数(Radial Basis Function,RBF)神经网络由三层组成,输入层节点只传递输入信号到隐层,隐层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。 隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具有局部逼近能力,所以径向基函数网络也称为局部感知场网络。

人工神经网络及其应用实例_毕业论文

人工神经网络及其应用实例人工神经网络是在现代神经科学研究成果基础上提出的一种抽 象数学模型,它以某种简化、抽象和模拟的方式,反映了大脑功能的 若干基本特征,但并非其逼真的描写。 人工神经网络可概括定义为:由大量简单元件广泛互连而成的复 杂网络系统。所谓简单元件,即人工神经元,是指它可用电子元件、 光学元件等模拟,仅起简单的输入输出变换y = σ (x)的作用。下图是 3 中常用的元件类型: 线性元件:y = 0.3x,可用线性代数法分析,但是功能有限,现在已不太常用。 2 1.5 1 0.5 -0.5 -1 -1.5 -2 -6 -4 -2 0 2 4 6 连续型非线性元件:y = tanh(x),便于解析性计算及器件模拟,是当前研究的主要元件之一。

离散型非线性元件: y = ? 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6 -4 -2 2 4 6 ?1, x ≥ 0 ?-1, x < 0 ,便于理论分析及阈值逻辑器件 实现,也是当前研究的主要元件之一。 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6 -4 -2 2 4 6

每一神经元有许多输入、输出键,各神经元之间以连接键(又称 突触)相连,它决定神经元之间的连接强度(突触强度)和性质(兴 奋或抑制),即决定神经元间相互作用的强弱和正负,共有三种类型: 兴奋型连接、抑制型连接、无连接。这样,N个神经元(一般N很大)构成一个相互影响的复杂网络系统,通过调整网络参数,可使人工神 经网络具有所需要的特定功能,即学习、训练或自组织过程。一个简 单的人工神经网络结构图如下所示: 上图中,左侧为输入层(输入层的神经元个数由输入的维度决定),右侧为输出层(输出层的神经元个数由输出的维度决定),输入层与 输出层之间即为隐层。 输入层节点上的神经元接收外部环境的输入模式,并由它传递给 相连隐层上的各个神经元。隐层是神经元网络的内部处理层,这些神 经元在网络内部构成中间层,不直接与外部输入、输出打交道。人工 神经网络所具有的模式变换能力主要体现在隐层的神经元上。输出层 用于产生神经网络的输出模式。 多层神经网络结构中有代表性的有前向网络(BP网络)模型、

基于MATLAB的数字识别

计算机与信息工程学院 本科生毕业论文 基于BP神经网络的手写数字识别算法的设计与实现 班级: 13汉班 学号: 20131102507 姓名:江晓雪 指导教师:李艳玲

2017 年 3 月 31 日 毕业论文目录 1 绪论 (1) 1.1 图像识别的提出 (1) 1.2 图像识别的现状与发展趋势 (1) 2 BP神经网络的概述 (2) 3 手写体数字识别的实现过程 (4) 3.1 整体线路图 (4) 3.2 算法流程 (5) 3.3 图像预处理 (10) 3.4 结果分析 (10) 4 结论 (11) 参考文献 (12) 全文共13 页4834 字

基于BP神经网络的手写数字识别算法的设计与实现计算机与信息工程学院 2013级汉班江晓雪 20131102507 指导教师李艳玲副教授 摘要本文实现了基于MATLAB关于神经网络的手写数字识别算法的设计过程,采用神经网络中反向传播神经网络(即BP神经网络)对手写数字的识别,由MATLAB对图片进行读入、灰度化以及二值化等处理,通过神经网络进行训练和测试。实验证明:该神经网络对手写数字的识别可以达到95.65%。 关键词手写数字识别;BP神经网络;MATLAB语言 1 绪论 1.1 图像识别的提出 图像识别在信息技术发达的今天已经占据了很重要的地位,在我们实际生活中也有很多应用。所谓的图像识别,就是指通过计算机对图像进行相应的处理、分析,来达到识别不同模型的目标和任务的一种技术。对于它的提出,简单的来说,它的发展经历了三个阶段:第一个是文字识别、第二个是数字图像处理与识别、第三个是物体识别。第一种相对来说比较简单,它的研究是从1950年开始的,一般情况是识别字母、符号和数字,无论是印刷体识别还是手写体识别,它的应用都非常广泛,但是也伴随着,这个识别的过程会更加的耗时、费力,无论是人力还是物力,都会有很大的损失;第二种就是我们所说的数字图像处理与识别,在图片的识别过程中,图片识别会有一定的误差,也会带来小小的麻烦;第三就是物体识别,而物体的识别主要指的是:在三维世界中,对于个体、环境的感知和认识进行识别,这不同于二维世界的认知,相对来说是更高级的计算机图像识别,它是以二维世界中对数字图像和模拟图像处理的办法为依据,进行更高一级的,并且结合了现代人工智能技术等学科的研究目标,研究成果已经被广泛的应用在各种工业探测机器人上,为人们的安全提供了很大的帮助。 1.2 图像识别的现状与发展趋势 随着网络的发达、电子的信息化,图像识别的应用已经非常广泛,而主要的

基于MATLAB的BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别 【摘要】随着现代社会的发展,信息的形式和数量正在迅猛增长。其中很大一部分是图像,图像可以把事物生动的呈现在我们面前,让我们更直观地接受信息。同时,计算机已经作为一种人们普遍使用的工具为人们的生产生活服务。如今我们也可以把这些技术应用在交通领域。作为智能交通系统(InteUigent Traffic System,简称ITS)中的一个重要组成部分的车牌识别技术,当然就是其中的重点研究对象。车辆牌照识别(License P1ate Recognition,简称LPR),是一种关于计算机的包括图像处理、数学技术、数据库、信息技术以及智能技术于一体的综合技术。用MATLAB做车牌识别比用其他工具有许多优势,因为MATLAB在图像的灰度化、二值化、滤波等方面都有很大优势,所以,本次实验我们利用MA TLAB的这些优点来对车牌进行识别。 【关键词】BP神经网络;图像识别;字符识别;特征提取;车牌;Matlab 一课题研究背景 (一)图像识别的提出及应用 随着信息化时代的不断发展,人们越来越多地使用信息化的手段来解决各种问题——办公自动化、先进制造业、电子商务等利用计算机技术而产生的新兴行业正不断靠近我们的生活。在信息社会中,我们每天都接触大量的数据——工作数据、个人数据、无意间获得的数据等——在这些数据中,有些数据需要我们人工处理,而有些则可以利用计算机快速准确的完成——字符识别就是其中的一个范畴。 字符识别是一种图像识别技术,他的输入是一张带有某种字符的图片,而输出则是计算机中对于图片中字符的反应结果。所以,可以广泛的应用于各种领域:如,车牌检测、手写识别、自动阅读器、机器视觉……在生活生产的各个方面都起到了非常重要的作用。(二)图像识别技术的发展趋势 虽然图像识别技术还不是非常成熟,但现其已经有了很多可喜的成果,比如图像模式识别,图像文字识别。并且其还在飞速的发展着,图像识别的应用正朝着不同的领域渗透着,像计算机图像生成,图像传输与图像通信,高清晰度电视,机器人视觉及图像测量,办公室自动化,像跟踪及光学制导,医用图像处理与材料分析中的图像分析系统,遥感图像处理和空间探测,图像变形技术等等。从所列举的图像技术的多方面应用及其理论基础可以看出,它们无一不涉及高科技的前沿课题,充分说明了图像技术是前沿性与基础性的有机统一。 可以预计21世纪,图像技术将经历一个飞跃发展的成熟阶段,为深入人民生活创造新的文化环境,成为提高生产的自动化、智能化水平的基础科学之一。图像技术的基础性研究,特别是结合人工智能与视觉处理的新算法,从更高水平提取图像信息的丰富内涵,成为人类运算量最大、直观性最强,与现实世界直接联系的视觉和“形象思维”这一智能的模拟和复现,是一个很难而重要的任务。“图像技术”这一上世纪后期诞生的高科技之花,其前途是不可限量的。 随着21世纪经济全球化和信息时代的发展,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。近年来计算机的飞速发展和数字图像处理技术的日趋成熟,为传统的交通管理带来了巨大转变。图像处理技术发展相当快,而其中对汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。汽车牌照自动识

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

人工神经网络作业MATLAB仿真(共3篇)

人工神经网络作业M A T L A B 仿真(共3篇) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

人工神经网络仿真作业(3篇) 人工神经网络仿真作业1: 三级倒立摆的神经网络控制 人工神经网络仿真作业2: 基于模型整体逼近的机器人RBF网络自适应控制 人工神经网络仿真作业3: 基于RBF的机械手无需模型自适应控制研究

神经网络仿真作业1:三级倒立摆的神经网络控制 摘要:建立了基于人工神经网络改进BP 算法的三级倒立摆的数学模型,并给 出了BP 网络结构,利用Matlab 软件进行训练仿真,结果表明,改进的BP 算法控制倒立摆精度高、收敛快,在非线性控制、鲁棒控制等领域具有良好的应用前景。 1.引言 倒立摆系统的研究开始于19世纪50年代,它是一个典型的非线性、高阶次、多变量、强耦合和绝对不稳定系统.许多抽象的控制概念,如系统的稳定性、可控性、系统的收敛速度和抗干扰能力都可以通过倒立摆直观地表现出来。随着现代控制理论的发展,倒立摆的研究对于火箭飞行控制和机器人控制等现代高科技的研究具有重要的实践意义。目前比较常见的倒立摆稳定控制方法有线性控制,如LQR,LQY 等;智能控制,如变论域自适应模糊控制,遗传算法,预测控制等。 2.系统的数学模型 2.1三级倒立摆的模型及参数 三级倒立摆主要由小车,摆1、摆2、摆3组成,它们之间自由链接。小车可以在水平导轨上左右平移,摆杆可以在铅垂平面内运动,将其置于坐标系后如图1 所示: 规定顺时针方向的转角和力矩均为正。此外,约定以下记号:u 为外界作用力,x 为小车位移,i (i =1,2,3)为摆i 与铅垂线方向的夹角, i O 分别为摆i 的链接点位置。其它的系统参数说明如下:

人工神经网络概述及其在分类中的应用举例

人工神经网络概述及其在分类中的应用举例 人工神经网络(ARTIFICIAL NEURAL NETWORK,简称ANN)是目前国际上一门发展迅速的前沿交叉学科。为了模拟大脑的基本特性,在现代神经科学研究的基础上,人们提出来人工神经网络的模型。人工神经网络是在对人脑组织结构和运行机智的认识理解基础之上模拟其结构和智能行为的一种工程系统。 神经网络在2个方面与人脑相似: (1) 人工神经网络获取的知识是从外界环境中学习得来的。 (2) 互连神经元的连接强度,即突触权值,用于存储获取的信息。他既是高度非线性动力学系统,又是自适应组织系统,可用来描述认知、决策及控制的智能行为。神经网络理论是巨量信息并行处理和大规模并行计算的基础。 一人工神经网络的基本特征 1、并行分布处理:人工神经网络具有高度的并行结构和并行处理能力。这特别适于实时控制和动态控制。各组成部分同时参与运算,单个神经元的运算速度不高,但总体的处理速度极快。 2、非线性映射:人工神经网络具有固有的非线性特性,这源于其近似任意非线性映射(变换)能力。只有当神经元对所有输入信号的综合处理结果超过某一门限值后才输出一个信号。因此人工神经网络是一

种具有高度非线性的超大规模连续时间动力学系统。 3、信息处理和信息存储合的集成:在神经网络中,知识与信息都等势分布贮存于网络内的各神经元,他分散地表示和存储于整个网络内的各神经元及其连线上,表现为神经元之间分布式的物理联系。作为神经元间连接键的突触,既是信号转换站,又是信息存储器。每个神经元及其连线只表示一部分信息,而不是一个完整具体概念。信息处理的结果反映在突触连接强度的变化上,神经网络只要求部分条件,甚至有节点断裂也不影响信息的完整性,具有鲁棒性和容错性。 4、具有联想存储功能:人的大脑是具有联想功能的。比如有人和你提起内蒙古,你就会联想起蓝天、白云和大草原。用人工神经网络的反馈网络就可以实现这种联想。神经网络能接受和处理模拟的、混沌的、模糊的和随机的信息。在处理自然语言理解、图像模式识别、景物理解、不完整信息的处理、智能机器人控制等方面具有优势。 5、具有自组织自学习能力:人工神经网络可以根据外界环境输入信息,改变突触连接强度,重新安排神经元的相互关系,从而达到自适应于环境变化的目的。 6、软件硬件的实现:人工神经网络不仅能够通过硬件而且可借助软件实现并行处理。近年来,一些超大规模集成电路的硬件实现已经问世,而且可从市场上购到,这使得神经网络具有快速和大规模处理能力的实现网络。许多软件都有提供了人工神经网络的工具箱(或软件包)如Matlab、Scilab、R、SAS等。 二人工神经网络的基本数学模型

基于MATLAB数字图像处理杂草识别

基于MATLAB数字图像处理杂草识别

基于数字图像处理的杂草识别 班级:信息5班 组员:李辉李少杰李港深胡欣阳 学号:04141394 04141395 04141393 0414139 指导教师:蔡利梅 组员分工: 李辉:部分程序,查找资料 李少杰:实验报告,PPT,演讲 李港深:部分程序,实验报告 胡欣阳:部分程序,实验报告

摘要 杂草同农田作物争夺阳光和养分,严重影响了农作物的生长。为了达到除草的目的,人们开始喷洒大量的除草剂来进行除草。可是却忽略了除草剂的不当使用给人、畜以及环境造成的危害。本文从实际应用出发,设计了一个基于数字图像处理的杂草图像特征提取及识别设计方案。运行在参考了前人研究成果的基础上,不断将算法改进,找出适合于MATLAB杂草识别的可行性方法。本文对杂草图像的处理和识别方法进行研究。采集来的图像经常会有模糊现象的发生,对模糊图像的恢复处理做了大量的研究试验,得出维纳滤波具有较好的恢复效果;绿色植物和土壤背景的分割试验中,提出了一种基于彩色图像的二值化方法,可以不经过彩色图像灰度化就能够直接把绿色植物与土壤背景分割开,和以往的分割方法相比处理速度快,分割效果好,更加满足实时性;杂草和作物的分割主要研究了行间杂草和作物的分割,参考国内外资料,并进行研究试验,表明运用位置特征识别法有很好的分割效果,寻找作物中心行采用了简单快速的像素位置直方图法,采用了区域生长,和其他方法相比减少了重复操作,节省了时间,满足实时处理的要求;分割后的图像为只含有杂草的二值图像,通常会有一些残余的叶片和颗粒的噪声,通过形态学滤波或中值滤波去除噪声。 1、研究目的及意义 杂草是生态系统中的一员,农田杂草是农业生态系统中的

基于matlab的数字识别系统设计论文 精品

基于matlab的数字识别系统设计论文 1.绪论 1.1研究背景 1.1.1索书号的简介 索书号是图书馆赋予每一种馆藏图书的号码,这种号码具有一定结构并带有特定的意义。在馆藏系中,每种书的索书号是唯一的,可准确地确定馆藏图书在书架上的排列位置,它是读者查找图书必要的代码信息。 索书号通常是根据中国图书资料分类法编排的【1】——简称《中图法》。《中图法》采拉丁字母和阿拉伯数字相结合的混合标记符号。根据图书的学科主题,以拉丁字母标记并顺序展列出22个基本大类,其中没有L、M和Y开头的——参考附录1中图法简表。由于“T工业技术”的大类范围广泛、内容繁多,故又在该类基础上采用双位拉丁字母标记出16个二级类目,如TK、TL、TM和TN等。字母之后再用阿拉伯数字对大类进行细分。如B表示哲学、宗教一大类;B020则表示宗教理论。有的图书馆如清华大学还在图书分类号码后添加按照图书作者姓名所编排的著者号码,或者是按照图书进馆时间的先后所取用的顺序号码。 不同索书号确定排列先后顺序的步骤是,先比较分类号码:如分类号码相同再比较著者号码 或顺序号码。最后按照字母表和数字大小的顺序排列。 1.1.2书库中图书查找存在的问题 随着电子计算机和网络技术的发展,现代图书馆都已经广泛建立电子数据库图书管理系统, 方便用户查找、阅览书籍。读者借图书的流程如图2所示,一般利用书目查询系统,根据图书的 书名,出版社,作者以及书的内容等在电子数据库中检索自己需要的图书,记录图书相关信息。 最后,根据图书的索书号,快速方便地在书库中找到相应的图书。但是,经常会遇到下列问题:电子数据库系统显示图书状态为“归还”,利用检索到号,却无法在书库找到此书。出现这种情况主要有两个原因:(1)图书错位放置,即图书在书库中摆放的位置与索书号不一致。(2)图书已经丢失,即虽然电子数据库中显示图书状态为“归还”,但实质图书已经丢失,并不在书库中。随着图书馆藏书数目的不断增加,每天借阅的人数增多,而且有的图书馆发展成拥有几个分馆,上述问题越来越严重。这一方面严重降低了图书馆的资源的利用率;另一方面,浪费了读者的时间,造成了很大麻烦。 目前,图书馆主要通过定期的人工检查发现书库中错位和丢失的图书。但是,由丁馆藏图书 多达上万,甚至几十万,而且每天又都有大量图书的借出和还入,人工检查工作量很大,单调、 重复的工作容易使工作员疲劳,检查速度比较慢,无法满足实际的需要。因此,迫切希望开发索书

相关文档
最新文档