KR102750290B1 - Device and method to authorize user based on video data - Google Patents
Device and method to authorize user based on video data Download PDFInfo
- Publication number
- KR102750290B1 KR102750290B1 KR1020220038181A KR20220038181A KR102750290B1 KR 102750290 B1 KR102750290 B1 KR 102750290B1 KR 1020220038181 A KR1020220038181 A KR 1020220038181A KR 20220038181 A KR20220038181 A KR 20220038181A KR 102750290 B1 KR102750290 B1 KR 102750290B1
- Authority
- KR
- South Korea
- Prior art keywords
- target object
- user
- authentication
- movement
- image
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Collating Specific Patterns (AREA)
Abstract
카메라에 의해 촬영된 영상에 기반하여 사용자를 인증하는 방법은, 영상에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하는 단계; 소정의 커맨드들 중 하나를 출력 인터페이스 장치를 통해 출력하는 단계; 타겟 오브젝트의 움직임을 감지하는 단계; 및 타겟 오브젝트의 감지된 움직임이 커맨드들 중 하나에 부합하는지 여부에 따라 사용자를 인증하기 위한 인증 신호를 생성하는 단계를 포함한다.A method for authenticating a user based on an image captured by a camera includes the steps of: detecting a target object corresponding to at least a part of a body of the user in the image; outputting one of predetermined commands through an output interface device; detecting movement of the target object; and generating an authentication signal for authenticating the user based on whether the detected movement of the target object corresponds to one of the commands.
Description
본 발명은 영상 데이터를 처리하기 위한 장치 및 방법에 관한 것으로, 좀 더 구체적으로는 영상 데이터에 기반하여 사용자를 인증하는 장치 및 방법에 관한 것이다.The present invention relates to a device and method for processing image data, and more specifically, to a device and method for authenticating a user based on image data.
사용자 인증 시스템에서 컴퓨터 장치는 사용자로부터 제공되는 인증 데이터에 기반하여 컴퓨터 장치에 대한 액세스, 컴퓨터 장치의 동작들의 수행 등을 허용할지 결정할 수 있다. 인증 데이터는 다양한 방식들로 제공될 수 있으며, 예를 들면 사용자에 의해 입력되는 패스워드, 생체 정보(biometric information) 등을 포함할 수 있다. 생체 정보는 지문(fingerprint), 홍채(iris), 및 얼굴에 대한 정보를 포함할 수 있다.In a user authentication system, a computer device can determine whether to allow access to the computer device, performance of operations on the computer device, etc., based on authentication data provided by a user. Authentication data can be provided in various ways, and can include, for example, a password entered by a user, biometric information, etc. Biometric information can include information about a fingerprint, an iris, and a face.
컴퓨터 장치가 대체로 이미지 혹은 영상을 촬영할 수 있는 카메라를 포함함에 따라, 사용자의 얼굴을 촬영하여 수행되는 얼굴 인증 방식이 다른 인증 방식들 대비 경제적 이점을 가질 수 있다.As computer devices generally include cameras capable of capturing images or videos, facial authentication methods that are performed by capturing a user's face may have economic advantages over other authentication methods.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.The above-described content is only intended to help understand the background technology for the technical ideas of the present invention, and therefore cannot be understood as content corresponding to prior art known to those skilled in the art in the technical field of the present invention.
사용자의 얼굴을 촬영하여 수행되는 얼굴 인증 방식에서는 악의적으로 오 인증을 유발하는 스푸핑 공격이 존재할 수 있으며, 이에 따라 얼굴 인증 방식에서는 이를 방지할 수 있는 수단이 요구된다.In facial authentication methods that are performed by taking a picture of the user's face, there may be spoofing attacks that maliciously cause false authentication, and therefore, a means to prevent this is required in facial authentication methods.
본 발명의 실시 예들에 따른 영상 데이터에 기반하여 사용자를 인증하는 장치 및 방법은 향상된 보안 수준으로 사용자를 인증할 수 있다. 예를 들면, 사용자 인증 장치 및 방법은 의도치 않은 물체가 촬영되게 하여 사용자 인증을 패스하려는 스푸핑 공격을 효과적 및 효율적으로 검출할 수 있다.The device and method for authenticating a user based on image data according to embodiments of the present invention can authenticate a user with an improved level of security. For example, the device and method for authenticating a user can effectively and efficiently detect a spoofing attack that attempts to pass user authentication by causing an unintended object to be photographed.
본 발명의 실시 예에 따른 카메라에 의해 촬영된 영상에 기반하여 사용자를 인증하는 방법은, 상기 영상에서 상기 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하는 단계; 소정의 커맨드들 중 하나를 출력 인터페이스 장치를 통해 출력하는 단계; 상기 타겟 오브젝트의 움직임을 감지하는 단계; 및 상기 타겟 오브젝트의 상기 감지된 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 사용자를 인증하기 위한 인증 신호를 생성하는 단계를 포함한다.A method for authenticating a user based on an image captured by a camera according to an embodiment of the present invention comprises the steps of: detecting a target object corresponding to at least a part of a body of the user in the image; outputting one of predetermined commands through an output interface device; detecting a movement of the target object; and generating an authentication signal for authenticating the user based on whether the detected movement of the target object corresponds to one of the commands.
상기 방법은 상기 인증 신호에 응답하여 데이터 서버로의 액세스를 허용 또는 차단하는 단계를 더 포함할 수 있다.The method may further include a step of allowing or blocking access to the data server in response to the authentication signal.
상기 타겟 오브젝트를 감지하는 단계는, 상기 영상에서 상기 타겟 오브젝트가 정해진 영역에 위치할 것을 요청하는 메시지를 상기 출력 인터페이스 장치를 통해 출력하는 단계; 및 상기 영상 내 상기 정해진 영역에서 상기 타겟 오브젝트를 감지하는 단계를 포함할 수 있다.The step of detecting the target object may include the step of outputting a message requesting that the target object be located in a defined area in the image through the output interface device; and the step of detecting the target object in the defined area in the image.
상기 방법은 상기 영상에 기반하여 라이브니스 검사를 수행하는 단계; 및 상기 라이브니스 검사의 결과에 따라 상기 사용자에 대한 인증을 차단하기 위한 인증 차단 신호를 생성하는 단계를 더 포함할 수 있다.The method may further include a step of performing a liveness check based on the image; and a step of generating an authentication blocking signal for blocking authentication of the user based on a result of the liveness check.
상기 방법은 상기 인증 차단 신호에 응답하여 데이터 서버로의 액세스를 차단하는 단계를 더 포함할 수 있다.The method may further include the step of blocking access to the data server in response to the authentication blocking signal.
상기 인증 신호를 생성하는 단계는 다수의 움직임들을 학습한 인공지능 모델을 이용하여 상기 타겟 오브젝트의 상기 감지된 움직임을 분석하는 단계를 포함할 수 있다.The step of generating the above authentication signal may include a step of analyzing the detected movement of the target object using an artificial intelligence model that has learned a plurality of movements.
본 발명의 다른 일면은 컴퓨터 장치에 관한 것이다. 상기 컴퓨터 장치는 카메라; 출력 인터페이스 장치; 및 상기 카메라 및 상기 출력 인터페이스 장치에 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 카메라에 의해 촬영된 영상에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하고; 소정의 커맨드들 중 하나를 상기 출력 인터페이스 장치를 통해 출력하고; 상기 타겟 오브젝트의 움직임을 감지하고; 상기 타겟 오브젝트의 상기 감지된 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 사용자를 인증하기 위한 인증 신호를 생성하도록 구성된다.Another aspect of the present invention relates to a computer device. The computer device includes a camera; an output interface device; and a processor connected to the camera and the output interface device, wherein the processor is configured to detect a target object corresponding to at least a part of a user's body in an image captured by the camera; output one of predetermined commands through the output interface device; detect a movement of the target object; and generate an authentication signal for authenticating the user based on whether the detected movement of the target object corresponds to one of the commands.
본 발명의 또 다른 일면은 컴퓨터 프로그램을 저장하는, 컴퓨터 장치에 의해 판독 가능한 저장 매체에 관한 것이다. 상기 컴퓨터 장치는 카메라, 출력 인터페이스 장치, 및 상기 카메라와 상기 출력 인터페이스 장치에 연결되는 프로세서를 포함하고, 상기 저장 매체는 상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때, 상기 카메라에 의해 촬영된 영상에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하고; 소정의 커맨드들 중 하나를 상기 출력 인터페이스 장치를 통해 출력하고; 상기 타겟 오브젝트의 움직임을 감지하고; 상기 타겟 오브젝트의 상기 감지된 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 사용자를 인증하기 위한 인증 신호를 생성하는 명령어들을 포함한다.Another aspect of the present invention relates to a storage medium readable by a computer device storing a computer program. The computer device includes a camera, an output interface device, and a processor connected to the camera and the output interface device, and the storage medium includes instructions for: when the computer program is executed by the processor, detecting a target object corresponding to at least a part of a user's body in an image captured by the camera; outputting one of predetermined commands through the output interface device; detecting a movement of the target object; and generating an authentication signal for authenticating the user depending on whether the detected movement of the target object corresponds to one of the commands.
상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때, 상기 인증 신호에 응답하여 데이터 서버로의 액세스를 허용 또는 차단하는 명령어들을 더 포함할 수 있다.The computer program may further include instructions that, when executed by the processor, allow or block access to the data server in response to the authentication signal.
상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때, 상기 영상에 기반하여 라이브니스 검사를 수행하고; 상기 라이브니스 검사의 결과에 따라 상기 사용자에 대한 인증을 차단하기 위한 인증 차단 신호를 생성하는 명령어들을 더 포함할 수 있다.The computer program may further include instructions for performing a liveness check based on the image when executed by the processor; and generating an authentication blocking signal for blocking authentication of the user based on a result of the liveness check.
본 발명의 실시 예들에 따르면, 향상된 보안 수준으로 영상 데이터에 기반하여 사용자를 인증할 수 있는 장치 및 방법이 제공된다.According to embodiments of the present invention, a device and method for authenticating a user based on image data with an improved level of security are provided.
도 1은 클라이언트 단말기와 그 앞에 위치한 사용자를 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.
도 3은 도 2의 사용자 인증기의 실시 예를 보여주는 블록도이다.
도 4는 도 3의 사용자 오브젝트 감지부에 의해 디스플레이 장치에 표시되는 그래픽 인터페이스의 일 예를 보여주는 도면이다.
도 5는 도 3의 커맨드 출력부에 의해 디스플레이 장치에 표시되는 그래픽 인터페이스의 일 예를 보여주는 도면이다.
도 6는 도 3의 커맨드 기반 인증부의 실시 예를 보여주는 블록도이다.
도 7은 도 2의 사용자 인증기의 다른 실시 예를 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른 카메라에 의해 촬영된 영상으로부터 사용자를 인증하는 방법을 보여주는 순서도이다.
도 9는 도 6의 S110단계의 실시 예를 보여주는 순서도이다.
도 10은 카메라에 의해 촬영된 영상으로부터 사용자를 인증하는 방법의 다른 실시 예를 보여주는 순서도이다.
도 11은 도 2의 클라이언트 단말기를 구현하기에 적합한 컴퓨터 장치의 실시 예를 보여주는 블록도이다.
도 12는 도 11의 클라이언트 제어 모듈 혹은 그것의 설치 파일을 제공하는 클라이언트 서버의 실시 예를 보여주는 블록도이다.Figure 1 is a diagram showing a client terminal and a user positioned in front of it.
FIG. 2 is a block diagram showing a network system according to an embodiment of the present invention.
FIG. 3 is a block diagram showing an embodiment of the user authenticator of FIG. 2.
FIG. 4 is a drawing showing an example of a graphical interface displayed on a display device by the user object detection unit of FIG. 3.
FIG. 5 is a drawing showing an example of a graphical interface displayed on a display device by the command output unit of FIG. 3.
FIG. 6 is a block diagram showing an example of the command-based authentication unit of FIG. 3.
FIG. 7 is a block diagram showing another embodiment of the user authenticator of FIG. 2.
FIG. 8 is a flowchart showing a method for authenticating a user from an image captured by a camera according to an embodiment of the present invention.
Figure 9 is a flowchart showing an example of step S110 of Figure 6.
FIG. 10 is a flowchart showing another embodiment of a method for authenticating a user from an image captured by a camera.
FIG. 11 is a block diagram showing an embodiment of a computer device suitable for implementing the client terminal of FIG. 2.
FIG. 12 is a block diagram showing an embodiment of a client control module of FIG. 11 or a client server providing its installation file.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. In the following description, only the parts necessary for understanding the operation according to the present invention will be described, and it should be noted that the description of other parts will be omitted so as not to obscure the gist of the present invention. In addition, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the embodiments described herein are provided in order to explain the technical idea of the present invention in detail to a degree that a person having ordinary knowledge in the technical field to which the present invention belongs can easily practice it.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 여기에서 사용된 용어는 특정한 실시예들을 설명하기 위한 것이며 본 발명을 한정하기 위한 것이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 해석될 수 있다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes both the "directly connected" case and the "indirectly connected" case with another element in between. The terminology used herein is for the purpose of describing particular embodiments and is not intended to limit the present invention. Throughout the specification, when a part is said to "comprise" a certain element, this does not exclude other elements unless specifically stated to the contrary, but rather means that other elements can be included. "At least one of X, Y, and Z," and "at least one selected from the group consisting of X, Y, and Z" can be interpreted as one X, one Y, one Z, or any combination of two or more of X, Y, and Z (e.g., XYZ, XYY, YZ, ZZ). Herein, "and/or" includes any combination of one or more of the said elements.
도 1은 클라이언트 단말기와 그 앞에 위치한 사용자를 보여주는 도면이다.Figure 1 is a diagram showing a client terminal and a user positioned in front of it.
도 1을 참조하면, 클라이언트 단말기(20)는 사용자 인증을 통해 클라이언트 단말기(20) 혹은 그것과 연결된 데이터 서버를 이용하고자 하는 사용자(10)를 인증할 수 있다. 예를 들면, 클라이언트 단말기(20)는 카메라(CMR)를 이용하여 사용자(10)의 얼굴 영상을 획득하고, 획득된 얼굴 영상을 분석하여 클라이언트 단말기(20)의 임의의 동작을 허용할지 여부를 결정할 수 있다. 실시 예들에서, 영상에서 얼굴에 대응하는 오브젝트가 검출되고, 검출된 오브젝트로부터 특징값들이 추출되고, 출된 특징값들은 유효(valid) 사용자에 대한 등록 특징들과 비교되고, 비교 결과에 따라 사용자 인증의 성공 여부가 결정될 수 있다. 인증의 패스는 실시 예들에 따라 클라이언트 단말기(20)의 다양한 동작들, 예를 들면 사용자(10)로부터의 요청에 응답하여 수행되는 특정 동작들을 허용하거나 트리거할 수 있다.Referring to FIG. 1, the client terminal (20) can authenticate a user (10) who wants to use the client terminal (20) or a data server connected thereto through user authentication. For example, the client terminal (20) can obtain a face image of the user (10) using a camera (CMR) and analyze the obtained face image to determine whether to allow an arbitrary operation of the client terminal (20). In embodiments, an object corresponding to a face is detected in the image, feature values are extracted from the detected object, the extracted feature values are compared with registered features for a valid user, and whether user authentication is successful or not can be determined based on the comparison result. The pass of authentication can allow or trigger various operations of the client terminal (20), for example, specific operations performed in response to a request from the user (10), according to embodiments.
유효 사용자는 자신의 얼굴을 예를 들면 카메라(CMR)로 촬영하는 방법 등을 통해 클라이언트 단말기(20)에 미리 등록할 수 있고, 클라이언트 단말기(20)는 저장 장치 또는 클라우드 저장 매체와 같은 네트워크 데이터베이스에 얼굴과 연관된 정보를 저장할 수 있다. 예를 들면, 유효 사용자의 얼굴 영상으로부터 추출된 특징값들이 유효 사용자의 등록 정보로서 저장될 수 있다.A valid user can pre-register his/her face on a client terminal (20) by, for example, taking a picture of his/her face with a camera (CMR), and the client terminal (20) can store information related to the face in a network database such as a storage device or a cloud storage medium. For example, feature values extracted from a face image of the valid user can be stored as registration information of the valid user.
악의적으로 사용자 인증을 무력화하는 공격이 시도될 수 있다. 예를 들면, 유효 사용자가 아닌 사용자가 전자 기기에 디스플레이된 유효 사용자의 얼굴, 사진 혹은 종이 등에 인쇄된 유효 사용자의 얼굴 등이 카메라(CMR)에 촬영되게 하여 사용자 인증을 시도할 수 있다. 이러한 경우 사용자 인증이 패스된다면 클라이언트 단말기(20) 및/또는 클라이언트 단말기(20)와 연관된 데이터에 대한 보안은 취약해진다. 본 발명의 실시 예에 따른 네트워크 시스템 및/또는 클라이언트 단말기(20)는 이러한 오 인증을 방지하도록 구성된다.An attack that maliciously nullifies user authentication may be attempted. For example, a user who is not a valid user may attempt user authentication by having the face of the valid user displayed on an electronic device, a photograph, or the face of the valid user printed on paper, etc., captured by a camera (CMR). In this case, if the user authentication passes, the security of the client terminal (20) and/or data associated with the client terminal (20) becomes vulnerable. The network system and/or client terminal (20) according to an embodiment of the present invention is configured to prevent such erroneous authentication.
도 2는 본 발명의 실시 예에 따른 네트워크 시스템을 보여주는 블록도이다.FIG. 2 is a block diagram showing a network system according to an embodiment of the present invention.
도 2를 참조하면, 네트워크 시스템(100)은 네트워크(105), 클라이언트 단말기(110), 및 데이터 서버(120)를 포함할 수 있다.Referring to FIG. 2, the network system (100) may include a network (105), a client terminal (110), and a data server (120).
네트워크 시스템(100)은 여기에 설명된 본 발명의 실시 예들에 따른 다양한 방법들을 수행하도록 동작하는 복수의 장치들, 서버들, 및/또는 소프트웨어 구성들을 포함할 수 있다. 도 2에 도시된 장치들 및/또는 서버들은 다른 방식들로 구성될 수 있으며, 장치들 및/또는 서버들에 의해 제공되는 동작들 및 서비스들은 여기에 설명된 실시 예들을 위해 결합되거나 분리될 수 있으며, 더 많은 수 혹은 더 적은 수의 장치들 및/또는 서버들에 의해 수행될 수 있다. 하나 또는 그 이상의 장치들 및/또는 서버들은 동일 혹은 상이한 기업체들에 의해 구동 및/또는 유지될 수 있다.The network system (100) may include a plurality of devices, servers, and/or software configurations that operate to perform various methods according to the embodiments of the present invention described herein. The devices and/or servers illustrated in FIG. 2 may be configured in other manners, and the operations and services provided by the devices and/or servers may be combined or separated for the embodiments described herein, and may be performed by more or fewer devices and/or servers. One or more of the devices and/or servers may be driven and/or maintained by the same or different entities.
네트워크(105)는 클라이언트 단말기(110) 및 데이터 서버(120)와 같은 네트워크 시스템(100) 내 구성 요소들을 연결한다. 네트워크(105)는 공용 네트워크(public network), 적어도 하나의 사설 네트워크(private network), 유선 네트워크, 무선 네트워크, 다른 적절한 타입의 네트워크, 및 그것들의 조합들 중 적어도 하나를 포함할 수 있다. 네트워크 시스템(100) 내 구성 요소들 각각은 유선 통신 기능 및 무선 통신 기능 중 적어도 하나를 포함할 수 있으며, 그에 따라 네트워크(105)를 통해 상호 간 통신할 수 있다.The network (105) connects components within the network system (100), such as client terminals (110) and data servers (120). The network (105) may include at least one of a public network, at least one private network, a wired network, a wireless network, other suitable types of networks, and combinations thereof. Each of the components within the network system (100) may include at least one of a wired communication function and a wireless communication function, and thus may communicate with each other through the network (105).
클라이언트 단말기(110)는 사용자의 제어에 응답하여 네트워크(105)를 통해 데이터 서버(120)에 액세스할 수 있다. 클라이언트 단말기(110)는 출력 인터페이스 장치(111), 사용자 입력 장치(112), 통신기(113), 카메라(CMR), 및 클라이언트 제어 장치(114)를 포함할 수 있다.A client terminal (110) can access a data server (120) via a network (105) in response to a user's control. The client terminal (110) can include an output interface device (111), a user input device (112), a communicator (113), a camera (CMR), and a client control device (114).
출력 인터페이스 장치(111)는 클라이언트 제어 장치(114)의 제어에 응답하여 사용자가 인지할 수 있는 형태의 정보를 출력하도록 구성된다. 실시 예들에서, 출력 인터페이스 장치(111)는 시각적 정보를 출력하도록 구성되는 디스플레이 장치를 포함할 수 있다.The output interface device (111) is configured to output information in a form that can be recognized by a user in response to control of the client control device (114). In embodiments, the output interface device (111) may include a display device configured to output visual information.
사용자 입력 장치(112)는 사용자로부터, 예를 들면 클라이언트 제어 장치(114)의 동작들을 제어하기 위한 사용자 입력들을 수신하고, 수신된 사용자 입력들을 클라이언트 제어 장치(114)에 제공하도록 구성된다. 실시 예들에서, 사용자 입력 장치(112)는 키 패드, 터치 패드, 마우스 등을 포함할 수 있다. 특히, 터치 패드가 출력 인터페이스 장치(111)의 디스플레이 장치와 일체로 형성되는 경우, 이를 터치 스크린(touch screen)이라 부를 수 있다. 이러한 경우, 사용자 입력 장치(112)는 디스플레이 장치에 의해 시각화될 수 있다.The user input device (112) is configured to receive user inputs from a user, for example, for controlling operations of the client control device (114), and to provide the received user inputs to the client control device (114). In embodiments, the user input device (112) may include a key pad, a touch pad, a mouse, etc. In particular, when the touch pad is formed integrally with the display device of the output interface device (111), it may be called a touch screen. In this case, the user input device (112) may be visualized by the display device.
통신기(113)는 네트워크(105)에 접속하여 외부의 장치 및/또는 서버, 예를 들면 데이터 서버(120)와 통신을 수행하도록 구성된다. 통신기(113)는 유선 통신 기능 및/또는 무선 통신 기능을 지원하며, 이들을 통해 네트워크(105) 상 데이터 서버(120)와 통신할 수 있다.The communication device (113) is configured to connect to the network (105) and communicate with an external device and/or server, for example, a data server (120). The communication device (113) supports wired communication functions and/or wireless communication functions, and can communicate with the data server (120) on the network (105) through these.
카메라(CMR)는 임의의 적절한 영역을 지향하도록 설치되며, 클라이언트 제어 장치(114)의 제어에 응답하여 지향 영역을 촬영하여 영상(VD)을 제공하도록 구성된다. 사용자는 카메라(CMR)의 지향 영역에 위치하여 카메라(CMR)에 의해 촬영될 수 있다.The camera (CMR) is installed to aim at any suitable area and is configured to photograph the oriented area in response to the control of the client control device (114) to provide an image (VD). A user can be positioned in the oriented area of the camera (CMR) and photographed by the camera (CMR).
클라이언트 제어 장치(114)는 출력 인터페이스 장치(111), 사용자 입력 장치(112), 통신기(113), 및 카메라(CMR)를 제어하도록 구성된다. 클라이언트 제어 장치(114)는 메인 컨트롤러(115) 및 사용자 인증기(116)를 포함할 수 있다. 메인 컨트롤러(115)는 다양한 목적들(예를 들면, 재택 근무)을 위한 다양한 동작들을 수행 및/또는 지원할 수 있다. 실시 예들에서, 클라이언트 제어 장치(114)는 데이터 서버(120)에 액세스하기 위한 응용 애플리케이션으로서 구현될 수 있다. 메인 컨트롤러(115)는 데이터 서버(120)로부터 데이터를 수신하고 수신된 데이터를 디스플레이 장치 및/또는 음향 장치와 같은 출력 인터페이스 장치(111)를 통해 시각적 및/또는 청각적으로 출력할 수 있다. 메인 컨트롤러(115)는 사용자 입력을 수신하고, 수신된 사용자 입력에 따른 데이터를 통신기(113)를 통해 데이터 서버(120)로 전송할 수 있다. 이와 같이, 메인 컨트롤러(115)는 데이터 서버(120)와 인터랙션하여 다양한 동작들을 수행할 수 있다.The client control device (114) is configured to control the output interface device (111), the user input device (112), the communicator (113), and the camera (CMR). The client control device (114) may include a main controller (115) and a user authenticator (116). The main controller (115) may perform and/or support various operations for various purposes (e.g., working from home). In embodiments, the client control device (114) may be implemented as an application for accessing the data server (120). The main controller (115) may receive data from the data server (120) and visually and/or audibly output the received data through the output interface device (111), such as a display device and/or an audio device. The main controller (115) may receive a user input and transmit data according to the received user input to the data server (120) through the communicator (113). In this way, the main controller (115) can interact with the data server (120) to perform various operations.
메인 컨트롤러(115)의 다양한 동작들 중 적어도 일부의 동작들은 인증 신호(AS)에 따라 허용 및/또는 금지된다. 메인 컨트롤러(115)는 인증 신호(AS)가 생성되는(혹은 인에이블되는) 동안에는 그 동작들을 수행할 수 있다. 메인 컨트롤러(115)는 인증 신호(AS)가 생성되지 않는(혹은 디스에이블되는) 동안에는 그 동작들의 수행을 금지할 수 있다. 예를 들면, 메인 컨트롤러(115)는 인증 신호(AS)가 생성되는 동안 데이터 서버(120)로부터 데이터를 수신하여 디스플레이하는 동작을 수행할 수 있으며, 인증 신호(AS)가 생성되지 않는 동안에는 데이터 서버(120)로부터 데이터를 수신하는 동작을, 사용자의 요청이 수신됨에도 불구하고 수행하지 않을 수 있다. 이와 같이 메인 컨트롤러(115)의 동작들이 인증 신호(AS)에 따라 허용 및/또는 금지되는 것을 고려할 때, 사용자 인증기(116)가 높은 신뢰성으로 인증을 수행하여 인증 신호(AS)를 제공한다면 클라이언트 단말기(110) 및/또는 데이터 서버(120)와 연관된 데이터 보안은 향상될 수 있다.Among the various operations of the main controller (115), at least some of the operations are permitted and/or prohibited depending on the authentication signal (AS). The main controller (115) can perform the operations while the authentication signal (AS) is generated (or enabled). The main controller (115) can prohibit the performance of the operations while the authentication signal (AS) is not generated (or disabled). For example, the main controller (115) can perform an operation of receiving and displaying data from the data server (120) while the authentication signal (AS) is generated, and can not perform an operation of receiving data from the data server (120) while the authentication signal (AS) is not generated, even if a user's request is received. Considering that the operations of the main controller (115) are permitted and/or prohibited according to the authentication signal (AS), if the user authenticator (116) performs authentication with high reliability and provides the authentication signal (AS), data security associated with the client terminal (110) and/or the data server (120) can be improved.
사용자 인증기(116)는 카메라(CMR)에 의해 촬영된 영상(VD)에 기반하여 클라이언트 단말기(110)를 사용하고 있는 사용자를 인증하고, 그에 따라 인증 신호(AS)를 생성하도록 구성된다. 사용자 인증기(116)는 영상(VD)에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하고, 임의의 커맨드를 출력 인터페이스 장치(111)를 통해 출력한 후 타겟 오브젝트의 움직임을 감지하고, 감지된 타겟 오브젝트의 움직임이 출력된 커맨드에 부합하는지 여부를 판별하여 인증 신호(AS)를 생성할 수 있다.The user authenticator (116) is configured to authenticate a user using a client terminal (110) based on an image (VD) captured by a camera (CMR) and generate an authentication signal (AS) accordingly. The user authenticator (116) can detect a target object corresponding to at least a part of the user's body in the image (VD), output an arbitrary command through an output interface device (111), and then detect movement of the target object, and determine whether the movement of the detected target object corresponds to the output command to generate an authentication signal (AS).
도 3은 도 2의 사용자 인증기의 실시 예를 보여주는 블록도이다. 도 4는 도 3의 사용자 오브젝트 감지부에 의해 디스플레이 장치에 표시되는 그래픽 인터페이스의 일 예를 보여주는 도면이다. 도 5는 도 3의 커맨드 출력부에 의해 디스플레이 장치에 표시되는 그래픽 인터페이스의 일 예를 보여주는 도면이다. 도 6는 도 3의 커맨드 기반 인증부의 실시 예를 보여주는 블록도이다.FIG. 3 is a block diagram showing an embodiment of the user authenticator of FIG. 2. FIG. 4 is a diagram showing an example of a graphic interface displayed on a display device by the user object detection unit of FIG. 3. FIG. 5 is a diagram showing an example of a graphic interface displayed on a display device by the command output unit of FIG. 3. FIG. 6 is a block diagram showing an embodiment of the command-based authentication unit of FIG. 3.
도 3을 참조하면, 사용자 인증기(200)는 사용자 오브젝트 감지부(210), 커맨드 출력부(220), 오브젝트 기반 인증부(230), 커맨드 기반 인증부(240), 및 인증 신호 생성부(270)를 포함할 수 있다.Referring to FIG. 3, the user authenticator (200) may include a user object detection unit (210), a command output unit (220), an object-based authentication unit (230), a command-based authentication unit (240), and an authentication signal generation unit (270).
사용자 오브젝트 감지부(210)는 카메라(CMR, 도 2 참조)로부터 영상(VD)을 수신하고, 영상(VD)에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트(TOBJ)를 감지하도록 구성된다. 예를 들면, 사용자의 얼굴 부분이 타겟 오브젝트(TOBJ)로서 감지될 수 있다. 도 4를 참조하면, 사용자 오브젝트 감지부(210)는 신체의 일부를 적절히 움직여 타겟 오브젝트(TOBJ)가 영상(VD)의 정해진 영역(AR)에 위치할 것을 요청하는 메시지를 포함하는 그래픽 인터페이스(GUI1)를 출력 인터페이스 장치(111)에 디스플레이할 수 있으며, 그에 따라 사용자가 신체의 일부를 적절히 움직이면 사용자 오브젝트 감지부(210)는 영상(VD)의 정해진 영역(AR)에서 타겟 오브젝트(TOBJ)를 감지할 수 있다. 다시 도 3을 참조하면, 사용자 오브젝트 감지부(210)는 감지된 타겟 오브젝트(TOBJ)를 오브젝트 기반 인증부(230) 및 커맨드 기반 인증부(240)에 알린다.The user object detection unit (210) is configured to receive an image (VD) from a camera (CMR, see FIG. 2) and detect a target object (TOBJ) corresponding to at least a part of the user's body in the image (VD). For example, a part of the user's face may be detected as the target object (TOBJ). Referring to FIG. 4, the user object detection unit (210) may display a graphical interface (GUI1) including a message requesting that a part of the body be appropriately moved so that the target object (TOBJ) is located in a predetermined area (AR) of the image (VD), on the output interface device (111), and accordingly, when the user appropriately moves a part of the body, the user object detection unit (210) may detect the target object (TOBJ) in the predetermined area (AR) of the image (VD). Referring again to FIG. 3, the user object detection unit (210) notifies the object-based authentication unit (230) and the command-based authentication unit (240) of the detected target object (TOBJ).
사용자 오브젝트 감지부(210)는 타겟 오브젝트(TOBJ)의 감지에 응답하여 인에이블 신호(EN)를 커맨드 출력부(220)에 제공할 수 있다. 커맨드 출력부(220)는 인에이블 신호(EN)에 응답하여 특정 커맨드를 나타내는 메시지를 포함하는 그래픽 인터페이스(GUI2)를 출력 인터페이스 장치(111)에 디스플레이할 수 있다. 예를 들면, 도 5에 도시된 바와 같이 “얼굴을 좌우로 2회 회전하세요”와 같은 메시지가 출력 인터페이스 장치(111)에 디스플레이될 수 있다. 커맨드는 사용자에게 특정 움직임 혹은 행동을 요청하는 다양한 형태들의 메시지들 및/또는 신호들 중 어느 하나일 수 있다. 다수의 커맨드들이 클라이언트 단말기(110)의 저장 매체에 저장될 수 있으며, 커맨드 출력부(220)는 그들 중 어느 하나를 선택하여 해당 메시지를 출력할 수 있다.The user object detection unit (210) may provide an enable signal (EN) to the command output unit (220) in response to detection of a target object (TOBJ). The command output unit (220) may display a graphical interface (GUI2) including a message indicating a specific command on the output interface device (111) in response to the enable signal (EN). For example, as illustrated in FIG. 5, a message such as “Rotate your face left and right twice” may be displayed on the output interface device (111). The command may be any one of various forms of messages and/or signals requesting a specific movement or action from the user. A plurality of commands may be stored in a storage medium of the client terminal (110), and the command output unit (220) may select any one of them and output the corresponding message.
오브젝트 기반 인증부(230)는 타겟 오브젝트(TOBJ)가 기준 데이터와 매치되는지 여부에 따라 사용자를 인증할지 여부를 결정하고, 인증 결과를 인증 신호 생성부(270)에 알린다. 실시 예들에서, 오브젝트 기반 인증부(230)는 타겟 오브젝트(TOBJ)로부터 특징값들을 추출하고, 추출된 특징값들을 유효 사용자에 대응하는 등록된 특징값들, 즉 기준 데이터와 비교하고, 비교 결과에 따라 사용자 인증의 패스 혹은 페일을 결정할 수 있다. 유효 사용자는 자신의 얼굴을 촬영하여 클라이언트 단말기(110)에 미리 등록할 수 있고, 오브젝트 기반 인증부(230)는 촬영된 유효 사용자의 얼굴로부터 특징값들을 추출하고 추출된 특징값들을 기준 데이터로서 클라이언트 단말기(110)의 저장 매체에 저장해 둘 수 있다.The object-based authentication unit (230) determines whether to authenticate the user based on whether the target object (TOBJ) matches the reference data, and notifies the authentication result to the authentication signal generation unit (270). In embodiments, the object-based authentication unit (230) may extract feature values from the target object (TOBJ), compare the extracted feature values with registered feature values corresponding to a valid user, i.e., the reference data, and determine pass or fail of user authentication based on the comparison result. A valid user may take a picture of his or her own face and register it in advance in the client terminal (110), and the object-based authentication unit (230) may extract feature values from the photographed face of the valid user and store the extracted feature values as reference data in the storage medium of the client terminal (110).
커맨드 기반 인증부(240)는 타겟 오브젝트(TOBJ)의 움직임을 감지하고, 감지된 움직임이 커맨드 출력부(220)가 제공한 커맨드에 부합하는지 여부에 따라 사용자를 인증할지 여부를 결정하고, 인증 결과를 인증 신호 생성부(270)에 알린다. 실시 예들에서, 커맨드 기반 인증부(240)는 다양한 종류들의 제스처 인식 알고리즘들 중 적어도 하나를 이용하여 타겟 오브젝트(TOBJ)의 움직임을 감지하고, 감지된 움직임이 커맨드에 부합하는지 여부를 판별할 수 있다. 실시 예들에서, 커맨드 기반 인증부(240)는 딥러닝에 기반한 인공지능 모델을 이용하여, 타겟 오브젝트(TOBJ)의 움직임을 감지하고 감지된 움직임이 해당 커맨드에 부합하는지 여부를 판별할 수 있다. 도 6을 참조하면, 커맨드 기반 인증부(300)는 인공지능 모델(310) 및 인공지능 프로세서(320)를 포함할 수 있다. 인공지능 모델(310)은 움직이는 타겟 오브젝트(TOBJ)를 입력하면 그 움직임(혹은 제스처)의 타입을 나타내는 데이터(MST)를 출력하도록 사전에 학습될 수 있다. 실시 예들에서, 인공지능 모델(310)은 하나 또는 그 이상의 뉴럴 네트워크들(L1, L2, ... , L_k-1, L_k)을 포함할 수 있으며, 그것들은 움직이는 오브젝트들과 그 움직임 타입들을 사전에 학습할 수 있다. 예를 들면, 뉴럴 네트워크들(L1, L2, ... , L_k-1, L_k)은 움직이는 타겟 오브젝트(TOBJ)로부터 특징 정보를 나타내는 벡터를 출력하기 위한 인코더에 해당하는 뉴럴 네트워크들, 그리고 특징 정보를 나타내는 벡터를 움직임 타입 데이터(MST)로 변환하기 위한 디코더에 해당하는 뉴럴 네트워크들을 포함할 수 있다.The command-based authentication unit (240) detects the movement of the target object (TOBJ), determines whether to authenticate the user based on whether the detected movement conforms to the command provided by the command output unit (220), and reports the authentication result to the authentication signal generation unit (270). In embodiments, the command-based authentication unit (240) may detect the movement of the target object (TOBJ) using at least one of various types of gesture recognition algorithms, and determine whether the detected movement conforms to the command. In embodiments, the command-based authentication unit (240) may detect the movement of the target object (TOBJ) using an artificial intelligence model based on deep learning, and determine whether the detected movement conforms to the command. Referring to FIG. 6, the command-based authentication unit (300) may include an artificial intelligence model (310) and an artificial intelligence processor (320). The artificial intelligence model (310) may be pre-trained to output data (MST) representing the type of movement (or gesture) when a moving target object (TOBJ) is input. In embodiments, the artificial intelligence model (310) may include one or more neural networks (L1, L2, ..., L_k-1, L_k), which may pre-train moving objects and their movement types. For example, the neural networks (L1, L2, ..., L_k-1, L_k) may include neural networks corresponding to encoders for outputting vectors representing feature information from the moving target object (TOBJ), and neural networks corresponding to decoders for converting the vectors representing feature information into movement type data (MST).
인공지능 프로세서(320)는 인공지능 모델(310)을 제어하도록 구성된다. 인공지능 프로세서(320)는 데이터 학습부(321) 및 데이터 처리부(322)를 포함할 수 있다. 데이터 학습부(321)는 움직이는 오브젝트들 및 그것들에 대응하는 움직임 타입들을 포함하는 학습 데이터를 이용하여, 움직이는 오브젝트가 인공지능 모델(310)에 입력되면 해당 움직임 타입 데이터가 출력되도록 인공지능 모델(310)을 학습시킬 수 있다. 데이터 처리부(322)는 학습된 인공지능 모델(310)에 움직이는 타겟 오브젝트(TOBJ)를 입력함으로써 움직임 타입 데이터(MST)를 획득할 수 있다. 움직임 타입 데이터(MST)는 판별된 움직임 타입 및 그 가능도(혹은, 확률값)를 포함할 수 있다. 데이터 처리부(322)는 움직임 타입 데이터(MST)가 커맨드 출력부(220)가 제공한 커맨드와 매치되는지 여부에 따라 사용자 인증의 패스 혹은 페일을 결정할 수 있다. 움직임 타입 데이터(MST)가 커맨드와 매치되는지 여부는 확률적으로 결정될 수 있으며, 그러한 확률값은 예를 들면 임계치와 비교되어 사용자 인증의 패스 혹은 페일을 결정할 수 있다.The artificial intelligence processor (320) is configured to control the artificial intelligence model (310). The artificial intelligence processor (320) may include a data learning unit (321) and a data processing unit (322). The data learning unit (321) may train the artificial intelligence model (310) using learning data including moving objects and movement types corresponding to them so that when a moving object is input to the artificial intelligence model (310), the corresponding movement type data is output. The data processing unit (322) may obtain movement type data (MST) by inputting a moving target object (TOBJ) to the trained artificial intelligence model (310). The movement type data (MST) may include a determined movement type and its likelihood (or probability value). The data processing unit (322) may determine pass or fail of user authentication depending on whether the movement type data (MST) matches a command provided by the command output unit (220). Whether the motion type data (MST) matches the command can be determined probabilistically, and such a probability value can be compared to, for example, a threshold to determine pass or fail of user authentication.
실시 예들에서, 인공지능 모델(310) 및 인공지능 프로세서(320)는 프로세서 및 메모리로 구현될 수 있다. 프로세서는 싱글 코어, 듀얼 코어, 쿼드 코어 등과 같이 하나 또는 그 이상의 코어들을 포함할 수 있다. 프로세서는 프로그램 및/또는 명령어들을 메모리에 로드하고, 로드된 프로그램 및/또는 명령어들을 실행함으로써 인공지능 모델(310) 및 인공지능 프로세서(320) 각각을 제공할 수 있다.In the embodiments, the artificial intelligence model (310) and the artificial intelligence processor (320) may be implemented as a processor and a memory. The processor may include one or more cores, such as a single core, a dual core, a quad core, etc. The processor may load programs and/or instructions into the memory and execute the loaded programs and/or instructions, thereby providing the artificial intelligence model (310) and the artificial intelligence processor (320), respectively.
이와 같이 사용자가 커맨드에 부합하는 움직임을 수행하는지 여부에 기반하여 사용자 인증을 수행함으로써, 전자 기기에 디스플레이된 사용자의 얼굴, 사진 혹은 종이에 인쇄된 사용자의 얼굴 등 의도치 않은 물체를 카메라가 촬영하게 하여 오 인증을 시도하는 악의적 공격을 효과적 및 효율적으로 검출할 수 있다.By performing user authentication based on whether the user performs a movement that matches a command in this way, malicious attacks that attempt false authentication by having the camera capture an unintended object, such as the user's face displayed on an electronic device, a photograph, or the user's face printed on paper, can be effectively and efficiently detected.
다시 도 3을 참조하면, 인증 신호 생성부(270)는 오브젝트 기반 인증부(230) 및 커맨드 기반 인증부(240) 의 사용자 인증 결과들에 기반하여 인증 신호(AS)를 생성하도록 구성된다. 실시 예들에서, 인증 신호 생성부(270)는 오브젝트 기반 인증부(230) 및 커맨드 기반 인증부(240)의 사용자 인증 결과들 모두가 패스될 때 인증 신호(AS)를 생성(혹은 인에이블)할 수 있다. 다른 실시 예들에서, 인증 신호 생성부(270)는 오브젝트 기반 인증부(230) 및 커맨드 기반 인증부(240)의 사용자 인증 결과들 중 하나 또는 그 이상이 패스될 때 인증 신호(AS)를 생성할 수 있다.Referring back to FIG. 3, the authentication signal generation unit (270) is configured to generate an authentication signal (AS) based on the user authentication results of the object-based authentication unit (230) and the command-based authentication unit (240). In embodiments, the authentication signal generation unit (270) may generate (or enable) the authentication signal (AS) when both the user authentication results of the object-based authentication unit (230) and the command-based authentication unit (240) pass. In other embodiments, the authentication signal generation unit (270) may generate the authentication signal (AS) when one or more of the user authentication results of the object-based authentication unit (230) and the command-based authentication unit (240) pass.
실시 예들에서, 사용자 오브젝트 감지부(210), 커맨드 출력부(220), 오브젝트 기반 인증부(230), 커맨드 기반 인증부(240), 및 인증 신호 생성부(270) 각각은 하드웨어, 소프트웨어, 펌웨어, 및 그들의 조합으로서 구현될 수 있다. 실시 예들에서, 사용자 오브젝트 감지부(210), 커맨드 출력부(220), 오브젝트 기반 인증부(230), 커맨드 기반 인증부(240), 및 인증 신호 생성부(270) 중 하나 또는 그 이상은 더 많은 구성 요소들로 분리되거나 통합될 수 있다.In embodiments, each of the user object detection unit (210), the command output unit (220), the object-based authentication unit (230), the command-based authentication unit (240), and the authentication signal generation unit (270) may be implemented as hardware, software, firmware, or a combination thereof. In embodiments, one or more of the user object detection unit (210), the command output unit (220), the object-based authentication unit (230), the command-based authentication unit (240), and the authentication signal generation unit (270) may be separated or integrated into more components.
도 7은 도 2의 사용자 인증기의 다른 실시 예를 보여주는 블록도이다.FIG. 7 is a block diagram showing another embodiment of the user authenticator of FIG. 2.
도 7을 참조하면, 사용자 인증기(400)는 사용자 오브젝트 감지부(410), 커맨드 출력부(420), 오브젝트 기반 인증부(430), 커맨드 기반 인증부(440), 인증 신호 생성부(470), 및 라이브니스 검사부(480)를 포함할 수 있다.Referring to FIG. 7, the user authenticator (400) may include a user object detection unit (410), a command output unit (420), an object-based authentication unit (430), a command-based authentication unit (440), an authentication signal generation unit (470), and a liveness check unit (480).
사용자 오브젝트 감지부(410), 커맨드 출력부(420), 오브젝트 기반 인증부(430), 커맨드 기반 인증부(440), 및 인증 신호 생성부(470)는 각각 도 3의 사용자 오브젝트 감지부(210), 커맨드 출력부(220), 오브젝트 기반 인증부(230), 커맨드 기반 인증부(240), 및 인증 신호 생성부(270)와 마찬가지로 구성될 수 있다. 이하, 중복되는 설명은 생략된다.The user object detection unit (410), the command output unit (420), the object-based authentication unit (430), the command-based authentication unit (440), and the authentication signal generation unit (470) may be configured similarly to the user object detection unit (210), the command output unit (220), the object-based authentication unit (230), the command-based authentication unit (240), and the authentication signal generation unit (270) of FIG. 3, respectively. Hereinafter, any duplicate description will be omitted.
인증 신호 생성부(470)는 라이브니스 검사부(480)의 사용자 인증 결과에 응답하여 인증 차단 신호(ABS)를 생성하도록 구성된다.The authentication signal generation unit (470) is configured to generate an authentication blocking signal (ABS) in response to the user authentication result of the liveness check unit (480).
라이브니스 검사부(480)는 타겟 오브젝트(TOBJ)에 대해 라이브니스 검사(liveness test)를 수행하고 검사 결과를 인증 신호 생성부(470)에 알리도록 구성된다. 라이브니스 검사는 타겟 오브젝트(TOBJ)가 살아있는 객체인지 여부를 검사하는 것으로, 카메라(CMR)에 의해 촬영되는 객체의 진위를 판단하기 위한 것이다. 예를 들면, 라이브니스 검사는 타겟 오브젝트(TOBJ)가 사람의 진짜 얼굴(genuine face)인지 아니면 가짜 얼굴(fake face)인지 여부를 검사한다. 이와 같이, 라이브니스 검사는 살아있지 않은 객체(예를 들면, 위조 수단으로서 사용된 사진, 종이, 동영상 및 모형 등)와 살아있는 객체(예를 들면, 사람의 진짜 얼굴 등)를 구별하는데 이용된다. 실시 예들에서, 라이브니스 검사부(480)는 다양한 종류들의 라이브니스 검사 알고리즘들을 중 적어도 하나를 이용하여 타겟 오브젝트(TOBJ)에 대해 라이브니스 검사를 수행할 수 있다. 실시 예들에서, 라이브니스 검사부(480)는 오브젝트를 입력하면 그것이 라이브니스에 해당하는지 여부를 나타내는 출력 데이터를 제공하도록 학습된 인공지능 모델을 포함하여, 그러한 인공지능 모델을 이용하여 타겟 오브젝트(TOBJ)에 대한 라이브니스 검사를 수행할 수 있다. 실시 예들에서, 라이브니스 검사부(480)는 타겟 오브젝트(TOBJ)에서 일정 시간 동안 눈 깜박임이 탐지되지 않을 때 사용자 인증이 페일되었음을 인증 신호 생성부(470)에 알릴 수 있다.The liveness test unit (480) is configured to perform a liveness test on the target object (TOBJ) and to report the test result to the authentication signal generation unit (470). The liveness test is to test whether the target object (TOBJ) is a living object, and is to determine the authenticity of an object captured by a camera (CMR). For example, the liveness test is to test whether the target object (TOBJ) is a genuine face of a person or a fake face. In this way, the liveness test is used to distinguish between a non-living object (e.g., a photograph, paper, video, model, etc. used as a means of forgery) and a living object (e.g., a genuine face of a person). In embodiments, the liveness test unit (480) may perform the liveness test on the target object (TOBJ) using at least one of various types of liveness test algorithms. In embodiments, the liveness check unit (480) may perform a liveness check on the target object (TOBJ) using an artificial intelligence model that is trained to provide output data indicating whether an object corresponds to liveness when input. In embodiments, the liveness check unit (480) may notify the authentication signal generation unit (470) that the user authentication has failed when no eye blinking is detected in the target object (TOBJ) for a certain period of time.
이와 같이 타겟 오브젝트(TOBJ)에 대한 라이브니스 검사에 더 기반하여 사용자 인증을 수행함으로써, 의도치 않은 물체를 카메라로 하여금 촬영하게 하여 오 인증을 시도하는 악의적인 공격을 효과적 및 효율적으로 검출할 수 있다.By performing user authentication based more on the liveness check of the target object (TOBJ) in this way, malicious attacks attempting false authentication by having the camera capture an unintended object can be effectively and efficiently detected.
도 8은 본 발명의 실시 예에 따른 카메라에 의해 촬영된 영상으로부터 사용자를 인증하는 방법을 보여주는 순서도이다.FIG. 8 is a flowchart showing a method for authenticating a user from an image captured by a camera according to an embodiment of the present invention.
도 1 및 도 8을 참조하면, S110단계에서, 카메라(CMR)에 의해 촬영되는 영상에서 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트가 감지된다. 예를 들면, 타겟 오브젝트는 사용자의 얼굴에 해당할 수 있다.Referring to FIG. 1 and FIG. 8, in step S110, a target object corresponding to at least a part of a user's body is detected in an image captured by a camera (CMR). For example, the target object may correspond to the user's face.
S120단계에서, 타겟 오브젝트가 소정의 기준 데이터와 매치되는지 여부가 판별된다. 유효 사용자는 사전에 자신의 얼굴을 카메라(CMR)로 촬영할 수 있으며, 촬영된 얼굴로부터 특징값들이 추출되고 그것들이 기준 데이터로서 저장될 수 있다. 감지된 타겟 오브젝트로부터 특징값들이 추출되며, 추출된 특징값들이 기준 데이터와 비교되어 타겟 오브젝트가 소정의 기준 데이터와 매치되는지 여부를 판별할 수 있다. 예를 들면, S120단계는 도 3을 참조하여 설명된 오브젝트 기반 인증부(230)의 동작들과 마찬가지로 수행된다. 만약 타겟 오브젝트가 소정의 기준 데이터와 매치된다면 S130단계가 수행된다.In step S120, it is determined whether the target object matches predetermined reference data. A valid user can take a picture of his/her face with a camera (CMR) in advance, and feature values can be extracted from the taken face and stored as reference data. Feature values are extracted from the detected target object, and the extracted feature values are compared with the reference data to determine whether the target object matches the predetermined reference data. For example, step S120 is performed in the same manner as the operations of the object-based authentication unit (230) described with reference to FIG. 3. If the target object matches the predetermined reference data, step S130 is performed.
S130단계에서, 소정의 커맨드들 중 하나가 클라이언트 단말기(20)의 출력 인터페이스 장치, 예를 들면 디스플레이 장치를 통해 출력된다. 예를 들면, 도 5에 도시된 바와 같이 “얼굴을 좌우로 2회 회전하세요”와 같은 커맨드가 출력 인터페이스 장치를 통해 디스플레이될 수 있다.In step S130, one of the predetermined commands is output through an output interface device of the client terminal (20), for example, a display device. For example, as shown in Fig. 5, a command such as “Rotate your face left and right twice” may be displayed through the output interface device.
S140단계에서, 커맨드가 출력된 후 타겟 오브젝트의 움직임이 감지된다. S150단계에서, 타겟 오브젝트의 움직임이 출력된 커맨드에 부합하는지 여부가 판별된다. 예를 들면, S150단계는 도 3을 참조하여 설명된 커맨드 기반 인증부(240)의 동작들과 마찬가지로 수행된다. 만약 타겟 오브젝트의 움직임이 출력된 커맨드에 부합한다면 S160단계가 수행된다.In step S140, the movement of the target object is detected after the command is output. In step S150, it is determined whether the movement of the target object corresponds to the output command. For example, step S150 is performed in the same manner as the operations of the command-based authentication unit (240) described with reference to FIG. 3. If the movement of the target object corresponds to the output command, step S160 is performed.
S160단계에서, 사용자를 인증하기 위한 인증 신호가 생성된다. 클라이언트 단말기(20)의 하나 또는 그 이상의 동작들은 인증 신호에 따라 허용 및/또는 금지될 수 있다. 실시 예들에서, S170단계에서, 인증 신호에 응답하여 클라이언트 단말기(20)의 데이터 서버(도 2의 120 참조)로의 액세스가 허용될 수 있다. 예를 들면, 클라이언트 단말기(20)는 사용자(10)로부터 사용자 입력을 수신하고, 사용자 입력에 응답하여 데이터 서버로부터 데이터를 수신하고, 수신된 데이터를 디스플레이할 수 있다.In step S160, an authentication signal is generated to authenticate the user. One or more operations of the client terminal (20) may be permitted and/or prohibited according to the authentication signal. In embodiments, in step S170, access to the data server (see 120 of FIG. 2) of the client terminal (20) may be permitted in response to the authentication signal. For example, the client terminal (20) may receive a user input from the user (10), receive data from the data server in response to the user input, and display the received data.
도 9는 도 6의 S110단계의 실시 예를 보여주는 순서도이다.Figure 9 is a flowchart showing an example of step S110 of Figure 6.
도 9를 참조하면, S210단계에서, 영상 내에 정해진 영역(도 4의 AR 참조)을 표시한 후, 타겟 오브젝트가 영상 내 해당 영역에 위치할 것을 요청하는 메시지가 디스플레이 장치를 통해 출력될 수 있다. S220단계에서, 사용자가 신체의 일부를 적절히 움직인 후, 영상 내 정해진 영역에서 타겟 오브젝트가 감지될 수 있다.Referring to FIG. 9, in step S210, after a predetermined area (see AR of FIG. 4) is displayed within an image, a message requesting that a target object be located within the corresponding area within the image may be output through the display device. In step S220, after a user appropriately moves a part of the body, the target object may be detected within the predetermined area within the image.
도 10은 카메라에 의해 촬영된 영상으로부터 사용자를 인증하는 방법의 또 다른 실시 예를 보여주는 순서도이다.FIG. 10 is a flowchart showing another embodiment of a method for authenticating a user from an image captured by a camera.
도 1 및 도 10을 참조하면, S310단계에서, 카메라(CMR)에 의해 촬영된 영상에서 감지되는 타겟 오브젝트에 대해 라이브니스 검사가 수행된다. 라이브니스 검사는 타겟 오브젝트가 살아있는 객체인지 여부를 검사하는 것으로, 다양한 종류들의 라이브니스 검사 알고리즘들을 중 적어도 하나를 이용하여 타겟 오브젝트에 대해 라이브니스 검사가 수행될 수 있다. 실시 예들에서, 타겟 오브젝트는 사용자의 두 눈일 수 있으며, 타겟 오브젝트에서 눈 깜박임이 탐지되는지 여부가 모니터링될 수 있다.Referring to FIGS. 1 and 10, in step S310, a liveness check is performed on a target object detected in an image captured by a camera (CMR). The liveness check is to check whether the target object is a living object, and the liveness check can be performed on the target object using at least one of various types of liveness check algorithms. In embodiments, the target object may be a user's two eyes, and whether eye blinking is detected in the target object can be monitored.
S320단계에서, 라이브니스 검사 결과 타겟 오브젝트가 위조에 해당하는지 여부에 따라 S330단계 및 S350단계 중 어느 하나가 수행될 수 있다.In step S320, either step S330 or step S350 may be performed depending on whether the liveness check result determines that the target object is counterfeit.
S330단계에서, 라이브니스 검사 결과 타겟 오브젝트가 위조에 해당할 때 인증 차단 신호가 생성된다. 클라이언트 단말기(20)의 동작들은 인증 차단 신호에 응답하여 금지될 수 있다. 실시 예들에서, S340단계에서, 인증 차단 신호에 응답하여 클라이언트 단말기(20)의 데이터 서버(도 2의 120 참조)로의 액세스는 금지될 수 있다.In step S330, when the liveness check result indicates that the target object is forged, an authentication blocking signal is generated. Operations of the client terminal (20) may be prohibited in response to the authentication blocking signal. In embodiments, in step S340, access of the client terminal (20) to the data server (see 120 of FIG. 2) may be prohibited in response to the authentication blocking signal.
S350단계에서, 인증 신호가 생성된다(혹은 계속 유지된다). 클라이언트 단말기(20)의 동작들은 인증 신호에 따라 허용될 수 있다. 실시 예들에서, S360단계에서, 인증 신호에 응답하여 클라이언트 단말기(20)의 데이터 서버로의 액세스가 허용될 수 있다. 도 10의 S310단계 내지 S360단계는 도 8을 참조하여 설명된 인증 신호가 생성된 후, 예를 들면 정기적 및 반복적으로 수행될 수 있다.In step S350, an authentication signal is generated (or maintained). Operations of the client terminal (20) may be permitted according to the authentication signal. In embodiments, in step S360, access of the client terminal (20) to the data server may be permitted in response to the authentication signal. Steps S310 to S360 of FIG. 10 may be performed, for example, periodically and repeatedly, after the authentication signal described with reference to FIG. 8 is generated.
도 11은 도 2의 클라이언트 단말기를 구현하기에 적합한 컴퓨터 장치의 실시 예를 보여주는 블록도이다.FIG. 11 is a block diagram showing an embodiment of a computer device suitable for implementing the client terminal of FIG. 2.
도 11을 참조하면, 컴퓨터 장치(1000)는 카메라(CMR), 디스플레이 장치(1100), 사용자 입력 장치(1200), 통신기(1300), 불휘발성 저장 매체(1400), 프로세서(1500), 및 시스템 메모리(1600)를 포함할 수 있다.Referring to FIG. 11, a computer device (1000) may include a camera (CMR), a display device (1100), a user input device (1200), a communicator (1300), a nonvolatile storage medium (1400), a processor (1500), and a system memory (1600).
카메라(CMR)는 프로세서(1500)의 제어에 응답하여 지향하는 영역을 촬영하여 영상을 생성하며, 생성된 영상을 프로세서(1500)에 제공할 수 있다. 카메라(CMR)는 도 2의 카메라(CMR)로서 제공될 수 있다.The camera (CMR) can generate an image by capturing a targeted area in response to the control of the processor (1500) and provide the generated image to the processor (1500). The camera (CMR) can be provided as the camera (CMR) of FIG. 2.
디스플레이 장치(1100)는 프로세서(1500)에 의해 처리되는 정보를 디스플레이한다. 실시 예들에서, 디스플레이 장치(1100)는 액정 디스플레이(liquid crystal display), 유기 발광 다이오드(organic light-emitting diode) 디스플레이, 플렉서블 디스플레이(flexible display), 등 중 적어도 하나를 포함할 수 있다. 사용자 입력 장치(1200)는 컴퓨터 장치(1000)의 동작을 제어하기 위한 사용자 입력을 수신한다. 사용자 입력 장치(1200)는 키 패드, 돔 스위치, 터치 패드(정압/정전), 조그 휠, 조그 스위치, 핑거 마우스 등을 포함할 수 있다. 특히, 터치 패드가 디스플레이 장치(1100)와 일체로 형성되는 경우, 이를 터치 스크린이라 부를 수 있다. 이러한 경우, 사용자 입력 장치(1200)는 디스플레이 장치(1100)에 의해 시각화될 수 있다. 통신기(1300)는 프로세서(1500)의 제어에 응답하여 유선 및/또는 무선 통신을 통해 네트워크(105, 도 2 참조)에 접속하도록 구성된다. 디스플레이 장치(1100), 사용자 입력 장치(1200), 및 통신기(1300)는 각각 도 2의 출력 인터페이스 장치(111), 사용자 입력 장치(112), 및 통신기(113)로서 제공될 수 있다.The display device (1100) displays information processed by the processor (1500). In embodiments, the display device (1100) may include at least one of a liquid crystal display, an organic light-emitting diode display, a flexible display, etc. The user input device (1200) receives a user input for controlling the operation of the computer device (1000). The user input device (1200) may include a key pad, a dome switch, a touch pad (static/capacitive), a jog wheel, a jog switch, a finger mouse, etc. In particular, when the touch pad is formed integrally with the display device (1100), it may be called a touch screen. In this case, the user input device (1200) may be visualized by the display device (1100). The communication device (1300) is configured to connect to a network (105, see FIG. 2) via wired and/or wireless communication in response to the control of the processor (1500). The display device (1100), the user input device (1200), and the communication device (1300) may be provided as the output interface device (111), the user input device (112), and the communication device (113) of FIG. 2, respectively.
불휘발성 저장 매체(1400)는 플래시 메모리(flash memory type), 하드 디스크 (hard disk type), 멀티미디어 카드(multimedia card) 등 전원이 차단되더라도 저장된 데이터를 유지하는 저장 매체들 중 적어도 하나를 포함할 수 있다. 불휘발성 저장 매체(1400)는 프로세서(1500)의 제어에 응답하여 데이터를 기입하고 독출하도록 구성된다.The nonvolatile storage medium (1400) may include at least one of storage media that maintains stored data even when power is cut off, such as a flash memory type, a hard disk type, a multimedia card, etc. The nonvolatile storage medium (1400) is configured to write and read data in response to the control of the processor (1500).
프로세서(1500)는 카메라(CMR), 디스플레이 장치(1100), 사용자 입력 장치(1200), 통신기(1300), 불휘발성 저장 매체(1400), 및 시스템 메모리(1600)의 동작들을 제어한다. 프로세서(1500)는 복수의 처리 유닛들(혹은 복수의 코어들)을 포함하여 연산, 비교 등의 다양한 처리들을 수행할 수 있다. 예를 들면, 프로세서(1500)는 중앙 처리 장치(central processing unit)를 포함할 수 있다. 예를 들면, 프로세서(1500)는 그래픽 처리 장치(graphic processing unit)를 더 포함할 수 있다.The processor (1500) controls operations of a camera (CMR), a display device (1100), a user input device (1200), a communicator (1300), a nonvolatile storage medium (1400), and a system memory (1600). The processor (1500) may include a plurality of processing units (or a plurality of cores) to perform various processes such as calculations and comparisons. For example, the processor (1500) may include a central processing unit. For example, the processor (1500) may further include a graphic processing unit.
프로세서(1500)는 프로그램 코드들 및/또는 명령어들을 시스템 메모리(1600)에 로딩하고, 로딩된 프로그램 코드들 및/또는 명령어들을 실행함으로써 도 2의 클라이언트 제어 장치(114)의 동작들을 수행할 수 있다. 프로세서(1500)는 클라이언트 제어 모듈(1620)을 시스템 메모리(1600)에 로딩하고, 로딩된 클라이언트 제어 모듈(1620)을 실행함으로써 도 2의 클라이언트 제어 장치(114)의 동작들을 수행할 수 있다. 예를 들면, 프로세서(1500)는 임의의 클라이언트 서버로부터 설치 파일을 다운로드하고, 다운로드된 설치 파일을 설치하여 클라이언트 제어 모듈(1620)을 획득할 수 있다.The processor (1500) can load program codes and/or instructions into the system memory (1600) and perform the operations of the client control device (114) of FIG. 2 by executing the loaded program codes and/or instructions. The processor (1500) can load the client control module (1620) into the system memory (1600) and perform the operations of the client control device (114) of FIG. 2 by executing the loaded client control module (1620). For example, the processor (1500) can download an installation file from an arbitrary client server and obtain the client control module (1620) by installing the downloaded installation file.
또한, 프로세서(1500)는 운영 체제(1610)를 시스템 메모리(1600)에 로딩하고, 로딩된 운영 체제(1610)를 실행하여 컴퓨터 장치(1000)의 제반 동작들을 제어할 수 있다. 운영 체제(1610)는 카메라(CMR), 디스플레이 장치(1100), 사용자 입력 장치(1200), 통신기(1300), 불휘발성 저장 매체(1400), 및 시스템 메모리(1600)에 대한 인터페이스를 운영 체제(1610) 하에서 동작하는 응용 프로그램들, 예를 들면 클라이언트 제어 모듈(1620)에 제공할 수 있다. 이와 같이, 운영 체제(1610)는 클라이언트 제어 모듈(1620)이 컴퓨터 장치(1000)의 하드웨어 장치들을 사용할 수 있도록 하는 환경을 제공한다.In addition, the processor (1500) can load the operating system (1610) into the system memory (1600) and execute the loaded operating system (1610) to control the overall operations of the computer device (1000). The operating system (1610) can provide an interface to a camera (CMR), a display device (1100), a user input device (1200), a communicator (1300), a nonvolatile storage medium (1400), and the system memory (1600) to application programs operating under the operating system (1610), for example, a client control module (1620). In this way, the operating system (1610) provides an environment that allows the client control module (1620) to use the hardware devices of the computer device (1000).
시스템 메모리(1600)는 램(Random Access Memory, RAM), 롬(Read Only Memory, ROM), 및 다른 타입들의 컴퓨터에 의해 판독 가능한 저장 매체들 중 적어도 하나를 포함할 수 있다. 도 11에서, 시스템 메모리(1600)는 프로세서(1500)와 분리된 구성 요소로서 도시되어 있으나, 이는 예시적인 것으로 시스템 메모리(1600)의 적어도 일부는 프로세서(1500) 내에 포함될 수 있다. 시스템 메모리(1600)는 필요에 따라 복수의 구성 요소들로 분리될 수 있다.The system memory (1600) may include at least one of a Random Access Memory (RAM), a Read Only Memory (ROM), and other types of computer-readable storage media. In FIG. 11, the system memory (1600) is illustrated as a separate component from the processor (1500), but this is exemplary and at least a portion of the system memory (1600) may be included within the processor (1500). The system memory (1600) may be separated into a plurality of components as needed.
도 12는 도 11의 클라이언트 제어 모듈 혹은 그것의 설치 파일을 제공하는 클라이언트 서버의 실시 예를 보여주는 블록도이다.FIG. 12 is a block diagram showing an embodiment of a client control module of FIG. 11 or a client server providing its installation file.
도 12를 참조하면, 클라이언트 서버(2000)는 도 11의 컴퓨터 장치(1000)와 네트워크(105, 도 11 참조)를 통해 연결될 수 있다. 컴퓨터 장치(1000)에 의해 실행되는 컴퓨터 프로그램은 클라이언트 서버(2000)로부터 제공될 수 있다. 도 12를 참조하면, 클라이언트 서버(2000)는 통신기(2100), 프로세서(2200), 및 데이터베이스(2300)를 포함할 수 있다. 통신기(2100)는 네트워크(105)를 통해 컴퓨터 장치(1000)와 통신할 수 있다. 데이터베이스(2300)는 컴퓨터 장치(1000)에 의해 실행될 수 있는 컴퓨터 프로그램, 예를 들면 도 11의 클라이언트 제어 모듈(1620) 혹은 해당 프로그램 코드들 및/또는 명령어들을 포함하는 설치 파일을 저장하도록 구성되는 저장 매체를 포함할 수 있다. 데이터베이스(2300)는 플래시 메모리, 하드 디스크, 멀티미디어 카드 등과 같은 불휘발성 저장 매체들 중 적어도 하나로 구현될 수 있다.Referring to FIG. 12, a client server (2000) may be connected to a computer device (1000) of FIG. 11 via a network (105, see FIG. 11). A computer program executed by the computer device (1000) may be provided from the client server (2000). Referring to FIG. 12, the client server (2000) may include a communication device (2100), a processor (2200), and a database (2300). The communication device (2100) may communicate with the computer device (1000) via the network (105). The database (2300) may include a storage medium configured to store a computer program that may be executed by the computer device (1000), for example, the client control module (1620) of FIG. 11, or an installation file including corresponding program codes and/or commands. The database (2300) may be implemented with at least one of non-volatile storage media such as flash memory, hard disk, multimedia card, etc.
프로세서(2200)는 컴퓨터 장치(1000)로부터의 요청에 응답하여, 데이터베이스(2300)에 저장된 컴퓨터 프로그램을 통신기(2100)를 통해 컴퓨터 장치(1000)에 제공할 수 있다. 컴퓨터 프로그램은 컴퓨터 장치(1000)에 설치되어 실행될 수 있다.The processor (2200) can provide a computer program stored in a database (2300) to the computer device (1000) through the communication device (2100) in response to a request from the computer device (1000). The computer program can be installed and executed on the computer device (1000).
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.Although specific embodiments and application examples have been described herein, they have been provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments, and various modifications and variations are possible from this description to those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the idea of the present invention should not be limited to the described embodiments, and all things that are equivalent or equivalent to the claims described below as well as the claims are included in the scope of the idea of the present invention.
20, 110: 클라이언트 단말기
CMR: 카메라
111: 출력 인터페이스 장치
112: 사용자 입력 장치
113: 통신기
114: 클라이언트 제어 장치
115: 메인 컨트롤러
116: 사용자 인증기20, 110: Client terminal
CMR: Camera
111: Output interface device
112: User Input Device
113: Communicator
114: Client Control Device
115: Main Controller
116: User Authenticator
Claims (10)
상기 영상에서 상기 사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트를 감지하는 단계;
상기 타겟 오브젝트를 변형할 것을 요청하는 소정의 커맨드들 중 하나를 출력 인터페이스 장치를 통해 출력하는 단계;
상기 타겟 오브젝트의 움직임을 감지하는 단계; 및
상기 타겟 오브젝트 및 상기 커맨드들 중 상기 하나에 기반하여 상기 사용자를 인증하기 위한 인증 신호를 생성하는 단계를 포함하고,
상기 타겟 오브젝트를 감지하는 단계는,
상기 타겟 오브젝트가 상기 영상 내 정해진 영역에 위치할 것을 요청하는 메시지를 상기 출력 인터페이스 장치를 통해 출력하는 단계; 및
상기 영상 내 상기 정해진 영역에서 상기 타겟 오브젝트를 감지하는 단계를 포함하고,
상기 인증 신호를 생성하는 단계는 상기 영상 내 상기 정해진 영역 내에서 상기 타겟 오브젝트를 변형하는 움직임이 나타날 때, 상기 타겟 오브젝트를 변형하는 상기 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 인증 신호를 생성하는 단계를 포함하는 방법.A method for authenticating a user based on an image captured by a camera:
A step of detecting a target object corresponding to at least a part of the user's body in the above image;
A step of outputting one of the predetermined commands requesting to transform the target object through an output interface device;
A step of detecting the movement of the target object; and
A step of generating an authentication signal for authenticating the user based on the one of the target object and the commands,
The step of detecting the above target object is:
A step of outputting a message requesting that the target object be located in a predetermined area within the image through the output interface device; and
Comprising a step of detecting the target object in the determined area within the image,
A method wherein the step of generating the authentication signal comprises the step of generating the authentication signal when a movement that deforms the target object appears within the determined area in the image, depending on whether the movement that deforms the target object corresponds to one of the commands.
상기 인증 신호에 응답하여 데이터 서버로의 액세스를 허용 또는 차단하는 단계를 더 포함하는 방법.In paragraph 1,
A method further comprising the step of allowing or blocking access to the data server in response to said authentication signal.
상기 영상에 기반하여 라이브니스 검사를 수행하는 단계; 및
상기 라이브니스 검사의 결과에 따라 상기 사용자에 대한 인증을 차단하기 위한 인증 차단 신호를 생성하는 단계를 더 포함하는 방법.In paragraph 1,
A step of performing a liveness test based on the above image; and
A method further comprising the step of generating an authentication blocking signal for blocking authentication of the user based on the result of the liveness check.
상기 인증 차단 신호에 응답하여 데이터 서버로의 액세스를 차단하는 단계를 더 포함하는 방법.In paragraph 4,
A method further comprising the step of blocking access to the data server in response to the above authentication blocking signal.
상기 타겟 오브젝트를 변형하는 상기 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 인증 신호를 생성하는 단계는, 다수의 움직임들을 학습한 인공지능 모델을 이용하여 상기 타겟 오브젝트를 변형하는 상기 움직임의 타입을 나타내는 움직임 타입 데이터를 획득하고, 상기 움직임 타입 데이터가 상기 커맨드들 중 상기 하나와 매치되는지 여부에 따라 상기 인증 신호를 생성하는 단계를 포함하는 방법.In paragraph 1,
A method wherein the step of generating the authentication signal depending on whether the movement that deforms the target object matches one of the commands comprises the step of obtaining movement type data indicating a type of the movement that deforms the target object using an artificial intelligence model that has learned a plurality of movements, and generating the authentication signal depending on whether the movement type data matches one of the commands.
출력 인터페이스 장치; 및
상기 카메라 및 상기 출력 인터페이스 장치에 연결되는 프로세서를 포함하고,
상기 프로세서는,
사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트가 상기 카메라에 의해 촬영된 영상 내 정해진 영역에 위치할 것을 요청하는 메시지를 상기 출력 인터페이스 장치를 통해 출력하며, 상기 영상 내 상기 정해진 영역에서 상기 타겟 오브젝트를 감지하고;
상기 타겟 오브젝트를 변형할 것을 요청하는 소정의 커맨드들 중 하나를 상기 출력 인터페이스 장치를 통해 출력하고;
상기 타겟 오브젝트의 움직임을 감지하고;
상기 영상 내 상기 정해진 영역 내에서 상기 타겟 오브젝트를 변형하는 움직임이 나타날 때, 상기 타겟 오브젝트를 변형하는 상기 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 사용자를 인증하기 위한 인증 신호를 생성하도록 구성되는 컴퓨터 장치.camera;
output interface device; and
comprising a processor connected to the camera and the output interface device;
The above processor,
A message is output through the output interface device requesting that a target object corresponding to at least a part of the user's body be located in a predetermined area within an image captured by the camera, and the target object is detected in the predetermined area within the image;
Outputting one of the predetermined commands requesting transformation of the target object through the output interface device;
Detecting movement of the above target object;
A computer device configured to generate an authentication signal for authenticating the user when a movement for transforming the target object appears within the determined area in the image, depending on whether the movement for transforming the target object corresponds to one of the commands.
상기 컴퓨터 장치는 카메라, 출력 인터페이스 장치, 및 상기 카메라와 상기 출력 인터페이스 장치에 연결되는 프로세서를 포함하고,
상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때,
사용자의 신체 중 적어도 일부에 대응하는 타겟 오브젝트가 상기 카메라에 의해 촬영된 영상 내 정해진 영역에 위치할 것을 요청하는 메시지를 상기 출력 인터페이스 장치를 통해 출력하며, 상기 영상 내 상기 정해진 영역에서 상기 타겟 오브젝트를 감지하고;
상기 타겟 오브젝트를 변형할 것을 요청하는 소정의 커맨드들 중 하나를 상기 출력 인터페이스 장치를 통해 출력하고;
상기 타겟 오브젝트의 움직임을 감지하고;
상기 영상 내 상기 정해진 영역 내에서 상기 타겟 오브젝트를 변형하는 움직임이 나타날 때, 상기 타겟 오브젝트를 변형하는 상기 움직임이 상기 커맨드들 중 상기 하나에 부합하는지 여부에 따라 상기 사용자를 인증하기 위한 인증 신호를 생성하는 명령어들을 포함하는 저장 매체.In a storage medium readable by a computer device, storing a computer program:
The computer device includes a camera, an output interface device, and a processor connected to the camera and the output interface device,
When the above computer program is executed by the processor,
A message is output through the output interface device requesting that a target object corresponding to at least a part of the user's body be located in a predetermined area within an image captured by the camera, and the target object is detected in the predetermined area within the image;
Outputting one of the predetermined commands requesting transformation of the target object through the output interface device;
Detecting movement of the above target object;
A storage medium including commands for generating an authentication signal for authenticating the user when a movement for transforming the target object appears within the determined area in the image, depending on whether the movement for transforming the target object corresponds to one of the commands.
상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때,
상기 인증 신호에 응답하여 데이터 서버로의 액세스를 허용 또는 차단하는 명령어들을 더 포함하는 저장 매체.In Article 8,
When the above computer program is executed by the processor,
A storage medium further comprising commands for allowing or blocking access to a data server in response to said authentication signal.
상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행될 때,
상기 영상에 기반하여 라이브니스 검사를 수행하고;
상기 라이브니스 검사의 결과에 따라 상기 사용자에 대한 인증을 차단하기 위한 인증 차단 신호를 생성하는 명령어들을 더 포함하는 저장 매체.
In Article 8,
When the above computer program is executed by the processor,
Perform a liveness test based on the above image;
A storage medium further comprising commands for generating an authentication blocking signal for blocking authentication of the user based on the results of the liveness check.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220038181A KR102750290B1 (en) | 2022-03-28 | 2022-03-28 | Device and method to authorize user based on video data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220038181A KR102750290B1 (en) | 2022-03-28 | 2022-03-28 | Device and method to authorize user based on video data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230139622A KR20230139622A (en) | 2023-10-05 |
KR102750290B1 true KR102750290B1 (en) | 2025-01-09 |
Family
ID=88294141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220038181A Active KR102750290B1 (en) | 2022-03-28 | 2022-03-28 | Device and method to authorize user based on video data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102750290B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295287B (en) * | 2015-06-10 | 2019-04-09 | 阿里巴巴集团控股有限公司 | Biopsy method and device and identity identifying method and device |
KR102570071B1 (en) * | 2019-05-02 | 2023-08-25 | 삼성전자주식회사 | Liveness test method and liveness test apparatus, biometrics authentication method and face authentication apparatus |
-
2022
- 2022-03-28 KR KR1020220038181A patent/KR102750290B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20230139622A (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12047773B2 (en) | System and method for implicit authentication | |
KR102543623B1 (en) | Mobile security countermeasures | |
US9788203B2 (en) | System and method for implicit authentication | |
JP6722272B2 (en) | User identification and/or authentication using gaze information | |
Smith et al. | Face recognition on consumer devices: Reflections on replay attacks | |
KR20200001961A (en) | Living body detection method, apparatus, system and non-transitory recording medium | |
CN109819114B (en) | Screen locking processing method and device, electronic equipment and storage medium | |
US10558826B2 (en) | Method and apparatus for providing security mode to user device | |
US12256011B2 (en) | Methods, systems, and media for secure authentication of users based on a biometric identifier and knowledge-based secondary information | |
CN115087973B (en) | Systems and methods for distinguishing user-, action-, and device-specific features recorded in motion sensor data | |
US20180012005A1 (en) | System, Method, and Apparatus for Personal Identification | |
CN111160251B (en) | Living body identification method and device | |
KR102274370B1 (en) | Facial recognition device and facial recognition control method | |
KR102750290B1 (en) | Device and method to authorize user based on video data | |
CN113673374B (en) | Face recognition method, device and equipment | |
US10867022B2 (en) | Method and apparatus for providing authentication using voice and facial data | |
KR102443330B1 (en) | Apparatus and method for identifying individual based on teeth | |
KR102721059B1 (en) | Device and method to authorize user based on video data | |
JP2009031986A (en) | Challenge & response type finger vein authentication system | |
EP3270313A1 (en) | Optical authorization method for programs and files | |
Rani et al. | FT‐HT: A Fine‐Tuned VGG16‐Based and Hashing Framework for Secure Multimodal Biometric System | |
CN116783592A (en) | Method and apparatus using gaze gesture detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 St.27 status event code: A-3-3-R10-R13-asn-PN2301 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 St.27 status event code: A-3-3-R10-R13-asn-PN2301 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |