You are on page 1of 6

第 18 卷 第 8 期 计算机辅助设计与图形学学报 Vol118 , No18

2006 年 8 月 J OU RNAL OF COMPU TER2A IDED DESIGN & COMPU TER GRAPHICS Aug1 , 2006

多边形近似曲线的基于排序选择的拆分合并算法
1) 1 ,2)
王  斌   施朝健
1)
( 复旦大学计算机科学与工程系  上海  200433)
2)
( 上海海事大学商船学院  上海  200135)
(wangbin1cs @fudan1edu1cn)

摘 要  将遗传算法的排序选择策略引入到传统的拆分与合并算法 , 提出一种基于排序选择策略的拆分与合并算
法 ( RSM) 来求解平面数字曲线的多边形近似 ,解决了传统的拆分与合并算法对初始解的依赖问题1 用 2 条通用的
benchmark 曲线对 RSM 算法进行测试 ,结果表明该算法的性能优于遗传算法和传统的拆分与合并算法1 将 RSM 算
法应用于湖泊卫星图像的多边形近似 ,取得了较好的近似效果1

关键词  形状描述 ; 多边形近似 ; 拆分与合并 ; 排序选择


中图法分类号  TP391

Polygonal Approximation of Curves Using Spl it2and2Merge Method with Ranking


Selection

Wang Bin1)  Shi Chaojian1 ,2)


1)
( Depart ment of Com puter Science and Engi neeri ng , Fudan U niversity , S hanghai  200433)
2)
( Merchant M ari ne College , S hanghai M ariti me U niversity , S hanghai  200135)

Abstract   A novel split2and2merge met hod wit h ranking selection ( RSM ) is proposed for t he polygonal
approximation of curves1 We apply t he ranking selection scheme of genetic algorit hm to t he split2and2merge
process and substantially reduce t he sensitivity of t he t raditional split2and2merge met hod to t he initialization
solution1 The experimental result s show t hat RSM is robust and outperforms t he t raditional split2and2merge
met hod and t he genetic2algorit hm1 We also apply RSM to t he polygonal approximation of t he satellite image
of lake and obtain satisfactory result s1

Key words  shape representation ; polygonal approximation ; split2and2merge ; ranking selection

将边界轮廓线看成一个闭合的平面数字曲线 , 将它
0  引   言 拆分成若干个弧段 , 每一个弧段用连接它的 2 个端
点的直线段来近似 , 因而整个曲线由将这些直线段
描述一个目标的形状是图像处理和模式识别研 首尾连接而成的多边形来近似1 由于多边形近似具
究领域中的一个重要的问题1 对于一个目标的形 有描述简单 、 结构紧致的特点 , 因而它在目标识别 、
状 ,我们可以着眼于目标的内部区域来描述 ,也可以 图像检索 、 图像压缩等领域有着广泛的应用1
从目标的边界轮廓线来刻画1 前者称为基于区域的 通常 , 平面数字曲线的多边形近似可分为 2 类 :
描述方法 ,后者是基于轮廓线的描述方法1 多边形 一类是给定多边形的边数 M , 寻找一个具有最小近
近似是一种基于轮廓线的描述方法 , 其基本思想是 似误差的近似多边形 ; 另一类是给定一个容忍误差 ,

 收稿日期 :2005 - 09 - 13 ; 修回日期 :2005 - 11 - 21


 基金项目 : 国家自然科学基金 (60275010) ; 上海市重点学科建设项目 ( T0603)
1150 计算机辅助设计与图形学学报 2006 年

寻找一个近似误差不超过容忍误差的 、 边数最少的   传统的拆分与合并算法是从曲线的一个初始分


