All streams
Search
Write a publication
Pull to refresh
16
0
Ливеровский Петр @nsa_a1

User

Send message
Сказать трудно, я начинал разработку с базой в 3к картинок, коллизий тоже было около 10%. В общем случае, пространство картинок счетно и бесконечно, а 64 битный хэш конечен. Исходя из этого, с ростом базы количество коллизий будет расти. Но ведь в реальном мире мы имеем дело с изображениями людей, машин, котиков, а это накладывает определенные ограничения на пространство картинок. Ведь мы не будем смотреть на случайный набор пикселей. Так что говорить о зависимости кол-ва коллизий от кол-ва картинок я не берусь.
В целом, если такая проблема имеет место быть, выходов из этих ситуаций можно рассмотреть много, увеличение хэша, использование дополнительных алгоритмов, для уточнения результата (SURF например).
Объем базы был 6 тысяч популярных картинок собранных на просторах интернета. Процент коллизий составляет примерно 10%.
Гистограммы считаем заранее и храним. В реальном времени рассчитывается только расстояние Хэмминга и взаимная корреляция гистограмм.
Можно, такие решения существуют. Сходу приходит в голову Simhash или Cognitive Hash.
Вы в свою очередь можете побаловаться моей реализацией: funnycampwebjob.azurewebsites.net/FunnyCampSearch/
Можно попробовать поискать известные мемы вроде img-9gag-lol.9cache.com/photo/aOyv5WN_460s.jpg
Хеш вполне справляется с картинками, которые подрезали снизу. Я описывал в статье такие случаи.
Что касается более глобальных изменений, вроде демотиватора или фрагмента изображения, то ответ скорее нет чем да. Перцептивный хеш не позволяет сделать выводы о фрагментах данных. Т.е. мы не можем ответить на вопрос где именно данные различаются? Мы получаем ответ на вопрос насколько они похожи.
Для таких случаев больше подходит SURF.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity