基于蚁群算法的图像边缘检测
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 其次,选用一种微分算子对灰度化后的图像进行预处理;预处理后我们就可 以将图像灰度值看作信息素量而将蚁群按照一定规则分布其中,进行足够次 迭代后得到结果;
• 最后,需要对其进行阈值化,即根据设定的阈值,将图像按照每个像素的灰 度值大小转换为二值图像,经过这步我们便已经得到边缘结果图;
• 根据需要,可进一步使用细化算法对其进行细化(这一步是可选的)。
蚁群算法边缘检测模型
蚁群算法的基本原理
• 蚁群算法是一项基于蚁群特点的群智能技术,最早由 Marco Dorigo等人于1992年提出,称之为蚂蚁系统(ant system,AS),用于解决在图中寻找最优路径问题,即旅 行商问题(TSP) 。
• 蚁群算法模拟了自然界蚂蚁的觅食过程,它们起初随机地 移动,当找到食物后,在返回蚁群的途中分泌一种信息素 (pheromone),吸引其他蚂蚁趋向于选择该路径,从而对 路径进行巩固和加强。
n
* i, j
1
i, j
k i,
j
k 1
终止条件
• 本文使用给定的迭代次数作为算法的终止条件, 即算法将在进行I次迭代之后无条件终止,因此, 迭代次数的选择对于算法性能的影响很大,选择 适当的迭代次数尤其重要。
• 当蚂蚁的临时记忆包含其所有可移动节点,即蚂 蚁无法决策下一步移动的节点时,终结蚂蚁个体 的生命,不再进行移动。
邻域结构及蚂蚁的移动方式
• if (蚂蚁的状态为激活态) {
•
for (遍历8个邻域节点) {
•
计算节点的概率值
•
if (该节点存在于蚂蚁的记忆中) {
•
删除该节点
•
}
•
}
•
if (可移动的节点集不为空) {
•
模拟概率执行移动,为当前节点重新赋值
•
将当前节点加入蚂蚁的记忆中
•
if (蚂蚁记忆中节点数 > 蚂蚁记忆长度) {
????
谢谢观赏
算法的实现
类设计
类设计
字段 方法
类设计
字段 方法
界面设计
运行结果
性能评价
与传统算法的比较
Lena 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
本文算法
与传统算法的比较
Peppers 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
阈值的选择
• 蚁群算法运行之后,需要对其进行阈值化,即根 据设定的阈值,将蚁群释放的信息素量所对应的 边缘图像按照每个像素的灰度值大小转换为二值 图像,经过这步我们便可得到边缘结果。
255 M (i, j)
0
若M pheromone(i, j) Th 其他
阈值的选择
0.05
0.15
素。 • 信息素吸引附近的其他蚂蚁沿着信息素轨迹移动。 • 这些蚂蚁找到食物返回蚁巢后,该路径上的信息素浓度得到巩
固和加强。 • 如果有两条路径通向相同的食物源,那么经过足够的时间,短
路径上的蚂蚁会越来越多。 • 短路径上的信息素浓度将越来越高,从而吸引更多的蚂蚁。 • 长路径上的信息素不断挥发,直至消失。 • 最终,几乎所有的蚂蚁将选择最短的路径。
• 期望启发式因子反映了启发信息在指导蚁群搜索过程中的 相对重要程度,其大小反映了蚁群寻优过程中先验性、确 定性因素的作用强度。其值越大,则蚂蚁在某个局部点上 选择局部最短路径的可能性越大,虽然这时算法的收敛速 度得以加快,但蚁群搜索最优路径的随机性减弱,易于陷 入局部最优。
• 惯性启发式因子决定着蚂蚁保持当前运动方向的强度,当 越大时,蚂蚁越趋向于沿直线运动,当 时,不考虑其他因 素,蚂蚁向各个方向运动的概率相等。
• 这样,当一只蚂蚁在蚁群与食物之间找到了一条最佳(最 短)路径,其他蚂蚁也随之选择同样的路径,这种正反馈 机制使得蚁群最终会趋向于一条路径。蚁群算法正是模拟 了这种群体行为来解决多种多样的问题。
蚁群算法的基本原理
蚁群算法的基本原理
• 蚁群中的蚂蚁开始随机地移动。 • 如果它发现了食物,就立即返回蚁巢,并在返回途中释放信息
蚂蚁的记忆与禁忌表
记忆长度 = 1
记忆长度 = 10
蚁群规模和初始分布
蚁群规模和初始分布
n
fi
Tstart
ຫໍສະໝຸດ Baidu
i 1
n
蚁群规模和初始分布
Lena 原图
蚁群规模和初始分布
512只蚂蚁,随机分布方式 9325只蚂蚁,随机分布方式
蚁群规模和初始分布
3*3均匀分布方式(自动计算 3*3智能方式(自动计算出蚂
阶跃型边缘
屋顶型边缘
常用边缘检测方法
• 基于微分算子的边缘检测(传统方法)
– Robert 算子 – Sobel 算子 – Laplacian 算子 – Canny 算子
• 基于小波理论的多尺度图像边缘检测 • 基于数学形态学的图像边缘检测 • 基于模糊数学的图像边缘检测 • 基于神经网络的图像边缘检测 • 基于遗传算法的图像边缘检测
基于蚁群算法的图像边缘检测
作者:whypro E-mail: whypro@live.cn
章节安排 • 图像边缘检测概述 • 蚁群算法边缘检测模型 • 算法的实现 • 总结和展望
图像边缘检测概述
图像的边缘
• 边缘是指图像强度(灰度值)发生急剧变化的区 域边界,是图像最基本的特征之一。图像边缘可 分为阶跃型、屋顶型两种类型。如图所示。
出蚂蚁的个数为29241个
蚁的个数为9325个
信息素更新方式
• 蚁群能感受到的信息素分为两类,第一类为蚁群释放的信息素,我们 称之为信息素,第二类为图像的灰度值,我们称之为启发信息。
• 随着迭代次数的增加,大部分路径上都会留下信息素。为了防止信息 素的过度积累而使蚂蚁决策时忽略能见度信息,在完成每次迭代后, 各路径上的信息素浓度需要根据公式进行更新。
展望
• 在研究过程中,我们也意识到了蚁群算法客观存在的缺陷。蚁群算法属于群 智能算法的一种,而群智能算法是一种基于概率计算的随机搜索进化算法, 在现阶段仍然存在着一些问题:
• 算法的数学理论基础相对薄弱,关于此类的研究发展相对缓慢;同时,关于 参数的设置现阶段并没有确切的理论依据,对具体问题与应用环境存在着很 大的依赖性;
邻域结构及蚂蚁的移动方式
• 邻域是蚂蚁下一步可移动到的节点集。本文 采用 8 邻域结构,如图所示。蚂蚁移动到 各节点的概率定义为:
pi, j
i, j
i, j
i, j
i,u
i,u
i,u
若
uW 0
其他
j W
邻域结构及蚂蚁的移动方式
• 信息启发式因子反映了蚂蚁在运动过程中所积累的信息量 在指导蚁群搜索中的相对重要程度,其值越大,蚂蚁选择 以前走过路径的可能性就越大,搜索的随机性就越弱。
本文算法
与传统算法的比较
Airplane 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
本文算法
总结和展望
总结
• 本文首先回顾了常用的边缘检测算法以及对蚁群算法的基 本理论作了简单的介绍。其次,提出了一种基于蚁群算法 的边缘检测模型,并对影响算法性能的各个参数作了详尽 的分析。本文主要的研究成果如下:
•
遗忘最早记忆的节点
•
}
•
}
•
else {
•
设置蚂蚁状态为停止移动
•
}
•}
蚂蚁的记忆与禁忌表
• 我们为每只蚂蚁设置一段临时记忆,也称作“禁 忌表”,每次迭代中,蚂蚁个体都不会移动到自 己先前访问过的节点。
• 记忆的长度作为算法的一个参数,也影响着算法 的运行效率。下面我们在 的空白测试图中,为3 只蚂蚁设置不同的记忆长度和参数,以随机点开 始觅食,进行50次迭代后,对信息素矩阵进行了 色彩化处理,实验结果如下。
• 采用8邻域结构,蚂蚁可向8个方向自由移动,概率计算函 数分别由信息素量、图像灰度值、蚂蚁的惯性因子决定。
• 蚂蚁拥有短暂的记忆,记忆长度作为本文算法的参数之一 。
• 提出了一种更智能的蚁群初始分布方式。 • 在撰写论文过程中,我们进行了大量的实验。最后,通过
与传统方法的比较,从实验结果来看,本文算法在图像边 缘检测中的表现令人满意。
• 时间性能差,算法的收敛速度较慢; • 与其他算法的比较性研究不足,缺乏合适的性能评估标准和测试方法; • 因为算法本身基于概率,因此不具备绝对可信性,应用时或多或少地存在着
一些风险。 • 其中,时间性能在现阶段是蚁群算法最大的缺陷之一,如何改善算法的收敛
速度,仍是未来的研究方向之一。不过,蚁群算法作为一种群智能算法,与 并行计算的结合,会大大提高算法的性能和运行效率,随着并行计算和云计 算的发展,蚁群算法的先天优势可以很好地适应于并行计算和云计算。因此 ,对蚁群算法的进一步研究,仍具有很大的理论意义和实践意义。
0.25
0.35
0.45
0.55
0.65
0.75
0.85
0.95
细化
• 常用的细化算法有Hilditch算法、Pavlidis算法、 Rosenfeld算法和Skeleton算法等。因细化并非边 缘检测的必需步骤之一,同时也非本文的重心所 在,本文算法的实现程序可自由地选用以上细化 算法对检测结果进行细化,具体在这里不再赘述 。
蚁群算法的基本原理
蚁群算法的基本特征
• 正反馈性:蚂蚁个体趋向于选择最优路径,从而最优路径上将积累更 多的信息素,而高浓度的信息素又会吸引更多的蚂蚁,正反馈过程引 导整个系统向最优解的方向进化。
• 分布式计算:每只人工蚂蚁在问题空间的多个点同时开始相互独立地 构造问题解,而整个问题的求解不会因为某只人工蚂蚁无法成功获得 解而受到影响。
• 自组织性:蚂蚁个体作用简单,而个体之间的协作作用特别明显,因 而可以将蚁群当做一个整体,甚至可以看做一个独立生物体来研究。
基于蚁群算法的边缘检测模型流程
原始图像 最终图像
[灰度化]
灰度图像
[使用微分算子进行预处理]
预处理后的图像
[细化] 阈值化后的图像
[蚁群算法]
[阈值化] 蚁群算法后的图像
• 首先,我们对原始图像(真彩色)进行灰度化处理,得到单通道的灰度图像 ;
• 鲁棒性:相对于其它算法,蚁群算法对初始路线要求不高,即蚁群算 法的求解结果不依赖于初始路线的选择,而且在搜索过程中不需要进 行人工的调整。
• 并行性:蚁群算法中蚂蚁个体搜索的过程彼此独立,仅通过信息素进 行通信。因此算法可看作是一个分布式多Agent系统,它在问题空间 的多点同时开始独立的解搜索,不仅增加了算法的可靠性,也使得算 法具有较强的全局搜索能力。
• 最后,需要对其进行阈值化,即根据设定的阈值,将图像按照每个像素的灰 度值大小转换为二值图像,经过这步我们便已经得到边缘结果图;
• 根据需要,可进一步使用细化算法对其进行细化(这一步是可选的)。
蚁群算法边缘检测模型
蚁群算法的基本原理
• 蚁群算法是一项基于蚁群特点的群智能技术,最早由 Marco Dorigo等人于1992年提出,称之为蚂蚁系统(ant system,AS),用于解决在图中寻找最优路径问题,即旅 行商问题(TSP) 。
• 蚁群算法模拟了自然界蚂蚁的觅食过程,它们起初随机地 移动,当找到食物后,在返回蚁群的途中分泌一种信息素 (pheromone),吸引其他蚂蚁趋向于选择该路径,从而对 路径进行巩固和加强。
n
* i, j
1
i, j
k i,
j
k 1
终止条件
• 本文使用给定的迭代次数作为算法的终止条件, 即算法将在进行I次迭代之后无条件终止,因此, 迭代次数的选择对于算法性能的影响很大,选择 适当的迭代次数尤其重要。
• 当蚂蚁的临时记忆包含其所有可移动节点,即蚂 蚁无法决策下一步移动的节点时,终结蚂蚁个体 的生命,不再进行移动。
邻域结构及蚂蚁的移动方式
• if (蚂蚁的状态为激活态) {
•
for (遍历8个邻域节点) {
•
计算节点的概率值
•
if (该节点存在于蚂蚁的记忆中) {
•
删除该节点
•
}
•
}
•
if (可移动的节点集不为空) {
•
模拟概率执行移动,为当前节点重新赋值
•
将当前节点加入蚂蚁的记忆中
•
if (蚂蚁记忆中节点数 > 蚂蚁记忆长度) {
????
谢谢观赏
算法的实现
类设计
类设计
字段 方法
类设计
字段 方法
界面设计
运行结果
性能评价
与传统算法的比较
Lena 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
本文算法
与传统算法的比较
Peppers 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
阈值的选择
• 蚁群算法运行之后,需要对其进行阈值化,即根 据设定的阈值,将蚁群释放的信息素量所对应的 边缘图像按照每个像素的灰度值大小转换为二值 图像,经过这步我们便可得到边缘结果。
255 M (i, j)
0
若M pheromone(i, j) Th 其他
阈值的选择
0.05
0.15
素。 • 信息素吸引附近的其他蚂蚁沿着信息素轨迹移动。 • 这些蚂蚁找到食物返回蚁巢后,该路径上的信息素浓度得到巩
固和加强。 • 如果有两条路径通向相同的食物源,那么经过足够的时间,短
路径上的蚂蚁会越来越多。 • 短路径上的信息素浓度将越来越高,从而吸引更多的蚂蚁。 • 长路径上的信息素不断挥发,直至消失。 • 最终,几乎所有的蚂蚁将选择最短的路径。
• 期望启发式因子反映了启发信息在指导蚁群搜索过程中的 相对重要程度,其大小反映了蚁群寻优过程中先验性、确 定性因素的作用强度。其值越大,则蚂蚁在某个局部点上 选择局部最短路径的可能性越大,虽然这时算法的收敛速 度得以加快,但蚁群搜索最优路径的随机性减弱,易于陷 入局部最优。
• 惯性启发式因子决定着蚂蚁保持当前运动方向的强度,当 越大时,蚂蚁越趋向于沿直线运动,当 时,不考虑其他因 素,蚂蚁向各个方向运动的概率相等。
• 这样,当一只蚂蚁在蚁群与食物之间找到了一条最佳(最 短)路径,其他蚂蚁也随之选择同样的路径,这种正反馈 机制使得蚁群最终会趋向于一条路径。蚁群算法正是模拟 了这种群体行为来解决多种多样的问题。
蚁群算法的基本原理
蚁群算法的基本原理
• 蚁群中的蚂蚁开始随机地移动。 • 如果它发现了食物,就立即返回蚁巢,并在返回途中释放信息
蚂蚁的记忆与禁忌表
记忆长度 = 1
记忆长度 = 10
蚁群规模和初始分布
蚁群规模和初始分布
n
fi
Tstart
ຫໍສະໝຸດ Baidu
i 1
n
蚁群规模和初始分布
Lena 原图
蚁群规模和初始分布
512只蚂蚁,随机分布方式 9325只蚂蚁,随机分布方式
蚁群规模和初始分布
3*3均匀分布方式(自动计算 3*3智能方式(自动计算出蚂
阶跃型边缘
屋顶型边缘
常用边缘检测方法
• 基于微分算子的边缘检测(传统方法)
– Robert 算子 – Sobel 算子 – Laplacian 算子 – Canny 算子
• 基于小波理论的多尺度图像边缘检测 • 基于数学形态学的图像边缘检测 • 基于模糊数学的图像边缘检测 • 基于神经网络的图像边缘检测 • 基于遗传算法的图像边缘检测
基于蚁群算法的图像边缘检测
作者:whypro E-mail: whypro@live.cn
章节安排 • 图像边缘检测概述 • 蚁群算法边缘检测模型 • 算法的实现 • 总结和展望
图像边缘检测概述
图像的边缘
• 边缘是指图像强度(灰度值)发生急剧变化的区 域边界,是图像最基本的特征之一。图像边缘可 分为阶跃型、屋顶型两种类型。如图所示。
出蚂蚁的个数为29241个
蚁的个数为9325个
信息素更新方式
• 蚁群能感受到的信息素分为两类,第一类为蚁群释放的信息素,我们 称之为信息素,第二类为图像的灰度值,我们称之为启发信息。
• 随着迭代次数的增加,大部分路径上都会留下信息素。为了防止信息 素的过度积累而使蚂蚁决策时忽略能见度信息,在完成每次迭代后, 各路径上的信息素浓度需要根据公式进行更新。
展望
• 在研究过程中,我们也意识到了蚁群算法客观存在的缺陷。蚁群算法属于群 智能算法的一种,而群智能算法是一种基于概率计算的随机搜索进化算法, 在现阶段仍然存在着一些问题:
• 算法的数学理论基础相对薄弱,关于此类的研究发展相对缓慢;同时,关于 参数的设置现阶段并没有确切的理论依据,对具体问题与应用环境存在着很 大的依赖性;
邻域结构及蚂蚁的移动方式
• 邻域是蚂蚁下一步可移动到的节点集。本文 采用 8 邻域结构,如图所示。蚂蚁移动到 各节点的概率定义为:
pi, j
i, j
i, j
i, j
i,u
i,u
i,u
若
uW 0
其他
j W
邻域结构及蚂蚁的移动方式
• 信息启发式因子反映了蚂蚁在运动过程中所积累的信息量 在指导蚁群搜索中的相对重要程度,其值越大,蚂蚁选择 以前走过路径的可能性就越大,搜索的随机性就越弱。
本文算法
与传统算法的比较
Airplane 原图
Roberts 算法
Sobel 算法
Laplacian原图
Canny 算法
本文算法
总结和展望
总结
• 本文首先回顾了常用的边缘检测算法以及对蚁群算法的基 本理论作了简单的介绍。其次,提出了一种基于蚁群算法 的边缘检测模型,并对影响算法性能的各个参数作了详尽 的分析。本文主要的研究成果如下:
•
遗忘最早记忆的节点
•
}
•
}
•
else {
•
设置蚂蚁状态为停止移动
•
}
•}
蚂蚁的记忆与禁忌表
• 我们为每只蚂蚁设置一段临时记忆,也称作“禁 忌表”,每次迭代中,蚂蚁个体都不会移动到自 己先前访问过的节点。
• 记忆的长度作为算法的一个参数,也影响着算法 的运行效率。下面我们在 的空白测试图中,为3 只蚂蚁设置不同的记忆长度和参数,以随机点开 始觅食,进行50次迭代后,对信息素矩阵进行了 色彩化处理,实验结果如下。
• 采用8邻域结构,蚂蚁可向8个方向自由移动,概率计算函 数分别由信息素量、图像灰度值、蚂蚁的惯性因子决定。
• 蚂蚁拥有短暂的记忆,记忆长度作为本文算法的参数之一 。
• 提出了一种更智能的蚁群初始分布方式。 • 在撰写论文过程中,我们进行了大量的实验。最后,通过
与传统方法的比较,从实验结果来看,本文算法在图像边 缘检测中的表现令人满意。
• 时间性能差,算法的收敛速度较慢; • 与其他算法的比较性研究不足,缺乏合适的性能评估标准和测试方法; • 因为算法本身基于概率,因此不具备绝对可信性,应用时或多或少地存在着
一些风险。 • 其中,时间性能在现阶段是蚁群算法最大的缺陷之一,如何改善算法的收敛
速度,仍是未来的研究方向之一。不过,蚁群算法作为一种群智能算法,与 并行计算的结合,会大大提高算法的性能和运行效率,随着并行计算和云计 算的发展,蚁群算法的先天优势可以很好地适应于并行计算和云计算。因此 ,对蚁群算法的进一步研究,仍具有很大的理论意义和实践意义。
0.25
0.35
0.45
0.55
0.65
0.75
0.85
0.95
细化
• 常用的细化算法有Hilditch算法、Pavlidis算法、 Rosenfeld算法和Skeleton算法等。因细化并非边 缘检测的必需步骤之一,同时也非本文的重心所 在,本文算法的实现程序可自由地选用以上细化 算法对检测结果进行细化,具体在这里不再赘述 。
蚁群算法的基本原理
蚁群算法的基本特征
• 正反馈性:蚂蚁个体趋向于选择最优路径,从而最优路径上将积累更 多的信息素,而高浓度的信息素又会吸引更多的蚂蚁,正反馈过程引 导整个系统向最优解的方向进化。
• 分布式计算:每只人工蚂蚁在问题空间的多个点同时开始相互独立地 构造问题解,而整个问题的求解不会因为某只人工蚂蚁无法成功获得 解而受到影响。
• 自组织性:蚂蚁个体作用简单,而个体之间的协作作用特别明显,因 而可以将蚁群当做一个整体,甚至可以看做一个独立生物体来研究。
基于蚁群算法的边缘检测模型流程
原始图像 最终图像
[灰度化]
灰度图像
[使用微分算子进行预处理]
预处理后的图像
[细化] 阈值化后的图像
[蚁群算法]
[阈值化] 蚁群算法后的图像
• 首先,我们对原始图像(真彩色)进行灰度化处理,得到单通道的灰度图像 ;
• 鲁棒性:相对于其它算法,蚁群算法对初始路线要求不高,即蚁群算 法的求解结果不依赖于初始路线的选择,而且在搜索过程中不需要进 行人工的调整。
• 并行性:蚁群算法中蚂蚁个体搜索的过程彼此独立,仅通过信息素进 行通信。因此算法可看作是一个分布式多Agent系统,它在问题空间 的多点同时开始独立的解搜索,不仅增加了算法的可靠性,也使得算 法具有较强的全局搜索能力。