近似多边形1 这 2 类多边形近似问题都可以归结为 割 ( 对应一个初始的近似多边形 ) 开始 , 对分割的弧
约束的组合优化问题 , 以及在可行解空间里搜索一 段反复执行拆分与合并操作的迭代过程1 拆分操作
个最优解1 本文研究第一类多边形近似问题 , 该类 是选择弧段上的一个点作为分割点 , 将该弧段拆分
问题 是 一 个 N P 难 问 题 , 其 搜 索 空 间 的 大 小 为 成 2 个弧段 ,分割点将成为近似多边形的一个新的
M [1 ]
CN , 其中 N 是曲线上点的个数 , M 是多边形的 顶点 ; 同时 ,原来的近似多边形被去掉了一条边 , 增
边数1 加 2 条新的边 , 这里分割点又称为拆分点1 合并操
迄今为止 , 已有许多方法来求解平面数字曲线 作是拆分操作的逆操作 , 被合并的 2 个相邻弧段的
的多边形近似问题1 其中 , 顺序跟踪法 [ 2 ] 、 拆分与合 交点 ( 多边形的顶点) 称为合并点1 图 1 所示为拆分
并方法 [ 324 ] 、 关键点检测法 [ 526 ] 是基于局部搜索策略 操作与合并操作的示例1 拆分和合并算法的关键的
的算法 ,其优点是方法简单 、 计算开销小 、 求解速度 问题是在执行拆分与合并操作时如何选择拆分点与
快 ; 缺点是最终获得的解依赖于搜索起始点 ,即初始 合并点1 传统的拆分与合并算法在执行拆分操作
解 ,所以这些算法的性能不稳定 、 求解的质量不高1
时 ,首先计算曲线上每一个点到其对应的多边形的
文献 [ 1 ,7210 ] 将遗传算法应用于求解平面数字
边的投影距离 ,然后选择投影距离最大的点作为拆
曲线的多边形近似问题1 遗传算法是一种基于全局
分点1 在执行合并操作时 , 首先对当前近似多边形
搜索策略的算法 ,采用群体的搜索策略 ,优胜劣汰的
的每一个顶点计算它到由其相邻的 2 个顶点所连的
选择机制 ,即适应值较高的解有较高的存活概率 ,适
线段的投影距离 , 然后选择投影距离最小的顶点作
应值较低的解有较低的存活概率 , 该算法具有较强
为合并点 ,如图 2 所示1 这种对拆分点与合并点的
的全局搜索能力1 因而对于多边形近似问题 , 遗传
选择策略 ,使得拆分与合并算法的求解的质量严重
算法 的 求 解 质 量 要 高 于 基 于 局 部 搜 索 策 略 的 算
依赖于对曲线的初始分割及初始解1
法 [ 1 ,728 ]1 但是用遗传算法求解多边形近似问题时 ,
遗传操作算子的设计 ,特别是杂交算子的设计 、 非可
行解的处理 ,以及群体规模 、 杂交概率和变异概率等
参数的选择等诸多方面对算法的性能都有很大的影
响1 另外 ,群体搜索的策略也使计算的开销很大 , 不
太适合实时应用1 图 1  拆分与合并操作

图 2  拆分点与合并点的选择

  本文将遗传算法的排序选择策略引入拆分与合 序号大的点分配的选择概率大于序号小的点分配的
并方法 ,提出一种基于排序选择策略的拆分与合并 选择概率 ,然后依据选择概率选择拆分点与合并点1
算法 ( split2and2merge met hod wit h ranking selection , RSM 算法能有效地避免拆分与合并算法对初始解
RSM) ,其基本思想是 : 对曲线上的每一个非近似多 的依赖问题1
边形顶点的点定义一个拆分强度 , 对近似多边形的
每一个顶点定义一个合并强度 , 在拆分与合并算法 1  问题描述
的每一个迭代步 ,无论是执行拆分还是合并操作 ,首
先将所有的候选点按强度值由大到小排序 , 并依据 定义 11 一个闭合的平面数字曲线可以形式化
它们排序后的序号分配选择概率1 其分配原则是 : 的表示为一个沿曲线顺时针方向的点的有序集 C =
8期 王  斌等 : 多边形近似曲线的基于排序选择的拆分合并算法 1151

