闭合数字曲线的多项式递归拟合
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
&
引言
数字图像边缘曲线的拟合是计算机辅助设计 (’() ) 与制
算法的基础上提出了一种改进的方法, 改进方法首先将闭合曲 得到两个离散函数曲线, 然后 线在 ! 方向和 " 方向进行分解, 用普通二次多项式对这两个离散函数进行递归拟合, 直到满足 某种精度要求为止。在递归拟合的过程中, 用尖点或中点对当 前曲线进行再分段。 该方法主要分为三个部分: 曲线分解、 尖点 提取及递归拟合。 其中曲线分解及尖点提取两部分内容笔者在 《一 种 间 接 提 取 轮 廓 特 征 点 的 方 法 》 一 文 中 已 有 详 细 论 述 +%,, 在 此只做简单介绍。
+&&
.$!(&
(. ) !)
’
% & (% ) & & ( +&& +&& ( & ! *& & ( ( ) ( ) * ) . , . & !’ ! (. ) $ !) .$!(& ’ .$!(& ’ $
(! ) % ) *" %" " & ! ( (+ ) & ) ( * & ,
!
(! ) , (+ ) ,
次多项式的系数只需进行 ! 次矩阵运算;又因为在离散函数 中, 通过曲率求尖点只需进行三次加减法运算, 算法简单, 计算 量小, 比文献 )(+中的三角化分段方法及文献 )#+ 中的遗传算法速 度快、 效率高。
,
结论
论文通过将闭合曲线在不同方向上进行分解, 实现了用二
次多项式拟合任意形状的闭合曲线。 通过前面的实验和分析可 知该算法无论是在拟合精度还是算法效率上, 都具有一定的优 势。而且文中提出的闭合曲线的分解算法具有普遍的意义, 任 何二维的离散曲线都可能通过该算法分解成两个离散函数, 因 此在数值分析中, 很多只能应用于离散函数点序列的方法都可 (如文中的多项式拟合) 。具体应用 以应用于闭合的离散曲线 )V+
&$<;56YMHN6A25?$]01=?3;^5=;?6 ?@ C;A;=5E ;45A0: N:;6A H;AHY?3C03 C0Y A300 5EA0T35;1 1N3F0:)7+$O =H0:;: :NT4;==0C ;6 P53=;5E @NE@;EE406= ?@ =H0 30_N;30406=: @?3 =H0 C0A300 ?@ 45:=03 ?@ :1;0610 ;6 =H0 A35CN5=0 :1H??E ?@ =H0 ‘0a5:b: N6;F03:;=9 , !""’Y"# ($IH?N_;6A GH56A , Z;6A Z; , /?12 I??6 I05H$[01N3:;F0 5EA0T35;1 1N3F0
!
(. ) (. )), (. ) ,!-*" (*& ) /*! ) .
.$!/&
!
!
(* )
图!
分解后的曲线 (! , (! ) ) 及 (! , (! ) ) " #
由 于 (( 过曲线段的首末两点, 因此在这两点处的均方 ! )) 误差为 " 。 根据最小二乘原应曲线中具有局部曲率极大值的点。在离散函数
"- ," "*!
即:
+ )& + )& ! ’ " & + )& * !
(# )
中, 可以用点的二阶差分的整数倍来近似表示曲率的大小。依 次计算上述两个函数曲线中各点的近似曲率如下: (! ) (!(&" ) (! ) (!&&" ) ! $" )!" (" (! ) (!(&" ) (! ) (!&&" ) ! $# )!# (# 将曲率值在局部最大且其值大于阈值 ’ 的点 设定阈值 ’, 设定为尖点。图 ’ 和图 * 为用该方法提取尖点得到的结果, 其 标示的是尖点。 中 “+ ”
(
( . )) (!) (. )) ( !) (. )) *( *( * !)
.$!/& + )& .$!/& .$!/& !
(. ), (. ) ,!)
.$!/&
(/ )
联合式 (! ) 、 (’ ) 、 (/ ) 得方程组:
" & # # & +&& # ! # (. ) !) .$!(& $
(! ) ) (+ ) )
12 有尖点
以尖点为界将当前曲线分为两段,然后分别对 这 两 段 进 行递归拟合;
4564
以当前曲线的中点为界将曲线分为两段,分别 对 两 段 进 行递归拟合;
4564
当前曲线段拟合成功, 保存参数, 返回; (/ ) 重复步骤 (’ ) (# ) 拟合另一条曲线; 7 图* 曲线 (! , (! ) ) 及其尖点 # (% ) 综合两个方向上的拟合曲线方程, 得到最终的拟合结果;
<=&*%2#*: AO8G8 4G8 34=M <F33F= P4L8 <>GK8L >L8? 5= HO8 38HOF? FE <>GK82E5HH5=7, L><O 4L -QL:65=8 <>GK8 4=? -8R58G <>GK8 8H<$S>4?G4H5< <>GK8 5L L53:68G 5= EFG3 4=? <46<>64H5=7 <F3:4G8? T5HO HO8L8 <>GK8L$->H HO8 9>4?G4H5< <>GK8 <4= P8 >L8? F=6M 5= <F=?5H5F= TO8= 84<O ! 2<FFG?5=4H8 FE HO8 :F5=HL L89>8=<8 34::5=7 HF F=6M F=8 " 2<FFG?5=4H8 , LF 5H <4=UH P8 >L8? 5= E5HH5=7 <6FL5=7 <>GK8$AO5L 4GH5<68 :G8L8=HL 4 E5HH5=7 38HOF? P4L8? F= L8:4G4H5=7 HO8 <>GK8$AO5L 38HOF? L8:4G4H8L HO8 <6FL5=7 <>GK8 5= ! ?5G8<H5F= 4=? " ?5G8<H5F= HF 78H HTF ?575H46 E>=<H5F=L FE F=8 ?538=L5F=, HO8= 9>4?G4H5< <>GK8 <4= P8 >L8? HF E5H HO5L HTF ?575H46 <>GK8L G8<>GL5K86M >=H56 4 <8GH45= :G8<5L5F= 5L 7FHH8=$AO8 8V:8G538=H 5= HO8 64LH :4GH FE HO5L :4:8G LOFTL HO4H HO5L 38HOF? 5L =FH F=6M 84L58G HF <46<>64H8 P>H 46LF O4L 4 O57O8G :G8<5L5F= HO4= FHO8GL$ >"5?-%@&: <6FL5=7 ?575H46 <>GK8 , 9>4?G4H5< :F6M=F3546, <>GK8 L8:4G4H5=7 , G8<>GL5K8 , E5HH5=7
! (! ) ) (! ) (! ) (! ) (( $*"(*&) (*!) ,, ! ) ! ( ( ) ) ( ) ( ) (+ ) (! ) + $*"(*&) + (*!) + ,,
(! ) (’ )
定义残差平方和:
+ )&
( ) ) (. ) -,!-(( ), . ! ) .
.$!/& + )&
解 方 程 组 求 出 *" , 可 以 证 明 该 方 程 组 有 解 -0., *& , *! 的 值 即 可得到 (! 的表达式。
#
算法设计及实验
根据以上几部分的分析, 得到改进算法的流程如下:
(& ) 曲线分解; (! ) 尖点提取;
图’
曲线 (! , (! ) ) 及其尖点 "
(’ ) 用二次多项式拟合分解后的一条曲线; (* ) 求当前平均拟合误差 " ; (# ) 12 "3’ 判断当前拟合的曲线内是否有尖点;
计算机工程与应用
!""#$%
#&
(! ) , (! ) ) (!$& , 为一条闭合 设 (! , " # !, ’…% 为 点 的 序 列 号 ) 将得到两 的离散曲线, 将该曲线在 " 和 # 方向上进行分解后, 个一维离散函数 (! , (! ) ) 和 (! , (! ) ) , 如图 & 为任意的闭合曲 " # 线, 图 ! 则为该曲线分解后得到的两个离散函数。
!
曲线分解
图&
任意闭合曲线
基金项目: 国家 @0. 高技术研究发展计划项目资助 (编号: !""&((&&#&C"2"@ ) 作者简介: 刘玉兰, 硕士研究生, 主要研究方向为图形图像处理, 多媒体技术及应用。葛庆平, 副教授, 主 要 从 事 计 算 机 图形学, 数字图像处理和计 算机视觉方面的教学和研究。
闭合数字曲线的多项式递归拟合
刘玉兰 葛庆平 (首都师范大学信息工程学院, 北京 &""".% )
123456: 789:;3456$<=>$8?>$<=
摘 要 在数字曲线拟合的各种方法中, 常见的用作拟合基元的曲线有 - 样条、 贝塞尔曲线等。与这些曲线相比, 二次
多项式曲线具有形式简单、 计算方便等特点。但二次多项式只能拟合 ! 坐标与 " 坐标之间成函数关系的点序列, 无法拟 合闭合曲线。因此, 论文提出了一种基于曲线分解的拟合方法, 该方法首先将闭合曲线在 ! 方向和 " 方向上进行分解, 得到两个一维离散函数, 然后用二次多项式分别对这两个离散函数进行递归拟合, 直到满足一定的精度要求为止。最后 实验表明, 该方法与现有拟合算法相比, 具有精度高、 计算量小等特点。 关键词 闭合数字曲线 二次多项式 曲线分解 递归 拟合 中图分类号 AB.C&
造 (’(*) 及模式识别中的重要研究内容。对于数字曲线的拟 合, 国内外学者已做了大量的研究, 提出了很多种算法, 如文献 文 献 +. , +& , !, 中 用 - 样 条 曲 线 进 行 拟 合 , /, 中 提 出 了 一 种 用 重 心坐标形式表示的代数多项式作为拟合基元, 文献 +# , 0, 则用直 线和圆弧为基元进行拟合。 用这些方法来拟合闭合曲线时存在 以下两个问题: 用作拟合 基 元 的 代 数 曲 线 形 式 比 较 复 杂 , 如三次 - 样 (& ) 条曲线的表达式要比普通的二次多项式复杂得多, 给算法的设 计带来难度, 并且计算量大大增加。 在拟合过程难以对原始曲线进行准确的分段, 以达到 (! ) 一定的精度要求, 如文献 +0,中用提取特征点的方法先将曲线分 解成很多小段, 然后依次用直线或圆弧进行拟合。用这种方法 进行分段要求每两个特征点之间的曲线段近似为直线或者圆 弧, 当特征点的定位不够准确时, 则难以达到精确的拟合。 直到拟合误差小 文献 +/,中采用二次多项式进行递归拟合, 于一定的阈值。该方法能达到较高的精度, 但是在递归过程中 对当前曲线进行再分段时, 需要逐个计算曲线上各点到一个控 制三角形底边的距离, 并求出曲线与三角形各边的交点。这种 分段方法计算量太大, 大大降低了算法的效率。 因此, 论文在该
其中 ’ 为平均拟合误差阈值, 递归次数越多, 拟合 ’ 越小,
*
递归拟合
用二次多项式对曲线进行递归拟合时,为减少递归的次
精度越高, 但算法效率越低。 因此可以根据实际要求, 适当设定
’ 的大小。
#!
!""#$%
计算机工程与应用
用 *5=E5T 软件实现该算法并进行实验得到结果如下: 图# 是 !\( 时的拟合结果, 图 , 是 !\’ 时的拟合结果。
数, 采用最小二乘的方法进行拟合。由于递归过程中需要对曲 线进行分段, 为保证拟合后的曲线在分段点处的连续性, 多项 式应该过当前曲线段的首末两点。设二次多项式的形式如下:
(( $*"(*&)(*!)! ! ))
(& )
(! : , 纵坐标范围 设被拟合的函数曲线的横坐标范 围 是 ) +) 是, (! : (& !!, , 由 (( 过 () (! ) , (! ) ) 和 () (+ ) , (+ ) ) 两 +) + !% ) , , ! )) 点, 得:
图#
!\( 时的拟合结果
有待进一步的研究。 (收稿日期: !""( 年 ’" 月)
参考文献
耿兆丰 $ 给定误差下最少数据点 8 样条曲线拟合的遗传算法 ’$ 李继云, 研究 )B+$ 计算机辅助设计与图形学学报, (& ) !""& ; ’# 丁明跃, 彭 嘉 雄$基 于 迭 代 最 近 点 的 8 样 条 曲 线 拟 合 方 法 研 !$ 肖 轶 军 , 究 )B+$ 中国图形图象学报, (% ) !""" ; #
(!""# ) 文章编号 &""!2@..&2 "%2""#&2".
文献标识码 (
!"#$%&’(" )’**’+, -. /0-&’+, 1’,’*20 /$%(" 3&’+, 4-05+-6’20&
7’$ 8$02+ 9" :’+,;’+, (D=EFG34H5F= 1=75=88G5=7 ’F66878 FE ’4:5H46 IFG346 J=5K8GL5HM , -85N5=7 &""".%)