1

Я пытаюсь оптимизировать алгоритм реконструкции изображения с использованием генетического алгоритма. Я взял начальный размер популяции как 10. У меня есть входное изображение 10 восстановленных изображений. Функция fitness - это разница между этим two.That являетсяОптимизация алгоритма восстановления изображений с использованием генетического алгоритма в Matlab

fitness_1 = inputimage - reconstructedimage_1; 
fitness_2 = inputimage - reconstructedimage_2; 
       : 
       : 
fitness_10 = inputimage - reconstructedimage_10; 

Я хочу, чтобы выбрать лучший фитнес население среди them.But моего фитнеса результат является изображением (матрица значений интенсивности) .so, как я могу получить одно значение фитнеса для каждой группы населения для выполнения кроссовера на следующем этапе. Пожалуйста, помогите.Спасибо заранее

ответ

2

Вам необходимо определить функцию, которая измеряет качество соответствия как одно скалярное значение. На самом деле у вас есть выбор здесь - все, что могло бы измерить близость более или менее непрерывным образом, будет работать. Однако, возможно, самой простой является среднеквадратичная ошибка каждого значения пикселя в изображении.

Вот как я мог бы сделать это для вашей первой реконструкции:

fitness_1 = abs(inputimage - reconstructedimage_1).^2; 
    fitness_1 = sum(fitness_1(:))/numel(fitness_1);