Efektywna funkcja podobieństwa obrazów

0

Hej,
bawię się ostatnio algorytmami genetycznymi, między innymi do generowania obrazów (w różny sposób: z losowych pikseli, kształtów etc.) coraz bardziej podobnych do wzorca. Póki co zauważyłem, że rzeczą bardzo spowalniającą wydajność algorytmu jest zbyt długie obliczanie funkcji oceniającej daną propozycję tzn. jak podobny jest wygenerowany obraz do wzorca. W wersji naiwnej - coś trzeba było napisać, żeby w ogóle ruszyć z tematem, obliczam sumę kwadratów różnic wartości RGB kolorów: (r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2, dla każdego piksela czyli O(n*m). Jak widać jest to strasznie wolne i nawet mały obrazek może generować się całą noc, jeśli generacji będzie potrzebnych np. kilkanaście milionów Jednym z pomysłów jest obliczanie tego wzoru dla części pikseli np. losowego tysiąca, przyśpieszy nam to obliczenie, jednak spadnie jakość tej funkcji dość znacząco, co może skutkować, że cały algorytm będzie dłużej kluczył w poszukiwaniu fajnego rozwiązania. Może macie jakieś propozycję jak lepiej wybierać piksele uwzględniane w tym wzorze lub inny sposób wyznaczania podobieństwa obrazów?

EDIT:
Doczytałem o wybieraniu pikseli kluczowych na starcie, jest to jakiś trop.

0

Hasło: rozpoznawanie obrazów.

0

No właśnie hasło średnio, jest za szerokie - poza tym Twoja odpowiedź jest mniej więcej taka, że pytam o konkretny algorytm do znajdywania jakiejś tam ścieżki w grafie jakimśtam, a ty mi odpowiadasz, żebym sobie obczaił algorytmy grafowe. Dla potomnych, znalazłem takie coś, co muszę przeanalizować:

http://en.wikipedia.org/wiki/Structural_similarity

I taka wariacja zastosowanej wcześniej metody, gdzie wybiera się kilka obszarów, które uwzględnia się w obliczaniu oceny:
http://www.lac.inpe.br/JIPCookbook/6050-howto-compareimages.jsp

1 użytkowników online, w tym zalogowanych: 0, gości: 1