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

How do i decide initial population and chromosomes in genetic algorithm for image processing?

我也是图像处理和遗传算法的新手。搜索之后,我了解了 GA 的工作原理。现在我不得不在图像上应用 GA。当我搜索它时,我无法弄清楚什么是人口和染色体......但无论我在哪里搜索,他们都说将一维或二维数组作为染色体并找到它的适应度 value.I 我发现这很困难理解这些陈述。请帮我定义初始种群(是整个图像还是图像的任何部分?和染色体。感谢任何帮助。

你打算用什么来增强图像?如果您要应用过滤器、模糊等操作,那么染色体可能具有此类操作的参数:过滤器类型、内核大小,您甚至可以对内核的所有值进行编码。您也可以使用 GP 而不是 GA:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.112.4452&rep=rep1&type=pdf

据我了解,您在术语方面存在问题:染色体是您用来探索 space 解决方案的个体,人口是这些染色体(个体)的集合。

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

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

现在,如您所知,在 GA 中,您将选择、交叉和变异结合起来(希望)为您的问题找到更好的解决方案(例如更好的图像)。

要应用这 3 个运算符,您需要一个群体,即一组染色体,您将对其进行随机抽样、组合和变异。完成这3个操作后,您将获得一个新种群,通常会取代旧种群。

我希望这能澄清。

编辑

如果您想进化多个图像(或更好:视情况而定),则对每一行使用一个 "chromosome" 不太正确。您必须将您的个体(图像)视为单染色体(人类有很多染色体,但在 GA 和 GP 中通常每个人只有一条染色体)。

层次结构是:

  • 一个人口[=52​​=]由多个个体
  • 组成
  • 一个个体有一条染色体(DNA)
  • 每条染色体由多个基因
  • 组成

A gene 是你认为最小的可变单位。因此,例如,如果您的变异操作可以一次更改单个像素,那么您的基因将是像素(对于 256x256 图像,您将获得 65536 个基因)。

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

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

决定你可以使用什么作为基因是你如何定义一个变化有多小,以及当你做交叉时你可以在哪里切割染色体。

遗憾的是,这个术语没有独特的见解。许多科学家对 "gene" 是什么,"genome" 是什么,或者如何定义 "fitness" 函数有不同的看法。无论如何,你只需要学习基本概念:以后将它们映射到名称会更容易,别担心:)

你可能想看看这个:http://www.boente.eti.br/fuzzy/ebook-fuzzy-mitchell.pdf

GA 是全局优化启发式算法。首先,您应该清楚自己要优化的具体内容。形成初始种群的一种方法是生成随机个体。