{ p 1 , p 2 , …, p n } 1 其中 , p i + 1 是 p i 的后继点 , p 1 是
p n 的后继点 , n 是平面数字曲线上的点的个数1 3  排序选择策略
定义 21 从平面数字曲线的 p i 点出发 , 沿曲线
按顺时针方向到达曲线上的另外一点 p j 所经过的 311  遗传算法的排序选择策略
弧用 p i p j = { p i , p i + 1 , …, p j } 表示1 该段弧所对应的 选择是遗传算法的一个重要的操作 , 优胜劣汰
弦是一条连接点 p i 和 p j 的直线段 , 表示为 p i p j 1 的选择机制使得适应值大的解有较高的存活概率 ,
定义 31 用弦 p i p j 近似其对应的弧 p i p j 的近似 这是遗传算法与其他搜索算法的主要区别之一1 不
误差定义为 同的选择策略对算法的性能有较大的影响 , 迄今为
止 , 在遗传算法的研究中已提出各种各样的选择策
e ( pi pj , pi pj ) = ∑d 2 ( p
p k ∈p i p j
k , pi pj) ( 1)
略 , 其中大部分是采用的是基于适应值比例的选择
其中 d ( pk , pi pj ) 表示点 pk 到直线段 pi pj 的投影距离1 策略 , 如轮盘赌选择 、
繁殖池选择等1 使用这种选择
定义 41 平面数字曲线 C = { p 1 , p 2 , …, p n } 的 策略最大的问题是会出现过早收敛现象和停滞现
多边形近似是一条直线段的有序集 V = { p t 1 p t 2 , 象1为避免出现这种情况 , Baker 提出了一种新的选
…, p t m - 1 t m , p t m p t m + 1 } , 其中 t i ∈{ 1 , 2 , …, n } , t 1 < 择策略 —
——排序选择策略 [ 11 ] , 其主要思想是在算法
t 2 < …< t m , t m + 1 = t 1 1 的每一个迭代步 , 将当前群体中的所有个体按照它
定义 51 平面数字曲线 C = { p 1 , p 2 , …, p n } 和 们的适应值由大到小排序 , 每一个个体分配一个排
它的近似多边形 V = { p t 1 p t 2 , …, p t m - 1 t m , p t m p t m + 1 } 序后的序号 , 最好的个体分配的序号为 1 , 最差的个
之间的近似误差定义为 体分配的序号为 n 1 每个个体的选择概率由概率分
M
配函数来计算 , 其中概率分配函数是序号的函数 , 它
E ( V , C) = ∑e ( p
i =1
t i p t i +1 , p t i p t i +1 ) ( 2)
可以是线性和非线性的 , 依此排序选择策略又可以
  那么 , 平面数字曲线的多边形近似问题可以形 分为线性排名选择和非线性排名选择1
式化的定义为 : 给定一条平面数字曲线 C = { p 1 , 概率分配函数的设计原则如下 : 设 P = { x 1 , x 2 ,
p 2 , …, p n } 和多边形的边数 m , 其中 3 ≤m ≤n 1 设 …, x n} 表示排序后的群体并且 f ( x 1 ) ≥f ( x 2 ) ≥…≥
Ω 表示所有近似平面数字曲线 C 的多边形的集合 , f ( x n) , 其中 f ( ・
) 是个体的适应值函数1 那么分配给
S P = { V | V ∈Ω ∧| V | = m } , 其中| V | 表示集合的 个体 x i 的 选 择 概 率 p ( x i ) 应 满 足 如 下 条 件 : 1 )
势1 找一个多边形 P ∈S P , 满足 n

E ( P , C) = min E ( V , C) ( 3) p ( x 1 ) ≥p ( x 2 ) ≥…p ( x n ) ; 2) ∑p ( x ) i = 11
V ∈S P i =1

312  分配选择概率的函数
2  拆分强度与合并强度 本文将遗传算法的排序选择策略引入到传统的
拆分与合并算法中1 为此 , 我们依据第 311 节的选
设 C = { p 1 , p 2 , …, p n } 为一条平面数字曲线 , 择概率分配函数的设计原则 , 设计了一个非线性函
V = { p t 1 p t 2 , …, p t m - 1 t m , p t m p t m + 1 } 为 C 的一个近似 数来分配选择概率1 假定 C = { p 1 , p 2 , …, p m } 是一
多边形1 我们给出曲线上的一个点作为拆分点的拆 个有序的点集 , 用排序选择策略 C 执行点的选择操
分强度和多边形 V 的一个顶点作为合并点的合并 作1 对 C 中的每一个点分配的选择概率
tΠ( i - 1)
强度的定义1 p ( x i ) = p ( x i - 1 ) ・e - , i = 2 , …, m
定义 61 假设曲线上的一个点 p i ∈p t k p t k + 1 并且 m ( 6)

