KR20190126201A - 이미지 기반의 captcha 과제 - Google Patents

이미지 기반의 captcha 과제 Download PDF

Info

Publication number
KR20190126201A
KR20190126201A KR1020197032377A KR20197032377A KR20190126201A KR 20190126201 A KR20190126201 A KR 20190126201A KR 1020197032377 A KR1020197032377 A KR 1020197032377A KR 20197032377 A KR20197032377 A KR 20197032377A KR 20190126201 A KR20190126201 A KR 20190126201A
Authority
KR
South Korea
Prior art keywords
image
images
user
verification
unknown
Prior art date
Application number
KR1020197032377A
Other languages
English (en)
Other versions
KR102138289B1 (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 구글 엘엘씨
Priority to KR1020207021187A priority Critical patent/KR102504077B1/ko
Publication of KR20190126201A publication Critical patent/KR20190126201A/ko
Application granted granted Critical
Publication of KR102138289B1 publication Critical patent/KR102138289B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

이미지 특성을 결정하는 시스템 및 방법이 제공된다. 특히, 미지의 특성을 갖는 제 1 이미지가 획득될 수 있다. 제 1 이미지는 검증 과제에서 복수의 사용자 디바이스에 제공될 수 있다. 검증 과제는 각 사용자 디바이스의 사용자에게 제시될 하나 이상의 명령을 포함할 수 있다. 명령들은 제 1 이미지에 적어도 부분적으로 기초하여 결정된다. 사용자 응답이 수신될 수 있고, 수신된 응답에 적어도 부분적으로 기초하여 제 1 이미지의 미지의 특성이 결정될 수 있다. 제 1 이미지의 미지 특성을 결정한 후에, 결정된 특성에 적어도 부분적으로 기초하여 하나 이상의 머신 학습 모델을 트레이닝할 수 있다.

Description

이미지 기반의 CAPTCHA 과제{IMAGE BASED CAPTCHA CHALLENGES}
본 발명은 일반적으로 CAPTCHA 과제에 관한 것으로, 특히 이미지 기반 CAPTCHA 과제를 사용하여 이미지 특성을 결정하는 것에 관한 발명이다.
신뢰는 웹-기반 상호작용에서 자산이다. 예를 들어, 사용자는 엔티티가 사용자의 신원 또는 다른 기밀 정보를 확인 및 보호할 수 있는 충분한 매커니즘을 제공하고 있음을 신뢰해야만 하며, 따라서 사용자는 이러한 엔터티와의 상호작용을 편안하게 느낄 수 있을 것이다. 또한, 웹 리소스를 제공하는 엔티티는 악의적인 목적으로 웹 리소스에 대한 액세스를 시도하는 자동화된 공격을 차단할 수 있어야만 한다. 따라서, 사람이 생성한 리소스 요청과 자동화된 시스템이 생성한 요청을 구분할 수 있는 정교한 인증 매커니즘은, 자동화된 공격으로부터 웹 리소스를 보호하고 그리고 리소스 제공자와 사용자 사이의 신뢰 관계를 구축하는데 있어 필수적인 도구이다.
CAPTCHA 시스템("completely automated public Turing test to tell computers and humans apart")은 그러한 인증 매커니즘을 제공할 수 있다. CAPTCHA 시스템의 한 가지 목표는 사람이 자동화된 머신들보다 더 나은 작업을 수행하는 것으로 알려진 상황을 활용하는 것이다. 따라서, 검증 과정의 일부로서, CAPTCHA 시스템은 사람은 해결할 수 있지만 일반적으로는 머신은 해결불가능한 과제를 제공할 수 있다.
본 발명의 실시예들의 양상 및 장점들은 다음의 설명에서 부분적으로 설명될 것이고, 또는 설명으로부터 알 수 있거나 또는 실시예들의 구현을 통해 학습될 수 있다.
본 발명의 예시적인 일 양상은 이미지 특성들을 결정하기 위한 컴퓨터 구현 방법(computer-implemented method)에 관한 것이다. 상기 방법은, 하나 이상의 컴퓨팅 디바이스들에 의해서, 미지(unknown)의 특성을 갖는 하나 이상의 제 1 이미지들을 획득하는 단계를 포함한다. 또한 상기 방법은, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 하나 이상의 제 1 이미지들을 검증 과제(verification challenge)에서 복수의 사용자 디바이스들에게 제공하는 단계를 포함한다. 검증 과제는 각 사용자 디바이스의 사용자에게 제시될 하나 이상의 명령들을 포함한다. 상기 명령들은 상기 하나 이상의 제 1 이미지들에 적어도 일부 기초하여 결정된다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 상기 복수의 사용자 디바이스들의 적어도 하나의 서브 세트로부터 상기 검증 과제에 대한 응답을 수신하는 단계를 포함한다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 수신된 응답에 적어도 일부 기초하여 상기 하나 이상의 제 1 이미지들의 미지의 특성을 결정하는 단계를 포함한다. 상기 방법은 또한, 상기 결정하는 단계에 후에, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 상기 결정된 특성에 적어도 일부 기초하여 하나 이상의 머신 학습 모델들을 트레이닝시키는 단계를 포함한다.
상기 방법은 다음과 같은 옵션적인 피처들을 더 포함할 수 있다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 사용자 컴퓨팅 디바이스로부터 검증 프로세스에 참여하라는 요청을 수신하는 단계를 포함하며, 상기 하나 이상의 제 1 이미지들은 상기 요청을 수신하는 것에 응답하여 획득된다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 알려진 특성들을 갖는 복수의 제 2 이미지들을 획득하는 단계; 및 상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 과제에서 상기 하나 이상의 제 1 이미지들과 함께 상기 복수의 제 2 이미지들의 적어도 서브 세트를 제공하는 단계를 포함한다. 상기 하나 이상의 제 1 이미지들의 미지의 특성은 상기 하나 이상의 머신 학습 모델들에 적어도 일부 기초하여 미지(unknown)인 것으로 결정되고, 상기 하나 이상의 머신 학습 모델들은 입력으로서 하나 이상의 이미지들을 수신하고 그리고 출력으로서 상기 하나 이상의 이미지들의 하나 이상의 특성들을 결정하도록 구성된다. 상기 복수의 제 2 이미지들의 알려진 특성들은 상기 하나 이상의 머신 학습 모델들에 적어도 일부 기초하여 결정될 수 있다. 상기 하나 이상의 이미지들의 하나 이상의 특성들은 상기 하나 이상의 이미지들에 묘사된 하나 이상의 아이템들 또는 객체들에 관련될 수 있다. 상기 하나 이상의 머신 학습 모델들은 또한, 상기 모델의 출력이 정확하다는 확실성의 정도를 나타내는 확실성 확률(certainty probability)을 제공하도록 구성될 수 있다. 상기 하나 이상의 제 1 이미지들의 미지의 특성은 상기 하나 이상의 제 1 이미지들와 관련된 상기 확실성 확률이 확실성 임계값보다 낮은 경우 미지인 것으로 결정될 수 있다. 상기 검증 과제와 관련된 상기 하나 이상의 명령들은, 기준을 충족시키는 상기 제 1 또는 제 2 이미지들 중 하나 이상과 상호작용하도록 상기 사용자에게 촉구할 수 있다. 상기 검증 과제와 관련된 상기 하나 이상의 명령들은, 기준을 충족시키는 상기 하나 이상의 제 1 이미지들의 적어도 일부와 상호작용하도록 상기 사용자에게 촉구할 수 있다. 상기 검증 과제와 관련된 상기 하나 이상의 명령들은 상기 하나 이상의 제 1 이미지들 중 적어도 하나의 이미지의 일부분을 선택하도록 상기 사용자에게 촉구할 수 있다. 상기 검증 과제는, 상기 하나 이상의 제 1 이미지들의 미지의 특성에 적어도 일부 기초하여 결정될 수 있다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 상기 검증 과제에서 제 3 이미지를 제공하는 단계를 더 포함하며, 상기 제 3 이미지는 아이템 또는 객체를 묘사하고, 상기 검증 과제와 관련된 상기 하나 이상의 명령들은 상기 제 3 이미지에 묘사된 상기 아이템 혹은 객체와 동일한 분류에 속하는 아이템 혹은 객체를 묘사하는 상기 하나 이상의 제 1 이미지들 또는 상기 제 2 이미지들의 적어도 서브세트 중 하나 이상을 선택하도록 사용자에게 촉구할 수 있다. 상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 상기 검증 과제에 대한 응답들에 적어도 일부 기초하여 상기 복수의 사용자 디바이스들 각각을 검증할지의 여부를 결정할 수 있다. 상기 하나 이상의 제 1 이미지들의 미지의 특성을 결정하는 단계는, 임계 개수의 사용자 응답들이 상기 하나 이상의 제 1 이미지들의 특성을 나타내는 경우, 상기 하나 이상의 제 1 이미지들의 미지의 특성을 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 추론하는 단계를 포함할 수 있다.
본 개시의 다른 예시적인 양상들은 전술한 방법을 제공하는 본 발명의 예시적인 양상에 따라 이미지 기반 검증 과제를 사용하여 이미지 특성을 결정하기 위한 시스템, 장치, 유형의 비-일시적인 컴퓨터 판독가능한 매체, 사용자 인터페이스, 메모리 디바이스 및 전자 디바이스에 관한 것이다.
상기 양상들은 이미지들을 분류하고 그리고 이미지 특성들을 결정하기 위한 머신 학습 모델을 트레이닝시키는 방법과 관련된 문제점을 해결하고자 한다.
다양한 실시예의 이들 및 다른 특징들, 양상들 및 장점들은 다음의 설명 및 첨부된 청구 범위를 참조하여 더 잘 이해될 것이다. 첨부된 도면은 본 명세서에 통합되어 본 명세서의 일부를 구성하고, 본 개시물의 실시예를 도시하며, 설명과 함께 관련된 원리를 설명하는 역할을 수행한다.
해당 기술분야의 당업자에게 지향된 실시예들에 대한 상세한 설명이 첨부된 도면을 참조하여 본 명세서에 설명된다.
도 1은 본 개시의 예시적인 실시예에 따라 이미지 기반의 CAPTCHA 과제를 사용하여 이미지 특성을 결정하기 위한 예시적인 시스템의 개관을 도시한다.
도 2-4는 본 개시 내용의 예시적인 실시예에 따른 캡차(CAPTCHA) 과제의 일례를 도시한다.
도 5는 본 개시 내용의 예시적인 실시예에 따른 CAPTCHA 과제 결과에 기초하여 이미지 특성을 결정하는 예시적인 방법의 흐름도이다.
도 6은 본 발명의 예시적인 실시예에 따라 사용자를 검증하는 예시적인 방법의 흐름도이다.
도 7은 본 발명의 예시적인 실시예에 따른 예시적인 시스템을 나타낸다.
이제, 실시예들에 대한 세부 내용이 서술될 것이며, 하나 이상의 일례들이 도면들에 예시된다. 각각의 일례는 실시예들을 설명하기 위해 제공되며, 본 발명을 제한하기 위한 것이 아니다. 사실, 본 개시물의 범위 또는 사상을 벗어나지 않고 다양한 변형 및 변경이 실시예에 대해 행해질 수 있음은 당업자에게 명백할 것이다. 예를 들어, 일 실시예의 일부로서 도시되거나 기술된 특징은 또 다른 실시예와 함께 사용될 수 있다. 따라서, 본 개시의 양상들은 그러한 변형 및 변경을 포함하는 것으로 의도된다.
본 발명의 예시적인 양상들은 이미지 기반 검증 과제에 적어도 부분적으로 기초하여 이미지 분류(image classifications)를 결정하는 것에 관한 것이다. 예를 들어, 하나 이상의 미지(unknown: 이하, "미지" 혹은 "알려지지 않은" 이라 함)의 특성을 갖는 이미지가 획득될 수 있으며 그리고 가령, CAPTCHA 과제와 같은 검증 과제의 일부로서 복수의 사용자 디바이스들에게 제공될 수 있다. 특히, 이러한 과제는 특정 방식으로 사용자가 제 1 이미지와 상호작용하도록 촉구하는 하나 이상의 명령을 포함할 수 있다. 과제에 대한 응답은 복수의 사용자 디바이스 각각으로부터 획득될 수 있다. 이후, 제 1 이미지의 하나 이상의 미지의 특성들 중 적어도 하나가, 복수의 사용자 디바이스들로부터의 응답에 적어도 부분적으로 기초하여 판별될 수 있다.
특히, 사용자는 사용자 디바이스를 통해 온라인 서비스 또는 리소스에 액세스를 시도할 수 있다. 본 명세서에서 사용된 바와 같이, 사용자 디바이스는 랩톱 컴퓨터, 데스크톱 컴퓨터, 스마트 폰, 태블릿, 웨어러블 컴퓨팅 디바이스 또는 임의의 다른 적절한 사용자 컴퓨팅 디바이스일 수 있다. 온라인 서비스에 액세스하기 위해 사용자는 먼저 사용자가 인간인지를 확인하도록, 컴퓨터화된 CAPTCHA 시스템과 상호작용하기를 요구받을 수 있으며, 이에 의해서 "봇(bots)"이 온라인 서비스를 손상시키는 것을 방지할 수 있다. 예를 들어, CAPTCHA 시스템은 사용자에게 검증 과제를 제공할 수 있으며, 사용자가 상기 과제를 "통과"하면 온라인 서비스에 액세스할 수 있다. 일부 구현예에서, 검증 과제는, 사용자가 하나 이상의 이미지들과의 상호작용을 통해 상기 과제를 해결하도록 지시하는 명령을 포함하는 이미지 기반의 과제일 수 있다.
예를 들어, 하나 이상의 미지의 특성들을 갖는 하나 이상의 제 1 이미지들이 검증 과제에서 사용자에게 제공될 수 있다. 예를 들어, 미지의 특성은 이미지와 관련된 미결정된 분류(undetermined classification)일 수 있다. 이러한 방식으로, 하나 이상의 미지의 특성들을 갖는 이미지는, 이미지에 묘사된 콘텐츠의 분류가 합리적인 확실성 내에서 결정될 수 없는 이미지일 수 있다. 다른 예로서, 미지의 특성은 이미지 내의 객체 또는 아이템의 위치와 관련될 수 있다. 일부 구현예에서, 이미지의 특성이 알려졌는지 혹은 알려지지 않았는지의 여부는 하나 이상의 머신 학습 모델을 사용하여 결정될 수 있다. 예를 들어, 하나 이상의 머신 학습 모델(예컨대, 이미지 분류, 객체 감지 또는 다른 모델)은 입력으로서 이미지들을 수신하고, 그리고 출력으로서 이미지들에 묘사된 하나 이상의 객체들 또는 항목들을 식별, 카테고리화, 분류 또는 달리 검출하도록 구성될 수 있다. 또한, 상기 모델은 모델의 출력이 정확하다는 확실성의 정도에 대응하는 확실성의 확률(certainty probability)을 결정하도록 구성될 수 있다. 일부 구현예에서, 이미지가 임계값 이하인 관련된 확실성 확률을 갖는다면, 이미지의 특성은 알려지지 않을 수 있다. 예를 들어, 하나 이상의 미지의 특성을 갖는 제 1 이미지는 임계값 미만의 확실성 확률(certainty probability)을 갖는 이미지일 수 있다.
일부 구현예에서, 복수의 제 2 이미지가 또한 획득될 수 있고, 검증 과제에서 사용하기 위해 복수의 제 2 이미지의 적어도 서브 세트가 복수의 사용자 디바이스들에게 제공될 수 있다. 복수의 제 2 이미지는 알려진 특성을 갖는 이미지일 수 있다. 예를 들어, 복수의 제 2 이미지는 임계값보다 높은 확실성 확률을 갖는 이미지일 수 있다. 다른 예로서, 제 2 이미지는 연관된 서술 정보(가령, 메타데이터 또는 이미지의 내용을 기술하는 다른 정보)를 갖는 이미지일 수 있다. 이러한 방식으로, 복수의 제 2 이미지의 적어도 하나의 서브 세트가 제 1 이미지와 함께 검증 과제에 제공될 수 있다.
검증 과제는 이미지 기반 과제일 수 있다. 일부 구현예에서, 검증 과제는 제 1 이미지의 미지의 특성과 관련될 수 있다. 예를 들어, 검증 과제는 사용자가 제 1 이미지의 적어도 일부와 특정 방식으로 상호작용하도록 촉구하는 명령을 포함할 수 있다. 특히, 명령들은 기준을 만족시키는 제 1 이미지의 적어도 일부와 사용자가 상호작용하도록 사용자에게 촉구할 수 있다. 예를 들어, 검증 과제와 관련된 명령들은 사용자로 하여금 특정 객체를 묘사하는 제 1 이미지의 일부분을 찾아내고 그리고 이와 상호작용하게 할 수 있다. 다른 예로서, 검증 과제는 사용자로 하여금 제 1 이미지 또는 제 2 이미지 중 적어도 하나와 상호작용하도록 촉구할 수 있다. 예를 들어, 검증 과제는, 특정 물체 혹은 아이템을 묘사하는 모든 이미지들을 선택하도록 또는 특정 카테고리 혹은 분류와 관련이 있는 모든 이미지들을 선택하도록 사용자에게 촉구할 수 있다. 이러한 방식으로, 검증 과제에 대한 응답들이 미지의 특성을 결정하거나 추론하는데 사용될 수 있도록, 검증 과제가 조정될 수 있다. 또 다른 예로서, 일부 구현예에서, 제 1 및 제 2 이미지와 함께 기준 이미지가 검증 과제에서 사용자에게 제공될 수 있다. 이러한 구현예에서, 검증 과제와 관련된 명령들은, 기준 이미지에 묘사된 객체 또는 아이템과 동일한 카테고리 또는 분류인 객체 또는 아이템을 묘사하고 있는 각각의 이미지를 제 1 및 제 2 이미지 중에서 선택하도록 사용자에게 촉구할 수 있다. 또 다른 일례로서, 검증 과제는, 하나 이상의 이미지들 및 이미지를 서술하는 카테고리들의 목록중에서 하나 이상의 카테고리들을 선택하도록 사용자에게 촉구하는 명령을 포함할 수 있다.
검증 과제는 하나 이상의 온라인 서비스에 대해 액세스를 시도하는 하나 이상의 사용자 디바이스들에 제공될 수 있다. 다음으로, 검증 과제에 대한 응답들이 사용자 디바이스들로부터 수신될 수 있다. 예를 들어, 검증 과제가, 특정 기준을 충족시키는 하나 이상의 이미지를 선택하도록 사용자에게 촉구하는 것인 경우, 사용자로부터의 응답은 사용자가 선택한 이미지들을 나타내는 데이터를 포함할 수 있다. 사용자로부터의 응답은, 온라인 서비스에 대한 액세스가 사용자 디바이스에 허용되어야 하는지 여부를 결정하는데 이용될 수 있다. 예를 들어, 상기 응답이 선택된 과제를 만족스럽게 완료하거나 해결하면, 컴퓨터화된 CAPTCHA 시스템은 사용자 컴퓨팅 디바이스를 검증할 수 있다. 예를 들어, 사용자 디바이스가 인간에 의해 조작됨을, 컴퓨터화된 CAPTCHA 시스템이 충분히 확신한다면(예컨대, 검증된 과제에 대한 응답에 기초하여), 상기 컴퓨터화된 CAPTCHA 시스템은 검증 토큰 또는 인증서를 사용자 컴퓨팅 디바이스에 제공할 수 있다. 그 다음, 사용자 컴퓨팅 디바이스는 검증 토큰을 온라인 서비스와 연관된 리소스 제공자에게 제공할 수 있다. 리소스 제공자는 컴퓨터 CAPTCHA 시스템을 사용하여 검증 토큰의 유효성을 확인할 수 있다. 토큰 유효성이 확인되면, 리소스 제공자는 리소스를 사용자 디바이스에 제공할 수 있다. 일부 구현예에서, 검증 과제에 대한 사용자 응답들은, 사용자 디바이스를 검증할지의 여부를 결정할 때 결정적인 것이 아닐 수도 있다. 예를 들어, 사용자가 검증 과제를 정확하게 해결한 경우에도 사용자가 거부될 수도 있다(예컨대, 검증되지 않을 수도 있다). 다른 일례로서, 사용자가 검증 과제를 정확하게 해결하지 않은 경우에도 사용자가 검증될 수도 있다. 이러한 구현에서, 사용자 및/또는 사용자 컴퓨팅 디바이스와 관련된 하나 이상의 추가 신호들이 사용되어(예컨대, 사용자 응답과 함께 사용되어), 사용자를 검증할지의 여부를 결정할 수 있다. 예를 들어, 검증 과제를 거의 해결한 사용자는 하나 이상의 추가 신호들에 적어도 일부 기초하여 검증될 수 있다.
검증 과제에 대한 응답들은 또한 제 1 이미지(들)의 미지의 특성을 결정하거나 추론하는데 사용될 수 있다. 특히, 임계 개수의 사용자 응답들이 제 1 이미지(들)의 특성을 나타내는 경우, 제 1 이미지(들)의 미지의 특성이 결정 혹은 추론될 수 있다. 예를 들어, 검증 과제를 고려한 제 1 이미지(들)과의 사용자 상호작용은, 이미지(들)에 묘사된 객체 또는 아이템을 나타낼 수 있다. 예를 들어, 이미지 기반 검증 과제가 호랑이가 그려진 모든 이미지들을 선택하라고 사용자에게 촉구하는 명령을 포함하는 경우, 검증 과제에 응답하여 사용자가 제 1 이미지를 선택할지 안할지의 여부는 제 1 이미지가 호랑이를 묘사하는지의 여부를 나타낼 수 있다. 이러한 방식으로, 검증 과제의 수신에 응답하여 충분한 사용자들(예를 들어, 임계값을 초과하는 다수의 사용자)이 제 1 이미지를 선택한다면, 상기 이미지는 호랑이를 묘사하고 있다라고 추론될 수 있다. 만일, 제 1 이미지를 선택한 사용자들의 수가 임계값보다 낮으면 제 1 이미지는 호랑이를 묘사하지 않는다라고 추론될 수 있다. 일부 구현예에서는, 이미지를 선택하는 사용자의 백분율에 적어도 부분적으로 기초하여 추론이 이루어질 수 있다. 다른 일례로서, 검증 과제가 특정 객체를 묘사하는 제 1 이미지의 일부분을 찾아내고 이와 상호작용하도록 사용자에게 촉구하는 지시를 포함하는 구현예에서, 사용자 선택은 제 1 이미지에서 객체의 배치(placement)를 결정하는데 사용될 수 있다.
일부 구현예에서, 검증 과제에 대한 사용자 응답은 알려진 이미지를 확인하는 데 사용될 수 있다. 예를 들어, 검증 과제에 대한 사용자 응답은 알려진 이미지의 알려진 특성이 올바른지를 검증하는데 사용될 수 있다. 이러한 방식으로, 만일, 알려진 이미지와 관련된 충분한 개수의 사용자 응답들이 상기 알려진 특성들이 부정확하다는 것을 나타낸다면, 상기 이미지는 알려진 이미지들의 세트로부터 제거될 수 있다. 다른 예로서, 알려진 특성은 사용자 응답에 적어도 부분적으로 기초하여 조정되거나 개량(refine)될 수 있다.
일단 미지의 특성이 결정되면, 제 1 이미지(들)는 하나 이상의 머신 학습 모델을 트레이닝하는데 사용될 수 있다. 특히, 제 1 이미지(들)을 나타내는 데이터는 모델들을 트레이닝시키는데 사용되는 트레이닝 데이터의 코퍼스(corpus)에 추가될 수 있다. 예를 들어, 머신 학습 모델은 이미지 인식 애플리케이션, 객체 검출 애플리케이션 및/또는 다른 적절한 애플리케이션에 사용될 수 있다. 특히 머신 학습 모델은 일련의 트레이닝 데이터를 사용하여 학습될 수 있다. 이러한 트레이닝 데이터는 알려진 특성을 갖는 하나 이상의 이미지를 나타내는 데이터(예를 들어, 벡터 데이터 또는 다른 데이터)를 포함할 수 있다. 예를 들어, 트레이닝 데이터는 그 내용이 이미 알려진 하나 이상의 이미지를 나타내는 데이터를 포함할 수 있다. 이러한 방식으로, 트레이닝 데이터는 복수의 입/출력 쌍을 포함할 수 있고, 여기서 상기 입력은 이미지를 나타내는 벡터 데이터이고, 상기 출력은 상기 이미지의 콘텐츠(예를 들어, 상기 이미지에 묘사된 하나 이상의 아이템)을 나타내는 데이터이다. 머신 학습 모델은 트레이닝 데이터의 입력/출력 쌍에 적어도 일부 기초하여 트레이닝될 수 있다. 예를 들어, 이미지와 관련된 벡터 데이터는 머신 학습 모델에 입력될 수 있으며, 모델의 출력은 트레이닝 데이터의 출력과 비교될 수 있다. 모델(들)은 상기 비교에 적어도 부분적으로 기초하여 조정되거나 개량될 수 있다.
이제 도면을 참조하여, 본 개시 내용의 예시적인 양상들이 보다 상세히 논의 될 것이다. 예를 들어, 도 1은 이미지 기반 검증 과제를 제공하기 위한 예시적인 시스템(100)의 개관을 도시한다. 시스템(100)은 컴퓨터화된 CAPTCHA 시스템(102), 머신 학습 네트워크(104), 및 리소스 제공자(106)를 포함할 수 있다. 일부 구현예에서, CAPTCHA 시스템(102), 머신 학습 네트워크(104) 및/또는 리소스 제공자(106)는 네트워크를 통해 서로 통신할 수 있다.
CAPTCHA 시스템(102)은 예를 들어 하나 이상의 서버와 같은 하나 이상의 컴퓨팅 디바이스를 사용하여 구현될 수 있다. CAPTCHA 시스템(102)은 검증 CAPTCHA 과제를 결정하고 그리고 사용자 디바이스로부터의 검증 요청에 응답하여 이러한 과제들을 사용자 디바이스에 제공하도록 구성될 수 있다. 일부 구현예들에서, 검증 과제는 이미지 기반 CAPTCHA 과제일 수 있다. 예를 들어, CAPTCHA 과제는 하나 이상의 알려진 및/또는 알려지지 않은 이미지를 사용자에게 제공하는 것을 포함할 수 있다. 이러한 이미지 기반 과제는 하나 이상의 이미지들과 상호작용하여 과제를 해결하도록 사용자에게 촉구하는 관련 명령들을 가질 수 있다. 예를 들어, 전술한 바와 같이, 과제는, 매칭되거나 또는 특정 카테고리 혹은 분류에 속하는 제시된 모든 이미지를 선택하도록 사용자에게 촉구하는 명령들을 포함할 수 있다. 다른 일례로서, 과제는 특정 아이템, 객체, 동물 등을 묘사하는 이미지의 일부분을 선택하거나 또는 이와 상호작용하도록 사용자에게 촉구하는 명령들을 포함할 수 있다.
도시된 바와 같이, CAPTCHA 시스템(102)은 이미지 데이터베이스(108)로부터 이미지 데이터에 액세스할 수 있다. 이미지 데이터베이스(108)는 하나 이상의 검증 과제에 사용될 복수의 이미지를 포함할 수 있다. 예시적인 구현에서, 이미지 데이터베이스(108)는 단일 위치에 위치한 단일 데이터베이스일 수 있거나, 다수의 위치에 걸쳐 분산된 다수의 데이터베이스를 포함할 수 있다. 특히, 이미지 데이터베이스(108)는 알려진 이미지 및 미지의(unknown) 이미지를 포함할 수 있다. 알려진 이미지는 하나 이상의 알려진 특성을 갖는 이미지들을 포함할 수 있다. 예를 들어, 알려진 이미지는 카테고리화되거나 또는 분류된 이미지들일 수 있다. 일부 구현예에서, 하나 이상의 공지된 특성은 메타데이터 또는 이미지와 관련된 다른 서술 정보에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 구현예에서, 하나 이상의 알려진 특성은 머신 학습 네트워크(104)에 적어도 일부 기초하여 결정될 수 있다. 예를 들어, 머신 학습 네트워크(104)는 이미지에 묘사된 하나 이상의 객체들을 분류, 카테고리화, 식별 혹은 달리 검출하는데 이용될 수 있다.
일부 구현예에서, 이미지 데이터베이스(108)는 하나 이상의 미지의 특성을 갖는 하나 이상의 미지의 이미지를 더 포함할 수 있다. 알려진 이미지와 유사하게, 미지의 특성(들)은, 미지의 특성과 관련된 메타데이터 또는 다른 서술 정보의 부족에 적어도 부분적으로 기초하여 미지인 것으로 결정될 수 있다. 다른 예로서, 미지의 특성(들)은 머신 학습 네트워크(104)에 적어도 부분적으로 기초하여 미지인 것으로 결정될 수 있다.
일부 구현예에서, 알려진 및/또는 알려지지 않은 이미지가 검증 과제와 관련하여 결정될 수 있다. 예를 들어, 검증 과제와 관련된 명령들이 사용자로 하여금 호랑이를 묘사하는 각각의 이미지를 선택하도록 촉구하는 실시예에서, 알려진 이미지는, 호랑이를 묘사하는 것으로 이미 알려진 및/또는 호랑이를 묘사하지 않는 것으로 알려진, 이미지 데이터베이스(108)로부터의 하나 이상의 이미지를 포함할 수 있다. 이러한 방식으로, 미지의 이미지(들)은 이미지에 묘사된 콘텐츠가 알려지지 않은 이미지를 포함할 수 있다. 일부 구현예에서, 검증 과제는 미지의 이미지(들)에 묘사된 콘텐츠를 결정하거나 또는 달리 추론하는데 사용될 수 있다.
머신 학습 네트워크(104)는 하나 이상의 신경 네트워크와 같은 하나 이상의 머신 학습 모델을 포함할 수 있다. 예를 들어, 하나 이상의 모델은 이미지를 분류하도록 및/또는 이미지 내에 묘사된 객체를 검출하도록 구성될 수 있다. 이러한 방식으로, 머신 학습 네트워크(104)는 입력으로서 이미지를 수신하고 그리고 출력으로서 이미지 분류를 제공하도록 구성될 수 있다. 일부 구현예에서, 머신 학습 네트워크(104)는 또한 출력에 대한 신뢰 레벨을 특정하는 출력과 관련된 확실성 확률 또는 다른 표시자를 제공하도록 구성될 수 있다. 일부 구현예에서, 머신 학습 네트워크(104)는 이미지 데이터베이스(108)와 통신하여 이미지 데이터베이스(108)와 관련된 하나 이상의 이미지를 분류하도록 구성될 수 있다. 이러한 방식으로, 일부 구현예에서, 미지의 이미지는 임계값 이하의 관련된 확실성 확률을 갖는 이미지가 될 수 있으며, 그리고 알려진 이미지는 임계값 이상의 관련된 확실성 확률을 갖는 이미지가 될 수 있다.
머신 학습 네트워크(104)는 또한 하나 이상의 머신 학습 모델을 트레이닝하도록 구성될 수 있다. 예를 들어, 트레이닝 데이터 세트에 적어도 부분적으로 기초하여 머신 학습 모델을 개량하거나 조정하도록 다양한 적절한 알고리즘들이 이용될 수 있다. 이러한 방식으로, 트레이닝데이터는 머신 학습 모델을 개선하는데 사용될 수 있다. 비록, 머신 학습 네트워크(104)가 CAPTCHA 시스템(102)과 구별되는 별개의 시스템으로 도시되어 있지만, 일부 구현예에서 머신 학습 네트워크(104)는 CAPTCHA 시스템(102) 내에서 구현될 수도 있다.
시스템(100)은 리소스 제공자(106)를 더 포함한다. 리소스 제공자(106)는 온라인 또는 다른 서비스와 연관될 수 있다. 리소스 제공자(106)는 사용자 디바이스로부터 온라인 서비스에 대한 액세스 요구를 수신할 수 있다. 요청에 응답하여, 리소스 제공자(106)는 CAPTCHA 시스템(102)과 협력하여 사용자 디바이스에 검증 과제를 제공할 수 있다. 이러한 방식으로, CAPTCHA 시스템(102)은 검증 과제를 결정하고 검증 과제를 사용자에게 제공할 수 있다. 일부 구현예에서, CAPTCHA 시스템(102)은 미지의 이미지에 적어도 부분적으로 기초하여 검증 과제를 결정할 수 있다. 예를 들어, CAPTCHA 시스템(102)은 검증 과제에 대한 사용자 응답이 미지의 이미지의 분류 또는 분류의 증거로서 사용될 수 있도록, 검증 과제를 조정할 수 있다. 일부 구현예에서, 검증 과제는 상기 요청이 봇(bot)이 아닌 인간에 의해 제공되었다라는 신뢰 레벨에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 검증 과제의 난이도는 상기 신뢰 레벨에 적어도 부분적으로 기초하여 조정될 수 있다.
검증 과제에 대한 사용자 응답은, 미지의 이미지(들)의 미지 특성(들)을 결정하는데 사용될 수 있다. 예를 들어, 사용자 응답은 미지의 이미지의 분류와 관련된 증거로 사용될 수 있다. 예를 들어, 검증 과제가 호랑이를 묘사하는 모든 이미지를 선택하는 명령을 포함하는 구현에서, 사용자가 미지의 이미지를 선택하는지의 여부는 미지의 이미지가 호랑이를 묘사하고 있는지 아닌지를 나타낼 수 있다. 이러한 방식으로, 미지의 이미지들이 하나 이상의 검증 과제들에서 복수의 사용자들에게 제시될 수 있고, 하나 이상의 검증 과제들에 대한 사용자들로부터의 응답들은 이미지의 미지의 특성을 추론하는데 사용될 수 있다. 예를 들어, 만일 호랑이가 포함된 이미지를 선택하라고 사용자에게 지시하는 검증 과제에 응답하여, 충분한 수의 사용자들(예컨대, 충분히 높은 백분율의 사용자들, 및/또는 임계값 이상인 다수의 사용자들)이 미지의 이미지를 선택했다면, 상기 미지의 이미지는 호랑이를 묘사하는 것으로 추론될 수 있다.
일단 미지의 특성이 합당한 확실성으로 추론될 수 있다면, 상기 이미지는 이미지의 분류를 나타내도록 주석이 달려질 수 있다. 이후 상기 이미지는 머신 학습 네트워크(104)의 머신 학습 모델(들)을 트레이닝시키는데 사용되는 트레이닝 데이터 세트에 포함될 수 있다. 이러한 방식으로, 이미지는 모델들의 분류 능력을 향상시키는데 사용될 수 있다. 일부 구현예에서, 주석이 달린 이미지는 CAPTCHA 시스템(102)에 의해 결정되는 미래의 검증 과제에서 또한 사용될 수 있다. 예를 들어, 주석이 달린 이미지는 하나 이상의 검증 과제에서 알려진 이미지로서 후속적으로 사용될 수 있다.
도 2는 본 개시 내용의 예시적인 실시예에 따른 예시적인 이미지 기반 CAPTCHA 과제(110)를 도시한다. 도시된 바와 같이, CAPTCHA 과제(110)는 명령들(112) 및 개를 묘사하는 것으로 알려진 연관된 기준 이미지(114)를 포함한다. 명령들(112)은 사용자가 기준 이미지(114)와 유사하게 보이는 모든 이미지를 선택하도록 촉구한다. CAPTCHA 과제(110)는 알려진(known) 이미지들(116) 및 네가티브 알려진(negative known) 이미지들(118)을 더 포함한다. 알려진 이미지(116)는 개를 묘사하는 것으로 알려진 이미지이며, 네가티브 알려진 이미지(118)는 개를 묘사하지 않는 것으로 알려진 이미지이다. 비록, 각각의 네가티브 알려진 이미지(118)가 고양이를 묘사하고 있지만, 네가티브 알려진 이미지는 하나 이상의 다른 객체, 아이템, 식물, 동물, 인간 등을 묘사할 수 있다. CAPTCHA 과제(110)는 또한 미지의 이미지(120)를 묘사한다. 미지의 이미지(120)는 이미지의 콘텐츠가 알려지지 않은 이미지일 수 있다. 도 2에 도시된 바와 같이, 미지의 이미지(120)는 도마뱀을 묘사한다.
전술한 바와 같이, CAPTCHA 과제(110)를 수신하면, 사용자는 명령을 따를 수 있으며 그리고 사용자의 견해에서 기준 이미지(114)와 "유사하게 보이는" 하나 이상의 이미지를 선택할 수 있다. 사용자의 선택은, 리소스 제공자에 의해 제공되는 리소스 또는 서비스에 대한 액세스가 사용자에게 허용되는지를 결정할 수 있다. 예를 들어, 사용자가 과제를 "통과"하면, 사용자는 리소스 혹은 서비스에 대한 액세스 권한을 부여받을 수 있다. 예를 들어, 사용자가 이미지들의 올바른 조합을 선택하거나 또는 이미지들의 올바른 조합에 가까운 경우, 사용자는 과제를 통과할 수 있다. CAPTCHA 과제(110)에서, 사용자가 알려진 이미지(116) 각각을 선택하고 그리고 네가티브 알려진 이미지(118)를 선택하지 않으면, 사용자는 통과할 것이다. 일부 구현예에서 사용자가 "통과"하지 못한다면, 다른 CAPTCHA 과제가 사용자에게 제시될 수 있다.
미지의 이미지(120)는 개를 묘사하지 않기 때문에, 이러한 검증 과제에 응답하는 대부분의 인간 사용자는 CAPTCHA 과제(110)에 응답하여 미지의 이미지(120)를 선택하지 않을 것이다. 이러한 방식으로, 미지의 이미지(120)는 개를 묘사하지 않는 것으로 추론될 수 있다. 유사하게, 미지의 이미지가 개를 묘사하는 경우, 대다수의 인간 사용자는 CAPTCHA 과제에 응답하여 미지의 이미지를 선택할 것이다. 이러한 방식으로, 미지의 이미지가 개를 묘사하는 것으로 추론될 수 있다.
미지의 이미지(120)가 개를 묘사하지 않는 것으로 추론되는 경우, 이는 후속 검증 과제들에서 이용될 수 있다. 예를 들어, 이것은, 개를 묘사하지 않는 기준 이미지들을 갖는 검증 과제들에서 미지의 이미지로서 이용될 수 있다. 일부 구현예에서, 미지의 이미지(120)는 개들을 묘사하는 기준 이미지들을 갖는 검증 과제들에서 네가티브 알려진 이미지로서 후속적으로 사용될 수 있다.
또한, 도 3 및도 4는 본 발명의 예시적인 실시예에 따른 이미지 기반 CAPTCHA 과제의 추가 일례들을 도시한다. 예를 들어, 도 3은 음료를 묘사하는 기준 이미지(124)를 갖는 CAPTCHA 과제(122)를 도시한다. 명령들은 기준 이미지(124)와 관련된 하나 이상의 적절한 카테고리를 선택하도록 사용자에게 촉구한다. 사용자의 선택에 적어도 부분적으로 기초하여, 하나 이상의 추론들 및/또는 확인들이 기준 이미지(124)와 관련하여 이루어질 수 있다. 도 4는 풍경을 묘사하는 기준 이미지(128)들을 갖는 CAPTCHA 과제(126)를 도시한다. 도시된 바와 같이, 기준 이미지(128)는 복수의 영역들(예컨대, 사각형들)로 분할된다. CAPTCHA 과제(126)는 "사업체 이름을 가진 모든 사각형을 선택하라"고 사용자에게 촉구하는 명령을 포함한다. 이러한 방식으로, 사용자 응답들에 기초하여 기준 이미지(128)에서 사업체 이름들의 위치에 관한 하나 이상의 추론들이 이루어질 수 있다. 예를 들어, 대부분의 인간 사용자는 상기 명령에 응답하여 이미지 사각형(130 및 132)을 선택할 것이다. 이러한 방식으로, 사업체 이름이 이미지 사각형들(130 및 132)에서 기준 이미지(128)의 좌측 하부에 위치됨이 추론될 수 있다.
도 5는 본 발명의 예시적인 실시예에 따른 컴퓨터화된 CAPTCHA 시스템을 사용하여 하나 이상의 이미지 특성을 결정하는 예시적인 방법(200)의 흐름도를 도시한다. 상기 방법(200)은 하나 이상의 같은 컴퓨팅 디바이스들, 가령 도 7에 도시된 하나 이상의 컴퓨팅 디바이스들에 의해 구현될 수 있다. 또한, 도 5는 설명 및 논의를 위해 특정 순서대로 수행되는 단계들을 도시한다. 본원에 제공된 개시물을 이용하는 해당 기술분야의 당업자는, 본 명세서에서 논의된 임의의 방법의 단계들이 본 개시의 범위를 벗어나지 않으면서도 다양한 방식으로 변형, 재배열, 확장, 생략 또는 변경될 수 있음을 이해할 것이다.
단계 (202)에서, 방법(200)은 검증 프로세스에 참여하라는 요청을 수신하는 단계를 포함할 수 있다. 예를 들어, 상기 요청은 온라인 서비스 또는 리소스에 대한 액세스를 획득하려고 하는 사용자에 의해 조작되는 사용자 디바이스에 의해 제공될 수 있다. 단계 (204)에서, 방법(200)은 미지의 특성을 갖는 제 1 이미지를 획득하는 단계를 포함할 수 있다. 일부 구현예에서, 미지의 특성을 갖는 하나 이상의 제 1 이미지가 얻어질 수 있다. 전술한 바와 같이, 미지의 특성은 이미지에 묘사된 콘텐츠와 연관될 수 있다. 예를 들어, 미지의 특성은 이미지 컨텐츠의 카테고리 또는 분류와 연관될 수 있다. 다른 예로서, 미지의 특성은 이미지에 묘사된 객체의 검출과 관련될 수 있다.
일부 구현예에서, 미지의 특성은 하나 이상의 머신 학습 모델에 적어도 부분적으로 기초하여 미지인 것으로 결정될 수 있다. 예를 들어, 머신 학습 모델이 합당한 확실성으로 상기 이미지를 분류할 수 없거나 카테고리화하지 못한다면, 상기 이미지는 미지의 이미지로 식별될 수 있다. 특히, 모델이 상기 이미지에 대한 임계값 이하의 확실성 확률을 제공하는 경우, 이미지는 미지의 특성을 갖는 미지의 이미지로서 식별될 수 있다. 다른 예로서, 특성과 관련된 충분한 메타 데이터 또는 다른 서술적 데이터가 부족한 경우, 미지의 특성은 미지인 것으로 판정될 수 있다.
단계 (206)에서, 방법(200)은 알려진 특성을 갖는 복수의 제 2 이미지를 획득하는 단계를 포함할 수 있다. 제 1 이미지와 유사하게, 제 2 이미지의 알려진 특성은 머신 학습 모델 및/또는 이미지와 관련된 메타데이터에 적어도 부분적으로 기초하여 결정될 수 있다. 일부 구현예에서, 제 2 이미지는 제 1 이미지 및/또는 제 1 이미지의 미지의 특성에 적어도 부분적으로 기초하여 선택될 수 있다.
단계 (208)에서, 방법(200)은 제 1 및 제 2 이미지들에 적어도 부분적으로 기초하여 CAPTCHA 과제를 생성하는 단계를 포함할 수 있다. 예를 들어, CAPTCHA 과제는 제 1 이미지 및/또는 적어도 복수의 제 2 이미지들의 서브 세트와 함께, 상기 이미지(들)과 상호작용하도록 사용자에게 촉구하는 명령들을 포함할 수 있다. 전술한 바와 같이, 일부 구현예에서, 상기 과제는, 제 1 이미지의 미지의 특성에 적어도 일부 기초하여 선택 및/또는 생성될 수 있다.
단계 (210)에서, 방법(200)은 복수의 사용자 디바이스로 CAPTCHA 과제를 송신하는 단계를 포함할 수 있다. 예를 들어, CAPTCHA 과제는 하나 이상의 리소스 제공자들과 관련된 하나 이상의 온라인 서비스 또는 리소스에 대한 액세스를 획득하려고 하는 복수의 사용자 디바이스들에게 전송될 수 있다.
단계 (212)에서, 방법(200)은 복수의 사용자 디바이스들의 적어도 서브세트로부터 CAPTCHA 과제에 대한 하나 이상의 응답들을 수신하는 단계를 포함할 수 있다. 응답들은 CAPTCHA 과제들과의 사용자 상호작용을 나타내는 데이터를 포함할 수 있다. 일부 구현예에서는, 온라인 서비스 또는 리소스에 대하여 사용자들에게 액세스 권한이 부여되는지를 결정하기 위하여 상기 응답들이 이용될 수 있다.
단계 (214)에서, 방법(200)은 사용자 응답에 적어도 부분적으로 기초하여 제 1 이미지의 미지의 특성을 결정하는 단계를 포함할 수 있다. 예를 들어, CAPTCHA 과제에서 제공된 이미지들과 사용자의 선택 및/또는 상호작용은 제 1 이미지와 관련된 하나 이상의 특성들의 증거로 사용될 수 있다. 예를 들어, 제 1 이미지의 하나 이상의 특성을 결정하기 위해, CAPTCHA 과제에서 제공되는 명령들을 사용자 응답들이 분석될 수 있다. 이러한 방식으로, 충분한 수의 사용자 응답들이 제 1 이미지의 특성을 나타내는 경우, 이러한 특성이 추론될 수 있다. 예를 들어, 호랑이를 묘사하는 각각의 이미지를 선택하도록 사용자에게 지시하는 CAPTCHA 과제에 응답하여, 충분한 수의 사용자들이 제 1 이미지를 선택한다면, 제 1 이미지는 호랑이를 묘사하는 것으로 추론될 수 있다.
단계 (216)에서, 방법(200)은 제 1 이미지의 결정된 특성에 적어도 부분적으로 기초하여 하나 이상의 머신 학습 모델을 트레이닝하는 단계를 포함할 수 있다. 예를 들어, 하나 이상의 머신 학습 모델을 트레이닝시키는 것은, 모델을 트레이닝시키는데 사용되는 트레이닝 데이터 세트에, 이미지를 나타내는 데이터 및 결정된 특성을 제공하는 것을 포함할 수 있으며, 따라서 상기 이미지를 나타내는 데이터 및 결정된 특성이 트레이닝 데이터 세트에 부가된다. 이러한 방식으로, 제 1 이미지를 나타내는 데이터는 모델(들)로 입력될 수 있으며 그리고 모델(들)의 출력은 결정된 특성과 비교될 수 있다. 이후, 상기 모델(들)은 상기 비교에 적어도 부분적으로 기초하여 조절되거나 개량될 수 있다.
일부 구현예에서, 제 1 이미지는 후속 검증 과제에서 이용될 수 있다. 예를 들어, 제 1 이미지는 후속 CAPTCHA 후속 과제에서 알려진 이미지로서 이용될 수 있다. 이러한 방식으로, CAPTCHA 과제에서 사용될 수 있는 알려진 이미지들의 세트에 제 1 이미지가 추가될 수 있으며, 그리고 미지의 이미지들의 세트로부터 제거될 수 있다.
도 6은 본 발명의 예시적인 실시예에 따라 사용자 디바이스를 검증하기 위한 예시적인 방법(300)의 흐름도를 도시한다. 방법(300)은 도 7에 도시된 하나 이상의 컴퓨팅 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 의해 구현될 수 있다. 또한, 도 6은는 설명 및 논의를 위해 특정 순서대로 수행되는 단계들을 도시한다. 본원에 제공된 개시물을 이용하는 해당 기술분야의 당업자는, 본 명세서에서 논의된 임의의 방법의 단계들이 본 개시의 범위를 벗어나지 않으면서도 다양한 방식으로 변형, 재배열, 확장, 생략 또는 변경될 수 있음을 이해할 것이다.
단계 (302)에서, 사용자 디바이스는 리소스 제공자로부터의 온라인 서비스에 대한 액세스 또는 리소스를 요청할 수 있다. 단계 (304)에서, 리소스 제공자는 사용자 디바이스로부터 요청을 수신할 수 있다.
단계 (306)에서, 리소스 제공자는 사용자 디바이스가 컴퓨터화된 CAPTCHA 시스템과 직접적으로 검증 프로세스에 참여하도록 지시할 수 있다. 단계 (308)에서, 사용자 디바이스는 컴퓨터화된 CAPTCHA 시스템과 직접 관여하도록 리소스 제공자로부터 명령을 수신할 수 있다. 예를 들어, 리소스 제공자는 사용자 디바이스의 브라우저를 리다이렉트(redirect)함으로써 단계 (306)에서 사용자 디바이스에 명령할 수 있으며, 사용자 디바이스는 컴퓨터화된 CAPTCHA 시스템과 직접 접속하여 검증 프로세스를 시작한다.
다른 일례로서, 단계 (306)에서, 리소스 제공자는 클라이언트-측 스크립트를 사용자 디바이스에 제공할 수 있는바, 클라이언트-측 스크립트는 사용자 디바이스에 의해 실행될 때, 사용자 디바이스가 컴퓨터화된 CAPTCHA 시스템과 직접적으로 관련되게 할 수 있다. 예를 들어, 클라이언트-측 스크립트는 인라인 프레임, 임베디드 오브젝트, 포틀릿 또는 기타 임베디드 어플리케이션 또는 위젯에 포함될 수 있다. 일부 구현예에서, 클라이언트-측 스크립트는 컴퓨터화된 CAPTCHA 시스템으로부터 리소스 제공자에게 제공되는 플러그-인에 포함될 수 있다. 또한, 일부 구현예에서는 단계 (306)에서, 리소스 제공자는 컴퓨터화된 CAPTCHA 시스템에 대해 리소스 제공자를 식별하는 공개 키를 사용자 디바이스에 제공할 수 있다.
단계 (310)에서, 사용자 디바이스는 검증 프로세스에 참여하기 위해 컴퓨터화된 CAPTCHA 시스템에 요청을 직접 전송할 수 있다. 단계 (312)에서, 컴퓨터화된 CAPTCHA 시스템은 사용자 디바이스로부터 요청을 수신할 수 있다.
일례로서, 단계 (310)에서 전송된 요청은 컴퓨터화된 CAPTCHA 시스템과 관련된 어플리케이션 프로그래밍 인터페이스에 따라 포맷될 수 있다. 예를 들어, 상기 요청은 단계 (306)에서 사용자 디바이스에 제공된 클라이언트-측 스크립트를 실행한 결과로서 전송될 수 있다. 또한, 일부 구현예에서, 단계 (310)에서 전송된 요청은 리소스 제공자와 관련된 공개 키를 포함할 수 있다.
단계 (314)에서, 컴퓨터화된 CAPTCHA 시스템은 하나 이상의 미지의 이미지 특성들을 갖는 하나 이상의 제 1 이미지를 얻을 수 있다. 예를 들어, 제 1 이미지는 합리적 확실성 내에서 카테고리화되지 않거나 분류되지 않은 이미지일 수 있다. 다른 일례로서, 제 1 이미지는 아이템, 객체, 식물, 동물, 인간 등의 위치가 합당한 확실성 내에서 결정될 수 없는 이미지일 수 있다. 상술한 바와 같이, 미지의 이미지는 메타데이터 또는 이미지 및/또는 하나 이상의 머신 학습 모델과 관련된 다른 서술 정보에 적어도 부분적으로 기초하여 미지인 것으로 결정될 수 있다.
단계 (316)에서, 컴퓨터화된 CAPTCHA 시스템은 제 1 이미지 및/또는 제 1 이미지(들)의 미지의 특성에 적어도 일부 기초하여 CAPTCHA 과제를 선택할 수 있으며, 선택된 과제를 사용자 디바이스에 제공할 수 있다. 예를 들어, 컴퓨터화된 CAPTCHA 시스템은 다양한 포맷, 난이도, 모양, 크기, 파일 포맷, 프로그래밍 언어 또는 다른 가변 파라미터들을 갖는 CAPTCHA 과제들의 데이터베이스를 포함할 수 있다. 예를 들어, 일부 구현예에서 CAPTCHA 과제는 이미지 기반일 수 있다. 일부 구현예에서, CAPTCHA 과제를 선택하는 것은 알려진 이미지 특성들을 갖는 하나 이상의 제 2 이미지를 획득하는 것을 포함할 수 있다. 전술한 바와 같이, 제 2 이미지는 CAPTCHA 과제들에 관련된 명령들 및/또는 제 1 이미지(들)에 적어도 일부 기초하여 선택될 수 있다.
일례로서, 단계 (314)에서 획득된 제 1 이미지(들)에 묘사된 콘텐츠가 미지인 경우, 상기 이미지의 분류를 결정하도록 CAPTCHA 과제가 선택될 수 있다. 예를 들어, CAPTCHA 과제는 복수의 알려진 이미지들을 포함할 수 있으며, 명령들은 특정한 공통 특성을 공유하는 각각의 이미지를 선택하도록 사용자에게 촉구할 수 있다. 전술한 바와 같이, CAPTCHA 과제는 CAPTCHA 과제에 대한 사용자 응답이 제 1 이미지의 특성을 결정 및/또는 좁히기 위한 증거로 사용될 수 있도록 조정될 수 있다. 다른 예로서, 제 1 이미지의 미지의 특성이 이미지 내의 객체의 미지의 위치와 관련되는 경우, CAPTCHA 과제는 상기 객체를 묘사하고 있는 이미지의 부분(들)과 상호작용(예컨대, 선택하거나, 하이라이트하거나, 주석을 달거나, 또는 다른 상호작용)하도록 사용자에게 촉구할 수 있다.
일부 구현예에서, 단계 (316)에서, 과제 포맷, 과제 타입, 또는 과제의 다른 속성들이 다양한 다른 적절한 인자에 기초하여 선택될 수 있다. 예를 들어, 사용자 디바이스가 예컨대 스마트폰 또는 태블릿과 같은 모바일 디바이스인 경우, 단계 (316)에서, 컴퓨터화된 CAPTCHA 시스템은 모바일 디바이스 용으로 설계된 CAPTCHA 과제를 선택할 수 있다.
단계 (318)에서, 사용자 디바이스는 컴퓨터화된 CAPTCHA 시스템으로부터 CAPTCHA 과제를 수신하고, 이를 사용자에게, 예컨대 사용자 디바이스의 디스플레이 상에 제시할 수 있다. 단계 (320)에서, 사용자 디바이스는 사용자로부터 하나 이상의 응답들을 수신할 수 있고, 상기 응답들을 컴퓨터화된 CAPTCHA 시스템에 전송할 수 있다. 단계 (322)에서, 컴퓨터화된 CAPTCHA 시스템은 사용자 디바이스로부터 응답을 수신할 수 있다.
단계 (324)에서, 컴퓨터화된 CAPTCHA 시스템은 검증 토큰을 생성할 수 있고, 하나 이상의 검증 조건이 충족되면 이를 사용자 디바이스에 제공할 수 있다. 단계 (326)에서, 사용자 디바이스는 컴퓨터화된 CAPTCHA 시스템으로부터 검증 토큰을 수신할 수 있다.
일례로서, 컴퓨터화된 CAPTCHA 시스템은 단계 (322)에서 수신된 응답이 단계 (316)에서 제공된 과제를 정확하게 해결하거나 또는 만족시킨다면, 단계 (324)에서 검증 토큰을 생성하여 이를 사용자 디바이스에 제공할 수 있다. 검증 토큰은 인증 증명서(authentication certificate) 또는 기타 보안 또는 인증 디바이스 또는 매커니즘이 될 수 있다. 예를 들어, 일부 구현예에서, 검증 토큰은 사용자 디바이스 식별자 또는 다른 정보의 해시를 포함할 수 있거나 혹은 리소스 제공자의 공개 키를 통합할 수 있다.
다음을 유의해야 하는바, 일부 구현예들에서, 단계들 (310) 내지(326)이 검증 프로세스로 간주될 수 있다. 또한, 일부 구현예에서, 단계(310) 내지(326)은 인라인 프레임, 임베디드 객체, 포틀릿, 또는 리소스 제공자의 웹 사이트에 포함된 다른 임베디드 위젯 또는 어플리케이션을 통해 발생할 수 있다.
단계 (328)에서, 사용자 디바이스는 검증 토큰을 리소스 제공자에게 제공할 수 있다. 단계 (330)에서, 리소스 제공자는 사용자 디바이스로부터 검증 토큰을 수신할 수 있다.
단계 (332)에서, 리소스 제공자는 검증 토큰을 컴퓨터화된 CAPTCHA 시스템에 전송할 수 있다. 일부 구현예에서는, 단계 (332)에서, 리소스 제공자는 또한 자신의 개인 키와 함께 검증 토큰을 컴퓨터화된 CAPTCHA 시스템에 전송할 수 있다.
단계 (334)에서, 컴퓨터화된 CAPTCHA 시스템은 검증 토큰이 유효하다면 검증 토큰의 확인(validation)을 리소스 제공자에게 제공할 수 있다. 검증 토큰이 유효하지 않거나 변조된 경우, 컴퓨터화된 CAPTCHA 시스템은 검증 토큰이 유효하지 않음을 리소스 제공자에게 통지할 수 있다.
단계 (336)에서, 리소스 제공자는 컴퓨터화된 CAPTCHA 시스템으로부터 검증 토큰의 확인(validation)을 수신할 수 있다. 단계 (336)에서 상기 확인을 수신하는 것에 응답하여, 단계 (338)에서, 리소스 제공자는 리소스에 대한 액세스를 사용자 디바이스에 제공할 수 있다. 단계 (340)에서, 사용자 디바이스는 리소스에 액세스할 수 있다.
또한, 도 7은 본 개시의 예시적인 양상들에 따른 방법들 및 시스템들을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 시스템(400)을 도시한다. 시스템(400)은 네트워크(440)를 통해 하나 이상의 클라이언트 디바이스(430)와 통신하는 서버(410)를 포함하는 클라이언트-서버 아키텍처를 사용하여 구현될 수 있다. 시스템(400)은 단일 컴퓨팅 디바이스와 같은 다른 적절한 아키텍처를 사용하여 구현될 수 있다.
시스템(400)은 웹 서버와 같은 서버(410)를 포함한다. 서버(410)는 온라인 서비스 또는 리소스에 대한 액세스를 허가 또는 거부하도록 구성된 컴퓨터화된 CAPTCHA 시스템을 호스팅할 수 있다. 서버(410)는 임의의 적절한 컴퓨팅 디바이스(들)을 사용하여 구현될 수 있다. 서버(410)는 하나 이상의 프로세서(412) 및 하나 이상의 메모리 디바이스(414)를 가질 수 있다. 서버(410)는 또한 네트워크(440)를 통해 하나 이상의 클라이언트 디바이스(430)와 통신하는데 사용되는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 하나 이상의 네트워크들과 인터페이싱하기 위한 임의의 적절한 컴포넌트들을 포함할 수 있는바, 예를 들면, 송신기, 수신기, 포트, 제어기, 안테나 또는 다른 적절한 컴포넌트를 포함할 수 있다.
하나 이상의 프로세서(412)는 마이크로프로세서, 마이크로컨트롤러, 집적 회로, 로직 디바이스 또는 다른 적절한 프로세싱 디바이스와 같은 임의의 적절한 프로세싱 디바이스를 포함할 수 있다. 하나 이상의 메모리 디바이스(414)는 비일시적인 컴퓨터 판독가능 매체, RAM, ROM, 하드 드라이브, 플래시 드라이브, 또는 다른 메모리 디바이스를 포함하지만 이에 제한되지 않는 하나 이상의 컴퓨터 판독가능 매체를 포함할 수 있다. 하나 이상의 메모리 디바이스들(414)은 하나 이상의 프로세서들(412)에 의해 액세스가능한 정보를 저장할 수 있는바, 하나 이상의 프로세서들(412)에 의해 실행될 수 있는 컴퓨터 판독가능 명령들(416)을 포함한다. 명령들(416)은 하나 이상의 프로세서(412)들에 의해 실행될 때 하나 이상의 프로세서(412)로 하여금 동작을 수행하게 하는 명령들의 임의의 세트일 수 있다. 예를 들어, 명령들(416)은 하나 이상의 프로세서들(412)에 의해 실행되어, 과제 생성기(420), 사용자 유효성 검사기(user validator)(422) 및 이미지 분류기(424)를 구현할 수 있다. 예를 들어, 과제 생성기(420)는 하나 이상의 미지의 이미지들 및/또는 하나 이상의 알려진 이미지들을 획득하고, 그리고 상기 이미지들에 적어도 부분적으로 기초하여 CAPTCHA 과제를 생성하도록 구성될 수 있다. 사용자 유효성 검사기(422)는 CAPTCHA 과제에 대한 사용자 응답을 수신하고 상기 응답에 적어도 부분적으로 기초하여 사용자에 대한 액세스를 허용할지의 여부를 결정하도록 구성될 수 있다. 이미지 분류기(424)는 사용자 응답에 적어도 부분적으로 기초하여 미지의 이미지들의 하나 이상의 특성들을 결정하고, 그리고 상기 이미지들 및 결정된 특성들을 머신 학습 네트워크(450)에 제공하도록 구성될 수 있다. 
도 7에 도시된 바와 같이, 하나 이상의 메모리 디바이스(414)는 또한 하나 이상의 프로세서(412)에 의해 검색, 조작, 생성 또는 저장될 수있는 데이터(418)를 저장할 수 있다. 예를 들어, 데이터(418)는 이미지 데이터, 과제 데이터 및 기타 데이터를 포함할 수 있다. 데이터(418)는 하나 이상의 데이터베이스에 저장될 수 있다. 하나 이상의 데이터베이스는 고 대역폭 LAN 또는 WAN에 의해 서버(410)에 접속될 수 있거나 네트워크(440)를 통해 서버(410)에 접속될 수 있다. 하나 이상의 데이터베이스는 복수의 위치에 위치되도록 분할될 수 있다.
서버(410)는 네트워크(440)를 통해 하나 이상의 클라이언트 디바이스(430)와 데이터를 교환할 수 있다. 비록, 도 7에는 하나의 클라이언트 디바이스(430)가 예시되어 있으나, 임의 개수의 클라이언트 디바이스(430)가 네트워크(440)를 통해 서버(410)에 연결될 수 있다. 각각의 클라이언트 디바이스들(430)은 임의의 적절한 유형의 컴퓨팅 디바이스일 수 있는바, 예컨대 범용 컴퓨터, 전용 컴퓨터, 랩탑, 데스크탑, 모바일 디바이스, 네비게이션 시스템, 스마트 폰, 태블릿, 웨어러블 컴퓨팅 디바이스, 하나 이상의 프로세서를 갖는 디스플레이, 또는 다른 적절한 컴퓨팅 디바이스일 수 있다.
서버(410)와 유사하게, 클라이언트 디바이스(430)는 하나 이상의 프로세서(432) 및 메모리(434)를 포함할 수 있다. 하나 이상의 프로세서(432)는 하나 이상의 중앙 프로세싱 유닛(CPU), 이미지를 효율적으로 렌더링하거나 다른 특수한 계산을 수행하기 위한 그래픽 프로세싱 유닛(GPU), 및/또는 다른 프로세싱 디바이스를 포함할 수 있다. 메모리(434)는 하나 이상의 컴퓨터 판독가능 매체를 포함할 수 있고, 하나 이상의 프로세서들(432)에 의해 액세스 가능한 정보를 저장할 수 있는바, 하나 이상의 프로세서(432) 및 데이터(438)에 의해 실행될 수있는 명령들(436)을 포함한다. 예를 들어, 메모리(434)는 본 개시의 예시적인 양태에 따라 CAPTCHA 과제를 디스플레이하기 위한 사용자 인터페이스 모듈을 구현하기 위한 명령들(436)을 저장할 수 있다.
도 7의 클라이언트 디바이스(430)는 터치 스크린, 터치 패드, 데이터 입력 키, 스피커 및/또는 음성 인식에 적합한 마이크로폰 등과 같은, 사용자와 정보를 주고 받을 수 있는 다양한 입력/출력 디바이스를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(430)는 본 개시의 예시적인 양태에 따라 의미있는 지명(semantic place names)을 디스플레이하는 사용자 인터페이스를 제공하기 위한 디스플레이 디바이스(435)를 가질 수 있다.
클라이언트 디바이스(430)는 또한 네트워크(440)를 통해 하나 이상의 원격 컴퓨팅 디바이스들(예를 들어, 서버 410)과 통신하는데 사용되는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 하나 이상의 네트워크들과 인터페이싱하기 위한 임의의 적절한 컴포넌트들, 예컨대, 송신기, 수신기, 포트, 제어기, 안테나 또는 다른 적절한 컴포넌트를 포함할 수 있다.
네트워크(440)는 근거리 통신망(예: 인트라넷), 광역 통신망(예: 인터넷), 셀룰러 네트워크 또는 이들의 조합과 같은 임의 유형의 통신 네트워크일 수 있다. 네트워크(440)는 또한 클라이언트 디바이스(430)와 서버(410) 간의 직접 연결을 포함할 수 있다. 일반적으로, 서버(410)와 클라이언트 디바이스(430) 사이의 통신은 임의의 유형의 유선 및/또는 무선 연결을 이용하고, 다양한 통신 프로토콜들(예컨대, TCP/IP, HTTP, SMTP, FTP), 인코딩들 또는 포맷들(예컨대, HTML, XML), 및/또는 보안 체계들(예컨대, VPN, 보안 HTTP, SSL)을 이용하여, 네트워크 인터페이스를 통해 수행된다.
서버(410)는 또한 머신 학습 네트워크(450)와 같은 하나 이상의 머신 학습 네트워크와 데이터를 교환할 수 있다. 서버(410) 및 클라이언트 디바이스(430)와 유사하게, 머신 학습 네트워크는 하나 이상의 프로세서(들)(452)과 메모리(454)를 포함할 수 있다. 하나 이상의 프로세서(들)(452)는 하나 이상의 중앙 프로세싱 유닛(CPU) 및/또는 다른 프로세싱 디바이스를 포함할 수 있다. 메모리(454)는 하나 이상의 컴퓨터 판독가능 매체를 포함할 수 있고 그리고 하나 이상의 프로세서들(452)에 의해 액세스가능한 정보를 저장할 수 있는바, 하나 이상의 프로세서(452) 및 데이터(458)에 의해 실행될 수 있는 명령들(456)을 포함한다. 예를 들어, 메모리(454)는 하나 이상의 머신 학습 모델을 트레이닝시키도록 구성된 모델 트레이너를 구현하기 위한 명령들(456)을 저장할 수 있다. 데이터(458)는 하나 이상의 모델들 및 트레이닝 데이터를 포함할 수 있다. 머신 학습 네트워크(450)는 또한 네트워크(440)를 통해 하나 이상의 원격 컴퓨팅 장치들(예를 들어, 서버 410)과 통신하는데 사용되는 네트워크 인터페이스를 포함할 수 있다.
본 명세서에 서술된 기술은 서버, 데이터베이스, 소프트웨어 어플리케이션, 및 다른 컴퓨터-기반 시스템 뿐만 아니라 취해진 동작들 및 이러한 시스템으로/로부터 전송되는 정보를 참조한다. 해당 기술분야의 당업자는 컴퓨터 기반 시스템에 내지된 유연성으로 인하여 컴포넌트들 사이에서 작업 및 기능의 가능한 구성, 조합 및 분할이 매우 다양하게 허용될 수 있다는 점을 능히 이해할 것이다. 예를 들어, 본 명세서에 설명된 서버 프로세스들은 단일 서버 또는 조합되어 동작하는 다수의 서버들을 사용하여 구현될 수 있다. 데이터베이스와 어플리케이션들은 단일 시스템에 구현되거나 여러 시스템들에 분산될 수 있다. 분산된 컴포넌트들은 순차적으로 또는 병렬로 동작할 수 있다.
비록, 본 발명의 주제가 특정한 실시예들과 관련하여 상세하게 설명되었지만, 해당 기술분야의 당업자가 전술된 내용을 이해하게 되면, 이러한 실시예들의 대체물들, 변형예들, 및 균등물이 용이하게 만들어질 수 있다는 것을 능히 이해할 것이다. 따라서, 본 개시 내용의 범위는 제한을 위한 것이라기 보다는 예시하기 위한 것이며, 당업자에게 자명한 바와 같이, 본 개시 내용는 본 발명의 주제에 대한 그러한 수정예, 변형예 및/또는 부가예들의 포함을 배제하지 않는다.

Claims (20)

  1. 리소스에 대한 액세스를 제공하는 컴퓨터 구현 방법(computer-implemented method)으로서,
    하나 이상의 컴퓨팅 디바이스들에 의해서, 미지(unknown)의 특성을 갖는 하나 이상의 제 1 이미지들 및 알려진 특성을 갖는 하나 이상의 제 2 이미지들을 획득하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 하나 이상의 제 1 이미지들 및 상기 하나 이상의 제 2 이미지들을 검증 과제(verification challenge)에서 사용자 디바이스에게 제공하는 단계, 상기 검증 과제는 상기 사용자 디바이스의 사용자에게 제시될 하나 이상의 명령들을 포함하며, 상기 명령들은 상기 하나 이상의 제 1 이미지들의 상기 미지의 특성 및 상기 하나 이상의 제 2 이미지들의 상기 알려진 특성에 적어도 일부 기초하여 결정되고;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 과제에 대한 응답을 상기 사용자 디바이스로부터 수신하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 수신된 응답에 적어도 일부 기초하여 상기 하나 이상의 제 1 이미지들의 미지의 특성을 결정하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 하나 이상의 제 1 이미지들의 미지의 특성을 결정함에 응답하여, 검증 토큰(verification token)을 상기 사용자 디바이스에게 제공하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 토큰을 상기 사용자 디바이스에게 제공함에 응답하여, 리소스 제공자로부터 상기 검증 토큰을 수신하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 리소스 제공자로부터의 상기 검증 토큰을 확인하는 단계(validating); 및
    상기 리소스 제공자에 의해서 제어되는 리소스에 대한 액세스를 상기 사용자 디바이스에게 제공하도록, 상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 확인(validation)을 나타내는 데이터를 상기 리소스 제공자에게 제공하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 사용자 컴퓨팅 디바이스로부터 검증 프로세스에 참여하라는 요청을 수신하는 단계를 더 포함하며, 상기 하나 이상의 제 1 이미지들은 상기 요청을 수신하는 것에 응답하여 획득되는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 알려진 특성들을 갖는 복수의 제 2 이미지들을 획득하는 단계; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 과제에서 상기 하나 이상의 제 1 이미지들과 함께 상기 복수의 제 2 이미지들의 적어도 서브 세트를 제공하는 단계
    를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 제 1 이미지들의 미지의 특성은 하나 이상의 머신 학습 모델들에 적어도 일부 기초하여 미지(unknown)인 것으로 결정되고, 상기 하나 이상의 머신 학습 모델들은 입력으로서 하나 이상의 이미지들을 수신하고 그리고 출력으로서 상기 하나 이상의 이미지들의 하나 이상의 특성들을 결정하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 하나 이상의 이미지들의 하나 이상의 특성들은 상기 하나 이상의 이미지들에 묘사된 하나 이상의 아이템들 또는 객체들에 관련되는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제4항에 있어서,
    상기 하나 이상의 머신 학습 모델들은 또한, 상기 모델의 출력이 정확하다는 확실성의 정도를 나타내는 확실성 확률(certainty probability)을 제공하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 하나 이상의 제 1 이미지들의 미지의 특성은 상기 하나 이상의 제 1 이미지들과 관련된 상기 확실성 확률이 확실성 임계값보다 낮은 경우 미지인 것으로 결정되는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 제4항에 있어서,
    상기 복수의 제 2 이미지들의 알려진 특성들은 상기 하나 이상의 머신 학습 모델들에 적어도 일부 기초하여 결정되는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 제3항에 있어서,
    상기 검증 과제와 관련된 상기 하나 이상의 명령들은, 기준을 충족시키는 상기 하나 이상의 제 1 또는 제 2 이미지들과 상호작용하도록 상기 사용자에게 촉구하는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 제1항에 있어서,
    상기 검증 과제와 관련된 상기 하나 이상의 명령들은, 기준을 충족시키는 상기 하나 이상의 제 1 이미지들 중 적어도 일부와 상호작용하도록 상기 사용자에게 촉구하는 것을 특징으로 하는 컴퓨터 구현 방법.
  11. 제10항에 있어서,
    상기 검증 과제와 관련된 상기 하나 이상의 명령들은 상기 하나 이상의 제 1 이미지들 중 적어도 하나의 이미지의 일부분을 선택하도록 상기 사용자에게 촉구하는 것을 특징으로 하는 컴퓨터 구현 방법.
  12. 제1항에 있어서,
    상기 검증 과제는, 상기 하나 이상의 제 1 이미지들의 미지의 특성에 적어도 일부 기초하여 결정되는 것을 특징으로 하는 컴퓨터 구현 방법.
  13. 제3항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 과제에서 제 3 이미지를 제공하는 단계를 더 포함하며, 상기 제 3 이미지는 아이템 또는 객체를 묘사하고, 상기 검증 과제와 관련된 상기 하나 이상의 명령들은 상기 제 3 이미지에 묘사된 상기 아이템 혹은 객체와 동일한 분류에 속하는 아이템 혹은 객체를 묘사하는 상기 하나 이상의 제 1 이미지들 또는 상기 제 2 이미지들의 적어도 서브세트 중 하나 이상을 선택하도록 사용자에게 촉구하는 것을 특징으로 하는 컴퓨터 구현 방법.
  14. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 검증 과제에 대한 응답들에 적어도 일부 기초하여 복수의 사용자 디바이스들을 검증할지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  15. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해서, 상기 하나 이상의 제 1 이미지들의 미지의 특성을 결정하는 단계는,
    임계 개수의 사용자 응답들이 상기 하나 이상의 제 1 이미지들의 특성을 나타내는 경우, 상기 하나 이상의 제 1 이미지들의 미지의 특성을 상기 하나 이상의 컴퓨팅 디바이스들에 의해서 추론하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  16. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서들; 및
    하나 이상의 메모리 디바이스들을 포함하며,
    상기 하나 이상의 메모리 디바이스들은 컴퓨터 판독가능한 명령들을 저장하고, 상기 컴퓨터 판독가능한 명령들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    미지(unknown)의 특성을 갖는 제 1 이미지 및 알려진 특성을 갖는 제 2 이미지를 획득하는 동작;
    상기 제 1 이미지 및 상기 제 2 이미지를 검증 과제에서 사용자 디바이스에게 제공하는 동작, 상기 검증 과제는 상기 제 1 이미지의 상기 미지의 특성 및 상기 제 2 이미지의 상기 알려진 특성에 적어도 일부 기초하여 상기 사용자 디바이스의 사용자에게 하나 이상의 명령들을 제공하며;
    상기 검증 과제에 대한 응답을 상기 사용자 디바이스로부터 수신하는 동작;
    상기 수신된 응답에 적어도 일부 기초하여 상기 제 1 이미지의 미지의 특성을 결정하는 동작;
    상기 제 1 이미지의 미지의 특성을 결정함에 응답하여, 검증 토큰을 상기 사용자 디바이스에게 제공하는 동작;
    상기 검증 토큰을 상기 사용자 디바이스에게 제공함에 응답하여, 리소스 제공자로부터 상기 검증 토큰을 수신하는 동작;
    상기 리소스 제공자로부터 수신된 상기 검증 토큰을 확인하는 동작; 및
    상기 리소스 제공자에 의해서 제어되는 리소스에 대한 액세스를 상기 사용자 디바이스에게 제공하도록, 상기 확인을 나타내는 데이터를 상기 리소스 제공자에게 제공하는 동작
    을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  17. 제16항에 있어서,
    알려진 특성들을 갖는 복수의 제 2 이미지들을 획득하는 동작; 및
    상기 검증 과제에서 상기 제 1 이미지와 함께 상기 복수의 제 2 이미지들의 적어도 서브 세트를 제공하는 동작
    을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  18. 제17항에 있어서,
    상기 제 1 이미지의 미지의 특성을 결정하는 동작은,
    임계 개수의 사용자 응답들이 상기 제 1 이미지의 특성을 나타내는 경우, 상기 제 1 이미지의 미지의 특성을 추론하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  19. 컴퓨터 판독가능 명령들을 저장하는 하나 이상의 유형의(tangible), 비일시적인 컴퓨터 판독가능 매체로서, 상기 컴퓨터 판독가능한 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    미지(unknown)의 특성을 갖는 제 1 이미지 및 알려진 특성을 갖는 제 2 이미지를 획득하는 동작;
    상기 제 1 이미지 및 상기 제 2 이미지를 검증 과제에서 사용자 디바이스에게 제공하는 동작, 상기 검증 과제는 상기 제 1 이미지에 적어도 일부 기초하여 상기 사용자 디바이스의 사용자에게 하나 이상의 명령들을 제공하며;
    상기 검증 과제에 대한 응답을 상기 사용자 디바이스로부터 수신하는 동작;
    상기 수신된 응답에 적어도 일부 기초하여 상기 제 1 이미지의 미지의 특성을 결정하는 동작;
    상기 제 1 이미지의 미지의 특성을 결정함에 응답하여, 검증 토큰을 상기 사용자 디바이스에게 제공하는 동작;
    상기 검증 토큰을 상기 사용자 디바이스에게 제공함에 응답하여, 리소스 제공자로부터 상기 검증 토큰을 수신하는 동작;
    상기 리소스 제공자로부터 수신된 상기 검증 토큰을 확인하는 동작; 및
    상기 리소스 제공자에 의해서 제어되는 리소스에 대한 액세스를 상기 사용자 디바이스에게 제공하도록, 상기 확인을 나타내는 데이터를 상기 리소스 제공자에게 제공하는 동작
    을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 제 1 이미지의 미지의 특성을 결정하는 동작은,
    임계 개수의 사용자 응답들이 상기 제 1 이미지의 특성을 나타내는 경우, 상기 제 1 이미지의 미지의 특성을 추론하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
KR1020197032377A 2015-12-03 2016-12-01 이미지 기반의 captcha 과제 KR102138289B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207021187A KR102504077B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/958,073 US9760700B2 (en) 2015-12-03 2015-12-03 Image based CAPTCHA challenges
US14/958,073 2015-12-03
PCT/US2016/064390 WO2017096022A1 (en) 2015-12-03 2016-12-01 Image based captcha challenges

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007259A Division KR102043938B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207021187A Division KR102504077B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제

Publications (2)

Publication Number Publication Date
KR20190126201A true KR20190126201A (ko) 2019-11-08
KR102138289B1 KR102138289B1 (ko) 2020-07-27

Family

ID=57589210

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020197032377A KR102138289B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제
KR1020207021187A KR102504077B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제
KR1020187007259A KR102043938B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020207021187A KR102504077B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제
KR1020187007259A KR102043938B1 (ko) 2015-12-03 2016-12-01 이미지 기반의 captcha 과제

Country Status (7)

Country Link
US (2) US9760700B2 (ko)
JP (2) JP6633188B2 (ko)
KR (3) KR102138289B1 (ko)
CN (2) CN114297608A (ko)
DE (1) DE112016005555T5 (ko)
GB (2) GB2558441B (ko)
WO (1) WO2017096022A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220091557A (ko) * 2020-06-25 2022-06-30 구글 엘엘씨 비정상적인 사용자 인터페이스 입력 겸출

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057367B2 (en) * 2016-03-02 2018-08-21 Huawei Technologies Canada Co., Ltd. Systems and methods for data caching in a communications network
US20180089702A1 (en) * 2016-09-27 2018-03-29 William Arthur Golden Systems and methods for collecting political and consumer information
US20180189471A1 (en) * 2016-12-30 2018-07-05 Facebook, Inc. Visual CAPTCHA Based On Image Segmentation
JP6695502B2 (ja) * 2017-05-31 2020-05-20 Eizo株式会社 手術器具検出システムおよびコンピュータプログラム
EP3432182B1 (en) * 2017-07-17 2020-04-15 Tata Consultancy Services Limited Systems and methods for secure, accessible and usable captcha
KR102037419B1 (ko) * 2017-09-05 2019-10-28 삼성전자주식회사 영상 표시 장치 및 그 동작 방법
US10592654B2 (en) 2017-09-21 2020-03-17 International Business Machines Corporation Access control to computer resource
US10671896B2 (en) * 2017-12-04 2020-06-02 International Business Machines Corporation Systems and user interfaces for enhancement of data utilized in machine-learning based medical image review
US11709925B1 (en) * 2018-09-27 2023-07-25 Amazon Technologies, Inc. Visual token passwords
US11755749B2 (en) * 2018-11-08 2023-09-12 Royal Bank Of Canada System and method for reverse-Turing bot detection
KR102189307B1 (ko) * 2018-12-31 2020-12-09 오지큐 주식회사 집단 지성 기반의 상호 검증을 이용한 인공지능 기반 객체인식 신뢰도 향상 방법
CN109995761B (zh) * 2019-03-06 2021-10-19 百度在线网络技术(北京)有限公司 服务处理方法、装置、电子设备及存储介质
CN111368866A (zh) * 2019-03-13 2020-07-03 杭州海康威视系统技术有限公司 图片分类方法、装置及系统
US10860705B1 (en) 2019-05-16 2020-12-08 Capital One Services, Llc Augmented reality generated human challenge
CN112242982A (zh) * 2019-07-19 2021-01-19 腾讯科技(深圳)有限公司 基于图像的验证方法、设备、装置和计算机可读存储介质
US20220179938A1 (en) * 2019-07-24 2022-06-09 Hewlett-Packard Development Company, L.P. Edge models
CN110399712B (zh) * 2019-07-31 2022-03-22 杭州网易智企科技有限公司 基于验证码的交互验证方法、装置、介质和计算设备
RU2019128018A (ru) * 2019-09-05 2021-03-05 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для определения ответа для цифровой задачи, выполняемой в компьютерной краудсорсинговой среде
US11586724B1 (en) * 2019-10-10 2023-02-21 Authidote LLC System and methods for authenticating content
US11204987B2 (en) * 2019-11-07 2021-12-21 Nxp B.V. Method for generating a test for distinguishing humans from computers
US11444945B1 (en) * 2021-03-22 2022-09-13 Arkose Labs Holdings, Inc. Computer challenge system for presenting images to users corresponding to correct or incorrect real-world properties to limit access of computer resources to intended human users
CN117561508A (zh) * 2021-06-15 2024-02-13 微软技术许可有限责任公司 可验证凭证的跨会话颁发
KR102375579B1 (ko) * 2021-11-16 2022-03-17 주식회사 테스트웍스 사용자 디바이스 기반의 신경망 학습 데이터 가공 방법, 시스템 및 컴퓨터 프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165264A1 (en) * 2005-01-26 2006-07-27 Hirofumi Saitoh Method and apparatus for acquiring images, and verification method and verification apparatus
KR20070003759A (ko) * 2003-10-09 2007-01-05 유니버시티오브요크 이미지 인식
KR20080068467A (ko) * 2007-01-19 2008-07-23 삼성전자주식회사 디지털 객체의 무결성 검증 방법 및 이를 이용한 무결성검증 시스템
KR20140075756A (ko) * 2011-09-28 2014-06-19 구글 인코포레이티드 얼굴 인식을 기초하여 컴퓨팅 장치에 대한 로그인

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555353B2 (en) * 2007-01-23 2013-10-08 Carnegie Mellon University Methods and apparatuses for controlling access to computer systems and for annotating media files
US8132255B2 (en) 2008-06-16 2012-03-06 Intel Corporation Generating a challenge response image including a recognizable image
US8752141B2 (en) 2008-06-27 2014-06-10 John Nicholas Methods for presenting and determining the efficacy of progressive pictorial and motion-based CAPTCHAs
US8621578B1 (en) * 2008-12-10 2013-12-31 Confident Technologies, Inc. Methods and systems for protecting website forms from automated access
US8925057B1 (en) * 2009-02-06 2014-12-30 New Jersey Institute Of Technology Automated tests to distinguish computers from humans
US8739276B2 (en) * 2010-06-22 2014-05-27 Microsoft Corporation Automatic construction of human interaction proof engines
US8528054B2 (en) * 2010-08-31 2013-09-03 Yahoo! Inc. Multi-step challenge-response test
TWI460606B (zh) 2011-07-15 2014-11-11 Ind Tech Res Inst 應用圖形稽碼機制之認證方法與系統
US8875239B2 (en) * 2011-08-10 2014-10-28 International Business Machines Corporation Cognitive pattern recognition for security access in a flow of tasks
US8793761B2 (en) * 2011-08-10 2014-07-29 International Business Machines Corporation Cognitive pattern recognition for computer-based security access
KR101363668B1 (ko) * 2012-05-29 2014-02-24 고려대학교 산학협력단 캡차를 이용한 사용자 인증 장치 및 방법
US8904493B1 (en) * 2012-08-29 2014-12-02 Google Inc. Image-based challenge-response testing
GB2507315A (en) * 2012-10-25 2014-04-30 Christopher Douglas Blair Authentication of messages using dynamic tokens
US9390378B2 (en) 2013-03-28 2016-07-12 Wal-Mart Stores, Inc. System and method for high accuracy product classification with limited supervision
US20150128236A1 (en) * 2013-11-04 2015-05-07 Google Inc. Systems and Methods for Verifying a User Based on Reputational Information
CA3186147A1 (en) * 2014-08-28 2016-02-28 Kevin Alan Tussy Facial recognition authentication system including path parameters
US9734320B2 (en) * 2015-02-13 2017-08-15 Facebook, Inc. Systems and methods for providing image-based security measures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070003759A (ko) * 2003-10-09 2007-01-05 유니버시티오브요크 이미지 인식
US20060165264A1 (en) * 2005-01-26 2006-07-27 Hirofumi Saitoh Method and apparatus for acquiring images, and verification method and verification apparatus
KR20080068467A (ko) * 2007-01-19 2008-07-23 삼성전자주식회사 디지털 객체의 무결성 검증 방법 및 이를 이용한 무결성검증 시스템
KR20140075756A (ko) * 2011-09-28 2014-06-19 구글 인코포레이티드 얼굴 인식을 기초하여 컴퓨팅 장치에 대한 로그인

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220091557A (ko) * 2020-06-25 2022-06-30 구글 엘엘씨 비정상적인 사용자 인터페이스 입력 겸출

Also Published As

Publication number Publication date
GB2602565A (en) 2022-07-06
US9760700B2 (en) 2017-09-12
DE112016005555T5 (de) 2018-08-30
JP2020030868A (ja) 2020-02-27
KR20180041699A (ko) 2018-04-24
JP6847187B2 (ja) 2021-03-24
JP2018532188A (ja) 2018-11-01
US20170161477A1 (en) 2017-06-08
GB202202147D0 (en) 2022-04-06
KR102504077B1 (ko) 2023-02-27
CN108351932B (zh) 2021-12-07
KR20200090963A (ko) 2020-07-29
JP6633188B2 (ja) 2020-01-22
US20170372048A1 (en) 2017-12-28
GB2602565B (en) 2022-10-12
CN108351932A (zh) 2018-07-31
KR102043938B1 (ko) 2019-11-12
GB2558441A (en) 2018-07-11
GB2558441B (en) 2022-06-08
WO2017096022A1 (en) 2017-06-08
CN114297608A (zh) 2022-04-08
KR102138289B1 (ko) 2020-07-27
GB201804026D0 (en) 2018-04-25
US10042992B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
KR102043938B1 (ko) 이미지 기반의 captcha 과제
KR102069759B1 (ko) 캡차(captcha) 챌린지의 동적 업데이트
JP6530786B2 (ja) Webページの悪意のある要素を検出するシステム及び方法
US20190347425A1 (en) Method and apparatus for identity authentication
US8832257B2 (en) System, method and computer readable medium for determining an event generator type
US10313322B2 (en) Distinguishing human-generated input from programmatically-generated input
US10979430B1 (en) Service-initiated user authentication via delegated methods
US10015171B1 (en) Authentication using metadata from posts made to social networking websites
US20170180384A1 (en) Controlling access to online resources using device validations
JP2018041442A (ja) Webページの異常要素を検出するためのシステム及び方法
KR102470639B1 (ko) 신뢰되는 코드 증명 토큰으로 데이터 무결성 향상
CN108027857B (zh) 浏览器认证挑战和响应系统
CN112291188B (zh) 注册验证方法及系统、注册验证服务器、云服务器
CN116451799A (zh) 对抗样本训练方法、装置、设备、存储介质及计算机程序

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant