You are on page 1of 6

第 18 卷 第 8 期

2006 年 8 月

计算机辅助设计与图形学学报
J OU RNAL OF COMPU TER2A IDED DESIGN & COMPU TER GRAPHICS

Vol118 , No18
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  引   言
描述一个目标的形状是图像处理和模式识别研
究领域中的一个重要的问题1 对于一个目标的形
状 ,我们可以着眼于目标的内部区域来描述 ,也可以
从目标的边界轮廓线来刻画1 前者称为基于区域的
描述方法 ,后者是基于轮廓线的描述方法1 多边形
近似是一种基于轮廓线的描述方法 , 其基本思想是

将边界轮廓线看成一个闭合的平面数字曲线 , 将它
拆分成若干个弧段 , 每一个弧段用连接它的 2 个端
点的直线段来近似 , 因而整个曲线由将这些直线段
首尾连接而成的多边形来近似1 由于多边形近似具
有描述简单 、
结构紧致的特点 , 因而它在目标识别 、
图像检索 、
图像压缩等领域有着广泛的应用1
通常 , 平面数字曲线的多边形近似可分为 2 类 :
一类是给定多边形的边数 M , 寻找一个具有最小近
似误差的近似多边形 ; 另一类是给定一个容忍误差 ,

 收稿日期 :2005 - 09 - 13 ; 修回日期 :2005 - 11 - 21
 基金项目 : 国家自然科学基金 (60275010) ; 上海市重点学科建设项目 ( T0603)

1150

计算机辅助设计与图形学学报

寻找一个近似误差不超过容忍误差的 、
边数最少的
近似多边形1 这 2 类多边形近似问题都可以归结为
约束的组合优化问题 , 以及在可行解空间里搜索一
个最优解1 本文研究第一类多边形近似问题 , 该类
问题 是 一 个 N P 难 问 题 , 其 搜 索 空 间 的 大 小 为
M [1 ]
CN
, 其中 N 是曲线上点的个数 , M 是多边形的
边数1
迄今为止 , 已有许多方法来求解平面数字曲线
的多边形近似问题1 其中 , 顺序跟踪法 [ 2 ] 、
拆分与合
并方法 [ 324 ] 、
关键点检测法 [ 526 ] 是基于局部搜索策略
的算法 ,其优点是方法简单 、
计算开销小 、
求解速度
快 ; 缺点是最终获得的解依赖于搜索起始点 ,即初始
解 ,所以这些算法的性能不稳定 、
求解的质量不高1
文献 [ 1 ,7210 ] 将遗传算法应用于求解平面数字
曲线的多边形近似问题1 遗传算法是一种基于全局
搜索策略的算法 ,采用群体的搜索策略 ,优胜劣汰的
选择机制 ,即适应值较高的解有较高的存活概率 ,适
应值较低的解有较低的存活概率 , 该算法具有较强
的全局搜索能力1 因而对于多边形近似问题 , 遗传
算法 的 求 解 质 量 要 高 于 基 于 局 部 搜 索 策 略 的 算
法 [ 1 ,728 ]1 但是用遗传算法求解多边形近似问题时 ,
遗传操作算子的设计 ,特别是杂交算子的设计 、
非可
行解的处理 ,以及群体规模 、
杂交概率和变异概率等
参数的选择等诸多方面对算法的性能都有很大的影
响1 另外 ,群体搜索的策略也使计算的开销很大 , 不
太适合实时应用1

2006 年

  传统的拆分与合并算法是从曲线的一个初始分
割 ( 对应一个初始的近似多边形 ) 开始 , 对分割的弧
段反复执行拆分与合并操作的迭代过程1 拆分操作
是选择弧段上的一个点作为分割点 , 将该弧段拆分
成 2 个弧段 ,分割点将成为近似多边形的一个新的
顶点 ; 同时 ,原来的近似多边形被去掉了一条边 , 增
加 2 条新的边 , 这里分割点又称为拆分点1 合并操
作是拆分操作的逆操作 , 被合并的 2 个相邻弧段的
交点 ( 多边形的顶点) 称为合并点1 图 1 所示为拆分
操作与合并操作的示例1 拆分和合并算法的关键的
问题是在执行拆分与合并操作时如何选择拆分点与
合并点1 传统的拆分与合并算法在执行拆分操作
时 ,首先计算曲线上每一个点到其对应的多边形的
边的投影距离 ,然后选择投影距离最大的点作为拆
分点1 在执行合并操作时 , 首先对当前近似多边形
的每一个顶点计算它到由其相邻的 2 个顶点所连的
线段的投影距离 , 然后选择投影距离最小的顶点作
为合并点 ,如图 2 所示1 这种对拆分点与合并点的
选择策略 ,使得拆分与合并算法的求解的质量严重
依赖于对曲线的初始分割及初始解1

图 1  拆分与合并操作

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

  本文将遗传算法的排序选择策略引入拆分与合

序号大的点分配的选择概率大于序号小的点分配的

并方法 ,提出一种基于排序选择策略的拆分与合并
算法 ( split2and2merge met hod wit h ranking selection ,

选择概率 ,然后依据选择概率选择拆分点与合并点1

RSM) ,其基本思想是 : 对曲线上的每一个非近似多