p t k p t k + 1 ∈V , p t k 和 p t k + 1 分别是多边形 V 的 2 个相

i =1
p ( x i) = 1

其中 t 是控制参数 , 用来调整选择概率的分配1 图 3
邻的顶点1 在点 p i 上的拆分强度定义为
所示为 t 分别取 010 , 015 , 110 , 118 , 点的个数为 20
 S ( p i ) = d ( p i , p t k p t k + 1 ) Π( 1 + d ( p i , p t k p t k + 1 ) ) ( 4)
时 , 分配给各点的选择概率1 当 t = 0 时 , 分配给各
  定义 71 假设 p t k 是多边形 V 的一个顶点 , p t k - 1
点的选择概率相同 , 此时相当于盲目的随机搜索1
与 p t k + 1 分别为它的 2 个相邻的顶点1 那么在顶点 当 t 的值增大时 , 选择越来越趋向于序号较低的点 ,
p t k 的合并强度定义为
即排在前面的点1 当 t 的值达到无穷大时 , 第 1 个
M ( p t k ) = 1Π( 1 + d ( p t k , p t k - 1 p t k +1 ) ) ( 5) 点的选择概率为 1 , 其他各点的选择概率均为 0 ,
1152 计算机辅助设计与图形学学报 2006 年

此时就是传统的拆分与合并算法的选择策略1 通常
t 经验取值范围为 [ 114 , 214 ]1 5  实验结果和讨论

为了测试 RSM 算法的性能 ,我们进行了 2 组测


试实验1 在与其他算法的性能比较上 ,因为现有的基
于遗传算法的多边形近似算法要好于基于局部搜索
策略的算法[7 ] ,且文献 [ 1 ] 提出的遗传算法 EEA ( ef2
ficient evolutionary algorit hm) 在求解质量和计算速
度这 2 个主要性能指标上都要好于其他遗传算法 ,
所以我们选择 EEA 算法做性能比 较1 我 们 还 将
RSM 算 法 与 传 统 的 拆 分 与 合 并 算 法 ( split2and2
merge , SM) 作了比较 ,以验证 RSM 算法的稳定性1
所有的实验都是在 1 台 P Ⅲ 400 , Windows 2000 计
图 3  t 取不同值时分配给各点的选择概率
算机上进行的1
511  用 benchmark 曲线测试 RSM 算法的性能
4  算法流程 图 4 所示为 2 条平面数字曲线 , 这 2 条曲线被
大多数研究多边形近似算法的文献所采用1 图 4 a
本文提出的 RSM 算法有 2 个参数 : 分配选择 所示为染色体形状的曲线 ,有 60 个点 ; 图 4 b 所示为
概率的控制参数 t 和算法的迭代次数 G1 由 4 个半圆组成的曲线 ,有 102 个点1 文献 [ 5 ] 提供
输入1 平面数字曲线 C = { p 1 , p 2 , …, p n } 以及
了这 2 条曲线的链码1
多边形的边数 m 1
输出1 边数为 m 的多边形 B 1
Step11 随机地从 C 中选择 m 个点 , 按顺时针方向用直
线段连接这些点 , 构成一个 m 条边的初始多边形 V 1 V →
B , 0 →k 1
Step21 对 C 中每一个非多边形顶点的点用式 ( 4 ) 计算
它的拆分强度1 图 4  2 条 bechmark 曲线
Step31 将 C 中所有的非多边形顶点的点 , 按照它们的
拆分强度由大到小排序 , 然后按式 ( 6) 计算它们的选择概率1   RSM 算法的参数分别为 t = 118 , G = 15001 因
依选择概率选择出一个拆分点 , 执行拆分操作 , 得到一个新 为 RSM 和 EEA 都属于随机算法 ,所以对每条曲线 ,
的多边形 V 1 输入的每一个边数 M ,算法独立运行 10 次 ,统计 10
Step41 对于多边形 V 中的每一个顶点 , 用式 ( 5 ) 计算它 次独立运行所得到的 10 个近似多边形的平均近似
的合并强度1 误差 ,它们的方差以及最大的近似误差也就是它们
Step51 将 V 中所有的顶点 , 按照它们的合并强度由大 中最差的解1 所有的实验结果如表 1 所示 , 图 5 所
到小排序 , 然后按式 ( 6) 计算它们的选择概率1 依选择概率选
示为 RSM 算法和 EEA 对于输入的不同的边数 , 在
择出一个合并点 , 执行合并操作 , 得到了一个新的多边形 V 1
10 次独立运行中所得到的最差的近似多边形 ; 其
Step61 用式 ( 2) 计算多边形 V 的近似误差 , 如果它小于
中 , M 表示预先设定的多边形的边数 ,ε 表示近似
多边形 B 的近似误差 , 那么 V →B 1
Step71 k + 1 →k , 如果 k ≤G , 则转 Step21 误差1 从表 1 和图 5 可以看出 ,对于图 4 中的 2 条曲
Step81 输出 B 1 线 ,RSM 算法的最大近似误差 、
平均近似误差和方
值得指出的是 , RSM 算法只用到了 2 个参数 , 差都要小于 EEA1 如对于曲线 1 用 RSM 算法 ,平均
比遗传算法用的参数要少得多 , 参数 t 的取值已在 误差降低了将近 8 % ,方差只有 EEA 的 3015 %1 而对
第 312 节作过讨论 , 其经验取值范围为 [ 114 , 214 ]1 于曲线 2 ,平均误差降低了 313 % ,方差只有 EEA 的
迭代次数 G 越大 , 则算法求解的质量越高 , 但时间 1615 %1 说明 RSM 算法求解的质量要高于 EEA1
开销也很大1 方差是一个检验算法稳定性的指标及对初始解的依
8期 王  斌等 : 多边形近似曲线的基于排序选择的拆分合并算法 1153

