Próbuję zbudować narzędzie takie jak to http://labs.ideeinc.com/multicolr, , ale nie wiem, którego algorytmu używają, Czy ktoś wie?Algorytm wyszukiwania podobieństwa wizualnego
Odpowiedz
Wszystko, co robią, to pasujące histogramy.
Stwórz histogram dla swoich zdjęć. Normalizuj histogramy według rozmiaru obrazu. A histogram to wektor z tylu elementów, co kolorów. Nie potrzebujesz 32,24, a może nawet 16 bitów dokładności, a to tylko spowolni cię. Ze względów wydajności, zamieniłbym histogramy na 4, 8 i 10-12 bitów.
- Wykonaj rozmyte zdjęcie
least distance compare
między wszystkimi 4-bitowymi histogramami i próbkami kolorów. - Następnie weź ten zestaw i porównaj 8-bitowy histogram.
- Następnie może przejść do histogramu 10 lub 12-bitowego porównać z pozostałym zestawem. Będzie to wyszukiwanie o najwyższej wydajności, ponieważ porównujesz cały zestaw z bardzo małą liczbą obliczeń, aby znaleźć mały podzestaw.
- Wtedy pracować na małej podgrupie z większej liczby obliczeń itp
Prawdziwy duży Sztuką jest znaleźć najlepszy algorytm dopasowywania podobne histogramy.
Zacznij od obliczenia odległości. W 3 wymiarach myślę, że było:
sqrt ((x1-x2)^2 + (y1-y2)^2 + (Z1-Z2)^2)
to robię z pamięci, więc sprawdź to.
Dla swoich celów będziesz mieć więcej niż 3 wymiary, więc będziesz mieć więcej terminów. 4-bitowy histogram miałby 16 terminów, 8-bitowy miałby 256 terminów itp. Pamiętaj, że ten rodzaj matematyki jest powolny, więc nie rób tak naprawdę części
SQRT
. Jeśli wystarczająco znormalizujesz rozmiar swoich obrazów, powiedzmy do 10 000 pikseli, wtedy będziesz wiedzieć, że zawsze będziesz musiał wykonaćx^2
dla wartości 0..10,0000. Wstępnie obliczyć tabelę odnośników o numerze:x^2
, gdzie x wynosi od 0,10 000. Wtedy twoje obliczenia pójdą szybko.Po wybraniu koloru z palety wystarczy utworzyć histogram o tym samym kolorze = 10,0000. Gdy wybierzesz 2, zrób histogram z kolorem 1 = 5000, kolor2 = 5000 itd.
Na koniec będziesz musiał dodać czynniki krówkowe, aby aplikacja pasowała do prawdziwego świata, ale znajdziesz je za pomocą testów.
dziękuję użyję imageJ i tego algorytmu programowego http://rsb.info.nih.gov/ij/plugins/color-inspector.html – Emrah
Wspomnę, że robię rozmyte porównanie najmniejszych odległości. Myślę, że byłem na narkotykach. Po prostu dokonaj porównania najmniejszej odległości. :) – johnnycrash
Prawdopodobnie po prostu tworzy się histogram kolorów używanych w obrazach, a następnie najlepiej pasuje do wybranych przez użytkownika kolorów.
Proponuję dokonać pewnego rodzaju grupowania kolorów obecnych w obrazach w bazie danych.To znaczy, dla każdego obrazu w bazie danych:
- zbierać kolory poszczególnych pikseli w obrazie
- wykonywania klastrów (powiedzmy k średnie klastry z 5 klastrów) na zebranych kolorach
- Przechowywać skupione kolory jako przedstawiciel deskryptora obrazu
Gdy użytkownik dostarcza zestaw jednego lub więcej kolorów zapytań zrobić jakiś rodzaj chciwy dopasowania wyborze najlepszego meczu pomiędzy podanych kolorów i deskryptora koloru (5 reprsentative kolorach) każdego obrazu w bazie danych .
Jaki jest rozmiar kolekcji zdjęć, ponieważ w zależności od rozmiaru niektóre indeksowanie wyszukiwania może stanowić większy problem niż sam alogorith?
- 1. Algorytm podobieństwa tekstu:
- 2. algorytm/biblioteka podobieństwa tekstu
- 3. wyszukiwania algorytm
- 4. Algorytm sortowania wierszy i colów według podobieństwa
- 5. symetria 3D wyszukiwania algorytm
- 6. Algorytm wyszukiwania na stronie internetowej
- 7. Algorytm wyszukiwania, ale dla funkcji
- 8. Szybki algorytm wyszukiwania liczb pierwszych?
- 9. Obliczanie podobieństwa dwóch list
- 10. Wykluczenie określonych plików z wizualnego wyszukiwania w studio
- 11. Interfejs API do Google Goggles lub funkcji wyszukiwania wizualnego?
- 12. indeksowane wahała algorytm wyszukiwania dla adresów IP
- 13. Szybki algorytm wyszukiwania wzorca w pliku tekstowym
- 14. Algorytm wyszukiwania minimalnego drzewa opinającego wybranych wierzchołków
- 15. Sposoby obliczania podobieństwa
- 16. C# - Porównaj String Podobieństwa
- 17. Redux & RxJS, wszelkie podobieństwa?
- 18. Konwersja podobieństwa do IEnumerable
- 19. Python Digest/hash dla podobieństwa ciąg
- 20. Metryki podobieństwa ciągów w języku Python
- 21. Jak porównać obrazy podobieństwa za pomocą java
- 22. PHP, MySQL, efektywny algorytm wyszukiwania oparty na tagach.
- 23. Jaki jest algorytm wyszukiwania zapytań w bazie danych?
- 24. Algorytm wyszukiwania zbędnych krawędzi na wykresie lub drzewie
- 25. Modyfikuj algorytm wyszukiwania menu Start systemu Windows 7?
- 26. Algorytm wyszukiwania wizualnie podobnych zdjęć z bazy danych?
- 27. Co to jest dobry algorytm wyszukiwania dwuwymiarowego oparty na siatce?
- 28. algorytm za generowaniem tabeli wyszukiwania bitów wstecznych (8 bitów)
- 29. Rozpoznawanie podobieństwa w łańcuchach znaków
- 30. Oszacowanie fonemów podobieństwa między dwoma słowami
Nie jestem pewien, czy jest to wykrywanie podobieństwa wizualnego, bardziej przypomina indeksowanie kolorów (kolory i udział w powierzchni). Ponieważ kolor składa się ze składników numerycznych, możesz zbudować algorytmy, które będą się w nim indeksować. –