的依赖问题1

RSM 算法能有效地避免拆分与合并算法对初始解

边形顶点的点定义一个拆分强度 , 对近似多边形的
每一个顶点定义一个合并强度 , 在拆分与合并算法

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 的近似
误差定义为
e ( pi pj , pi pj ) =

∑d 2 ( p

k

, pi pj)

选择是遗传算法的一个重要的操作 , 优胜劣汰

( 1)

p k ∈p i p j

其中 d ( pk , pi pj ) 表示点 pk 到直线段 pi pj 的投影距离1
定义 41 平面数字曲线 C = { p 1 , p 2 , …, p n } 的

这是遗传算法与其他搜索算法的主要区别之一1 不
同的选择策略对算法的性能有较大的影响 , 迄今为
止 , 在遗传算法的研究中已提出各种各样的选择策
略 , 其中大部分是采用的是基于适应值比例的选择
策略 , 如轮盘赌选择 、
繁殖池选择等1 使用这种选择
策略最大的问题是会出现过早收敛现象和停滞现

多边形近似是一条直线段的有序集 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 <
t 2 < …< t m , t m + 1 = t 1 1

择策略 —

—排序选择策略 [ 11 ] , 其主要思想是在算法

定义 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 , 最差的个

M

E ( V , C) =

∑e ( p

t i p t i +1

, p t i p t i +1 )

( 2)

i =1

的每一个迭代步 , 将当前群体中的所有个体按照它

体分配的序号为 n 1 每个个体的选择概率由概率分
配函数来计算 , 其中概率分配函数是序号的函数 , 它
可以是线性和非线性的 , 依此排序选择策略又可以

  那么 , 平面数字曲线的多边形近似问题可以形
式化的定义为 : 给定一条平面数字曲线 C = { p 1 ,
p 2 , …, p n } 和多边形的边数 m , 其中 3 ≤m ≤n 1 设

分为线性排名选择和非线性排名选择1

Ω 表示所有近似平面数字曲线 C 的多边形的集合 ,
S P = { V | V ∈Ω ∧| V | = m } , 其中| V | 表示集合的

) 是个体的适应值函数1 那么分配给
f ( x n) , 其中 f ( ・

势1 找一个多边形 P ∈S P , 满足
E ( P , C) = min E ( V , C)
V ∈S P

概率分配函数的设计原则如下 : 设 P = { x 1 , x 2 ,
…, x n} 表示排序后的群体并且 f ( x 1 ) ≥f ( x 2 ) ≥…≥
个体 x i 的 选 择 概 率 p ( x i ) 应 满 足 如 下 条 件 : 1 )
n

( 3)

p ( x 1 ) ≥p ( x 2 ) ≥…p ( x n ) ; 2)

∑p ( x )
i

= 11

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 我们给出曲线上的一个点作为拆分点的拆

数来分配选择概率1 假定 C = { p 1 , p 2 , …, p m } 是一
个有序的点集 , 用排序选择策略 C 执行点的选择操

分强度和多边形 V 的一个顶点作为合并点的合并

作1 对 C 中的每一个点分配的选择概率
p ( x i ) = p ( x i - 1 ) ・e -

强度的定义1
定义 61 假设曲线上的一个点 p i ∈p t k p t k + 1 并且
p t k p t k + 1 ∈V , p t k 和 p t k + 1 分别是多边形 V 的 2 个相

邻的顶点1 在点 p i 上的拆分强度定义为
 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)

  定义 71 假设 p t k 是多边形 V 的一个顶点 , p t k - 1
与 p t k + 1 分别为它的 2 个相邻的顶点1 那么在顶点
p t k 的合并强度定义为
M ( p t k ) = 1Π( 1 + d ( p t k , p t k - 1 p t k +1 ) )

( 5)

m

tΠ( i - 1)

, i = 2 , …, m
( 6)

p ( x i) = 1

i =1

其中 t 是控制参数 , 用来调整选择概率的分配1 图 3
所示为 t 分别取 010 , 015 , 110 , 118 , 点的个数为 20
时 , 分配给各点的选择概率1 当 t = 0 时 , 分配给各
点的选择概率相同 , 此时相当于盲目的随机搜索1
当 t 的值增大时 , 选择越来越趋向于序号较低的点 ,
即排在前面的点1 当 t 的值达到无穷大时 , 第 1 个
点的选择概率为 1 , 其他各点的选择概率均为 0 ,

计算机辅助设计与图形学学报

1152

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

2006 年

5  实验结果和讨论
为了测试 RSM 算法的性能 ,我们进行了 2 组测
试实验1 在与其他算法的性能比较上 ,因为现有的基
于遗传算法的多边形近似算法要好于基于局部搜索
策略的算法[7 ] ,且文献 [ 1 ] 提出的遗传算法 EEA ( ef2
ficient evolutionary algorit hm) 在求解质量和计算速

度这 2 个主要性能指标上都要好于其他遗传算法 ,
所以我们选择 EEA 算法做性能比 较1 我 们 还 将
RSM 算 法 与 传 统 的 拆 分 与 合 并 算 法 ( split2and2
merge , SM) 作了比较 ,以验证 RSM 算法的稳定性1
图 3  t 取不同值时分配给各点的选择概率

