Intereting Posts
.htaccess переписать все php-файлы Как отправить значение HTTP POST на страницу (PHP) с помощью Python? Как отредактировать внешний файл css с PHP? PHP natsort поддерживает индекс Какой тип mime я должен использовать для mp3 Сделать перенос текста в ячейку с помощью FPDF? отображать дату / время на базе сайта на компьютерном времени пользователя в разных странах Как включить сжатие GZip на сервере XAMPP Преобразование строки в целое возвращает 2147483647 Невозможно получить доступ к константе класса из экземпляра с помощью оператора :: scope Ошибка PHP: вызов функции-члена rowCount () для объекта без объекта Могу ли я разработать отдельные API-вызовы с помощью php для мобильного приложения, используя сайт wordpress? Использование метода number_format в Laravel как сгруппировать результат в подгруппы в php Symfony2 Монолог для отправки по электронной почте Ошибок, почему swiftmailer.transport.real – несуществующий сервис

Хороший способ идентифицировать похожие изображения?

Я разработал простой и быстрый алгоритм в PHP для сравнения изображений для сходства.

Его быстрый (~ 40 в секунду для изображений 800×600) для хэша и неоптимизированный алгоритм поиска могут проходить через 3000 изображений за 22 минуты, сравнивая каждый с другими (3 / сек).

Основной обзор – вы получаете изображение, масштабируете его до 8×8 и затем конвертируете эти пиксели для HSV. Оттенок, насыщенность и значение затем усекаются до 4 бит и становятся одной большой шестнадцатеричной строкой.

Сравнение изображений в основном идет по двум строкам, а затем добавляет найденные различия. Если общее число ниже 64, то это же изображение. Различные изображения обычно составляют около 600 – 800. Ниже 20 и очень похожи.

Есть ли улучшения в этой модели, которую я могу использовать? Я havent посмотрел, насколько релевантны разные компоненты (оттенок, насыщенность и ценность) для сравнения. Хюэ, вероятно, очень важно, но другие?

Чтобы ускорить поиск, я мог бы разделить 4 бита из каждой части пополам и сначала поставить самые значащие биты, поэтому, если они не пройдут проверку, то lsb вообще не нужно проверять. Я не знаю, как эффективно хранить такие биты, но все же позволяет им легко искать и сравнивать.

Я использовал набор данных из 3000 фотографий (в основном уникальных), и не было никаких ложных срабатываний. Он полностью невосприимчив к изменениям и довольно устойчив к изменениям яркости и контраста.

Solutions Collecting From Web of "Хороший способ идентифицировать похожие изображения?"

Что вы хотите использовать:

  1. Выделение функций
  2. хеширования
  3. Локально известное хеширование цветения.

  1. Большинство людей используют возможности SIFT , хотя у меня были лучшие впечатления от неинвариантно-инвариантных. В основном вы используете детектор кромок, чтобы находить интересные точки, а затем центрируйте свои пятна изображения вокруг этих точек. Таким образом, вы также можете обнаружить суб-изображения.

  2. Вы реализовали хэш-метод. Есть тонны, чтобы попробовать, но ваш должен хорошо работать 🙂

  3. Ключевым шагом к быстрому решению является хеш-хэш. Вы преобразовываете свои значения в унарное представление, а затем принимаете произвольное подмножество бит как новый хеш. Сделайте это с 20-50 случайными выборками, и вы получите 20-50 хэш-таблиц. Если какая-либо функция соответствует 2 или более из этих 50 хэш-таблиц, эта функция будет очень похожа на ту, которую вы уже сохранили. Это позволяет конвертировать абс (xy)

Надеюсь, что это поможет, если вы хотите опробовать мой собственный образный поиск сходства изображений, напишите мне письмо на hajo at spratpix

Вы найдете огромное количество литературы по этому вопросу. Просто перейдите к Google Scholar или IEEE Xplore для поиска статей. У меня был некоторый контакт с полем, когда я сделал проект по распознаванию формы (в значительной степени нечувствительный к шуму, вращениям и изменениям размера) в колледже – вот статья .