Ответ 1
Обсуждается алгоритмы подобия изображения при переполнении стека. Поскольку вам не нужно обнаруживать искаженные или перевернутые изображения, подход к гистограмме может быть достаточным, если изображение не слишком тяжелое.
Я изначально задал этот вопрос на cstheory.stackexchange.com, но было предложено переместить его на stats.stackexchange.com..
Есть ли существующий алгоритм, который возвращает мне метрику подобия между двумя растровыми изображениями? "Подобным" я имею в виду, что человек сказал бы, что эти два изображения были изменены с той же фотографии. Например, алгоритм должен сказать, что следующие 3 изображения одинаковы (оригинал, положение сдвинуто, сжато).
Мне не нужно обнаруживать искаженные или перевернутые изображения. Мне также не нужно определять, является ли он одним и тем же объектом в разных ориентациях.
Я хотел бы использовать этот алгоритм для предотвращения спама на моем сайте. Я заметил, что спамеры слишком ленивы, чтобы изменить свои спам-изображения. Это не ограничивается лицами. Я уже знаю, что там уже много отличных алгоритмов распознавания лиц. Спам-изображение может быть любым, от URL-адреса до футбольного поля до обнаженного тела.
Обсуждается алгоритмы подобия изображения при переполнении стека. Поскольку вам не нужно обнаруживать искаженные или перевернутые изображения, подход к гистограмме может быть достаточным, если изображение не слишком тяжелое.
Вы можете использовать существующие архитектуры глубокого обучения, такие как VGG, для создания функций из изображений, а затем использовать метрику сходства, такую как сходство с косинусом, чтобы увидеть, являются ли два изображения по существу одинаковыми.
Весь конвейер довольно прост в настройке, и вам не нужно понимать архитектуру нейронной сети (вы можете просто рассматривать ее как черный ящик). Кроме того, эти функции довольно универсальны и могут применяться для поиска сходства между любыми объектами, а не только лицами.
Вот несколько блогов, которые проходят через процесс. http://blog.ethanrosenthal.com/2016/12/05/recasketch-keras/ https://erikbern.com/2015/09/24/nearest-neighbor-methods-vector-models-part-1.html
Если вы просто хотите, чтобы сходство с изображениями было одно, но сходство с лицом было совсем другим. На одном и том же фоне могут появиться два очень разных человека, и анализ сходства изображений показывает, что они одинаковы, в то время как один и тот же человек может быть снят в двух разных настройках, и анализ подобия показывает, что они отличаются друг от друга.
Если вам нужно выполнить анализ лица, вам следует искать подходящие для него алгоритмы. Вычисление относительного размера и положения глаз, носа и рта часто выполняется при таком анализе.
Amazon имеет новый API под названием Rekognition, который позволяет сравнивать два изображения для сходства лица. Api возвращает процент подобия для каждого лица друг с другом и ограничивающие поля для каждой грани.
Rekognition также включает api для анализа лица (возврат пола, приблизительный возраст и другие соответствующие детали лица) и определение сцены объекта (возврат тегов объектов, находящихся внутри на изображении).
Надежные функции хеширования делают это. Но в этой области еще много исследований. Я не уверен, есть ли уже используемые прототипы.
Надеюсь, что это поможет.