KR20240072036A - 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치 - Google Patents

인공지능 기반 행동 모니터링 방법, 프로그램 및 장치 Download PDF

Info

Publication number
KR20240072036A
KR20240072036A KR1020230143235A KR20230143235A KR20240072036A KR 20240072036 A KR20240072036 A KR 20240072036A KR 1020230143235 A KR1020230143235 A KR 1020230143235A KR 20230143235 A KR20230143235 A KR 20230143235A KR 20240072036 A KR20240072036 A KR 20240072036A
Authority
KR
South Korea
Prior art keywords
behavior
model
person
detection
computing device
Prior art date
Application number
KR1020230143235A
Other languages
English (en)
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 KR1020230143235A priority Critical patent/KR20240072036A/ko
Publication of KR20240072036A publication Critical patent/KR20240072036A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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
    • 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/18Eye characteristics, e.g. of the iris
    • 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/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Ophthalmology & Optometry (AREA)
  • Image Analysis (AREA)

Abstract

본 개시의 일 실시예에 따른 하기 위한 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하는 단계; 및 사전 결정된 룰셋(ruleset)을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정하는 단계를 포함할 수 있다.

Description

인공지능 기반 행동 모니터링 방법, 프로그램 및 장치{METHOD, PROGRAM, AND APPARATUS FOR MONITORING BEHAVIORS BASED ON ARTIFICIAL INTELLIGENCE}
본 개시는 데이터 분석 기술에 관한 것으로, 구체적으로 인공지능을 기반으로 하는 사람의 행동에 대한 복합적 판단 결과를 토대로 추정하고 모니터링 하는 방법 및 장치에 관한 것이다.
특정 목적에 따라 구축된 환경 내에서, 사람이 취한 행동을 확인하고 사람이 취한 행동이 어떠한 결과를 초래하는지를 분석하는 것이 필요한 상황이 발생한다. 예를 들어, 시험을 치르는 교육 환경에서는, 시험 시간 동안 응시자가 어떠한 행동을 취하는지 모니터링 할 필요가 있다. 특히, 오프라인 시험과는 달리 온라인 시험은 응시자의 행동과 주변 환경을 효과적으로 확인하기 어렵다. 따라서, 온라인 시험을 치르는 환경에서는, 관리자가 응시자가 취한 행동을 실시간으로 정확히 분석하여 부정행위가 있었는지를 확인하는 것이 더욱 중요하다.
상술한 예시를 통해 알 수 있듯이, 온라인을 통해 구축된 환경에서 사람의 행동과 주변 환경을 효과적으로 모니터링 하는 것은 쉽지 않다. 카메라 등과 같은 감지 장치를 이용하여 사람의 특정 행동을 분석하는 종래 기술들이 존재하지만, 특정 상황에서 획득되는 단편적인 정보만을 토대로 사람의 특정 행동을 분석하는 것이 대부분이다. 다만, 이와 같이 단편적인 정보만을 토대로 분석이 수행되면, 특정 환경에서 판단이 요구되는 행동을 사람이 취하고 있는 것인지가 정확하게 해석될 수 없다. 예를 들어, 온라인 시험을 치르는 환경에서 사람을 촬영한 정면 이미지만을 분석하여 부정행위를 감지하는 경우, 정면 이미지에서 획득 가능한 제한된 정보로 인해 부정행위로 의심됨에도 부정행위로 판단하지 못하거나 부정행위가 아님에도 부정행위로 오판단하게 될 확률이 높아진다.
대한민국 공개특허공보 제10-2007-0050029호(2007.05.14.)
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 다양한 감지 결과를 토대로 특정 환경 내에서 사람이 어떠한 행동을 취하는지를 복합적으로 판단하고 정확하게 모니터링 할 수 있는 방법 및 장치를 제공하고자 한다.
다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 인공지능 기반 행동 모니터링 방법이 개시된다. 상기 방법은, 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하는 단계; 및 사전 결정된 룰셋(ruleset)을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정하는 단계를 포함할 수 있다.
대안적으로, 상기 감지 항목은, 상기 감지 대상의 하위 클래스를 기준으로 식별되는 상태 정보일 수 있다. 그리고, 상기 상태 정보는, 상기 사람의 행동에 따라 변화 가능한 것일 수 있다.
대안적으로, 상기 복수의 감지 대상들은, 상기 사람의 신체 부위에 더해, 상기 사람을 제외한 사물, 상기 사람의 행동과 연관된 객체의 소리 혹은 상기 사람의 행동과 연관된 객체의 시간 중 적어도 하나를 포함할 수 있다.
대안적으로, 상기 딥러닝 모델은, 이미지를 기반으로 사람의 포즈(pose)를 추정하는 제 1 모델; 이미지를 기반으로 사람의 얼굴 형태 및 방향을 추정하는 제 2 모델; 이미지를 기반으로 사람의 시선을 추적하는 제 3 모델; 이미지를 기반으로 사람을 제외한 사물을 인식하는 제 4 모델; 혹은 이미지 혹은 오디오 중 적어도 하나를 기반으로 사람의 행동과 연관된 객체의 소리 요소를 감지하는 제 5 모델 중 적어도 하나를 포함할 수 있다.
대안적으로, 상기 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하는 단계는, 소정의 주기로 상기 관찰 데이터를 획득하는 단계; 및 상기 획득된 관찰 데이터를 상기 제 1 모델, 상기 제 2 모델, 상기 제 3 모델, 상기 제 4 모델 혹은 상기 제 5 모델 중 적어도 하나에 입력하여, 상기 소정의 주기 동안 수행된 상기 사람의 행동 결과를 반영하는, 상기 감지 항목에 대한 분석 결과를 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 소정의 주기는, 행동 모니터링을 관장하는 클라이언트(client)를 통해 설정되는 환경 조건에 맞추어 결정될 수 있다.
대안적으로, 사전 결정된 룰셋을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정하는 단계는, 상기 생성된 분석 결과들 중에서 상기 사전 결정된 룰셋에 포함된 행동 클래스 별 판단 조건에 매칭되는 분석 결과들을 식별하는 단계; 상기 식별된 분석 결과들의 정확도 및 상기 사전 결정된 룰셋에 포함된 행동 클래스와 상기 식별된 분석 결과들의 상관 관계를 추정하는 단계; 및 상기 추정된 정확도 및 상관 관계를 기초로 상기 식별된 분석 결과들을 조합하여, 상기 사람의 행동을 추정하는 단계를 포함할 수 있다.
대안적으로, 상기 추정된 정확도 및 상관 관계를 기초로 상기 식별된 분석 결과들을 조합하여, 상기 사람의 행동을 추정하는 단계는, 상기 식별된 분석 결과들 각각에 상기 추정된 정확도에 따른 제 1 가중치를 부여하는 단계; 상기 식별된 분석 결과들 각각에 상기 추정된 상관 관계에 따른 제 2 가중치를 부여하는 단계; 및 상기 제 1 가중치와 상기 제 2 가중치를 조합하여 도출된 수치 값을 토대로, 상기 사전 결정된 룰셋에 포함된 행동 클래스 중 적어도 하나를 상기 사람이 수행했는지를 판단하는 단계를 포함할 수 있다.
대안적으로, 상기 사전 결정된 룰셋에 포함된 행동 클래스는, 행동 모니터링을 관장하는 클라이언트를 통해 설정되는, 시험의 부정행위에 대응되는 제 1 행동 클래스; 및 상기 클라이언트를 통해 설정되는, 상기 시험을 치르는데 불필요한 이상 행동에 대응되는 제 2 행동 클래스를 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 인공지능을 기반으로 행동을 모니터링 하기 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하는 동작; 사전 결정된 룰셋을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정하는 동작을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 획득하기 위한 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 상기 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하고, 사전 결정된 룰셋을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정할 수 있다.
본 개시는 다양한 감지 결과를 토대로 특정 환경 내에서 사람이 어떠한 행동을 취하는지를 복합적으로 판단하고 정확하게 모니터링 할 수 있는 방법 및 장치를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2 는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 행동 모니터링을 수행하는 과정을 나타낸 블록도이다.
도 3은 본 개시의 대안적 실시예에 따른 컴퓨팅 장치의 행동 모니터링을 수행하는 과정을 나타낸 블록도이다.
도 4a는 본 개시의 일 실시예에 따른 감지 항목 별 분석 방식 및 분석 결과를 정리한 표이다.
도 4b는 본 개시의 일 실시예에 따른 행동 추정을 위한 룰셋(ruleset) 및 행동 추정 결과를 정리한 표이다.
도 5a 내지 도 5c는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 행동 별 추정 과정을 세분화 한 개념도이다.
도 6은 본 개시의 일 실시예에 따른 인공지능 기반 행동 모니터링 방법을 나타낸 순서도이다.
도 7은 본 개시의 일 실시예에 따른 온라인 시험 환경에서 행동을 모니터링하는 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다.
본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.
본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다.
본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다.
본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.
본 개시에서 사용되는 "획득" 이라는 용어는, 외부 장치 혹은 시스템과의 무선 통신 네트워크를 통해 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 데이터를 생성 혹은 수신하는 것을 지칭하는 것으로 이해될 수 있다.
한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈" 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈" 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈" 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈" 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.
본 개시에서 사용되는 "모델(model)" 이라는 용어는 특정 문제를 해결하기 위해 수학적 개념과 언어를 사용하여 구현되는 시스템, 특정 문제를 해결하기 위한 소프트웨어 단위의 집합, 혹은 특정 문제를 해결하기 위한 처리 과정에 관한 추상화 모형으로 이해될 수 있다. 예를 들어, 딥러닝(deep learning) "모델" 은 학습을 통해 문제 해결 능력을 갖는 신경망으로 구현되는 시스템 전반을 지칭할 수 있다. 이때, 신경망은 노드(node) 혹은 뉴런(neuron)을 연결하는 파라미터(parameter)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 딥러닝 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.
본 개시에서 사용되는 "영상" 이라는 용어는 이산적 이미지 요소들로 구성된 다차원 데이터를 지칭할 수 있다. 다시 말해, "영상"은 사람의 눈으로 볼 수 있는 대상의 디지털 표현물을 지칭하는 용어로 이해될 수 있다. 예를 들어, "영상" 은 2차원 이미지에서 픽셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다. "영상"은 3차원 이미지에서 복셀에 해당하는 요소들로 구성된 다차원 데이터를 지칭할 수 있다.
전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도다.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리할 수 있도록 하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 및 네트워크부(network unit)(130)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.
본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 컴퓨터 프로그램을 판독하여 기계 학습을 위한 데이터 처리를 수행할 수 있다. 프로세서(110)는 기계 학습을 위한 입력 데이터의 처리, 기계 학습을 위한 특징 추출, 역전파(backpropagation)에 기반한 오차 계산 등과 같은 연산 과정을 처리할 수 있다. 이와 같은 데이터 처리를 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
프로세서(110)는 사전 학습된 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 복수의 감지 대상들 각각에 대한 분석 결과를 생성할 수 있다. 이때, 감지 대상은 사람의 행동을 추정하기 위한 기준이 되는, 관찰 데이터의 구성 요소로 이해될 수 있다. 그리고, 감지 대상에 대한 분석 결과는 관찰 데이터에 존재하는 감지 대상을 기준으로 사람이 어떠한 행동을 취하는지를 나타내는 정보일 수 있다. 구체적으로, 감지 대상은 사람의 신체 부위, 사람을 제외한 사물, 사람의 행동과 연관된 객체의 소리 혹은 사람의 행동과 연관된 객체의 시간 중 어느 하나일 수 있다. 사람의 행동과 연관된 객체는 사람의 신체 부위일 수도 있고, 사람의 행동에 영향을 받아 변화 가능한 사물일 수 있다. 그리고, 감지 대상에 대한 분석 결과는 관찰 데이터에 존재하는 사람의 신체 부위, 사물, 객체의 소리, 혹은 객체의 시간을 기준으로 사람이 수행한 행동에 관한 정보일 수 있다. 즉, 프로세서(110)는 사전 학습된 딥러닝 모델로 관찰 데이터를 입력하여, 관찰 데이터에 존재하는 감지 대상들 각각에 대한 분석 결과를 행동 모니터링을 위한 특정 환경 하에서 수행되는 사람의 특정 행동을 검출하기 위한 기초 데이터로 생성할 수 있다.
프로세서(110)는 사전 결정된 룰셋(ruleset)을 사용하여 딥러닝 모델을 통해 생성된 분석 결과들을 토대로 사람의 특정 행동을 추정할 수 있다. 이때, 룰셋은 행동 모니터링을 위한 특정 환경에서 검출 후보가 되는 행동 클래스와 각 행동 클래스 별 판단 조건의 집합일 수 있다. 그리고, 룰셋은 행동 모니터링을 위한 특정 환경을 구축한 관리자에 의해 생성, 변경, 혹은 수정될 수 있다. 즉, 프로세서(110)는 행동 모니터링을 위한 특정 환경에 맞추어 커스터마이징(customizing) 가능한 룰셋을 토대로, 관찰 데이터에 존재하는 감지 대상들 각각에 대한 분석 결과를 종합적으로 판단하여 관찰 데이터에 존재하는 사람의 행동을 추정할 수 있다. 예를 들어, 행동 모니터링을 위한 환경이 온라인 시험을 위한 환경이라고 가정하면, 시험 감독관의 클라이언트(client)에 의해 생성된 룰셋은 시험의 부정행위 및/또는 부정행위까지는 아니지만 부정행위로 의심될 수 있는 이상(abnormal) 행동과, 부정행위 및/또는 이상 행동 각각에 대한 판단 조건의 집합일 수 있다. 프로세서(110)는 상술한 룰셋에 포함된 판단 조건에 매칭되는 딥러닝 모델의 분석 결과를 식별할 수 있다. 그리고, 프로세서(110)는 판단 조건에 매칭되는 딥러닝 모델의 분석 결과를 조합할 수 있다. 이때, 판단 조건에 매칭되는 분석 결과의 조합은 각 분석 결과 별 정확도와 부정행위 혹은 이상 행동과의 상관 관계를 토대로 수학적 연산을 수행하는 작업으로 이해될 수 있다. 프로세서(110)는 판단 조건에 매칭되는 딥러닝 모델의 분석 결과를 조합하여 도출된 수치 값을 토대로, 관찰 데이터로 확인되는 상황 하에서 시험의 응시자가 룰셋에 포함된 부정행위 혹은 이상 행동을 시험 응시자가 수행했는지를 판단할 수 있다.
이와 같이 프로세서(110)는 인공지능을 사용하여 다양한 감지 대상들을 기준으로 사람이 어떠한 행동을 취하는지를 나타내는 개별 정보를 도출하고, 특정 환경에 맞춰 생성되는 룰셋을 근거로 감지 대상들 각각에 대해 도출된 개별 정보를 종합적으로 판단하여 사람의 특정 행동을 모니터링 할 수 있다. 즉, 프로세서(110)는 관찰 데이터에서 획득 가능한 모든 정보를 종합적으로 고려하여 모니터링을 수행하므로, 특정 환경에서 검출하고자 하는 사람의 행동을 보다 세밀하고 정확하게 추정할 수 있고, 효과적인 모니터링 환경을 제공할 수 있다.
본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 또는 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 획득된 관찰 데이터를 저장할 수 있다. 메모리(120)는 프로세서(110)가 딥러닝 모델을 학습시키도록 동작시키는 프로그램 코드, 프로세서(110)가 학습된 딥러닝 모델을 사용하여 사람의 행동을 추정하도록 동작시키는 프로그램 코드 및 프로그램 코드가 실행됨에 따라 산출된 각종 데이터 등을 저장할 수 있다.
본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.
네트워크부(130)는 임의의 시스템, 서버 혹은 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템, 서버 혹은 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 카메라 등과 같은 감지 장치 혹은 감지 장치를 구비한 클라이언트 등과의 유무선 통신을 통해, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 수신할 수 있다. 그리고, 네트워크부(130)는 감지 장치 혹은 감지 장치를 구비한 클라이언트에서 구현되는 사용자 인터페이스를 통해, 사용자 입력을 수신할 수 있다. 네트워크부(130)는 감지 장치 혹은 감지 장치를 구비한 클라이언트 등과의 유무선 통신을 통해, 관찰 데이터를 기반으로 프로세서(110)의 연산을 통해 생성된 각종 데이터를 송신할 수 있다.
도 2 는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 행동 모니터링을 수행하는 과정을 나타낸 블록도이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 행동 모니터링의 대상이 되는 사람에 대한 관찰 데이터(11)를 사전 학습된 딥러닝 모델(200)에 입력할 수 있다. 이때, 관찰 데이터(11)는 행동 모니터링을 특정 환경에서 행동을 취하는 사람을 대상으로 하여 획득 가능한 데이터로 이해될 수 있다.
예를 들어, 관찰 데이터(11)는 온라인 시험을 위한 공간에 설치된 카메라를 통해 촬영된 이미지, 영상 혹은 온라인 시험을 위한 공간에 설치된 마이크를 통해 수집된 오디오 중 적어도 하나일 수 있다. 이때, 카메라 및 마이크와 같은 관찰 데이터(11)의 감지 장치는 시험 응시자가 보유한 클라이언트의 일 구성일 수 있다. 온라인 시험이 시작되면, 시험 응시자의 클라이언트에 포함된 감지 장치가 시험 응시자와 시험 응시 공간에 대한 이미지, 영상 혹은 오디오 중 적어도 하나를 생성할 수 있다. 컴퓨팅 장치(100)는 시험 응시자의 클라이언트와 유무선 통신을 통해 시험 응시자의 클라이언트에서 생성한 관찰 데이터(11)를 획득할 수 있다. 그리고, 컴퓨팅 장치(100)는 획득된 관찰 데이터(11)를 사전 학습된 딥러닝 모델(200)에 입력할 수 있다.
컴퓨팅 장치(100)는 관찰 데이터(11)가 입력된 딥러닝 모델(200)을 통해 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 대한 분석 결과를 생성할 수 있다. 여기서, 감지 항목은 감지 대상의 하위 클래스를 기준으로 식별되는 상태 정보일 수 있다. 그리고, 감지 항목은 사람의 행동에 따라 변화 가능한 상태를 나타낼 수 있다.
예를 들어, 감지 대상이 사람의 신체 부위라고 하면, 감지 대상의 하위 클래스는 얼굴, 팔 등으로 구분될 수 있다. 얼굴은 다시 눈, 코, 입, 귀로 구분될 수 있다. 그리고, 팔은 다시 손, 손바닥, 손가락 등으로 구분될 수 있다. 감지 항목은 이와 같은 감지 대상의 하위 클래스 각각을 기준으로 감지될 수 있는 상태 정보로서, 시선 방향, 발화 여부, 손의 위치, 손바닥 방향 등일 수 있다. 즉, 감지 항목은 감지 대상의 하위 클래스가 사람의 행동에 따라 움직이거나 변화함으로써 나타날 수 있는 특정 상태나 모습을 나타낼 수 있다.
다시 말해서, 컴퓨팅 장치(100)는 관찰 데이터(11)를 사전 학습된 딥러닝 모델(200)에 입력하여 다양한 감지 항목에 대한 복수의 분석 결과들(13, 15, 17)을 생성할 수 있다. 이때, 딥러닝 모델(200)을 통해 생성된 제 1 분석 결과(13), 제 2 분석 결과(15), 제 3 분석 결과(17) 각각은 시선 방향, 발화 여부, 손의 위치, 손바닥 방향 등과 같은 감지 항목 각각에 매칭될 수 있다.
예를 들어, 행동 모니터링을 위한 환경이 온라인 시험을 위한 환경이라고 가정하면, 시선 방향에 매칭되는 제 1 분석 결과(13)는 시험 응시자가 시험지를 확인하는 디스플레이(display) 안을 응시하고 있는지에 대한 감지 결과를 나타낼 수 있다. 발화 여부에 매칭되는 제 2 분석 결과(15)는 시험 응시자의 입모양이 변화했는지 여부를 감지한 결과를 나타낼 수 있다. 손의 위치에 매칭되는 제 3 분석 결과(17)는 시험 응시자의 왼손 혹은 오른손이 시험 응시자의 몸과 책상의 배치에 따라 결정된 기준 공간 내에서 움직이고 있는지 여부를 감지한 결과를 나타낼 수 있다. 이와 같이 컴퓨팅 장치(100)는 사전 학습된 딥러닝 모델(200)을 사용하여 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 대한 분석 결과를 개별적으로 생성할 수 있다. 컴퓨팅 장치(100)는 이러한 연산 과정을 통해 관찰 데이터(11)로부터 하나의 행동을 유추하는데 사용될 수 있는 다양한 정보를 획득하여 후술할 행동 추정을 위한 연산 과정에 활용할 수 있다.
한편, 딥러닝 모델(200)은 단일 데이터의 처리가 가능한 신경망 기반의 모델일 수 있고, 시퀀셜(sequential) 데이터의 처리가 가능한 신경망 기반의 모델일 수도 있다. 예를 들어, 딥러닝 모델(200)은 단일 데이터에 해당하는 이미지를 입력받아 이미지의 특징을 추출하여 객체를 인식하는 컨볼루셔널(convolutional) 신경망을 포함할 수 있다. 또한, 딥러닝 모델(200)은 오디오와 같은 시퀀셜 데이터를 입력받아 시퀀셜 데이터의 특징을 추출하여 해석하는 순환(recurrent) 신경망을 포함할 수도 있다. 상술한 예시 이외에도 단일 데이터 혹은 시퀀셜 데이터의 처리가 가능한 신경망은 본 개시의 딥러닝 모델(200)에 포함될 수 있다.
딥러닝 모델(200)은 관찰 데이터에 존재하는 감지 대상의 감지 항목에 대하여 사전 검증된 분석 결과를 GT(ground truth)로 하는 라벨을 이용하여 사전 학습될 수 있다. 구체적으로, 학습 과정에서, 딥러닝 모델(200)은 관찰 데이터를 입력받아 관찰 데이터에 존재하는 감지 대상의 감지 항목 별 분석 결과를 생성할 수 있다. 그리고, 딥러닝 모델(200)은 생성된 분석 결과와 라벨을 비교하고, 비교 결과를 기반으로 신경망의 파라미터를 업데이트 하는 과정을 반복 수행함으로써, 학습을 수행할 수 있다. 이때, 비교를 위한 연산은 크로스 엔트로피(cross entropy) 등과 같은 손실 함수를 통해 계산된 손실이 최소가 되는 방향으로 수행될 수 있다. 상술한 예시는 지도 학습에 기반한 학습 과정이지만, 딥러닝 모델(200)은 지도 학습 이외에도 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수도 있다.
도 2를 참조하면, 컴퓨팅 장치(100)는 딥러닝 모델(200)을 통해 생성된 복수의 분석 결과들을 조합하여 모니터링 대상인 사람의 행동 추정 결과(19)를 생성할 수 있다. 이때, 컴퓨팅 장치(100)는 행동 모니터링을 위한 특정 환경에 맞추어 사전 결정된 룰셋을 사용할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 딥러닝 모델(200)을 통해 생성된 분석 결과들 중에서 사전 결정된 룰셋에 포함된 행동 클래스 별 판단 조건에 매칭되는 분석 결과들을 식별할 수 있다. 컴퓨팅 장치(100)는 식별된 분석 결과들의 정확도 및 사전 결정된 룰셋에 포함된 행동 클래스와 식별된 분석 결과들의 상관 관계를 추정할 수 있다. 그리고, 컴퓨팅 장치(100)는 추정된 정확도와 상관 관계를 기초로 분석 결과들을 조합하여 특정 환경 하에서 행동 모니터링을 위해 검출되어야 하는 사람의 행동을 추정될 수 있다. 컴퓨팅 장치(100)는 이러한 연산 과정을 통해 다양한 정보를 토대로 특정 행동을 세밀하고 정확하게 판단하여 검출할 수 있다.
예를 들어, 행동 모니터링을 위한 환경이 온라인 시험을 위한 환경이라고 가정하면, 컴퓨팅 장치(100)는 사전 결정된 룰셋을 스크리닝(screening) 함으로써, 시선 방향에 매칭되는 제 1 분석 결과(13), 발화 여부에 매칭되는 제 2 분석 결과(15) 및 손의 위치에 매칭되는 제 3 분석 결과(17) 중 부정행위에 관한 제 1 행동 클래스의 판단 조건 및/또는 이상 행동에 관한 제 2 행동 클래스의 판단 조건에 해당하는 분석 결과를 식별할 수 있다. 컴퓨팅 장치(100)는 제 1 분석 결과(13), 제 2 분석 결과(15) 및 제 3 분석 결과(17) 중 제 1 행동 클래스 및/또는 제 2 행동 클래스에 해당하는 분석 결과에 대한 정확도를 추정할 수 있다. 이때, 정확도는 딥러닝 모델(200)이 얼만큼 정확히 분석하였는지를 나타내는 정량적 지표로 이해될 수 있다. 그리고, 컴퓨팅 장치(100)는 제 1 행동 클래스 및/또는 제 2 행동 클래스에 해당하는 분석 결과와 제 1 행동 클래스 및/또는 제 2 행동 클래스 간의 상관 관계를 사전 결정된 룰셋에 따라 추정할 수 있다. 이때, 상관 관계는 특정 분석 결과가 특정 행동 클래스를 판단하는데 영향을 미치는 정도를 나타내는 정량적 지표로 이해될 수 있다. 컴퓨팅 장치(100)는 추정된 정확도와 상관 관계에 따라 제 1 행동 클래스 및/또는 제 2 행동 클래스에 해당하는 분석 결과에 가중치를 부여할 수 있다. 컴퓨팅 장치(100)는 정확도와 상관 관계 각각을 기준으로 부여된 가중치를 조합하여 사전 결정된 룰셋에 포함된 행동 클래스 중 어느 하나를 행동 추정 결과(19)로 최종 결정하기 위한 수치 값을 도출할 수 있다. 이때, 수치 값은 사전 결정된 룰셋에 포함된 행동 클래스의 등급에 매칭되는 값일 수 있다. 즉, 컴퓨팅 장치(100)는 가중치 조합으로 도출된 수치 값을 토대로 사전 결정된 룰셋에 포함된 행동 클래스 중 어느 하나를 선택하여 행동 추정 결과(19)로 도출할 수 있다.
제 1 분석 결과(13), 제 2 분석 결과(15) 및 제 3 분석 결과(19) 중 제 1 행동 클래스의 판단 조건 혹은 제 2 행동 클래스의 판단 조건에 매칭되지 분석 결과가 존재하지 않는 경우, 컴퓨팅 장치(100)는 현재 입력된 관찰 데이터(11)를 기준으로 시험 응시자의 부정행위나 이상 행동이 일어나지 않은 것으로 판단할 수 있다. 그리고, 컴퓨팅 장치(100)는 다음 시점의 관찰 데이터를 딥러닝 모델(200)에 입력하여 상술한 분석 및 행동 추정 과정을 다시 수행할 수 있다.
도 3은 본 개시의 대안적 실시예에 따른 컴퓨팅 장치의 행동 모니터링을 수행하는 과정을 나타낸 블록도이다.
본 개시의 대안적 실시예에 따른 컴퓨팅 장치(100)는 적어도 하나 이상의 서브 모델을 포함하는 딥러닝 모델(200)을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터(21)를 기초로 복수의 감지 대상들에 포함된 적어도 하나의 감지 항목에 대한 분석 결과를 생성할 수 있다. 예를 들어, 도 3을 참조하면, 딥러닝 모델(200)은 이미지를 기반으로 사람의 포즈(pose)를 추정하는 제 1 모델(210), 이미지를 기반으로 사람의 얼굴 형태 및 방향을 추정하는 제 2 모델(220), 이미지를 기반으로 사람의 시선을 추적하는 제 3 모델(230), 이미지를 기반으로 사람을 제외한 사물을 인식하는 제 4 모델(240) 혹은 이미지 혹은 오디오 중 적어도 하나를 기반으로 사람의 행동과 연관된 객체의 소리 요소를 감지하는 제 5 모델(250)을 포함할 수 있다. 도 3에서는 딥러닝 모델(200)이 제 1 모델(210) 내지 제 5 모델(250)를 모두 포함하는 것으로 표현되어 있으나, 이에 한정되지 않는다. 즉, 딥러닝 모델(200)은 제 1 모델(210), 제 2 모델(220), 제 3 모델(230), 제 4 모델(240) 혹은 제 5 모델(250) 중 적어도 하나를 포함할 수 있다.
본 개시의 대안적 실시예에 따르면, 제 1 모델(210) 내지 제 5 모델(250) 각각은 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭될 수 있다. 즉, 제 1 모델(210) 내지 제 5 모델(250) 각각은 행동 모니터링을 위한 특정 환경에 따른 감지 항목에 맞추어 최적화 된 분석 결과를 도출하도록 사전 학습될 수 있다. 그리고, 제 1 모델(210) 내지 제 5 모델(250) 각각은 관찰 데이터(21)를 입력받아 학습된 감지 항목에 대한 분석 결과를 도출할 수 있다. 이때, 제 1 모델(210) 내지 제 5 모델(250)은 행동 모니터링을 위한 특정 환경에 따라 개별적으로 서로 다른 둘 이상의 감지 항목에 매칭되어 둘 이상의 분석 결과를 도출할 수 있다.
예를 들어, 이미지를 입력받아 사람의 포즈를 추정하는 제 1 모델(210)은 신체 부위라는 감지 대상에 포함된 손 위치와 손바닥 방향에 해당하는 서로 다른 두 개의 감지 항목들 각각에 대한 분석 결과를 도출하도록 학습될 수 있다. 따라서, 제 1 모델(210)은 관찰 데이터(21)를 입력받아 시험 응시자의 왼손 혹은 오른손이 시험 응시자의 몸과 책상의 배치에 따라 결정된 기준 공간 내에서 움직이고 있는지 여부를 감지한 결과를 나타내는 제 1-1 분석 결과(22)를 출력할 수 있다. 또한, 제 1 모델(210)은 관찰 데이터(21)를 입력받아 시험 응시자의 손바닥 방향이 시험 응시자의 시선 방향과 일치하는지를 판단한 결과를 나타내는 제 1-2 분석 결과(23)를 출력할 수 있다. 도 3는 표현되지 않았지만, 제 2 모델(220) 내지 제 5 모델(250) 각각도 상술한 제 1 모델(210)과 마찬가지로 서로 다른 둘 이상의 감지 항목에 대한 분석 결과를 생성할 수 있다.
이와 같이 하나 이상의 감지 항목에 대해 개별적으로 최적화 된 제 1 모델(210) 내지 제 5 모델(250)이 활용되면, 관찰 데이터(21)로부터 다양한 감지 항목 별 분석 결과를 도출하기 위한 연산 과정이 효율적이고 빠르게 처리될 수 있다. 그리고, 제 1 모델(210) 내지 제 5 모델(250)를 통한 효율적이고 빠른 처리를 통해 행동 모니터링을 실시간으로 수행할 수 있는 시스템이 구현될 수 있다.
한편, 제 1 모델(210)은 사람이 촬영된 이미지를 입력받아 이미지에 존재하는 사람이 취하는 포즈를 검출할 수 있다. 예를 들어, 제 1 모델(210)은 이미지를 입력받아 사람의 포즈를 식별하기 위한 복수의 특징점들을 기준으로 신체 부위와 배경을 분류하여 신체 부위에 대한 마스크(mask)를 생성할 수 있다. 그리고, 제 1 모델(210)은 신체 부위에 대한 마스크를 분석하여 사람이 어떠한 포즈를 취하고 있는지를 추정할 수 있다. 이러한 포즈 추정을 위해, 제 1 모델(210)은 이미지 처리에 최적화 된 신경망을 포함할 수 있다. 그리고, 제 1 모델(210)은 지도 학습 뿐만 아니라 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수 있다.
제 2 모델(220)은 사람이 촬영된 이미지를 입력받아 이미지에 존재하는 사람의 얼굴의 형태 및 방향을 검출할 수 있다. 예를 들어, 제 2 모델(220)은 사람이 촬영된 이미지에서 사람의 얼굴 영역을 추출하여 크롭(crop) 이미지를 생성할 수 있다. 제 2 모델(220)은 크롭 이미지를 기반으로 특징 맵(map)을 생성할 수 있다. 그리고, 제 2 모델(220)은 생성된 특징 맵과 크롭 이미지에 기반한 어파인 매트릭스(affine matrix)를 토대로 어텐션(attention) 연산을 수행하여 사람의 얼굴에 대한 메시(mesh) 형태의 3차원 랜드마크(landmark)를 생성할 수 있다. 제 2 모델(220)은 3차원 랜드마크를 토대로 얼굴의 형태를 추정하고, 3차원 랜드마크에 포함된 특징점들의 변화를 기반으로 얼굴의 방향을 추정할 수 있다. 이러한 얼굴 형태 및 방향 추정을 위해, 제 2 모델(220)은 이미지 처리에 최적화 된 신경망을 포함할 수 있다. 그리고, 제 2 모델(220)은 지도 학습 뿐만 아니라 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수 있다.
제 3 모델(230)은 사람이 촬영된 이미지를 입력받아 이미지에 존재하는 사람의 시선을 추적할 수 있다. 예를 들어, 제 3 모델(230)은 사람이 촬영된 이미지에서 사람의 얼굴 영역을 추출하여 크롭 이미지를 생성할 수 있다. 제 3 모델(230)은 크롭 이미지를 기반으로 특징을 추출하여 사람의 눈을 인식할 수 있다. 그리고, 제 3 모델(230)은 인식된 눈에 포함된 눈동자의 움직임 및 변화를 분석하여 사람의 시선을 추적할 수 있다. 이러한 시선 추적을 위해, 제 3 모델(230)은 이미지 처리에 최적화 된 신경망을 포함할 수 있다. 그리고, 제 3 모델(230)은 지도 학습 뿐만 아니라 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수 있다.
제 4 모델(240)은 객체가 촬영된 이미지를 입력받아 이미지에 존재하는 객체 중 사람을 제외한 사물을 검출할 수 있다. 예를 들어, 제 4 모델(240)은 이미지를 입력받아 이미지에 존재하는 객체 중 사람과 사물을 분류할 수 있다. 제 4 모델(240)은 분류된 사물을 기준으로 시맨틱 세그멘테이션(semantic segmentation)을 수행하여 이미지에 존재하는 사물의 종류 및 위치를 추정할 수 있다. 이때, 시맨틱 세그멘테이션으로는 픽셀 기반 방식, 엣지(edge) 기반 방식 및 영역 기반 방식이 제한없이 적용될 수 있다. 이러한 사물의 종류 및 위치 추정을 위해, 제 4 모델(240)은 이미지 처리에 최적화 된 신경망을 포함할 수 있다. 그리고, 제 4 모델(240)은 지도 학습 뿐만 아니라 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수 있다.
제 5 모델(250)은 행동 모니터링 대상인 사람이 존재하는 공간에서 발생하는 소리를 표현한 이미지 혹은 오디오를 입력받아 사람의 행동과 연관된 소리 요소를 감지할 수 있다. 예를 들어, 제 5 모델(250)은 소리 파형을 표현한 이미지 혹은 소리 파형 신호를 나타내는 오디오에서 소리 요소의 특징을 추출할 수 있다. 제 5 모델(250)은 이미지 혹은 오디오에서 추출된 소리 요소의 특징을 토대로, 행동 모니터링 대상인 사람이 존재하는 공간에서 발생하는 소리의 크기, 소리 발생 주체 및 소리 언어의 종류 등을 추정할 수 있다. 이러한 소리 추정을 위해, 제 5 모델(250)은 시퀀셜 데이터의 처리에 최적화 된 신경망을 포함할 수 있다. 그리고, 제 5 모델(250)은 지도 학습 뿐만 아니라 준지도 학습, 비지도 학습, 자기 지도 학습 등을 기반으로 학습될 수 있다.
한편, 제 1 모델(210) 내지 제 5 모델(250) 각각이 출력한 분석 결과들(22, 23, 24, 25, 26, 27)을 토대로 행동 추정 결과(28)를 도출하는 연산 과정은 상술한 도 2의 행동 추정 결과(19)를 도출하는 연산 과정에 대응되므로, 구체적인 설명은 이하에서 생략하도록 한다. 그리고, 도 2 및 도 3을 통해 상술한 감지 대상, 감지 항목 및 분석 결과의 구체적인 종류는 하나의 예시일 뿐이므로, 감지 대상, 감지 항목 및 분석 결과의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
도 4a는 본 개시의 일 실시예에 따른 감지 항목 별 분석 방식 및 분석 결과를 정리한 표이다. 도 4b는 본 개시의 일 실시예에 따른 행동 추정을 위한 룰셋 및 행동 추정 결과를 정리한 표이다.
도 4a의 표(30)를 참조하면, 본 개시의 일 실시예에 따른 감지 대상은 대분류, 중분류 및 소분류로 세분화 되는 하위 클래스로 구분될 수 있다. 그리고, 감지 항목은 감지 대상의 하위 클래스를 기준으로 구분될 수 있다. 감지 항목은 감지 대상의 하위 클래스를 기초로 측정되는 상태 정보에 해당하며, 사람의 행동에 따라 나타날 수 있는 변화 정보일 수 있다.
예를 들어, 신체 부위라는 감지 대상을 기준으로, 감지 대상의 하위 클래스는 얼굴, 팔 등을 포함하는 대분류, 눈, 코, 입, 귀, 손, 손바닥, 손가락 등을 포함하는 중분류, 중분류를 방향에 따라 왼쪽 혹은 오른쪽으로 구별하는 소분류로 구분될 수 있다. 그리고, 감지 항목은 감지 대상의 중분류 및 소분류에 매칭되어 구분될 수 있다. 구체적으로, 감지 항목은 눈을 기준으로 측정되는 시선 방향, 눈, 코, 귀, 입을 기준으로 측정되는 얼굴, 입을 기준으로 측정되는 발화, 손을 기준으로 측정되는 손의 위치, 손바닥을 기준으로 측정되는 손바닥 방향, 손가락을 기준으로 측정되는 손의 행위 등으로 구분될 수 있다.
본 개시의 일 실시예에 따른 복수의 딥러닝 모델들은 개별적으로 감지 항목에 매칭될 수 있다. 각 감지 항목 별 분석 목적에 맞게 분석이 효율적으로 수행될 수 있도록 하기 위해, 복수의 딥러닝 모델들 각각은 감지 항목 별로 분류될 수 있다. 이때, 분류에 따라 하나의 감지 항목을 분석하기 위해 2개 이상의 딥러닝 모델들이 사용될 수도 있고, 하나의 딥러닝 모델이 2개 이상의 감지 항목들을 분석하는데 사용될 수도 있다.
예를 들어, 시선 방향이라는 감지 항목에 사람의 얼굴 형태 및 방향을 감지하는 제 2 모델과 사람의 시선을 추적하는 제 3 모델이 매칭될 수 있다. 시선 방향에 매칭되는 제 2 모델은 사람의 얼굴 형태 및 방향을 감지하여 사람의 시선 방향이 특정 정보를 출력하는 스크린(screen) 화면을 벗어나는지 여부를 감지할 수 있다. 또한, 시선 방향에 매칭되는 제 3 모델은 사람의 시선을 감지하여 사람의 시선 방향이 스크린 화면을 벗어나는지 여부를 감지할 수 있다. 도 4a의 표(30)와 같이 제 2 모델의 출력과 제 3 모델의 출력은 각각 시선 방향에 대한 개별적인 분석 결과로 사용될 수 있다. 또한, 도 4a의 표(30)에는 표현되지 않았으나, 제 2 모델의 출력과 제 3 모델의 출력은 우선 순위 혹은 정확도 등을 토대로 하나의 분석 결과로 합쳐져 사람의 행동을 추정하는데 사용될 수 있다.
시선 방향이라는 감지 항목에 매칭된 제 3 모델은 얼굴 인식, 발화와 같은 다른 감지 항목에도 매칭될 수 있다. 사람의 시선을 추적하는 제 3 모델은 입력 데이터를 기초로 시선 방향에 대한 분석 결과, 얼굴 인식에 대한 분석 결과, 및 발화에 대한 분석결과를 모두 도출할 수 있다. 즉, 행동 모니터링의 대상이 되는 사람의 관찰 데이터가 입력되면, 본 개시의 일 실시예에 따른 복수의 딥러닝 모델들은 입력된 데이터를 토대로 각자 매칭되는 감지 항목들을 모두 분석할 수 있다. 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 이러한 감지 항목 별 모델의 매칭을 통해 하나의 관찰 데이터로 모니터링 하고자 하는 행동을 판단하기 위해 정의된 모든 조건들을 한번에 실시간으로 분석할 수 있다.
도 4b 의 표(40)를 참조하면, 본 개시의 일 실시예에 따른 룰셋은 모니터링 후보가 되는 행동 클래스, 행동 클래스에 대한 판단 조건을 포함할 수 있다. 여기서 행동 클래스는 도 4b의 표(40)에 표시된 종합 판단 및 판단 분류에 대응되고, 판단 조건은 도 4b의 표(40)에 표시된 감지 항목에 대응될 수 있다.
예를 들어, 온라인 시험 환경에서 룰셋에 포함된 행동 클래스는 부정행위와 이상 행동으로 구분될 수 있다. 그리고, 룰셋에 포함된 부정행위와 이상 행동 각각은 구체적으로 어떠한 행동 또는 상황을 나타내는 것인지 룰셋으로 정의될 수 있다. 또한, 룰셋에 포함된 부정행위와 이상 행동 각각은 어떠한 행동의 조합으로 판단되는지를 나타내는 판단 조건이 각 클래스에 매칭되어 룰셋으로 정의될 수 있다. 구체적으로 살펴보면, 휴대폰이 5초 이상 감지되는 상황에 해당하는 부정행위는 휴대폰 감지라는 판단 조건과 휴대폰이 노출되는 시간이 5초 이상이라는 판단 조건의 조합으로 감지될 수 있다. 따라서, 룰셋에는 휴대폰이 5초 이상 감지되는 상황에 해당하는 부정행위가 행동 클래스로 정의되고, 해당 클래스에 매칭되어 휴대폰 감지라는 판단 조건과 휴대폰이 노출되는 시간이 5초 이상이라는 판단 조건이 각각 정의될 수 있다. 이때, 각 판단 조건에는 도 4b의 표(40)에 표시된 감지 코드에 대응되는 식별 코드가 부여될 수 있다. 판단 조건에 부여된 식별 코드는 각 판단 조건이 어떠한 감지 대상, 감지 항목, 감지 장치 및 감지 결과로 도출되는지를 확인하는데 사용될 수 있다.
도 4b 의 표(40)에 표시된 등급은 판단 조건의 조합을 위한 감지 정확도에 따른 가중치를 토대로 산출되는 수치 값에 대응될 수 있다. 도 4b의 표(40)에 표시된 관련도는 판단 조건의 조합을 위한 상관 관계에 따른 가중치를 토대로 산출되는 수치 값에 대응될 수 있다. 그리고, 도 4b의 표(40)에 표시된 종합 등급은 판단 조건과 매칭되는 딥러닝 모델의 분석 결과들 각각의 등급과 관련도를 토대로 산출되는 수치 값에 대응될 수 있다.
예를 들어, 도 4a의 표(30)에 표시된 굵은 박스에 해당하는 4개의 분석 결과들이 도출되었다고 가정하면, 룰셋에서 4개의 분석 결과들에 매칭되는 판단 조건들은 도 4b의 표(40)에 표시된 굵은 박스와 같이 식별될 수 있다. 판단 조건에 매칭된 4개의 분석 결과들 각각은 각 모델 별 출력 정확도에 따라 제 1 가중치가 부여되어 A1, A2, B1, C1 등과 같은 등급으로 구분될 수 있다. 또한, 판단 조건에 매칭된 4개의 분석 결과들 각각은 매칭되는 행동 클래스와 상관 관계에 따라 제 2 가중치가 부여되어 매우 높음, 높음, 보통, 적음, 매우 적음과 같은 관련도로 구분될 수 있다. 판단 조건에 매칭된 4개의 분석 결과들 각각이 등급 및 관련도로 구분되면, 최종 판단을 위한 종합 등급은 4개의 수치 값들을 조합하여 다음과 같은 [수학식 1]을 기반으로 산출될 수 있고, 산출된 종합 등급에 따라 최종적인 행동 클래스가 결정될 수 있다.
[수학식 1]
종합 등급 = (분석 결과 별 등급 x 분석 결과 별 관련도)의 총 합의 평균
도 4a의 표(30)을 참조하면, 왼손으로 8초 동안 휴대폰을 사용했다는 부정행위를 온전히 판단하기 위해서는 8개의 판단 조건들이 모두 분석 결과와 매칭되는 것이 필요하다고 볼 수 있다. 그러나, 본 개시의 상술한 예시와 같이 등급과 관련도를 토대로 최종 판단이 수행되면, 8개의 판단 조건들 전체가 아닌 4개의 판단 조건들만 분석 결과로 확인되더라도 왼손으로 8초 동안 휴대폰을 사용했다는 부정행위가 높은 확률로 검출될 수 있다. 즉, 본 개시와 같이 딥러닝 모델의 감지 정확도, 및 분석 결과와 특정 행동 클래스 간의 상관 관계를 기반으로 근거 동작들을 조합하는 연산을 수행하게 되면, 룰셋에 정의된 모든 판단 조건을 만족하지 않더라도 딥러닝 모델을 통해 도출된 분석 결과만으로도 특정 행동이 정확하게 추정될 수 있다.
상술한 예시 이외에도 다양한 부정행위 혹은 이상 행동이 온라인 시험 환경을 구축하는 관리자에 의해 정의되어 룰셋으로 생성될 수 있다. 또한, 온라인 시험 환경 이외에도 다양한 모니터리 환경에 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 적용될 수 있다.
도 5a 내지 도 5c는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 행동 별 추정 과정을 세분화 한 개념도이다.
도 5a와 도 5b를 비교하면, 동일한 2가지의 감지 대상을 분석하였음에도 분석 결과의 세부적인 차이에 따라 서로 다른 결과가 도출됨을 알 수 있다. 구체적으로 살펴보면, 도 5a와 같이 시간이라는 감지 항목을 기준으로 딥러닝 모델의 출력이 5초라는 분석 결과를 도출한 경우, 사람의 행동은 휴대폰이 5초 이상 감지되었다는 부정 행위로 추정될 수 있다. 반면, 도 5b와 같이 시간이라는 감지 항목을 기준으로 딥러닝 모델의 출력이 1초라는 분석 결과를 도출한 경우, 사람의 행동은 휴대폰이 1초 이상 감지되었다는 이상 행동으로 추정될 수 있다. 이때, 이상 행동은 부정 행위까지는 아니나 부정 행위로 의심될 만한 행동을 나타낼 수 있다. 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 딥러닝 모델을 통해 감지 항목 별로 분석 결과를 도출하고, 도출된 분석 결과를 정확도와 상관 관계를 토대로 조합함으로써, 상술한 차이를 정밀하게 해석할 수 있고 부정 행위와 이상 행동을 정확하게 구분할 수 있다.
도 5c를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 다양한 감지 대상들에 포함된 다양한 감지 항목들의 감지 결과를 분석한 결과를 종합적으로 검토하여 왼손으로 8초 동안 휴대폰을 사용했다는 부정행위를 검출한다는 것을 알 수 있다. 컴퓨팅 장치(100)는 신체 부위라는 하나의 감지 대상에 대해서도, 왼손의 행위, 왼손의 위치, 왼팔 하박의 위치와 가로 수평각과 같은 서로 다른 감지 항목 각각에 대한 분석 결과를 개별적으로 매칭되는 딥러닝 모델을 통해 도출할 수 있다. 또한, 컴퓨팅 장치(100)는 감지 정확도에 기반한 등급과 상관 관계에 기반한 관련도를 토대로, 딥러닝 모델을 사용하여 도출된 감지 항목 별 분석 결과를 조합하여 부정행위를 정밀하게 판단할 수 있다. 이와 같이 감지 항목에 매칭되는 딥러닝 모델을 통해 감지 항목 별로 분석 결과가 도출되고, 개별 결과를 모두 종합하여 행동이 최종적으로 판단되면, 신뢰도 높은 행동 추정 결과를 얻을 수 있다.
도 6은 본 개시의 일 실시예에 따른 인공지능 기반 행동 모니터링 방법을 나타낸 순서도이다.
도 6을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 감지 항목에 대한 분석 결과를 생성할 수 있다(S110). 구체적으로, 컴퓨팅 장치(100)는 소정의 주기로 관찰 데이터를 획득할 수 있다. 이때, 소정의 주기는 행동 모니터링을 관장하는 클라이언트를 통해 설정되는 환경 조건에 맞추어 결정될 수 있다. 행동 모니터링을 위한 특정 환경의 관리자가 클라이언트를 통해 환경 조건을 설정하면, 클라이언트는 설정된 조건에 따라 결정된 주기에 맞추어 컴퓨팅 장치(100)로 관찰 데이터를 송신할 수 있다. 관찰 데이터는 사람을 중심으로 환경 조건에 맞추어 구축된 공간을 촬영한 이미지, 영상 혹은 공간에서 획득되는 오디오 중 적어도 하나일 수 있다. 컴퓨팅 장치(100)는 소정의 주기에 맞추어 클라이언트로부터 전달되는 관찰 데이터를 수신할 수 있다. 그리고, 컴퓨팅 장치(100)는 획득된 관찰 데이터를 포즈 추정을 위한 제 1 모델, 얼굴 형태 및 방향 추정을 위한 제 2 모델, 시선 추적을 위한 제 3 모델, 사물 인식을 위한 제 4 모델, 소리 요소를 감지하기 위한 제 5 모델 중 적어도 하나에 입력하여, 소정의 주기 동안 수행된 상기 사람의 행동 결과를 반영하는, 감지 항목에 대한 분석 결과를 생성할 수 있다.
컴퓨팅 장치(100)는 룰셋을 사용하여, S110 단계를 통해 생성된 분석 결과들을 토대로 사람의 행동을 추정할 수 있다(S120). 이때, 룰셋은 행동 모니터링을 관장하는 클라이언트를 통해 설정되는 환경 조건에 맞추어 사전 결정될 수 있다. 구체적으로, 컴퓨팅 장치(100)는 S110 단계를 통해 분석 결과들 중에서 사전 결정된 룰셋에 포함된 행동 클래스 별 판단 조건에 매칭되는 분석 결과들을 식별할 수 있다. 컴퓨팅 장치(100)는 식별된 분석 결과들의 정확도 및 룰셋에 포함된 행동 클래스와 식별된 분석 결과들의 상관 관계를 추정할 수 있다. 그리고, 컴퓨팅 장치(1000는 추정된 정확도 및 상관 관계를 기초로 식별된 분석 결과들을 조합하여, 사람의 행동을 추정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 식별된 분석 결과들 각각에 추정된 정확도에 따른 제 1 가중치를 부여하는 단계, 식별된 분석 결과들 각각에 추정된 상관 관계에 따른 제 2 가중치를 부여하는 단계, 및 제 1 가중치와 제 2 가중치를 조합하여 도출된 수치 값을 토대로, 사전 결정된 룰셋에 포함된 행동 클래스 중 적어도 하나를 상기 사람이 수행했는지를 판단할 수 있다. 이때, 사전 결정된 룰셋에 포함된 행동 클래스는 행동 모니터링을 관장하는 클라이언트를 통해 설정되는, 시험의 부정행위에 대응되는 제 1 행동 클래스 및 클라이언트를 통해 설정되는, 부정행위는 아니지만 부정행위로 의심받을 수 있는 행동이거나 시험을 치르는데 불필요한 이상 행동에 대응되는 제 2 행동 클래스를 포함할 수 있다. 예를 들어, 시간을 체크하기 위해 휴대폰을 1초 정도 확인하는 행동은 부정행위는 아니지만 부정행위로 의심받을 수 있는 행동이므로, 제 1 행동 클래스가 아닌 제 2 행동 클래스로 사전 설정될 수 있다. 상술한 행동 클래스의 종류는 하나의 예시일 뿐이므로, 행동 클래스의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
도 7은 본 개시의 일 실시예에 따른 온라인 시험 환경에서 행동을 모니터링하는 방법을 나타낸 순서도이다.
도 7을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 온라인 시험의 주최자 클라이언트를 통해 입력된 사용자 요청에 기반하여 온라인 시험을 생성할 수 있다(S210). 이때, 온라인 시험을 위한 환경 조건, 시험 응시자의 행동 모니터링을 위한 룰셋 등은 주최자 클라이언트를 통해 입력된 사용자 요청을 반영하여 결정될 수 있다. 예를 들어, 컴퓨팅 장치(100)는 주최자 클라이언트를 통해 입력된 사용자 요청을 토대로 관찰 데이터의 획득 주기, 부정행위(61) 혹은 이상 행동(62)에 대한 정의 및 판단 조건을 포함하는 룰셋 등을 결정할 수 있다. 룰셋은 사용자 요청에 의해 생성된 이후에 컴퓨팅 장치(100)가 행동 추정을 반복적으로 수행하는 과정에서 동적으로 업데이트 될 수 있다.
온라인 시험이 생성되면(S210), 컴퓨팅 장치(100)는 사전 결정된 소정의 주기에 맞춰 관찰 데이터를 획득할 수 있다(S220). 예를 들어, 컴퓨팅 장치(100)는 시험 응시 공간에 설치된 감지 장치와 유무선 통신을 통해 100ms 내지 1s 간격으로 관찰 데이터를 획득할 수 있다. 이때, 감지 장치는 시험 응시자의 클라이언트에 구비된 일 구성일 수도 있고, 컴퓨팅 장치(100)의 일 구성일 수도 있다. 그리고, 관찰 데이터의 획득 주기는 S210 단계를 통해 온라인 시험의 환경 조건에 맞추어 사전 결정될 수 있다.
컴퓨팅 장치(100)는 소정의 주기에 맞춰 획득되는 관찰 데이터를 기초로, 룰셋에 포함된 부정행위(61) 혹은 이상 행동(62)을 추정하기 위한 감지 항목 별 분석을 수행할 수 있다(S230). 이때, 컴퓨팅 장치(100)는 적어도 하나의 감지 항목이 매칭되는 복수의 딥러닝 모델들(210, 220, 230, 240, 250)을 사용할 수 있다. 복수의 딥러닝 모델들(210, 220, 230, 240, 250)은 적어도 하나 이상의 감지 항목에 매칭되어 관찰 데이터에 존재하는 감지 대상을 기준으로 감지 항목 별 분석 결과를 생성할 수 있다. 이때, 감지 항목 별 분석 결과는 감지 항목을 기준으로 측정되는 상태 정보로서, 사람의 행동에 따라 변화 가능한 정보일 수 있다. 예를 들어, 제 1 모델(210)은 관찰 데이터를 입력받아 왼손의 위치라는 감지 항목을 기준으로 왼손의 위치가 책상 위에 인접하여 존재하는지 여부를 분석할 수 있다. 제 1 모델(210)은 왼손의 위치 이외에도 신체 부위라는 감지 대상에 포함된 다른 감지 항목들에 대한 분석도 수행할 수 있다. 제 2 모델(220)은 관찰 데이터를 입력받아 발화라는 감지 항목을 기준으로 시험 응시자의 입모양이 변화하는지 여부를 분석할 수 있다. 제 3 모델(230)은 관찰 데이터를 입력받아 시선 방향이라는 감지 항목을 기준으로 시험 응시자의 시선이 시험 문제가 출력되는 디스플레이 영역을 벗어나는지 여부를 분석할 수 있다. 제 4 모델(240)은 관찰 데이터를 입력받아 사물 중 휴대폰이라는 감지 항목을 기준으로 시험 응시자를 중심으로 하는 소정의 반경 이내에 휴대폰이 존재하는지를 감지할 수 있다. 또한, 휴대폰이 존재한다면, 제 4 모델(240)은 시간이라는 감지 항목을 기준으로 휴대폰이 소정의 반경 이내에 노출된 시간을 측정할 수 있다. 제 5 모델(250)은 관찰 데이터를 입력받아 소리 발생 주체라는 감지 항목을 기준으로 시험 응시 공간 내에서 소리를 발생시킨 주체를 분석할 수 있다. 상술한 예시는 본 개시의 내용에 대한 이해를 돕기 위한 것이므로, 본 개시의 모델 별 분석 결과는 상술한 예시에 제한되지 않는다.
컴퓨팅 장치(100)는 S230 단계를 통해 도출된 감지 항목 별 분석 결과들 중에서 사전 결정된 룰셋에 포함된 판단 조건에 매칭되는 분석 결과를 식별할 수 있다. 컴퓨팅 장치(100)는 사전 결정된 룰셋에 정의된 부정행위(61) 혹은 이상 행동(62) 각각의 판단 조건과 S230 단계를 통해 도출된 감지 항목 별 분석 결과들을 비교하여, 상호 매칭되는 분석 결과를 식별할 수 있다. 이때, 상호 매칭되는 결과가 존재하지 않는 경우, 컴퓨팅 장치(100)는 S220 단계부터 다시 수행할 수 있다.
컴퓨팅 장치(100)는 S240 단계를 통해 식별된 분석 결과에 대해서 정확도 및 상관 관계를 추정할 수 있다(S250). 컴퓨팅 장치(100)는 룰셋에 포함된 판단 조건에 매칭되는 분석 결과들을 부정행위(61) 혹은 이상 행동(62)을 최종적으로 판단하는데 어떠한 비중으로 고려할 것인지를 결정하기 위해 정확도 및 상관 관계를 추정할 수 있다. 여기서 정확도는 복수의 딥러닝 모델들(210, 220, 230, 240, 250) 각각의 감지 정확도를 기초로 추정될 수 있다. 그리고, 상관 관계는 S240 단계를 통해 식별된 분석 결과가 특정 부정행위 혹은 특정 이상 행동의 판단에 얼마나 영향을 미치는지를 기초로 추정될 수 있다.
컴퓨팅 장치(100)는 S250 단계를 통해 추정된 정확도와 상관 관계에 따라 S240 단계를 통해 식별된 분석 결과에 가중치를 부여할 수 있다. 그리고, 컴퓨팅 장치(100)는 가중치가 부여된 분석 결과를 조합하여 부정행위(61) 혹은 이상 행동(62)을 판단하기 위한 근거를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 S240 단계를 통해 식별된 분석 결과에 S250 단계를 통해 추정된 정확도가 클수록 높은 가중치를 부여하고, 상관 관계가 클수록 높은 가중치를 부여할 수 있다. 컴퓨팅 장치(100)는 S240 단계를 통해 식별된 모든 분석 결과들에 대하여, 정확도의 크기에 따라 부여된 가중치와 상관 관계의 크기에 따라 부여된 가중치를 조합하는 수학적 연산을 통해 부정행위(61) 혹은 이상 행동(62)를 판단하기 위한 수치 값을 도출할 수 있다.
컴퓨팅 장치(100)는 S260 단계의 조합을 통해 도출된 수치 값을 토대로 룰셋에 포함된 행동의 종류 중 어느 하나를 추정할 수 있다. 컴퓨팅 장치(100)는 룰셋에 포함된 행동의 종류 중에서 S260 단계의 조합을 통해 도출된 수치 값에 대응되는 특정 부정행위 혹은 특정 이상 행동을 관찰 대상인 사람의 행동으로 추정할 수 있다.
앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (1)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되는, 인공지능 기반 행동 모니터링 방법으로서,
    복수의 감지 대상들 각각에 포함된 적어도 하나의 감지 항목에 매칭되는 딥러닝 모델을 사용하여, 행동 모니터링의 대상이 되는 사람의 관찰 데이터를 기초로 상기 감지 항목에 대한 분석 결과를 생성하는 단계; 및
    사전 결정된 룰셋(ruleset)을 사용하여, 상기 생성된 분석 결과들을 토대로 상기 사람의 행동을 추정하는 단계;
    를 포함하는,
    방법.
KR1020230143235A 2022-11-15 2023-10-24 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치 KR20240072036A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230143235A KR20240072036A (ko) 2022-11-15 2023-10-24 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220153024A KR102599020B1 (ko) 2022-11-15 2022-11-15 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치
KR1020230143235A KR20240072036A (ko) 2022-11-15 2023-10-24 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220153024A Division KR102599020B1 (ko) 2022-11-15 2022-11-15 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치

Publications (1)

Publication Number Publication Date
KR20240072036A true KR20240072036A (ko) 2024-05-23

Family

ID=88748262

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220153024A KR102599020B1 (ko) 2022-11-15 2022-11-15 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치
KR1020230143235A KR20240072036A (ko) 2022-11-15 2023-10-24 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220153024A KR102599020B1 (ko) 2022-11-15 2022-11-15 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치

Country Status (2)

Country Link
KR (2) KR102599020B1 (ko)
WO (1) WO2024106604A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070050029A (ko) 2007-04-24 2007-05-14 경희대학교 산학협력단 원격교육 출석 인증방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102260120B1 (ko) * 2019-11-04 2021-06-03 주식회사 넥스트케이 딥러닝기반 행동인식장치 및 그 장치의 구동방법
KR20210064886A (ko) * 2019-11-26 2021-06-03 주식회사 케이티 사용자의 행동을 인식하는 서버, 방법 및 컴퓨터 프로그램
KR20220059841A (ko) * 2020-11-03 2022-05-10 주식회사 케이티 영상 기반의 동물 감정 분석 서버, 방법 및 컴퓨터 프로그램
KR20220074468A (ko) * 2020-11-27 2022-06-03 주식회사 잇올 온라인시험 부정행위 방지 시스템 및 그 방법
KR102668656B1 (ko) * 2021-04-15 2024-05-27 엔에이치엔 주식회사 온라인 시험 부정행위 감시 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070050029A (ko) 2007-04-24 2007-05-14 경희대학교 산학협력단 원격교육 출석 인증방법

Also Published As

Publication number Publication date
KR102599020B1 (ko) 2023-11-06
WO2024106604A1 (ko) 2024-05-23

Similar Documents

Publication Publication Date Title
US10891524B2 (en) Method and an apparatus for evaluating generative machine learning model
Gholamiangonabadi et al. Deep neural networks for human activity recognition with wearable sensors: Leave-one-subject-out cross-validation for model selection
CN111523621B (zh) 图像识别方法、装置、计算机设备和存储介质
US20180268292A1 (en) Learning efficient object detection models with knowledge distillation
CN105426356B (zh) 一种目标信息识别方法和装置
WO2018121690A1 (zh) 对象属性检测、神经网络训练、区域检测方法和装置
US9971942B2 (en) Object detection in crowded scenes using context-driven label propagation
US11501161B2 (en) Method to explain factors influencing AI predictions with deep neural networks
US20230033052A1 (en) Method, apparatus, device, and storage medium for training image processing model
CN111553326B (zh) 手部动作识别方法、装置、电子设备及存储介质
KR20190029083A (ko) 신경망 학습 방법 및 이를 적용한 장치
US11550707B2 (en) Systems and methods for generating and executing a test case plan for a software product
CN112085281B (zh) 检测业务预测模型安全性的方法及装置
CN111428572A (zh) 信息处理方法、装置、电子设备和介质
JP2022120775A (ja) オンデバイスでの活動認識
Aguilera et al. Blockchain cnn deep learning expert system for healthcare emergency
KR102599020B1 (ko) 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치
CN115713806A (zh) 基于视频分类的跌倒行为识别方法及电子设备
KR102594256B1 (ko) 인공지능 기반 행동 모니터링 방법, 프로그램 및 장치
Dong et al. GIAD-ST: Detecting anomalies in human monitoring based on generative inpainting via self-supervised multi-task learning
CN110472680B (zh) 目标分类方法、装置和计算机可读存储介质
CN113408564A (zh) 图处理方法、网络训练方法、装置、设备以及存储介质
Francis Alexander Raghu et al. Robust object detection and localization using semantic segmentation network
Wu et al. Weighted classification of machine learning to recognize human activities
US20240185090A1 (en) Assessment of artificial intelligence errors using machine learning