一种基于遗传算法的图像分割方法和***
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于遗传算法的图像分割方法和***。
背景技术
随着计算机技术的飞跃发展,人们越来越多的利用计算机来帮助人类获取和处理视觉图像信息。据统计,在人类从外界获取的信息中有80%是来自于视觉,这包括图像、图形、视频等,它是人们最有效的信息获取和交流方式,图像也因其所含的信息量大、表现直观而在多媒体处理技术中占有非常重要的位置。图像处理从本质上讲是对图像信息进行加工以满足人的视觉心理或应用需求的行为。在日常生活中,人们往往仅对图像中的某些部分感兴趣,这些感兴趣的部分一般对应图像中特定的、具有独特性质的区域。而图像分割的目的就是将图像分成各具特性的区域并提取出感兴趣目标,以满足人们的某种需要。图像分割的结果是图像特征提取和识别等图像理解的基础,对图像的加工主要出于图像处理的层次,图像分割后,对图像的分析才有可能。另外,图像分割在实际中也得到了广泛的应用,特别是近年来随着计算机技术和图形图像学的飞速发展,使得图像分割技术成为其他很多研究方向能否顺利发展的一个重要基础。
阈值分割法因实现简单、运算效率高而成为一种有效的图像分割方法,而阈值的确定是阈值法图像分割的关键。然而要在一幅多峰直方图的全灰度范围内搜索一个最佳的多阈值组合使得分割结果更为精准,求解的过程将变得异常耗时,无法满足图像分割对实时性的要求,严重地阻碍了该方法的进一步发展。因此,如何提供一种准确快捷的图像分割方法称为本领域亟需解决的问题。
发明内容
本发明的目的是提供一种准确快捷的基于遗传算法的图像分割方法和***。
本发明的目的是通过以下技术方案来实现的:
一种基于遗传算法的图像分割方法,包括:
获取初始种群,并将初始种群进行初始化;
计算初始种群中每个个体的初始适应度值,选取较优个体进入到下一代;
根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值;
执行交叉操作和变异操作,并更新种群;
判断新种群是否满足终止条件,若满足则获得分割阈值,否则,进入计算初始种群中每个个体的适应度值的步骤;
根据分割阈值处理待分割图像。
优选的,所述方法进一步包括:计算待分割图像的图像灰度直方图;
对图像的灰度值进行编码,生成初始种群。
优选的,所述根据预设条件调整进入下一代的个体的初始适应度值的步骤具体包括:根据公式
和公式
调整进入下一代的个体的初始适应度值;其中,S
i是第i代种群的适应度期望的最大差值;S
0是初始种群的适应度期望的最大差值;R
i是第i代种群的适应度的最大差值;R
0是初始种群适应度的最大差值;c
1是调整参数; i=1,2,…,k,其中k是进化的最大代数;f
n是在调整前个体i的初始适应度值;f
n'是调整后个体i的适应度值;
是种群的平均适应度值;S
i是第 i代种群的适应度期望的最大差值。
优选的,所述根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,调整后的每个个体的适应度值的相对位置与调整前的每个个体的适应度值的相对位置相比保持不变。
优选的,所述根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,每个个体的适应度值的差值以相同比例调整。
优选的,所述根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,调整前的平均适应度值与调整后的平均适应度值相同。
优选的,所述选取较优个体进入到下一代的步骤具体包括:
将当代种群中的个体按照适应度值由大到小选择预设数量的个体,将它们复制到下一代种群中。
优选的,所述判断新种群是否满足终止条件,若满足则获得分割阈值的步骤具体包括:判断新种群是否达到预设迭代次数,若达到则获得分割阈值。
优选的,所述获得分割阈值的步骤具体包括:获取最优解,根据该最优解得出对应的灰度阈值。
本发明公开一种基于遗传算法的图像分割***,包括:
获取模块,用于获取初始种群,并将初始种群进行初始化;
计算选取模块,用于计算初始种群中每个个体的初始适应度值,选取较优个体进入到下一代;
调整模块,用于根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值;
执行模块,用于执行交叉操作和变异操作,并更新种群;
判断模块,用于判断新种群是否满足终止条件,若满足则获得分割阈值,否则,进入所述计算选取模块处理;
图像处理模块,用于根据分割阈值处理待分割图像。
本发明的基于遗传算法的图像分割方法由于包括获取初始种群,并将初始种群进行初始化;计算初始种群中每个个体的初始适应度值,选取较优个体进入到下一代;根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值;执行交叉操作和变异操作,并更新种群;判断新种群是否满足终止条件,若满足则获得分割阈值,否则,进入计算初始种群中每个个体的适应度值的步骤;根据分割阈值处理待分割图像。采用这种方式,在确定进入到下一代的个体后,会根据预设条件调整进入到下一代的个体,获取调整后的适应度值,接下来执行交叉和变异操作,直到新种群满足终止条件后获取到分割阈值,然后根据分割阈值分割图像,这样可以通过适应度值的调整可以避免种群适应度值的最大差值极速下降,保持种群的多样性,避免算法陷入局部最优解的情况,提高分割阈值计算的准确性,从而更加高效、快捷、准确的分割图像。
附图说明
图1是本发明实施例的基于遗传算法的图像分割方法的流程图;
图2是本发明实施例的基于遗传算法的图像分割***的示意图。
具体实施方式
虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。各项操作的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
计算机设备包括用户设备与网络设备。其中,用户设备或客户端包括但不限于电脑、智能手机、PDA等;网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云。计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制,使用这些术语仅仅是为了将一个单元与另一个单元进行区分。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
下面结合附图和较佳的实施例对本发明作进一步说明。
如图1所示,本实施例中公开一种基于遗传算法的图像分割方法,包括:
S101、获取初始种群,并将初始种群进行初始化;
S102、计算初始种群中每个个体的初始适应度值,选取较优个体进入到下一代;
S103、根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值;
S104、执行交叉操作和变异操作,并更新种群;
S105、判断新种群是否满足终止条件,若满足则获得分割阈值,否则,进入计算初始种群中每个个体的适应度值的步骤;
S106、根据分割阈值处理待分割图像。
采用这种方式,在确定进入到下一代的个体后,会根据预设条件调整进入到下一代的个体,获取调整后的适应度值,接下来执行交叉和变异操作,直到新种群满足终止条件后获取到分割阈值,然后根据分割阈值分割图像,这样可以通过适应度值的调整可以避免种群适应度值的最大差值极速下降,保持种群的多样性,避免算法陷入局部最优解的情况,提高分割阈值计算的准确性,从而更加高效、快捷、准确的分割图像。
传统遗传算法在进化过程中,初始种群的适应度值的最大差值相对较大,随着进化的不断推进,种群适应度的最大差值可能会急速下降,即种群多样性迅速降低,从而导致进化动力大大减弱,尤其是在处理复杂的多模函数时,很容易出现陷入局部最优解、早熟等现象。
为了克服上述陷入局部最优解、早熟等现象,本实施例中将正态分布模型引入遗传算法中来阻止种群多样性急速下降,以防止算法陷入局部最优解。正态分布又称为高斯分布,是一种在统计、物理及工程领域应用都十分广泛的数学模型。从理论上讲,正态分布具有很多非常优秀的特征,很多自然分布都可以直接或近似地用正态分布来描述,例如某班级的考试成绩、某个地区的年降水量等指标。正态分布函数的图像整体较为平滑,中间和两段趋于平直,这一特性使得其能很好地将较优个体和较差个体区分开的同时,又不至于将适应度较为接近的个体间的差距拉得过大。
本实施例提出的遗传算法不仅不依赖先验知识,而且具有较强的自适应、自主学习能力,能很好地避免陷入局部最优解。在应用上述算法求解图像分割的灰度阈值时,算法将利用迭代过程中得到的反馈信息自行调节并发搜索过程。由于该算法遵循适者生存的自然选择策略,所以较好的灰度阈值将有较高生存概率,而较大的生存概率意味着能够以较大的可能性进入下次的迭代过程,即再通过交叉和变异等操作产生效果更优的灰度阈值;另外,该算法具有较强的并发性,所以本技术方案不仅能够获取较优的分割效果,而且具有较高的效率。
根据上述分析,保持种群多样性最终应体现在对各个个体适应度的调整上,而作为保持种群多样性的前提和基础,适应度期望的最大差值S主要用于设定调整之后所期望达到的适应度最大差值。换句话说,对各个个体适应度调整后,种群适应的最大差值等于S;其次,各个适应度的相对位置应保持不变以保证个体适应度间的高低顺序不变;再者,各个个体适应度的差值也应以相同比例调整;另外,作为调整的参考点,调整前后的平均适应度应保持不变以便保证种群进化的平稳性。
具体的,所述步骤S103中,根据预设条件调整进入下一代的个体的初始适应度值的步骤具体包括:根据公式
和公式
调整进入下一代的个体的初始适应度值;其中,S
i是第i代种群的适应度期望的最大差值;S
0是初始种群的适应度期望的最大差值;R
i是第i代种群的适应度的最大差值;R
0是初始种群适应度的最大差值;c
1是调整参数,通常取c
1为
当然也可以根据实际情况取其他数值;i=1,2,…,k,其中 k是进化的最大代数;f
n是在调整前个体i的初始适应度值;f
n'是调整后个体i的适应度值;
是种群的平均适应度值;S
i是第i代种群的适应度期望的最大差值。这样就可以根据上述两个公式调整个体的适应度值。
具体的,如图1所示,所述方法进一步包括:S90、计算待分割图像的图像灰度直方图;
S100、对图像的灰度值进行编码,生成初始种群。
例如,图像的灰度范围为0-255,对范围为0-255的图像灰度级用8位二进制码串进行编码,编码范围为00000000-11111111,从而产生初始种群,初始种群的数量可随机产生。
其中,计算初始种群中每个个体的初始适应度值的步骤中,可以采用 OTSU算法计算每个个体的适应度值。具体的,OTSU算法以准则函数
计算适应度值,式中,设二进制码串解码后得到的阈值t将待分割图像分为C
0类和C
1类,其中ω
0、ω
1分别为C
0类、C
1类内像素点出现的概率,μ
0、μ
1分别为C
0类、C
1类内像素点的平均灰度值,
即是二进制码串解码后得到的阈值t对应的个体的适应度值。
示例的,所述步骤S102,选取较优个体进入到下一代的步骤具体包括:将当代种群中的个体按照适应度值由大到小选择预设数量的个体,将它们复制到下一代种群中。这样可以选择适应度值大的优秀个体,将它们复制到下一代种群中,淘汰适应度值小的较差个体。预设数量可以是任意选择的数量,可以按照需要取样,例如取100个,或450个等等。
根据其中一个示例,所述步骤S103,根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,调整后的每个个体的适应度值的相对位置与调整前的每个个体的适应度值的相对位置相比保持不变。
根据其中另一个示例,所述步骤S103,根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,每个个体的适应度值的差值以相同比例调整。
根据其中另一个示例,所述步骤S103,根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值的步骤中,调整前的平均适应度值与调整后的平均适应度值相同。
按照上述要求即可将正态分布的模型应用到遗传算法中,从而能很好地将较优个体和较差个体区分开的同时,又不至于将适应度较为接近的个体间的差距拉得过大。
根据其中另一个示例,所述步骤S105,判断新种群是否满足终止条件,若满足则获得分割阈值的步骤具体包括:判断新种群是否达到预设迭代次数,若达到则获得分割阈值。预设的迭代次数可以为最大迭代次数,在每次获取到新种群时将会判断当前新种群是否达到了最大迭代次数,若达到了就会去获取分割阈值,若没有达到就会返回到计算初始种群中每个个体的初始适应度值步骤,以及进行后续步骤。
优选的,所述步骤S106,获得分割阈值的步骤具体包括:获取最优解,根据该最优解得出对应的灰度阈值。
本实施例中,具体的,所述步骤S104的交叉操作包括:将上述选择操作产生的种群中的个体的交叉率按照下述内容进行变化,当个体适应度值高于平均适应度值时,随着个体适应度值的增加交叉率加速减小;当个体适应度值小于平均适应度值时,随着个体适应度值的增加,交叉率减速减小;当然,适应度值也有自己的最大值和最小值,交叉率有自己的最大值和最小值,可以根据需要自行设定相应的范围。然后按照交叉率由大到小依次选择若干对个体进行交叉,即两两交叉,并更新种群,将交叉后的个体代替交叉前的个体。交叉算子将两个被选中的个体的基因串的某一部分进行交叉和互换操作,从而得到两个新的个体。交叉算子在实施时是按照一定的概率来进行交叉操作,并且交叉的位置也是随机进行选择的。可以进行单点交叉,单点交叉是指在两个待交叉个体基因串中选择一个交叉点,将该点后部分的基因串相互交换组成两个新的个体。
本实施例中,具体的,所述步骤S104的变异操作包括:将上述交叉操作产生的种群中的个体的变异率按照下述内容进行变化,当个体适应度值高于平均适应度值时,随着个体适应度值的增加变异率加速减小;当个体适应度值小于平均适应度值时,随着个体适应度值的增加,变异率减速减小;同样的,变异率有自己的最大值和最小值,可以根据需要自行设定相应的范围。按照变异率由大到小顺次选择若干个变异率大的个体进行变异,并更新种群,即变异后的个体替代变异前的个体。当个体适应度值低于平均适应度值时,随着个体适应度值的增加,交叉率和变异率减速减小,低适应度值个体能够保持快速进化,相对较优的个体进化速度大大减慢,解决了种群“盲目进化”的问题,节省了时间;当个体适应度值高于平均适应度值时,随着个体适应度值的增加,交叉率和变异率加速减小,适应度值大的个体能够保持稳定地进化,交叉率和变异率的最小值都不为零,这样保证了种群中任何个体都有一定的概率进行交叉和变异操作,不会出现近似停滞不前的情况。
此外,本实施例中采用遗传算法,是因为遗传算法不像传统算法那样单点搜索,而是采用从多个点同时搜索的方法,并对多个解进行评估,具有全局搜索特性,这在一定程度上能够避免陷入局部最优解,同时也易于并行化,使求解过程更加高效、快捷;另外,遗传算法具有自组织、自适应和自学习的特性,基于适者生存的优选原则,较优的计算结果会以较大的概率进入下次的进化过程,随着迭代次数的不断增加,搜索到的结果质量会越来越好,因此遗传算法的这种自组织、自适应特征赋予了它根据实际环境的变化自动学习待解决问题的特性和规律的能力。为了进一步提高遗传算法规避局部最优解的能力,使其具有较高鲁棒性,本实施例将标准正态分布模型引入遗传算法中形成一种改进型遗传算法,并将其应用于图像分割中,以便获得较优的分割结果。
如图2所示,本发明实施例公开一种基于遗传算法的图像分割***,包括:
获取模块201,用于获取初始种群,并将初始种群进行初始化;
计算选取模块202,用于计算初始种群中每个个体的初始适应度值,选取较优个体进入到下一代;
调整模块203,用于根据预设条件调整进入下一代的个体的初始适应度值,获取调整后的适应度值;
执行模块204,用于执行交叉操作和变异操作,并更新种群;
判断模块205,用于判断新种群是否满足终止条件,若满足则获得分割阈值,否则,进入计算选取模块202处理;
图像处理模块206,用于根据分割阈值处理待分割图像。
采用这种方式,在确定进入到下一代的个体后,会根据预设条件调整进入到下一代的个体,获取调整后的适应度值,接下来执行交叉和变异操作,直到新种群满足终止条件后获取到分割阈值,然后根据分割阈值分割图像,这样可以通过适应度值的调整可以避免种群适应度值的最大差值极速下降,保持种群的多样性,避免算法陷入局部最优解的情况,提高分割阈值计算的准确性,从而更加高效、快捷、准确的分割图像。
正态分布又称为高斯分布,是一种在统计、物理及工程领域应用都十分广泛的数学模型。从理论上讲,正态分布具有很多非常优秀的特征,很多自然分布都可以直接或近似地用正态分布来描述,例如某班级的考试成绩、某个地区的年降水量等指标。正态分布函数的图像整体较为平滑,中间和两段趋于平直,这一特性使得其能很好地将较优个体和较差个体区分开的同时,又不至于将适应度较为接近的个体间的差距拉得过大。传统遗传算法在进化过程中,初始种群的适应度值的最大差值相对较大,随着进化的不断推进,种群适应度的最大差值可能会急速下降,即种群多样性迅速降低,从而导致进化动力大大减弱,尤其是在处理复杂的多模函数时,很容易出现陷入局部最优解、早熟等现象。为了尽可能地避免前述现象的发生,并基于前面对正态分布模型的分析,本发明将正态分布模型引入遗传算法中来阻止种群多样性急速下降,以防止算法陷入局部最优解。
基于前面的分析,保持种群多样性最终应体现在对各个个体适应度的调整上,而作为保持种群多样性的前提和基础,适应度期望的最大差值S 主要用于设定调整之后所期望达到的适应度最大差值。换句话说,对各个个体适应度调整后,种群适应的最大差值等于S;其次,各个适应度的相对位置应保持不变以保证个体适应度间的高低顺序不变;再者,各个个体适应度的差值也应以相同比例调整;另外,作为调整的参考点,调整前后的平均适应度应保持不变以便保证种群进化的平稳性。
具体的调整操作描述如下:
其中,S
i是第i代种群的适应度期望的最大差值;S
0是初始种群的适应度期望的最大差值;R
i是第i代种群的适应度的最大差值;R
0是初始种群适应度的最大差值;c
1是调整参数,通常取c
1为
当然也可以根据实际情况取其他数值;i=1,2,…,k,其中k是进化的最大代数。
其中,i=1,2,…,k,其中k是进化的最大代数;f
n是在调整前个体i 的初始适应度值;f
n'是调整后个体i的适应度值;
是种群的平均适应度值;S
i是第i代种群的适应度期望的最大差值;S
i是第i代种群的适应度期望的最大差值;R
i是第i代种群的适应度的最大差值。
具体的,所述***还包括:用于计算待分割图像的图像灰度直方图的模块;以及
用于对图像的灰度值进行编码,生成初始种群的模块。
例如,图像的灰度范围为0-255,对范围为0-255的图像灰度级用8位二进制码串进行编码,编码范围为00000000-11111111,从而产生初始种群,初始种群的数量可随机产生。
其中,计算选取模块202处理时,可以采用OTSU算法计算每个个体的适应度值。具体的,OTSU算法以准则函数
计算适应度值,式中,设二进制码串解码后得到的阈值t将待分割图像分为C0类和C1类,其中ω0、ω1分别为C0类、C1类内像素点出现的概率,μ0、μ1分别为C0类、C1类内像素点的平均灰度值,
即是二进制码串解码后得到的阈值t对应的个体的适应度值。
具体的,调整模块203处理时,调整后的每个个体的适应度值的相对位置与调整前的每个个体的适应度值的相对位置相比保持不变;同时,每个个体的适应度值的差值以相同比例调整;而且,调整前的平均适应度值与调整后的平均适应度值相同。这样才可将正态分布的模型应用到遗传算法中,从而能很好地将较优个体和较差个体区分开的同时,又不至于将适应度较为接近的个体间的差距拉得过大。
根据其中一个示例,所述计算选取模块202具体用于,将当代种群中的个体按照适应度值由大到小选择预设数量的个体,将它们复制到下一代种群中。
根据其中另一个示例,判断模块205具体用于,判断新种群是否达到预设迭代次数,若达到则获得分割阈值。
根据其中另一个示例,图像处理模块206具体用于,获取最优解,根据该最优解得出对应的灰度阈值。
本***的描述中与上述方法相对应,其余可参考上述方法部分的描述。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。