Оптимизация алгоритма восстановления изображения с использованием генетического алгоритма в Matlab

Я пытаюсь оптимизировать алгоритм восстановления изображения с использованием генетического алгоритма. Я принял начальный размер популяции как 10. У меня есть входное изображение, и разница между этими двумя значениями составляет 10 реконструированных функций image.fitness.

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

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

1 ответ

Решение

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

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

   fitness_1 = abs(inputimage - reconstructedimage_1).^2;
   fitness_1 = sum( fitness_1(:) ) / numel( fitness_1 );
Другие вопросы по тегам