АВТОМАТИЗАЦИЯ ПРОВЕРКИ ДОСТОВЕРНОСТИ ИЗОБРАЖЕНИЯ
AUTOMATION OF IMAGE VERIFICATION

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0001] Многие предприятия имеют системы поддержки клиентов, где клиенты регулярно предоставляют фотографии или изображения агентам поддержки, чтобы доказать свое право на получение поддержки, возмещение или другие уступки. Однако, если изображения, предоставленные агентам поддержки, были мошеннически изменены, то клиент мог бы получить поддержку или уступки, на которые клиент не имеет права. В настоящее время, предприятие должно проверять достоверность изображения либо вручную путем подтверждения достоверности изображения создателем документа, либо путем выполнения сложного процесса судебно-медицинской экспертизы изображения. Однако эти методы требуют большого количества времени и/или вычислительных ресурсов, что приводит к плохому обслуживанию клиентов или дополнительным затратам для предприятий, которые оказывают поддержку или уступки клиентам, которые не имеют права на получение поддержки или уступок.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0002] Настоящее изобретение описывает методы для выполнения автоматизированного процесса для идентификации исходных, не модифицированных изображений. Методы, описанные в данном документе, включают в себя выполнение многофакторного анализа на изображении, чтобы определить вероятность того, что изображение или объект, изображенный на изображении, был модифицирован, и вывод результата, указывающего на вероятность того, что изображение или объект, изображенный на изображении, был модифицирован. В некоторых примерах, электронный портал (например, веб-приложение, Интернет-сайт и т.д.) представлен на вычислительном устройстве для получения изображения. Например, агент службы поддержки клиента может получить доступ к веб-приложению через вычислительное устройство-хост и представить изображение, предоставленное ему от клиента. В других примерах, пользователь может отправить изображение непосредственно (например, в примере самообслуживания). Веб-приложение может отправлять изображение в систему проверки достоверности изображения, например, с помощью вызова основанного на веб программного интерфейса приложения (API), ассоциированного с системой подтверждения достоверности изображения. Система проверки достоверности изображения может получить изображение для верификации и выполнения многофакторного анализа на изображении с использованием различных указателей модификации/фальсификации для определения вероятности того, что изображение (и/или объект, изображенный на изображении) было модифицировано относительно его исходной формы. Указатели модификации могут включать в себя любой тип операции, демонстрирующей, что произошла модификация изображения, такой как анализ изображения, чтобы обнаружить изменение в плотности пикселов между различными участками изображения, сравнение изображения с миниатюрой (уменьшенным изображением) изображения для обнаружения различий, анализ метаданных изображения, чтобы определить, было ли использовано программное обеспечение для редактирования изображений на изображении, анализ метаданных изображения, чтобы идентифицировать время, в которое было захвачено изображение, или географическое положение, в котором изображение было захвачено, и так далее. Один или несколько из различных указателей модификации могут быть использованы для определения вероятности того, что изображение (или объект изображения) было модифицировано. В некоторых случаях, различные указатели модификации могут быть взвешенными в большей или меньшей степени при определении вероятности того, что изображение было модифицировано. После того, как услуга проверки достоверности изображения определила вероятность того, что изображение было модифицировано, она может вывести указатель вероятности того, что изображение было модифицировано. Например, система модификации изображения может вывести указание того, что произошла фальсификация, что фальсификация вероятна, или фальсификация не произошла. В некоторых примерах, указание вероятности того, что модификация или фальсификация произошла, может быть выведено, или отправлено, на вычислительное устройство, хостирующее веб-приложение, которое, в свою очередь, может вызвать результат, который будет представлен в пользовательском интерфейсе веб-приложения, доступ к которому осуществляется посредством вычислительного устройства. Таким образом, агент клиентской службы может быть информирован о вероятности того, что изображение было модифицировано, и принять соответствующие меры, такие как отклонение запроса клиента для поддержки или уступок напрямую, запрашивание дополнительной информации от клиента, чтобы определить право на получение поддержки или уступки, или предоставление клиенту поддержки или уступки, на которые он имеет право.
[0003] В некоторых примерах, методы, описанные в данном документе, дополнительно включают в себя сохранение информации в облачном хранилище. Изображения могут быть сохранены в облачном хранилище либо до того, как изображения отправляются в службу проверки действительности изображения, либо после того, как служба проверки действительности изображения проанализировала изображения. В некоторых примерах, дополнительная информация может быть сохранена в облачном хранилище вместе с изображением. Например, результаты анализа, проведенного с помощью службы проверки достоверности изображения, и/или указание вероятности модификации также могут быть сохранены и ассоциированы с конкретным изображением. В некоторых примерах, сохраненные изображения, которые ранее были получены с помощью веб-приложения и проанализированы службой проверки достоверности изображения, могут предусматривать дополнительные указатели модификации. Например, служба проверки достоверности изображения может сравнивать конкретное изображение с ранее сохраненными изображениями или предусматривать другой процесс/службу, чтобы сравнивать изображения и возвращать результаты. Сравнение может указывать различные отношения между ранее сохраненными изображениями и конкретным изображением, анализируемым в настоящее время, которое может предполагать модификацию изображения. Например, если конкретное изображение имеет более чем пороговую величину сходства с другими сохраненными изображениями, это может означать фальсификацию конкретного изображения, потому что это может быть просто модифицированной версией ранее сохраненного изображения, для которого запрашивалась поддержка. Таким образом, описанные здесь методы автоматизируют верификацию изображений путем реализации процесса анализа полученных изображений с использованием многофакторного анализа, и определить вероятность того, что изображение было модифицировано от своей исходной формы.
[0004] Настоящее краткое описание предусмотрено, чтобы ввести выбор в упрощенной форме методов, которые дополнительно описаны ниже в подробном описании. Это краткое описание не предназначено для идентификации ключевых признаков или существенных признаков заявленного предмета, а также не предполагается, что это краткое описание будет использоваться для ограничения объема заявленного предмета. Кроме того, заявленный предмет изобретения не ограничивается реализациями, которые решают любые или все недостатки, отмеченные в любой части данного описания.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Подробное описание изложено со ссылками на прилагаемые чертежи, на которых крайняя левая цифра ссылочной позиции идентифицирует чертеж, в котором впервые появляется ссылочная позиция. Использование одних и тех же ссылочных позиций на одних и тех же или разных чертежах указывает подобные или идентичные элементы или признаки.
[0006] Фиг. 1 является схематичным представлением, показывающим примерную среду для приема изображения, для которого запрашивается поддержка, и анализа изображения, чтобы определить вероятность того, что изображение было модифицировано от своей исходной формы.
[0007] Фиг. 2 является схематичным представлением, показывающим примерную службу проверки достоверности изображения для выполнения различных операций для анализа изображения с использованием нескольких указателей модификации, чтобы определить вероятность того, что изображение было модифицировано от своей исходной формы.
[0008] Фиг. 3 является схематичным представлением, показывающим примерное вычислительное устройство-хост для выполнения веб-приложения, чтобы получать изображение и выводить результаты, указывающие вероятность того, что изображение было модифицировано от своей исходной формы.
[0009] Фиг. 4А и 4В представляют собой примерные схемы сохраненного изображения и изображения, подлежащего анализу с использованием одного или более указателей, чтобы определить вероятность того, что изображение было модифицировано.
[0010] Фиг. 5 является блок-схемой последовательности операций, показывающей примерный процесс для определения аутентичности изображения на основе указателей и вывода указания вероятности того, что изображение было модифицировано от своей исходной формы.
[0011] Фиг. 6 является блок-схемой последовательности операций, показывающей примерный процесс для получения изображения, подлежащего верификации как модифицированное или нет, отправки изображения, подлежащего анализу, и вывода указания вероятности того, что изображение было модифицировано от своей исходной формы.
[0012] Фиг. 7 является блок-схемой последовательности операций, показывающей примерный процесс для анализа цифрового изображения, чтобы определить вероятность того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано на основе по меньшей мере двух операций, и вывода указания вероятности того, что цифровое изображение или объект, изображенный на изображении, был модифицирован от его исходной формы.
ПОДРОБНОЕ ОПИСАНИЕ
[0013] Настоящее изобретение описывает способы для выполнения процесса для определения вероятности того, что изображение было фальсифицировано или модифицировано от своей исходной формы. Многие предприятия имеют систему поддержки клиентов, где клиенты предоставляют электронные или цифровые изображения (например, фотографии, сканированные изображения и т.д.) агентам клиентской поддержки, чтобы доказать право на получение поддержки, возмещение или другие уступки. Например, клиенты могут предоставить изображения предоплаченных карт, которые, как утверждается, не работают должным образом, или изображения квитанций, показывающих даты покупки для продуктов, или гарантий, которые клиент пытается доказать, чтобы получить поддержку или уступки от компании. Тем не менее, клиенты могут предоставить мошеннические изображения или модифицированные изображения, чтобы попытаться получить поддержку и/или уступки, на которые клиенты не имеют права. Поддержка этих мошеннических претензий со стороны клиентов или предоставление уступок неправомочным клиентам может стоить компании значительных величин времени и ресурсов, например, времени, чтобы вручную проверить обоснованность гарантий с исходными продавцами, или затрат на обеспечение возмещений за продукты или услуги, которые не имеют права на возмещение.
[0014] Способы, описанные здесь, обеспечивают портал, такой как веб-приложение, которое получает изображение, подлежащее верификации или аутентификации, и представляет изображение в службу проверки достоверности изображения, чтобы проанализировать изображение и обеспечить указание вероятности того, что изображение было модифицировано. В некоторых примерах, служба проверки достоверности изображения может дополнительно или альтернативно анализировать изображение, чтобы определить вероятность того, что объект (например, подарочная карта, квитанция, подтверждение покупки и т.д.), изображенный на изображении, был модифицирован. В некоторых примерах, веб-приложение может быть хостировано на вычислительном устройстве, таком как вычислительное устройство-хост, управляемое агентом поддержки или клиентом. Веб-приложение может быть загружаемым приложением, которое используется клиентами, или приложением, предоставленным агентам поддержки бизнеса, чтобы верифицировать изображения, полученные от клиентов. В некоторых примерах, агент поддержки может получать изображение от клиента, например, посредством электронной почты, текста, веб-портала или какого-либо другого электронного портала и загружать изображение с помощью пользовательского интерфейса веб-приложения, чтобы определить, было ли изображение модифицировано, и/или был ли объект, изображенный на изображении, модифицирован. В различных примерах, веб-приложение может отправить изображение в службу проверки достоверности изображения. Например, веб-приложение может вызвать веб-API, который отправляет изображение в службу проверки достоверности изображения. Кроме того, веб-приложение может сохранять изображения в базе данных, например, в облачном хранилище, для последующего сравнения с другими изображениями.
[0015] При приеме изображения, служба проверки достоверности изображения может анализировать изображение с использованием одного или нескольких указателей модификации, чтобы определить, было ли изображение модифицировано от своей исходной формы, или был ли объект, изображенный на изображении, модифицирован. В некоторых примерах, указатели могут включать в себя различные тесты фальсификации или модификации, такие как анализ изображения, чтобы обнаружить изменение в плотности пикселов между разными участками изображения (особенно вблизи ʺчувствительныхʺ областей, таких как считываемые компьютером коды, ключи продукта, цена, даты и т.д.), сравнение изображения с миниатюрой изображения, чтобы обнаружить различия, указывающие модификацию, и/или сравнение с другими сохраненными изображениями, чтобы определить, имеют ли изображения пороговую величину сходства. Эти и другие указатели могут предполагать, что изображение было модифицировано. Например, если пиксельные изменения обнаруживаются на изображении, это может означать, что изображение было отредактировано в определенных областях, что приводит к разным плотностям пикселов, или что предмет (т.е., документ), содержащийся на изображении, был модифицирован (например, замазан, заклеен лентой и т.д.). Для другого примера, если изображение имеет пороговую величину сходства с другим сохраненным изображением, это может означать модификацию изображения, потому что изображение, по существу, является подобным или тем же самым, что и другое изображение, которое уже было проанализировано, что может указывать, что изображение было ранее использовано клиентом, чтобы приобрести уступки или поддержку. Дополнительно или альтернативно, служба поиска достоверности проверки может сравнивать изображение в обработке с изображением в сети, например, изображениями, которые могут быть найдены с использованием служб онлайн-поиска (например, BING, GOOGLE и т.д.), которые могут указывать, что изображение было модифицировано.
[0016] В некоторых примерах, служба проверки достоверности изображения может дополнительно выполнять методы извлечения данных на изображении, чтобы извлекать метаданные изображения для использования в качестве указателей модификации. В некоторых примерах, извлечение данных может показать, что метаданные изображения не существуют или были стерты, что может указывать, что изображение было модифицировано. В некоторых примерах, метаданные могут сравниваться с метаданными других сохраненных изображений, чтобы определить, похожи ли разные метаданные друг на друга, что может указывать, что изображения одни и те же и что произошла модификация. В некоторых примерах, извлеченные метаданные могут показывать признаки редактирования клиентом программного обеспечения (например, PHOTOSHOP, Gimp, Sketch и т.д.), что может указывать модификацию изображения. В различных примерах, метаданные могут дополнительно указывать устройство, ассоциированное с изображением, например, идентификацию (ID) устройства вычислительного устройства, которое отправило изображение, адрес Интернет-протокола (IP), ассоциированный с вычислительным устройством, которое захватило изображение или отправило изображение, и/или географическое местоположение, в котором изображение было захвачено или из которого изображение было отправлено. С использованием этой информации идентификации вычислительного устройства, изображение может быть помечено как вероятно измененное, потому что это вычислительное устройство ранее предоставило мошеннически модифицированное изображение, вычислительное устройство расположено в местоположении, из которого были ранее предоставлены фальсифицированные изображения, изображение было захвачено в местоположении, в котором ранее были захвачены фальсифицированные изображения, и т.п. В других примерах, метаданные могут дополнительно включать в себя информацию даты, например, дату, когда изображение было захвачено. Изображение, дата которого была записана, может сравниваться с другими датами, такими как дата, когда продукт или гарантия, как утверждается, были куплены, чтобы определить, было ли изображение модифицировано, или был ли объект, изображенный на изображении, модифицирован. Например, если изображение было создано на дату до утверждаемой даты покупки продукта или гарантии, можно предположить, что изображение было модифицировано, так как потребитель был бы неспособен создать изображение продукта или гарантии до даты покупки.
[0017] В некоторых примерах, извлечение данных может включать в себя выполнение анализа оптического распознавания символов (OCR) на изображении для извлечения текста из изображения. Текст может использоваться в качестве указателей того, было ли изображение модифицировано. Например, если текст содержит символы, которые не используются для ключей продукта, или если символы ключей продукта не организованы в формате, традиционном для символов ключей продукта (например, 5×5, 4×4 и т.д.), текст может указывать, что изображение было модифицировано. Подобным образом, машиночитаемый код (например, штрих-код, QR-код, водяные знаки и т.д.) на изображении может сравниваться с авторизованными продуктами (т.е., продуктами, перечисленными как проданные в базе данных продавца), чтобы определить, ассоциирован ли машиночитаемый код с продуктом, который на самом деле был продан. Если машиночитаемый код находится на квитанции, указывающей дату и местоположение предприятия, где продукт был куплен, но база данных для предприятия не показывает этот конкретный машиночитаемый код как ассоциированный с проданным продуктом, это может указывать модификацию изображения.
[0018] В некоторых примерах, служба проверки достоверности изображения может определять вероятность того, что изображение было модифицировано, на основе одного или нескольких из указателей, приведенных выше. В различных примерах, указатели могут быть взвешенными в большей или меньшей степени при использовании, чтобы определить вероятность того, что изображение было модифицировано. Например, указатель, такой как метаданные, показывающие признаки редактирования клиентом программного обеспечения, может быть взвешен в большей степени, чтобы показать модификацию изображения, чем указатель, такой как вариация пикселов на изображении. На основе различных указателей или различных взвешенных указателей служба проверки достоверности изображения может определять вероятность того, что изображение было модифицировано. Например, указатели могут указывать вероятность, которая попадает в пределы различных порогов, и указывать один или несколько результатов, таких как фальсификация обнаружена, фальсификация вероятна или неокончательный результат, потому что отсутствуют ясные свидетельства фальсификации. Служба верификации изображения может затем возвращать результаты анализа в веб-приложение. Например, служба верификации изображения может выводить в веб-приложение одно или более из вероятности того, что изображение было модифицировано, анализа и указателей, использованных для определения вероятности, и/или метаданных, которые были извлечены из изображения.
[0019] Веб-приложение может выводить указание вероятности того, что изображение было модифицировано. Например, веб-приложение может представлять указание вероятности того, что изображение было модифицировано, на дисплее вычислительного устройства-хоста, чтобы проинформировать агента поддержки или другого пользователя о вероятности того, что изображение было модифицировано. Дополнительно, веб-приложение может представлять предполагаемые задачи или действия или выполнять задачи или действия на основе указания вероятности того, что изображение было модифицировано. Например, если фальсификация была обнаружена, автоматизированный процесс может использоваться для уведомления клиента, что изображение не принято или было маркировано для пометки мошенничества и отклонения запроса поддержки или уступки. В другом примере, если фальсификация является вероятной, но не вполне определенной, веб-приложение может запросить дополнительную информацию от агента поддержки или клиента, такую как изображения рассматриваемого документа снятые с разных углов, или видео документа под разными углами, чтобы помочь определить, произошла ли модификация. Поскольку модификация выполняется с использованием программного обеспечения для редактирования после того, как изображение создано, для мошенника может быть сложным воссоздать точные модификации на изображении с разных углов документа.
[0020] В различных примерах, веб-приложение может вызывать то, что одно или более из изображения, указания вероятности модификации, указателей, использованных в анализе, и/или метаданных изображения, сохраняются в облачном хранилище, в таком как хранилище большого двоичного объекта (BLOB). Например, веб-приложение может отправлять любые из вышеуказанных данных в хранилище BLOB. Данные могут быть индексированными или организованными, так что информация ассоциирована с соответствующим изображением. Таким образом, изображения, сохраненные в хранилище BLOB, и их ассоциированные данные могут использоваться службой проверки достоверности изображения или другим процессом, чтобы определить, было ли модифицировано конкретное изображение, или был ли объект, изображенный на изображении, модифицирован.
[0021] В то время как методы, описанные здесь, описаны как выполняемые службой проверки достоверности изображения, веб-приложением и облачным хранилищем, методы могут выполняться одним вычислительным устройством или объектом, или любой комбинацией вычислительных устройств и объектов.
Иллюстративные Среды
[0022] Фиг. 1 является схематичным представлением, показывающим примерную среду для приема изображения, для которого запрашивается поддержка, и анализа изображения, чтобы определить вероятность того, что изображение было модифицировано от своей исходной формы. Более конкретно, примерная среда 100 может включать в себя одно или несколько вычислительных устройств-хостов 102, службу 104 проверки достоверности изображения и облачное хранилище 106.
[0023] Вычислительное устройство-хост(ы) 102 может содержать любой тип объекта, сервера, консоли, компьютера и т.д., сконфигурированных с одним или несколькими модулями, сконфигурированными, чтобы представлять пользовательский интерфейс 108 на дисплее, ассоциированном с вычислительным устройством-хостом(ами) 102, чтобы принимать изображение, отправлять изображение в службу 104 проверки достоверности изображения и представлять результат 110 анализа, выполненного службой 104 проверки достоверности изображения. Вычислительное устройство-хост(ы) 102 может содержать любой тип компьютера, такой как ноутбук, настольный компьютер, смартфон или любой другой тип вычислительного устройства, который может управляться объектом, таким как агент поддержки. Вычислительное устройство-хост(ы) 102 может исполнять веб-приложение, которое представляет пользовательский интерфейс 108, чтобы принимать одно или несколько изображений 112. В некоторых примерах, клиент может осуществлять доступ к веб-приложению и выгружать изображение(я) 112, непосредственно подлежащие верификации. Изображение(я) 112 может содержать любой тип изображения в электронной или цифровой форме, например, фотографию или отсканированное изображение. Как показано на фиг. 1, изображение(я) 112 является изображением документа (т.е., предоплаченной карты, квитанции, гарантии и т.д.), для которого потребитель может пытаться получить поддержку или уступки. Как только изображение(я) 112 было предоставлено посредством пользовательского интерфейса 108 веб-приложения, хостируемого на вычислительном устройстве-хосте(ах) 102, вычислительное устройство-хост(ы) 102 может отправлять изображение(я) 112 через одну или несколько сетей 116 в службу 104 проверки достоверности изображения. В некоторых примерах, вычислительное устройство-хост(ы) 102 может отправлять изображение путем использования вызова веб-API, ассоциированного со службой 104 проверки достоверности изображения, чтобы побудить службу проверки достоверности изображения выполнить анализ на изображении(ях) 112. В некоторых примерах, вычислительное устройство-хост(ы) 102 может дополнительно отправлять изображение(я) 112 в облачное хранилище 106 для сохранения для дальнейшего использования.
[0024] Сеть(и) 116 может включать в себя любое одно или комбинацию из нескольких разных типов сетей, таких как сотовые сети, беспроводные сети, локальные сети (LAN), глобальные сети (WAN), персональные сети (PAN) и Интернет.
[0025] Служба 104 проверки достоверности изображения может быть любым объектом, сервером, консолью, компьютером и т.д., сконфигурированными с одним или несколькими модулями для анализа изображения(й) 112 с использованием одного или нескольких указателей, чтобы определить, было ли изображение(я) 112 модифицировано, или был ли объект, изображенный на изображении(ях) 112, модифицирован. В некоторых примерах, вычислительное устройство-хост(ы) 102, веб-служба и служба 104 проверки достоверности изображения могут все быть одним вычислительным устройством или одним объектом. Служба 104 проверки достоверности изображения может включать в себя один или несколько модулей для извлечения метаданных из изображения(й) 112 для использования в качестве указателей для определения, было ли изображение(я) 112 модифицировано. В некоторых примерах, указатели могут включать в себя различные тесты фальсификации или модификации, такие как анализ изображения, чтобы обнаружить изменение в плотности пикселов между различными участками изображения, сравнение изображения с миниатюрой изображения, чтобы обнаружить различия, указывающие модификацию, сравнение с другими сохраненными изображениями, чтобы определить, имеют ли изображения пороговую величину сходства, информацию, указывающую источник изображения, признаки (свидетельства) программного обеспечения редактирования, показанные в метаданных изображения, и/или различные методы анализа текста. Эти и другие указатели, описанные более подробно со ссылкой на фиг. 4A и 4B, могут предполагать, что изображение было модифицировано. На основе анализа изображения(ий) 112 с использованием различных указателей, служба 104 проверки достоверности изображения может определять вероятность того, что изображение было модифицировано, на основе одного или нескольких из приведенных выше указателей. Например, указатели могут указывать вероятность, которая попадает в пределы различных порогов, и указывать один или несколько результатов, таких как фальсификация обнаружена, фальсификация вероятна или неокончательный результат, потому что отсутствуют ясные свидетельства фальсификации. Служба 104 верификации изображения может затем возвращать результаты анализа в вычислительное устройство-хост(ы) 102. Например, служба 104 верификации изображения может выводить данные 114 анализа в веб-приложение, хостируемое на вычислительном устройстве-хост(ах) 102, где данные 114 анализа включают в себя одно или более из вероятности того, что изображение(я) 112 было модифицировано, выполненного анализа и указателей, использованных для определения вероятности, и/или метаданных, которые были извлечены из изображения(й) 112.
[0026] Пользовательский интерфейс 108 может представлять вероятность того, что изображение(я) 112 было модифицировано, в качестве результата 110 на дисплее, ассоциированном с вычислительным устройством-хост(ами) 102. Например, пользовательский интерфейс 108 может представлять результат ʺФальсификация вероятнаʺ или любой другой результат, возвращенный от службы 104 проверки достоверности изображения.
[0028] В то время как примерная среда 100 изображена на фиг. 1 как включающая в себя вычислительное устройство-хост(а) 102, службу 104 проверки достоверности изображения и облачное хранилище 106 как отдельные объекты, в различных реализациях, любая разная комбинация объектов может выполнять описанные методы. В некоторых примерах, все из методов могут выполняться одним объектом. В различных примерах, служба 104 проверки достоверности изображения и облачное хранилище 106 могут быть одним и тем же объектом или сервером.
[0029] Фиг. 2 является схематичным представлением, показывающим примерную службу 200 проверки достоверности изображения для выполнения различных операций для анализа изображения с использованием нескольких указателей модификации, чтобы определить вероятность того, что изображение было модифицировано от своей исходной формы. Служба 200 проверки достоверности изображения может содержать любой тип службы проверки достоверности изображения, такой как служба 104 проверки достоверности изображения, и быть любым типом вычислительного устройства или комбинацией вычислительных устройств, таких как онлайн-сервер, выполненных с одним или несколькими модулями, чтобы определить, было ли электронное изображение модифицировано от своей исходной формы, или был ли объект, изображенный на цифровом изображении, модифицирован. Как показано на фиг. 2, служба 200 проверки достоверности изображения может включать в себя один или несколько процессоров 202, связанных со считываемыми компьютером носителями 204, например, шиной связи. Процессор(ы) 202 может включать в себя центральный блок обработки (процессор) (CPU), графический блок обработки (GPU), микропроцессор и так далее.
[0030] Считываемые компьютером носители 204 могут хранить операционную систему 206 и модуль 208 определения модификации. Операционная система 206 может включать в себя считываемые компьютером инструкции, которые управляют ресурсами аппаратных средств и программного обеспечения сервера 200 контроллера.
[0031] Модуль 208 определения модификации может включать в себя считываемые компьютером инструкции, которые при исполнении процессором(ами) 202 выполняют различные операции для определения того, было ли изображение модифицировано от своей исходной формы. Дополнительно или альтернативно, модуль 208 определения модификации может определять, был ли объект (т.е., подарочная карта, квитанция, и т.д.), изображенный на изображении, модифицирован. Например, модуль 208 определения модификации может включать в себя один или несколько модулей, чтобы получать изображение (например, принимать изображение, осуществлять доступ к сохраненному изображению и т.д.), извлекать данные из изображения и анализировать изображение с использованием различных указателей.
[0032] В некоторых примерах, модуль 208 определения модификации может включать в себя модуль 210 извлечения данных, который может включать в себя считываемые компьютером инструкции, которые при исполнении процессором(ами) 202 выполняют различные операции для извлечения данных из изображения. В некоторых примерах, извлечение данных может включать в себя считываемые компьютером инструкции для выполнения методов оптического распознавания символов (OCR), чтобы извлекать или определять текст, включенный в изображение. В некоторых примерах, модуль 210 извлечения данных может дополнительно извлекать метаданные из файла изображения, такие как временные данные, указывающие время, когда изображение было захвачено, географические данные, идентифицирующие местоположение, где изображение было захвачено, свидетельства использования программного обеспечения редактирования на изображении или информацию идентификации устройства, такую как ID устройства для конкретного устройства, которое создало и/или отправило изображение для анализа, IP-адрес конкретного устройства и/или географическое местоположение конкретного устройства.
[0033] В некоторых примерах, модуль 208 определения модификации может включать в себя указатель(и) 212, который может включать в себя считываемые компьютером инструкции, которые при исполнении процессором(ами) 202 выполняют различные операции для анализа изображения, и данные, ассоциированные с изображением, чтобы определить вероятность того, что изображение было модифицировано от своей исходной версии. Например, указатели могут быть ассоциированы с операциями, такими как (i) анализ изображения, чтобы обнаруживать изменения в плотности пикселов на различных участках изображения, (ii) сравнение изображения с миниатюрой изображения, чтобы обнаружить отличие между изображением и миниатюрой, (iii) анализ данных, ассоциированных с изображением, чтобы определить, было ли программное обеспечение редактирования изображений использовано на изображении, (iv) анализ данных изображения, чтобы идентифицировать по меньшей мере одно из времени, когда изображение было захвачено, или географического местоположения, в котором изображение было захвачено, (v) определение того, что машиночитаемый код (например, штрих-коды, коды быстрого реагирования (QR), водяные знаки и т.д.), включенный в текст изображения, ассоциирован с конкретным продуктом, (vi) определение того, что ключ продукта, включенный в текст изображения, имеет формат, подходящий для ключей продуктов, (vii) определение того, что ключ продукта, включенный в текст изображения, включает в себя недостоверные символы, и/или (vii) анализ сравнения между изображением и сохраненным изображением для идентификации сходств между изображением и сохраненным цифровым изображением. Дополнительное описание различных указателей может быть найдено ниже со ссылкой на фиг. 4A и 4B. Один или несколько указателей 212 могут использоваться модулем 208 определения модификации, чтобы определить вероятность того, что изображение было модифицировано от своей исходной формы.
[0034] В различных примерах, модуль 208 определения модификации может включать в себя модуль 214 взвешивания, который может включать в себя считываемые компьютером инструкции, которые при исполнении процессором(ами) 202 выполняют различные операции для взвешивания одного или нескольких указателя(ей) 212. Модуль 214 взвешивания может взвешивать некоторый указатель(и) 212 более интенсивно, так как эти конкретные указатели могут показывать более высокую вероятность модификации изображения, чем другие указатели 212, которые взвешиваются менее интенсивно. Например, указатель, такой как анализ изображения для определения того, что программное обеспечение редактирования было использовано на изображении, может взвешиваться весовым коэффициентом более интенсивно, чем указатель, указывающий, что конкретный ID вычислительного устройства, которое предоставило изображение, в прошлом представил модифицированное изображение. Модуль 214 взвешивания может применять любое разнообразие и комбинацию весовых коэффициентов к указателям 212 в различных вариантах осуществления.
[0035] В некоторых примерах, модуль 208 определения модификации может дополнительно включать в себя базу 216 данных изображения, которая хранит изображения, подлежащие анализу или уже проанализированные модулем 208 определения модификации. База 216 данных изображения может содержать любой тип среды хранения, такой как облачное хранилище 106. В некоторых примерах, база данных изображения может дополнительно хранить данные изображения для соответствующего изображения, такие как вероятность того, что конкретное изображение было модифицировано, данные анализа и указатели, использованные для конкретного изображения, и/или извлеченные метаданные изображения. Данные изображения могут индексироваться или иным образом ассоциироваться с изображением. В некоторых примерах, модуль 208 определения модификации может включать в себя указатель(и) 212, который анализирует сравнение между изображениями, сохраненными в базе 216 данных изображения, и изображением, анализируемым в текущее время. Модуль 208 определения модификации может в некоторых примерах вызывать или запрашивать процесс или объект вне службы 200 проверки достоверности изображения выполнить сравнение между сохраненными изображениями и изображениями, анализируемыми в текущее время, которое возвращает результаты сравнения в модуль 208 определения модификации, указывающие любые сходства между проанализированными изображения. В некоторых примерах, база 216 данных изображения может быть объектом, отдельным от службы 200 проверки достоверности изображения.
[0036] Служба проверки достоверности изображения может дополнительно включать в себя сетевой интерфейс(ы) 218 (т.е., соединения связи) для отправки и приема данных по одной или нескольким сетям. Сетевой интерфейс(ы) 218 может включать в себя один или несколько контроллеров сетевого интерфейса (NIC) или другие типы приемопередающих устройств для отправки и приема передаваемых данных по сети, такой как сеть(и) 116. Например, сетевой интерфейс(ы) 218 может принимать изображения, подлежащие анализу, чтобы определять, были ли изображения модифицированы, и отправлять указание вероятности того, что изображение было модифицировано, вместе с данными анализа изображения. В некоторых примерах, сетевой интерфейс(ы) 218 может позволять службе 200 проверки достоверности изображения осуществлять доступ к изображению по сети, вместо приема изображения по сети.
[0037] Служба 200 проверки достоверности изображения может дополнительно включать в себя один или несколько интерфейсов 220 ввода/вывода (I/O), чтобы позволять службе 200 проверки достоверности изображения осуществлять связь с другими устройствами, такими как периферийные устройства ввода (например, клавиатура, мышь, перо, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, устройство ввода жестом, отслеживающее устройство, устройство отображения, камера элемента визуального контента, датчик глубины, физиологический датчик и подобное) и/или периферийные устройства вывода (например, дисплей, принтер, аудио динамики, тактильный вывод и подобное). Таким образом, пользователи (т.е., администраторы) службы 200 проверки достоверности изображения могут взаимодействовать со службой 200 проверки достоверности изображения для выполнения различных операций, таких как обновление считываемых компьютером инструкций, хранящихся в службе 200 проверки достоверности изображения.
[0038] Фиг. 3 является схематичным представлением, показывающим примерное вычислительное хост-устройство 300 для выполнения веб-приложения, чтобы принимать изображение и выводить результаты, указывающие вероятность того, что изображение было модифицировано от своей исходной формы. Вычислительное устройство-хост 30 может содержать любой тип вычислительного устройства, такой как вычислительное устройство-хост(а) 102. В некоторых примерах, вычислительное устройство-хост 300 может быть вычислительным устройством, управляемым агентом поддержки службы поддержки клиентов, который предоставляет изображения, принятые от клиентов, пытающихся получить поддержку и/или уступки для продуктов или услуг. В других примерах, вычислительное устройство-хост 300 может содержать клиентское вычислительное устройство, такое как персональный компьютер или мобильный телефон.
[0039] Вычислительное устройство-хост 300 может включать в себя один или несколько процессоров 302, коммуникативно связанных со считываемыми компьютером носителями 304, например, посредством шины связи. Процессор(ы) 302 может включать в себя центральный процессор (CPU), графический процессор (GPU), микропроцессор и так далее. Считываемые компьютером носители 304 могут хранить операционную систему 306, одно или несколько веб-приложений 308 и программный интерфейс 310 веб-приложения (API). Операционная система 306 может включать в себя считываемые компьютером инструкции, которые управляют ресурсами аппаратных средств и программного обеспечения вычислительного устройства-хоста 300.
[0040] В некоторых примерах, веб-приложение(я) 308 может содержать считываемые компьютером инструкции, которые при исполнении процессором(ами) 302 выполняют операции для приема изображения. Например, веб-приложение(я) 308 может представлять пользовательский интерфейс, такой как пользовательский интерфейс 108, для приема предоставлений или изображений, подлежащих анализу службой проверки достоверности изображения. Веб-приложение(я) 308 может содержать веб-портал, который принимает изображение посредством пользовательского интерфейса, и в ответ на прием изображения, вызывает или запрашивает веб-API 310 для анализа изображения, чтобы определить вероятность того, что изображение было модифицировано. В некоторых примерах, API 310 может быть ассоциирован со службой проверки достоверности изображения, такой как службы 104 и/или 200 проверки достоверности изображения.
[0041] Веб-приложение(я) 308 может дополнительно отправлять данные, подлежащие сохранению в облачном хранилище (т.е., облачном хранилище 106). Например, при приеме изображения, веб-приложение(я) 308 может отправлять изображение в облачное хранилище для сохранения для дальнейшего использования и анализа. Дополнительно, веб-приложение(я) 308 может принимать данные анализа от службы проверки достоверности изображения вместе с указанием вероятности того, что предоставленное изображение было модифицировано. Веб-приложение(я) 208 дополнительно вызывает отправку и сохранение в облачном хранилище этих данных анализа, и их индексацию или иным образом ассоциацию с соответствующим изображением.
[0042] В различных примерах, пользовательский интерфейс веб-приложения(й) 308 может представлять указание вероятности того, что изображение было модифицировано. Например, пользовательский интерфейс веб-приложения(й) 308 может представлять указание того, что фальсификация произошла, фальсификация возможна или фальсификация не произошла.
[0043] В различных примерах, в зависимости от указания вероятности того, что фальсификация произошла, различные действия или предположения могут выводиться из веб-приложения(й) 308. Например, веб-приложение(я) 308 может запросить фотографии изображения с разных углов, когда указание вероятности показывает, что фальсификация возможна, но требуется больше свидетельств. Веб-приложение(я) 308 может предполагать поддержку или уступки, когда указание вероятности того, что произошла модификация, указывает, что фальсификация не произошла. Альтернативно, веб-приложение(я) 308 может предполагать или предпринимать действия, такие как выполнение автоматизированного процесса отказа, когда вероятность модификации указывает, что фальсификация произошла. Эти и другие предположения и действия могут выполняться веб-приложением(ями) на основе вероятности того, что произошла модификация на изображении.
[0044] Вычислительное устройство-хост 300 может дополнительно включать в себя один или несколько сетевых интерфейсов 312 (т.е., соединений связи) для отправки и приема данных по одной или нескольким сетям. Сетевой интерфейс(ы) 312 может включать в себя один или несколько контроллеров сетевого интерфейса (NIC) или другие типы приемопередающих устройств для отправки и приема передаваемых данных по сети, такой как сеть(и) 116. Например, сетевой интерфейс(ы) 312 может отправлять изображения по сети в службу проверки достоверности изображения, чтобы анализировать изображение для верификации того, что изображение было модифицировано. В некоторых примерах, сетевой интерфейс(ы) 312 может принимать данные, такие как данные анализа, по сети от различных вычислительных устройств, таких как служба проверки достоверности изображения.
[0045] Вычислительное устройство-хост 300 может дополнительно включать в себя один или несколько интерфейсов 220 ввода/вывода (I/O), чтобы позволять вычислительному устройству-хосту 300 осуществлять связь с другими устройствами, такими как периферийные устройства ввода (например, клавиатура, мышь, перо, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, устройство ввода жестом, отслеживающее устройство, устройство отображения, камера элемента визуального контента, датчик глубины, физиологический датчик и подобное) и/или периферийные устройства вывода (например, дисплей, принтер, аудио наушники, тактильный вывод и подобное). Например, интерфейсы 314 I/O могут включать в себя дисплей для представления пользовательского интерфейса веб-приложения(й) 308 в соответствии с описанными здесь методами.
[0046] Считываемые компьютером носители 204 и 304 могут включать в себя носители хранения и/или коммуникационную среду. Носители хранения могут включать в себя энергозависимую память, энергонезависимую память и/или другие постоянные и/или вспомогательные носители хранения, съемные и несъемные носители хранения, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Память компьютера является примером носителей хранения. Таким образом, носители хранения включает в себя осязаемые и/или физические формы носителей, включенных в устройство и/или компонент аппаратных средств, который является частью устройства или является внешним для устройства, включая, но без ограничения, память с произвольным доступом (RAM), статическую память с произвольным доступом (SRAM), динамическую память с произвольным доступом (DRAM), память с изменением фазовых состояний (PRAM), постоянную память (ROM), стираемую программируемую постоянную память (EPROM), электрически стираемую программируемую постоянную память (EEPROM), флэш-память, постоянную память на компакт-диске (CD-ROM), цифровые универсальные диски (DVD), оптические карты или другие оптические носители хранения, миниатюрные жесткие диски, карты памяти, магнитные кассеты, магнитную ленту, хранилище на магнитном диске, магнитные карты или другие магнитные устройства или носители хранения, устройства твердотельной памяти, массивы хранения, сетевое хранилище данных, сеть хранения данных, хостируемое компьютерное хранилище или любую другую память, устройство хранения и/или носитель хранения, который может использоваться для хранения и поддержки информации для осуществления доступа вычислительным устройством.
[0047] В противоположность, коммуникационная среда может воплощать считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна, или другом механизме передачи. Термин ʺмодулированный сигнал данныхʺ означает сигнал, который имеет одну или несколько своих характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. Такие сигналы или несущие волны и т.д. могут распространяться по проводной среде, такой как проводная сеть или прямое проводное соединение, и/или беспроводной среде, такой как акустическая, RF, инфракрасная и другая беспроводная среда. Как определено в настоящем документе, компьютерные носители хранения не включают в себя коммуникационную среду.
[0048] В некоторых примерах, процессоры 202 и 302 могут представлять, например, блок обработки типа CPU, блок обработки типа GPU, блок обработки типа HPU, программируемую вентильную матрицу (FPGA), другой класс процессора цифровых сигналов (DSP) или другие компоненты логики аппаратных средств, которые могут, в некоторых примерах, приводиться в действие посредством CPU. Например, и без ограничения, иллюстративные типы компонентов логики аппаратных средств, которые могут использоваться, включают в себя специализированные интегральные схемы (ASIC), стандартные продукты, ориентированные на приложение (ASSP), однокристальные системы (SOC), сложные программируемые логические устройства (CPLD) и т.д. В различных примерах, процессоры 202 и 302 могут исполнять один или несколько модулей и/или процессов, чтобы побуждать службу 200 проверки достоверности изображения и вычислительное устройство-хост 300 выполнять операции для получения изображения, анализа изображения для определения того, было ли изображение модифицировано, и вывода указания вероятности того, что изображение было модифицировано. Дополнительно, каждый из процессоров 202 и 302 может обладать своей собственной локальной памятью, которая также может хранить программные модули, данные программ и/или одну или несколько операционных систем.
Примерные диаграммы
[0049] Фиг. 4A и 4B являются примерными диаграммами сохраненного изображения и изображения, подлежащего анализу с использованием одного или нескольких указателей для определения вероятности того, что изображение было модифицировано.
[0050] Фиг. 4A является примерным изображением 400, таким как изображение, которое ранее было проанализировано службой проверки достоверности изображения. В некоторых примерах, изображение 400 может альтернативно быть миниатюрой для другого изображения, такого как изображение 402. Как показано на фиг. 4A, изображение 400 может содержать электронное представление объекта, такого как предоплаченная карта. Изображение 400 на фиг. 4A имеет различные характеристики, которые были определены службой проверки достоверности изображения, такие как пропущенный участок 404, продукт 406, дата 408 истечения, ключ 410 продукта и машиночитаемый код 412 (например, штрих-код, QR-код и т.д.). Как объяснялось выше со ссылкой на фиг. 2, модуль 208 определения модификации может включать в себя модуль 210 извлечения данных, который выполняет различные методы, такие как методы OCR, чтобы извлекать текст и другую информацию из изображения.
[0051] Фиг. 4B является примерным изображением 402, которое подобным образом содержит пропущенный участок 414, продукт 416, дату 418 истечения и машиночитаемый код 420. Текст изображения может извлекаться или идентифицироваться модулем 208 извлечения данных, например, методами OCR. В общем, продукт 416 может указывать продукт или услугу, которая предоставляется предоплаченной картой на изображении 402, такую как 3-месячное или 12-месячное членство, или подписку на конкретную услугу (например, онлайн-игры, доступ к музыкальной библиотеке и т.д.). Дата 418 истечения может указывать дату, когда предоплаченная карта больше не является действительной, и машиночитаемый код 420 является машиночитаемым представлением данных, ассоциированных с предоплаченной картой.
[0052] В различных примерах, как только модуль 208 извлечения данных извлек текст и/или метаданные изображений 400 и 402, модуль 208 определения модификации может применить различные указатели, такие как указатель(и) 112, к тексту и метаданным, чтобы определить вероятность того, что изображение 402 было модифицировано от своей исходной формы. Например, модуль 208 определения модификации может анализировать изображение и идентифицировать разницу 422 в пикселах, которая демонстрирует изменение в плотности пикселов (или другую характеристику пикселов) от одного участка изображения к другому. Модуль 208 определения модификации может идентифицировать сдвиг плотности пикселов между участками изображения 402, расхождения в цвете пикселов или любой другой тип изменений в пикселах между участками изображения 402, который может указывать, что изображение 402 было модифицировано. Изменение в характеристике пикселов может указывать, что изображение 402 было отредактировано, например, путем накладывания полоски с другими данными на участок изображения 402. Дополнительно или альтернативно, разница 422 в пикселах может указывать, что объект, изображенный на изображении, был модифицирован, например, был замазан или заклеен лентой. В некоторых примерах, плотность пикселов, ассоциированная с разными областями, может быть особенно важной и взвешиваться более сильно как указывающая модификацию, например, изменений в пикселах в ключах продуктов, датах или других чувствительных данных изображения 402. В некоторых примерах, модуль 208 определения модификации может дополнительно идентифицировать другие указатели в тексте изображения 402, которые предполагают модификацию. Например, символ 424 может быть идентифицирован на участке изображения, таком как ключ продукта, который не является соответствующим для этого участка изображения 402. Как показано на изображении 402, символ 424 был идентифицирован как строчная буква ʺyʺ, но ключи продукта для этого типа продукта 416 не могут использовать символы строчных букв, что может предполагать, что буква была модифицирована или замещена. Использование символов 424, которые являются недостоверными для различных участков изображения 402, может указывать, что изображение 402 было модифицировано.
[0053] В примерах, где изображение 400 содержит миниатюру, ассоциированную с изображением 402, миниатюра и изображение могут сравниваться, чтобы определить или идентифицировать различия между ними. Как показано на фиг. 4A и 4B, некоторые сходства существуют между изображением 400 и изображением 402, такие как пропущенные участки 404 и 414 и даты 408 и 418 истечения. Однако, существуют некоторые различия, такие как продукт 406 и продукт 416. В общем, миниатюра содержит сжатую версию изображения, которая ассоциирована или иным образом сохранена с изображением. Миниатюра может создаваться, когда создано изображение, и напоминать свойства изображения. Однако, когда программное обеспечение редактирования используется на изображении, чтобы модифицировать изображение, модификация может не применяться и к миниатюре. Таким образом, различия между миниатюрой изображения 400 и изображением 402 могут указывать, что изображение 402 было модифицировано. Соответственно, поскольку продукт 406 изображения 400 отличается от продукта 416 изображения 402, модуль 208 определения модификации может определить, что эти различия указывают или предполагают вероятность того, что изображение 402 было модифицировано от своей исходной формы. Например, клиент может пытаться получить более долгую подписку на конкретную услугу путем модифицирования изображения 402.
[0054] Как отмечено выше, изображение 400 может также отображать изображение, которое было ранее проанализировано модулем 208 определения модификации и хранится в базе данных для дальнейшего анализа, такой как облачное хранилище 106. Модуль 208 определения модификации может осуществлять доступ к облачному хранилищу 106 и сравнивать изображение 400 с изображением 402 или вызывать другой процесс или службу на основе веб, чтобы осуществить доступ к облачному хранилищу 106 и сравнить изображение 400 с изображением 402. Модуль 208 определения модификации может анализировать сравнение между изображением 400 и изображением 402, чтобы идентифицировать сходства между изображениями. Например, сходство, такое как пропущенные участки 404 и 414 или машиночитаемый код 412 и машиночитаемый код 420, может быть определено. Если есть сходства между изображениями 400 и 402 или превышен заранее определенный порог сходств, это может указывать, что изображение 402 является модифицированной версией изображения 400. Если изображение 402 является модифицированной версией изображения 400, которое было ранее предоставлено для поддержки или других уступок, это может дополнительно указывать, что изображение 402 является модифицированным изображением. Например, клиент мог сохранить изображение и пытаться слегка модифицировать изображение, чтобы получить поддержку или уступки, на которые он не имеет права. Таким образом, сходства, идентифицированные сравнением между ранее проанализированными изображениями и изображениями, анализируемыми в текущее время, могут указывать, что изображение, такое как изображение 402, было модифицировано.
[0055] В некоторых примерах, информация в машиночитаемом коде 420 может использоваться, чтобы определить, было ли изображение модифицировано, или был ли объект, изображенный на изображении, модифицирован. Например, машиночитаемый код 420 может включать в себя данные, которые указывают, что предоплаченная карта на изображении 402 является 3-месячной членской картой. Однако продукт 416 указывает, что предоплаченная карта является 12-месячным членством. Это отклонение в типе продукта указывает, что продукт 416 мог быть модифицирован клиентом, чтобы получить дополнительные уступки. Дополнительно, модуль 208 определения модификации может сравнивать машиночитаемый код 420 с авторизованными продуктами, чтобы определить, относится ли этот конкретный штрих-код к авторизованному продукту. Например, модуль 208 определения модификации может сделать запрос в базу данных продавца, который продал продукт на изображении 402, чтобы определить, ассоциирован ли машиночитаемый код 420 с действительным продуктом, или он не найден в базе данных.
[0056] В различных примерах, формат различных участков изображения 402 может быть указателями модификации изображения 402. Например, ключ 426 продукта изображения 402 может быть организован в формате, который не является соответствующим для продукта 416. В одном примере, ключи продукта для продукта 416 12-месячного членства могут быть организованы в формате 4×4, между тем как ключ 426 продукта организован в формате 5×5. Это может указывать, что ключ 426 продукта и/или продукт 416 был модифицирован на изображении 402, на основе этого расхождения в структуре ключа.
[0057] В различных примерах, модуль 210 извлечения данных может извлекать другие данные из изображения 402. Например, исходные данные, указывающие исходное устройство изображения 402, могут определяться модулем 210 извлечения данных, такие как ID устройства, IP-адрес устройства, географическая область устройства и т.д. Эта информация может указывать, что изображение 402 было модифицировано. Например, если исходные данные ассоциированы с устройством, которое ранее предоставляло модифицированные изображения, это может указывать, что и текущее изображение 402 модифицировано или требует большей глубины анализа. Дополнительно, метаданные, извлеченные из изображения 402, могут указывать модификацию изображения 402. В одном примере, модуль 210 извлечения данных может сравнивать метаданные изображения 402 или вызывать внешнюю службу или процесс для сравнения метаданных изображения 402 с метаданными изображений, хранящихся в базе данных, чтобы идентифицировать сходства между метаданными. Если сходства присутствуют или существуют сходства сверх предопределенного порога, это может указывать, что изображение 402 было модифицировано от ранее предоставленного изображения. В других примерах, метаданные изображения 402 могли быть стерты или удалены, что может указывать, что и изображение 402 было модифицировано. Как объяснялось ранее, метаданные изображения 402 могут включать в себя свидетельства того, что программное обеспечение редактирования было использовано на изображении 402. Свидетельства того, что программное обеспечение редактирования было использовано, могут быть веским указателем модификации изображения 402.
[0058] В некоторых примерах, различные даты, ассоциированные с изображением 402, могут указывать модификацию изображения 402. Например, дата того, когда изображение было захвачено, может сравниваться с датой того, когда продукт был куплен. Если дата того, когда изображение 402 было создано, предшествует дате того, когда продукт был куплен, как утверждается клиентом, это может указывать, что изображение 402 было модифицировано, потому что клиент не обладал предоплаченной картой на изображении 402, чтобы создать изображение продукта до даты, когда, как утверждается, продукт был куплен.
[0059] В различных примерах, другие методы могут использоваться модулем 208 определения модификации, чтобы определить, было ли изображение 402 модифицировано, или был ли объект, изображенный на изображении 402, модифицирован. Например, методы анализа уровня ошибки (ELA) могут использоваться, чтобы определить, является ли участок изображения 402 не исходным или был отредактирован. Модуль 208 определения модификации может использовать методы ELA, чтобы обрабатывать изображение и выводить результат, где области явно из другого источника, чем для исходного изображения, подсвечены, что в свою очередь используется, чтобы определить, было ли изображение 402 фальсифицировано.
[0060] В некоторых примерах, вычислительное устройство-хост 102 и/или служба 104 проверки достоверности изображения может извлекать данные (т.е., метаданные) из других изображений, хранящихся на предоставляющем вычислительном устройстве (т.е., клиентском вычислительном устройстве), которое предоставило изображение 402 в вычислительное устройство-хост 102 для верификации, чтобы определить, было ли изображение 402 модифицировано. Например, вычислительное устройство-хост 102 и/или служба 104 проверки достоверности изображения может извлекать метаданные, ассоциированные с другими изображениями, хранящимися на предоставляющем вычислительном устройстве. Служба 104 проверки достоверности изображения может сравнивать метаданные, ассоциированные с другими изображениями, хранящимися на предоставляющем вычислительном устройстве, с метаданными, извлеченными из изображения 402, чтобы идентифицировать различия между разными метаданными. Различия, обнаруженные между метаданными изображений, хранящихся на предоставляющем устройстве, и изображением 402, предоставленным для верификации, могут указывать, что изображение 402 было верифицировано. В качестве примера, многие вычислительные устройства хранят или разделяют изображения в разные папки, местоположения или файлы на вычислительном устройстве. Изображение, захваченное вычислительным устройством, может храниться в местоположении или папке ʺКамераʺ, между тем как изображение, загруженное в вычислительное устройство (т.е., незахваченное), может храниться в местоположении или папке ʺЗагрузкиʺ, и скриншот может храниться в папке или местоположении ʺСкриншотыʺ. Если метаданные, полученные или извлеченные из других изображений, хранящихся на предоставляющем вычислительном устройстве, указывают, что они хранятся в папке или местоположении ʺКамераʺ, а метаданные изображения 402 указывают, что изображение хранилось в папке или местоположении ʺЗагрузкиʺ, эта разница может указывать, что изображение 402 было модифицировано, так как оно не было захвачено предоставляющим вычислительным устройством, а было вместо этого загружено из источника, такого как Интернет.
[0061] В некоторых примерах, устройства, используемые клиентами для предоставления изображений, могут указывать модификацию изображения 402. Например, если конкретный клиент ранее предоставил изображение, метаданные которого указывают, что оно было захвачено и/или предоставлено первым вычислительным устройством, и метаданные изображения 402 указывают, что оно было захвачено и/или предоставлено вторым, отличающимся вычислительным устройством, это может указывать, что изображение было модифицировано. Например, первое вычислительное устройство может быть мобильным телефоном, а второе вычислительное устройство может быть ноутбуком. Это может указывать, что изображение 402 было модифицировано, потому что настольный компьютер или ноутбук может иметь возможности, требуемые программным обеспечением редактирования изображений, чтобы модифицировать изображение 402, между тем как мобильный телефон не может иметь таких возможностей. Таким образом, ранее предоставленное изображение от клиента с использованием первого устройства, а не второго вычислительного устройства, использованного, чтобы предоставить изображение 402, может указывать, что изображение 402 было модифицировано.
[0062] Модуль 208 определения модификации может употребить один или любую комбинацию указателей выше, чтобы определить, было ли изображение 402 модифицировано, или был ли объект, изображенный на изображении, модифицирован. Указатели могут взвешиваться модулем 214 взвешивания более или менее интенсивно, чтобы показать модификацию изображения 402. Модуль 208 определения модификации может использовать различные указатели, поясненные выше, чтобы определить вероятность того, что изображение 402 было модифицировано. Если вероятность модификации попадает в различные пороги или диапазоны, то могут выводиться результаты, такие как ʺфальсификация обнаруженаʺ, ʺфальсификация вероятнаʺ или ʺфальсификация не обнаруженаʺ. В то время как методы объяснены со ссылкой на предоплаченную карту, другие типы документов на изображениях могут анализироваться с использованием подобных методов, такие как гарантии, квитанции, финансовые отчеты и т.д.
Примерные процессы
[0063] Процессы, описанные на фиг. 5-7 ниже, проиллюстрированы как совокупность блоков в логической блок-схеме, которые представляют последовательность операций, которые могут быть реализованы в аппаратных средствах, программном обеспечении или их комбинации. В контексте программного обеспечения, этапы отображают исполняемые компьютером инструкции, хранящиеся на одном или нескольких считываемых компьютером носителях хранения, которые при исполнении одним или несколькими процессорами, выполняют перечисленные операции. В общем, исполняемые компьютером инструкции включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и тому подобное, которые выполняют конкретные функции или реализуют конкретные типы абстрактных данных. Порядок, в котором описаны операции, не предназначен, чтобы толковаться в качестве ограничения, и любое число описанных этапов может сочетаться в любом порядке и/или параллельно для реализации процессов. Процессы, описанные ниже, могут выполняться модулями, сохраненными на одной или более из службы 200 проверки достоверности изображения и/или вычислительного устройства-хоста 300, такими как модуль 208 определения модификации и веб-приложение(я) 308.
[0064] Фиг. 5 представляет собой блок-схему последовательности операций, показывающую примерный процесс 500 для определения аутентичности изображения на основе указателей и выведения указания вероятности того, что изображение было модифицировано от своей исходной формы.
[0065] В блоке 502, служба 200 проверки достоверности изображения может получать (например, принимать, осуществлять доступ и т.д.) изображение для верификации.
[0066] В блоке 504, модуль 208 определения модификации может определять аутентичность изображения на основе по меньшей мере двух операций. Операции могут включать в себя операции блоков 506-512.
[0067] В блоке 506, модуль 208 определения модификации может анализировать изображение, чтобы обнаружить изменение в плотности пикселов от первого участка изображения ко второму участку изображения.
[0068] В блоке 508, модуль 208 определения модификации может сравнивать изображение с миниатюрой изображения, чтобы обнаружить различие между изображением и миниатюрой.
[0069] В блоке 510, модуль 208 определения модификации может анализировать данные, ассоциированные с изображением, чтобы определить, было ли программное обеспечение редактирования использовано на изображении.
[0070] В блоке 512, модуль 208 определения модификации может анализировать данные, ассоциированные с изображением, чтобы определить по меньшей мере одно из времени, когда изображение было захвачено, или географического местоположения, в котором изображение было захвачено.
[0071] В блоке 514, служба 200 проверки достоверности изображения может выводить, посредством одного или нескольких сетевых интерфейсов 218, указание вероятности того, что изображение было модифицировано. В некоторых примерах, выведение может основываться по меньшей мере частично на определении аутентичности изображения.
[0072] Фиг. 6 представляет собой блок-схему последовательности операций, показывающую примерный процесс 600 для получения изображения, подлежащего верификации, как модифицированного или нет, отправки изображения, подлежащего анализу, и выведения указания вероятности того, что изображение было модифицировано от своей исходной формы.
[0073] В блоке 602, вычислительное устройство-хост 300 может получать изображение, подлежащее верификации.
[0074] В блоке 604, вычислительное устройство-хост 300 может отправлять изображение, посредством веб-API 310 и через один или более сетевых интерфейсов 312, в службу верификации изображения, чтобы верифицировать изображение как фальсифицированное или нет на основе многофакторного анализа.
[0075] В блоке 606, вычислительное устройство-хост может принимать, через один или более сетевых интерфейсов 312, указание вероятности того, что изображение было фальсифицировано.
[0076] В блоке 608, вычислительное устройство-хост 300 может выводить, через пользовательский интерфейс веб-приложения 308, указание вероятности того, что изображение было фальсифицировано.
[0077] Фиг. 7 является блок-схемой последовательности операций, показывающей примерный процесс 700 для анализа цифрового изображения, чтобы определить вероятность того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, на основе по меньшей мере двух операций, и вывода указания вероятности того, что цифровое изображение или объект, изображенный на изображении, был модифицирован от его исходной формы.
[0078] В блоке 702, служба 200 проверки достоверности изображения может получать (например, принимать, осуществлять доступ и т.д.) цифровое изображение для верификации.
[0079] В блоке 704, модуль 208 определения модификации службы 200 проверки достоверности изображения может анализировать цифровое изображение, чтобы определить вероятность того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, причем анализ содержит по меньшей мере две операции. Операции могут включать в себя любые операции блоков 706-712.
[0080] В блоке 706, модуль 208 определения модификации может анализировать цифровое изображение, чтобы обнаружить изменение в плотности пикселов от первого участка цифрового изображения до второго участка цифрового изображения.
[0081] В блоке 708, модуль 208 определения модификации может сравнивать цифровое изображение с миниатюрой цифрового изображения, чтобы обнаружить различие между цифровым изображением и миниатюрой.
[0082] В блоке 710, модуль 208 определения модификации может анализировать метаданные цифрового изображения, чтобы определить, было ли программное обеспечение редактирования использовано на цифровом изображении.
[0083] В блоке 712, модуль 208 определения модификации может анализировать сравнение между цифровым изображением и сохраненным цифровым изображением, чтобы идентифицировать сходства между цифровым изображением и сохраненным цифровым изображением.
[0084] В блоке 714, служба 200 проверки достоверности изображения может выводить указание, через один или более сетевых интерфейсов 218, вероятности того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано. В некоторых примерах, служба 200 проверки достоверности изображения может выводить указание на основе по меньшей мере частично анализа цифрового изображения.
Примерные случаи
[0085] A. Система проверки достоверности изображения, содержащая: один или несколько процессоров и память, коммуникативно связанную с одним или несколькими процессорами и хранящую один или несколько модулей, которые, при исполнении одним или несколькими процессорами, побуждают систему проверки достоверности изображения выполнять операции, содержащие: получение, от вычислительного устройства, изображения для верификации; в ответ на получение изображения, определение аутентичности изображения на основе по меньшей мере двух из следующих операций: анализа изображения для обнаружения изменения в плотности пикселов от первого участка изображения до второго участка изображения; сравнения изображения с миниатюрой изображения, чтобы обнаружить различие между изображением и миниатюрой; анализа данных, ассоциированных с изображением, чтобы определить, было ли программное обеспечение редактирования изображений использовано на изображении; и анализа данных, ассоциированных с изображением, чтобы идентифицировать по меньшей мере одно из времени, когда изображение было захвачено, или географического местоположения, в котором изображение было захвачено; и выведение указания, на основе по меньшей мере частично определения аутентичности изображения, вероятности того, что изображение было модифицировано.
[0086] B. Система проверки достоверности изображения согласно абзацу A, причем операции дополнительно содержат выполнение оптического распознавания символов на изображении, чтобы идентифицировать текст, включенный в изображение; и причем определение аутентичности изображения дополнительно включает в себя: определение того, что считываемый компьютером код, включенный в текст изображения, ассоциирован с конкретным продуктом; определение того, что ключ продукта, включенный в текст изображения, находится в соответствующем формате для ключей продуктов; и определение того, что ключ продукта, включенный в текст изображения, включает в себя один или несколько недостоверных символов.
[0087] C. Система проверки достоверности изображения согласно абзацу A или B, причем изображение содержит доказательство покупки; и причем указание вероятности того, что изображение было модифицировано, содержит указание того, что изображение является достоверным доказательством покупки.
[0088] D. Система проверки достоверности изображения согласно любому из абзацев A-C, причем каждая из операций ассоциирована с весовым коэффициентом; и причем определение аутентичности изображения дополнительно включает в себя: применение соответствующего весового коэффициента к каждой из по меньшей мере двух операций, чтобы создать по меньшей мере две взвешенные операции; и определение вероятности того, что изображение было модифицировано, на основе по меньшей мере частично по меньшей мере двух взвешенных операций.
[0089] E. Система проверки достоверности изображения согласно любому из абзацев A-D, причем выведение указания вероятности содержит: определение, что вероятность того, что изображение было модифицировано, находится выше первого порога вероятности, ниже второго порога вероятности или между первым порогом вероятности и вторым порогом вероятности; и в ответ на определение, что вероятность того, что изображение было модифицировано, находится выше первого порога вероятности, выведение указания в вычислительное устройство, указывающего, что модификация изображения была обнаружена.
[0090] F. Система проверки достоверности изображения согласно любому из абзацев A-E, причем выведение указания вероятности содержит: определение, что вероятность того, что изображение было модифицировано, находится выше первого порога вероятности, ниже второго порога вероятности или между первым порогом вероятности и вторым порогом вероятности; и в ответ на определение, что вероятность того, что изображение было модифицировано, находится ниже второго порога вероятности, выведение указания в вычислительное устройство, указывающего, что модификация изображения не была обнаружена.
[0091] G. Система проверки достоверности изображения согласно любому из абзацев A-F, причем выведение указания вероятности содержит: определение, что вероятность того, что изображение было модифицировано, находится выше первого порога вероятности, ниже второго порога вероятности или между первым порогом вероятности и вторым порогом вероятности; и в ответ на определение, что вероятность того, что изображение было модифицировано, находится между первым порогом вероятности и вторым порогом вероятности, выведение указания в вычислительное устройство, указывающего, что модификация изображения возможна.
[0092] H. Система проверки достоверности изображения согласно абзацу G, причем операции дополнительно содержат: отправку в вычислительное устройство запроса на дополнительную информацию, причем дополнительная информация содержит по меньшей мере одно из дополнительного изображения объекта, изображенного на изображении, дополнительного изображения, захватывающего объект с угла, отличного от угла, с которого изображение было захвачено; или видео объекта, содержащегося в изображении.
[0093] I. Система проверки достоверности изображения согласно любому из абзацев A-H, причем по меньшей мере две операции дополнительно включают в себя: сравнение по меньшей мере одного из признаков изображения с признаками сохраненного изображения или метаданных изображения с метаданными сохраненного изображения.
[0094] J. Система проверки достоверности изображения согласно любому из абзацев A-I, причем вероятность того, что изображение было модифицировано, включает в себя вероятность того, что объект, изображенный на изображении, был модифицирован.
[0095] K. Реализуемый компьютером способ, содержащий: получение, посредством вычислительного устройства, изображения, подлежащего верификации; отправку, вычислительным устройством, изображения в службу верификации изображения, чтобы определить, было изображение фальсифицировано или нет, на основе многофакторного анализа; прием, в вычислительном устройстве от службы верификации изображения, указания вероятности того, что изображение было фальсифицировано; и выведение, вычислительным устройством, указания вероятности того, что изображение было фальсифицировано.
[0096] L. Реализуемый компьютером способ согласно абзацу K, дополнительно содержащий: прием метаданных, ассоциированных с изображением, и анализа, выполненного службой верификации изображения; и обеспечение сохранения изображения, вероятности, метаданных и анализа в хранилище данных.
[0097] M. Реализуемый компьютером способ согласно абзацу K или L, дополнительно содержащий: идентификацию дополнительной информации, ассоциированной с изображением, причем дополнительная информация включает в себя по меньшей мере одно из идентификации устройства (ID) потребительского вычислительного устройства, ассоциированного с изображением, адреса интернет-протокола (IP), ассоциированного с потребительским вычислительным устройством, или географического местоположения, ассоциированного с потребительским вычислительным устройством; и отправку дополнительной информации в службу верификации изображения.
[0098] N. Реализуемый компьютером способ согласно любому из абзацев K-M, причем отправка изображения в службу верификации изображения содержит предоставление изображения в программный интерфейс приложения (API), ассоциированный со службой верификации изображений.
[0099] O. Реализуемый компьютером способ согласно любому из абзацев K-0, причем указание вероятности того, что изображение было фальсифицировано, содержит указание того, что фальсификация вероятна; и причем реализуемый компьютером способ дополнительно содержит выведение, вычислительным устройством, запроса на дополнительную информацию, чтобы определить, было изображение фальсифицировано или нет.
[0100] P. Реализуемый компьютером способ, содержащий: получение, посредством вычислительного устройства, цифрового изображения для верификации; в ответ на получение цифрового изображения, анализ цифрового изображения, чтобы определить вероятность того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, причем анализ содержит по меньшей мере две из следующих операций: анализ цифрового изображения, чтобы обнаружить изменение в плотности пикселов от первого участка цифрового изображения до второго участка цифрового изображения; сравнение цифрового изображения с миниатюрой цифрового изображения, чтобы обнаружить различие между цифровым изображением и миниатюрой; анализ метаданных цифрового изображения, чтобы определить, было ли программное обеспечение для редактирования использовано на цифровом изображении; и анализ сравнения между цифровым изображением и сохраненным цифровым изображением, чтобы идентифицировать сходства между цифровым изображением и сохраненным цифровым изображением; и выведение указания, на основе по меньшей мере частично анализа цифрового изображения, вероятности того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано.
[0101] Q. Реализуемый компьютером способ согласно абзацу P, причем операции дополнительно включают в себя по меньшей мере одно из: определения того, что считываемый компьютером код, включенный в цифровое изображение, ассоциирован с конкретным продуктом; определения того, что ключ продукта, включенный в цифровое изображение, находится в соответствующем формате для ключей продукта; или определения того, что ключ продукта, включенный в цифровое изображение, включает в себя символы, недостоверные для ключей продукта.
[0102] R. Реализуемый компьютером способ согласно абзацу P или Q, причем операции дополнительно включают в себя по меньшей мере одно из анализа данных, ассоциированных с цифровым изображением, чтобы идентифицировать источник цифрового изображения; или анализа данных, ассоциированных с цифровым изображением, чтобы идентифицировать дату, когда цифровое изображение было создано.
[0103] S. Реализуемый компьютером способ согласно любому из абзацев P-R, причем анализ цифрового изображения для определения вероятности того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, содержит: применение весового коэффициента к по меньшей мере двум операциям, чтобы создать по меньшей мере две взвешенные операции; и определение вероятности того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, на основе по меньшей мере частично по меньшей мере двух взвешенных операций.
[0104] T. Реализуемый компьютером способ согласно любому из абзацев P-S, причем указание вероятности того, что по меньшей мере одно из цифрового изображения или объекта, изображенного на цифровом изображении, было модифицировано, содержит по меньшей мере одно из указания того, что фальсификация была обнаружена, фальсификация не была обнаружена, или фальсификация вероятна.
[0105] U. Один или несколько считываемых компьютером носителей, закодированных с инструкциями, которые, при исполнении процессором, конфигурируют компьютер для выполнения реализуемого компьютером способа согласно любому из абзацев K-T.
[0106] V. Устройство, содержащее один или несколько процессоров и один или несколько считываемых компьютером носителей, закодированных с инструкциями, которые, при исполнении одним или несколькими процессорами, конфигурируют компьютер для выполнения реализуемого компьютером способа согласно любому из абзацев K-T.
Заключение
[0107] В заключение, хотя различные варианты осуществления были описаны на языке, специфичном для структурных признаков и/или методологических действий, следует понимать, что предмет, определенный в приложенных представлениях, не обязательно ограничен конкретными описанными признаками или действиями. Напротив, конкретные признаки и действия раскрыты в качестве примерных форм реализации заявленного предмета.