内容简介
《图像处理与脉冲耦合神经网络:基于Python的实现(第3版)》对多种生物视觉模型的起源及特点进行了分析,并详述了PCNN与ICM两种模型的构成及工作机理。然后以PCNN与ICM模型为基础,全面说明了这两种模型在图像分析、目标分离、纹理识别、彩色图像处理、图像时间信号提取与应用及逻辑分析等方面的应用。同时还对书中多种算法给出了具体的Python实现代码。
《图像处理与脉冲耦合神经网络:基于Python的实现(第3版)》内容丰富、案例典型、学术性强、应用价值强、可读性好。非常适合从事智能信息处理、图像处理与识别等信息学科相关专业人员阅读与使用。
作者简介
徐光柱,男,1979年1月生,副教授。2007毕业于兰州大学,获得无线电物理专业博士学位。2007年加入三峡大学从事教学科研工作。2010年12月-2011年6月在美国南卡罗来纳州克莱姆森大学做访问学者。目前在三峡大学计算机与信息学院从事教学科研工作。主要从事计算机视觉与图像图形处理等方面的研究。
马义德,男,1963年2月生,甘肃临夏人,教授。2001年获得兰州大学博士学位,现任兰州大学信息科学与工程学院电路与系统研究所所长,兰州大学Ti-DSP联合实验室主任。目前在兰州大学信息科学与工程学院从事教学科研工作,主要从事数字图像处理、嵌入式系统等方面的研究。
雷帮军,男,1973年6月生,湖北宜昌人,教授。2003年获荷兰德尔夫特理工大学博士学位,湖北省“百人计划”特聘教授,楚天学者特聘教授。现任三峡大学智能视觉与图像信息研究所所长,湖北省水电工程智能视觉监测重点实验室主任。主要从事数字图像处理、计算机视觉等方面的研究。
Thomas Lindblad(托马斯·林德布拉德)于1974年获得瑞典斯德哥尔摩大学博士学位,瑞典皇家理工学院教授。早期从事核结构与离子物理学方面的研究,专注于检测系统;后期专注于教学,在瑞典皇家理工学院物理系从事环境物理学的教学多年,指导本科生从事科学研究。在此期间他的研究领域聚焦在传感器技术与持续数据流中的特征提取。
Jason M.Kinser(詹森·金赛)分别于1994年与1987年获得光学与光电系统博士学位及物理学硕士学位。1994年他作为副研究员加入AlabamaA&M;大学,同时也是应用光学科学中心的创始人员之一。1997年他来到乔治梅森大学任职,现在是该校物理与计算科学学院的副教授。他的研究领域包括光学与图像信息处理(脉冲图像处理)及多学科领域中的数据处理。
内页插图
目录
第1章 生物模型
1.1 引言
1.2 生物学基础
1.3 Hodgkin-Huxley模型
1.4 Fitzhugh-Nagumo模型
1.5 Eckhom模型
1.6 aybak模型
1.7 Parodi模型
1.8 小结
第2章 Python程序设计
2.1 编程环境
2.1.1 命令行界面
2.1.2 IDLE
2.1.3 创建一个工作环境
2.2 数据类型和简单的数学运算
2.3 元组、列表和字典
2.3.1 元组
2.3.2 列表
2.3.3 字典
2.4 切片
2.5 字符串
2.5.1 字符串函数
2.5.2 类型转换
2.6 控制流
2.7 输入和输出
2.7.1 文本文件读写
2.7.2 Pickle模块
2.8 函数
2.9 模块
2.10 面向对象的程序设计
2.10.1 类的内容
2.10.2 运算符定义
2.10.3 继承
2.11 检错
2.12 小结
第3章 Numpy、SciPy和Python Image Library
3.1 NumPy
3.1.1 创建数组
3.1.2 数组转换
3.1.3 矩阵:向量乘法
3.1.4 数组的优势
3.1.5 数据类型
3.1.6 排序
3.1.7 字符串和列表的转换
3.1.8 矩阵的改变
3.1.9 高级切片
3.2 SciPy
3.3 NumPy中的设计
3.4 Python图像库PIL(Python Image Library)
3.4.1 图像的读出
3.4.2 图像的写入
3.4.3 图像转换
3.5 小结
第4章 PCNN与ICM
4.1 PCNN
4.1.1 原始模型
4.1.2 Python实现
4.1.3 脉冲发放行为
4.1.4 神经元动态行为的累积
4.1.5 时间信号
4.1.6 神经元连接
4.1.7 快速连接
4.1.8 连续时间模型
4.2 ICM
4.2.1 最小连接需要
4.2.2 ICM原理
4.2.3 ICM中的连接
4.2.4 ICM的Pvthon实现
4.3 小结
第5章 图像分析
5.1 相关图像信息
5.2 图像分割
5.2.1 血细胞
5.2.2 乳房X线影像
5.3 自适应分割
5.4 焦点和分级聚焦点
5.4.1 分级聚焦检测(凹点检测)算法
5.4.2 基于PCNN多级聚焦模型的目标识别
5.5 图像分解
5.6 小结
第6章 反馈和分离
6.1 反馈式PCNN
6.2 目标分离
6.2.1 输入图像的规格化
6.2.2 滤波器的创建
6.2.3 脉冲图像的边缘增强
6.2.4 相关及改进
6.2.5 峰值检测
6.2.6 对输入图像和PCNN所做的调整
6.2.7 驱动程序
6.3 动态目标分离
6.4 阴影目标
6.5 噪声图像下的情况
6.6 小结
第7章 分类识别
7.1 航空器
7.2 北极光
7.3 目标识别:二值图像的相关性
7.4 星系
7.5 手势识别
7.6 路面检测
7.7 数字符号
7.7.1 数据集合
7.7.2 分离出各类的训练图像
7.8 产生脉冲图像
7.8.1 图像时间信号的分析
7.9 人脸定位及识别
7.10 小结
第8章 纹理识别
8.1 脉冲谱
8.2 纹理脉冲谱的统计可分性
8.3 基于统计方法的脉冲谱识别
8.4 基于联想记忆的脉冲谱识别
8.5 生物学上的运用
8.6 纹理研究
8.7 小结
第9章 颜色和多通道
9.1 模型
9.1.1 彩色图像的例子
9.1.2 基于Python的实现
9.2 多光谱实例
9.3 彩色模型的应用
9.4 小结
第10章 图像的时间信号
10.1 图像的时间信号理论
10.1.1 PCNN和图像时间信号
10.1.2 彩色与形状
10.2 目标的时间信号
10.3 真实图像的时间信号
10.4 图像时间信号数据库
10.5 计算最佳视角
10.6 运动估计
10.7 小结
第11章 逻辑
11.1 迷宫穿行和TSP(旅行商)问题
11.2 条形码和导航
11.3 小结
附录A 图像转换器
附录B 几何模块
附录C 分数幂指数滤波器
附录D 相关运算
附录E FAAM
附录F 主成分分析
参考文献
前言/序言
相对于第二版而言,第三版增加了两个主要的部分。首先是增加了一些新的应用。近年来与PCNN及交叉皮层模型(ICM)相关的论文不断涌现,其中一些被选入了本书。
第二个主要变化是增加了Python脚本代码。近十年来,作为一个功能强大的工具,Python已经被用于很多科学研究领域。配合Numeric包,Python能以寥寥几行代码轻松地实现线性代数运算。这种高效性使得在书中理论及应用部分加入Python脚本代码成为可能。
我们尽一切可能力求书中相关应用的Python代码完整可靠。脚本代码是基于Python2.7的,这是Linux发行版本中的标准配置。使用Python3.0的读者会发现一些语法差异,需要对Python2.7版本下的代码进行相应调整。
对Python编程较为熟悉的读者可能会注意到书中代码可以被压缩至更少行。但本书附带代码的用意是传递学术信息,所以脚本代码相对于精简性而言更偏重于可读性。
本书作者编写的所有Python脚本代码可以从网站http://www.binf.gmu.edu/kinser下载。Python系统、Numeric Python包(NumPy)、Scientific Python包(SciPy)、Python图像包(Python Image Library,PIL)可以从其各自的网站获得,这将在本书第3章给出说明。书中所有脚本代码受版权保护,只能用于学术研究,未经允许,不得用于商业目的。
图像处理的革新之路:脉冲耦合神经网络的Python实践 在信息爆炸的时代,图像作为信息传递最直观、最高效的载体,其重要性不言而喻。从科学研究到工业生产,从医疗诊断到艺术创作,图像处理技术渗透于我们生活的方方面面。而在这场由图像驱动的革新浪潮中,脉冲耦合神经网络(Pulse-Coupled Neural Networks, PCNN)以其独特的生物启发机制和强大的图像信息提取能力,正扮演着越来越重要的角色。本书,《图像处理与脉冲耦合神经网络:基于Python的实现(第3版)》,将带领您踏上一段深入探索PCNN在图像处理领域应用的精彩旅程。 PCNN:揭示生物视觉的奥秘,赋能智能图像分析 传统的图像处理方法往往依赖于预设的数学模型和人工设计的特征提取器,其在处理复杂、噪声干扰严重的图像时,往往显得力不从心。而PCNN的出现,则为我们提供了一种全新的视角。受猫视觉皮层神经元发放脉冲信号机制的启发,PCNN模型能够模拟生物视觉系统的信息处理过程,实现对图像中空间和时间信息的精妙捕捉。 PCNN的核心在于其“耦合”机制。每个神经元接收来自邻域神经元的脉冲信号,并根据这些信号和自身的内部状态决定是否发放脉冲。这种相互连接和反馈使得PCNN能够形成一种自组织的网络,在处理图像时,能够有效地抑制背景噪声,突出关键特征,并能根据图像内容的局部特性动态调整其响应。这使得PCNN在图像分割、边缘检测、特征提取、纹理分析、图像复原等方面展现出超越传统方法的强大优势。 Python:连接理论与实践的桥梁 理论的飞跃需要强大的工具来实现。Python,作为一门集易学性、高效性和丰富的库资源于一身的编程语言,已成为当前科学计算和人工智能领域的主流语言。本书紧密结合Python,将PCNN的理论知识与实际编程应用融为一体。我们不回避复杂的数学原理,但更注重通过简洁、清晰的Python代码来展现PCNN的算法实现。 本书第三版更是力求在Python实现方面精益求精。我们整合了最新的Python库和开发实践,优化了代码的结构和效率,使得读者不仅能够理解PCNN的工作原理,更能亲手构建和运行功能强大的PCNN模型。无论您是初学者还是有一定基础的开发者,都能在书中找到适合自己的学习路径,将抽象的理论转化为可执行的代码,体验将PCNN应用于实际图像处理任务的乐趣。 本书结构概览:从基础到进阶,循序渐进 本书的内容组织严谨,逻辑清晰,旨在为读者提供一个全面而深入的学习体验。 第一部分:PCNN理论基石 第一章:图像处理与神经网络概述 本章将为读者构建一个宏观的认知框架,首先介绍图像处理的基本概念、挑战以及发展历程。我们将讨论图像处理在各个领域的应用,以及为什么需要更高级的智能处理方法。 随后,我们将引入神经网络的概念,从感知机到深度学习,简要梳理神经网络的发展脉络。重点将放在介绍神经网络在模式识别和特征提取方面的能力,为后续深入PCNN打下基础。 本章还将初步探讨生物视觉系统的信息处理机制,为理解PCNN的生物启发性做铺垫。 第二章:脉冲耦合神经网络(PCNN)的数学模型与基本原理 本章将深入剖析PCNN的核心数学模型。我们将详细介绍PCNN的各个组成部分,包括 the linking(连接项)、the modulation(调制项)、the ignition(点火项)以及 the output(输出项)。 我们将用清晰的数学公式和图示来解释每个部分的功能,例如连接项如何模拟神经元之间的相互作用,调制项如何影响神经元的兴奋性,点火项如何决定神经元是否发放脉冲,以及输出项如何表示神经元的脉冲信号。 本章还将讨论PCNN的模型参数及其对网络行为的影响,为后续的参数优化和调优奠定基础。 第三章:PCNN的神经元模型与动态行为 本章将聚焦于PCNN的神经元层面的细节。我们将探讨不同的PCNN神经元模型,例如经典的Jeulin模型以及其他改进模型,分析它们的数学特性和计算复杂度。 我们将深入研究PCNN的动态行为,包括脉冲的生成、传播和同步现象。通过分析这些动态行为,读者将能更深刻地理解PCNN如何处理时空信息,并如何涌现出复杂的全局模式。 本章还会介绍一些与PCNN相关的数学概念,如混沌理论和分形几何,以展示PCNN模型的丰富性和复杂性。 第二部分:PCNN的Python实现与核心算法 第四章:Python基础与图像处理库 为了让读者能够顺利地进行实践,本章将提供必要的Python编程基础回顾。我们将重点介绍Python中用于科学计算的核心库,如NumPy(用于高效的数值计算)和Matplotlib(用于数据可视化)。 特别地,我们将详细介绍OpenCV(Open Source Computer Vision Library)在图像处理方面的强大功能。读者将学习如何使用OpenCV加载、显示、存储图像,以及进行基本的图像操作,如灰度化、二值化、尺寸调整等。 本章的目标是让读者熟悉Python开发环境和必要的图像处理工具,为后续的PCNN实现做好准备。 第五章:基于Python的PCNN模型实现 本章将是本书的实践核心。我们将一步一步地指导读者使用Python和NumPy库实现一个功能完备的PCNN模型。 我们将从最基本的PCNN神经元模型开始,逐步构建连接项、调制项、点火项和输出项的Python代码。代码将清晰、模块化,并配有详细的注释。 我们还会讨论如何有效地处理图像作为PCNN的输入,以及如何将PCNN的输出转化为有意义的图像处理结果。读者将学会如何构建自己的PCNN类或函数,并实例化模型。 第六章:PCNN在图像分割中的Python应用 图像分割是PCNN最经典的应用领域之一。本章将展示如何利用PCNN强大的自组织和特征提取能力来实现高效的图像分割。 我们将首先回顾经典的图像分割方法,并分析其局限性。随后,我们将重点讲解PCNN在图像分割中的具体算法,包括如何设计连接权重矩阵以适应不同的图像结构。 读者将学习如何通过Python代码实现PCNN驱动的图像分割算法,并能通过调整PCNN参数来控制分割的精度和细节。我们将提供具体的代码示例,并讨论如何评估分割结果。 第七章:PCNN在图像边缘检测中的Python应用 边缘是图像中最基本、最重要的视觉信息之一。本章将探讨PCNN如何被用于精确而鲁棒的图像边缘检测。 我们将分析传统边缘检测算子(如Sobel, Canny)的原理和优缺点,并引出PCNN在边缘检测方面的独特优势,例如能够处理模糊边缘和纹理区域。 读者将通过Python代码实现基于PCNN的边缘检测算法,学习如何利用PCNN的脉冲同步特性来识别图像中的显著边缘。本章还将探讨如何优化PCNN的参数以获得高质量的边缘图。 第三部分:PCNN的高级应用与展望 第八章:PCNN在图像特征提取与描述中的Python应用 除了分割和边缘检测,PCNN在提取图像深层特征方面也表现出色。本章将介绍如何利用PCNN生成能够有效描述图像内容的特征向量。 我们将探讨PCNN如何捕捉图像的纹理、形状和局部结构信息,并将其编码为一种易于后续分类或识别的表示形式。 读者将学习如何通过Python代码实现PCNN特征提取器,并可能将其与机器学习分类器(如SVM, KNN)结合,应用于图像识别任务。 第九章:PCNN在图像复原与去噪中的Python应用 现实世界中的图像往往受到噪声的干扰,或者存在缺失信息。本章将展示PCNN在图像复原和去噪方面的潜力。 我们将讨论PCNN如何通过其自适应的抑制和激活机制来抑制噪声,并可能利用其空间信息处理能力来填充图像中的缺失区域。 本章将提供相应的Python实现,演示如何使用PCNN来提高图像的质量和视觉效果。 第十章:PCNN的最新发展与未来趋势 技术的发展永无止境。本章将对PCNN的研究领域进行前瞻性展望。 我们将介绍PCNN的最新变种模型,例如具有更复杂连接机制的PCNN,或者与其他新兴人工智能技术(如深度学习)相结合的混合模型。 本章还将探讨PCNN在新的应用领域,如医学影像分析、遥感图像处理、视频分析等方面的潜在发展方向。我们将鼓励读者在掌握了本书内容后,继续探索PCNN的无限可能。 谁适合阅读本书? 本书的目标读者群体广泛,包括但不限于: 计算机科学、电子工程、自动化等专业的学生:为他们提供学习PCNN理论和实践的坚实基础。 图像处理和计算机视觉领域的科研人员:为他们提供一种新的、强大的工具和研究视角。 对人工智能和生物启发计算感兴趣的开发者:帮助他们将先进的AI模型应用于实际问题。 任何希望深入了解PCNN在图像处理领域应用的专业人士:提供从理论到实践的完整指南。 本书的独特价值 理论与实践的高度结合:不仅仅是理论的阐述,更是具体的Python代码实现,让读者能够“学以致用”。 循序渐进的学习路径:从基础概念到高级应用,层层递进,适合不同层次的读者。 清晰的代码示例:精心设计的Python代码,易于理解、调试和修改。 注重实际应用:所有理论都围绕着图像处理的实际问题展开,解决读者在应用中可能遇到的挑战。 第三版的更新与优化:整合了最新的技术和开发实践,确保内容的先进性和实用性。 踏上这场PCNN的Python之旅,您将不仅掌握一种强大的图像处理技术,更能深刻理解人工智能在模拟生物智能方面的潜力和魅力。本书期待成为您在图像处理和人工智能领域探索的忠实伙伴。