KR102351947B1 - 이미지 검증의 자동화 기법 - Google Patents

이미지 검증의 자동화 기법 Download PDF

Info

Publication number
KR102351947B1
KR102351947B1 KR1020187037023A KR20187037023A KR102351947B1 KR 102351947 B1 KR102351947 B1 KR 102351947B1 KR 1020187037023 A KR1020187037023 A KR 1020187037023A KR 20187037023 A KR20187037023 A KR 20187037023A KR 102351947 B1 KR102351947 B1 KR 102351947B1
Authority
KR
South Korea
Prior art keywords
image
modified
likelihood
digital image
digital
Prior art date
Application number
KR1020187037023A
Other languages
English (en)
Other versions
KR20190021245A (ko
Inventor
제임스 데이비드 모레이
필립 웨이드 멘도자
몬테 윈저
수아레즈 페데리코 고메즈
파르한 칸
존 모워
그레이엄 램세이
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20190021245A publication Critical patent/KR20190021245A/ko
Application granted granted Critical
Publication of KR102351947B1 publication Critical patent/KR102351947B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K9/6277
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/012Providing warranty services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0225Avoiding frauds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0607Regulated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/16Image preprocessing
    • G06V30/164Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Facsimiles In General (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

이미지가 수정되었는지 여부를 판정하는 자동화 프로세스는 (예컨대, 웹 포털을 통해) 이미지를 수신하는 것과, 이미지를 분석하여 이미지 및/또는 이미지에 표시된 대상이 그 원형으로부터 수정되었는지 여부를 판정하라고 이미지 검증 서비스에 요청하는 것과, 이미지 검증 서비스의 분석에 기초하여, 이미지가 수정되었을 가능성을 출력하는 것을 포함한다. 이미지 검증 서비스는 하나 이상의 동작을 사용하여 이미지를 분석하여 이미지가 수정되었을 가능성을 결정하고, 이미지가 수정되었을 가능성의 표시를 웹 포털에 제공할 수 있다. 이미지가 수정되었을 가능성의 표시는 웹 포털을 통해 디스플레이에 제공될 수 있으며, 이미지가 수정되었을 가능성에 기초하여 다양한 동작이 제안되거나 취해질 수 있다.

Description

이미지 검증의 자동화 기법
다수의 기업에는 고객이 지원, 환불 또는 기타 할인(concession)에 대한 자격을 증명하기 위해 지원 부서에 사진이나 이미지를 정기적으로 제공하는 고객 지원 시스템이 있다. 그러나, 지원 부서에 제공된 이미지가 거짓으로 수정된 경우, 고객은 고객이 자격이 없는 지원 또는 할인을 받을 수 있다. 현재, 기업은 문서 작성자와 이미지의 유효성을 수동으로 확인하거나 정교한 이미지 포렌식 프로세스를 실행하여 이미지를 검증해야 한다. 그러나, 이러한 기술은 많은 시간 및/또는 컴퓨팅 리소스를 필요로 하므로 지원 또는 할인 자격이 없는 고객에게 지원 또는 할인을 제공하는 기업의 고객 서비스 불량 또는 추가 비용을 발생시킨다.
본 명세서는 원래의 수정되지 않은 이미지를 식별하기 위한 자동화 프로세스를 수행하는 기술을 설명한다. 본 명세서에 설명된 기술은 이미지 또는 이미지에 표시된 대상이 수정되었을 가능성을 결정하기 위해 이미지에 대한 멀티-팩터 분석을 수행하고, 이미지 또는 이미지에 표시된 대상이 수정되었을 가능성을 나타내는 결과를 출력하는 것을 포함한다. 일부 예에서, 전자 포털(예를 들어, 웹 애플리케이션, 인터넷 사이트 등)이 컴퓨팅 디바이스 상에 제시되어 이미지를 수신한다. 예를 들어, 고객 지원 부서는 호스트 컴퓨팅 디바이스를 통해 웹 애플리케이션에 액세스하고 고객으로부터 그들에게 제공된 이미지를 제출할 수 있다. 다른 예에서, 사용자는 직접 (예컨대, 셀프 서비스 예에서) 이미지를 제출할 수 있다. 웹 애플리케이션은 예컨대, 이미지 검증 시스템과 연관된 웹 기반 애플리케이션 프로그램 인터페이스(API)를 호출함으로써 이미지를 이미지 검증 시스템에 전송할 수 있다. 이미지 검증 시스템은 검증을 위해 이미지를 수신하고 이미지 (및/또는 이미지에 표시된 대상)가 원형(original form)으로부터 수정되었을 가능성을 결정하기 위해 다양한 수정/탬퍼링(tampering) 표시자를 사용하여 이미지에 대한 멀티-팩터 분석을 수행할 수 있다. 수정 표시자는, 이미지를 분석하여 이미지의 다양한 부분들 사이의 픽셀 밀도의 변화를 검출하고, 이미지를 이미지의 썸네일과 비교하여 차이를 검출하며, 이미지의 메타데이터를 분석하여 이미지에 이미지 편집 소프트웨어가 사용되었는지 여부를 판정하고, 이미지의 메타데이터를 분석하여 이미지가 캡처되었던 시간 또는 이미지가 캡처되었던 지리적 위치를 식별하는 것 등과 같은, 이미지의 수정이 발생했음을 입증하는 임의의 유형의 동작을 포함할 수 있다. 다양한 수정 표시자 중 하나 이상은 이미지 (또는 이미지의 대상)가 수정되었을 가능성을 결정하는 데 사용될 수 있다. 어떤 경우에는, 이미지가 수정되었을 가능성을 결정할 때 다양한 수정 표시자에 더 많거나 적은 가중치가 주어질 수 있다. 이미지 검증 서비스가 이미지가 수정되었을 가능성을 결정하면, 이미지가 수정되었을 가능성을 나타내는 표시자를 출력할 수 있다. 예를 들어, 이미지 수정 시스템은 탬퍼링이 발생했다는 표시, 탬퍼링이 발생할 가능성이 있다는 표시, 또는 탬퍼링이 발생하지 않았다는 표시를 출력할 수 있다. 일부 예에서, 수정 또는 탬퍼링이 발생했을 가능성을 나타내는 표시가 웹 애플리케이션을 호스팅하는 컴퓨팅 디바이스로 출력되거나 전송될 수 있는데, 이로써 컴퓨팅 디바이스를 통해 액세스된 웹 애플리케이션의 사용자 인터페이스에 결과가 표시되게 할 수 있다. 이러한 방식으로, 고객 서비스 부서는 이미지가 수정되었을 가능성을 알리고 고객의 지원 또는 할인 요청을 완전히 거절하거나, 고객에게 지원 또는 할인 자격을 결정하기 위한 추가 정보를 요청하거나, 고객에게 자격이 있는 지원 또는 할인을 제공하는 것과 같은 적절한 조치를 취할 수 있다.
일부 예에서, 본 명세서에 설명된 기술은 클라우드 기반 저장장치에 정보를 저장하는 것을 더 포함한다. 이미지는 이미지가 이미지 검증 서비스로 전송되기 전에 또는 이미지 검증 서비스가 이미지를 분석한 후에 클라우드 기반 저장장치에 저장될 수 있다. 일부 예에서, 추가 정보는 이미지와 함께 클라우드 기반 저장장치에 저장될 수 있다. 예를 들어, 이미지 검증 서비스에 의해 수행된 분석 결과 및/또는 수정 가능성의 표시도 저장되어 특정 이미지와 연관될 수 있다. 일부 예에서, 웹 애플리케이션을 통해 이전에 수신되었고 이미지 검증 서비스에 의해 분석되었된 저장된 이미지는 추가 수정 표시자를 제공할 수 있다. 예를 들어, 이미지 검증 서비스는 특정 이미지를 이전에 저장된 이미지와 비교하거나, 다른 프로세스/서비스가 이미지를 비교하여 결과를 반환하게 할 수 있다. 비교는 이전에 저장된 이미지와 현재 분석중인 특정 이미지 사이의 다양한 관계를 나타낼 수 있으며 이는 이미지의 수정을 제시할 수 있다. 예를 들어, 특정 이미지가 다른 저장된 이미지와의 유사성의 임계치보다 더 많이 가지면, 이것은 단순히 지원이 요청되었던 이전에 저장된 이미지의 수정 버전일 수 있기 때문에 특정 이미지의 탬퍼링을 제시할 수 있다. 따라서, 본 명세서에 설명된 기술은 멀티-팩터 분석을 사용하여 수신된 이미지를 분석하고 이미지가 원형으로부터 수정되었을 가능성을 결정하는 프로세스를 구현함으로써 이미지의 검증을 자동화한다.
이 요약은 아래의 상세한 설명에서 더 설명되는 기술을 간략한 형태로 선택하여 소개하기 위해 제공된다. 이 요약은 청구 대상의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며 이 요약을 청구 대상의 범위를 제한하는 데 사용하려는 것도 아니다. 또한, 청구 대상은 본 명세서의 임의의 부분에서 언급된 임의의 또는 모든 단점을 해결하는 구현예에 한정되지 않는다.
상세한 설명은 참조 번호의 가장 왼쪽 숫자가 그 참조 번호가 처음 나타나는 도면을 식별하는 첨부 도면을 참조하여 설명된다. 동일한 도면 또는 상이한 도면에서 동일한 참조 번호의 사용은 유사하거나 동일한 항목 또는 특징을 나타낸다.
도 1은 지원이 요청되는 이미지를 수신하고 이미지를 분석하여 이미지가 원형으로부터 수정되었을 가능성을 결정하는 예시적인 환경을 도시하는 개략도이다.
도 2는 복수의 수정 표시자를 사용하여 이미지를 분석하여 이미지가 원형으로부터 수정되었을 가능성을 결정하기 위한 다양한 동작을 수행하는 예시적인 이미지 검증 서비스를 나타내는 개략도이다.
도 3은 웹 애플리케이션을 실행하여 이미지를 수신하고 그 이미지가 원형으로부터 수정되었을 가능성을 나타내는 결과를 출력하는 예시적인 호스트 컴퓨팅 디바이스를 도시하는 개략도이다.
도 4a 및 도 4b는 저장된 이미지 및 이미지가 수정되었을 가능성을 결정하기 위해 하나 이상의 표시자를 사용하여 분석될 이미지의 예시도이다.
도 5는 표시자에 기초하여 이미지의 진위를 결정하고 그 이미지가 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스를 도시하는 흐름도이다.
도 6은 수정되거나 수정되지 않은 것으로 검증될 이미지를 획득하고, 분석될 이미지를 전송하며, 이미지가 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 디지털 이미지를 분석하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 적어도 2개의 동작에 기초하여 결정하고, 디지털 이미지 또는 이미지에 표시된 대상이 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스를 도시하는 흐름도이다.
본 명세서는 이미지가 원형이 탬퍼링되거나 원형으로부터 수정되었을 가능성을 결정하는 프로세스를 수행하는 기술을 설명한다. 다수의 기업에는 고객이 지원, 환불 또는 기타 할인의 자격을 증명하기 위해 고객 지원 부서에 전자 또는 디지털 이미지(예컨대, 사진, 스캔 이미지 등)를 제공하는 고객 지원 시스템이 있다. 예를 들어, 고객은 기업으로부터 지원 또는 할인을 받기 위해 제대로 작동하지 않는 것으로 추정되는 선불 카드의 이미지 또는 고객이 증명하려고 하는 제품 또는 보증서의 구매일을 보여주는 영수증의 이미지를 제공할 수 있다. 그러나, 고객은 거짓 이미지 또는 수정된 이미지를 제출하여 고객이 자격이 없는 지원 및/또는 할인을 얻으려고 할 수 있다. 고객의 이러한 거짓 주장을 지원하거나 부적격 고객에게 할인을 제공하면 기업은 원래 판매자와의 보증 유효성을 수동으로 확인하는 시간 또는 환불 대상이 아닌 제품이나 서비스에 대한 환불을 제공하는 비용과 같은 시간과 자원이 상당히 많이 들 수 있다.
본 명세서에 설명된 기술은 검증되거나 인증될 이미지를 수신하는 웹 애플리케이션과 같은 포털을 제공하고, 이미지를 이미지 검증 서비스에 제출하여 이미지를 분석하고 이미지가 수정되었을 가능성의 표시를 제공한다. 일부 예에서, 이미지 검증 서비스는 부가적으로 또는 대안적으로 이미지를 분석하여 이미지에 표시된 대상(예를 들어, 기프트 카드, 영수증, 구매 증명서 등)이 수정되었을 가능성을 결정할 수 있다. 일부 예에서, 웹 애플리케이션은 지원 부서 또는 고객에 의해 운영되는 호스트 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스 상에 호스팅될 수 있다. 웹 애플리케이션은 소비자가 사용하는 다운로드 가능한 애플리케이션 또는 고객으로부터 수신된 이미지를 검증하기 위해 기업의 지원 부서에 제공된 애플리케이션일 수 있다. 일부 예에서, 지원 부서는 예컨대, 이메일, 텍스트, 웹 포털 또는 일부 다른 전자 포털에 의해 고객으로부터 이미지를 수신하고, 웹 애플리케이션의 사용자 인터페이스를 통해 이미지를 업로드하여 이미지가 수정되었는지 여부 및/또는 이미지에 표시된 대상이 수정되었는지 여부를 판정할 수 있다. 다양한 예에서, 웹 애플리케이션은 이미지를 이미지 검증 서비스로 전송할 수 있다. 예를 들어, 웹 애플리케이션은 이미지 검증 서비스에 이미지를 전송하는 웹 API를 호출할 수 있다. 추가적으로, 웹 애플리케이션은 나중에 다른 이미지와 비교하기 위해 이미지를 클라우드 기반 저장장치와 같은 데이터베이스에 저장할 수 있다.
이미지를 수신하면, 이미지 검증 서비스는 이미지가 하나 이상의 수정 표시자를 사용하여 이미지를 분석하여 이미지가 원형으로부터 수정되었는지 여부 또는 이미지에 표시된 대상이 수정되었는지 여부를 판정할 수 있다. 일부 예에서, 표시자는, 이미지를 분석하여 (특히, 머신 판독가능 코드, 제품 키, 가격, 날짜 등과 같은 "민감" 영역들 근처의) 이미지의 다양한 부분들 사이의 픽셀 밀도의 변화를 검출하고, 이미지를 이미지의 썸네일과 비교하여 수정을 나타내는 차이를 검출하고/하거나 다른 저장된 이미지와 비교하여 이미지가 유사성의 임계치를 갖는지를 판정하는 것과 같은 다양한 탬퍼링 또는 수정 테스트를 포함할 수 있다. 이들 및 다른 표시자는 이미지가 수정되었음을 제시할 수 있다. 예를 들어, 이미지에서 픽셀 변경이 검출되면, 이미지가 소정 영역에서 편집되어 다른 픽셀 밀도가 되거나 이미지에 포함된 대상(즉, 문서)이 수정되었음을 시사할 수 있다(예컨대, 화이트아웃(white-out), 테이프 등). 다른 경우에, 이미지가 다른 저장된 이미지에 대한 유사성의 임계치를 갖는다면, 이것은 이미지가 이미 분석된 다른 이미지와 실질적으로 유사하거나 동일하므로 이미지의 수정을 제시할 수 있으며, 이는 이미지가 할인 또는 지원을 얻기 위해 고객에 의해 이전에 사용되었음을 나타낼 수 있다. 부가적으로 또는 대안으로, 검증 검색 서비스는 런타임시 이미지를 온라인 검색 서비스(예컨대, BING®, GOOGLE® 등)를 사용하여 찾을 수 있는 이미지와 같은 웹 상의 이미지와 비교할 수 있으며, 이는 이미지가 수정되었음을 나타낼 수 있다.
일부 예에서, 이미지 검증 서비스는 이미지에 대한 데이터 추출 기술을 추가로 수행하여 수정 표시자로서 사용할 이미지의 메타데이터를 추출할 수 있다. 일부 예에서, 데이터 추출은 이미지의 메타데이터가 존재하지 않거나 깨끗하게 지워졌음을 나타낼 수 있는데, 이는 이미지가 수정되었음을 나타낼 수 있다. 일부 예에서, 메타데이터는 상이한 메타데이터가 서로 닮았는지 여부를 판정하기 위해 다른 저장된 이미지의 메타데이터와 비교될 수 있으며, 이는 이미지가 동일하고 수정이 발생했음을 나타낼 수 있다. 일부 예에서, 추출된 메타데이터는 소프트웨어 클라이언트(예컨대, PHOTOSHOP®, Gimp, Sketch 등)에 의한 편집의 증거를 보여줄 수 있으며, 이는 이미지의 수정을 나타낼 수 있다. 다양한 예에서, 이미지를 전송한 컴퓨팅 디바이스의 디바이스 식별자(ID), 이미지를 캡처하였던 컴퓨팅 디바이스와 연관된 인터넷 프로토콜(IP) 주소 및/또는 이미지가 캡처되었거나 이미지가 전송되었던 지리적 위치와 같은 메타데이터는 또한 이미지와 연관된 디바이스를 나타낼 수 있다. 이 컴퓨팅 디바이스 식별 정보를 사용하면, 컴퓨팅 디바이스가 거짓으로 수정된 이미지를 이전에 제출했고, 컴퓨팅 디바이스는 거짓 이미지가 이전에 제출되었던 위치에 위치하며, 이미지는 거짓 이미지가 이전에 캡처되었던 위치에서 캡처되었다는 등등의 이유로 이미지는 수정될 가능성이 있다고 플래깅될 수 있다. 다른 예에서, 메타데이터는 이미지가 캡처되었던 날짜와 같은 날짜 정보를 더 포함할 수 있다. 날짜가 찍힌 이미지는 제품 또는 보증서가 구매되었다고 추정되는 날짜와 같은 다른 날짜와 비교되어 이미지가 수정되었는지 여부 또는 이미지에 표시된 대상이 수정되었는지 여부를 판정할 수 있다. 예를 들어, 제품 또는 보증서의 구매 추정 날짜 이전의 날짜에 이미지가 생성되었으면, 이는 소비자가 구매 날짜 이전에 제품 또는 보증서의 이미지를 생성할 수 없으므로 이미지가 수정되었다고 제시할 수 있다.
일부 예에서, 데이터 추출은 이미지로부터 텍스트를 추출하기 위해 이미지에 광학 문자 인식(optical character recognition: OCR) 분석을 수행하는 것을 포함할 수 있다. 텍스트는 이미지가 수정되었는지 여부를 나타내는 표시자로서 사용될 수 있다. 예를 들어, 텍스트가 제품 키에 사용되지 않은 문자를 포함하거나 제품 키 문자가 전통적으로 취하는 포맷(예컨대, 5x5, 4x4 등)으로 배열되어 있지 않으면, 텍스트는 이미지가 수정되었음을 나타낼 수 있다. 유사하게, 이미지 내의 머신 판독가능 코드(예를 들어, 바코드, QR 코드, 워터마크 등)는 머신 판독가능 코드가 실제로 판매되었던 제품과 연관되는지 여부를 판정하기 위해 인가된 제품(즉, 판매자의 데이터베이스에서 판매된 것으로 열거된 제품)과 비교될 수 있다. 머신 판독가능 코드가 제품을 구입한 날짜 및 기업 위치를 나타내는 영수증에 있지만, 그 기업의 데이터베이스가 특정 머신 판독가능 코드가 판매된 제품과 연관된 것으로 표시하지 않으면, 이는 이미지의 수정을 나타낼 수 있다.
일부 예에서, 이미지 검증 서비스는 앞에서 설명한 표시자 중 하나 이상에 기초하여 이미지가 수정되었을 가능성을 결정할 수 있다. 다양한 예에서, 표시자는 이미지가 수정되었을 가능성을 결정하는 데 사용될 때 더 많거나 적은 가중치가 주어질 수 있다. 예를 들어, 소프트웨어 클라이언트에 의한 편집의 증거를 나타내는 메타데이터와 같은 표시자에는 이미지 내의 픽셀 변동과 같은 표시자보다 이미지의 수정을 나타내기 위해 더 많은 가중치가 주어질 수 있다. 다양한 표시자 또는 다양한 가중치가 주어진 표시자에 기초하여, 이미지 검증 서비스는 이미지가 수정되었을 가능성을 결정할 수 있다. 예를 들어, 표시자는 다양한 임계치 내에 있을 가능성을 나타낼 수 있으며, 탬퍼링이 검출되거나, 탬퍼링이 발생할 가능성이 있거나, 탬퍼링의 확실한 증거가 없기 때문에 결론에 이르지 못하는 것과 같은 하나 이상의 결과를 나타낼 수 있다. 그 다음에 이미지 검증 서비스는 분석 결과를 웹 애플리케이션으로 리턴할 수 있다. 예를 들어, 이미지 검증 서비스는 이미지가 수정되었을 가능성, 가능성을 결정하는데 사용되는 분석 및 표시자 및/또는 이미지로부터 추출되었던 메타데이터 중 하나 이상을 웹 애플리케이션으로 출력할 수 있다.
웹 애플리케이션은 이미지가 수정되었을 가능성의 표시를 출력할 수 있다. 예를 들어, 웹 애플리케이션은 이미지가 수정되었을 가능성의 표시를 호스트 컴퓨팅 디바이스의 디스플레이 상에 제공하여 지원 부서 또는 다른 사용자에게 이미지가 수정되었을 가능성을 알릴 수 있다. 또한, 웹 애플리케이션은 이미지가 수정되었을 가능성의 표시에 기초하여, 제시된 태스크 또는 동작을 제공하거나, 태스크 또는 동작을 수행할 수 있다. 예를 들어, 탬퍼링이 검출되었으면, 자동 프로세스를 사용하여 고객에게 이미지가 수락되지 않았거나 가짜로 플래깅되었음을 알리고 지원 또는 할인 요청을 거부할 수 있다. 다른 예에서, 탬퍼링이 가능할 수도 있지만 확실하지 않은 경우, 웹 애플리케이션은 상이한 각도에서 발생한 문제가 되고 있는 문서의 이미지 또는 상이한 각도의 문서의 비디오와 같은 추가 정보를 지원 부서 또는 고객으로부터 요청하여 수정이 발생했는지 판단하는 데 도움이 될 수 있다. 이미지가 생성된 후에 편집 소프트웨어를 사용하여 수정이 수행되므로, 사기범이 문서의 상이한 각도에서 이미지에 정확한 수정을 재생성하는 것은 어려울 수 있다.
다양한 예에서, 웹 애플리케이션은 이미지, 수정 가능성의 표시, 분석에 사용되는 표시자 및/또는 이미지의 메타데이터 중 하나 이상이 BLOB(Binary Large OBject) 저장장치와 같은 클라우드 기반 저장장치에 저장되게 할 수 있다. 예를 들어, 웹 애플리케이션은 앞에서 설명한 데이터 중 임의의 것을 BLOB 저장장치로 전송할 수 있다. 데이터는 정보가 적합한 이미지와 연관되도록 색인 또는 구성될 수 있다. 이러한 방식으로, BLOB 저장장치에 저장된 이미지 및 관련 데이터는 이미지 검증 서비스 또는 다른 프로세스에 의해 사용되어 특정 이미지가 수정되었는지 여부 또는 이미지에 표시된 대상이 수정되었는지 여부를 판정할 수 있다.
본 명세서에 설명된 기술들은 이미지 검증 서비스, 웹 애플리케이션 및 클라우드 기반 저장장치에 의해 수행되는 것으로 설명되지만, 기술은 단일 컴퓨팅 디바이스 또는 엔티티, 또는 컴퓨팅 디바이스와 엔티티의 임의의 조합에 의해 수행될 수 있다.
예시적인 환경
도 1은 지원이 요청되는 이미지를 수신하고 이미지를 분석하여 이미지가 원형으로부터 수정되었을 가능성을 결정하는 예시적인 환경(100)을 도시하는 개략도이다. 보다 구체적으로, 예시적인 환경(100)은 하나 이상의 호스트 컴퓨팅 디바이스(102), 이미지 검증 서비스(104) 및 클라우드 기반 저장장치(106)를 포함할 수 있다.
호스트 컴퓨팅 디바이스(102)는 이미지를 수신하고, 이미지 검증 서비스(104)에 이미지를 전송하며, 이미지 검증 서비스(104)에 의해 수행된 분석의 결과(110)를 제공하기 위해 호스트 컴퓨팅 디바이스(들)(102)과 연관된 디스플레이 상에 사용자 인터페이스(108)를 제공하도록 구성된 하나 이상의 모듈로 구성된 임의의 유형의 엔티티, 서버, 콘솔, 컴퓨터 등을 포함할 수 있다. 호스트 컴퓨팅 디바이스(들)(102)는 랩톱 컴퓨터, 데스크톱 컴퓨터, 스마트폰 컴퓨팅 디바이스, 또는 지원 부서와 같은 엔티티에 의해 작동될 수 있는 임의의 다른 유형의 컴퓨팅 디바이스와 같은 임의의 유형의 컴퓨터를 포함할 수 있다. 호스트 컴퓨팅 디바이스(들)(102)는 하나 이상의 이미지(112)를 수신하기 위해 사용자 인터페이스(108)를 제공하는 웹 기반 애플리케이션을 실행할 수 있다. 일부 예에서, 고객은 웹 기반 애플리케이션에 액세스하여 검증될 이미지(들)(112)를 직접 업로드할 수 있다. 이미지(들)(112)는 사진 또는 스캔된 이미지와 같은 전자 또는 디지털 형태의 임의 유형의 이미지를 포함할 수 있다. 도 1에 도시된 바와 같이, 이미지(들)(112)는 소비자가 지원 또는 할인을 얻으려고 할 수 있는 문서(즉, 선불 카드, 영수증, 보증서 등)의 이미지이다. 이미지(들)(112)가 호스트 컴퓨팅 디바이스(들)(102) 상에 호스팅된 웹 애플리케이션의 사용자 인터페이스(108)를 통해 제출되었으면, 호스트 컴퓨팅 디바이스(들)(102)는 이미지(들)(112)를 하나 이상의 네트워크(들)(116)를 통해 이미지 검증 서비스(104)로 전송할 수 있다. 일부 예에서, 호스트 컴퓨팅 디바이스(들)(102)는 이미지 검증 서비스가 이미지(들)(112)에 대한 분석을 수행하게 하도록 이미지 검증 서비스(104)와 연관된 웹 API를 호출함으로써 이미지를 전송할 수 있다. 일부 예에서, 호스트 컴퓨팅 디바이스(들)(102)는 추후 사용을 위해 저장되도록 클라우드 기반 저장장치(106)에 이미지(들)(112)를 추가로 전송할 수 있다.
네트워크(들)(116)는 셀룰러 네트워크, 무선 네트워크, 근거리 통신 네트워크(LAN), 광역 통신 네트워크(WAN), 개인 영역 네트워크(PAN) 및 인터넷과 같은 복수의 상이한 유형의 네트워크 중 임의의 하나 또는 조합을 포함할 수 있다.
이미지 검증 서비스(104)는 이미지(들)(112)가 수정되었는지의 여부 또는 이미지(들)(112)에 표시된 대상이 수정되었는지 여부를 판정하기 위해 하나 이상의 표시자를 사용하여 이미지(들)(112)를 분석하는 하나 이상의 모듈로 구성된 임의의 엔티티, 서버, 콘솔, 컴퓨터 등일 수 있다. 일부 예에서, 호스트 컴퓨팅 디바이스(들)(102), 웹 서비스 및 이미지 검증 서비스(104)는 모두 하나의 컴퓨팅 디바이스 또는 하나의 엔티티일 수 있다. 이미지 검증 서비스(104)는 이미지(들)(112)가 수정되었는지 여부를 판정하기 위한 표시자로서 사용하기 위해 이미지(들)(112)로부터 메타데이터를 추출하는 하나 이상의 모듈을 포함할 수 있다. 일부 예에서, 표시자는 이미지를 분석하여 이미지의 다양한 부분들 사이의 픽셀 밀도의 변화를 검출하고, 이미지를 이미지의 썸네일과 비교하여 수정을 나타내는 차이를 검출하며, 다른 저장된 이미지와 비교하여 이미지가 유사성의 임계치를 갖는지 여부, 이미지의 소스를 나타내는 정보, 이미지의 메타데이터에 표시된 편집 소프트웨어의 증거를 결정하는 것 및/또는 다양한 텍스트 분석 기술과 같은 다양한 탬퍼링 또는 수정 테스트를 포함할 수 있다. 도 4a 및 도 4b와 관련하여 보다 상세하게 설명 된 이들 표시자 및 다른 표시자는 이미지가 수정되었음을 제시할 수 있다. 다양한 표시자를 사용하는 이미지(들)(112)의 분석에 기초하여, 이미지 검증 서비스(104)는 앞에서 설명한 표시자들 중 하나 이상에 기초하여 이미지가 수정되었을 가능성을 결정할 수 있다. 예를 들어, 표시자는 가능성의 다양한 임계치 내에 있는 가능성을 나타낼 수 있으며, 탬퍼링이 검출되거나, 탬퍼링이 발생할 가능성이 있거나, 탬퍼링의 확실한 증거가 없기 때문에 결론에 이르지 못하는 것과 같은 하나 이상의 결과를 나타낼 수 있다. 그 다음에 이미지 검증 서비스(104)는 분석 결과를 호스트 컴퓨팅 디바이스(들)(102)로 리턴할 수 있다. 예를 들어, 이미지 검증 서비스(104)는 호스트 컴퓨팅 디바이스(들)(102) 상에 호스팅되는 웹 애플리케이션으로 분석 데이터(114)를 출력할 수 있으며, 분석 데이터(114)는 이미지(들)(112)가 수정되었을 가능성, 가능성을 결정하는 데 수행된 분석 및 사용된 표시자 및/또는 이미지(들)(112)로부터 추출되었던 메타데이터 중 하나 이상을 포함한다.
사용자 인터페이스(108)는 호스트 컴퓨팅 디바이스(들)(102)와 연관된 디스플레이 상에 결과(110)로서 이미지(112)가 수정되었을 가능성을 나타낼 수 있다. 예를 들어, 사용자 인터페이스(108)는 결과 "탬퍼링 발생 가능성 있음" 또는 이미지 검증 서비스(104)로부터 리턴된 임의의 다른 결과를 나타낼 수 있다.
일부 예에서, 호스트 컴퓨팅 디바이스(들)(102)는 클라우드 기반 저장장치(106)에 이미지 데이터(118)를 저장할 수 있다. 예를 들어, 호스트 컴퓨팅 디바이스(들)(102) 상의 웹 애플리케이션은 이미지 데이터(118)가 클라우드 기반 저장장치(106)로 전송되게 할 수 있다. 일부 예에서, 이미지 데이터(118)는 이미지(들)(112) 및/또는 이미지(들)(112)가 수정되었을 가능성, 가능성을 결정하는 데 수행된 분석 및 사용된 표시자 및/또는 이미지(들)(112)로부터 추출되었던 메타데이터와 같은 분석 데이터(114)에 포함된 임의의 정보를 포함할 수 있다. 전술한 바와 같이, 클라우드 기반 저장장치(106)는 이미지 데이터(118)가 저장되는 BLOB 저장장치와 같은 임의의 유형의 저장장치일 수 있다. 이미지 데이터(118)는 JSON(JavaScript Object Notation) 또는 XML(Extensible Markup Language)과 같은 다양한 포맷으로 저장될 수 있다. 일부 예에서, 클라우드 기반 저장장치(106)는 이미지(들)(112)가 색인되거나 그렇지 않으면 각각의 분석 데이터(114)와 연관되도록 이미지 데이터(118)를 구성할 수 있다. 이러한 방식으로, 특정 이미지(들)(112)에 대한 이미지 데이터(118)는 분석을 위해 용이하게 액세스 가능할 수 있다. 이미지 검증 서비스(104)는 클라우드 기반 저장장치(106)에 저장된 이미지 데이터(118)를 분석하고 이미지가 수정되었는지 여부의 표시자로서 사용할 결과를 리턴하기 위해 웹 기반 서비스를 포함하거나 요청할 수 있다. 예를 들어, 이미지 검증 서비스(104)는 분석되는 특정 이미지(들)(112)가 클라우드 기반 저장장치(106)에 저장된 다른 이미지 또는 다른 메타데이터와 유사성을 갖는지 여부를 판정하기 위해 웹 서비스 또는 프로세스를 저장하거나 호출할 수 있다. 이전에 저장된 이미지들 사이의 유사성은 이미지 검증 서비스(104)에 의해 분석되는 특정 이미지(들)(112)가 수정되었는지 여부에 대한 표시자로서 사용될 수 있다.
예시적인 환경(100)은 호스트 컴퓨팅 디바이스(102), 이미지 검증 서비스(104) 및 클라우드 기반 저장장치(106)를 개별적인 엔티티로서 포함하는 것으로 도 1에 도시되어 있지만, 다양한 구현예에서, 엔티티의 임의의 상이한 조합이 설명된 기술을 수행할 수 있다. 일부 예에서, 모든 기술은 단일 엔티티에 의해 수행될 수 있다. 다양한 예에서, 이미지 검증 서비스(104) 및 클라우드 기반 저장장치(106)는 동일한 엔티티 또는 서버일 수 있다.
도 2는 복수의 수정 표시자를 사용하여 이미지를 분석하여 이미지가 원형으로부터 수정되었을 가능성을 결정하기 위한 다양한 동작을 수행하는 예시적인 이미지 검증 서비스(200)를 나타내는 개략도이다. 이미지 검증 서비스(200)는 이미지 검증 서비스(104)와 같은 임의의 유형의 이미지 검증 서비스를 포함할 수 있고, 전자 이미지가 원형으로부터 수정되었는지 여부 또는 디지털 이미지에 표시된 대상이 수정되었는지 여부를 판정하는 하나 이상의 모듈을 사용하여 구성된 온라인 서버와 같은 임의의 유형의 컴퓨팅 디바이스 또는 컴퓨팅 디바이스의 조합일 수 있다. 도 2에 도시된 바와 같이, 이미지 검증 서비스(200)는 예컨대, 통신 버스에 의해 컴퓨터 판독가능 매체(204)에 연결된 하나 이상의 프로세서(202)를 포함할 수 있다. 프로세서(들)(202)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 마이크로프로세서 등을 포함할 수 있다.
컴퓨터 판독가능 매체(204)는 운영 체제(206) 및 수정 판정 모듈(208)을 저장할 수 있다. 운영 체제(206)는 제어기 서버(200)의 하드웨어 및 소프트웨어 리소스를 관리하는 컴퓨터 판독가능 명령어를 포함할 수 있다.
수정 판정 모듈(208)은, 프로세서(들)(202)에 의해 실행될 때, 이미지가 원형으로부터 수정되었는지 여부를 판정하기 위한 다양한 동작을 수행하는 컴퓨터 판독가능 명령어를 포함할 수 있다. 추가적으로 또는 대안으로, 수정 판정 모듈(208)은 이미지에 표시된 대상(즉, 기프트 카드, 영수증 등)이 수정되었는지 여부를 판정할 수 있다. 예를 들어, 수정 판정 모듈(208)은 이미지를 획득(예를 들어, 이미지를 수신하고, 저장된 이미지에 액세스하는 등)하고, 이미지로부터 데이터를 추출하며, 다양한 표시자를 사용하여 이미지를 분석하는 하나 이상의 모듈을 포함할 수 있다.
일부 예에서, 수정 판정 모듈(208)은, 프로세서(들)(202)에 의해 실행될 때, 이미지로부터 데이터를 추출하기 위한 다양한 동작을 수행하는 컴퓨터 판독가능 명령어를 포함할 수 있는 데이터 추출 모듈(210)을 포함할 수 있다. 일부 예에서, 데이터 추출은 이미지에 포함된 텍스트를 추출하거나 결정하기 위해 광학 문자 인식(OCR) 기술을 수행하기 위한 컴퓨터 판독가능 명령어를 포함할 수 있다. 일부 예에서, 데이터 추출 모듈(210)은 이미지가 캡처되었던 시간을 나타내는 시간 데이터, 이미지가 캡처되었던 위치를 식별하는 지리적 데이터, 이미지에 사용된 편집 소프트웨어의 증거, 또는 분석을 위해 이미지를 생성 및/또는 전송된 특정 디바이스의 디바이스 ID, 특정 디바이스의 IP 주소 및/또는 특정 디바이스의 지리적 위치와 같은 디바이스 식별 정보와 같은 메타데이터를 이미지 파일로부터 더 추출할 수 있다.
일부 예에서, 수정 판정 모듈(208)은, 프로세서(들)(202)에 의해 실행될 때, 이미지 및 이미지와 연관된 데이터를 분석하여 이미지가 원래 버전으로부터 수정되었을 가능성을 결정하는 다양한 동작을 수행하는 컴퓨터 판독가능 명령어를 포함할 수 있다. 예를 들어, 표시자는 (i) 이미지를 분석하여 이미지의 다양한 부분에서 픽셀 밀도의 변화를 검출하고, (ii) 이미지를 이미지의 썸네일과 비교하여 이미지와 썸네일 사이의 차이를 검출하며, (iii) 이미지와 연관된 데이터를 분석하여 이미지에 이미지 편집 소프트웨어가 사용되었는지 여부를 판정하고, (iv) 이미지의 데이터를 분석하여 이미지가 캡처되었던 시간 또는 이미지가 캡처되었던 지리적 위치 중 적어도 하나를 식별하며, (v) 이미지의 텍스트에 포함된 머신 판독가능 코드(예컨대, 바코드, QR(Quick Response) 코드, 워터마크 등)가 특정 제품과 연관되는지 판정하고, (vi) 이미지의 텍스트에 포함된 제품 키가 제품 키에 적합한 포맷인지를 판정하며, (vii) 이미지의 텍스트에 포함된 제품 키가 무효 문자를 포함하는지를 판정하고/하거나, (vii) 이미지와 저장된 이미지 사이의 비교를 분석하여 이미지와 이미지와 저장된 디지털 이미지 사이의 유사성을 식별하는 것과 같은 다양한 동작과 연관될 수 있다. 다양한 표시자에 대한 추가 설명은 도 4a 및 도 4b를 참조하여 아래에서 발견될 수 있다. 표시자(들)(212) 중 하나 이상은 수정 판정 모듈(208)에 의해 사용되어 이미지가 원형으로부터 수정되었을 가능성을 결정할 수 있다.
다양한 예에서, 수정 판정 모듈(208)은 프로세서(들)(202)에 의해 실행될 때 하나 이상의 표시자(들)(212)에 가중치를 주기 위한 다양한 동작을 수행하는 컴퓨터 판독가능 명령어를 포함할 수 있는 가중화 모듈(214)을 포함할 수 있다. 가중화 모듈(214)은 일부 표시자(212)에 더 많은 가중치를 줄 수 있는데 이는 그 특정 표시자가 가중치가 더 적게 주어진 다른 표시자(들)(212)보다 더 우세한 이미지 수정 가능성을 보여줄 수 있기 때문이다. 예를 들어, 이미지를 분석하여 편집 소프트웨어가 이미지에 사용되었다고 결정하는 표시자에는 이미지를 제출한 컴퓨팅 디바이스의 특정 디바이스 ID가 과거에 수정된 이미지를 제출하였음을 입증하는 표시자보다 가중 인자를 사용하여 더 많은 가중치가 주어질 수 있다. 가중화 모듈(214)은 다양한 실시예에서 표시자(들)(212)에 임의의 다양한 가중 인자 및 가중 인자의 조합을 적용할 수 있다.
일부 예에서, 수정 판정 모듈(208)은 수정 판정 모듈(208)에 의해 분석될 또는 이미 분석된 이미지를 저장하는 이미지 데이터베이스(216)를 더 포함할 수 있다. 이미지 데이터베이스(216)는 클라우드 기반 저장장치(106)와 같은 임의의 유형의 저장 매체를 포함할 수 있다. 일부 예에서, 이미지 데이터베이스는 특정 이미지가 수정되었을 가능성, 특정 이미지에 사용된 분석 데이터 및 표시자, 및/또는 이미지의 추출된 메타데이터와 같은 각각의 이미지에 대한 이미지 데이터를 추가로 저장할 수 있다. 이미지 데이터는 색인되거나 그렇지 않으면 이미지와 연관될 수 있다. 일부 예에서, 수정 판정 모듈(208)은 이미지 데이터베이스(216)에 저장된 이미지와 현재 분석중인 이미지 간의 비교를 분석하는 표시자(들)(212)를 포함할 수 있다. 수정 판정 모듈(208)은 몇몇 예에서 이미지 검증 서비스(200)의 외부에 있는 프로세스 또는 엔티티를 호출하거나 요청하여 저장된 이미지와 현재 분석된 이미지 사이의 비교를 수행할 수 있으며, 비교 결과를 분석된 이미지들 사이의 임의의 유사성을 나타내는 수정 판정 모듈(208)로 리턴한다. 일부 경우에, 이미지 데이터베이스(216)는 이미지 검증 서비스(200)와 별개의 엔티티일 수 있다.
이미지 검증 서비스는 하나 이상의 네트워크를 통해 데이터를 전송하고 수신하기 위한 네트워크 인터페이스(들)(218)(즉, 통신 접속부)를 더 포함할 수 있다. 네트워크 인터페이스(들)(218)는 네트워크(들)(116)와 같은 네트워크를 통해 통신을 전송하고 수신하기 위한 하나 이상의 네트워크 인터페이스 제어기(NIC) 또는 다른 유형의 트랜시버 디바이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(218)는 이미지가 수정되었는지를 판정하기 위해 분석될 이미지를 수신할 수 있고, 이미지 분석 데이터와 함께 이미지가 수정되었을 가능성의 표시를 전송할 수 있다. 일부 예에서, 네트워크 인터페이스(들)(218)는 이미지 검증 서비스(200)가 네트워크를 통해 이미지를 수신하기보다는 네트워크를 통해 이미지에 액세스하게 할 수 있다.
이미지 검증 서비스(200)는 이미지 검증 서비스(200)가 입력 주변 디바이스(예를 들어, 키보드, 마우스, 펜, 게임 컨트롤러, 음성 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스, 추적 디바이스, 매핑 디바이스, 시각적 콘텐츠 아이템 카메라, 깊이 센서, 생리적 센서 등) 및/또는 출력 주변 디바이스(예를 들어, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력부 등)와 같은 다른 디바이스와 통신하게 하는 하나 이상의 입출력(I/O) 인터페이스(220)를 더 포함할 수 있다. 이러한 방식으로, 이미지 검증 서비스(200)의 사용자(즉, 관리자)는 이미지 검증 서비스(200)와 상호작용하여 이미지 검증 서비스(200) 상에 저장된 컴퓨터 판독가능 명령어를 업데이트하는 것과 같은 다양한 동작을 수행할 수 있다.
도 3은 웹 애플리케이션을 실행하여 이미지를 수신하고 그 이미지가 원형으로부터 수정되었을 가능성을 나타내는 결과를 출력하는 예시적인 호스트 컴퓨팅 디바이스(300)를 도시하는 개략도이다. 호스트 컴퓨팅 디바이스(300)는 호스트 컴퓨팅 디바이스(102)와 같은 임의의 유형의 컴퓨팅 디바이스를 포함할 수 있다. 일부 예에서, 호스트 컴퓨팅 디바이스(300)는 제품 또는 서비스에 대한 지원 및/또는 할인을 얻으려고 하는 고객으로부터 수신된 이미지를 제출하는 고객 지원 서비스의 지원 부서에 의해 운영되는 컴퓨팅 디바이스일 수 있다. 다른 예에서, 호스트 컴퓨팅 디바이스(300)는 퍼스널 컴퓨터 또는 모바일폰과 같은 고객 컴퓨팅 디바이스를 포함할 수 있다.
호스트 컴퓨팅 디바이스(300)는 예컨대, 통신 버스에 의해 컴퓨터 판독가능 매체(304)에 통신 가능하게 연결된 하나 이상의 프로세서(302)를 포함할 수 있다. 프로세서(들)(302)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 마이크로프로세서 등을 포함할 수 있다. 컴퓨터 판독가능 매체(304)는 운영 체제(306), 하나 이상의 웹 애플리케이션(308) 및 웹 애플리케이션 프로그램 인터페이스(API)(310)를 저장할 수 있다. 운영 체제(306)는 호스트 컴퓨팅 디바이스(300)의 하드웨어 및 소프트웨어 리소스를 관리하는 컴퓨터 판독가능 명령어를 포함할 수 있다.
일부 예에서, 웹 애플리케이션(들)(308)은 프로세서(302)에 의해 실행될 때 이미지를 수신하기 위한 동작을 수행하는 컴퓨터 판독가능 명령어를 포함할 수 있다. 예를 들어, 웹 애플리케이션(들)(308)은 이미지 검증 서비스에 의해 분석될 제출물 또는 이미지를 수신하기 위해 사용자 인터페이스(108)와 같은 사용자 인터페이스를 제공할 수 있다. 웹 애플리케이션(들)(308)은 사용자 인터페이스를 통해 이미지를 수신하고, 이미지 수신에 응답하여, 웹 API(310)를 호출하거나 요청하여 이미지가 수정되었을 가능성을 결정하기 위해 이미지를 분석하는 웹 포털을 포함할 수 있다. 일부 예에서, API(310)는 이미지 검증 서비스(104 및/또는 200)와 같은 이미지 검증 서비스와 연관될 수 있다.
웹 애플리케이션(들)(308)은 클라우드 기반 저장장치(즉, 클라우드 기반 저장장치(106))에 저장될 데이터를 추가로 전송할 수 있다. 예를 들어, 이미지를 수신하면, 웹 애플리케이션(들)(308)은 추후 사용 및 분석을 위해 저장될 이미지를 클라우드 기반 저장장치에 전송할 수 있다. 또한, 웹 애플리케이션(들)(308)은 제출된 이미지가 수정되었을 가능성의 표시와 함께 이미지 검증 서비스로부터 분석 데이터를 수신할 수 있다. 웹 애플리케이션(들)(208)은 또한 이 분석 데이터가 클라우드 기반 저장장치로 전송되고 저장되게 하며 색인되거나 그렇지 않으면 각각의 이미지와 연관되게 한다.
다양한 예에서, 웹 애플리케이션(들)(308)의 사용자 인터페이스는 이미지가 수정되었을 가능성의 표시를 제공할 수 있다. 예를 들어, 웹 애플리케이션(들)(308)의 사용자 인터페이스는 탬퍼링이 발생했다는 표시, 탬퍼링이 발생할 가능성이 있다는 표시, 또는 탬퍼링이 발생하지 않았다는 표시를 제공할 수 있다.
다양한 예에서, 탬퍼링이 발생했을 가능성의 표시에 따라, 다양한 동작들 또는 제시들이 웹 애플리케이션(들)(308)로부터 출력될 수 있다. 예를 들어, 웹 애플리케이션(들)(308)은 가능성의 표시가 탬퍼링이 발생할 가능성이 있지만 더 많은 증거가 필요하다는 것을 나타낼 때 상이한 각도로부터 이미지의 사진을 요청할 수 있다. 웹 애플리케이션(들)(308)은 수정이 발생하였을 가능성의 표시가 탬퍼링이 발생하지 않았음을 나타내는 경우 지원 또는 할인을 제시할 수 있다. 이와 달리, 웹 애플리케이션(들)(308)은 수정의 가능성이 탬퍼링이 발생했음을 나타내는 경우 자동 거부 프로세스를 수행하는 것과 같은 동작을 제시하거나 취할 수 있다. 이러한 제시 및 동작은 이미지에 수정이 발생하였을 가능성에 기초하여 웹 애플리케이션(들)에 의해 수행될 수 있다.
호스트 컴퓨팅 디바이스(300)는 하나 이상의 네트워크를 통해 데이터를 전송하고 수신하기 위한 하나 이상의 네트워크 인터페이스(312)(즉, 통신 접속부)를 더 포함할 수 있다. 네트워크 인터페이스(들)(312)는 네트워크(들)(116)와 같은 네트워크를 통해 통신을 전송 및 수신하기 위해 하나 이상의 네트워크 인터페이스 제어기(NIC) 또는 다른 유형의 트랜시버 디바이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(312)는 네트워크를 통해 이미지 검증 서비스에 이미지를 전송하여 이미지를 분석해서 이미지가 수정되었는지를 검증할 수 있다. 일부 예에서, 네트워크 인터페이스(들)(312)는 이미지 검증 서비스와 같은 다양한 컴퓨팅 디바이스로부터 네트워크를 통해 분석 데이터와 같은 데이터를 수신할 수 있다.
호스트 컴퓨팅 디바이스(300)는 호스트 컴퓨팅 디바이스(300)로 하여금 입력 주변 디바이스(예를 들어, 키보드, 마우스, 펜, 게임 컨트롤러, 음성 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스, 추적 디바이스, 매핑 디바이스, 시각적 콘텐츠 아이템 카메라, 깊이 센서, 생리적 센서 등) 및/또는 출력 주변 디바이스(예를 들어, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력부 등)와 같은 다른 디바이스와 통신하게 하는 하나 이상의 입출력(I/O) 인터페이스(314)를 더 포함할 수 있다. 예를 들어, I/O 인터페이스(314)는 본 명세서에 설명된 기술에 따라 웹 애플리케이션(들)(308)의 사용자 인터페이스를 제공하는 디스플레이를 포함할 수 있다.
컴퓨터 판독가능 매체(204 및 304)는 컴퓨터 저장 매체 및/또는 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 휘발성 메모리, 비휘발성 메모리, 및/또는 다른 지속적 및/또는 보조 컴퓨터 저장 매체, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 착탈식 또는 착탈불가식 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 메모리는 컴퓨터 저장 매체의 예이다. 따라서, 컴퓨터 저장 매체는 디바이스에 포함된 유형의 및/또는 물리적 형태의 매체 및/또는 디바이스의 일부이거나 디바이스의 외부에 있는 하드웨어 구성요소를 포함하되, 이는 RAM(random-access memory), SRAM(static random access memory), DRAM(dynamic random-access memory), PRAM(phase change memory), ROM(read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 플래시 메모리, CD-ROM(compact disc read-only memory), DVD(digital versatile disks), 광학 카드 또는 다른 광학 저장 매체, 소형 하드 드라이브, 메모리 카드, 자기 카세트, 자기 테이프, 자기 디스크 저장장치, 자기 카드 또는 다른 자기 저장 디바이스 또는 매체, 고체 상태 메모리 디바이스, 저장장치 어레이, 네트워크 부착 저장장치, 저장 영역 네트워크, 호스팅된 컴퓨터 저장장치 또는 임의의 다른 저장 메모리, 저장 디바이스 및/또는 컴퓨팅 디바이스에 의해 액세스될 정보를 저장하고 유지하는 데 사용될 수 있는 저장 매체를 포함하지만, 이에 한정되지 않는다.
이와 달리, 통신 매체는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현할 수 있다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하는 것에 관한 방식으로 설정되거나 변경된 하나 이상의 특성을 갖는 신호를 의미한다. 이러한 신호 또는 반송파 등은 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및/또는 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 통해 전파될 수 있다. 본 명세서에 정의된 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다.
일부 예에서, 프로세서(들)(202 및 302)는 예를 들어, CPU 유형 처리 유닛, GPU 유형 처리 유닛, HIPU 유형 처리 유닛, FPGA(Field Programmable Gate Array), 다른 클래스의 DSP(Digital Signal Processor) 또는 일부 경우에 CPU에 의해 구동될 수 있는 다른 하드웨어 로직 구성요소를 나타낼 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 예시적인 유형의 하드웨어 로직 구성요소는 ASIC(Application-Specific Integrated Circuit), ASSP(Application-Specific Standard Products), SOC(System-on-a-Chip system) 시스템, CPLD(Complex Programmable Logic Devices) 등을 포함한다. 다양한 예에서, 프로세서(들)(202 및 302)는 하나 이상의 모듈 및/또는 프로세스를 실행하여 이미지 검증 서비스(200) 및 호스트 컴퓨팅 디바이스(300)가 이미지를 획득하고, 이미지를 분석하여 이미지가 수정되었는지 여부를 판정하며, 이미지가 수정되었을 가능성의 표시를 출력하는 동작을 수행하게 할 수 있다. 또한, 프로세서(들)(202 및 302) 각각은 프로그램 모듈, 프로그램 데이터 및/또는 하나 이상의 운영 체제도 저장할 수 있는 자신의 로컬 메모리를 구비할 수 있다.
예시도
도 4a 및 도 4b는 저장된 이미지 및 이미지가 수정되었을 가능성을 결정하기 위해 하나 이상의 표시자를 사용하여 분석될 이미지의 예시도이다.
도 4a는 이미지 검증 서비스에 의해 이전에 분석되었던 이미지와 같은 예시적인 이미지(400)이다. 일부 예에서, 이미지(400)는 이와 달리 이미지(402)와 같은 다른 이미지에 대한 썸네일일 수 있다. 도 4a에 도시된 바와 같이, 이미지(400)는 선불 카드와 같은 대상의 전자 표현을 포함할 수 있다. 도 4a의 이미지(400)는 누락 부분(404), 제품(406), 만료 날짜(408), 제품 키(410) 및 머신 판독가능 코드(412)(예를 들어, 바코드, QR 코드 등)와 같은 이미지 검증 서비스에 의해 결정된 다양한 특성을 갖는다. 도 2를 참조하여 전술한 바와 같이, 수정 판정 모듈(208)은 이미지로부터 텍스트 및 다른 정보를 추출하기 위해 OCR 기술과 같은 다양한 기술을 수행하는 데이터 추출 모듈(210)을 포함할 수 있다.
도 4b는 누락 부분(414), 제품(416), 만료 날짜(418) 및 머신 판독가능 코드(420)를 유사하게 포함하는 예시적인 이미지(402)이다. 이미지의 텍스트는 OCR 기술과 같은 데이터 추출 모듈(208)에 의해 추출되거나 식별될 수 있다. 일반적으로, 제품(416)은 특정 서비스(예를 들어, 온라인 게임, 음악 라이브러리 액세스 등)에 대한 3개월 또는 12개월 멤버쉽 또는 가입과 같은 이미지(402)의 선불 카드에 의해 제공되는 제품 또는 서비스를 나타낼 수 있다. 만료 날짜(418)는 선불 카드가 더 이상 유효하지 않은 날짜를 나타낼 수 있고, 머신 판독가능 코드(420)는 선불 카드와 연관된 데이터의 머신 판독가능 표현이다.
다양한 예에서, 데이터 추출 모듈(208)이 이미지(400 및 402)의 텍스트 및/또는 메타데이터를 추출하였으면, 수정 판정 모듈(208)은 표시자(들)(112)와 같은 다양한 표시자를 텍스트 및 메타데이터에 적용하여 이미지(402)가 원형으로부터 수정되었을 가능성을 결정할 수 있다. 예를 들어, 수정 판정 모듈(208)은 이미지를 분석하고 이미지의 한 부분에서 다른 부분으로 픽셀 밀도 (또는 다른 픽셀 특성)의 변화를 입증하는 픽셀 차이(422)를 식별할 수 있다. 수정 판정 모듈(208)은 이미지(402)의 부분들 사이의 픽셀 밀도 시프트, 픽셀 컬러 불일치, 또는 이미지(402)가 수정되었음을 나타낼 수 있는 이미징된 부분들(402) 사이의 임의의 다른 유형의 픽셀 변화를 식별할 수 있다. 픽셀 특성의 변화는 예컨대, 다른 데이터를 갖는 패치가 이미지(402)의 부분 상에 오버레이되게 함으로써 이미지(402)가 편집되었음을 나타낼 수 있다. 부가적으로 또는 대안적으로, 픽셀 차이(422)는 예컨대, 화이트 아웃 또는 테이프가 적용되게 함으로써 이미지에 표시된 대상이 수정되었음을 나타낼 수 있다. 일부 예에서, 차이 영역과 연관된 픽셀 밀도는 특히 중요하고, 제품 키, 날짜 또는 이미지(402)의 다른 민감한 데이터 주변의 픽셀 변화와 같은 수정을 나타내는 것으로서 가중치가 더 많이 주어질 수 있다. 일부 예에서, 수정 판정 모듈(208)은 수정을 제시하는 이미지(402)의 텍스트 내의 다른 표시자를 더 식별할 수 있다. 예를 들어, 문자(424)는 제품 키와 같은 이미지의 부분에서 식별될 수 있는데, 이는 이미지(402)의 그 부분에 적합하지 않다. 이미지(402)에 도시된 바와 같이, 문자(424)는 소문자 "y"로서 식별되었지만, 이 유형의 제품(416)에 대한 제품 키는 소문자를 사용하지 않을 수도 있으므로 글자가 수정되었거나 대체되었음을 제시할 수 있다. 이미지(402)의 다양한 부분에 대해 무효한 문자(424)의 사용은 이미지(402)가 수정되었음을 나타낼 수 있다.
이미지(400)가 이미지(402)와 연관된 썸네일을 포함하는 예에서, 썸네일과 이미지는 둘 사이의 차이를 결정하거나 식별하기 위해 비교될 수 있다. 도 4a 및도 4b에 도시된 바와 같이, 누락 부분(404 및 414) 및 만료 날짜(408 및 418)와 같은 이미지(400)와 이미지(402) 사이에는 다양한 유사성이 존재한다. 그러나, 제품(406) 및 제품(416)과 같은 다양한 차이가 존재한다. 일반적으로, 썸네일은 이미지와 연관되거나 이미지와 함께 저장된 이미지의 압축 버전을 포함한다. 썸네일은 이미지가 생성되고 이미지의 특징과 유사한 경우 생성될 수 있다. 그러나, 이미지를 수정하기 위해 이미지에 편집 소프트웨어가 사용된 경우, 썸네일에도 수정 내용이 적용되지 않을 수 있다. 따라서, 썸네일 이미지(400)와 이미지(402) 사이의 차이는 이미지(402)가 수정되었음을 나타낼 수 있다. 따라서, 이미지(400)의 제품(406)이 이미지(402)의 제품(416)과 상이하기 때문에, 수정 판정 모듈(208)은 이러한 차이가 이미지(402)가 원형으로부터 수정되었을 가능성을 나타내거나 제시한다고 결정할 수 있다. 예를 들어, 고객이 이미지(402)를 수정함으로써 특정 서비스에 대한 더 긴 가입을 획득하려고 할 수 있다.
전술한 바와 같이, 이미지(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)와 같은 이미지가 수정되었음을 나타낼 수 있다.
일부 예에서, 머신 판독가능 코드(420) 내의 정보는 이미지가 수정되었는지 여부 또는 이미지에 표시된 대상이 수정되었는지 여부를 판정하는 데 사용될 수 있다. 예를 들어, 머신 판독가능 코드(420)는 이미지(402) 내의 선불 카드가 3개월 멤버쉽 카드임을 나타내는 데이터를 포함할 수 있다. 그러나, 제품(416)은 선불 카드가 12개월 멤버쉽임을 나타낸다. 제품 유형의 이러한 불일치는 추가 할인을 얻기 위해 고객에 의해 제품(416)이 수정되었을 수 있음을 나타낸다. 또한, 수정 판정 모듈(208)은 머신 판독가능 코드(420)를 인가된 제품과 비교하여 그 특정 바코드가 인가된 제품으로부터 나온 것인지 여부를 판정할 수 있다. 예를 들어, 수정 판정 모듈(208)은 이미지(402) 내의 제품을 판매한 판매자의 데이터베이스에 질의하여 머신 판독가능 코드(420)가 유효한 제품과 연관되는지 또는 데이터베이스에서 발견되지 않는지를 판정할 수 있다.
다양한 예에서, 이미지(402)의 다양한 부분의 포맷은 이미지(402)의 수정의 표시자일 수 있다. 예를 들어, 이미지(402)의 제품 키(426)는 제품(416)에 적합하지 않은 포맷으로 배열될 수 있다. 일례에서, 12개월 멤버쉽 제품(416)에 대한 제품 키는 4x4 포맷으로 배열될 수 있는 반면, 제품 키(426)는 5x5 포맷으로 배열될 수 있다. 이것은 제품 키(426) 및/또는 제품(416)이 이 키 구조 불일치에 기초하여 이미지(402)에서 수정되었음을 나타낼 수 있다.
다양한 예에서, 데이터 추출 모듈(210)은 이미지(402)로부터 다른 데이터를 추출할 수 있다. 예를 들어, 이미지(402)의 소스 디바이스를 나타내는 소스 데이터는 디바이스 ID, 디바이스의 IP 주소, 디바이스의 지리적 영역 등과 같은 데이터 추출 모듈(210)에 의해 결정될 수 있다. 이 정보는 이미지(402)가 수정되었음을 나타낼 수 있다. 예를 들어, 소스 데이터가 수정된 이미지를 이전에 제출하였던 디바이스와 연관되면, 이는 현재 이미지(402)도 수정되거나 더 상세한 분석을 요구한다는 것을 나타낼 수 있다. 또한, 이미지(402)로부터 추출된 메타데이터는 이미지(402)의 수정을 나타낼 수 있다. 일례에서, 데이터 추출 모듈(210)은 이미지(402)의 메타데이터를 비교하거나, 외부 서비스 또는 프로세스를 호출하여 이미지(402)의 메타데이터를 데이터베이스에 저장된 이미지의 메타데이터와 비교하여 메타데이터 간의 유사성을 식별할 수 있다. 유사성이 존재하거나, 사전결정된 임계치 이상의 유사성이 존재하면, 이는 이미지(402)가 이전에 제출된 이미지로부터 수정되었음을 나타낼 수 있다. 다른 예에서, 이미지(402)의 메타데이터는 지워지거나 벗겨질 수 있으며, 이것도 이미지(402)가 수정되었음을 나타낼 수 있다. 전술한 바와 같이, 이미지(402)의 메타데이터는 이미지(402)에 사용되는 편집 소프트웨어의 증거를 포함할 수 있다. 사용되는 편집 소프트웨어의 증거는 이미지(402)의 수정의 강한 표시자일 수 있다.
일부 예에서, 이미지(402)와 연관된 다양한 날짜는 이미지(402)의 수정을 나타낼 수 있다. 예를 들어, 이미지가 캡처되었던 날짜를 제품을 구입하였던 날짜와 비교할 수 있다. 이미지(402)가 생성되었던 날짜가 고객이 제품을 구입하였다고 주장하는 날짜보다 앞선 경우, 이것은 고객이 제품을 구입하였다고 주장하는 날짜 이전에 제품의 이미지를 생성하기 위해 이미지(402) 내의 선불 카드를 소지하지 않았기 때문에 이미지(402)가 수정되었음을 나타낼 수 있다.
다양한 예에서, 이미지(402)가 수정되었는지 여부 또는 이미지(402)에 표시된 대상이 수정되었는지 여부를 판정하기 위해 수정 판정 모듈(208)에 의해 다른 기술들이 사용될 수 있다. 예를 들어, 에러 레벨 분석(error level analysis: ELA) 기술은 이미지(402)의 부분이 원래의 것이 아닌지 또는 편집되었는지를 판정하는 데 사용될 수 있다. 수정 판정 모듈(208)은 ELA 기술을 사용하여 이미지를 처리하고, 분명히 원래의 이미지와 다른 소스로부터인 영역이 강조 표시되며 그 다음에 이미지(402)가 탬퍼링되었는지 여부를 판정하는 데 사용되는 결과를 출력할 수 있다.
일부 예에서, 호스트 컴퓨팅 디바이스(들)(102) 및/또는 이미지 검증 서비스(104)는 검증을 위해 호스트 컴퓨팅 디바이스(들)(102)에 이미지(402)를 제출한 제출 컴퓨팅 디바이스(즉, 고객 컴퓨팅 디바이스)에 저장된 다른 이미지로부터 데이터(즉, 메타데이터)를 추출하여 이미지(402)가 변경되었는지 여부를 판정할 수 있다. 예를 들어, 호스트 컴퓨팅 디바이스(들)(102) 및/또는 이미지 검증 서비스(104)는 제출 컴퓨팅 디바이스에 저장된 다른 이미지와 연관된 메타데이터를 추출할 수 있다. 이미지 검증 서비스(104)는 제출 컴퓨팅 디바이스에 저장된 다른 이미지와 연관된 메타데이터를 이미지(402)로부터 추출된 메타데이터와 비교하여 상이한 메타데이터 간의 차이를 식별할 수 있다. 제출 디바이스에 저장된 이미지의 메타데이터와 검증을 위해 제출된 이미지(402) 사이에서 검출된 차이는 이미지(402)가 검증되었음을 나타낼 수 있다. 예를 들어, 다수의 컴퓨팅 디바이스는 컴퓨팅 디바이스 상의 상이한 폴더, 위치 또는 파일에 이미지를 저장하거나 분할한다. 컴퓨팅 디바이스에 의해 캡처된 이미지는 "카메라" 위치 또는 폴더에 저장될 수 있는 반면, 컴퓨팅 디바이스로 다운로드된(즉, 캡처되지 않은) 이미지는 "다운로드" 위치 또는 폴더에 저장될 수 있으며, 스크린샷은 "스크린샷" 폴더 또는 위치에 저장될 수 있다. 제출 컴퓨팅 디바이스에 저장된 다른 이미지로부터 획득되거나 추출된 메타데이터는 다른 이미지가 "카메라" 폴더 또는 위치에 저장됨을 나타내지만, 이미지(402)의 메타데이터는 이미지가 "다운로드" 폴더 또는 위치에 저장되었음을 나타내는 경우, 이 차이는 제출 컴퓨팅 디바이스에 의해 캡처되지 않았지만 그 대신 인터넷과 같은 소스로부터 다운로드되었으므로 이미지(402)가 수정되었음을 나타낼 수 있다.
일부 예에서, 고객이 이미지를 제출하기 위해 사용하는 디바이스는 이미지(402)의 수정을 나타낼 수 있다. 예를 들어, 특정 고객이 메타데이터가 제 1 컴퓨팅 디바이스에 의해 캡처 및/또는 제출되었음을 나타내는 이미지를 이전에 제출하였고, 이미지(402)의 메타데이터가 제 2의 상이한 컴퓨팅 디바이스를 사용하여 캡처 및/또는 제출되었음을 나타내는 경우, 이는 이미지가 수정되었음을 나타낼 수 있다. 예를 들어, 제 1 컴퓨팅 디바이스는 모바일폰일 수 있고, 제 2 컴퓨팅 디바이스는 랩톱 컴퓨터일 수 있다. 이는 데스크톱 또는 랩톱 컴퓨터는 이미지(402)를 수정하는 데 필요한 이미지 편집 소프트웨어 기능을 가질 수 있기 때문에 이미지(402)가 수정되었음을 나타낼 수 있는 반면, 모바일폰은 그러한 기능을 갖지 않을 수도 있다. 따라서, 이미지(402)를 제출하는 데 사용된 제 2 컴퓨팅 디바이스와 상이한 제 1 디바이스를 사용하는 고객으로부터 이전에 제출된 이미지는 이미지(402)가 수정되었음을 나타낼 수 있다.
수정 판정 모듈(208)은 이미지(402)가 수정되었는지 여부 또는 이미지에 표시된 대상이 수정되었는지 여부를 판정하기 위해 앞에서 설명된 표시자 중 하나 또는 임의의 조합을 사용할 수 있다. 표시자에는 가중화 모듈(214)에 의해 더 많거나 적은 가중치가 주어져서 이미지(402)의 수정을 나타낼 수 있다. 수정 판정 모듈(208)은 이미지(402)가 수정되었을 가능성을 결정하기 위해 전술한 다양한 표시자를 사용할 수 있다. 수정 가능성이 다양한 임계치 또는 범위에 속하면 "탬퍼링이 검출됨", "탬퍼링이 발생할 가능성이 있음" 또는 "탬퍼링이 검출되지 않음"과 같은 결과가 출력될 수 있다. "선불 카드를 참조하여 기술을 설명하지만, 이미지 내의 다른 유형의 문서가 보증서, 영수증, 지출 보고서 등과 같은 유사한 기술을 사용하여 분석될 수 있다.
예시적인 프로세스
아래 도 5 내지 도 7에 설명된 프로세스는 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있는 일련의 동작을 나타내는 논리적 흐름 그래프의 블록 집합으로서 도시된다. 소프트웨어의 맥락에서, 블록은, 하나 이상의 프로세서에 의해 실행될 때, 열거된 동작을 수행하는 하나 이상의 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 실행가능 명령어를 나타낼 수 있다. 일반적으로, 컴퓨터 실행가능 명령어는 특정 기능을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 동작이 설명되는 순서는 제한으로서 해석되는 것으로 의도되지 않으며, 임의의 개수의 설명된 블록들은 임의의 순서 및/또는 병렬로 결합되어 프로세스를 구현할 수 있다. 후술되는 프로세스는 수정 판정 모듈(208) 및 웹 애플리케이션(들)(308)과 같은 이미지 검증 서비스(200) 및/또는 호스트 컴퓨팅 디바이스(300) 중 하나 이상에 저장된 모듈에 의해 수행될 수 있다.
도 5는 표시자에 기초하여 이미지의 진위를 판정하고 그 이미지가 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스(500)를 도시하는 흐름도이다.
블록(502)에서, 이미지 검증 서비스(200)는 검증할 이미지를 획득(예를 들어, 수신, 액세스 등)할 수 있다.
블록(504)에서, 수정 판정 모듈(208)은 적어도 2개의 동작에 기초하여 이미지의 진위를 판정할 수 있다. 동작은 블록(506-512)의 동작을 포함할 수 있다.
블록(506)에서, 수정 판정 모듈(208)은 이미지를 분석하여 이미지의 제 1 부분에서 이미지의 제 2 부분까지의 픽셀 밀도의 변화를 검출할 수 있다.
블록(508)에서, 수정 판정 모듈(208)은 이미지와 이미지의 썸네일을 비교하여 이미지와 썸네일 사이의 차이를 검출할 수 있다.
블록(510)에서, 수정 판정 모듈(208)은 이미지와 연관된 데이터를 분석하여 이미지에 편집 소프트웨어가 사용되었는지 여부를 판정할 수 있다.
블록(512)에서, 수정 판정 모듈(208)은 이미지와 연관된 데이터를 분석하여 이미지가 캡처되었던 시간 또는 이미지가 캡처되었던 지리적 위치 중 적어도 하나를 결정할 수 있다.
블록(514)에서, 이미지 검증 서비스(200)는 하나 이상의 네트워크 인터페이스(218)를 통해 이미지가 수정되었을 가능성의 표시를 출력할 수 있다. 일부 예에서, 출력은 이미지의 진위를 판정하는 것에 적어도 부분적으로 기초할 수 있다.
도 6은 수정되거나 수정되지 않은 것으로 검증될 이미지를 획득하고, 분석될 이미지를 전송하며, 이미지가 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스(600)를 도시하는 흐름도이다.
블록(602)에서, 호스트 컴퓨팅 디바이스(300)는 검증될 이미지를 획득할 수 있다.
블록(604)에서, 호스트 컴퓨팅 디바이스(300)는 웹 API(310)에 의해 하나 이상의 네트워크 인터페이스(312)를 통해 이미지 검증 서비스에 이미지를 전송하여 멀티-팩터 분석에 기초하여 이미지가 탬퍼링되거나 탬퍼링되지 않은 것으로 검증할 수 있다.
블록(606)에서, 호스트 컴퓨팅 디바이스는 하나 이상의 네트워크 인터페이스(312)를 통해 이미지가 탬퍼링되었을 가능성의 표시를 수신할 수 있다.
블록(608)에서, 호스트 컴퓨팅 디바이스(300)는 웹 애플리케이션(308)의 사용자 인터페이스를 통해, 이미지가 탬퍼링되었을 가능성의 표시를 출력할 수 있다.
도 7은 디지털 이미지를 분석하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 적어도 2개의 동작에 기초하여 결정하고, 디지털 이미지 또는 이미지에 표시된 대상이 원형으로부터 수정되었을 가능성의 표시를 출력하는 예시적인 프로세스(700)를 도시하는 흐름도이다.
블록(702)에서, 이미지 검증 서비스(200)는 검증할 디지털 이미지를 획득(예를 들어, 수신, 액세스 등)할 수 있다.
블록(704)에서, 이미지 검증 서비스(200)의 수정 판정 모듈(208)은 디지털 이미지를 분석하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 결정할 수 있으며, 분석은 적어도 2개의 동작을 포함한다. 동작은 블록(706-712)의 임의의 동작을 포함할 수 있다.
블록(706)에서, 수정 판정 모듈(208)은 디지털 이미지를 분석하여 디지털 이미지의 제 1 부분에서 디지털 이미지의 제 2 부분까지의 픽셀 밀도의 변화를 검출할 수 있다.
블록(708)에서, 수정 판정 모듈(208)은 디지털 이미지를 디지털 이미지의 썸네일과 비교하여 디지털 이미지와 썸네일 사이의 차이를 검출할 수 있다.
블록(710)에서, 수정 판정 모듈(208)은 디지털 이미지의 메타데이터를 분석하여 디지털 이미지에 편집 소프트웨어가 사용되었는지 여부를 판정할 수 있다.
블록(712)에서, 수정 판정 모듈(208)은 디지털 이미지와 저장된 디지털 이미지 사이의 비교를 분석하여 디지털 이미지와 저장된 디지털 이미지 사이의 유사성을 식별할 수 있다.
블록(714)에서, 이미지 검증 서비스(200)는 하나 이상의 네트워크 인터페이스(218)를 통해, 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성의 표시를 출력할 수 있다. 일부 실시 예에서, 이미지 검증 서비스(200)는 디지털 이미지의 분석에 적어도 부분적으로 기초하여 표시를 출력할 수 있다.
예시적인 조항
A. 이미지 검증 시스템으로서, 이 시스템은 하나 이상의 프로세서와, 하나 이상의 프로세서에 통신 가능하게 연결되고, 하나 이상의 모듈을 저장하는 메모리를 포함하되, 하나 이상의 모듈은, 하나 이상의 프로세서에 의해 실행될 때, 이미지 검증 시스템으로 하여금 동작들을 수행하게 하되, 동작들은, 컴퓨팅 디바이스로부터 검증할 이미지를 획득하는 동작과, 이미지를 획득하는 것에 응답하여, 이미지를 분석하여 이미지의 제 1 부분에서 이미지의 제 2 부분까지의 픽셀 밀도의 변화를 검출하는 동작과, 이미지를 이미지의 썸네일과 비교하여 이미지와 썸네일 간의 차이를 검출하는 동작과, 이미지와 연관된 데이터를 분석하여 이미지에 이미지 편집 소프트웨어가 사용되었는지 여부를 판정하는 동작과, 이미지와 연관된 데이터를 분석하여 이미지가 캡처되었던 시간 또는 이미지가 캡처되었던 지리적 위치 중 적어도 하나를 식별하는 동작 중 적어도 2개에 기초하여 이미지의 진위를 판정하는 동작과, 이미지의 진위를 판정하는 것에 적어도 부분적으로 기초하여, 이미지가 수정되었을 가능성의 표시를 출력하는 동작을 포함한다.
B. 단락 A가 설명한 이미지 검증 시스템으로서, 동작들은, 이미지에 광학 문자 인식을 수행하여 이미지에 포함된 텍스트를 식별하는 동작을 더 포함하고, 이미지의 진위를 판정하는 동작은, 이미지의 텍스트에 포함된 머신 판독가능 코드가 특정 제품과 연관되는지를 판정하는 동작과, 이미지의 텍스트에 포함된 제품 키가 제품 키에 적합한 포맷인지를 판정하는 동작과, 이미지의 텍스트에 포함된 제품 키가 하나 이상의 무효 문자를 포함하는지를 판정하는 동작을 포함한다.
C. 단락 A 또는 B가 설명한 이미지 검증 시스템으로서, 이미지는 구매 증명서를 포함하고, 이미지가 수정되었을 가능성의 표시는 이미지가 유효한 구매 증명서라는 표시를 포함한다.
D. 단락 A 내지 C 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 동작들의 각각은 가중 인자와 연관되고, 이미지의 진위를 판정하는 동작은, 적어도 2개의 동작 각각에 각각의 가중 인자를 적용하여 적어도 2개의 가중화 동작을 생성하는 동작과, 적어도 2개의 가중화 동작에 적어도 부분적으로 기초하여 이미지가 수정되었을 가능성을 결정하는 동작을 더 포함한다.
E. 단락 A 내지 D 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 이미지가 수정되었을 가능성의 표시를 출력하는 동작은, 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치보다 낮은지 또는 제 1 가능성 임계치와 제 2 가능성 임계치 사이에 있는지 판정하는 동작과, 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높다고 판정한 것에 응답하여, 이미지의 수정이 검출되었음을 나타내는 표시를 컴퓨팅 디바이스에 출력하는 동작을 포함한다.
F. 단락 A 내지 E 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 이미지가 수정되었을 가능성의 표시를 출력하는 동작은, 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치보다 낮은지 또는 제 1 가능성 임계치와 제 2 가능성 임계치 사이에 있는지 판정하는 동작과, 이미지가 수정되었을 가능성이 제 2 가능성 임계치보다 낮다고 판정한 것에 응답하여, 이미지의 수정이 검출되지 않았음을 나타내는 표시를 컴퓨팅 디바이스에 출력하는 동작을 포함한다.
G. 단락 A 내지 F 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 이미지가 수정되었을 가능성의 표시를 출력하는 동작은, 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치보다 낮은지 또는 제 1 가능성 임계치와 제 2 가능성 임계치 사이에 있는지 판정하는 동작과, 이미지가 수정되었을 가능성이 제 1 가능성 임계치와 제 2 가능성 임계치 사이에 있다고 판정한 것에 응답하여, 이미지의 수정이 발생할 가능성이 있음을 나타내는 표시를 컴퓨팅 디바이스에 출력하는 동작을 포함한다.
H. 단락 G가 설명한 이미지 검증 시스템으로서, 동작들은 추가 정보에 대한 요청을 컴퓨팅 디바이스에 전송하는 동작을 더 포함하며, 추가 정보는, 이미지에 표시된 대상의 추가 이미지 - 추가 이미지는 이미지가 캡처되었던 각도와 다른 각도에서 대상을 캡처함 - , 또는 이미지에 포함된 대상의 비디오 중 적어도 하나를 포함한다.
I. 단락 A 내지 H 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 적어도 2개의 동작은, 이미지의 특징과 저장된 이미지의 특징, 또는 이미지의 메타데이터와 저장된 이미지의 메타데이터 중 적어도 하나를 비교하는 동작을 더 포함한다.
J. 단락 A 내지 I 중 어느 한 단락이 설명한 이미지 검증 시스템으로서, 이미지가 수정되었을 가능성은 이미지에 표시된 대상이 수정되었을 가능성을 포함한다.
K. 컴퓨터로 구현되는 방법으로서, 방법은 컴퓨팅 디바이스를 통해, 검증될 이미지를 획득하는 단계와, 컴퓨팅 디바이스에 의해, 이미지를 이미지 검증 서비스에 전송하여 멀티-팩터 분석에 기초하여 이미지가 탬퍼링되었는지 여부를 판정하는 단계와, 컴퓨팅 디바이스에서 이미지 검증 서비스로부터 이미지가 탬퍼링되었을 가능성의 표시를 수신하는 단계와, 컴퓨팅 디바이스에 의해, 이미지가 탬퍼링되었을 가능성의 표시를 출력하는 단계를 포함한다.
L. 단락 K가 설명한 컴퓨터로 구현되는 방법으로서, 이미지와 연관된 메타데이터 및 이미지 검증 서비스에 의해 수행된 분석을 수신하는 단계와, 이미지, 가능성, 메타데이터 및 분석이 데이터 저장소에 저장되게 하는 단계를 더 포함한다.
M. 단락 K 또는 L이 설명한 컴퓨터로 구현되는 방법으로서, 이미지와 연관된 추가 정보를 식별하는 단계 - 추가 정보는 이미지와 연관된 소비자 컴퓨팅 디바이스의 디바이스 식별자(ID), 소비자 컴퓨팅 디바이스와 연관된 인터넷 프로토콜(IP) 주소, 또는 소비자 컴퓨팅 디바이스와 연관된 지리적 위치 중 적어도 하나를 포함함 - 와, 추가 정보를 이미지 검증 서비스에 전송하는 단계를 더 포함한다.
N. 단락 K 내지 M 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법으로서, 이미지를 이미지 검증 서비스에 전송하는 단계는 이미지를 이미지 검증 서비스와 연관된 애플리케이션 프로그램 인터페이스(API)에 이미지를 제출하는 단계를 포함한다.
O. 단락 K 내지 N 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법으로서, 이미지가 탬퍼링되었을 가능성의 표시는 탬퍼링이 발생할 가능성이 있다는 표시를 포함하고, 컴퓨터로 구현되는 방법은 컴퓨팅 디바이스에 의해 이미지가 탬퍼링되었는지 여부를 판정하기 위해 추가 정보에 대한 요청을 출력하는 단계를 더 포함한다.
P. 컴퓨터로 구현되는 방법으로서, 방법은 컴퓨팅 디바이스를 통해 검증할 디지털 이미지를 획득하는 단계와, 디지털 이미지를 획득하는 것에 응답하여, 상기 디지털 이미지를 분석하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 결정하는 단계 - 분석하는 것은, 디지털 이미지를 분석하여 디지털 이미지의 제 1 부분에서 디지털 이미지의 제 2 부분까지의 픽셀 밀도의 변화를 검출하는 동작과, 디지털 이미지를 디지털 이미지의 썸네일과 비교하여 디지털 이미지와 썸네일 간의 차이를 검출하는 동작과, 디지털 이미지의 메타데이터를 분석하여 디지털 이미지에 편집 소프트웨어가 사용되었는지 여부를 판정하는 동작과, 디지털 이미지와 저장된 디지털 이미지 사이의 비교를 분석하여 디지털 이미지와 저장된 디지털 이미지 사이의 유사성을 식별하는 동작 중 적어도 2개를 포함함 - 와, 디지털 이미지를 분석하는 것에 적어도 부분적으로 기초하여, 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성의 표시를 출력하는 단계를 포함한다.
Q. 단락 P가 설명한 컴퓨터로 구현되는 방법으로서, 동작들은 디지털 이미지에 포함된 머신 판독가능 코드가 특정 제품과 연관되는지를 판정하는 동작, 디지털 이미지에 포함된 제품 키가 제품 키에 적합한 포맷인지를 판정하는 동작, 또는 디지털 이미지에 포함된 제품 키가 제품 키에 대한 무효 문자를 포함하는지를 판정하는 동작 중 적어도 하나를 더 포함한다.
R. 단락 P 또는 Q가 설명한 컴퓨터로 구현되는 방법으로서, 동작들은 디지털 이미지와 연관된 데이터를 분석하여 디지털 이미지의 소스를 식별하는 동작 또는 디지털 이미지와 연관된 데이터를 분석하여 디지털 이미지가 생성되었던 날짜를 식별하는 동작 중 적어도 하나를 더 포함한다.
S. 단락 P 내지 R 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법으로서, 디지털 이미지를 분석하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 결정하는 단계는 적어도 2개의 동작에 가중 인자를 적용하여 적어도 2개의 가중화 동작을 생성하는 단계와, 적어도 2개의 가중화 동작에 적어도 부분적으로 기초하여 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성을 결정하는 단계를 포함한다.
T. 단락 P 내지 S 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법으로서, 디지털 이미지 또는 디지털 이미지에 표시된 대상 중 적어도 하나가 수정되었을 가능성의 표시는 탬퍼링이 검출되었다는 표시, 탬퍼링이 검출되지 않았다는 표시, 또는 탬퍼링이 발생할 가능성이 있다는 표시 중 적어도 하나를 포함한다.
U. 프로세서에 의해 실행될 때, 컴퓨터가 단락 K 내지 T 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법을 수행하도록 구성하는 명령어로 인코딩된 하나 이상의 컴퓨터 판독가능 매체.
V. 하나 이상의 프로세서 및 명령어로 인코딩된 하나 이상의 컴퓨터 판독가능 매체를 포함하는 디바이스로서, 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터가 단락 K 내지 T 중 어느 한 단락이 설명한 컴퓨터로 구현되는 방법을 수행하도록 구성한다.
결론
다양한 실시예가 구조적 특징 및/또는 방법론적 동작에 특정한 언어로 설명되었지만, 첨부된 표현에 정의된 청구대상은 설명된 특정 특징 또는 동작에 한정될 필요는 없다는 것을 이해해야 한다. 오히려, 특정 특징 및 동작은 청구 대상을 구현하는 예시 형태로서 개시된다.

Claims (17)

  1. 이미지 검증 시스템으로서,
    하나 이상의 프로세서와,
    상기 하나 이상의 프로세서에 통신 가능하게 연결되고, 하나 이상의 모듈을 저장하는 메모리를 포함하되,
    상기 하나 이상의 모듈은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 이미지 검증 시스템으로 하여금 동작들을 수행하게 하고,
    상기 동작들은,
    컴퓨팅 디바이스로부터, 검증을 위한 이미지를 획득하는 것과,
    상기 이미지를 획득하는 것에 응답하여,
    상기 이미지를 분석하여 상기 이미지의 제1 부분에서 상기 이미지의 제2 부분까지의 픽셀 밀도의 변화를 검출하는 것과,
    상기 이미지를 상기 이미지의 썸네일과 비교하여 상기 이미지와 상기 썸네일 간의 차이를 검출하는 것과,
    상기 이미지와 연관된 데이터를 분석하여 상기 이미지에 이미지 편집 소프트웨어가 사용되었는지 판정하는 것과,
    상기 이미지와 연관된 데이터를 분석하여 상기 이미지가 캡처되었던 시간 또는 상기 이미지가 캡처되었던 지리적 위치 중 적어도 하나를 식별하는 것
    중 적어도 두 개의 동작에 기초하여 상기 이미지의 진위를 판정하는 것과,
    상기 이미지의 진위를 판정하는 것에 적어도 부분적으로 기초하여, 상기 이미지가 수정되었을 가능성의 표시를 출력하는 것
    을 포함하며,
    상기 동작들은, 상기 이미지에 대한 광학 문자 인식을 수행하여 상기 이미지 내에 포함된 텍스트를 식별하는 것을 더 포함하고,
    상기 이미지의 진위를 판정하는 것은,
    상기 이미지의 상기 텍스트 내에 포함된 머신 판독 가능 코드가 특정 제품과 연관되는지 판정하는 것과,
    상기 이미지의 상기 텍스트 내에 포함된 제품 키가 제품 키에 적합한 포맷인지 판정하는 것과,
    상기 이미지의 상기 텍스트 내에 포함된 상기 제품 키가 하나 이상의 무효 문자(invalid character)를 포함하는지 판정하는 것을 더 포함하는
    이미지 검증 시스템.
  2. 제 1 항에 있어서,
    상기 이미지는 구매 증명서를 포함하고,
    상기 이미지가 수정되었을 가능성의 상기 표시는 상기 이미지가 유효한 구매 증명서라는 표시를 포함하는
    이미지 검증 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 동작들의 각각은 가중 인자와 연관되고,
    상기 이미지의 진위를 판정하는 것은,
    상기 적어도 두 개의 동작의 각각에 제각기의 가중 인자를 적용하여 적어도 두 개의 가중화 동작을 생성하는 것과,
    상기 적어도 두 개의 가중화 동작에 적어도 부분적으로 기초하여 상기 이미지가 수정되었을 가능성을 판정하는 것을 더 포함하는
    이미지 검증 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 가능성의 표시를 출력하는 것은,
    상기 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치 보다 낮은지 또는 상기 제 1 가능성 임계치와 상기 제 2 가능성 임계치 사이에 있는지 판정하는 것과,
    상기 이미지가 수정되었을 가능성이 상기 제 1 가능성 임계치보다 높다고 판정한 것에 응답하여, 상기 이미지의 수정이 검출되었음을 나타내는 표시를 상기 컴퓨팅 디바이스에 출력하는 것을 포함하는
    이미지 검증 시스템.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 가능성의 표시를 출력하는 것은,
    상기 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치 보다 낮은지 또는 상기 제 1 가능성 임계치와 상기 제 2 가능성 임계치 사이에 있는지 판정하는 것과,
    상기 이미지가 수정되었을 가능성이 상기 제 2 가능성 임계치보다 낮다고 판정한 것에 응답하여, 상기 이미지의 수정이 검출되지 않았음을 나타내는 표시를 상기 컴퓨팅 디바이스에 출력하는 것을 포함하는
    이미지 검증 시스템.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 가능성의 표시를 출력하는 것은,
    상기 이미지가 수정되었을 가능성이 제 1 가능성 임계치보다 높은지 또는 제 2 가능성 임계치 보다 낮은지 또는 상기 제 1 가능성 임계치와 상기 제 2 가능성 임계치 사이에 있는지 판정하는 것과,
    상기 이미지가 수정되었을 가능성이 상기 제 1 가능성 임계치와 상기 제 2 가능성 임계치 사이에 있다고 판정한 것에 응답하여, 상기 이미지의 수정 가능성이 있음을 나타내는 표시를 상기 컴퓨팅 디바이스에 출력하는 것을 포함하는
    이미지 검증 시스템.
  7. 제 6 항에 있어서,
    상기 동작들은,
    추가 정보에 대한 요청을 상기 컴퓨팅 디바이스에 전송하는 것을 더 포함하며,
    상기 추가 정보는,
    상기 이미지에 묘사된 대상의 추가 이미지 - 상기 추가 이미지는 상기 이미지가 캡처되었던 각도와 다른 각도에서 상기 대상을 캡처함 - , 또는
    상기 이미지에 포함된 상기 대상의 비디오
    중 적어도 하나를 포함하는
    이미지 검증 시스템.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 2개의 동작은,
    상기 이미지의 특징과 저장된 이미지의 특징, 또는
    상기 이미지의 메타데이터와 상기 저장된 이미지의 메타데이터
    중 적어도 하나를 비교하는 동작을 더 포함하는
    이미지 검증 시스템.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 이미지가 수정되었을 가능성은 상기 이미지에 묘사된 대상이 수정되었을 가능성을 포함하는
    이미지 검증 시스템.
  10. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 디바이스로부터, 검증을 위한 디지털 이미지를 획득하는 것과,
    상기 디지털 이미지를 획득하는 것에 응답하여, 상기 디지털 이미지를 분석하여 상기 디지털 이미지 또는 상기 디지털 이미지 내에 묘사된 대상 중 적어도 하나가 수정되었을 가능성을 판정하는 것 - 상기 분석하는 것은,
    상기 디지털 이미지를 분석하여 상기 디지털 이미지의 제1 부분에서 상기 디지털 이미지의 제2 부분까지의 픽셀 밀도의 변화를 검출하는 것과,
    상기 디지털 이미지를 상기 디지털 이미지의 썸네일과 비교하여 상기 디지털 이미지와 상기 썸네일 간의 차이를 검출하는 것과,
    상기 디지털 이미지의 메타데이터를 분석하여 상기 디지털 이미지에 편집 소프트웨어가 사용되었는지 여부를 판정하는 것과,
    상기 디지털 이미지와 저장된 디지털 이미지 간의 비교를 분석하여 상기 디지털 이미지와 상기 저장된 디지털 이미지 간의 유사성을 식별하는 것
    중 적어도 두 개의 동작을 포함함 - 과
    상기 디지털 이미지를 분석하는 것에 적어도 부분적으로 기초하여, 상기 디지털 이미지 또는 상기 디지털 이미지 내에 묘사된 상기 대상 중 적어도 하나가 수정되었을 가능성의 표시를 출력하는 것을 포함하며,
    상기 동작들은 상기 디지털 이미지에 대한 광학 문자 인식을 수행하여 상기 디지털 이미지 내에 포함된 텍스트를 식별하는 것을 더 포함하고,
    상기 디지털 이미지의 진위를 판정하는 것은,
    상기 디지털 이미지의 상기 텍스트 내에 포함된 머신 판독 가능 코드가 특정 제품과 연관되는지 판정하는 것과,
    상기 디지털 이미지의 상기 텍스트 내에 포함된 제품 키가 제품 키에 적합한 포맷인지 판정하는 것과,
    상기 디지털 이미지의 상기 텍스트 내에 포함된 상기 제품 키가 하나 이상의 무효 문자를 포함하는지 판정하는 것을 더 포함하는
    컴퓨터로 구현되는 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020187037023A 2016-06-22 2017-06-12 이미지 검증의 자동화 기법 KR102351947B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/189,823 US10586238B2 (en) 2016-06-22 2016-06-22 Automation of image validation
US15/189,823 2016-06-22
PCT/US2017/036935 WO2017222846A1 (en) 2016-06-22 2017-06-12 Automation of image validation

Publications (2)

Publication Number Publication Date
KR20190021245A KR20190021245A (ko) 2019-03-05
KR102351947B1 true KR102351947B1 (ko) 2022-01-14

Family

ID=59091640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187037023A KR102351947B1 (ko) 2016-06-22 2017-06-12 이미지 검증의 자동화 기법

Country Status (18)

Country Link
US (1) US10586238B2 (ko)
EP (1) EP3476092B1 (ko)
JP (1) JP7025354B2 (ko)
KR (1) KR102351947B1 (ko)
CN (1) CN109417547B (ko)
AU (1) AU2017280904B2 (ko)
BR (1) BR112018074017A2 (ko)
CA (1) CA3023500A1 (ko)
CL (1) CL2018003612A1 (ko)
CO (1) CO2018013670A2 (ko)
IL (1) IL263637B (ko)
MX (1) MX2018015621A (ko)
NZ (1) NZ747892A (ko)
PH (1) PH12018550190A1 (ko)
RU (1) RU2740702C2 (ko)
SG (1) SG11201810889QA (ko)
WO (1) WO2017222846A1 (ko)
ZA (1) ZA201807407B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385919B1 (en) * 2016-07-12 2022-07-12 Amazon Technologies, Inc. Machine image launch system
US10534971B2 (en) * 2016-10-14 2020-01-14 ID Metrics Group Incorporated Tamper detection for identification documents
CN107944339B (zh) * 2017-10-20 2020-01-21 阿里巴巴集团控股有限公司 一种证件验证、身份验证方法和装置
US11755758B1 (en) * 2017-10-30 2023-09-12 Amazon Technologies, Inc. System and method for evaluating data files
JP7211735B2 (ja) * 2018-08-29 2023-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 寄与度決定方法、寄与度決定装置及びプログラム
US10769263B1 (en) 2019-05-07 2020-09-08 Alibaba Group Holding Limited Certificate verification
US11087543B1 (en) * 2019-06-20 2021-08-10 Snap Inc. Crowd sourced mapping system
US11295494B2 (en) * 2019-06-26 2022-04-05 Adobe Inc. Image modification styles learned from a limited set of modified images
KR102142347B1 (ko) * 2019-10-01 2020-08-07 주식회사 카카오뱅크 신분증 인식 방법 및 이를 제공하는 어플리케이션
CN111754245B (zh) * 2020-06-18 2022-12-09 支付宝(杭州)信息技术有限公司 一种经营场景照认证方法、装置和设备
US11941792B2 (en) * 2021-04-09 2024-03-26 Dell Products L.P. Machine learning-based analysis of computing device images included in requests to service computing devices
WO2024038033A1 (en) * 2022-08-19 2024-02-22 Koninklijke Philips N.V. Imaging device configuration verification
EP4325386A1 (en) * 2022-08-19 2024-02-21 Koninklijke Philips N.V. Imaging device configuration verification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100088123A1 (en) * 2008-10-07 2010-04-08 Mccall Thomas A Method for using electronic metadata to verify insurance claims
US20110176712A1 (en) * 2008-07-25 2011-07-21 Derek Lionel Glendon Hill Image data fraud detection systems
US20150213324A1 (en) * 2012-05-02 2015-07-30 Fourandsix Technologies, Inc. Photo forensics using image signatures

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499294A (en) 1993-11-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital camera with apparatus for authentication of images produced from an image file
JP3022472B2 (ja) * 1998-03-25 2000-03-21 三洋電機株式会社 画像データの改ざん防止装置および改ざん防止方法
US6269446B1 (en) 1998-06-26 2001-07-31 Canon Kabushiki Kaisha Authenticating images from digital cameras
US20020056043A1 (en) 1999-01-18 2002-05-09 Sensar, Inc. Method and apparatus for securely transmitting and authenticating biometric data over a network
JP3804012B2 (ja) * 2002-03-08 2006-08-02 沖電気工業株式会社 文書画像の改ざん判定方法及びシステム、並びにその制御用プログラム
JP4168673B2 (ja) 2002-06-04 2008-10-22 富士ゼロックス株式会社 文書交付システム、認証システム、方法、及びプログラム群
JP2004282677A (ja) 2003-01-21 2004-10-07 Canon Inc 画像処理方法
JP2005286823A (ja) 2004-03-30 2005-10-13 Canon Inc 画像入力装置、通信システム、制御方法、コンピュータプログラム及び記憶媒体
JP2005318464A (ja) 2004-04-30 2005-11-10 Casio Comput Co Ltd 電子機器
US20060157559A1 (en) * 2004-07-07 2006-07-20 Levy Kenneth L Systems and methods for document verification
US7860319B2 (en) 2005-05-11 2010-12-28 Hewlett-Packard Development Company, L.P. Image management
JP4743423B2 (ja) 2006-04-03 2011-08-10 富士ゼロックス株式会社 改ざん検証用文書作成装置、改ざん検証用文書作成プログラム、改ざん検証装置および改ざん検証プログラム
US7903168B2 (en) * 2006-04-06 2011-03-08 Eastman Kodak Company Camera and method with additional evaluation image capture based on scene brightness changes
US7778461B2 (en) 2006-05-05 2010-08-17 New Jersey Institute Of Technology System and/or method for image tamper detection
US8538124B1 (en) 2007-05-10 2013-09-17 United Services Auto Association (USAA) Systems and methods for real-time validation of check image quality
JP5176572B2 (ja) 2008-02-05 2013-04-03 ソニー株式会社 画像処理装置および方法、並びにプログラム
RU2382406C1 (ru) * 2008-10-10 2010-02-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ улучшения карты диспарантности и устройство для реализации способа
JP2010246027A (ja) 2009-04-09 2010-10-28 Canon Inc 画像形成装置、画像形成方法、及びコンピュータプログラム
US8718379B2 (en) 2009-09-15 2014-05-06 Texas Instruments Incorporated Method and apparatus for image capturing tampering detection
US8438484B2 (en) 2009-11-06 2013-05-07 Sony Corporation Video preview module to enhance online video experience
US20120226600A1 (en) * 2009-11-10 2012-09-06 Au10Tix Limited Computerized integrated authentication/document bearer verification system and methods useful in conjunction therewith
US10402898B2 (en) 2011-05-04 2019-09-03 Paypal, Inc. Image-based financial processing
US9824296B2 (en) 2011-11-10 2017-11-21 Canon Kabushiki Kaisha Event detection apparatus and event detection method
JP2013126189A (ja) 2011-12-15 2013-06-24 Fujitsu Ltd 画像処理装置、改竄防止方法及び改竄検知方法
JP5939705B2 (ja) 2012-02-08 2016-06-22 カシオ計算機株式会社 被写体判定装置、被写体判定方法及びプログラム
US9256774B1 (en) * 2012-05-01 2016-02-09 Noble Systems Corporation Using quick response codes to generate an electronic consent database
US9582843B2 (en) 2012-08-20 2017-02-28 Tautachrome, Inc. Authentication and validation of smartphone imagery
WO2014078696A2 (en) 2012-11-16 2014-05-22 The Board Of Trustees Of The University Of Illinois Countering fraud in remote check deposit
WO2014132256A1 (en) 2013-02-27 2014-09-04 Saft Isaac A web-based system and methods thereof for value-added tax reclaim processing
JP6396011B2 (ja) 2013-10-29 2018-09-26 セコム株式会社 画像管理システム
CN103561271B (zh) * 2013-11-19 2016-08-17 福建师范大学 静止摄像头拍摄的运动目标被移除视频空域篡改检测方法
JP6123653B2 (ja) 2013-11-28 2017-05-10 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、プログラム
JP6410450B2 (ja) 2014-03-31 2018-10-24 キヤノン株式会社 オブジェクト識別装置、オブジェクト識別方法及びプログラム
JP6335639B2 (ja) * 2014-05-21 2018-05-30 キヤノン株式会社 画像形成装置及び画像形成方法
CN105321163A (zh) * 2014-07-31 2016-02-10 中国科学院遥感与数字地球研究所 检测全极化sar图像的变化区域的方法和装置
US10678896B2 (en) * 2015-06-30 2020-06-09 Samsung Electronics Co., Ltd. Methods and apparatuses for updating user authentication data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110176712A1 (en) * 2008-07-25 2011-07-21 Derek Lionel Glendon Hill Image data fraud detection systems
US20100088123A1 (en) * 2008-10-07 2010-04-08 Mccall Thomas A Method for using electronic metadata to verify insurance claims
US20150213324A1 (en) * 2012-05-02 2015-07-30 Fourandsix Technologies, Inc. Photo forensics using image signatures

Also Published As

Publication number Publication date
PH12018550190A1 (en) 2019-09-09
IL263637A (en) 2019-01-31
RU2018145499A3 (ko) 2020-06-22
IL263637B (en) 2021-08-31
AU2017280904A1 (en) 2018-11-22
EP3476092A1 (en) 2019-05-01
ZA201807407B (en) 2020-01-29
CL2018003612A1 (es) 2019-03-22
RU2018145499A (ru) 2020-06-22
US10586238B2 (en) 2020-03-10
SG11201810889QA (en) 2019-01-30
CO2018013670A2 (es) 2018-12-28
CN109417547A (zh) 2019-03-01
BR112018074017A2 (pt) 2019-02-26
MX2018015621A (es) 2019-03-06
AU2017280904B2 (en) 2021-07-22
RU2740702C2 (ru) 2021-01-20
EP3476092B1 (en) 2020-12-16
KR20190021245A (ko) 2019-03-05
JP7025354B2 (ja) 2022-02-24
WO2017222846A1 (en) 2017-12-28
NZ747892A (en) 2022-09-30
CA3023500A1 (en) 2017-12-28
JP2019520647A (ja) 2019-07-18
CN109417547B (zh) 2021-08-20
US20170372322A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
KR102351947B1 (ko) 이미지 검증의 자동화 기법
US11430013B2 (en) Configurable relevance service test platform
US10140511B2 (en) Building classification and extraction models based on electronic forms
US9424576B2 (en) Methods and systems of creating a payment record with a cryptographically secure audit trail
US9824270B1 (en) Self-learning receipt optical character recognition engine
US10636100B2 (en) System and method for prediction of value added tax reclaim success
CA3018437C (en) Optical character recognition utilizing hashed templates
CH716698A2 (fr) Hachage d'image perceptuel partiel pour la déconstruction de factures.
CN110930142A (zh) 信息处理方法及装置、非临时性计算机可读存储介质
CN113111734B (zh) 一种水印分类模型训练方法及装置
US20180024984A1 (en) System and method for obtaining reissues of electronic documents lacking required data
WO2020047736A1 (zh) 网站后台图片资源完整性的验证方法和系统
US11956400B2 (en) Systems and methods for measuring document legibility
US20240095702A1 (en) User Content Generation With Receipt-Embedded Encodings
CN116681047A (zh) 函件处理方法、装置、存储介质及计算机设备
KR20230065750A (ko) 딥러닝 기반으로 장소 리뷰 이미지를 분류하는 방법, 시스템, 및 컴퓨터 프로그램
CN113780514A (zh) 图像识别方法、装置、电子设备及存储介质
CN111737509A (zh) 信息处理方法、装置、系统、计算机可读存储介质
CN109584087A (zh) 信息处理方法、装置和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant