推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python语言的图像识别算法设计

资料介绍

人工神经网络这一技术自近年发明以来,受到了国内外业界的广泛关注,各个领域的科学研究人员对其进行了深入的研究,也取得了较为丰富的成果,例如采用BP神经网络对图像质量进行智能评价等。通常的BP神经网络,其输入是纯数值型的,所以需要先对待识别图像作特征提取,文章提出了一种新的BP神经网络图像识别方法,将图像数据整体作为BP神经网络的输入,大大提高了识别效率。最后,文章采用Python语言对该方法进行了实现。结果表明,该方法成功率高,且抗干扰能力强。


部分文件列表

文件名 大小
基于Python语言的图像识别算法设计.pdf 2M

部分页面预览

(完整内容请下载后查看)
第12期  
江苏科技信息  
No.12  
2019年4月  
Jiangsu Science & Technology Information  
April,2019  
基于Python语言的图像识别算法设计  
陈 倩,陈建敏  
(黄山职业技术学院,安徽 黄山 245000)  
摘
要:人工神经网络这一技术自近年发明以来,受到了国内外业界的广泛关注,各个领域的科学  
研究人员对其进行了深入的研究,也取得了较为丰富的成果,例如采用 BP 神经网络对图像质量进  
行智能评价等。通常的 BP 神经网络,其输入是纯数值型的,所以需要先对待识别图像作特征提  
取,文章提出了一种新的 BP 神经网络图像识别方法,将图像数据整体作为 BP 神经网络的输入,大  
大提高了识别效率。最后,文章采用 Python 语言对该方法进行了实现。结果表明,该方法成功率  
高,且抗干扰能力强。  
关键词:Python;人工神经网络;BP 神经网络;图像识别  
中图分类号:TF325.69  
文献标识码:A  
0
引言  
于人类的阅读习惯,这一特点能够让使用者将更多的  
时间用于解决问题而不是去学习语言,因此,对于初  
学者来说Python语言非常友好。  
人工神经网络得益于其较强的适应能力和学习  
能力,已经成为深度学习不可或缺的重要组成部分,  
在各个领域,尤其是在非线性数据的分析中得到了快  
速的发展和应用。图像识别的过程中,由于影响因素  
较多,且需要处理的数据多为非结构化,甚至不完整  
的数据,传统的分析模型处理起来往往力不从心。而  
相比较而言,人工神经网络模型在处理多维、非线性  
问题的时候其优势就极为明显,本文所采用的 BP 神  
经网络是使用误差逆扩散算法进行训练的多层、前馈  
神经网络模型,只需对BP神经网络中的结构、权值和  
阈值加以适当调整,模型就可以满足大量非线性映射  
关系的学习和存储要求,所以非常适合将其应用于各  
种图像的分析和识别。  
1.2.2 可移植性较好  
在计算机内部,Python解释器把源代码转换成字  
节码,然后再将其翻译成机器语言执行,所以使用者  
不用担心程序如何编译、如何连接正确的库等问题,  
这些特点使得 Python 编写的程序更加易于移植。而  
且Python还是一种开源语言,所以很多平台都对其进  
行了移植,例如Linux,Windows和各种linux平台。  
1.2.3 扩展性和可嵌入性较强  
如果编程者希望获得更快的运行速度,或是不公  
开某些关键算法,那么可以先用 C/C++编写该段代  
码,然后在Python程序中调用它们。反过来也可以把  
Python 嵌入写好的 C/C++程序中,从而向用户提供脚  
本功能。  
1
Python语言简介  
1.1 Python及其发展历程  
Python最早于20世纪80年代由荷兰国家数学和  
计算机科学研究所的 Guido Van Rossum 发明[1],它是  
一种高级脚本语言,结合了编译性、解释性、互动性和  
面向对象的特点,且遵循GNU通用公共许可证(GNU  
General Public License,GPL)协议。目前,Python由一  
个核心开发团队在进行维护,Guido van Rossum 则继  
续发挥着重要作用,并对维护团队的工作进行指导。  
1.2 Python语言主要优点  
2
人工神经网络  
2.1 人工神经网络及其分类  
2.1.1 人工神经网络  
人工神经网络(Artificial Neural Network,ANN),  
又称为神经网络或类神经网络,自 20 世纪 80 年代提  
出以来,一直都是人工智能领域的研究热点,特别是  
最近的十多年,随着对人工神经网络的研究进程不  
断推进,其应用领域不断拓展,已经成功解决了许多  
现代计算机难以解决的问题,在自动控制、智能预  
测、模式识别、生物制药等领域表现出了良好的使用  
价值[2]。  
1.2.1 简单易学  
Python 使用 C 语言编写,但它摒弃了 C 语言中较  
为复杂的指针,并对其语法进行了简化,使其更适合  
作者简介:陈倩(1982—),女,安徽黄山人,讲师,学士;研究方向:计算机应用,程序设计。  
- 48 -  
第12期  
No.12  
2019年4月  
江苏科技信息 · 应用技术  
April,2019  
本质上来说,人工神经网络是对人脑神经元网络  
好地保存各神经元间的映射关系。经典的BP神经网  
络的结构如图2所示。  
的一种抽象,从信息处理的角度来建立某种模型,该  
模型由大量的节点神经元之间相互联接构成,而根据  
连接方式的不同,其组成的网络也不同。网络中的每  
个节点神经元都代表着一种特定的输出函数,即激励  
函数。两个节点的连接代表着一个加权值,即权重,  
所有的权重在一起构成了人工神经网络的记忆。连  
接方式、权重值和激励函数三者共同决定了网络的最  
终输出。  
2.1.2 人工神经网络的常见分类  
根据不同的学习环境,通常可以将神经网络分为  
无监督学习神经网络和有监督学习神经网络。对无  
监督学习神经网络而言,没有事先给定的标准样本,  
也不存在学习阶段和工作阶段的划分,神经网络直接  
与使用环境进行作用。一个最常见的例子就是Hebb  
学习规则。Hebb学习规则主要受巴甫洛夫的条件反  
射实验启发,其主要机理是一致的,Hebb理论认为如  
果两个神经元总是在同一时间被激发,它们之间的联  
系就会被强化;反之如果两个神经元总是不能被同步  
激发,这两个神经元间的联系就会被削弱。对有监督  
学习神经网络而言,先要把训练样本的数据加到神经  
网络的输入端,得到输出值后,与期望的输出值进行  
比较,得到两者之间的误差值,根据误差值调整权值,  
重复这一过程直到结果收敛到一个确定的权值。如  
果环境发生了变化,神经网络可通过学习修改权值来  
适应新的环境,常见的有监督学习神经网络模型有反  
传网络、感知器等。  
图2 典型BP神经网络结构  
2.3 BP神经网络实现步骤  
使用 BP 神经网络对图像进行识别,主要有两个  
阶段:(1)把已掌握的样本值导入预先设计好的网络  
结构中,以此得到神经元的输出值。(2)误差的反向传  
播阶段,从最后一步开始,逐步向前计算不同的权值  
阈值对误差的影响,并依据最小误差不断修正结果。  
重复这两个过程,直到结果符合预期,其具体的算法  
流程如图3所示。  
BP神经网络实现过程中,各步骤具体计算如下。  
(1)初始化人工神经网络。根据待处理数据类型  
选择合适的输入输出神经元(X,Y),对网络输入神经  
元节点数n,输出层节点数m、隐含层节点数l、隐含层  
阈值 a 和输出层阈值 b 进行设置。对连接权值 wij,wjk  
进行初始化。设定合适的激活函数及学习速率。  
(2)计算隐含层输出值。在确定连接权值 wij 以  
及隐含层阈值a后,即可算出隐含层输出值H。  
(3)计算输出层输出值。根据连接权值 wjk、阈值  
b 和上一步得到的输出值 H,即可得到人工神经网络  
预测输出值O。  
2.2 BP神经网络基本原理  
[3]  
美国生理/精神专家Mcculloch等 和数理逻辑学  
家 W·pitts 共同于 1943 年首次发表了人工神经网络  
的相关论文,该论文的发表也标志着人工神经网络的  
诞生。本文开拓性地提出了第一个形式神经元的计  
算模型,即M-P模型,这一模型的创造打开了神经科  
学研究的大门,其具体结构如图1所示。  
(4)计算误差输出 e。根据上一步得到的预测值  
O及已知的期望值Y,即可得到误差值e。  
(5)对权值进行更新。反向传播上一步得到的误  
差e,更新连接权值wij和wjk。  
(6)对阈值进行更新。反向传播误差 e,对阈值  
a,b进行更新。  
图1 M-P神经网络模型  
(7)重复步骤(5)~(6),不断迭代更新 wij,wjk,a和  
b的值,直至误差达到可以接受的范围。  
在此基础上,Baek 传播(Baek Propagation,BP)神  
经网络得以提出并逐步发展,BP 神经网络从本质上  
来说是一种多层前馈型神经网络,该网络能够更好地  
运用隐含单元来解决连接权的问题。而且BP神经网  
络还具有机器自学习并存储记忆的能力,所以可以更  
3
图像识别  
3.1 图像识别  
图像识别指的是使用计算机对图像进行分析和  
处理,从而对不同模式的各种目标和对像进行识别的  
- 49 -  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:他山之石可攻玉

  • 21下载积分 打赏310.00元   3天前

    用户:小猫做电路

  • 21下载积分 打赏210.00元   3天前

    用户:zhengdai

  • 21下载积分 打赏210.00元   3天前

    用户:w993263495

  • 21下载积分 打赏10.00元   3天前

    用户:烟雨

  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

推荐下载