CN111931934A - 一种基于改进遗传算法的海量控制点下仿射变换求解方法 - Google Patents
一种基于改进遗传算法的海量控制点下仿射变换求解方法 Download PDFInfo
- Publication number
- CN111931934A CN111931934A CN202010858269.9A CN202010858269A CN111931934A CN 111931934 A CN111931934 A CN 111931934A CN 202010858269 A CN202010858269 A CN 202010858269A CN 111931934 A CN111931934 A CN 111931934A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- mutation
- probability
- affine transformation
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 261
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000009466 transformation Effects 0.000 title claims abstract description 113
- 230000002068 genetic effect Effects 0.000 title claims abstract description 77
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 title claims abstract description 71
- 230000035772 mutation Effects 0.000 claims abstract description 151
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 238000012216 screening Methods 0.000 claims abstract description 11
- 210000000349 chromosome Anatomy 0.000 claims description 43
- 230000006798 recombination Effects 0.000 claims description 29
- 238000005215 recombination Methods 0.000 claims description 29
- 108090000623 proteins and genes Proteins 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 25
- 238000012360 testing method Methods 0.000 claims description 21
- 230000036961 partial effect Effects 0.000 claims description 20
- 230000002441 reversible effect Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 10
- 238000010187 selection method Methods 0.000 claims description 7
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 6
- 101150028074 2 gene Proteins 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 4
- 101150097657 Rest gene Proteins 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000013011 mating Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 76
- 230000006872 improvement Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 68
- 230000008859 change Effects 0.000 description 21
- 230000003044 adaptive effect Effects 0.000 description 20
- 238000011160 research Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 239000002245 particle Substances 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 108010017739 LAGA Proteins 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- YJAGIIHSFUDVBG-OOEBKATBSA-N laga peptide Chemical compound C([C@H](NC(=O)[C@H](CCC(O)=O)NC(=O)[C@H](C)NC(=O)[C@@H](NC(=O)[C@H](C)N)CC(C)C)C(=O)N[C@@H](CCC(=O)OC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)NC(=O)[C@H](CCC(=O)OC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](CCC(O)=O)NC(=O)[C@@H](N)CC=1C2=CC=CC=C2NC=1)NC(=O)[C@H](C)NC(=O)[C@H](CCC(O)=O)NC(=O)[C@H](C)N)C(=O)OC(=O)CC[C@H](NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)N)C(=O)N[C@@H](C)C(=O)OC(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](C)NC(=O)[C@H](CC(C)C)NC(=O)[C@@H](N)CCC(O)=O)C1C=NC=N1 YJAGIIHSFUDVBG-OOEBKATBSA-N 0.000 description 6
- 238000002922 simulated annealing Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 101150004094 PRO2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 210000001726 chromosome structure Anatomy 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 101150073444 rd gene Proteins 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000033458 reproduction Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013316 zoning Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 108700028369 Alleles Proteins 0.000 description 1
- 102100021523 BPI fold-containing family A member 1 Human genes 0.000 description 1
- 241001674044 Blattodea Species 0.000 description 1
- 241000282461 Canis lupus Species 0.000 description 1
- 241001481710 Cerambycidae Species 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000287828 Gallus gallus Species 0.000 description 1
- 101100165584 Homo sapiens BPIFA1 gene Proteins 0.000 description 1
- 241000254158 Lampyridae Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- NINIDFKCEFEMDL-UHFFFAOYSA-N Sulfur Chemical group [S] NINIDFKCEFEMDL-UHFFFAOYSA-N 0.000 description 1
- 241000255588 Tephritidae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001580 bacterial effect Effects 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000144987 brood Species 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000003471 mutagenic agent Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000014639 sexual reproduction Effects 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于改进遗传算法的海量控制点下仿射变换求解方法,针对面向海量控制点下的仿射变换参数求解问题,采用以上改进遗传算法处理。这里算法的“改进”主要体现在算法流程上最基本的“先选择‑再交叉‑再变异”之后额外加入的“再筛选操作”,它是建立于以上合理的编码和解码方式、选择算子、交叉算子及其交叉概率、变异算子及其变异概率的基础上。本发明提出的最优化新方法,不仅算的相对准确,而且算法相对较快,并且能够解决最优化问题候选解较多,即仿射变换参数最优化求解时控制点较多的特殊问题。
Description
技术领域
本发明涉及计算机科学与地理信息科学领域,尤其涉及的是一种基于改进遗传算法求解海量控制点下仿射变换参数计算的最优化方法。
背景技术
首先给予研究背景和研究现状的介绍,包括介绍仿射变换的概念和坐标变换,尤其是仿射变换的应用场景和意义,回顾传统最优化算法以及群智能优化算法的发展现状、阐述基于最优化算法实现仿射变换的国内外研究现状、阐述仿射变换对于海量控制点的主观需求和海量控制点客观获取的有利条件。具体如下:
(1)回顾面向仿射变换的参数求解
在现实2D/3D环境中,存在许多坐标变换类型,比如由平移(Translation)和旋转(Rotation)形成的刚性变换(Rigid Transformation,也成欧式变换),如附图1所示。以上刚性变换再加上等比例缩放(Isotropic scaling)就构成了相似变换(SimilitudeTransformation)。针对缩放(scaling),除了以上等比例缩放外,还有非等比例缩放,非等比例缩放操作可能产生对称(Reflection);在相似变换的基础上,再加上非等比例缩放、对称、以及错切(Shear),就形成了仿射变换(Affine Transformation)。换言之,在仿射变换中,允许平移、旋转、缩放这三个基本操作,以及由以上三者衍生而来的对称和错切。仿射变换再加上透视操作(Perspective)就形成透视变换(Projective/PerspectiveTransformation)。在以上所有变换类型中,仿射变换是较常用的,也是本文所关注的(其在地图匹配中的应用价值在下文第二部分详述)。
以下给出仿射变换的数学表达:理论上,由变换前的二维点(x,y)通过仿射变换T形成变换后的二维点(x',y')。为了便于计算,采用齐次坐标方式来描述二维点,二维点(x,y)的齐次坐标为(x,y,1),二维点(x',y')的齐次坐标为(x',y',1)。基于以上描述,变换过程如公式(1)所示,即变换前的二维点(x,y,1)通过仿射变换T形成变换后的二维点(x',y',1)。三维点的仿射变换与以上二维点的仿射变换相似,不再赘述。
在公式(1)中,变换矩阵T理论上存在3*3=9个参数,但是根据齐次特征事实上只需求解其中6个参数。换言之,总共存在6个未知数(即a,c,l,b,d,m)。公式(2)与公式(1)是等价的。
由公式(2)可知,一对控制点可以得到两个方程。为求解如上6参数,则需要至少3对控制点。换言之,如果点对数N等于3时,即可以精确计算以上6个参数。而当点对数N多于3,多余(N-3)对控制点则可用于优化以上6个参数;换言之,当控制点N(N>=3)时可将以上问题转换为两个单目标最优化问题(单目标优化下文第三部分详述),如公式(3)和(4)所示:
min(Z1)=min∑(a*xi+c*yi+l-xi')2 (3)
min(Z2)=min∑(b*xi+d*yi+m-yi')2 (4)
以上两个目标函数是互相独立的,故而一般情况下分别最优化求解。但在某些特殊情况下,也可以将以上组合为一个多目标最优化问题,如公式(5)所示。本文考虑绝大部分情况,即对于以上公式(3)和公式(4)分别给予求解。
min(Z)=min(Z1,Z2) (5)
附图2给出了一个简单对象(采用9个控制点表达)的仿射变换例子。该对象首先沿着X轴负方向平移一个单位,并沿着Y轴负方向平移一个单位,所产生的变换矩阵如图中T1所示;之后,它以原点为中心绕逆时针方向旋转90度,所产生的变换矩阵如图中T2所示;接着,它沿着X轴做了对称,所产生的变换矩阵如图中T3所示。以上三个变换矩阵形成了仿射变换的最终结果。
(2)阐述基于坐标变换(仿射变换)的地图匹配的广泛应用场景
仿射变换(作为常用的坐标变换)典型应用于地图匹配领域。在应用于地图匹配的仿射变换中,一般采用点对(而非线段对或多边形对),因为点的定位要比线段或多边形容易。如上所述,仿射变换至少需要三对点。这样的每对点,在应用上称为同名点(corresponding point),即代表相同地物;在技术上称为控制点(control points),指用来控制地图之间对应关系。基于坐标变换(尤其是仿射变换)的地图匹配典型过程如下:取至少三对控制点数据,比如北京市在中国行政区划图和遥感影像图上都有标记,通过三对类似的控制点(比如北京市、上海市、成都市,不在同一条直线上)就可以确定中国行政区划和遥感影像图的仿射变换关系。
除了以上行政区划图和遥感影像图叠加的应用外,地图匹配的真实应用场景众多,在与地理信息系统(GIS)相关各类应用领域尤其常见。比如,航海应用中数字海图与数字地形图的融合、电力应用中输变电设备叠加于地图之上、车辆导航领域中GPS线状轨迹覆盖于地图底图之上、防灾减灾领域中最新高分辨率遥感影像上叠加房屋分布图、相邻图幅的高分辨率遥感影像的拼接、同一城市区域的不同来源遥感影像配准等。以上几个应用,从制图专业角度讲,这叫数字景观模型(Digital Landscape Model,简写DLM)和数字制图模型(Digital Cartographic Model,简写DCM)的融合,DLM往往是矢量格式,典型如(点矢量格式的)汽车瞬时位置、(线矢量格式的)GPS时序轨迹、(多边形矢量格式的)房屋覆盖范围,DCM往往是栅格形式,典型如(栅格形式的)地表遥感影像;从数字城市角度讲,这叫多源异构数据融合,多源体现在底图来源于卫星拍照、实时交通热力信息来源于交通委、水文状况来源于水利局、行政区划图来源于自然资源局、人口数据来源于统计局等,异构体现在它们有的是图片格式、有的是文字格式、有的是空间数据格式(点、线、面等多种格式)。以上各类地图匹配应用典型服务于防灾减灾、自然资源调查、疾病地理空间分析、土地资源管理等方面。
以上基于坐标变换(典型仿射变换)实现图形图像匹配的思想,还可以用于医学领域中描述同一病体区域的两张医学图像的配准从而协助分析病情、同一区域不同角度街景拍照图像的配准从而实现街景三维重建等。该思想甚至还可以应用于同一地区在不同测绘坐标系之间的转换求解,这在我国测绘中常用测绘坐标系互相转换中体现最明显。具体如下,
在我国测绘领域中,最常用的有5种坐标系,即1954北京坐标系、1980西安坐标系、1984WGS坐标系、2000国家大地坐标系、城市/地方独立坐标系。我国自然资源部决定,自2008年7月1日起启用2000国家大地坐标系,2009年出台《现有测绘成果转换到2000国家大地坐标系技术指南》,2013年出台《2000国家大地坐标系推广使用技术指南》和《大地测量控制点坐标转换技术规程》。在以上技术指南和技术规程中,给出了坐标系之间的转换方法,典型的包括:三维七参数坐标转换方法(涉及三个平移参数、三个旋转参数、一个尺度变化参数)、二维七参数坐标转换方法(涉及两个平移参数、旋转相关四个参数、一个尺度变化参数)、三维四参数转换方法、二维四参数转换方法(两个平移参数、一个旋转参数、一个尺度变化参数)、多项式拟合模型。其中,众所熟知的布尔沙-沃尔夫(Bursa-Wolf)模型即是七参数,应用最为广泛。事实上,以上布尔沙-沃尔夫七参数通过数学分解合并之后的等价于上文第一部分所述仿射变换六参数。
有关规范对于以上坐标系转换方法的适用性如下规定:全国及省级范围的坐标转换选择二维七参数转换模型,省级以下的坐标转换可选择三维四参数模型或平面四参数模型(多以平面四参数为主)。本文针对仿射变换六参数(即以上布尔沙-沃尔夫七参数)求解提出新方法并将其应用于我国某地级市地图变换的具体案例,符合以上适用性要求,而且采用转换模型(即七参数模型)充分满足变换的准确性要求。
(3)回顾求解最优化问题的当前研究现状
如上所述,需要多对(至少三对)控制点可以给予(应用于地图匹配的)仿射变换参数求解。那么,具体如何求解呢?对多控制点的仿射变换参数求解问题,本质上是最优化问题(optimization)。最优化方法是研究方案如何达到目标最优的一种方法,它基于数学和运筹学的原理,在实际应用中非常广,包括资源调度、排班/排课/排床位、图像处理、机械参数修正等实际应用,旅行商问题、背包问题、图着色问题等都是经典的最优化问题应用。根据优化目标函数个数,最优化问题可以分为只有一个目标函数的单目标优化问题(Single-objective Optimization Problem,简写SOP)、具备多个目标函数的多目标优化问题(Multiple-objective Optimization Problem,简写MOP)。根据问题难易程度划分,有约束条件的最优化比没有约束条件的最优化复杂,从线性优化、至整型优化、至二次优化(简单非线性优化)、至任意形式的非线性优化,优化求解难度依次增加。
传统优化求解方法包括麦夸特法(Levenberg-Marquardt)、准牛顿法(Quasi-Newton)、共轭梯度法、梯度计算法等,至今发展成熟。以梯度计算法为例,从最原始的梯度计算思想发展而来的随机梯度下降法(Stochastic Gradient Descent,简写SGD)、动量法(Momentum)、自适应梯度(Adaptive Gradient,简写Adagrad)、自适应动量估计(AdaptiveMoment Estimation,简写Adam)等,已经在人工智能(Artificial Intelligence)中发展迅速并广泛普及,即人工智能三大分支—图像理解、自然语言处理、语音识别中的神经网络训练广泛基于以上梯度计算思想。这些传统方法虽稳定,但方法过于机械,优化求解花费时间长,得到最优解时间复杂度高。
相对的,启发式(Heuristic)优化算法在最近几十年来发展迅速,尤其是群智能优化算法不断被设计出现,尤其是诞生并发展了一大批以动物命名的群体智能优化方法。这些启发式及群智能优化算法典型包括,如附图3所示:位置和速度更新明显的算法(如粒子群算法、果蝇算法、蝙蝠算法、萤火虫算法、布谷鸟算法、细菌觅食算法)、群内个体之间合作明显的算法(如人工蚁群算法、人工蜂群算法、人工鱼群算法)、内外两层嵌套循环明显的算法(如模拟退火算法、混合蛙跳算法)、繁衍与进化机制明显的算法(如遗传算法、差分进化算法、人工免疫算法)。此外,还有禁忌搜索算法,同样位置和速度更新明显的猴群算法、狼群算法、猫群算法、蟑螂算法、天牛须搜索算法,以及鸡群算法、和声算法等。这些算法是生物界和自然界历经了无数代发展和适应的模拟,囊括了生物界和自然界的智慧结晶,是无数代接受自然选择的客观结果。其中,尤其是粒子群算法、模拟退火算法、遗传算法,它们三者的提出时间较早,至今发展最为成熟;在这三者之中,遗传算法提出最早,至今发展最为成熟,具备严密的模式理论基础,被广泛应用于最优化应用各领域。本文提出新方法正是基于传统遗传算法的改进(后下详述)。
(4)回顾采用群智能优化方法给予仿射变换求参的国内外研究现状在这里,回顾采用群智能优化算法给予仿射变换参数求解(用于点对匹配、图像匹配等应用)的相关国内外研究现状。研究发现,其中采用经典遗传算法的研究是最多的,也存在不少基于粒子群算法、模拟退火算法、人工蚁群算法的相关研究。具体如下,
Peng-Yeng Yin(2006)基于粒子群PSO算法给出了50对点的点匹配研究,并应用于指纹匹配中(Peng-Yeng Yin.(2006).Particle swarm optimization for point patternmatching[J].Journal of Visual Communication&Image Representation,vol.17,pp.143-162.)。苗启广等(2008)和余春超等(2016)采用结合粒子群PSO算法和互信息测度标准结合的方法研究了2张图的图像配准,分别应用于红外图像和遥感图像的配准(苗启广等.(2008).基于归一化互信息与模糊自适应PSO的图像自动配准方法[J].计算机科学,vol.35,no.6,pp.175-177.)。李伟等(2007)通过人工蚁群ACO算法给出了2张图像的仿射变换六参数求解思路(李伟等.(2007).基于蚁群算法的仿射变换参数求解[J].红外技术,vol.29,no.11,pp.662-665.)。N.K.Sreeja等(2015)同样基于ACO算法研究了两张图像如何通过点匹配给予图像配准,采用的是日常生活中拍照图像给予匹配验证(N.K.Sreeja etal.(2015).Ant colony optimization based binary search for efficient pointpattern matching in images[J].European Journal of Operational Research,vol.246,pp.154-169.)。韩艳丽(2013)等提出了一种模拟退火SA算法和粒子滤波结合的图像配准算法(韩艳丽等.(2013).基于粒子滤波和模拟退火方法的图像配准[J].计算机与数字工程,vol.41,no.12,pp.1903-1905.)。Nirwan Ansari等(1990)是较早提出采用遗传算法给予点匹配研究的,对于12对点采用整数编码、轮盘赌选择、部分匹配交叉(交叉率0.5)、互换变异(变异率0.02)的算法配置(Nirwan Ansari et al.(1990).Point patternmatching by a genetic algorithm[C].Industrial Electronics Society,IECON’90,16th Annual Conference on IEEE,6p)。之后,Ashish Agrawal等(1994)同样采用遗传算法研究了12对点的点匹配问题,采用整数编码、轮盘赌选择的变体、均匀交叉以及多种变异的策略(Ashish Agrawl et al.(1994).Evolutionary programming for fast and robustpoint pattern matching[C],IEEE World Congress on IEEE InternationalConference on Neural Networks,6p)。张立华等分别于2000和2003年给予了基于遗传算法的点匹配理论研究,前者针对12对点采用整数编码、轮盘赌选择、部分匹配交叉(交叉率0.94)、互换变异(变异率0.1)的配置(张立华等.(2000).基于遗传算法的点模式匹配方法[J].电子学报,vol.28,no.10,pp.36-40.),后者针对15对点采用二进制编码、轮盘赌选择、单点交叉(交叉率0.05和0.03)、逆转变异(变异率0.02和0.03)的配置(Zhang Lihua etal.(2003).Genetic algorithm for affine point pattern matching[J].PatternRecognition Letters,vol.24,pp.9-19)。此后,沈晋慧(2003)给予基于遗传算法的医学图像配准研究,其采用遗传算法分为两部分,算法前期采用实数编码、轮盘赌选择、算术重组的变体、均匀性变异的策略,算法后期采用格雷码编码、轮盘赌选择、两点交叉(交叉率0.8)、基本位变异(变异率0.01)的策略(沈晋慧.(2003).遗传算法在医学图像配准技术中的应用[J].首都医科大学学报,vol.24,no.1,pp.30-32.)。此外,还有张斌等(2010)将遗传算法应用于遥感图像配准之中(张斌等.(2010).基于遗传算法与仿射变换的遥感图像配准[J].科学技术与工程,vol.10,no.21,pp.5168-5170.),同样应用于遥感图像配准的还有付小东(2015),后者采用了整数编码、两点交叉、基本位变异的算法配置(付小东.(2015).基于多目标进化算法的图像配准方法[Msc.].硕士学位论文,西安电子科技大学,西安,86p)。而娄联堂等(2006)在遗传算法基础上结合轮廓曲线能量测度思想给予了军事打击目标的图像配准研究(娄联堂等.(2006).基于能量和遗传算法的仿射变换求解方法[J].武汉化工学院学报,vol.28,no.3,pp.78-82.),类似的,张桂梅等(2013)在遗传算法基础上结合弦高点给予了数字图像的配准研究,其采用格雷码编码、精英保留策略、单点交叉(交叉率0.8)、基本位变异(变异率0.2)的具体策略(张桂梅等.(2013).基于弦高点和遗传算法的仿射配准[J].自动化学报,vol.39,no.9,pp.1447-1457.)。
总结发现,在以上各类群智能优化算法实现仿射变换参数求解过程中,输入点对以12对居多,也有采用15对点,最多有50对点,没有超过上百对控制点,这样使得目标函数计算量相对少(因为输入控制点对少,详见公式3和公式4),换言之,目标函数中项数相对少、计算量相对不高。在以上没有采用控制点对而是采用图像直接比对的研究中,整张图像或是图像一部分(如包含对象的外轮廓)采用信息熵(entropy)作为优化目标函数从而实现图像配准时,无论图像大小有多大变化、图像内容有多少丰富,信息熵的计算策略是恒定的,这就造成此时优化目标函数同样计算相对简单,尽管信息熵的测量可以多样(典型可以采用互信息测度)。以上可以借鉴传统群智能优化方法或传统遗传算法求解。
更为直观的,控制点对数量的或多或少对算法运行产生影响可以如下理解:
若已知控制点越少,会造成夹在多点之间的直线摇摆空间相对越大,即解空间相对大,但目标函数(或称适应度函数)的计算量小(因为公式3和4中求和项数少)。
相对的,若已知控制点越多,会造成夹在多点之间的直线摇摆空间相对较小,即解空间相对小,但目标函数(或称适应度函数)的计算量大(因为公式3和公式4中求和项数多)。
(5)阐述仿射变换对于海量控制点的主观需求和海量控制点客观获取的有利条件
如上所述,截至目前国内外普遍采用少量控制点求解仿射变换。换言之,绝大部分默认如下:既然三对控制点已经可以求解,比三对多一点(比如10多对)已经足够用于优化;同时,人的常规认知是控制点不易获取,没有必要花费大量时间、精力、财力去获取控制点对,然而,事实却与以上主观认知不相符合。换言之,实际数据产生或真实场景应用中没有理论上那么完美,包括如下几种典型客观情况:
(1)内外业人员对于同名点会定位准确(correct)但不精确(not precise),如非规则形状的典型地物的中心或质心会有人工评判(如数分米的)偏差;
(2)同一张地图的同名点定位由不同批次内外业人员共同完成,而不同操作人员的定位观念或定位方法有所差异,如学校的大门口定位可能存在(如多米的)认知差距;
(3)最终大图由多个(行政区划)子图共同拼接而成,而子图形成大图的拼接时可能存在误差。
在客观真实的遥感影像图或者由遥感影像解译生成的矢量地图中,以上情况(1)-(3)都极可能发生。除此之外,还可能产生如下情况:
(4)甚至同一张地图制作生产时会产生局部形变,典型如人文性质的地图依托于遥感影像底图数字化产生,即使如此,它的半自动半手工的作业性质本身一定会造成地物本身偏差,更何况基于遥感影像图的矢量地物提取与数字化已经被实践证明无法完全自动化。
基于以上,为了提高基于控制点坐标的两张地图对应精确,除了规范相关作业人员应当正确采集与生产数据之外,自然而然想到从数学原理上提出新方法从而改进坐标对应。典型的数学原理改进就是采用更多的控制点对(即更多的同名点对)。
那么,大量甚至海量控制点在客观上容易获取吗?当前通过同名点匹配实现各类应用(典型图像配准)的总体趋势是同名点获取越来越方便、点位精度越来越高。具体的,
一方面,同名点获取越来越方便,这从计算机视觉(Computer Vision)的相关技术发展中体现最为明显,在计算机视觉中同名点一般称为特征点(key point),位于物体边缘明显转角处的一类特殊特征点称为角点(corner point),角点与特征点提取的相关算法发展越来越成熟、算法性能越来越好,如附图4所示,图4为角点检测(corner pointdetection)算法和特征点检测(key point detection)算法。针对角点提取方法,有1981年提出Moravec算法、1988年提出的Harris算法、1994年提出的Shi-Tomasi算法、1997年提出的SUSAN(Smallest Uni-value Segment Assimilating Nucleus)算法、2006年提出的FAST(Feature from Accelerated Segment Test)算法、2010年提出的AGAST(Adaptive andGeneric Accelerated Segment Test)算法,其中,Harris及其改进Shi-Tomasi最为有名、应用广泛。针对特征点提取方法,有1999年提出2004年完善的SIFT(Scale InvariantFeature Transform)算法、2006年提出2008年完善的SURF(Speeded Up Robust Features)算法、2010年提出的BRIEF(Binary Robust Independent Elementary Features)算法、2011年提出的ORB(Oriented FAST and Rotated BRIEF)算法、2011年提出的BRISK(BinaryRobust Invariant Scalable Keypoints)算法、2012年提出的KAZE算法、2013年提出的AKAZE算法,其中,以SIFT及其改进SURF算法、上述FAST和BRIEF结合形成ORB算法最有名。
另一方面,作为当今主要四大全球卫星导航系统GNSS(Global NavigationSatellite System)之一的中国北斗卫星导航系统BeiDou System在2020年6月完成了全球卫星组网(1994年北斗一号系统开建、2004年北斗二号系统开建、2009年北斗三号系统开建,直至2020年6月发射北斗系统最后第55颗卫星),我国北斗卫星导航系统的全球组网最终完成,它能够为同名点的地图定位带来基于自主产权的更高精度与更低成本,成本低使得控制点对可以设置更多,精度高使得地图匹配更准确。在GNSS中,除了北斗另外三个分别是美国的全球定位系统Global Positioning System、俄罗斯格洛纳斯系统GLONASS、欧盟伽利略定位系统Galileo。
发明内容
本发明提出一种改进遗传算法,用于面向海量控制点情况下的仿射变换参数求解。本发明提出的新方法是对传统遗传算法的改进,采用八元组给予表达,尤其是在算法流程上采用新颖的子辈和父辈公平竞争的策略,从而能够处理最优化过程中候选解数量较多的特殊情况。本发明提出的最优化新方法,不仅算的相对准确,而且算法相对较快。
本发明的技术方案如下:一种基于改进遗传算法的海量控制点下仿射变换求解方法,采用八元组给予表达,如公式(6):
IGAATLCP={ED,SEL,CR,MT,P,PRO,POP,ITER} (6)
其中,IGAATLCP是Improved Genetic Algorithm for Affine Transformationunder Lots of Control Points的缩写,即在大量控制点情况下仿射变换求参的改进遗传算法;ED是编码与解码方式;SEL是选择算子;CR是交叉和重组算子;MT是变异算子;P是交叉概率与变异概率;PRO是遗传算法的算法流程;POP是种群规模;ITER是迭次收敛条件;具体包括以下步骤:
步骤一.确定方法的编码与解码方式ED,对于数值计算问题,包括测试
函数的数值计算与仿射变换求参的数值计算,统一采用实数编
码方式;对于旅行商问题,统一采用排列编码;
步骤二.确定方法的选择算子SEL,是指参照适应度函数,按照预先选定的策略随机从父代中挑选一些个体生存下来,剩下的个体则被淘汰,采用轮盘赌选择方法RWS;
步骤三.确定方法的交叉算子CR,是指仿照自然界基因传递的过程交配,对存活下来的父代个体的某些基因进行优化组合,采用部分匹配交叉算子PMX;
步骤四.确定方法的变异算子MT,是指对编码的某些位置上的基因按照一定概率进行改变或突变,采用逆转变异算子Invert Mutation;
步骤五.确定方法的交叉概率和变异概率P,采用固定交叉概率和变异概率,固定交叉概率设置为0.5,固定变异概率设置为0.2;
步骤六.确定方法的遗传算法的算法流程PRO,采用如下公式(10)表达:
PRO-3={ED(Real-Integer+Permutation),SEL(RWS),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(Rank(MT+Parent)),ED} (10)
在以上公式(10)中,PRO-3表示改进的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS)表示轮盘赌选择,CR(PMX)表示部分匹配交叉,MT(InvertMutation)表示逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(Rank(MT+Parent))表示父辈经过以上操作衍生而来的后代与父辈本身共同形成的集合给予公平排序操作,Rank即排序算法,ED表示最后解码;采用一定量个体作为种群规模,设置最初始的种群规模即为父辈,父辈个体之间经过轮盘赌选择、按照0.5的交叉概率实现部分匹配交叉、按照0.2的变异概率实现逆转变异之后,衍生得到的与一定量相同的后辈,之后一定量父辈和一定量后辈共同形成一个染色体的集合,所述染色体的集合给予再次择优筛选将真正的子辈作为新的父辈进行下一轮循环。
上述中,所述公平排序操作是指排序结果中最优的前端部分保留作为子辈。
上述中,所述最优的前端部分为前50%的比例。
上述中,所述轮盘赌选择是指:各个个体被选中的概率与其适应度大小成正比。
上述中,部分匹配交叉是指:在染色体上随机选择2个基因位置,两个染色体按照一定概率交换两个位置之间的基因片段,染色体上其余基因位根据以上两个位置之间的对应关系实现冲突检测与调整。
上述中,所述逆转变异是指:在染色体上随机选择2个基因位置,染色体上以上2个位置之间片段按照一定概率进行逆转,由于基因位置是随机的,故发生逆转的片段长度是随机的。
上述中,所述将真正的子辈作为新的父辈进行下一轮循环迭代,直至找到接近函数值理论最小值或找个一条单次线路,所述线路实际总长度接近理论路线最小值。
本发明针对面向海量控制点下的仿射变换参数求解问题,采用以上改进遗传算法处理。这里算法的“改进”主要体现在算法流程上最基本的“先选择-再交叉-再变异”之后额外加入的“再筛选操作”,它是建立于以上合理的编码和解码方式、选择算子、交叉算子及其交叉概率、变异算子及其变异概率的基础上。它能够解决最优化问题候选解较多(即仿射变换参数最优化求解时控制点较多)的特殊问题。
附图说明
图1为现有技术中仿射变换与其它变换的关系示意图。
图2为现有技术中控制点对为9对的一个仿射变换示例示意图。
图3为现有技术中经典群智能优化算法的分类示意图。
图4为现有技术中角点检测算法和特征点检测算法示意图。
图5为本发明方法中提出的IGAATLCP八元组表达示意图。
图6为本发明实施例中最优化算法的标准测试函数中Rastrigin函数可视化图。
图7为本发明实施例中最优化算法的标准测试函数中旅行商TSP数据集中Eil-76可视化图。
图8为本发明实施例中深圳市的行政区划划分示意图。
图9为本发明实施例中深圳市控制点的坐标转换示意图。
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明提出一种改进遗传算法,用于面向海量控制点情况下的仿射变换参数求解。本发明提出的新方法是对传统遗传算法的改进,采用八元组给予表达,尤其是在算法流程上采用新颖的子辈和父辈公平竞争的策略,从而能够处理最优化过程中候选解数量较多的特殊情况。本发明提出的最优化新方法,不仅算的相对准确,而且算法相对较快。
计算机学科中的图像配准与地理信息学科中的地图配准是采用仿射变换的典型应用场景,传统仿射变换求参中采用群智能优化给予多对控制点仿射变换参数求解,只是控制点对规模往往较小,应用场景精度需求也较低。面对当前控制点需求越来越大而且越来越容易获取的现状,本发明提出的新方法能够有效实现海量控制点下仿射变换求参的相对准确且相对快速的最优化计算。具体如下:
本发明提出的改进遗传算法,如附图5所示,采用八元组给予表达,如公式(6)表达:
IGAATLCP={ED,SEL,CR,MT,P,PRO,POP,ITER} (6)
以上是一个八元组,IGAATLCP是Improved Genetic Algorithm for AffineTransformation under Lots of Control Points的缩写,即在大量控制点情况下仿射变换求参的改进遗传算法。
其中,第1项ED是Encoding and Decoding的缩写,即编码与解码方式。编码一旦确定后解码相对简单,故一般只写作编码。编码是基础,编码把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间。编码的具体实现方法有二进制编码(Binary)/格雷编码(Gray)、整数编码(Integer)/自然数编码、实数编码(Real)/浮点数编码(Float)、排列编码(Permutation)、矩阵编码(Matrix)。
第2项SEL是SELection operator的缩写,即选择算子。选择算子是算法全局收敛的关键。选择算子的具体实现方式有轮盘赌选择、锦标赛选择、精英保留策略选择、截断选择、线性排序选择、指数排序选择。
第3项CR是Cross-over and Recombination的缩写,即交叉和重组算子(一般简写为交叉算子)。交叉算子是全局最优的核心,是求解多样性的保障。交叉算子的具体实现方式有单点交叉、两点交叉、多点交叉、均匀交叉、部分匹配交叉、顺序交叉、基于位置的交叉、基于顺序的交叉、离散重组、算术重组、中间重组。
第4项MT是MuTation的缩写,即变异算子。变异算子是算法多样性和解局部最优化的保证。变异算子的具体实现方式有基本位变异、均匀变异、边界变异、非均匀变异、高斯变异、互换变异、逆转变异、多项式变异。
第5项P是Probability的缩写,即概率。这里的概率有两个,一个是交叉率(全称probability for crossover,简写为pc),另一个是变异率(全称probability formutation,简写为pm)。交叉率与变异率有固定值,也有动态变化的。其中,动态变化的交叉率与变异率也称自适应(adaptive)交叉率与变异率,自适应变化率的具体实现方式有基础自适应变化率、线性自适应变化率、余弦自适应变化率、改进自适应变化率。
第6项PRO是PROcedure的缩写,即算法流程。遗传算法的算法流程遵从“先选择-再交叉-最后变异”的总体流程,换言之,算法流程之前先编码,算法流程之后再解码。差分进化算法与遗传算法的算法流程恰好顺序相反,即绝大部份差分进化采用“先变异-再交叉-最后选择”的总体流程。尽管算法总体思想如上,但是具体流程存在差别。
第7项POP是POPulation的缩写,即种群规模。第8项ITER是ITERation的缩写,即迭次收敛条件,其可以采用迭代次数表征,也可以采用收敛阈值表征,常用前者。以上第7项种群规模与第8项迭代收敛条件是各类群智能优化算法的通用参数(即在上述粒子群算法、人工蚁群等算法中同样存在),故而在此不再赘述。
以上8元组中,第1-6项,分别为编码与解码、选择算子、交叉和重组算子、变异算子、交叉率与变异率、算法流程是核心内容。在第1-6项中,第1项编码与解码是前提,第2至第4项选择算子、交叉和重组算子、变异算子是基础,第5项交叉率与变异率是第2至4项的辅助,第6项算法流程是第1-5项的集成者。在给予详述前,先给予第2-4项选择算子、交叉和重组算子、变异算子总体阐述。具体如下,
选择操作(selection),或称选择算子,是指参照适应度函数,按照预先选定的策略随机从父代中挑选一些个体生存下来,剩下的个体则被淘汰。交叉操作(crossover),或称交叉算子,是指仿照自然界基因传递的过程交配,对存活下来的父代个体的某些基因进行优化组合。变异操作(mutation),或称变异算子,是指对编码的某些位置上的基因按照一定概率进行改变或突变。以上三种操作的作用如下:选择算子是遗传中优胜劣汰的体现,换言之,选择算子是算法全局收敛的关键。交叉和重组算子的目的是将父本中优良的基因优化组合传至下一代,同时产生新的寻优空间,换言之,交叉和重组算子是找到全局最优解的核心。变异算子可使遗传算法具有局部的随机搜索能力,同时也可使遗传算法维持多样性,换言之,变异算子是解局部最优化的保障。
遵循以上八元组,为了构建基于改进遗传算法从而实现海量控制点情况下仿射变换参数求解的新方法,需要经过如下六个步骤,具体如下:
步骤一.确定方法的编码方式ED
其中,编码ED是基础。编码(encoding),是指把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法。常用的编码方法有二进制编码/格雷编码、整数编码/自然数编码、实数/浮点数编码、排列编码、矩阵编码等。
典型的,二进制编码(Binary)是最早提出的编码方式,其全局搜索能力强,但局部搜索能力相对弱,具备严格的模式定理基础,可以解决大部分函数优化问题。格雷编码(Gray)本质上也是二进制,格雷编码只需要改变一个二进制位就能够表达相邻的整数,这种改进能够避免“相邻整数的二进制编码可能具有较大Hamming距离(也称Hamming悬崖)”的缺陷,一定程度上提高局部搜索能力。除了二进制编码,整数编码(Integer)也较为常用。实数编码(Real)的局部搜索能力强,但全局搜索能力相对弱,在工业上求解连续函数优化问题中使用实数编码使用多。排列编码(Permutation)多用于旅行商问题的求解。以上编码方式都是一维的,它们都可以看作是二维矩阵编码的特例,二维矩阵编码(Matrix)是以上一维编码的一般化。
在这里,对于数值计算问题(包括测试函数的数值计算与仿射变换求参的数值计算)中,统一采用实数编码方式;对于旅行商问题,统一采用排列编码。
步骤二.确定方法的选择方式SEL
选择算子(select)是关键,是算法全局收敛的关键,因为从遗传算法的观点来看,解的进化主要靠选择机制和交叉策略来完成,变异只是为选择、交叉过程中可能丢失的某些遗传基因进行修复和补充,在遗传算法的全局意义上只是一个背景操作;而交叉操作是建立在选择操作的结果之上,即交叉操作的对象是选择操作的结果。由此可以看出,在使用遗传算法解决实际难题的过程中,选择操作占据极其重要的位置,它也是决定遗传算法是否收敛的最主要因素。
常用的选择算子,有轮盘赌选择(Roulette Wheel Selection)、锦标赛选择(Tournament Selection)、精英保留策略(Elite Copy Selection)、截断选择(TruncationSelection)、线性排序选择(Linear-Rank Selection)、指数排序选择(Exponential-RankSelection)。其中,轮盘赌方法(Roulette Wheel Selection,简写RWS)也称比例选择方法,是指个体被选中概率与其适应度值成正比,个体的适应度越高,其被选中概率就越大。锦标赛选择(Tournament Selection,简写TOUR),是指每次从种群中取出一定数量个体,然后选择其中最好的一个进入子代种群,重复该操作,直至新的种群规模达到原来的种群规模,锦标赛选择TOUR也称两两竞争法。精英保留策略(Elite Copy Selection,简写ECS)也称保存最佳个体策略,在遗传算法求解问题过程中,虽然随着群体的进化过程会产生越来越多的优良个体,但由于选择、交叉、变异等遗传操作的随机性,当前群体中适应度最好的个体也有可能被破坏掉,从而降低了群体的平均适应度,影响遗传算法的运行效率和收敛速度;为此,可以使用将适应度最好的个体保留到下一代群体中从而进行优胜劣汰操作,即当前群体中适应度最高的个体不参与交叉运算和变异运算,而是用它来替换掉本代群体中经过交叉、变异等遗传操作后所产生的适应度最低个体。
以上轮盘赌选择方法RWS、锦标赛选择方法TOUR、精英保留策略ECS基本上都是根据适应度数值直接作出选择,除此之外,还有首先根据适应度作出排序然后根据排序结果给予选择的方法,比如截断选择(Truncation Selection),截断选择(TruncationSelection)是指根据适应度排序后选择适应度最高的N个个体的选择方法;而线性排序选择(Linear-Rank Selection)和指数排序选择(Exponential-Rank Selection)所采用的排序方法有所不同,前者是线性形式的排序操作,后者是指数形式的排序操作,但相同点是都先排序后选择。
在这里,统一采用轮盘赌选择方法RWS。
步骤三.确定方法的交叉方式CR
交叉算子(crossover)是核心,是全局最优的核心,交叉操作是模仿自然界有性繁殖的基因重组过程,其作用在于将原有的优良基因遗传给下一代个体,并生成包含更复杂基因结构的新个体。故而,称交叉运算是产生新个体的最主要方法。在算子中,交叉算子因其全局搜索能力强而闻名,与之对比的,变异算子因其局部搜索能力强而闻名。
常用的(二进制下编码下的)交叉算子,有单点交叉(One Point Crossover)、两点交叉(Two Point Crossover)、多点交叉(Multiple Point Crossover)、均匀交叉(UniformCrossover)。其中,单点交叉(One Point Crossover)是指对挑选出的两个染色体,随机产生一个交叉位置,然后两个染色体交换在该位置后面的染色体结构,从而形成两个新个体。两点交叉(Two Point Crossover)是指对挑选出的两个染色体,随机产生两个交叉位置,然后两个染色体交换两个交叉位置之间的染色体结构,从而形成两个新个体。多点交叉(Multiple Point Crossover)也称广义交叉,是指对挑选出的两个染色体,随机产生多个交叉位置,然后两个染色体交换多个交叉位置之间的结构,从而形成两个新个体;事实上,偶数个点的交叉可以看作是两点交叉的顺序多次作用的结果。奇数个点的交叉可以看作是一点交叉与多个两点交叉的顺序多次作用的结果。均匀交叉(Uniform Crossover)也称一致交叉,是指对挑选出的两个染色体上对应的每一位以一定概率进行互换,从而形成新个体。值得注意的是,以上单点交叉、两点交叉、多点交叉、均匀交叉这几个交叉算子在演化代数趋于无穷时对染色体的作用结果是一致的,这是可以理解的,因为单点交叉和两点交叉可以看作是多点交叉的特例。以上交叉算子多用于二进制编码方式下的交叉操作,除此之外,还有部分匹配交叉(Partially-Matched Crossover,简写PMX)、顺序交叉(OrderCrossover,简写OX)、基于位置的交叉(Position-based Crossover)、基于顺序的交叉(Order-based Crossover)等,它们是在以上单点交叉、两点交叉、多点交叉、均匀交叉的基础上形成。
针对实数编码下的交叉操作,除了以上二进制下常用交叉算子依然可以使用之外,还有许多独立适合于实数编码的交叉算子,这些交叉算子也称为重组算子(recombination),典型如离散重组(Discrete Recombination)、算术重组(ArithmeticRecombination)、中间重组(Intermediate Recombination)。其中,离散重组(DiscreteRecombination)是指在个体之间交换变量的值,子个体的每个变量可按照等概率随机地挑选父个体。算术重组(Arithmetic Recombination)也称线性重组(LinearRecombination),是指两个个体的线性组合而产生出两个新的个体。中间重组(Intermediate Recombination)也称中间交叉,它是算术交叉的特例。
在这里,统一采用部分匹配交叉算子(PMX),它适用于二进制和实数编码情况。
步骤四.确定方法的变异方式MT
变异算子(mutation)是保障,是算法多样性和解局部最优化的保障,变异是对基因链上的某个基因按照较小概率改变,变异算子是遗传算法产生新个体的重要操作,局部空间内新个体的产生有助于寻找局部最优解。变异算子保持了个体的多样性,克服了早熟现象,间接影响了算法收敛性能。
常见的变异算子,有基本位变异(Bit Flip Mutation)、互换变异(SwapMutation)、逆转变异(reverse/invert mutation)、均匀变异(Uniform Mutation)、边界变异(Bounded Mutation)、非均匀变异(Non-uniform Mutation)、高斯变异(GaussianMutation)。其中,基本位变异(Bit Flip Mutation)是指对个体的每一个基因座,依变异概率指定其为变异点,对变异点的基因值进行反转或用其它等位基因来代替。互换变异(SwapMutation)是指对两个基因座上的相应基因位值互相交换。逆转变异(Reverse/InvertMutation)是指对基因座上的两个基因位之间逆序排列。
均匀变异(Uniform Mutation)是指分别用符合某一范围内均匀分布的随机数,以某一较小概率替换个体编码串中各个基因座上的原有基因值。边界变异(BoundedMutation)是均匀变异(Uniform Mutation)操作的一个变形,是指随机地取基因座的二个对应边界基因之一取代原有基因值。非均匀变异(Non-uniform Mutation)的具体操作过程与均匀变异(Uniform Mutation)相似,但它的重点是搜索原个体附近的微小区域。高斯变异(Gaussian Mutation)是指进行变异操作时,用符合某一均值、某一方差的正态分布的一个随机数来替换原有基因值。由正态分布的特性可知,高斯变异也是重点搜索原个体附近的某个局部区域。除了以上常用变异算子之外,还有多项式变异(Polynomial Mutation)等变异算子。
在这里,统一采用逆转变异算子(Invert Mutation)。
步骤五.确定方法的交叉概率和变异概率P
与选择算子有所不同,交叉算子和变异算子携带有相应概率,分别代表在相应概率下发生交叉操作和变异操作的可能性。
交叉率全称probability for crossover,简写pc。变异率全称probability formutation,简写pm。理论上,交叉率pc和变异率pm大于0且小于1,一般的交叉率pc要比变异率pm大。
交叉率pc和变异率pm可以是固定值(即保持不变),也可以是动态变化的,后者要比前者复杂。之所以有时候选用动态变化的变异率,是基于如下考虑:随着算法迭代次数的增加,算法早期中期晚期的适应度值可能呈现不同规律,故而有时固定的pc和pm被动态变化的pc和pm代替。动态变化的pc和pm也称“自适应(adaptive)”,用于表达概率的动态变化。自适应变化率包括基础自适应变化率、线性自适应变化率、余弦自适应变化率、改进自适应变化率。其中,在基础自适应变化率(Adaptive Genetic Algorithm,简写AGA)中,采用交叉率pc和变异率pm随着适应度值呈现线性变换的趋势。而线性自适应变化率(LinearAdaptive Genetic Algorithm,LAGA)可以看作是AGA的改进版本,LAGA修改计算公式使得群体中最大适应度的个体的交叉率pc和变异率pm不为0,这是通过将交叉率的初始值和终止值pc1和pc2、变异率的初始值和终止值pm1和pm2代入以上AGA中线性公式得到的,可以发现,LAGA和AGA本质相同,它们都是线性变化,区别在于AGA可以看作是LAGA的特例,而LAGA是AGA的一般化。此外,余弦自适应变化率(Cosine Adaptive Genetic Algorithm,CAGA)和以上AGA、LAGA的区别在于变化曲线从线性改变为余弦三角函数Cosine,Cosine是一种典型的非线性函数。而改进自适应遗传算法(Improved Adaptive Genetic Algorithm,简写IAGA)和以上LAGA、CAGA的区别在于—IAGA变化曲线更改变为Sigmoid函数,Sigmoid也是一种典型的非线性函数。
从曲率角度对比发现,采用Sigmoid非线性变化的IAGA、采用Cosine非线性变化的CAGA、采用线性变化的LAGA和AGA,它们的平均曲率是依次降低的,而曲率对于算法性能有所影响—其它条件不变情况下IAGA性能相对最好。变化曲线设计并不是凭空产生的,它事实上借鉴了经典的神经网络中激活函数的设计思想,即在神经网络的各类激活函数中,Sigmoid激活函数(也称Logistic激活函数,采用Sigmoid函数)与Identity激活函数(采用线性变化)和Relu激活函数(较简单的非线性变化)相比,变换性能不遑多让。事实上,神经网络中还有其它类似Sigmoid的非线性激活函数,典型如TanH(双曲正切激活函数)、ArcTan(反正切激活函数),按照以上思路,同样可以将它们引入自适应交叉率pc和变异率pm的变化曲线计算公式。
在这里,核心不在于交叉率和变异率,核心在于下一步骤中的算法流程设置,故而在此统一采用固定交叉率和变异率,固定交叉率设置为0.5,固定变异率设置为0.2。
步骤六.确定方法的流程PRO
方法的算法流程事实上就是以上各类算子(即选择算子、交叉算子、变异算子)的排列流程,遗传算法基本上遵循“先选择-再交叉-最后变异”的基本流程,基于遗传算法发展而来的差分进化算法,差分进化算法基本上遵循“先变异-再交叉-最后选择”的基本流程,即与以上流程相反。编码一定在以上三个算子之前,解码一定在以上三个算子之后。
如上所述,“选择-交叉-变异”不停迭代是最基本的遗传优化流程,事实上,如此不一定能够获得准确的最优化解—特别是在目标函数复杂、候选解较多的情况下,相比交叉和变异,选择就显得更为重要;此时往往给予以上基本流程变形,典型包括在变异之后再给予一定筛选处理(即可以理解为“选择-交叉-变异-再筛选操作”)。换言之,前一次迭代中最后再筛选操作之后的输出,是作为下一次迭代初始选择算子的输入,而非之前机械性迭代操作。为了与以上机械性选择(包括只有轮盘赌选择RWS、锦标赛选择TOUR等情况都统称为机械性选择),这里称为人性化选择(即考虑更为人性化的再次筛选操作)。
再筛选操作能够有效处理目标函数比较复杂的情况,能应对候选解较多的最优化问题。
在这里,典型提出了三种具体策略,即算法1、算法2、算法3。特别的,为了清晰比较以上三种具体策略与最基本遗传算法,还给出了最基本遗传算法的算法流程,即算法0:
算法0:先编码,再轮盘赌选择,再部分匹配交叉(交叉率设置为0.5),再逆转变异(变异率设置为0.2),最后解码;经过适应度计算后可以代入下一次循环,以上过程可以采用如下公式(7)表达:
PRO-0={ED(Real-Integer+Permutation),SEL(RWS),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(MT),ED} (7)
在以上公式(7)中,PRO-0表示最基本的遗传算法的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS)表示再轮盘赌选择,CR(PMX)表示再部分匹配交叉,MT(InvertMutation)表示再逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(MT)表示子辈完全是由父辈经过以上操作衍生而来,ED表示最后解码;以上过程经过适应度计算后可以代入下一次循环。
算法1:先编码,再轮盘赌选择(将父辈parent中最好的单个个体直接保留下来),针对其余部分的选择结果,再部分匹配交叉(交叉率设置为0.5),再逆转变异(变异率设置为0.2),然后变异结果上加上以上保留的最好个体形成子辈child,最后解码;经过适应度计算后可以代入下一次循环,以上过程可以采用如下公式(8)表达:
PRO-1={ED(Real-Integer+Permutation),SEL(RWS-1),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(best-Parent+MT),ED} (8)
在以上公式(8)中,PRO-1表示改进算法1的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS-1)表示最佳父辈保存之后其余的再进行轮盘赌选择,CR(PMX)表示再部分匹配交叉,MT(InvertMutation)表示再逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(best-Parent+MT),表示(以上直接保存下来的)最佳父辈个体与(其余父辈经过以上操作衍生的)后代共同形成子辈,ED表示最后解码;以上过程经过适应度计算后可以代入下一次循环。
算法2:先编码,再轮盘赌选择(将父辈parent中一定比例保留,如10%保留90%被替代),再部分匹配交叉(交叉率设置为0.5),再逆转变异(变异率设置为0.2),然后变异结果中最优的90%与父辈中最优的10%共同形成子辈child,最后解码;经过适应度计算后可以代入下一次循环,以上过程可以采用如下公式(9)表达:
PRO-2={ED(Real-Integer+Permutation),SEL(RWS),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(MT*90%+Parent*10%),ED} (9)
在以上公式(9)中,PRO-2表示改进算法2的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS)表示再轮盘赌选择,CR(PMX)表示再部分匹配交叉,MT(InvertMutation)表示再逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(MT*90%+Parent*10%)表示父辈中最优的10%与(父辈经过以上操作衍生而来的)后代中最优的90%共同形成了子辈,ED表示最后解码;以上过程经过适应度计算后可以代入下一次循环。
算法3:先编码,再轮盘赌选择(将父辈parent中暂时全部保留),再部分匹配交叉(交叉率设置为0.5),再逆转变异(变异率设置为0.2),然后将以上变异结果与父辈形成的集合给予排序操作(即排序结果中最优的前端部分保留作为子辈child),最后解码;经过适应度计算后可以代入下一次循环,以上过程可以采用如下公式(10)表达:
PRO-3={ED(Real-Integer+Permutation),SEL(RWS),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(Rank(MT+Parent)),ED} (10)
在以上公式(10)中,PRO-3表示改进算法3的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS)表示再轮盘赌选择,CR(PMX)表示再部分匹配交叉,MT(InvertMutation)表示再逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(Rank(MT+Parent))表示(父辈经过以上操作衍生而来的)后代与父辈本身共同形成的集合给予公平排序操作(即排序结果中最优的前端部分保留作为子辈),这里的公平排序操作Rank本质即排序算法,ED表示最后解码;经过适应度计算后可以代入下一次循环。
轮盘赌选择RWS是指:各个个体被选中的概率与其适应度大小成正比。例如,现在抽奖活动有4个级别奖项,其中,一等奖抽中概率是0.14,二等奖抽中概率是0.49,三等奖抽中概率是0.06,四等奖抽中概率是0.31,以上概率分布也可以采用累积概率表达,即一等奖累积概率为0.14,二等奖累积概率为0.14+0.49=0.63,三等奖累积概率为0.63+0.06=0.69,四等奖累积概率为0.69+0.31=1,这就自然而然地造成“从统计学角度看概率越大奖项的中奖机会越大”的结果。
部分匹配交叉PMX是指:在染色体上随机选择2个基因位置,两个染色体按照一定概率交换两个位置之间的基因片段,染色体上其余基因位根据以上两个位置之间的对应关系实现冲突检测与调整。举例而言,父代软色体1为[8,4,5,6,7,1,3,2],父代染色体2为[8,7,1,2,3,5,4,6];然后,随机产生两个随机位置,例如两个位置序号为2和5,那么父代1中第2位和第5位之间片段的是[5,6,7],父代2中第2位和第5位之间片段的是[1,2,3];接着,将以上两个片段交换之后,父代1则变为[8,4,1,2,3,1,3,2]而父代2则变为[8,7,5,6,7,5,4,6];最后,根据以上片段之间的对应关系实现染色体上其余基因位的冲突检测与调整,因为以上存在1-5,2-6,3-7的对应关系,故而父代染色体1最终是[8,4,1,2,3,5,7,6]而父代染色体2最终是[8,3,5,6,7,1,4,2]。
逆转变异Inverse Mutation是指:在染色体上随机选择2个基因位置,染色体上以上2个位置之间片段按照一定概率进行逆转,因为以上基因位置是随机的,所以发生逆转的片段长度是随机的。例如,某染色体变异前为1346798205,随机产生的位置是从头至尾顺数第3位和从尾至头倒数第3位,顺数第3位基因是4,倒数第3位基因是2,将以上467982逆转变为289764,则变以后的染色体为1328976405。
在这里,为了更为清晰解释,给出以上公式10的两个例子说明。
以测试函数Sphere二维函数为例,以实数编码为前提,采用100个个体作为种群规模,这最初始的100个种群规模即为父辈;以上100个父辈个体之间经过轮盘赌选择RWS、按照0.5的交叉概率实现部分匹配交叉、按照0.2的变异概率实现逆转变异之后,衍生得到的后辈也是100个(这里新产生的后辈100个染色体和原有父辈100个染色体,虽然数目相同,但是内容却是不一样的,内容相异主要来源于以上的交叉算子和变异算子,同时,后辈是从父辈择优遗传的,不是随机遗传的,这主要体现于轮盘赌选择算子);之后,以上父辈100个染色体和后辈100个染色体共同形成一个200个染色体的集合,该集合给予再次择优筛选(即按照适应度排序之后选择200中适应度排在前100位的,即按选择前50%的比例),此时,200个中前100位的才是真正的子辈;按照以上思路,将真正的子辈作为新的父辈进行下一轮循环,如此迭代直至在x=(0,0)附近找到接近函数值理论最小值y_min=0(这里的接近阈值可以采用0.000001表达),算法在200次迭代前已经收敛。
类似的,以旅行商问题Ts-225为例,以排列编码为前提,采用200个个体种群规模,这最初是的200个种群规模即为父辈;以上200个父辈个体之间经过轮盘赌选择RWS、按照0.5的交叉概率实现部分匹配交叉、按照0.2的变异概率实现逆转变异之后,衍生得到的后辈也是200个(这里新产生的后辈200个染色体和原有父辈200个染色体,虽然数目相同,但是内容却是不一样的,内容相异主要来源于以上的交叉算子和变异算子,同时,后辈是从父辈择优遗传的,不是随机遗传的,这主要体现于轮盘赌选择算子);之后,以上父辈200个染色体和后辈200个染色体共同形成一个400个染色体的集合,该集合给予再次择优筛选(即按照适应度排序之后选择400个适应度排在前200位的,即按选择前50%的比例),此时,400个前200位的才是真正的子辈;按照以上思路,将真正的子辈作为新的父辈进行下一轮循环,如此迭代直至找个一条单次走遍以上225个城市的线路,该线路实际总长度(例如该线路实际总长度为131036)接近理论路线最小值126643,算法在约24000次迭代时已经收敛。
从以上2个例子可见,算法3中(从父辈新产生的)后辈中每个个体和(原有的)父辈中每个个体是公平竞争的(即按照适应度降序排序后再次择优筛选),而不像算法1中仅仅保留1个父辈最佳个体而不考虑父辈其它情况,也不像算法2中按照固定百分比保留父辈(其可能造成保留的10%父辈仍然不如90%后辈优秀),换言之,算法3体现了对于父辈和后辈的公平性,对父辈个体和后辈个体是一视同仁的,这样做有利于保证种群的整体优异性。
在以上算法0至算法4中,算法0是最基本的遗传算法流程,即父辈给予交叉和变异后的结果直接作为子辈,新个体与老个体的迭代更新非常突兀。在算法1中,最佳父辈个体不参与交叉和变异而直接保留进入子辈,其余父辈个体依然给予交叉和变异操作,此时新个体和老个体的迭代更新已经开始考虑原有父辈个体(该思路基本等价于精英个体保留算法思路)。在算法2中,尽管所有父辈个体参与交叉和变异,但是一定比例(如10%)的父辈最优个体保留进入子辈,剩余比例(如90%)的子辈个体从以上交叉和变异的结果中选,尽管存在10%父辈最优个体可能比剩余90%都差的极端情况,但是此时至少考虑父辈和子辈之间的合理过渡(比以上算法1过渡更为合理)。在算法3中,同样父辈个体参与交叉和变异,但是交叉和变异产生的子辈与原有所有父辈共同竞争(即在同一个集合内排序,而不是分开不同集合单独排序),这种父辈与子辈公平竞争的思想在逻辑上是最为合理的(合理性的核心体现于以上新老个体混合一起之后的公平竞争),事实上最优化效果也是最好的(下文具体实例数据验证)。
本发明针对面向海量控制点下的仿射变换参数求解问题,采用以上改进遗传算法处理。这里算法的“改进”主要体现在算法流程上最基本的“先选择-再交叉-再变异”之后额外加入的“再筛选操作”,它是建立于以上合理的编码和解码方式、选择算子、交叉算子(及其交叉概率)、变异算子(及其变异概率)的基础上。它能够解决最优化问题候选解较多(即仿射变换参数最优化求解时控制点较多)的特殊问题。其中,以上算法0是最基本的遗传方法流程,算法3是本发明提出的改进遗传方法流程,算法1和算法2介于以上两者之间。比较以上算法实现,可见算法3(本发明提出的改进遗传方法)在最优化时存在大量候选解的情况下表现效果往往比算法1、算法2要好。以下采用实例证明。
实例数据分析
如上所述,最优化方法(包括群智能优化算法)众多,不仅有蚁群算法、遗传算法、粒子群算法、模拟退火算法等,还有同一种遗传算法的不同变体。针对那么多的算法实现,为了比较各个算法方法的优劣,往往希望能够给出不同算法在同一数据集上的表现结果对比,这样的数据集也称为最优化数据基准(benchmark)。针对基准数据集,典型包括各类测试函数、旅行商问题等。其中,测试函数基准数据和旅行商问题基准数据是这里用到的实例数据。此外,还会给出面向海量控制点情况下仿射变换参数求解的具体例子数据。
在基准数据的基础上,判断一个算法的优劣,往往如下判断:
对于绝大部分的数值计算算法,其评判基本上可以分为如下三个层次:
(1)算的对不对,即能否找到正确解(correct);
(2)算的准不准,即得到解的小数点部分是否足够精准(accurate);
(3)算的快不快,即为了同样精度的解是否可以采用较少的迭代次数或者花费时间更少(cost);
对于最优化算法,它本身给出的就是近似解,而不是理论最优解,故而评判采用如下:
(1)算的准不准,即得到实际近似解与理论最优解的差距有多少。比如,针对Booth函数,能否在x1=1和x2=3点附近取到接近0的最小值;值得注意的是,由于最优化算法中每次取得的都是近似解,故而采用多次求解计算平均值的策略更为合理,近似解平均值与理论最优解之间的差距可采用相对百分比衡量;
(2)算的快不快,即为了获取同样近似解是否可以采用较少迭代次数或者花费更少时间。算法收敛一般以相邻两次计算差小于阈值来代表,故而预设迭代次数最大值往往要比实际值大;
实例数据分析-测试函数
测试函数是一些简单或复杂的函数,用于测试单目标优化算法或多目标优化算法。在这里,只涉及面向单目标优化算法的测试函数,它们从简单至复杂都有——面对众多测试函数,总体上可以分为5个级别,具体如下:
-第一级别(最简单):极小值存在1个,最小值存在1个,最小值明显,典型如Sphere函数;
-第二级别(相对简单):极小值处平坦,最小值存在1个,最小值不明显,典型如Beale函数、GoldStein函数、Rosenbrock函数;
-第三级别(稍复杂):极小值存在N个,最小值1个,最小值明显,典型如Ackley函数;
-第四级别(中等复杂):极小值存在N个,最小值1个,最小值不明显,典型如Schwefel函数、Rastrigin函数、Griewank函数;
-第五级别(最复杂):极小值N个,最小值N个,最小值不明显,典型如Shubert函数;
表1给出了各个测试函数的特性,包括函数名称、函数特点、可取变量个数,理论最优解(包括X值和Y值)。比如,Sphere是第一级别最简单的测试函数,存在极小值1个,存在最小值1个,最小值明显,可取变量2或多个,理论上在X变量取值(0,0,...)处取到最小值(即最优解)为0。再比如,Rastrigin函数的可视化如附图6所示。
将以上IGAATLCP代入以上测试函数数据集,以上算法1、算法2、算法3都能够给出多个测试函数的近似最优解,如表1中所示。
表1.典型用于数值计算测试函数及其特征
实例数据分析-旅行商问题
旅行商问题,也称旅行推销员问题(Travelling Salesman Problem,简写TSP)。它是这样一类问题:给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。典型的TSP数据集,包括Att-48、Eil-51、St-70等,表2中前三列给出了这样的9个数据集特征介绍,具体如下:
表2.旅行商问题数据集及各算法运行结果
表中:Att-48数据集是48个城市之间的TSP问题,距离理论最优解为33522。Eil-51数据集是51个城市之间的TSP问题,距离理论最优解为426。St-70数据集是70个城市之间的TSP问题,距离理论最优解为675。Eil-76数据集是76个城市之间的TSP问题,距离理论最优解为538。KroD-100数据集是100个城市之间的TSP问题,距离理论最优解为21294。Ch-130数据集是130个城市之间的TSP问题,距离理论最优解为6110。Rat-195数据集是195个城市之间的TSP问题,距离理论最优解为2323。Ts-225数据集是225个城市之间的TSP问题,距离理论最优解为126643。A-280数据集是280个城市之间的TSP问题,距离理论最优解为2579。
将以上IGAATLCP八元组代入以上TSP数据集,运算后发现以上各TSP问题数据集的最优化求解要比上述测试函数的最优化求解复杂得多。表2中第4至第7列给出的是以上算法1(基于父辈最优个体保留的遗传算法)的算法运行状况,表2中第8列至第11列给出的是以上算法2(基于子辈部分替代父辈的遗传算法)的算法运行状况,表2中第12列至第15列给出的是以上算法3(基于父辈和子辈公平竞争的改进遗传算法,即本发明提出新方法)的算法运行状况。
以上算法1、算法2、算法3在每个数据集上分别运行多次并取平均值。例如,算法1在Att-48数据集上在采用种群规模100和最大迭代次数阈值2000情况下,第一次在1748次迭代时就已经收敛,得到近似解35920,如此共计运行5次,最优近似解的平均值为37489,与理论最优解33522的差距为11.8%。再比如,算法3在Rat-195数据集上在采用种群规模200和最大迭代次数阈值11000情况下,第一次在10750次迭代时就已经收敛,得到近似解2582,如此共计运行5次,最优近似解的平均值为2570,与理论最优解2323的差距为10.6%。算法运行于Eil-76数据集的单次运行结果可视化,如附图7所示。
总结以上3个算法在9个数据集上总共3*9*5=135次运行状况,总结发现:大部分在预设最大迭代次数阈值之前或接近阈值时已经收敛,通过对比平均最优解与理论最优解发现算法2优胜于算法1且算法3又优胜于算法2,通过对比收敛次数发现算法3的收敛次数一般不大于算法2,即发现算法3(即本发明提出新方法)的最优化整体效果最佳。
实例数据分析-面向海量控制点情况下仿射变换参数求解
以上都是算法在基准数据上的运行,这里给出仿射变换真实案例的算法运行。在这里,以中国广东省深圳市为例,将以上IGAATLCP中算法3应用于坐标转换(从深圳独立平面坐标系转换为西安1980坐标系)。其中,深圳市也称鹏城,是我国南方城市,其行政区划一般认为有10个区,其核心区域包含4个区(自西往东依次是南山区、福田区、罗湖区、盐田区),除此之外剩余6个区(自西往东依次是宝安区、光明区、龙华区、龙岗区、坪山区、大鹏新区),如附图8所示。
在这里,采用从深圳市测绘相关单位获取的202个控制点坐标集合给予坐标转换计算。针对深圳市的独立平面坐标系,横向大约位于85000和170000之间,纵向大约位于7800和56000之间,附图中为深圳市控制点的坐标转换示意图(即从深圳独立平面坐标系转为西安1980坐标系转换示意图)。附图9给出了202个控制点之中14个的深圳独立平面坐标位置的可视化(叠加于深圳市遥感影像底图之上)。在这14个控制点中,点(100000,52000)对应的西安1980坐标为(49****.33,252****.253),点(100000,43000)对应的西安1980坐标为(49****.833,251****.651)。因为控制点坐标本身是保密的,所以统一采用*隐蔽其中部分数值。
如之前背景介绍第一部分所言,仿射变换求参的核心是求解a,c,l这三个参数和b,d,m这三个参数(详见以上公式3和公式4)。将IGAATLCP代入以上202个控制点坐标,通过顺利解算得到a,c,l和b,d,m这六个参数(因为控制点坐标数据涉密,故而a,c,l和b,d,m的数值这里暂不给出),但是明确以上仿射变换求参的最优化计算结果都是正确的,因为a,c,l和b,d,m的最优近似解的多次计算结果是一致的,同时每次计算的均方根误差(RMSE,RootMean Square Error)都小于0.001且残差平方平和(SSE,Sum of Squared Error)小于0.00001,以上两个误差阈值和控制点本身坐标数值相比几乎可以忽略不计。
需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
本发明是受资助于“自然资源部城市国土资源监测与仿真重点实验室开放基金资助课题,项目编号KF-2019-04-017(The Project Supported by the Open Fund of KeyLaboratory of Urban Land Resources Monitoring and Simulation,Ministry ofNatural Resources)(Project ID:KF-2019-04-017)”以及“浙江省自然科学基金资助,项目编号为LQ19D010005(Zhejiang Provincial Natural Science Foundation of Chinaunder Grant No.LQ19D010005)”以及“宁波市自然科学基金资助项目,项目编号为2018A610121(Ningbo Natural Science Foundation under Grant No.2018A610121)”以及“数字制图与国土信息应用工程国家测绘地理信息局重点实验室开放研究基金资助项目,项目编号为GCWD201801(Funded By Open Research Fund Program of KeyLaboratory of Digital Mapping and Land Information Application Engineering,NASG under Grant No.GCWD201801)”。
Claims (7)
1.一种基于改进遗传算法的海量控制点下仿射变换求解方法,其特征在于,采用八元组给予表达,如公式(6):
IGAATLCP={ED,SEL,CR,MT,P,PRO,POP,ITER} (6)
其中,IGAATLCP是Improved Genetic Algorithm for Affine Transformation underLots of Control Points的缩写,即在大量控制点情况下仿射变换求参的改进遗传算法;ED是编码与解码方式;SEL是选择算子;CR是交叉和重组算子;MT是变异算子;P是交叉概率与变异概率;PRO是遗传算法的算法流程;POP是种群规模;ITER是迭次收敛条件;具体包括以下步骤:
步骤一.确定方法的编码与解码方式ED,对于数值计算问题,包括测试函数的数值计算与仿射变换求参的数值计算,统一采用实数编码方式;对于旅行商问题,统一采用排列编码;
步骤二.确定方法的选择算子SEL,是指参照适应度函数,按照预先选定的策略随机从父代中挑选一些个体生存下来,剩下的个体则被淘汰,采用轮盘赌选择方法RWS;
步骤三.确定方法的交叉算子CR,是指仿照自然界基因传递的过程交配,对存活下来的父代个体的某些基因进行优化组合,采用部分匹配交叉算子PMX;
步骤四.确定方法的变异算子MT,是指对编码的某些位置上的基因按照一定概率进行改变或突变,采用逆转变异算子Invert Mutation;
步骤五.确定方法的交叉概率和变异概率P,采用固定交叉概率和变异概率,固定交叉概率设置为0.5,固定变异概率设置为0.2;
步骤六.确定方法的遗传算法的算法流程PRO,采用如下公式(10)表达:
PRO-3={ED(Real-Integer+Permutation),SEL(RWS),CR(PMX),MT(InvertMutation),P(pc=0.5,pm=0.2),Child(Rank(MT+Parent)),ED} (10)
在以上公式(10)中,PRO-3表示改进的算法流程,ED(Real-Integer+Permutation)表示先采用实数或排列给予编码,SEL(RWS)表示轮盘赌选择,CR(PMX)表示部分匹配交叉,MT(InvertMutation)表示逆转变异,P(pm=0.5,pc=0.2)表示交叉概率设置为0.5且变异概率设置为0.2,Child(Rank(MT+Parent))表示父辈经过以上操作衍生而来的后代与父辈本身共同形成的集合给予公平排序操作,Rank即排序算法,ED表示最后解码;采用一定量个体作为种群规模,设置最初始的种群规模即为父辈,父辈个体之间经过轮盘赌选择、按照0.5的交叉概率实现部分匹配交叉、按照0.2的变异概率实现逆转变异之后,衍生得到的与一定量相同的后辈,之后一定量父辈和一定量后辈共同形成一个染色体的集合,所述染色体的集合给予再次择优筛选将真正的子辈作为新的父辈进行下一轮循环。
2.如权利要求1所述的仿射变换求解方法,其特征在于,所述公平排序操作是指排序结果中最优的前端部分保留作为子辈。
3.如权利要求2所述的仿射变换求解方法,其特征在于,所述最优的前端部分为前50%的比例。
4.如权利要求3所述的仿射变换求解方法,其特征在于,所述轮盘赌选择是指:各个个体被选中的概率与其适应度大小成正比。
5.如权利要求4所述的仿射变换求解方法,其特征在于,部分匹配交叉是指:在染色体上随机选择2个基因位置,两个染色体按照一定概率交换两个位置之间的基因片段,染色体上其余基因位根据以上两个位置之间的对应关系实现冲突检测与调整。
6.如权利要求5所述的仿射变换求解方法,其特征在于,所述逆转变异是指:在染色体上随机选择2个基因位置,染色体上以上2个位置之间片段按照一定概率进行逆转,由于基因位置是随机的,故发生逆转的片段长度是随机的。
7.如权利要求6所述的仿射变换求解方法,其特征在于,所述将真正的子辈作为新的父辈进行下一轮循环迭代,直至找到接近函数值理论最小值或找个一条单次线路,所述线路实际总长度接近理论路线最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010858269.9A CN111931934A (zh) | 2020-08-24 | 2020-08-24 | 一种基于改进遗传算法的海量控制点下仿射变换求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010858269.9A CN111931934A (zh) | 2020-08-24 | 2020-08-24 | 一种基于改进遗传算法的海量控制点下仿射变换求解方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111931934A true CN111931934A (zh) | 2020-11-13 |
Family
ID=73306016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010858269.9A Pending CN111931934A (zh) | 2020-08-24 | 2020-08-24 | 一种基于改进遗传算法的海量控制点下仿射变换求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931934A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558119A (zh) * | 2020-11-30 | 2021-03-26 | 中航机载系统共性技术有限公司 | 一种基于自适应bfo-pso的卫星选择方法 |
CN112765299A (zh) * | 2021-01-26 | 2021-05-07 | 中国科学院西北生态环境资源研究院 | 非规则栅格数据的可视化方法、装置、电子设备、存储介质 |
CN112884254A (zh) * | 2021-04-15 | 2021-06-01 | 广州市交通技师学院(广州市交通高级技工学校) | 一种汽车配送路径规划的优化方法 |
CN116245346A (zh) * | 2023-05-12 | 2023-06-09 | 深圳大学 | 基于多种群遗传算法和局部搜索的多无人机任务分配方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1900956A (zh) * | 2006-07-11 | 2007-01-24 | 南京大学 | 一种改进的混合遗传算法优化水质模型参数的设计方法 |
JP2008187604A (ja) * | 2007-01-31 | 2008-08-14 | P & W Solutions Co Ltd | オペレータの必要人数を算出する方法、装置、およびプログラム |
CN103761308A (zh) * | 2014-01-23 | 2014-04-30 | 杭州电子科技大学 | 一种基于自适应遗传算法的物化视图选择方法 |
CN106407549A (zh) * | 2016-09-12 | 2017-02-15 | 哈尔滨工业大学 | 一种基于遗传算法的阵列天线方向图综合优化方法 |
CN109359740A (zh) * | 2018-11-02 | 2019-02-19 | 北京华如科技股份有限公司 | 基于多生境遗传算法的机动路径优选方法及存储介质 |
CN110647994A (zh) * | 2019-08-09 | 2020-01-03 | 广东科学技术职业学院 | 一种基于改进变异算子遗传算法的tsp优化方法 |
-
2020
- 2020-08-24 CN CN202010858269.9A patent/CN111931934A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1900956A (zh) * | 2006-07-11 | 2007-01-24 | 南京大学 | 一种改进的混合遗传算法优化水质模型参数的设计方法 |
JP2008187604A (ja) * | 2007-01-31 | 2008-08-14 | P & W Solutions Co Ltd | オペレータの必要人数を算出する方法、装置、およびプログラム |
CN103761308A (zh) * | 2014-01-23 | 2014-04-30 | 杭州电子科技大学 | 一种基于自适应遗传算法的物化视图选择方法 |
CN106407549A (zh) * | 2016-09-12 | 2017-02-15 | 哈尔滨工业大学 | 一种基于遗传算法的阵列天线方向图综合优化方法 |
CN109359740A (zh) * | 2018-11-02 | 2019-02-19 | 北京华如科技股份有限公司 | 基于多生境遗传算法的机动路径优选方法及存储介质 |
CN110647994A (zh) * | 2019-08-09 | 2020-01-03 | 广东科学技术职业学院 | 一种基于改进变异算子遗传算法的tsp优化方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558119A (zh) * | 2020-11-30 | 2021-03-26 | 中航机载系统共性技术有限公司 | 一种基于自适应bfo-pso的卫星选择方法 |
CN112558119B (zh) * | 2020-11-30 | 2023-10-10 | 中航机载系统共性技术有限公司 | 一种基于自适应bfo-pso的卫星选择方法 |
CN112765299A (zh) * | 2021-01-26 | 2021-05-07 | 中国科学院西北生态环境资源研究院 | 非规则栅格数据的可视化方法、装置、电子设备、存储介质 |
CN112884254A (zh) * | 2021-04-15 | 2021-06-01 | 广州市交通技师学院(广州市交通高级技工学校) | 一种汽车配送路径规划的优化方法 |
CN112884254B (zh) * | 2021-04-15 | 2022-09-30 | 广州市交通技师学院(广州市交通高级技工学校) | 一种汽车配送路径规划的优化方法 |
CN116245346A (zh) * | 2023-05-12 | 2023-06-09 | 深圳大学 | 基于多种群遗传算法和局部搜索的多无人机任务分配方法 |
CN116245346B (zh) * | 2023-05-12 | 2023-07-28 | 深圳大学 | 基于多种群遗传算法和局部搜索的多无人机任务分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931934A (zh) | 一种基于改进遗传算法的海量控制点下仿射变换求解方法 | |
CN109508360B (zh) | 一种基于元胞自动机的地理多元流数据时空自相关分析方法 | |
Liu et al. | A multi-type ant colony optimization (MACO) method for optimal land use allocation in large areas | |
Liang et al. | Applying genetic algorithm and ant colony optimization algorithm into marine investigation path planning model | |
CN109783887A (zh) | 一种面向三维加工特征的智能识别与检索方法 | |
CN107977711B (zh) | 一种面向“三线”协同优化的多智能体遗传方法 | |
CN109743196A (zh) | 一种基于跨双层网络随机游走的网络表征方法 | |
CN102646164A (zh) | 一种结合空间滤波的土地利用变化建模方法及其系统 | |
CN113297174B (zh) | 基于深度学习的土地利用变化模拟方法 | |
CN109492748A (zh) | 一种基于卷积神经网络的电力系统的中长期负荷预测模型建立方法 | |
Dai et al. | Agent-based model of land system: Theory, application and modelling framework | |
Han et al. | Improving educational equity by maximizing service coverage in rural Changyuan, China: An evaluation-optimization-validation framework based on spatial accessibility to schools | |
CN115017805B (zh) | 基于双向a*算法的核退役场区最优路径规划方法及系统 | |
CN113505189A (zh) | 一种基于多层级全球格网的面状目标栅格化方法 | |
CN113627440A (zh) | 一种基于轻量级神经网络的大规模点云语义分割方法 | |
CN116451931A (zh) | 一种公共服务设施选址行政管理决策的数据处理方法 | |
Wan et al. | E2SCNet: Efficient multiobjective evolutionary automatic search for remote sensing image scene classification network architecture | |
Jalali et al. | Novel uncertainty-aware deep neuroevolution algorithm to quantify tidal forecasting | |
He et al. | Modeling multi-type urban landscape dynamics along the horizontal and vertical dimensions | |
Feng et al. | An optimised cellular automata model based on adaptive genetic algorithm for urban growth simulation | |
Yan et al. | ASMEvoNAS: Adaptive segmented multi-objective evolutionary network architecture search | |
CN115271221A (zh) | 一种城市扩展预测方法、装置、介质及设备 | |
CN114399004A (zh) | 模拟分叉与脑启发认知的混合聚类方法 | |
Xu et al. | A three-dimensional future land use simulation (FLUS-3D) model for simulating the 3D urban dynamics under the shared socio-economic pathways | |
Li et al. | Differential Evolution With Exponential Crossover: An Experimental Analysis on Numerical Optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |