Эффективный способ брать отпечатки пальцев у изображения (jpg, png, и т.д.)?

Я сделал это, и я протестировал его, использование неподписанного интервала (32 бита) является самым быстрым - я предполагаю, что Вы сравниваете это со строковым представлением.

Другая вещь, которая могла бы помочь Вам, при составлении таблицы в прошлом, у меня было 2 colums: LowIP и HighIP; тем путем я был в состоянии поместить в черный список все диапазоны IP с 1 рекордной записью и все еще получить хорошую производительность путем проверки на IP в диапазоне.

20
задан Parand 12 August 2009 в 16:01
поделиться

8 ответов

Нанесите удар в темноте, если вы хотите обойти проблемы, связанные с метаданными и размером:

  1. Обнаружение краев и независимое от масштаба сравнение
  2. Выборка и статистический анализ оттенков серого / RGB значения (средняя яркость, усредненная цветовая карта)
  3. БПФ и другие преобразования (Хорошая статья Классификация отпечатков пальцев с использованием БПФ )

И многие другие.

В основном:

  1. Конвертировать JPG / PNG / GIF в массив байтов RGB, который не зависит от кодирования
  2. Используйте метод классификации нечетких шаблонов для создания «хеша шаблона» в изображении ... а не хеша массива RGB, как некоторые предлагают
  3. Затем вам нужен распределенный метод быстрого сравнения хэшей, основанный на пороге соответствия инкапсулированного хэша или кодирования шаблона. Erlang подойдет для этого :)

Преимущества:

  1. Will, если вы используете какой-либо AI / Training, обнаруживайте дубликаты независимо от кодировки, размера, аспекта, оттенка и модификации яркости, различий в динамическом диапазоне / субдискретизации и в некоторых случаях перспективы

Недостатки:

  1. Может быть трудно кодировать .. что-то вроде OpenCV может помочь
  2. Вероятно ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества шаблонов и распределить поиск (стиль MapReduce)

Ознакомьтесь с книгами по анализу изображений, такими как:

  1. Классификация шаблонов 2ed
  2. Основы обработки изображений
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, все проще. Если нет, то вам придется мириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

пятна дублируются независимо от кодировки, размера, формата, оттенка и изменения яркости, различий в динамическом диапазоне / субдискретизации и в некоторых случаях перспективы

Недостатки:

  1. Может быть трудно кодировать .. что-то вроде OpenCV может help
  2. Вероятно ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества паттернов и распределить поиск (стиль MapReduce)

Книги по анализу изображений, такие как:

  1. Pattern Classification 2ed
  2. Основы обработки изображений
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, все проще. Если нет, то вам придется смириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

пятна дублируются независимо от кодировки, размера, формата, оттенка и изменения яркости, различий в динамическом диапазоне / субдискретизации и в некоторых случаях перспективы

Недостатки:

  1. Может быть трудно кодировать .. что-то вроде OpenCV может help
  2. Вероятно ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества паттернов и распределить поиск (стиль MapReduce)

Книги по анализу изображений, такие как:

  1. Pattern Classification 2ed
  2. Основы обработки изображений
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, тогда все проще. Если нет, то вам придется смириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

изменение оттенка и яркости, различия в динамическом диапазоне / подвыборке и в некоторых случаях перспектива

Недостатки:

  1. Может быть трудно кодировать ... что-то вроде OpenCV может помочь
  2. Вероятностные ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества паттернов и распределить поиск (стиль MapReduce)

Оформить заказ книги по анализу изображений, такие как:

  1. Классификация паттернов 2ed
  2. Изображение Основы обработки
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, все проще. Если нет, то вам придется смириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

изменение оттенка и яркости, различия в динамическом диапазоне / подвыборке и в некоторых случаях перспектива

Недостатки:

  1. Может быть трудно кодировать ... что-то вроде OpenCV может помочь
  2. Вероятностные ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества паттернов и распределить поиск (стиль MapReduce)

Оформить заказ книги по анализу изображений, такие как:

  1. Pattern Classification 2ed
  2. Image Основы обработки
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, все проще. Если нет, то вам придется смириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

  1. Может быть трудно закодировать ... что-то вроде OpenCV может помочь
  2. Вероятно ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качество шаблонов и распространение результатов поиска (стиль MapReduce)