赖程度 ,从与 EEA 的性能比较来看 ,RSM 算法更稳


定1 我们还用同样的实验方式运行了 SM 算法 , 将
所得到结果的方差绘成曲线并与 RSM 算法进行了
对比 ,如图 6 所示1 从图 6 可以看出 , SM 算法对初
始解的依赖程度很大 ( 方差很大) 而 RSM 算法能有
效地避免对初始解的依赖性1
  为了比较 RSM 算法和 EEA 的计算开销 , 本文
给出它们的计算时间1 对于图 4 a 所示的曲线 ,RSM
算法完成所有实验的平均计算时间为 0109 s , EEA
则为 0127 s1 对于图 4 b 所示的曲线 ,RSM 算法完成
所有实验的平均计算时间为 0141 s , EEA 则为 0187 s1
所以 ,RSM 算法的计算速度比 EEA 快1 图 5  EEA 与 RSM 算法得到的最差解的比较

图 6  SM 算法和 RSM 算法得到解的方差的比较

表 1  分别运行 EEA 和 RSM 算法得到的实验结果


曲线 1 曲线 2
M 最大近似误差 平均近似误差 方差 M 最大近似误差 平均近似误差 方差
EEA RSM EEA RSM EEA RSM EEA RSM EEA RSM EEA RSM

8 1718 1614 1515 1414 213 114 10 6116 5217 4411 4716 7615 1216

9 1519 1410 1315 1217 116 013 12 3312 3114 2915 2815 511 116
12 718 617 618 519 019 011 14 2413 1815 2011 1719 417 017
14 612 418 511 415 016 010 17 1717 1319 1416 1314 212 011
15 514 411 413 411 013 010 18 1516 1218 1219 1211 116 011
17 410 312 316 312 012 010 19 1312 1117 1115 1110 019 011
18 314 219 310 219 011 010 22 919 719 815 716 016 010
27 611 410 510 410 015 010
30 414 218 316 217 013 010
Total 6015 5211 5118 4717 519 118 186 155 17 14918 14418 9214 1512

RSMΠEEAΠ% 8611 9211 3015 8317 9617 1615

512  应用于湖泊卫星图像轮廓线的多边形近似 我们分别用边数为 15 ,25 和 35 的多边形来近似1