4  算法流程

所有的实验都是在 1 台 P Ⅲ 400 , Windows 2000 计
算机上进行的1
511  用 benchmark 曲线测试 RSM 算法的性能

图 4 所示为 2 条平面数字曲线 , 这 2 条曲线被
大多数研究多边形近似算法的文献所采用1 图 4 a

本文提出的 RSM 算法有 2 个参数 : 分配选择
概率的控制参数 t 和算法的迭代次数 G1
输入1 平面数字曲线 C = { p 1 , p 2 , …, p n } 以及
多边形的边数 m 1
输出1 边数为 m 的多边形 B 1

所示为染色体形状的曲线 ,有 60 个点 ; 图 4 b 所示为
由 4 个半圆组成的曲线 ,有 102 个点1 文献 [ 5 ] 提供
了这 2 条曲线的链码1

Step11 随机地从 C 中选择 m 个点 , 按顺时针方向用直

线段连接这些点 , 构成一个 m 条边的初始多边形 V 1 V →
B , 0 →k 1

Step21 对 C 中每一个非多边形顶点的点用式 ( 4 ) 计算

它的拆分强度1
Step31 将 C 中所有的非多边形顶点的点 , 按照它们的

图 4  2 条 bechmark 曲线

拆分强度由大到小排序 , 然后按式 ( 6) 计算它们的选择概率1

  RSM 算法的参数分别为 t = 118 , G = 15001 因

依选择概率选择出一个拆分点 , 执行拆分操作 , 得到一个新

为 RSM 和 EEA 都属于随机算法 ,所以对每条曲线 ,

的多边形 V 1

输入的每一个边数 M ,算法独立运行 10 次 ,统计 10

Step41 对于多边形 V 中的每一个顶点 , 用式 ( 5 ) 计算它

的合并强度1
Step51 将 V 中所有的顶点 , 按照它们的合并强度由大

到小排序 , 然后按式 ( 6) 计算它们的选择概率1 依选择概率选
择出一个合并点 , 执行合并操作 , 得到了一个新的多边形 V 1
Step61 用式 ( 2) 计算多边形 V 的近似误差 , 如果它小于

多边形 B 的近似误差 , 那么 V →B 1
Step71 k + 1 →k , 如果 k ≤G , 则转 Step21
Step81 输出 B 1

次独立运行所得到的 10 个近似多边形的平均近似
误差 ,它们的方差以及最大的近似误差也就是它们
中最差的解1 所有的实验结果如表 1 所示 , 图 5 所
示为 RSM 算法和 EEA 对于输入的不同的边数 , 在
10 次独立运行中所得到的最差的近似多边形 ; 其

中 , M 表示预先设定的多边形的边数 ,ε 表示近似
误差1 从表 1 和图 5 可以看出 ,对于图 4 中的 2 条曲
线 ,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

最大近似误差

平均近似误差

EEA

RSM

EEA

RSM

EEA

RSM

8

1718

1614

1515

1414

213

114

M

方差

最大近似误差

平均近似误差

EEA

RSM

EEA

RSM

EEA

RSM

10

6116

5217

4411

4716

7615

1216

M

方差

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

155 17

14918

14418

9214

Total
RSMΠEEAΠ%

6015

5211
8611

5118

4717
9211

519

118
3015

186

8317

9617

1512
1615

512  应用于湖泊卫星图像轮廓线的多边形近似

我们分别用边数为 15 ,25 和 35 的多边形来近似1

我们将 RSM 算法应用于湖泊卫星图像轮廓线
的多边形近似1 图 7 所示为埃塞俄比亚最大的湖泊
T’
ana的卫星图像和从中抽取的轮廓线 ( 148 个点) 1

与第 511 节一样 ,对每一个输入的边数 ,算法独立运
行 10 次 ,图 8 所示为 10 次运算所得到的结果中近
似误差 最 大 的 多 边 形 , 其 中 M 表 示 预 先 设 定 的

计算机辅助设计与图形学学报

1154

多边形的边数 ,ε表示近似误差1 从图 8 可以看出 ,
用 RSM 算法的近似效果要好于 EEA1

[3]

2006 年

Ray B K , Ray K S1 A new split2and2merge technique for polyg2
onal approximation of chain coded curves [J ] 1 Pattern Recogni2
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

图 7  T’
ana 的卫星图像及从中抽取的湖泊轮廓线

[6]

Garrido A , de la Blanca N P , Garcia2Silvente M1 Boundary sim2
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)

为了克服传统的求解平面数字曲线的拆分与合
并算法对初始解的依赖性 , 本文把遗传算法中的排
序选择策略引入传统的拆分与合并算法中 , 成功地
解决了对初始解的依赖问题1 实验室结果表明 , 本
文算法的性能优于遗传算法和传统的拆分与合并
算法1

[ 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

  王  斌  男 ,1969 年生 , 博士研究生 ,

主要研究方向为模式识别和图像处理1

参  考  文  献
[1]

[2]

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

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