Книги по анализу изображений, такие как:

  1. Pattern Classification 2ed
  2. Основы обработки изображений
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, тогда все проще. Если нет, то вам придется мириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

  1. Может быть сложно закодировать ... что-то вроде OpenCV может помочь
  2. Вероятно ... ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  3. Медленно, если вы не можете инкапсулировать качества шаблонов и распространять поиск (стиль MapReduce)

Книги по анализу изображений, такие как:

  1. Pattern Classification 2ed
  2. Основы обработки изображений
  3. Обработка изображений - принципы и приложения

И другие

Если вы масштабируете изображение, тогда все проще. Если нет, то вам придется мириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  • Медленно, если вы не можете инкапсулировать качества шаблонов и распределить поиск (стиль MapReduce)
  • Книги по анализу изображений, такие как:

    1. Pattern Classification 2ed
    2. ] Основы обработки изображений
    3. Обработка изображений - принципы и приложения

    И другие

    Если вы масштабируете изображение, все проще. Если нет, то вам придется смириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

    ложные срабатывания вероятны, но их можно уменьшить с помощью нейронных сетей и другого ИИ.
  • Медленно, если вы не можете инкапсулировать качества шаблона и распределить поиск (стиль MapReduce)
  • Книги по анализу изображений, такие как:

    1. Pattern Classification 2ed
    2. ] Основы обработки изображений
    3. Обработка изображений - принципы и приложения

    И другие

    Если вы масштабируете изображение, все проще. Если нет, то вам придется мириться с тем фактом, что масштабирование приводит к потерям во многих отношениях, чем сокращение выборки.

    21
    ответ дан 30 November 2019 в 00:27
    поделиться

    Использование байтового размера изображения для сравнения подходит для многих приложений. Другой способ:

    1. Удалить метаданные.
    2. Вычислить MD5 (или другой подходящий алгоритм хеширования) для image.
    3. Сравните это с MD5 (или чем-то еще) потенциального обманщика изображение (при условии, что вы удалили метаданные для этого тоже)
    4
    ответ дан 30 November 2019 в 00:27
    поделиться

    Ознакомьтесь с этой статьей о Надежном хешировании изображений .

    3
    ответ дан 30 November 2019 в 00:27
    поделиться

    Вы хотите выполнить хеширование изображения. Поскольку вы не указали конкретный язык, я предполагаю, что у вас нет предпочтений. По крайней мере, есть набор инструментов Matlab (бета), который может это сделать: http://users.ece.utexas.edu/~bevans/projects/hashing/toolbox/index.html . Большинство результатов Google по этому поводу являются результатами исследований, а не реальными библиотеками или инструментами.

    Проблема с MD5 заключается в том, что MD5 очень чувствителен к небольшим изменениям входных данных, и похоже, что вы хотите что-то немного сделать » умнее ".

    1
    ответ дан 30 November 2019 в 00:27
    поделиться

    Довольно интересный вопрос. Самым быстрым и простым было бы вычисление crc32 массива байтов содержимого, но это будет работать только для 100% идентичных изображений. Для более интеллектуального сравнения вам, вероятно, понадобится какой-то анализ нечеткой логики ...

    0
    ответ дан 30 November 2019 в 00:27
    поделиться

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

    0
    ответ дан 30 November 2019 в 00:27
    поделиться

    Проще всего сделать хэш (например, MD5) данных изображения, игнорируя все остальные метаданные. Вы можете найти множество библиотек с открытым исходным кодом, которые могут декодировать распространенные форматы изображений, поэтому довольно просто удалить метаданные.

    Но это не работает, когда само изображение каким-либо образом манипулируется, включая масштабирование, вращение.

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

    0
    ответ дан 30 November 2019 в 00:27
    поделиться

    Это всего лишь идея: возможно, низкочастотные компоненты, присутствующие в DCT jpeg, могут использоваться в качестве идентификатора неизменного размера.

    0
    ответ дан 30 November 2019 в 00:27
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: