如何确定用于图像处理的遗传算法中的初始种群和染色体?

时间:2016-02-07 17:20:46

标签: genetic-algorithm

我也是图像处理和GA的新手。搜索后,我了解了GA的工作原理。现在我有一种情况,我不得不在图像上应用GA。当我搜索它时,我无法弄清楚什么是种群和染色体......但是我在哪里搜索他们说将1-D或2-D阵列作为染色体并找到它的适应值。我发现很难理解这些说法。请帮我定义初始种群(是整个图像还是图像的任何部分?还有染色体。感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

您计划如何增强图像?如果您要应用过滤器,模糊等操作。那么染色体可能具有此类操作的参数:过滤器类型,内核大小,您甚至可以编写内核的所有值。您也可以使用GP代替GA:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.112.4452&rep=rep1&type=pdf

答案 1 :(得分:1)

根据我的理解,你在术语上有问题:染色体是你用来探索解决方案空间的个体,种群是那些染色体(个体)的集合。

在GA中,您可以将解决方案表示为字符串。在您的情况下,解决方案将是一个图像,可能由像素组成。

您可以将这些像素视为图像的DNA。因此,DNA就是你的形象'染色体'。换句话说,染色体是图像中的像素序列。

现在,正如您所知,在GA中,您将选择,交叉和变异结合起来(希望)能够更好地解决您的问题(例如,更好的图像)。

要应用这3个操作符,您需要一个群体,即染色体的集合,您将随机抽样,组合和变异。完成这3项操作后,您将获得一个新的人口,通常会替换旧的人口。

我希望这可以澄清。

修改

如果你想要进化多个图像(或更好:它取决于),每行使用一个“染色体”是不对的。您必须将您的个体(图像)视为单染色体(人类有许多染色体,但在GA和GP中,通常每个人只有一个染色体。)

层次结构是:

  • 人口多个人
  • 组成
  • 个人有一个染色体(DNA)
  • 每个染色体由多个基因
  • 组成

基因是您认为最小的可变单位。因此,举例来说,如果您的变异操作可以在时间上改变单个像素,那么您的基因将是像素(对于256x256图像,您将获得65536个基因)。

你也可以使用整行作为基因,这样,染色体将由256个基因组成,每个基因将是256个像素的数组。通常这意味着你不能使用交叉来破坏单行,但交叉将混合两个图像的行。

您选择的基因取决于您的应用。您还可以将256x256 RGB(24位)图像表示为256 * 256 * 3字节的染色体,其中每个基因是一个字节或256 * 256 * 24位,其中每个基因都有点。

决定你可以用作什么基因的方法是如何定义变化的小和你在交叉时切割染色体的位置。

可悲的是,术语并没有独特的视野。许多科学家对“基因”是什么,或“基因组”是什么,或者如何定义“适应性”功能有不同的看法。无论如何,你只需要学习基本概念:将它们映射到名称后会更容易,不用担心:)

您可以查看以下内容:http://www.boente.eti.br/fuzzy/ebook-fuzzy-mitchell.pdf

答案 2 :(得分:0)

GA是全局优化启发式算法。首先,您应该清楚自己将优化什么。形成初始人口的一种方法是通过生成随机个体。

相关问题