【问题标题】:How do i decide initial population and chromosomes in genetic algorithm for image processing?如何在图像处理的遗传算法中确定初始种群和染色体?
【发布时间】:2016-03-15 19:57:06
【问题描述】:

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

【问题讨论】:

  • 您对在图像处理中使用 GA 有何想法?您打算将其用于图像分割还是其他用途?请提供更多信息?
  • 我首先计划实施图像增强。
  • 为了发展您的基因库,您必须能够量化您的解决方案。这将如何应用于图像增强?

标签: genetic-algorithm


【解决方案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

【讨论】:

  • 谢谢AkiRoss......现在我会写一下我从你的回答中理解的内容,只是检查它是否正确。如果我拍摄 256X256 像素的图像,我可以将第一行作为一个染色体(像素集合(DNA)).. 同样第二行,第三行作为另一个染色体。这组染色体
  • [编辑继续] 构成人口。然后使用获得的染色体(行阵列),我们交叉并变异以生成另一组阵列,形成另一个种群。然后我们迭代这些过程以获得我们想要的结果。我的推理对吗?
  • 哦....现在我明白了...所以一个图像 = 一个染色体,每一行 = 一个基因(它是像素的集合)同样,另一个图像是另一个染色体。我们将这两条染色体(图像)交叉以形成一个新的图像(染色体)。是现在吗? .....还有更多,我必须先掌握基础知识......但是那个链接对我不起作用。你能告诉我书名或文章的名字吗。
  • 是的,这是一个正确的观点,但不是唯一的。请记住,您决定哪些基因和染色体取决于您的应用。这本书是 Melanie Mitchell 的《遗传算法导论》。此外,维基百科页面写得很好:en.wikipedia.org/wiki/Genetic_algorithm(注意:维基百科术语不同,但概念相同)
【解决方案2】:

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

【讨论】:

  • 谢谢 Enrique Arriaga ...但我被要求在 GA 中实施。
【解决方案3】:

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

【讨论】:

  • 如果初始种群中生成的一些个体是重复的怎么办?这是一个问题吗?应该避免吗?
  • 通常这不是问题,但如果你付出额外的努力,你可以让个人变得独一无二。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 2019-10-04
  • 2016-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
相关资源
最近更新 更多