KR102056806B1 - 영상 통화 서비스를 제공하는 단말과 서버 - Google Patents

영상 통화 서비스를 제공하는 단말과 서버 Download PDF

Info

Publication number
KR102056806B1
KR102056806B1 KR1020170173116A KR20170173116A KR102056806B1 KR 102056806 B1 KR102056806 B1 KR 102056806B1 KR 1020170173116 A KR1020170173116 A KR 1020170173116A KR 20170173116 A KR20170173116 A KR 20170173116A KR 102056806 B1 KR102056806 B1 KR 102056806B1
Authority
KR
South Korea
Prior art keywords
user
feature points
facial feature
terminal
users
Prior art date
Application number
KR1020170173116A
Other languages
English (en)
Other versions
KR20190072066A (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 KR1020170173116A priority Critical patent/KR102056806B1/ko
Priority to US16/219,851 priority patent/US10970523B2/en
Publication of KR20190072066A publication Critical patent/KR20190072066A/ko
Application granted granted Critical
Publication of KR102056806B1 publication Critical patent/KR102056806B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • G06K9/00268
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4542Blocking scenes or portions of the received content, e.g. censoring scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • H04N21/45455Input to filtering algorithms, e.g. filtering a region of the image applied to a region of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/178Human faces, e.g. facial parts, sketches or expressions estimating age from face image; using age information for improving recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/179Human faces, e.g. facial parts, sketches or expressions metadata assisted face recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72463User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Geometry (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Image Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

제1 단말에서, 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 제1 단말의 제1 사용자를 촬영한 제1 영상 스트림을 수신하는 단계; 상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 단계; 복수의 사용자의 안면 특징점들에 기초한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 단계; 및 상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계를 포함하는 영상 통화 서비스를 제공하는 방법을 수행할 수 있도록 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션이 제공된다.

Description

영상 통화 서비스를 제공하는 단말과 서버{Terminal and server providing a video call service}
영상 통화 서비스를 제공하는 단말과 서버에 관한 것이다.
과학 기술의 발전에 따라, 대부분의 사람들이 스마트 폰, 태블릿 PC와 같은 단말을 보유하게 되었다. 이와 같은 단말은 영상을 촬영하고, 재생할 수 있으며, 다른 단말과 통신을 수행하여 정보를 주고받거나, 영상 통화(video call)를 지원할 수 있다.
한편, 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이다. 최근에, 인공지능 기술은 다양한 분야에서 응용되고 있다.
특히, 영상 통화 서비스를 제공하는 단말 및 서버에서도 중요성이 부각되고 있다.
단말은 사용자의 안면 특징점들을 영상 통화 서비스를 제공하는 애플리케이션의 불량 사용자 판별을 위한 학습 모델에 적용하여, 영상 통화 서비스 내에서 불량 사용자를 보다 효과적으로 검출함으로써, 영상 통화 서비스에 대한 사용자의 만족도를 향상시킬 수 있다.
또한, 안면 특징점들의 분포 정보를 이용하여 학습 시킴으로써, 영상 통화 서비스를 제공하는 애플리케이션의 불량 사용자 판별을 위한 학습 모델을 생성하는 데에 필요한 연산량, 연산 시간 및 저장 공간을 감소시킬 수 있다.
일측에 따르면, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션은, 제1 단말에서, 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 제1 단말의 제1 사용자를 촬영한 제1 영상 스트림을 수신하는 단계; 상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 단계; 복수의 사용자의 안면 특징점들에 기초한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 단계; 및 상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계;를 포함하는 영상 통화 서비스를 제공하는 방법을 수행할 수 있다.
다른 일측에 따르면, 영상 통화 서비스를 제공하는 서버는 영상 통화를 지원하는 복수의 단말과 통신을 수행하는 통신 인터페이스; 스토리지; 프로세서; 및 상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리;를 포함하고, 상기 프로세서는, 상기 명령어들을 실행함으로써, 상기 복수의 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 복수의 단말 각각으로부터 상기 복수의 단말 각각에 대응되는 복수의 사용자의 영상 스트림을 수신하고, 상기 영상 스트림으로부터 상기 복수의 사용자의 안면 특징점들을 추출하고, 상기 복수의 사용자의 안면 특징점들의 분포 정보 및 상기 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보에 기초하여, 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성하고, 상기 생성된 학습 모델을 상기 복수의 단말로 전송할 수 있다.
또 다른 일측에 따르면, 프로세서에 의해 실행 가능한 명령어들이 저장된 비일시적 컴퓨터 판독 가능 저장매체는, 제1 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 제1 단말의 제1 사용자를 촬영한 제1 영상 스트림을 수신하는 명령어들; 상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 명령어들; 복수의 사용자의 안면 특징점들에 기초한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 명령어들; 및 상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 명령어들을 포함할 수 있다.
본 발명은, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 영상 통화 서비스가 제공되는 환경을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 단말의 구성을 나타낸 블록도이다.
도 3은 일 실시예에 따른 영상 통화 서비스를 제공하는 서버의 구성을 나타낸 블록도이다.
도 4는 다른 실시예에 따른 영상 통화 서비스를 제공하는 서버가 복수 개의 분산 서버들로 구현된 모습을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라, 사용자의 안면 특징점들을 이용하여 사용자가 불량 사용자인지를 예측하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라, 사용자가 촬영된 안면 영상으로부터 안면 특징점들의 분포 정보를 획득하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따라, 복수의 사용자의 정보를 수집하고, 복수의 사용자의 정보를 학습하여 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라, 복수 개의 계층 구조를 갖는 인공 신경망을 개략적으로 도시한 도면이다.
도 9a는 일 실시예에 따라, 성별에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 9b는 일 실시예에 따라, 성별에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 10a는 일 실시예에 따라, 나이에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 10b는 일 실시예에 따라, 나이에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 11a는 일 실시예에 따라, 신체 노출 또는 언행에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 11b 및 도 11c는 일 실시예에 따라, 신체 노출에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 12는 일 실시예에 따라, 사용자의 안면 특징점들의 분포 정보를 이용하여 영상 통화 서비스를 제공하는 방법을 설명하기 위한 흐름도이다.
도 13은 일 실시예에 따라, 복수의 사용자의 안면 특징점들을 이용하여 불량 사용자를 판별하기 위한 학습 모델을 생성하는 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시예들은 영상 통화 서비스를 제공하는 단말과 서버에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 영상 통화 서비스가 제공되는 환경을 설명하기 위한 도면이다.
영상 통화 서비스는 복수의 사용자가 각자의 단말을 이용하여 자신의 영상을 상대방에게 전송하고 상대방의 영상을 수신함으로써 의사를 주고받을 수 있는 서비스를 의미한다. 영상 통화 서비스를 이용하는 사용자들은 각자의 단말을 통해, 영상과 음성을 주고받을 수 있으며, 채팅 기능을 통해 텍스트를 주고 받을 수도 있다. 영상 통화 서비스를 이용하려는 사용자는 상대방을 직접 지정하거나, 영상 통화 서비스를 제공하는 서버에서 랜덤 또는 소정의 방식에 따라 상대방을 지정해줌으로써, 상대방과 영상 통화 서비스를 이용할 수 있다.
도 1을 참조하면, 단말(100)이 통신망을 통해 영상 통화 서비스를 제공하는 서버(200)와 연결되어 있다. 서버(200)는 복수의 사용자가 각자의 단말(100)을 이용하여 영상 통화 서비스를 이용할 수 있도록 도와주는 각종 프로그램 또는 애플리케이션과 데이터를 저장할 수 있다. 영상 통화 서비스를 제공하는 서버(200)는 근거리 통신 및 원격지 통신을 모두 수행할 수 있다. 영상 통화 서비스를 제공하는 서버(200)는 통신망을 통해 복수의 단말(100)들과 연결될 수 있다. 단말(100)은 영상 통화 서비스를 제공하는 서버(200)와의 연결에 이용될 수 있는 다양한 종류의 사용자 단말이 될 수 있다. 예를 들어, 단말(100)은 영상 통화 서비스를 제공하는 서버(200)와 통신을 수행할 수 있는 장치로서, 스마트 왓치와 같은 웨어러블 장치, 또는 스마트 폰, 태블릿 PC, 랩톱 컴퓨터와 같은 모바일 장치, 및 데스크톱 컴퓨터와 같은 스테이셔너리(stationary) 장치 등이 될 수 있다. 또한, 단말(100)은 영상 통화 서비스를 통해 연결되는 사용자들 간 영상 통화가 이루어질 수 있도록, 영상을 촬영하고 재생할 수 있는, 영상 통화를 지원하는 영상 통화 장치일 수 있다.
도 2는 일 실시예에 따른 단말(100)의 구성을 나타낸 블록도이다.
도 2를 참고하면, 단말(100)은 메모리(110), 프로세서(120), 사용자 인터페이스(130), 및 통신 인터페이스(140), 음성 및 영상 입력부(150)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
메모리(110)는 소프트웨어 또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. 메모리(110)는 프로세서(120)에 의해 실행 가능한 명령어들을 저장할 수 있다.
프로세서(120)는 메모리(110)에 저장된 명령어들을 실행할 수 있다. 프로세서(120)는 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 데이터를 이용하거나, 또는 새로운 프로그램, 컨텐츠, 데이터를 메모리(110)에 저장할 수도 있다.
프로세서(120)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행할 수 있다. 프로세서(120)는 메모리(110)에 저장된 각종 프로그램, 및 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다. 예를 들어, 프로세서(120)는 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 및 데이터를 이용하여, 디스플레이(136)에 소정의 화면을 표시할 수 있다. 프로세서(120)는 디스플레이(136)의 일 영역에 대한 사용자 조작이 이루어지면, 사용자의 조작에 대응되는 제어 동작을 수행할 수 있다.
프로세서(120)는 그래픽 처리에 특화된 GPU(Graphic Processing Unit)를 포함할 수 있다. GPU는 단말(100)의 부팅이 완료되면, 디스플레이(136)의 영역에 사용자 인터페이스 화면을 디스플레이한다. 구체적으로는, GPU는 컨텐츠, 아이콘, 메뉴 등과 같은 다양한 객체를 포함하는 영상 통화 레이아웃이 표시된 화면을 생성할 수 있다. GPU는 화면의 영상 통화 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 및 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, GPU는 연산된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. GPU에서 생성된 화면은 디스플레이(136)로 제공되어, 디스플레이(136)의 각 영역에 각각 표시될 수 있다.
한편, 프로세서(120)는 비디오 프로세서와 오디오 프로세서를 포함할 수 있다. 프로세서(120)는 비디오 프로세서와 오디오 프로세서를 제어하여, 통신 인터페이스(140)를 통해 수신된 영상 스트림 또는, 메모리(110)에 저장된 영상 스트림에 포함된 비디오 데이터 또는 오디오 데이터를 처리할 수 있다.
사용자 인터페이스(130)는 입력부(131)와 출력부(135)를 포함할 수 있다.
입력부(131)는 사용자로부터 다양한 명령어를 입력받을 수 있다. 입력부(131)는 키패드(132), 터치 패널(133) 및 펜 인식 패널(134) 중 적어도 하나를 포함할 수 있다.
키패드(132)는 단말(100)의 본체 외관의 전면부나 측면부, 배면부 등의 다양한 영역에 형성된 기계적 버튼, 휠 등과 같은 다양한 유형의 키를 포함할 수 있다.
터치 패널(133)은 사용자의 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 터치 이벤트 값을 출력할 수 있다. 터치 패널(133)이 표시 패널과 결합하여 터치 스크린을 구성한 경우, 터치 스크린은 정전식이나, 감압식, 및 압전식 등과 같은 다양한 유형의 터치 센서로 구현될 수 있다.
펜 인식 패널(134)은 사용자의 터치용 펜(예컨대, 스타일러스 펜(stylus pen))의 운용에 따른 펜의 근접 입력 또는 터치 입력을 감지하고 감지된 펜 근접 이벤트 또는 펜 터치 이벤트를 출력할 수 있다. 펜 인식 패널(134)은, 예로, EMR(Electromagnetic Radiation) 방식으로 구현될 수 있으며, 펜의 근접 또는 터치에 의한 전자기장의 세기 변화에 따라 터치 또는 근접 입력을 감지할 수 있다. 펜 인식 패널(134)은 그리드 구조를 가지는 전자 유도 코일 센서와 전자 유도 코일 센서의 각 루프 코일에 순차적으로 소정의 주파수를 가지는 교류 신호를 제공하는 전자 신호 처리부를 포함하여 구성될 수 있다.
출력부(135)는 디스플레이(136), 스피커(137)를 포함할 수 있다.
디스플레이(136)는 표시 패널 및 표시 패널을 제어하는 컨트롤러를 포함할 수 있다. 표시 패널은 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), 및 PDP(Plasma Display Panel) 등과 같은 다양한 방식으로 구현될 수 있다. 표시 패널은 유연하게(flexible) 또는 착용할 수 있게(wearable) 구현될 수 있다. 디스플레이(136)는 입력부(131)의 터치 패널(133)과 결합되어 터치 스크린으로 제공될 수 있다.
스피커(137)는 오디오 데이터에 기초하여 소리를 출력할 수 있다. 예를 들어, 스피커(137)는 영상 스트림에 포함된 오디오 데이터에 따라, 사용자의 음성을 출력할 수 있다.
통신 인터페이스(140)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신 인터페이스(140)는 와이파이 칩, 블루투스 칩, NFC 칩, 및 무선통신 칩 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 통신 인터페이스(140)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
와이파이 칩, 및 블루투스 칩은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. NFC 칩은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다. 무선 통신 칩은 IEEE(Institute of Electrical and Electronics Engineers), 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 및 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
음성 및 영상 입력부(150)는 마이크(151)와 카메라(153)를 포함할 수 있다. 마이크(151)는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환할 수 있다. 프로세서(120)는 마이크(151)를 통해 입력되는 사용자 음성을 영상 통화에 이용하거나, 오디오 데이터로 변환하여 메모리(110)에 저장할 수 있다. 카메라(153)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬영할 수 있다. 카메라(153)는 단말(100)의 전면 또는 후면에 위치한 카메라 모듈일 수 있다. 프로세서(120)는 마이크(151)를 통해 입력되는 음성과 카메라(153)에 의해 촬영되는 영상을 이용하여, 영상 통화를 위한 영상 스트림을 생성할 수 있다.
한편, 단말(100)은 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 프로세서(120)는 카메라(153)를 활성화시켜 사용자를 촬영하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행할 수 있다. 음성 제어 모드로 동작하는 경우, 프로세서(120)는 마이크(151)를 통해 입력된 사용자 음성을 분석하고, 분석된 사용자 음성에 따라 제어 동작을 수행할 수 있다.
전술한 단말(100)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 단말(100)은 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 단말(100)은 전술한 구성요소들 중 적어도 하나를 이용하여, 다음과 같은 동작을 수행할 수 있다.
도 3은 일 실시예에 따른 영상 통화 서비스를 제공하는 서버(200)의 구성을 나타낸 블록도이다.
도 3을 참조하면, 영상 통화 서비스를 제공하는 서버(200)는 메모리(210), 프로세서(220), 스토리지(230), 및 통신 인터페이스(240)를 포함한다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 도 3의 블록도의 각 구성요소는 영상 통화 서비스를 제공하는 서버(200)의 구현 방식에 따라 분리, 추가, 또는 생략될 수 있다. 즉, 구현 방식에 따라 하나의 구성요소가 2 이상의 구성요소로 세분화되거나, 2 이상의 구성요소가 하나의 구성요소로 합쳐질 수도 있고, 일부 구성요소가 더 추가되거나 제거될 수 있다.
메모리(210)는 프로세서(220)에 의해 실행 가능한 명령어들을 저장할 수 있다. 메모리(210)는 소프트웨어 또는 프로그램을 저장할 수 있다.
프로세서(220)는 메모리(210)에 저장된 명령어들을 실행할 수 있다. 프로세서(220)는 영상 통화 서비스를 제공하는 서버(200)의 전반적인 제어를 수행할 수 있다. 프로세서(220)는 통신 인터페이스(240)를 통해 수신되는 정보 및 요청 사항을 획득하고, 수신되는 정보를 스토리지(230)에 저장할 수 있다. 또한, 프로세서(220)는 수신되는 정보를 가공할 수 있다. 예를 들어, 프로세서(220)는 단말(100)로부터 수신되는 정보로부터 영상 통화 서비스에 이용되는 정보를 생성하거나, 수신되는 정보들을 관리하기 위한 가공행위를 수행하여, 스토리지(230)에 저장할 수 있다. 또한, 프로세서(220)는 단말(100)로부터 획득된 요청 사항에 대한 응답으로써, 스토리지(230)에 저장된 정보를 이용하여, 통신 인터페이스(240)를 통해 단말(100)에 영상 통화 서비스를 제공하기 위한 정보를 전송할 수 있다.
스토리지(230)는 영상 통화 서비스를 제공하는 서버(200)가 영상 통화 서비스를 제공하기 위해 필요한 각종 소프트웨어 및 정보들을 저장할 수 있다. 예를 들어, 스토리지(230)는 영상 통화 서비스를 제공하는 서버(200)에서 실행되는 프로그램, 애플리케이션, 및 영상 통화 서비스에 이용되는 각종 데이터를 저장할 수 있다.
스토리지(230)는 영상 통화 서비스를 이용하는 사용자별 개인 정보를 데이터베이스화하여 저장 및 관리할 수 있다. 스토리지(230)는 영상 통화 서비스를 제공하는 서버(200)에 접속하기 위한 계정별로 사용자의 신상 정보와 영상 통화 서비스에 이용되는 다양한 정보 등을 저장할 수 있다.
통신 인터페이스(240)는 단말(100)을 포함한 외부 기기와 통신을 수행할 수 있다. 예를 들어, 영상 통화 서비스를 제공하는 서버(200)는 단말(100)로부터 영상 통화 서비스 개시 요청, 영상 통화 서비스 환경을 갖추기 위한 설정 정보에 대한 요청 등을 수신하고, 단말(100)의 요청에 대한 응답으로, 영상 통화 서비스와 관련된 모든 사항들을 제공할 수 있다.
도 4는 다른 실시예에 따라 영상 통화 서비스를 제공하는 서버(200)가 복수 개의 분산 서버들로 구현된 모습을 설명하기 위한 도면이다. 이상에서 영상 통화 서비스를 제공하는 서버(200)와 관련하여 기재된 내용은 이하 생략된 내용이라 하더라도 그대로 적용될 수 있다.
도 4를 참고하면, 영상 통화 서비스를 제공하는 분산 서버들은 부하 분산 서버(200-1)와 영상 통화 서비스를 제공하는 기능 서버들(200-3, 200-5, 200-7)로 구성될 수 있다. 부하 분산 서버(200-1)는 단말(100)과 같은 외부 기기의 영상 통화 서비스에 관한 요청이 있을 때, 영상 통화 서비스를 제공하는 기능 서버들(200-3, 200-5, 200-7) 중 임의의 서버를 결정하여 단말(100)에 연결시키거나, 영상 통화 서비스를 제공하는 기능 서버들(200-3, 200-5, 200-7)의 상태를 모니터링하여 최적의 서버를 선택하여 단말(100)에 연결시킬 수 있다.
이하, 도 5 내지 도 13에서 설명되는 제1 단말(100)은 도 2에 도시된 단말(100)의 메모리(110), 프로세서(120), 사용자 인터페이스(130), 통신 인터페이스(140), 및 음성 및 영상 입력부(150)를 포함할 수 있고, 도 2에 도시된 단말(100)과 동일한 동작을 수행할 수 있다.
또한, 도 5 내지 도 13에서 설명되는 서버(200)는, 도 3에 도시된 서버(200)의 메모리(210), 프로세서(220), 스토리지(230), 및 통신 인터페이스(240)를 포함할 수 있고, 도 2에 도시된 서버(200)와 동일한 동작을 수행할 수 있다.
이하, 도 5 내지 도 13에서는, 제1 단말(100) 및 서버(200)가 수행하는 다양한 동작이나 응용들이 설명되는데, 제1 단말(100)의 메모리(110), 프로세서(120), 사용자 인터페이스(130), 통신 인터페이스(140), 및 음성 및 영상 입력부(150), 서버(200)의 메모리(210), 프로세서(220), 스토리지(230), 및 통신 인터페이스(240) 중 어느 구성을 특정하지 않더라도 실시예가 속하는 기술분야에서 통상의 지식을 가진 자가 명확하게 이해하고 예상할 수 있는 정도의 내용은 통상의 구현으로 이해될 수 있으며, 제1 단말(100) 및 서버(200)의 권리범위가 특정한 구성의 명칭이나 물리적/논리적 구조에 의해 제한되는 것은 아니다.
도 5는 일 실시예에 따라, 사용자의 안면 특징점들을 이용하여 사용자가 불량 사용자인지를 예측하는 과정을 설명하기 위한 도면이다.
도 5를 참고하면, 제1 사용자는 제1 사용자의 제1 단말(100)에서 영상 통화 서비스를 제공하는 애플리케이션(이하, '애플리케이션'이라 지칭한다.)을 실행할 수 있다. 제1 단말(100)에서 애플리케이션이 실행됨에 따라, 제1 단말(100)은 제1 사용자의 영상 통화의 상대방인 제2 사용자의 제2 단말과 영상 통화가 이루어질 수 있도록, 영상 통화에 요구되는 정보들을 제1 단말(100)의 디스플레이에 표시할 수 있다. 예를 들면, 제1 단말(100)은 애플리케이션에 대한 제1 사용자의 로그인을 위해 제1 사용자의 안면의 정면 촬영을 요청하는 실행 화면을 표시할 수 있다. 다른 예를 들면, 애플리케이션을 통해 제1 사용자의 제1 단말(100)과 제2 사용자의 제2 단말 간의 영상 통화가 이루어질 수 있도록, 제1 단말(100)은 제1 사용자의 안면의 정면 촬영을 요청하는 실행 화면을 표시할 수 있다. 제1 단말(100)은 제1 단말(100)의 카메라를 통해 제1 사용자를 촬영한 영상 또는 영상 스트림을 획득할 수 있다. 여기서, 영상 스트림은 적어도 하나의 영상을 포함할 수 있다.
제1 단말(100)은 소정의 영상 처리 알고리즘에 기초하여, 제1 사용자를 촬영한 영상 또는 영상 스트림으로부터 제1 사용자의 안면 특징점들을 추출할 수 있다. 여기서, 안면 특징점들은 안면 영상에 포함된 특정한 모양, 패턴, 색상 또는 이들의 조합으로부터 획득될 수 있다. 또한, 소정의 영상 처리 알고리즘은, SIFT(Scale Invariant Feature Transform), HOG(Histogram of Oriented Gradient), Haar feature, Ferns, LBP(Local Binary Pattern) 및 MCT(Modified Census Transform) 중 하나일 수 있고, 이에 한정되지 않는다.
예를 들면, 제1 단말(100)은 LBP(Local Binary Pattern) 알고리즘에 기초하여, 제1 사용자를 촬영한 영상 스트림으로부터 제1 사용자의 안면 부위인 눈 부위, 코 부위, 입 부위, 이마 부위, 및 턱 부위 중 적어도 하나의 부위의 특징점들을 추출할 수 있다.
제1 단말(100)은 제1 사용자의 안면 특징점들을 애플리케이션의 불량 사용자 판별을 위한 학습 모델에 적용하여, 제1 사용자가 불량 사용자인지를 예측할 수 있다. 여기서, "학습 모델"은 애플리케이션을 사용하는 사용자들 중 불량 사용자를 검출하기 위해 이용되는 데이터 인식 모델일 수 있다. 데이터 인식 모델은, 인공 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예를 들면, 학습 모델은 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
"불량 사용자 판별을 위한 학습 모델"은, 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보를 이용하여 학습된 것일 수 있다.
"필터링 항목"은 애플리케이션의 사용자들이 애플리케이션을 이용하면서 준수해야 하는 항목일 수 있다. 예를 들면, 필터링 항목은 성별, 나이, 신체 노출 정도, 및 욕설 빈도 중 적어도 하나를 포함할 수 있고, 이에 제한되지 않는다. 또한, 필터링 항목의 정보는 필터링 항목에 대한 정보를 나타낸다. 예를 들면, 필터링 항목이 신체 노출 정도이면, 필터링 항목의 정보는 사용자가 애플리케이션을 사용시에 신체 노출 수위를 나타내는 정보일 수 있다. 다른 예를 들면, 필터링 항목이 욕설 빈도이면, 필터링 항목의 정보는 사용자가 애플리케이션을 사용시에 욕설 또는 욕설로 간주할 수 있는 행위의 빈도를 나타내는 정보일 수 있다. 또한, 욕설 빈도 정보는 사용자가 애플리케이션을 통한 영상 통화 중에, 욕 제스처, 모욕 제스처, 인종 차별 제스처, 반사회적 컨텐츠, 반인륜적 컨텐츠, 폭력 행위 및 학대 행위 중 적어도 하나를 수행한 빈도에 의해 결정될 수 있다.
제1 단말(100)은 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 준비할 수 있다. 여기서, 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델은, 인공 신경망을 통해 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 소정의 필터링 항목의 정보의 상관 관계에 기초하여 학습된 것일 수 있다.
여기서, 제1 단말(100)이 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 준비하는 과정은 두 가지 방법이 있을 수 있다.
예를 들면, 제1 단말(100)은 제1 단말(100)이 직접 인공 신경망을 통해 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 소정의 필터링 항목의 정보의 상관 관계를 학습할 수 있다. 제1 단말(100)은 학습 결과에 기초하여 인경 신경망을 훈련하여, 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다.
다른 예를 들면, 제1 단말(100)은 서버(200)로부터 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 수신할 수 있다. 이 경우, 서버(200)가 소정의 필터링 항목에 대한 불량 사용자 판별하기 위한 학습 모델을 생성할 수 있다.
한편, 제1 단말(100)은 인공 신경망을 이용하여 제1 사용자의 안면 특징점들의 분포 정보를 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델에 따라 학습할 수 있다. 제1 단말(100)은 학습 결과에 기초하여, 제1 사용자가 소정의 필터링 항목에 대한 불량 사용자인지를 예측할 수 있다.
또한, 제1 단말(100)은 제1 영상 스트림으로부터 제1 사용자의 눈 부위, 코 부위, 입 부위, 이마 부위, 및 턱 부위 중 적어도 하나의 부위의 특징점들을 추출할 수 있다. 여기서, 제1 단말(100)은 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델에 제1 사용자의 안면 부위 중 하나의 부위에 대한 특징점들의 분포 정보를 적용하여, 제1 사용자가 불량 사용자인지를 예측할 수 있다. 또한, 제1 단말(100)은 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델에 제1 사용자의 안면 부위 중 적어도 둘 부위의 조합에 대한 특징점들의 분포 정보를 적용하여, 제1 사용자가 불량 사용자인지를 예측할 수 있다.
또한, 필터링 항목의 정보는 성별 정보, 나이 정보, 신체 노출 정보 및 욕설 빈도 정보 중 적어도 하나를 포함할 수 있다. 여기서, 필터링 항목의 정보가 적어도 둘의 정보를 포함하면, 제1 단말(100)은 제1 사용자의 안면 특징점들의 분포 정보를 필터링 항목 각각에 대한 불량 사용자를 판별하기 위한 학습 모델에 적용하여, 제1 사용자가 필터링 항목 각각에 대한 불량 사용자인지를 예측할 수 있다.
소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 이용하여 소정의 필터링 항목에 대한 불량 사용자를 검출하는 방법은 도 9 내지 도 11에서 상세하게 설명한다.
제1 단말(100)은 제1 사용자가 불량 사용자인지를 예측한 결과에 기초하여, 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어할 수 있다.
예를 들면, 제1 사용자가 정상 사용자인 것으로 예측되면, 제1 단말(100)은 제1 단말(100)과 제2 단말 사이에 수립된 영상 통화 세션을 계속하여 유지시킬 수 있다. 또한, 제1 단말(100)은 제1 사용자가 불량 사용자인지를 실시간 또는 소정의 주기마다 반복적으로 제1 사용자를 촬영한 영상 스트림을 검사함으로써 제1 사용자가 불량 사용자인지를 판단할 수 있다.
다른 예를 들면, 제1 사용자가 불량 사용자인 것으로 예측되면, 제1 단말(100)은 애플리케이션의 실행 화면 상에 경고 메시지를 표시할 수 있다. 또한, 제1 단말(100)은 애플리케이션의 실행 화면 상에서 제1 사용자가 출력되는 영역을 모자이크 처리하여 표시할 수 있다. 또한, 제1 단말(100)은 제1 단말(100)과 제2 단말 사이에 수립된 영상 통화 세션을 자동으로 종료시킬 수 있다.
도 6은 일 실시예에 따라, 사용자가 촬영된 안면 영상으로부터 안면 특징점들의 분포 정보를 획득하는 과정을 설명하기 위한 도면이다.
제1 단말(100)은 제1 사용자를 촬영한 영상 또는 영상 스트림으로부터 제1 사용자의 안면 특징점들을 추출할 수 있다.
도 6의 610를 참고하면, 제1 단말(100)은 제1 사용자의 영상 또는 영상 스트림으로부터 제1 사용자의 안면 부위인 눈 부위, 코 부위, 입 부위, 이마 부위, 및 턱 부위 중 적어도 하나의 부위의 특징점들을 추출할 수 있다.
도 6의 620을 참고하면, 제1 단말(100)은 제1 사용자의 영상 또는 영상 스트림으로부터 제1 사용자의 안면 부위의 영역만을 추출할 수 있다.
도 6의 630 및 640을 참고하면, 제1 단말(100)은 추출된 안면 부위 영역 내의 특징점들로부터 특징 벡터를 획득할 수 있다. 제1 단말(100)은 안면 부위 영역을 n x n 블록으로 분할하고, 각 블록에 속한 픽셀들의 그래디언트(gradient) 방향과 크기에 대한 히스토그램(histogram)을 획득할 수 있다. 제1 단말(100)은 획득된 히스토그램의 값들로부터 특징 벡터를 획득할 수 있다. 제1 단말(100)은 특징 벡터에 기초하여, 제1 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다.
도 6에서 설명한 제1 사용자의 안면 특징점들의 분포 정보를 획득하는 방법은 일예시이고, 다른 공지된 방법에 의해서도 제1 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다. 예를 들면, 제1 단말(100)은 SIFT, HOG, Haar feature, Ferns, LBP 및 MCT 중 적어도 하나 또는 하나 이상을 조합하여, 제1 사용자의 안면 영상으로부터 제1 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다.
도 7은 일 실시예에 따라, 복수의 사용자의 정보를 수집하고, 복수의 사용자의 정보를 학습하여 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
본 개시에 따른 불량 사용자 판별을 위한 학습 모델을 생성 또는 업데이트 함에 있어서, 인공지능(Artificial Intelligence, AI) 시스템이 이용될 수 있다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 기계가 스스로 학습하고 판단하여 정확도를 높여나가는 시스템이다.
인공지능 시스템은 사용할수록 반복되는 학습에 의해서 산출되는 결과의 정확도가 향상되고 사용자의 의도를 보다 정확하게 반영할 수 있게 되어, 기존의 규정 기반 스마트 시스템은 점차 딥러닝(Deep learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습을 이용하는 기술이라 할 수 있으며, 딥러닝은 기계학습의 일 종류라 할 수 있다. 딥러닝은 입력 데이터들의 특징을 스스로 분류 및 학습하는 알고리즘 기술이다. 그리고, 요소 기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
이하에서는, 인공 신경망을 이용한 인공 지능 시스템을 적용하여, 애플리케이션의 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명한다.
영상 통화 서비스를 제공하는 서버(200)(이하, '서버(200)'라 한다.)는 복수의 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 복수의 단말 각각으로부터 복수의 단말 각각에 대응되는 복수의 사용자의 영상 스트림을 수신할 수 있다.
서버(200)는 영상 스트림으로부터 복수의 사용자의 안면 특징점들을 추출할 수 있다. 서버(200)는 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보에 기초하여, 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 필터링 항목의 정보는, 복수의 사용자의 성별 정보, 나이 정보, 신체 노출 정도 정보 및 욕설 빈도 정보 중 적어도 하나를 포함할 수 있다.
예를 들면, 서버(200)는 인공 신경망을 통한 연산을 수행하여, 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보의 상관 관계를 학습할 수 있다. 서버(200)는 학습 결과에 기초하여 인공 신경망을 훈련하여, 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다.
구체적으로, 서버(200)는 인공지능 분야에서 사용되는 신경망(Neural Network)인 인공 신경망을 통해 애플리케이션의 불량 사용자를 판별하는 학습 모델을 생성할 수 있다. 인공 신경망은 인간의 신경망과 유사한 구조를 갖는 네트워크로써, 입력된 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보를 복수의 레이어를 통해 연산하고, 연산된 결과 값들에 기초하여 학습을 수행하고, 학습 결과에 따라 오차 범위를 줄임으로써, 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다.
또한, 서버(200)는 복수의 사용자에 대해서 소정의 필터링 항목에 대한 불량 사용자 판별 이력을 학습하여, 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 할 수 있다.
한편, 단말에서도, 서버(200)와 동일한 동작으로 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 또한, 단말은 서버(200)로부터 소정의 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 수신할 수도 있다.
도 8은 일 실시예에 따라, 복수 개의 계층 구조를 갖는 인공 신경망을 개략적으로 도시한 도면이다.
도 8을 참고하면, 인공 신경망은 입력 레이어(input layer)(810), 적어도 하나 이상의 히든 레이어(hidden layer)(820, 830) 및 출력 레이어(output layer)(840)를 포함할 수 있다. 또한, 인공 신경망을 통한 연산은 단말(100) 내의 프로세서(120) 또는 서버(200) 내의 프로세서(220)에서 수행될 수 있다. 또는, 단말(100) 및 서버(200)는 별도의 인공 신경망을 통한 연산을 수행하기 위한 별도의 프로세서, 컨트롤러, 또는 칩을 통하여 수행할 수도 있다.
또한, 히든 레이어(820, 830)에서 수행된 학습 및 훈련을 통해 각 레이어와 노드 사이의 가중치가 학습이 될 수 있다. 예를 들면, 단말(100) 내의 프로세서(120) 또는 서버(200) 내의 프로세서(220)는 반복적인 학습을 통하여 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 소정의 필터링 항목의 정보 각각에 적용되는 가중치의 값을 획득할 수 있다. 단말(100) 내의 프로세서(120) 또는 서버(200) 내의 프로세서(220)는 획득된 가중치의 값을 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 소정의 필터링 항목의 정보에 다시 적용하여, 훈련된 인공 신경망에서 소정의 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다.
도 9a는 일 실시예에 따라, 성별에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 9a의 910을 참고하면, 서버(200)는 복수의 단말 각각으로부터 사용자의 안면을 촬영한 영상 또는 영상 스트림을 수신할 수 있다. 또한, 서버(200)는 복수의 단말 각각으로부터 사용자의 안면 특징점들의 분포 정보에 대응되는 성별 정보를 수신할 수 있다. 여기서, 성별 정보는, 사용자가 남성인지 여성인지를 나타내는 정보이다. 서버(200)는 수신된 영상 또는 영상 스트림에 기초하여, 복수의 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다. 서버(200)는 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 성별 정보를 서버(200) 내의 스토리지에 저장할 수 있다.
예를 들면, 서버(200)는 복수의 사용자 각각의 안면 특징점들의 분포 정보 및 복수의 사용자 각각이 남성인지 여성인지를 나타내는 정보를 저장할 수 있다. 여기서, 복수의 사용자 각각이 남성인지 여성인지를 나타내는 정보는, 복수의 사용자 각각의 안면 특징점들의 분포 정보와 페어링되어 저장될 수 있다.
다른 예를 들면, 서버(200)는 복수의 사용자 각각의 안면 특징점들의 분포 정보, 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 성별 정보, 및 복수의 사용자 각각의 실제 성별 정보를 저장할 수 있다. 또한, 서버(200)는 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 성별 정보가 복수의 사용자 각각의 실제 성별 정보와 일치되는지에 대한 정보도 저장할 수 있다. 여기서, 복수의 사용자 각각의 안면 특징점들의 분포 정보는, 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 성별 정보 및 복수의 사용자 각각의 실제 성별 정보와 페어링되어 저장될 수 있다.
도 9a의 920을 참고하면, 서버(200)는 인공 신경망을 통해 스토리지(230)에 저장된 정보를 연산 수행하여, 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 성별 정보의 상관 관계를 학습할 수 있다. 구체적으로, 서버(200)는 제k 사용자의 안면 특징점들의 분포 정보와 제k 사용자의 성별 정보의 상관 관계를 학습할 수 있다(여기서, k= 1, 2, 3, 4, 5, …..n). 즉, 서버(200)는 입력된 안면 특징점들의 분포 정보 및 안면 특징점들의 분포 정보에 대응되는 성별 정보를 복수의 레이어를 통해 연산하고, 연산된 결과 값들에 기초하여 학습을 수행할 수 있다.
도 9a의 930을 참고하면, 서버(200)는 학습 결과에 기초하여, 인공 신경망을 훈련하여 성별에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 즉, 서버(200)는 학습 결과에 따라 오차 범위를 줄임으로써, 성별에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 또한, 서버(200)는 복수의 사용자에 대해서 성별에 대한 불량 사용자 판별 이력을 학습하여, 성별에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 할 수 있다. 생성된 성별에 대한 불량 사용자를 판별하기 위한 학습 모델은, 제1 사용자의 안면 특징점들의 분포 정보만으로 제1 사용자가 성별에 대한 불량 사용자인지를 판별할 수 있다.
도 9b는 일 실시예에 따라, 성별에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 9b를 참고하면, 제1 단말(100)의 제1 사용자의 애플리케이션의 회원 가입 단계에서, 제1 단말(100)은 제1 사용자의 성별 정보를 입력 받는 실행 화면을 표시할 수 있다. 제1 사용자는 제1 사용자의 성별 정보와 다른 성별 정보를 실행 화면 상에 입력할 수 있다. 예를 들면, 제1 사용자는 남성이지만, 제1 사용자는 성별 정보를 입력하는 실행 화면에서 여성을 체크하여 성별 정보를 입력할 수 있다.
이후에, 제1 단말(100)의 제1 사용자는 애플리케이션의 실행 화면 상에서 제2 단말의 사용자와 영상 통화 연결을 위한 시도를 할 수 있다. 이 경우, 제1 단말(100)은 제2 단말과의 영상 통화 세션을 수립하기 위해 애플리케이션의 실행 화면에서 제1 단말(100)의 제1 사용자의 안면 영상을 요청할 수 있다. 안면 영상의 요청에 따라, 제1 단말(100)이 제1 사용자의 안면 영상을 획득하면, 제1 단말(100)은 제1 사용자의 안면 영상으로부터 제1 사용자의 안면 특징점들을 추출할 수 있다. 제1 단말(100)은 성별에 대한 불량 사용자를 판별하기 위한 학습 모델에 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 제1 사용자가 성별에 대한 불량 사용자임을 예측할 수 있다. 제1 단말(100)은 예측 결과에 따라, 애플리케이션의 실행 화면 상에 경고 메시지를 표시할 수 있다. 도 9b에 도시된 바와 같이, 제1 단말(100)은 "개인 정보 설정에서 올바른 성별을 입력해 주세요"와 같은 문구가 적힌 메시지를 표시할 수 있다.
도 10a는 일 실시예에 따라, 나이에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 10a의 1010을 참고하면, 서버(200)는 서버(200)는 복수의 단말 각각으로부터 사용자의 안면을 촬영한 영상 또는 영상 스트림을 수신할 수 있다. 또한, 서버(200)는 복수의 단말 각각으로부터 사용자의 안면 특징점들의 분포 정보에 대응되는 나이 정보를 수신할 수 있다. 서버(200)는 수신된 영상 또는 영상 스트림에 기초하여, 복수의 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다. 서버(200)는 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 나이 정보를 서버(200) 내의 스토리지에 저장할 수 있다.
예를 들면, 서버(200)는 복수의 사용자 각각의 안면 특징점들의 분포 정보 및 복수의 사용자 각각의 나이 정보를 저장할 수 있다. 여기서, 복수의 사용자 각각의 나이 정보는, 복수의 사용자 각각의 안면 특징점들의 분포 정보와 페어링되어 저장될 수 있다.
다른 예를 들면, 서버(200)는 복수의 사용자 각각의 안면 특징점들의 분포 정보 및 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 나이 정보, 및 복수의 사용자 각각의 실제 나이 정보를 저장할 수 있다. 또한, 서버(200)는 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 나이 정보가 복수의 사용자 각각의 실제 나이 정보와 일치되는지에 대한 정보도 저장할 수 있다. 여기서, 복수의 사용자 각각의 안면 특징점들의 분포 정보는, 복수의 사용자 각각이 애플리케이션에 가입 또는 로그인 시에 입력한 나이 정보, 및 복수의 사용자 각각의 실제 나이 정보와 페어링되어 저장될 수 있다.
도 10a의 1020을 참고하면, 서버(200)는 인공 신경망을 통해 스토리지에 저장된 정보를 연산 수행하여, 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 나이 정보의 상관 관계를 학습할 수 있다. 구체적으로, 서버(200)는 제k 사용자의 안면 특징점들의 분포 정보와 제k 사용자의 나이 정보의 상관 관계를 학습할 수 있다(여기서, k= 1, 2, 3, 4, 5, …..n). 즉, 서버(200)는 입력된 안면 특징점들의 분포 정보 및 안면 특징점들의 분포 정보에 대응되는 나이 정보를 복수의 레이어를 통해 연산하고, 연산된 결과 값들에 기초하여 학습을 수행할 수 있다.
도 10a의 1030을 참고하면, 서버(200)는 학습 결과에 기초하여, 인공 신경망을 훈련하여 나이에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 즉, 서버(200)는 학습 결과에 따라 오차 범위를 줄임으로써, 나이에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 또한, 서버(200)는 복수의 사용자에 대해서 나이에 대한 불량 사용자 판별 이력을 학습하여, 나이에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 할 수 있다. 생성된 나이에 대한 불량 사용자를 판별하기 위한 학습 모델은, 제1 사용자의 안면 특징점들의 분포 정보만으로 제1 사용자가 나이에 대한 불량 사용자인지를 판별할 수 있다.
도 10b는 일 실시예에 따라, 나이에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 10b를 참고하면, 제1 단말(100)의 제1 사용자의 애플리케이션의 회원 가입 단계에서, 제1 단말(100)은 제1 사용자의 나이 정보를 입력 받는 실행 화면을 표시할 수 있다. 제1 사용자는 제1 사용자의 나이 정보와 다른 나이 정보를 실행 화면 상에 입력할 수 있다. 예를 들면, 제1 사용자는 7세이지만, 제1 사용자는 성별 정보를 입력하는 실행 화면에서 22세로 입력하여 나이 정보를 입력할 수 있다.
이후에, 제1 단말(100)의 제1 사용자는 애플리케이션의 실행 화면 상에서 제2 단말의 사용자와 영상 통화 연결을 위한 시도를 할 수 있다. 이 경우, 제1 단말(100)은 제2 단말과의 영상 통화 세션을 수립하기 위해 애플리케이션의 실행 화면에서 제1 단말(100)의 제1 사용자의 안면 영상을 요청할 수 있다. 안면 영상의 요청에 따라, 제1 단말(100)이 제1 사용자의 안면 영상을 획득하면, 제1 단말(100)은 제1 사용자의 안면 영상으로부터 제1 사용자의 안면 특징점들을 추출할 수 있다. 제1 단말(100)은 나이에 대한 불량 사용자를 판별하기 위한 학습 모델에 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 제1 사용자가 나이에 대한 불량 사용자임을 예측할 수 있다. 제1 단말(100)은 예측 결과에 따라, 애플리케이션의 실행 화면 상에 경고 메시지를 표시할 수 있다. 도 10b에 도시된 바와 같이, 제1 단말(100)은 "개인 정보 설정에서 올바른 나이를 입력해 주세요"와 같은 문구가 적힌 메시지를 표시할 수 있다.
도 11a는 일 실시예에 따라, 신체 노출 또는 언행에 대한 불량 사용자 판별을 위한 학습 모델을 생성하는 과정을 설명하기 위한 도면이다.
도 11a의 1110을 참고하면, 서버(200)는 서버(200)는 복수의 단말 각각으로부터 사용자의 안면을 촬영한 영상 또는 영상 스트림을 수신할 수 있다. 또한, 서버(200)는 복수의 단말 각각으로부터 사용자의 안면 특징점들의 분포 정보에 대응되는 신체 노출 정도 정보 또는 욕설 빈도 정보를 수신할 수 있다. 여기서, 신체 노출 정도 정보 또는 욕설 빈도 정보는 복수의 단말 각각에서 애플리케이션의 실행에 따라 사용자로부터 획득된 정보일 수 있다. 한편, 서버(200)는 수신된 영상 또는 영상 스트림에 기초하여, 복수의 사용자의 안면 특징점들의 분포 정보를 획득할 수 있다. 서버(200)는 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 신체 노출 정도 정보 또는 욕설 빈도 정보를 서버(200) 내의 스토리지에 저장할 수 있다.
예를 들면, 서버(200)는 복수의 사용자 각각의 안면 특징점들의 분포 정보, 및 복수의 사용자 각각이 상대방과 영상 통화를 수행하는 동안, 신체 노출 정도 정보 또는 욕설 빈도 정보를 저장할 수 있다. 여기서, 복수의 사용자 각각의 신체 노출 정도 정보 또는 욕설 빈도 정보는, 복수의 사용자 각각의 안면 특징점들의 분포 정보와 페어링되어 저장될 수 있다.
도 11a의 1120을 참고하면, 서버(200)는 인공 신경망을 통해 스토리지에 저장된 정보를 연산 수행하여, 복수의 사용자의 안면 특징점들의 분포 정보와 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 신체 노출 정도 정보 또는 욕설 빈도 정보의 상관 관계를 학습할 수 있다. 구체적으로, 서버(200)는 제k 사용자의 안면 특징점들의 분포 정보와 제k 사용자의 신체 노출 정도 정보 또는 욕설 빈도 정보의 상관 관계를 학습할 수 있다(여기서, k= 1, 2, 3, 4, 5, …..n). 즉, 서버(200)는 입력된 안면 특징점들의 분포 정보 및 안면 특징점들의 분포 정보에 대응되는 신체 노출 정도 정보 또는 욕설 빈도 정보를 복수의 레이어를 통해 연산하고, 연산된 결과 값들에 기초하여 학습을 수행할 수 있다.
도 11a의 1130을 참고하면, 서버(200)는 학습 결과에 기초하여, 인공 신경망을 훈련하여 신체 노출 또는 욕설에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 즉, 서버(200)는 학습 결과에 따라, 오차 범위를 줄임으로써, 신체 노출 또는 욕설에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다. 또한, 서버(200)는 복수의 사용자에 대해서 신체 노출 또는 욕설에 대한 불량 사용자 판별 이력을 학습하여, 신체 노출 또는 욕설에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 할 수 있다. 생성된 신체 노출 또는 욕설에 대한 불량 사용자를 판별하기 위한 학습 모델은, 제1 사용자의 안면 특징점들의 분포 정보만으로 제1 사용자가 신체 노출 또는 욕설에 대한 불량 사용자인지를 판별할 수 있다.
도 11b 및 도 11c는 일 실시예에 따라, 신체 노출에 대한 불량 사용자를 검출하고, 불량 사용자를 제재하는 과정을 설명하기 위한 도면이다.
도 11b를 참고하면, 제1 사용자의 제1 단말(100-1)은 제2 사용자의 제2 단말(100-2)과의 영상 통화 세션을 수립할 수 있다. 제1 단말(100-1) 및 제2 단말(100-2) 각각은 영상 통화 세션을 수립하기 위해 애플리케이션의 실행 화면에서 안면 영상을 요청할 수 있다. 한편, 제2 사용자는 애플리케이션의 사용시에 신체 노출 수위가 애플리케이션에서 결정된 신체 노출 기준 수위 보다 높다고 가정한다. 안면 영상의 요청에 따라, 제2 단말(100-2)이 제2 사용자의 안면 영상을 획득하면, 제2 단말(100-2)은 제2 사용자의 안면 영상으로부터 제2 사용자의 안면 특징점들을 추출할 수 있다. 제2 단말(100-2)은 신체 노출에 대한 불량 사용자를 판별하기 위한 학습 모델에 제2 사용자의 안면 특징점들의 분포 정보를 적용하여, 제2 사용자가 신체 노출에 대한 불량 사용자 임을 예측할 수 있다.
도 11c에 도시된 바와 같이, 제2 단말(100-2)은 애플리케이션의 실행 화면 상에 "복장을 제대로 갖추시기 바랍니다. 상대방에게 불쾌감을 줄 수 있습니다."와 같은 경고 메시지를 표시할 수 있다. 또한, 제2 단말(100-2)은 영상 통화 세션을 자동으로 종료시키면서, 애플리케이션의 실행 화면 상에 "상대방과의 영상 통화를 종료합니다. 이용해 주셔서 감사합니다."와 같은 경고 메시지를 표시할 수도 있다. 또한, 제2 단말(100-2)은 애플리케이션의 실행 화면 상에서 제2 사용자가 출력되는 영역을 모자이크 처리하여 표시할 수 있다. 마찬가지로, 제1 단말(100-1)도 애플리케이션의 실행 화면 상에서 제2 사용자가 출력되는 영역을 모자이크 처리하여 표시할 수 있다.
또한, 제2 단말(100-2)은 제2 사용자가 신체 노출에 대한 불량 사용자 임을 예측한 후 바로, 제2 단말(100-2)에서의 애플리케이션의 실행을 제재하지 않고, 제2 사용자의 행위를 모니터링 하고, 모니터링 결과에 기초하여 제2 단말(100-2)에서의 애플리케이션의 실행을 제재할 수 있다.
도 12는 일 실시예에 따라, 사용자의 안면 특징점들의 분포 정보를 이용하여 영상 통화 서비스를 제공하는 방법을 설명하기 위한 흐름도이다.
블록 S1210에서, 제1 단말(100)에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 제1 단말(100)은 제1 단말(100)의 제1 사용자를 촬영한 제1 영상 스트림을 수신할 수 있다.
블록 S1220에서, 제1 단말(100)은 제1 영상 스트림으로부터 제1 사용자의 안면 특징점들을 추출할 수 있다.
블록 S1230에서, 제1 단말(100)은 복수의 사용자의 안면 특징점들에 기초한 불량 사용자 판별을 위한 학습 모델에 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 제1 사용자가 불량 사용자인지를 예측할 수 있다.
블록 S1240에서, 제1 단말(100)은 예측 결과에 기초하여, 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어할 수 있다.
한편, 상술한 영상 통화 서비스를 제공하는 방법에 관한 실시예들은 영상 통화 서비스를 제공하는 제1 단말(100)에서, 사용자의 안면 특징점들의 분포 정보를 이용하여 영상 통화 서비스를 제공하는 방법을 수행할 수 있도록 컴퓨터 판독가능 저장매체에 저장된 애플리케이션 형태 또는 컴퓨터 프로그램 형태로 제공될 수 있다. 다시 말해서, 제1 단말(100)로 하여금 상술한 영상 통화 서비스를 제공하는 방법의 각 단계는 실행시키기 위한 컴퓨터 판독가능 저장매체에 저장된 애플리케이션 또는 컴퓨터 프로그램 형태로 제공될 수 있다.
도 13은 일 실시예에 따라, 복수의 사용자의 안면 특징점들을 이용하여 불량 사용자를 판별하기 위한 학습 모델을 생성하는 방법을 설명하기 위한 흐름도이다.
블록 1310에서, 서버(200)는 복수의 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 복수의 단말 각각으로부터 복수의 단말 각각에 대응되는 복수의 사용자의 영상 스트림을 수신할 수 있다.
블록 1320에서, 서버(200)는 영상 스트림으로부터 복수의 사용자의 안면 특징점들을 추출할 수 있다.
블록 1330에서, 서버(200)는 복수의 사용자의 안면 특징점들의 분포 정보 및 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 필터링 항목의 정보에 기초하여, 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성할 수 있다.
블록 1340에서, 서버(200)는 학습 모델을 복수의 단말로 전송할 수 있다.
한편, 상술한 영상 통화 서비스를 제공하는 방법에 관한 실시예들은, 영상 통화 서비스를 제공하는 서버(200)에서, 복수의 사용자의 안면 특징점들을 이용하여 불량 사용자를 판별하기 위한 학습 모델을 생성하는 방법을 수행할 수 있도록 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램 형태로 제공될 수 있다. 다시 말해서, 서버(200)로 하여금 상술한 영상 통화 서비스를 제공하는 방법의 각 단계는 실행시키기 위한 컴퓨터 판독가능 저장매체에 저장된 애플리케이션 또는 컴퓨터 프로그램 형태로 제공될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 제1 단말에서,
    영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 제1 단말의 제1 사용자를 촬영한 제1 영상 스트림을 수신하는 단계;
    상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 단계;
    복수의 사용자의 안면 부위 중 적어도 두 부위의 조합에 대한 안면 특징점들의 특징 벡터로부터 획득된 복수의 사용자의 안면 특징점들의 분포 정보와 상기 복수의 사용자의 안면 특징점들의 분포 정보 각각에 대응되는 상기 애플리케이션의 필터링 항목의 준수 여부를 나타내는 필터링 항목의 정보 간의 상관 관계에 기초하여 학습된, 상기 필터링 항목에 대한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 단계; 및
    상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계;를 포함하고,
    상기 필터링 항목은, 사용자의 성별, 나이, 상기 애플리케이션이 실행되는 동안의 신체 노출 정도 및 욕설 빈도 중 적어도 하나를 포함하는 영상 통화 서비스를 제공하는 방법을 수행하도록 하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  2. 제1항에 있어서,
    상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 준비하는 단계;
    를 더 포함하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  3. 제1항에 있어서,
    상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델은, 인공 신경망을 통해 학습된 것인, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  4. 제3항에 있어서,
    상기 제1 사용자가 불량 사용자인지를 예측하는 단계는,
    상기 인공 신경망을 이용하여 상기 제1 사용자의 안면 특징점들의 분포 정보를 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델에 따라 학습하는 단계; 및
    상기 학습 결과에 기초하여, 상기 제1 사용자가 상기 필터링 항목에 대한 불량 사용자인지를 예측하는 단계;
    를 포함하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  5. 제1항에 있어서,
    상기 필터링 항목이 적어도 두 항목을 포함하면,
    상기 제1 사용자가 불량 사용자인지를 예측하는 단계는,
    상기 제1 사용자의 안면 특징점들의 분포 정보를 상기 필터링 항목 각각에 대한 불량 사용자를 판별하기 위한 학습 모델에 적용하여, 상기 제1 사용자가 상기 필터링 항목 각각에 대한 불량 사용자인지를 예측하는 것인, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  6. 제2항에 있어서,
    상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 준비하는 단계는,
    상기 복수의 사용자에 대해서 상기 필터링 항목에 대한 불량 사용자 판별 이력을 학습하여, 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 하는 단계;
    를 포함하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  7. 제1항에 있어서,
    상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 단계는,
    상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 부위인 눈 부위, 코 부위, 입 부위, 이마 부위, 및 턱 부위 중 적어도 하나의 부위의 특징점들을 추출하는 것이고,
    상기 복수의 사용자의 안면 특징점들에 기초한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 단계는,
    상기 학습 모델에 상기 제1 사용자의 안면 부위 중 적어도 두 부위의 조합에 대한 특징점들의 분포 정보를 적용하는 단계;
    를 포함하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  8. 제1항에 있어서,
    상기 제1 사용자가 불량 사용자인 것으로 예측되면,
    상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계는,
    상기 애플리케이션의 실행 화면 상에 경고 메시지를 표시하는 단계;
    상기 애플리케이션의 실행 화면 상에서 상기 제1 사용자가 출력되는 영역을 모자이크 처리하여 표시하는 단계; 및
    상기 제1 단말이 제2 단말과 수립된 영상 통화 세션을 자동으로 종료시키는 단계 중 적어도 하나의 단계를 수행하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  9. 제1항에 있어서,
    상기 제1 사용자가 정상 사용자인 것으로 예측되면,
    상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계는,
    상기 제1 단말이 제2 단말과 수립된 영상 통화 세션을 계속하여 유지시키는 단계를 포함하고,
    상기 영상 통화 서비스를 제공하는 방법은,
    제1항의 상기 제1 영상 스트림을 수신하는 단계, 상기 제1 사용자의 안면 특징점들을 추출하는 단계, 상기 제1 사용자가 불량 사용자인지를 예측하는 단계, 및 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 단계를 실시간 또는 소정의 주기마다 반복적으로 수행하는 단계를 더 포함하는, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  10. 제2항에 있어서,
    상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 준비하는 단계는,
    상기 영상 통화 서비스를 제공하는 서버로부터 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 수신하는 것인, 컴퓨터 판독 가능 저장매체에 저장된 애플리케이션.
  11. 영상 통화를 지원하는 복수의 단말과 통신을 수행하는 통신 인터페이스;
    스토리지;
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리;를 포함하고,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 복수의 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 복수의 단말 각각으로부터 상기 복수의 단말 각각에 대응되는 복수의 사용자의 영상 스트림을 수신하고,
    상기 영상 스트림으로부터 상기 복수의 사용자의 안면 특징점들을 추출하고,
    상기 복수의 사용자의 안면 부위 중 적어도 두 부위의 조합에 대한 안면 특징점들의 특징 벡터로부터 획득된 복수의 사용자의 안면 특징점들의 분포 정보와 상기 복수의 사용자의 안면 특징점들의 분포 정보 각각에 대응되는 상기 애플리케이션의 필터링 항목의 준수 여부를 나타내는 필터링 항목의 정보 간의 상관 관계에 기초하여 학습된, 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성하고,
    상기 생성된 학습 모델을 상기 복수의 단말로 전송하고,
    상기 필터링 항목은, 사용자의 성별, 나이, 상기 애플리케이션이 실행되는 동안의 신체 노출 정도 및 욕설 빈도 중 적어도 하나를 포함하는, 영상 통화 서비스를 제공하는 서버.
  12. 제11항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    인공 신경망을 통한 연산을 수행하여, 상기 복수의 사용자의 안면 특징점들의 분포 정보와 상기 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 상기 필터링 항목의 정보의 상관 관계를 학습하고, 상기 학습 결과에 기초하여 상기 인공 신경망을 훈련하여, 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성하는, 영상 통화 서비스를 제공하는 서버.
  13. 제11항에 있어서,
    상기 필터링 항목이 적어도 두 항목을 포함하면,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 복수의 사용자의 안면 특징점들의 분포 정보 및 상기 복수의 사용자의 안면 특징점들의 분포 정보에 대응되는 상기 필터링 항목 각각의 정보에 기초하여, 상기 필터링 항목 각각에 대한 불량 사용자를 판별하기 위한 학습 모델을 생성하는, 영상 통화 서비스를 제공하는 서버.
  14. 제11항에 있어서,
    상기 프로세서는, 상기 명령어들을 실행함으로써,
    상기 복수의 사용자에 대해서 상기 필터링 항목에 대한 불량 사용자 판별 이력을 학습하여, 상기 필터링 항목에 대한 불량 사용자를 판별하기 위한 학습 모델을 업데이트 하는, 영상 통화 서비스를 제공하는 서버.
  15. 제1 단말에서 영상 통화 서비스를 제공하는 애플리케이션이 실행됨에 따라, 상기 제1 단말의 제1 사용자를 촬영한 제1 영상 스트림을 수신하는 명령어들;
    상기 제1 영상 스트림으로부터 상기 제1 사용자의 안면 특징점들을 추출하는 명령어들;
    복수의 사용자의 안면 부위 중 적어도 두 부위의 조합에 대한 안면 특징점들의 특징 벡터로부터 획득된 복수의 사용자의 안면 특징점들의 분포 정보와 상기 복수의 사용자의 안면 특징점들의 분포 정보 각각에 대응되는 상기 애플리케이션의 필터링 항목의 준수 여부를 나타내는 필터링 항목의 정보 간의 상관 관계에 기초하여 학습된, 상기 필터링 항목에 대한 불량 사용자 판별을 위한 학습 모델에 상기 제1 사용자의 안면 특징점들의 분포 정보를 적용하여, 상기 제1 사용자가 불량 사용자인지를 예측하는 명령어들; 및
    상기 예측 결과에 기초하여, 상기 애플리케이션의 실행 화면 내의 컴포넌트의 표시를 제어하는 명령어들;을 포함하고,
    상기 필터링 항목은, 사용자의 성별, 나이, 상기 애플리케이션이 실행되는 동안의 신체 노출 정도 및 욕설 빈도 중 적어도 하나를 포함하는 프로세서에 의해 실행 가능한 명령어들이 저장된 비일시적 컴퓨터 판독 가능 저장매체.
KR1020170173116A 2017-12-15 2017-12-15 영상 통화 서비스를 제공하는 단말과 서버 KR102056806B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170173116A KR102056806B1 (ko) 2017-12-15 2017-12-15 영상 통화 서비스를 제공하는 단말과 서버
US16/219,851 US10970523B2 (en) 2017-12-15 2018-12-13 Terminal and server for providing video call service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170173116A KR102056806B1 (ko) 2017-12-15 2017-12-15 영상 통화 서비스를 제공하는 단말과 서버

Publications (2)

Publication Number Publication Date
KR20190072066A KR20190072066A (ko) 2019-06-25
KR102056806B1 true KR102056806B1 (ko) 2019-12-18

Family

ID=66816087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170173116A KR102056806B1 (ko) 2017-12-15 2017-12-15 영상 통화 서비스를 제공하는 단말과 서버

Country Status (2)

Country Link
US (1) US10970523B2 (ko)
KR (1) KR102056806B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11553157B2 (en) 2016-10-10 2023-01-10 Hyperconnect Inc. Device and method of displaying images
KR101932844B1 (ko) 2017-04-17 2018-12-27 주식회사 하이퍼커넥트 영상 통화 장치, 영상 통화 방법 및 영상 통화 중개 방법
KR102282963B1 (ko) 2019-05-10 2021-07-29 주식회사 하이퍼커넥트 단말기, 서버 및 그것의 동작 방법
CN110266994B (zh) * 2019-06-26 2021-03-26 广东小天才科技有限公司 一种视频通话方法、视频通话装置及终端
KR102311603B1 (ko) 2019-10-01 2021-10-13 주식회사 하이퍼커넥트 단말기 및 그것의 동작 방법
US10805801B1 (en) * 2019-10-02 2020-10-13 International Business Machines Corporation Automatic mobile device usage restriction
KR102293422B1 (ko) 2020-01-31 2021-08-26 주식회사 하이퍼커넥트 단말기 및 그것의 동작 방법
KR102287704B1 (ko) * 2020-01-31 2021-08-10 주식회사 하이퍼커넥트 단말기, 그것의 동작 방법 및 컴퓨터 판독 가능한 기록매체
CN111488476B (zh) * 2020-04-03 2023-06-27 北京爱芯科技有限公司 图像推送方法、模型训练方法及对应装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138067A (ko) 2009-06-24 2010-12-31 에스케이 텔레콤주식회사 영상메시지 서비스 시스템 및 영상메시지 서비스 방법
KR101170338B1 (ko) 2009-09-05 2012-08-02 에스케이플래닛 주식회사 화상 통화 방법 및 시스템
KR20110066676A (ko) * 2009-12-11 2011-06-17 한국전자통신연구원 피부색과 얼굴 정보 기반 유해 멀티미디어 차단 장치 및 방법
US9282127B1 (en) * 2014-07-31 2016-03-08 Anthony Nicholas Burns Mobile dating application utilizing social media, facial recognition and GPS-based user pairing
US10115185B2 (en) * 2014-12-05 2018-10-30 At&T Intellectual Property I, L.P. Dynamic image recognition model updates
US9503456B1 (en) * 2015-01-22 2016-11-22 Google Inc. Video chat abuse detection based on external context
US9830529B2 (en) * 2016-04-26 2017-11-28 Xerox Corporation End-to-end saliency mapping via probability distribution prediction

Also Published As

Publication number Publication date
US20190188453A1 (en) 2019-06-20
US10970523B2 (en) 2021-04-06
KR20190072066A (ko) 2019-06-25

Similar Documents

Publication Publication Date Title
KR102056806B1 (ko) 영상 통화 서비스를 제공하는 단말과 서버
US11042728B2 (en) Electronic apparatus for recognition of a user and operation method thereof
US11551374B2 (en) Hand pose estimation from stereo cameras
US20200412975A1 (en) Content capture with audio input feedback
CN111418198B (zh) 提供文本相关图像的电子装置及其操作方法
US20190042574A1 (en) Electronic device and method for controlling the electronic device
KR102595790B1 (ko) 전자 장치 및 그의 제어방법
KR20180111467A (ko) 사용자 감정 판단을 위한 전자 장치 및 이의 제어 방법
US10949654B2 (en) Terminal and server for providing video call service
US20200412864A1 (en) Modular camera interface
US11403799B2 (en) Method and apparatus for recognizing face-swap, device and computer readable storage medium
WO2017088434A1 (zh) 人脸模型矩阵训练方法、装置及存储介质
KR20190140801A (ko) 영상, 음성, 텍스트 정보를 기반으로 사용자의 감정, 나이, 성별을 인식하는 방법
CN112084959B (zh) 一种人群图像处理方法及装置
US20240070467A1 (en) Detecting digital image manipulations
CN113723185A (zh) 动作行为识别方法、装置、存储介质及终端设备
US10769795B2 (en) Image processing method and device
KR20190109654A (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
KR102532230B1 (ko) 전자 장치 및 그 제어 방법
CN112818733B (zh) 信息处理方法、装置、存储介质及终端
US11954595B2 (en) Electronic device for recognizing object in image, and operation method thereof
WO2023137923A1 (zh) 基于姿态指导的行人重识别方法、装置、设备及存储介质
WO2020207294A1 (zh) 服务处理方法、装置、存储介质及电子设备
Aravindan et al. A Smart Assistive System for Visually Impaired to Inform Acquaintance Using Image Processing (ML) Supported by IoT
CN113762046A (zh) 图像识别方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant