Организация быстрого поиска похожих изображений

1 000 руб.за час • наличный расчёт, безналичный расчёт, электронные деньги
29 марта 2017, 18:22 • 5 откликов • 56 просмотров
Сервис распознания капч RuCaptcha.com собирает базу картинок, встречающихся в капчах ReCaptcha V2, в которых нужно выбирать правильные изображения, ежедневно мы добавляем в базу более 1 млн картинок 99.9% из которых уже и так есть в нашей базе. Правда не всё так просто:
-Картинки могут немного изменяться: растягиваться, обрезаться, менять оттенок
-Картинка идёт с текстом. Текст может быть на разных языках, поэтому нужно ещё создавать базу соответсвия текстов

Мы спроектировали структуру БД и первичный алгоритм, который может хранить хеши картинок и находить похожие картинки. Но основная сложность в этом - как быстро будет происходить поиск. При максимальной нагрузке нам нужно будет делать 1000 поисковых запросов в секунду. Возможно, а даже скорее всего, нужно будет что-то придумать для ускорения поиска.

Весь проект можно разбить на 3 этапа:

1) Создание хранилища хешей: выбор алгоритма хеширования (phash или иное), написание алгоритмов работы с БД. Этот этап мы постарались расписать и нарисовать. Вот табличка
2) Проверка максимальной скорости поиска по базе
3) Написание RestAPI к базе для поиска принадлежности картинки к определённому тексту

Серверные мощности мы выделяем обычно на Hetzner. Будет хорошо, если Вы самостоятельно можете настроить сервер, но не беда, если это делаем мы.

На всякий случай прикладываю 800 картинок с номерами домов, для понимания какие картинки у нас есть, обратите внимание, что даже в такой малой выборке попадается огромное количество дубликатов.

Т.к. объём работы представляется слабо, мы можем предложить работу по часам. Если вы хотите фиксированную ставку за проект, это можно обсудить.
Мы бы не хотели платить деньги вперёд, лучше поэтапно
Оплата нал, безнал, любая электронная валюта
Файлы