Я предполагаю, что вы говорите о чем-то вроде Роджера Алсинга. программа.
Я реализовал эту версию, поэтому меня также интересуют альтернативные фитнес-функции, хотя я подхожу к ним с точки зрения повышения производительности, а не эстетики. Я ожидаю, что всегда будет некоторый элемент «наплыва» из-за природы эволюционного процесса (хотя настройка эволюционных операторов может повлиять на то, как это выглядит).
Попиксельное сравнение может быть дорогостоящим для всего, кроме небольших изображений. Например, изображение размером 200x200 пикселей, которое я использую, имеет 40 000 пикселей. С тремя значениями на пиксель (R, G и B) это 120 000 значений, которые должны быть включены в расчет пригодности для одного изображения. В моей реализации я уменьшаю изображение перед сравнением, чтобы было меньше пикселей. Компромиссом является небольшое снижение точности развернутого изображения.
Изучая альтернативные фитнес-функции, я наткнулся на некоторые предложения по использованию цветового пространства YUV вместо RGB, поскольку это более тесно связано с человеческим восприятием.
Другая идея, которая у меня была, заключалась в том, чтобы сравнивать только случайно выбранную выборку пикселей. Я не уверен, насколько хорошо это сработает, если не попробовать. Поскольку сравниваемые пиксели будут разными для каждой оценки, это будет способствовать сохранению разнообразия в популяции.
Кроме того, вы находитесь в сфере компьютерного зрения. Я ожидаю, что эти методы, основанные на извлечении признаков, будут более дорогими в расчете на изображение, но в целом они могут быть быстрее, если для достижения приемлемого результата потребуется меньше поколений. Вы можете изучить библиотеку PerceptualDiff. Кроме того, эта страница показывает некоторые код, который можно использовать для сравнения изображений на предмет сходства на основе признаков, а не пикселей.
person
Dan Dyer
schedule
02.05.2009