我们将 RSM 算法应用于湖泊卫星图像轮廓线 与第 511 节一样 ,对每一个输入的边数 ,算法独立运
的多边形近似1 图 7 所示为埃塞俄比亚最大的湖泊 行 10 次 ,图 8 所示为 10 次运算所得到的结果中近
ana的卫星图像和从中抽取的轮廓线 ( 148 个点) 1
T’ 似误差 最 大 的 多 边 形 , 其 中 M 表 示 预 先 设 定 的
1154 计算机辅助设计与图形学学报 2006 年

多边形的边数 ,ε表示近似误差1 从图 8 可以看出 , [3] Ray B K , Ray K S1 A new split2and2merge technique for polyg2
onal approximation of chain coded curves [J ] 1 Pattern Recogni2
用 RSM 算法的近似效果要好于 EEA1
tion Letter , 1995 , 16 (2) : 161 - 169
[4] Wu J S , Leou J J 1 New polygonal approximation schemes for
object shape representation [J ] 1 Pattern Recognition , 1993 , 26
(4) : 471 - 484
[5] Teh H C , Chin R T1 On detection of dominant points on digital
curves [J ] 1 IEEE Transactions on Pattern Analysis and Machine
Intelligence , 1989 , 11 (8) : 859 - 872
[6] Garrido A , de la Blanca N P , Garcia2Silvente M1 Boundary sim2
图 7  T’
ana 的卫星图像及从中抽取的湖泊轮廓线
plification using a multiscale dominant2point detection algorit hm
[J ] 1 Pattern Recognition , 1998 , 31 (6) : 791 - 804
[7] Yin P Y1 Genetic algorit hms for polygonal approximation of dig2
ital curves [J ] 1 International Journal of Pattern Recognition and
Artificial Intelligence , 1999 , 13 (7) : 1061 - 1082
[8] Huang S C , Sun Y N1 Polygonal approximation using genetic al2
gorit hms [J ] 1 Pattern Recognition , 1999 , 32 (8) : 1409 - 1420
[9] Zhang Hongbin , Guo Jianjun1 Optimum polygonal approxima2
tion of digital curves using genetic algorit hms [J ] 1 Chinese Jour2
nal of Computers , 1999 , 22 (10) : 1100 - 1104 (in Chinese)
( 张鸿宾 , 郭建军1 遗传算法在曲线多边形近似中的应用 [J ] 1
计算机学报 , 1999 , 22 (10) : 1100 - 1104)
[ 10 ] Zhang Xiwen , Li Zuo , Cai Shijie , et al 1 Segmenting planar into
straight line and circular arcs segments using genetic algorit hm
图 8  EEA 和 RSM 算法得到的最差解的比较 [J ] 1 Journal of Computer2Aided Design & Computer Graphics ,
2002 , 14 (2) : 144 - 147 (in Chinese)
( 张习文 , 李  佐 , 蔡士杰 , 等1 基于遗传算法的以线段和圆
6  结   论 弧为基元的曲线拟合 [J ] 1 计算机辅助设计与图形学学报 ,
2002 , 14 (2) : 144 - 147)
为了克服传统的求解平面数字曲线的拆分与合 [ 11 ] Baker J E1 Adaptive selection met hods for genetic algorit hms

并算法对初始解的依赖性 , 本文把遗传算法中的排 [ C] ΠΠProceedings of t he 1st International Conference on Genetic


Algorit hms , Hillsdale , New Jersey , 1985 : 101 - 111
序选择策略引入传统的拆分与合并算法中 , 成功地
解决了对初始解的依赖问题1 实验室结果表明 , 本   王  斌  男 ,1969 年生 , 博士研究生 ,
文算法的性能优于遗传算法和传统的拆分与合并 主要研究方向为模式识别和图像处理1
算法1

参  考  文  献

[1] Ho S2 Y , Chen Y2C1 An efficient evolutionary algorit hm for ac2   施朝健  男 ,1957 年生 ,博士研究生 ,
curate polygonal approximation [J ] 1 Pattern Recognition , 2001 , 教授 ,主要研究方向为图像处理 、
交通信息
34 (12) : 2305 - 2317 工程及控制1
[2] Ray B K , Ray K S1 A non2parametric sequential met hod for
polygonal approximation of digital curves [J ] 1 Pattern Recogni2
tion Letter , 1994 , 15 (2) : 161 - 167

You might also like