KR102572811B1 - 정의된 객체를 식별하기 위한 시스템 - Google Patents

정의된 객체를 식별하기 위한 시스템 Download PDF

Info

Publication number
KR102572811B1
KR102572811B1 KR1020197025242A KR20197025242A KR102572811B1 KR 102572811 B1 KR102572811 B1 KR 102572811B1 KR 1020197025242 A KR1020197025242 A KR 1020197025242A KR 20197025242 A KR20197025242 A KR 20197025242A KR 102572811 B1 KR102572811 B1 KR 102572811B1
Authority
KR
South Korea
Prior art keywords
processor
delete delete
digital representation
data
signature
Prior art date
Application number
KR1020197025242A
Other languages
English (en)
Other versions
KR20190137778A (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
Priority claimed from AU2017900403A external-priority patent/AU2017900403A0/en
Application filed by 랭 오록 오스트레일리아 피티와이 엘티디 filed Critical 랭 오록 오스트레일리아 피티와이 엘티디
Publication of KR20190137778A publication Critical patent/KR20190137778A/ko
Application granted granted Critical
Publication of KR102572811B1 publication Critical patent/KR102572811B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • G06F18/256Fusion techniques of classification results, e.g. of results related to same input data of results relating to different input data, e.g. multimodal recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/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/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • 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/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • G08B21/0202Child monitoring systems using a transmitter-receiver system carried by the parent and the child
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B6/00Tactile signalling systems, e.g. personal calling systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/259Fusion by voting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Child & Adolescent Psychology (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Alarm Systems (AREA)

Abstract

정의된 객체(예를 들어, 위험요소)를 식별하기 위한 시스템/방법: 객체의 디지털 표현을 검출 및 정의하는 센서; 정의된 객체의 시그니처를 식별하기 위해 두 개의 기법들을 실행하는 (센서에 연결된) 프로세서; 적어도 두 개의 기법들에 의해 각각 도출된 두 개의 시그니처들에 관한 기준 데이터를 저장하는 (프로세서에 연결된) 메모리; 프로세서가 센서로부터 디지털 표현을 수신함에 응답하여, 프로세서는 두 개의 기법들을 실행하고, 각각의 기법은, 객체에 의해 정의되는 임의의 시그니처 후보를 식별하기 위해 디지털 표현을 평가하고; 각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하고; 특징 데이터를 기준 데이터와 비교하고; 그리고 각각의 시그니처와 부합하는 시그니처 후보의 우도값을 도출하며, 프로세서는 우도값들을 결합하여 복합 우도값을 도출하고 이에 따라 디지털 표현에서의 객체가, 정의된 객체인지 여부를 결정한다.

Description

정의된 객체를 식별하기 위한 시스템
본 출원서는 오스트레일리아 가특허 출원 번호 제2017900403호(출원일: 2017년 2월 9일)로부터의 우선권을 주장하며, 그 내용은 본 명세서에 참조로 통합된다.
본 개시내용은 일반적으로, 미리정의된 객체(predefined object)를 식별하기 위한 시스템들 및 방법들에 관한 것이다. 특히, 본 개시내용은 센서로 객체를 검출하는 것과, 그리고 검출된 객체가, 정의된 객체인지를 확인하는 것을 포함하는 시스템들 및 방법들에 관한 것이다.
많은 시나리오들에서, 정의된 객체를 빠르게 식별하여 액션(action)이 취해지도록 촉구(prompt)하는 것이 유용하다. 예를 들어, 건설 현장에서, 작업자들 및 고-가의 장비는 종종 사용 동안 손상될 위험이 있고, 이것은 상해 및 사망을 유발할 수 있고 그리고/또는 상당한 비용을 초래할 수 있다. 이러한 위험을 완화하기 위해, 임의의 사람이 '스포터(spotter)'로서 고용되어 수동으로 높은 위험 상황을 식별하고 그리고 경보(alarm)를 활성화시켜 손상 및/또는 상해를 방지할 수 있다. 유사하게, 가치가 높은 자산들에 대한 저장 위치들은 전형적으로 임의의 인증된 사람에 의해서만 접근가능하고, 따라서 보안 애플리케이션 및/또는 디바이스로 하여금 해당 위치에 접근하려고 시도하는 사람이 그렇게 하도록 인증되었는지 여부를 확인할 것이 요구된다. 이것은 생체 인증(biometric authentication)에 의해 달성될 수 있는데, 예를 들어, 그 사람이, 인증된 사람의 지문(finger print)의 이전에 저장된 이미지(image)와 부합하는 지문을 가지고 있는 지를 확인함으로써 달성될 수 있다.
다양한 목적으로 객체를 식별하기 위한 자동화된 시스템들이 알려져 있고 이용된다. 이러한 시스템의 하나의 예는 미국 특허 번호 제8,588,527호에서 설명되는데, 이 예는, 카메라가 구비된 스마트폰에 의해 캡처된 이미지에서 보여지는 객체를 식별하는 것, 그리고 그 객체에 관한 검색 용어들을 도출하는 것, 그럼으로써 그 검색 용어들을 사용하여 검색 쿼리(search query)가 발생 및 실행되도록 하여, 식별된 객체에 관한 정보를 식별하는 것을 포함한다. 이러한 시스템이 객체를 식별하기 위한 효과적인 도구인 것처럼 보이지만, 실제로, 이러한 시스템들은 종종 객체를 식별하는 데 실패하거나 객체를 부정확하게 식별하는데, 왜냐하면 이러한 시스템이 효과적으로 동작하기 위해 필요한 동작 조건들이 전형적으로 매우 제한적이기 때문이다. 예를 들어, 객체에 대한 상대적인 카메라의 배향 및/또는 위치, 그리고/또는 객체에 인접한 조명 혹은 다른 환경적 조건들은 시스템의 정확도에 크게 영향을 미칠 수 있다.
더욱이, 관련된 종래 기술의 접근법들은 종종, 정확한 결과들을 달성하기 위해 복수의 센서들 및 컴퓨터 프로세서들과 같은 복잡하고 비싼 장비를 요구한다.
본 명세서의 상세한 설명에 포함된 문서들, 동작들, 물질들, 디바이스들, 물품들 등에 관한 임의의 논의는, 이러한 것들 중 임의의 것 혹은 모든 것이 본 출원서의 각각의 청구의 우선일 이전에 존재했기 때문에 본 개시내용에 관한 분야에서 공통적인 일반적 지식의 일부를 형성하는 것이라고 인정하는 것으로서 해석돼서는 안 된다.
일부 개시되는 실시예들에 따르면, 정의된 객체(defined object)를 식별하기 위한 시스템이 제공된다. 이러한 시스템은, 객체의 디지털 표현(digital representation)을 정의하기 위해 데이터를 검출하도록 구성된 적어도 하나의 센서(sensor)와; 적어도 하나의 센서에 통신가능하게 연결되는 프로세서(processor)와; 그리고 프로세서에 통신가능하게 연결되는 메모리(memory)를 포함하고, 여기서 프로세서는 적어도 두 개의 기법들을 실행하도록 구성되며, 각각의 기법은 정의된 객체에 의해 정의되는 시그니처(signature)를 식별하도록 구성되고, 메모리는 적어도 두 개의 기법들에 의해 각각 도출된 적어도 두 개의 시그니처들에 관한 기준 데이터(reference data)를 저장한다. 프로세서는, 프로세서가 적어도 하나의 센서로부터 디지털 표현을 정의하는 데이터를 수신함에 응답하여, 프로세서가 적어도 두 개의 기법들을 실행하는 것을 수행하도록 구성되고, 여기서 적어도 두 개의 기법들을 실행하는 것은 각각의 기법으로 하여금, 객체에 의해 정의되는 임의의 시그니처 후보(signature candidate)를 식별하기 위해 디지털 표현을 평가(assess)하는 것; 각각의 식별된 시그니처 후보로부터 특징 데이터(feature data)를 도출하는 것; 특징 데이터를 기준 데이터와 비교하는 것; 그리고 각각의 비교로부터 우도값(likelihood value)을 도출하는 것을 수행하도록 하며, 여기서 각각의 우도값은 시그니처 후보가 각각의 시그니처와 부합할 우도(likelihood)를 표시한다. 그 다음에 프로세서는, 우도값들 중 적어도 일부를 결합하여 복합 우도값(composite likelihood value)을 도출하고, 그리고 복합 우도값으로부터 디지털 표현에서의 객체가, 정의된 객체인지 여부를 결정한다.
프로세서는 또한, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서가 우도값들 중 적어도 일부가 도출된 특징 데이터를 기준 데이터에 추가하는 것을 수행하도록 구성될 수 있다.
시스템은 사용자 인터페이스(user interface)를 포함할 수 있고, 그리고 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서는 객체가 정의된 객체임을 확인(confirm)하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키게 구성될 수 있고, 그리고, 사용자 입력에 응답하여, 프로세서는 우도값들 중 적어도 일부가 도출된 특징 데이터를 기준 데이터에 추가한다. 이것은 또한, 프로세서가 디지털 표현에서의 객체가 정의된 객체라고 표시하는 하나 이상의 표시자(indicator)들을 확인하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키게 구성되는 것을 포함할 수 있고, 그리고 사용자 입력에 응답하여, 프로세서는 하나 이상의 확인된 표시자들로부터 표시자 데이터(indicator data)를 도출하고 표시자 데이터를 기준 데이터에 추가한다. 하나 이상의 표시자들은 디지털 표현에서의 객체와 관련된 맥락 인자(context factor)들을 포함할 수 있다.
시스템이 사용자 인터페이스를 포함하는 경우, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서는 시스템에 의해 실행될 하나 이상의 액션(action)들을 정의하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키게 구성될 수 있고, 그리고 사용자 입력에 응답하여, 프로세서는, 하나 이상의 정의된 액션들로부터 명령들을 도출하고; 명령들을 실행하고; 그리고 디지털 표현에서의 객체가 정의된 객체라고 후속적으로 결정함에 응답하여 실행을 위해 메모리에 명령들을 저장한다.
시스템은 식별가능한 알람(discernible alarm)을 방출하도록 구성된 경보 디바이스(alert device)를 포함할 수 있고, 여기서 프로세서는 또한, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서가 경보 디바이스를 동작시키는 것을 수행하도록 구성된다. 경보 디바이스는 사용자에 의해 착용될 착용가능한 디바이스(wearable device); 임의의 장치의 촉각적 컴포넌트(haptic component); 그리고 임의의 장치의 동작을 제어하기 위한 제어기 중 하나 이상의 것으로 구성될 수 있고, 그리고 경보 디바이스를 동작시키는 것은 장치의 제어를 일으킨다.
시스템은 복수의 센서들을 포함할 수 있고, 복수의 센서들 각각은 다른 센서들에 통신가능하게 연결됨과 아울러 프로세서에 통신가능하게 연결된다. 이것은 각각의 센서가 센서의 동작을 제어하기 위한 제어기를 갖는 것을 포함할 수 있고, 그리고 복수의 센서들 간의 통신은 제어기들 중 적어도 하나의 제어기의 동작이 각각의 센서의 제어를 일으키도록 한다. 또한, 디지털 표현은 복수의 센서들 중 하나보다 많은 센서에 의해 검출된 데이터를 포함할 수 있다.
시그니처들 각각은 특정 특징 데이터를 포함할 수 있다.
기법들 각각은 정의된 객체로부터 상이한 시그니처를 도출할 수 있다.
시그니처들 중 적어도 하나는, 정의된 객체의 속성(property); 정의된 객체의 기하구조(geometry); 정의된 객체의 행태(behaviour); 그리고 정의된 객체와 관련된 하나 이상의 맥락 인자들 중 적어도 하나에 의해 정의될 수 있다. 정의된 객체의 행태는, 정의된 객체의 움직임(movement); 정의된 객체의 비활동(inactivity); 정의된 객체와 또 하나의 다른 객체의 상대적 움직임; 그리고 자극(stimuli)에 응답하는 정의된 객체의 반응 중 하나 이상을 포함할 수 있다.
정의된 객체와 관련된 하나 이상의 맥락 인자들은, 정의된 객체에 대해 로컬(local)인 시각(time of day); 정의된 객체에 대해 로컬인 환경적 조건들(environmental conditions); 정의된 객체에 대해 로컬인 날씨(weather); 정의된 객체에 대해 상대적인 하나 이상의 객체들의 위치(position); 정의된 객체에 대해 로컬인 하나 이상의 객체들의 행태(behaviour); 그리고 정의된 객체의 동작 파라미터들(operating parameters)을 포함할 수 있다.
적어도 하나의 식별된 시그니처 후보는, 객체의 속성; 객체의 기하구조; 객체의 행태; 그리고 객체와 관련된 하나 이상의 맥락 인자들 중 적어도 하나에 의해 정의될 수 있다.
적어도 두 개의 기법들은 상보적(complementary)이도록 구성될 수 있다. 이것은 적어도 두 개의 기법들이 다양한 서로 다른 기법들로부터 프로세서에 의한 실행을 위해 선택되는 것을 포함할 수 있다.
각각의 기법에 대해, 프로세서는, 미리결정된 훈련 데이터(training data)에 대한 노출로부터 특징 데이터를 도출하는 것과; 그리고 미리결정된 훈련 데이터로부터 도출된 특징 데이터를 기준 데이터로서 저장하는 것을 수행하도록 훈련될 수 있다.
미리결정된 훈련 데이터는 복수의 디지털 표현들을 포함할 수 있고, 여기서, 복수의 디지털 표현들 중 일부만이, 정의된 객체를 포함하며 그리고 정의된 객체의 존재를 확인하기 위해 라벨링(labelling)되고, 프로세서는 라벨링된 디지털 표현들로부터 도출된 특징 데이터만을 기준 데이터로서 저장하도록 구성된다. 미리결정된 훈련 데이터는 정의된 객체를 포함하는 각각의 디지털 표현을 사용자가 라벨링함으로써 수동으로(manually) 구성될 수 있다.
기법들 각각에 대해, 미리결정된 훈련 데이터에 대한 노출은 프로세서로 하여금, 각각의 라벨링된 디지털 표현에서 정의된 하나 이상의 공통 요소(element)들을 학습(learn)하도록 할 수 있고, 그리고 하나 이상의 공통 요소들에 응답하여 시그니처를 도출하도록 할 수 있다.
기준 데이터는 특징 데이터 분산 분포(feature data variance distribution)를 정의할 수 있고, 우도값은 특징 데이터를 특징 분산 분포와 비교하는 것으로부터 도출될 수 있다.
각각의 기법은 각각의 특징 데이터 분산 분포와 관련될 수 있다. 각각의 기법은 각각의 특징 분산 분포를 확률 분포 함수(probability distribution function)로서 정의할 수 있고, 우도값은 특징 데이터를 확률 분포 함수와 비교하는 것으로부터 도출된다.
특징 분산 분포는 가우스 곡선(Gaussian curve)을 정의할 수 있고, 우도값은 가우스 곡선에 대해 상대적인 특징 데이터의 위치를 결정하는 것으로부터 도출된다. 대안적으로 혹은 추가적으로, 특징 분산 분포는 복수의 가우스 곡선들로부터 형성된 클라우드(cloud)를 정의할 수 있고, 우도값은 밀도 클라우드(density cloud)의 최대 밀도 영역에 대해 상대적인 특징 데이터의 근접도(proximity)를 결정하는 것으로부터 도출된다.
프로세서는 적어도 하나의 2차 기법을 실행하도록 구성될 수 있고, 그리고 프로세스가 적어도 두 개의 기법들 각각으로부터 우도값을 도출함에 응답하여, 프로세스는 2차 기법을 실행할 수 있고, 여기서 2차 기법을 실행하는 것은 2차 기법으로 하여금 추가 우도값(further likelihood value)을 도출하기 위해 기법들 중 적어도 일부에 의해 도출된 적어도 하나의 우도값을 비교하도록 하며, 여기서 추가 우도값은 적어도 하나의 다른 우도값과 결합되어 복합 값이 도출된다. 우도값들의 비교는 비교되는 우도값들 간의 상관관계(correlation)를 결정하는 것을 포함할 수 있다. 메모리는 미리결정된 비교되는 우도값들에 관한 비교 기준 데이터(comparison reference data)를 저장할 수 있고, 그리고 우도값들의 비교는 추가 우도값을 도출하기 위해 우도값을 비교 기준 데이터와 비교하는 것을 포함할 수 있다.
복합 우도값을 도출하는 것은, 기법들 중 하나의 기법을 실행함으로써 도출된 우도값들 중 적어도 하나를 기법들 중 또 하나의 다른 기법을 실행함으로써 도출된 우도값들 중 적어도 하나와 결합하는 것을 포함할 수 있다.
메모리는 미리결정된 복합 우도값들에 관한 복합 기준 데이터(composite reference data)를 저장할 수 있고, 그리고 디지털 표현에서의 객체가 정의된 객체인지 여부를 결정하는 것은, 신뢰도 값(confidence value)을 도출하기 위해 복합 우도값을 복합 기준 데이터와 비교하는 것을 포함할 수 있고, 그리고 디지털 표현에서의 객체가 정의된 객체인지 여부를 결정하는 것은 신뢰도 값에 근거한다.
복합 기준 데이터는 확률 분포 함수로서 정의될 수 있고, 그리고 신뢰도 값은 복합 우도값을 확률 분포 함수와 비교하는 것으로부터 도출된다. 확률 분포 함수는 가우스 곡선을 정의할 수 있고, 그리고 신뢰도 값은 가우스 곡선에 대해 상대적인 복합 우도값의 위치를 결정하는 것으로부터 도출된다.
우도값들을 결합하는 것은 각각의 기법에 의해 도출된 적어도 하나의 우도값을 순차적으로 곱하는(multiplying) 것을 포함할 수 있다.
각각의 기법은 알고리즘(algorithm) 및 분류기(classifier) 중 적어도 하나를 포함할 수 있다.
특징 데이터는 특징 벡터(feature vector)를 정의할 수 있다.
디지털 표현은 적어도 하나의 이미지(image)를 포함할 수 있다. 적어도 하나의 이미지는 RGB 컬러 모델(RGB colour model)에 따라 정의될 수 있다. 센서는 적어도 하나의 카메라(camera)를 포함할 수 있다.
다른 개시된 실시예들에 따르면, 정의된 위험요소(defined hazard)를 식별하기 위한 시스템이 제공된다. 시스템은, 장면(scene)의 디지털 표현을 정의하기 위해 데이터를 검출하도록 구성된 적어도 하나의 센서와; 적어도 하나의 센서에 통신가능하게 연결되는 프로세서와; 그리고 프로세서에 통신가능하게 연결되는 메모리를 포함하고, 여기서 프로세서는 적어도 두 개의 기법들을 실행하도록 구성되고, 각각의 기법은 정의된 위험요소에 의해 정의되는 시그니처를 식별하도록 구성되고, 메모리는 적어도 두 개의 기법들에 의해 각각 도출된 적어도 두 개의 시그니처들에 관한 기준 데이터를 저장한다. 프로세서는, 프로세서가 적어도 하나의 센서로부터 디지털 표현을 정의하는 데이터를 수신함에 응답하여, 프로세서가 적어도 두 개의 기법들을 실행하는 것을 수행하도록 구성되고, 여기서 적어도 두 개의 기법들을 실행하는 것은 각각의 기법으로 하여금, 장면에 의해 정의되는 임의의 시그니처 후보를 식별하기 위해 디지털 표현을 평가하는 것; 각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하는 것; 특징 데이터를 기준 데이터와 비교하는 것; 그리고 각각의 비교로부터 우도값을 도출하는 것을 수행하도록 하며, 여기서 각각의 우도값은 시그니처 후보가 각각의 시그니처와 부합할 우도를 표시한다. 그 다음에 프로세서는, 우도값들 중 적어도 일부를 결합하여 복합 우도값을 도출하고, 그리고 복합 우도값으로부터 디지털 표현에서의 장면이, 정의된 위험요소를 포함하는지 여부를 결정한다.
다른 개시된 실시예들에 따르면, 정의된 객체를 식별하기 위한 방법이 제공된다. 방법은, 객체의 디지털 표현을 정의하기 위해 데이터를 적어도 하나의 센서로 검출하는 단계와; 디지털 표현 데이터를 프로세서에 제공하고 프로세서에 의해 적어도 두 개의 기법들을 실행하는 단계와, 여기서 적어도 두 개의 기법들을 실행하는 것은 각각의 기법으로 하여금, 객체에 의해 정의되는 임의의 시그니처 후보를 식별하기 위해 디지털 표현을 평가하는 것, 각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하는 것, 특징 데이터를 정의된 객체에 의해 정의되는 그리고 기법에 의해 도출되는 시그니처에 관한 기준 데이터와 비교하는 것, 그리고 각각의 비교로부터 우도값을 도출하는 것을 수행하도록 하며, 여기서 각각의 우도값은 시그니처 후보가 시그니처와 부합할 우도를 표시하고; 프로세서에 의해, 우도값들 중 적어도 일부를 결합하여 복합 우도값을 도출하는 단계와; 그리고 프로세서에 의해, 복합 값으로부터 디지털 표현에서의 객체가 정의된 객체인지를 결정하는 단계를 포함한다.
방법은, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서에 의해, 우도값들 중 적어도 일부가 도출된 특징 데이터를 기준 데이터에 추가하는 것을 포함할 수 있다.
방법은, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서에 의해, 객체가 정의된 객체임을 확인하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키는 것, 그리고 사용자 입력에 응답하여, 프로세서에 의해, 우도값들 중 적어도 일부가 도출된 특징 데이터를 기준 데이터에 추가하는 것을 포함할 수 있다. 이러한 시나리오에서, 방법은 또한, 프로세서에 의해, 디지털 표현에서의 객체가 정의된 객체라고 표시하는 하나 이상의 표시자들을 확인하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키는 것, 그리고 사용자 입력에 응답하여, 프로세서에 의해, 하나 이상의 확인된 표시자들로부터 표시자 데이터를 도출하고 표시자 데이터를 기준 데이터에 추가하는 것을 포함할 수 있다. 하나 이상의 표시자들은 디지털 표현에서의 객체와 관련된 맥락 인자들을 포함할 수 있다.
방법은, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서에 의해, 시스템에 의해 실행될 하나 이상의 액션들을 정의하기 위해 사용자 입력을 획득하도록 사용자 인터페이스를 동작시키는 것, 그리고 사용자 입력에 응답하여, 프로세서에 의해, 하나 이상의 정의된 액션들로부터 명령들을 도출하는 것, 명령들을 실행하는 것, 그리고 디지털 표현에서의 객체가 정의된 객체라고 후속적으로 결정함에 응답하여 실행을 위해 메모리에 명령들을 저장하는 것을 포함할 수 있다.
방법은, 디지털 표현에서의 객체가 정의된 객체라는 결정에 응답하여, 프로세서에 의해, 식별가능한 알람을 방출하도록 구성된 경보 디바이스를 동작시키는 것을 포함할 수 있다.
방법은, 기법을 실행하는 프로세서를 미리결정된 훈련 데이터에 노출시킴으로써 각각의 기법을 훈련시키는 것과, 프로세서에 의해, 미리결정된 훈련 데이터로부터 특징 데이터를 도출하는 것과, 그리고 도출된 특징 데이터를 기준 데이터로서 저장하는 것을 포함할 수 있다. 미리결정된 훈련 데이터는 복수의 디지털 표현들을 포함할 수 있고, 여기서 복수의 디지털 표현들 중 일부만이, 정의된 객체를 포함하며 그리고 정의된 객체의 존재를 확인하기 위해 라벨링되고, 그리고 라벨링된 디지털 표현들로부터 도출된 특징 데이터만이 프로세서에 의해 기준 데이터로서 저장된다. 기법을 실행하는 프로세서를 미리결정된 훈련 데이터에 노출시키는 것은, 프로세서로 하여금, 각각의 라벨링된 디지털 표현에서 정의된 하나 이상의 공통 요소들을 학습하도록 할 수 있고, 그리고 하나 이상의 공통 요소들에 응답하여 시그니처를 도출하도록 할 수 있다.
복합 우도값을 도출하는 것은 또한, 프로세서에 의해, 기법들 중 하나의 기법을 실행함으로써 도출된 적어도 하나의 우도값을 기법들 중 또 하나의 다른 기법을 실행함으로써 도출된 적어도 하나의 우도값과 결합하는 것을 포함할 수 있다.
메모리는 미리결정된 복합 우도값들에 관한 복합 기준 데이터를 저장할 수 있고, 그리고 디지털 표현에서의 객체가 정의된 객체인지 여부를 결정하는 것은 또한, 프로세서에 의해, 신뢰도 값을 도출하기 위해 복합 우도값을 복합 기준 데이터와 비교하는 것을 포함할 수 있고, 디지털 표현에서의 객체가 정의된 객체인지 여부를 결정하는 것은 신뢰도 값에 근거한다.
본 명세서의 맥락에서, 용어 "객체(object)"는 적절한 경우 용어 "위험요소(hazard)"와 상호교환 가능하다는 것이 이해될 것인데, 왜냐하면 본 명세서에서 개시되는 시스템들 및 방법들은 정의된 위험요소 혹은 정의된 객체를 식별하도록 쉽게 조정(adapt)될 수 있기 때문이다. 위험요소는 위험요인(risk) 또는 위협요소(danger)를 의미하는 것으로 이해될 것이다. 유사하게, 디지털 표현은 검출된 객체 혹은 검출된 장면을 정의할 수 있고, 따라서 용어 "객체"와 용어 "장면"은 적절한 경우 상호교환 가능하다.
기법은, 전형적으로는 데이터를 프로세싱하도록 구성된 알고리즘과 전형적으로 프로세싱된 데이터로 기존의 기준 데이터에 근거하여 결정을 수행하도록 구성된 분류기 중 적어도 하나를 포함하는 방법 혹은 프로세스를 의미하는 것으로 이해될 것이다. 종종, 기법은 알고리즘 및 분류기를 포함하고, 그리고 복수의 알고리즘들을 포함할 수 있다.
시그니처는 식별된 객체에 의해 정의되거나 혹은 식별된 객체와 관련된 하나 이상의 특성(characteristic)들을 의미하는 것으로 이해될 것이다. 이러한 시그니처는, 객체에 의해 정의된 기하구조(예컨대, 객체의 일부에 의해 정의된 치수 비율(dimension ratio)), 객체의 행태(예컨대, 움직임 또는 무활동), 그리고 객체와 관련된 맥락적 인자들(예컨대, 환경적 조건들) 중 하나 이상을 포함할 수 있다. 일부 시나리오들에서, 시그니처는 기하구조적, 행태적, 그리고 맥락적 파라미터들을 포함할 것이다.
본 명세서 전체에 걸쳐, 단어 "포함한다" 또는 그 변형들, 예컨대, "포함하는" 또는 "포함하여"는 그 기재된 요소, 정수 혹은 단계, 또는 요소들, 정수들 혹은 단계들의 그룹을 포함하는 것을 시사하는 것으로 이해될 것인데, 하지만 임의의 다른 요소, 정수 혹은 단계, 또는 요소들, 정수들 혹은 단계들의 그룹을 배제하는 것은 아니다.
실시예들이 여기서 개시되거나 본 출원서의 명세서에서 표시되는 단계들, 특징들, 및/또는 정수들을 개별적으로 혹은 집합적으로 포함할 수 있고, 그리고 상기 단계들 혹은 특징들 중 둘 이상의 것들의 임의의 조합 및 모든 조합들을 포함할 수 있음이 이해될 것이다.
첨부되는 도면들을 참조하여 단지 예시적으로 실시예들이 이제 설명될 것인데, 도면들에서,
도 1a는 정의된 객체를 식별하기 위한 시스템의 실시예의 도면이고, 여기서, 정의된 객체는 사람이며;
도 1b는 도 1a에서 보여지는 시스템의 변형예인데, 센서들의 대안적 정렬 및 구성을 포함하며;
도 1c 및 도 1d는 경보 디바이스의 다양한 실시예들을 예시하는데, 여기서 이들은 손목시계, 이어-피스(ear-piece), 조이스틱(joystick) 및 모니터(monitor)이며;
도 2는 정의된 객체를 식별하기 위해 도 1에서 보여지는 시스템을 훈련시키기 위한 훈련 프로세스의 도면이고;
도 3a는 도 1에서 보여지는 시스템의 동작을 예시하는 흐름도이고;
도 3b는 도 1에서 보여지는 시스템의 동작의 대안적 실시형태를 예시하는 흐름도이고;
도 3c는 도 1에서 보여지는 시스템의 동작의 다른 대안적 실시형태를 예시하는 흐름도이고;
도 4는 동작 동안 도 1에서 보여지는 시스템의 스크린샷(screenshot)이고;
도 5는 도 1에서 보여지는 시스템의 동작의 대안적 실시형태를 예시하는 흐름도이고;
도 6a 및 도 6b는 도 1에서 보여지는 시스템의 컴포넌트들을 예시하는 도면들이고;
도 7은 시스템을 구성하기 위해 함께 연결되는 도 1에서 보여지는 시스템의 컴포넌트들을 예시하는 도면이고;
도 8은 상이한 목적을 위해 시스템을 조정하기 위해서 시스템에 부가되는 추가적인 컴포넌트를 예시하는 도면이고;
도 9는 기하구조-기반 시그니처를 예시하는 도면이고;
도 10은 움직임-기반 시그니처를 예시하는 도면이고; 그리고
도 11은 행태-기반 시그니처를 예시하는 도면이다.
도면들에서, 참조 번호 10은 정의된 객체를 식별하기 위한 시스템(10)을 전반적으로 지정한다. 시스템(10)은 객체(14)의 디지털 표현을 정의하기 위해 데이터를 검출하도록 구성된 적어도 하나의 센서(12)와; 적어도 하나의 센서(12)에 통신가능하게 연결되는 프로세서(18)와; 그리고 프로세서(18)에 통신가능하게 연결되는 메모리(memory)(22)를 포함하고, 여기서 프로세서(18)는 적어도 두 개의 기법들을 실행하도록 구성되며, 각각의 기법은 정의된 객체에 의해 정의되는 시그니처를 식별하도록 구성되고, 메모리(22)는 적어도 두 개의 기법들에 의해 각각 도출된 적어도 두 개의 시그니처들에 관한 기준 데이터를 저장한다. 프로세서(18)가 적어도 하나의 센서(12)로부터 디지털 표현을 정의하는 데이터를 수신함에 응답하여, 프로세서(18)는 적어도 두 개의 기법들을 실행하고, 여기서 적어도 두 개의 기법들을 실행하는 것은 각각의 기법으로 하여금, 객체(14)에 의해 정의되는 임의의 시그니처 후보를 식별하기 위해 디지털 표현을 평가하는 것; 각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하는 것; 특징 데이터를 기준 데이터와 비교하는 것; 그리고 각각의 비교로부터 우도값을 도출하는 것을 수행하도록 하며, 여기서 각각의 우도값은 시그니처 후보가 각각의 시그니처와 부합할 우도를 표시한다. 그 다음에 프로세서(18)는, 우도값들 중 적어도 일부를 결합하여 복합 우도값을 도출하고, 그리고 복합 우도값으로부터 디지털 표현에서의 객체(14)가, 정의된 객체인지 여부를 결정한다.
도 1a는 시스템(10)의 실시예를 보여준다. 보여지는 실시예에서, 정의된 객체는 사람이다. 시스템(10)은 검출된 객체(본 실시예에서는, 사람(14)임)의 디지털 표현을 정의하기 위해 데이터를 검출하도록 (본 실시예에서는, 카메라(12)로서) 구성된 적어도 하나의 센서를 포함한다. 카메라(12)는 서버(16)에 통신가능하게 전형적으로는 무선으로 연결되며, 여기서 서버(16)는 프로세서(18), 프로그램 메모리(20), 그리고 데이터 저장소(예컨대, 데이터베이스 메모리(22))를 포함한다. 프로세서(18), 프로그램 메모리(20) 및 데이터베이스 메모리(22)는 서로 통신가능하게 연결된다. 서버(16)는 또한, 사용자 인터페이스(24) 및 경보 디바이스(26)에 통신가능하게 전형적으로는 무선으로 결합되며, 여기서 경보 디바이스(26)는 식별가능한 알람을 제공하도록 구성된다.
센서는 도 1a에서 카메라(12)로서 예시되는데, 여기서 카메라(12)는 적색-녹색-청색(Red-Green-Blue, RGB) 컬러 모델에 따라 디지털 표현을 이미지(또는 비디오 영상(video footage)을 형성하는 순차적 이미지들의 집합체)로서 정의하도록 구성되고, 그리고 일부 실시예들에서는, 또한 깊이(depth)를 정의한다. 하지만, 센서(12)는 디지털 표현을 정의하기 위해 데이터를 검출할 수 있는 하나 이상의 다른 형태들(예를 들어, 근접 센서(proximity sensor), 소나 시스템(sonar system), 압력 패드(pressure pad)들의 어레이(array), 초음파 트랜스듀서(ultrasonic transducer)들의 어레이, 라이다(LIDAR), 등)을 포함하도록 구성될 수 있음이 이해될 것이다. 이러한 방식으로, 센서(12)는 데이터의 하나의 포맷(format)을 검출하는 것으로 한정되지 않고, 그럼으로써 객체(14)의 디지털 표현이 복수의 상이한 데이터 포맷들을 포함할 수 있게 된다. 예를 들어, 카메라(12)는 근접 센서 및 모션 센서(motion sensor)와 관련될 수 있고, 이것이 의미하는 바는, 디지털 표현이, 객체(14)의 기하구조에 관한 데이터, 객체(14)의 (움직임의 방향을 포함하는) 움직임에 관한 데이터, 그리고 하나 이상의 기준 지점들에 대한 상대적인 객체(14)의 근접도에 관한 데이터로부터 형성됨을 의미한다. 따라서, 시스템(10)은 복수의 센서들(12)을 포함할 수 있는데, 이들이 동일한 타입을 갖든 아니면 센서들(12)의 상이한 타입들의 조합이든 상관없음이 이해될 것이다.
도 1b는 시스템(10)의 또 하나의 다른 실시예를 보여주는데, 도 1b에 의하면 공통되는 참조 번호들은 공통되는 특징들을 표시하고, 시스템(10)은 복수의 카메라들(12)로서 구성된 복수의 센서들을 포함한다. 카메라들(12)은 센서들(12)의 네트워크(network) 혹은 메쉬(mesh)를 형성하도록 통신가능하게 연결된다. 이것은, 각각의 카메라(12)가 프로세서(18)와 통신하도록 구성됨과 아울러 다른 카메라들(12) 중 적어도 일부와 통신하도록 구성되어, 감지의 감도/정확도가 감지 동작들에서의 중복성(redundancy)을 감소시킴으로써 증진될 수 있게 되는 것을 포함한다. 각각의 카메라(12)는 카메라(12)의 동작을 제어하기 위한 제어기를 포함한다. 일부 시나리오들에서, 카메라들(12) 간에 전달되는 신호는 제어기들 중 적어도 하나의 제어기의 동작이 각각의 카메라(12)의 제어를 일으키도록 한다. 예를 들어, 카메라들(12) 중 두 개의 카메라들 간에 전달되는 신호는 카메라들(12) 중 하나의 카메라가 자신의 시계(field of view)를 넓히기 위해 자신의 초점을 조정하도록 한다.
카메라들(12)이 서로 통신하는 것 그리고 프로세서(18)와 통신하는 것은 (다수의 사례들이 알려져 있어 본 명세서에서 설명할 필요가 없는) 표준화된 통신 프로토콜에 따라 각각의 카메라(12)를 구성함으로써 달성된다. 이것이 의미하는 바는, 시스템(10)을 위해 특정적으로 구성된 카메라들(12)과 같은 맞춤형 센서(bespoke sensor)들과, 그리고 시스템(10)에 따라 구성될 필요가 없는 OEM 혹은 다른 써드 파티 디바이스(third party device)들과 같은 범용 센서(generic sensor)들이 서로 통신하도록 구성될 수 있음과 아울러 프로세서(18)와 통신하도록 구성될 수 있음을 의미한다. 따라서, 이것은 시스템(10)의 이용의 범위를 증가시키는데, 왜냐하면 복수의 유사한 그리고/또는 상이한 센서들이 센서들의 상호연결된 메쉬를 형성하도록 구성될 수 있기 때문이다.
도 1b에서 보여지는 실시예에서, 복수의 카메라들(12)은 각각의 카메라(12)의 시계가 다른 카메라들(12) 중 하나 이상의 카메라들의 시계와 중첩(overlap)되도록 정렬된다. 이러한 정렬에서, 카메라들(12) 간의 통신은, 하나의 카메라(12)가 예를 들어, 트럭(13)에 의해 시계가 가려짐으로 인해 객체(14)를 검출할 수 없는 경우, 다른 카메라들(12)에 의해 검출된 데이터가 객체(14)의 디지털 표현을 형성하도록 프로세서(18)에 의해 결합되는 것을 보장한다.
도 1b에서 보여지는 실시예가 센서들(12)의 네트워크화된 메쉬를 포함하는 시스템(10)의 하나의 예이고, 그리고 시스템(10)은 대안적으로 센서들(12)의 상이한 타입들의 조합을 포함하는 상이한 센서들(12)을 포함하도록 구성될 수 있음이 이해될 것이다. 예를 들어, 센서들(12)은 대안적으로, 객체(14)의 연속적인 검출들(누적적 감지)이 중복성을 감소시키도록 보장하기 위해, 복수의 근접 센서들(12)로서 구성될 수 있음과 아울러 서로 통신하도록 네트워크화될 수 있다. 예를 들어, 이것은, 제 1 근접 센서(12)가, 객체(14)가 센서(12)를 지나 빠르게 움직이고 있기 때문에, 객체(14)의 부분적 검출을 기록하는 것, 그리고 이것은 제 1 센서(12)로 하여금 다른 로컬 근접 센서들(12)과 통신하도록 하여 다른 센서들(12)이 가까이 다가오는 객체(14)를 검출하도록 준비시키는 것을 포함할 수 있다. 그 다음에, 프로세서(18)는 다른 센서들(12)에 의해 검출된 데이터를 결합하여 객체(14)의 디지털 표현을 형성한다.
시스템(10)의 일부 실시예들에서, 객체(14)의 디지털 표현을 형성하는 데이터는, (예시되지 않은) 추가 센서들에 의해 직접적으로 검출된 그리고/또는 데이터베이스 혹은 데이터 피드(data feed)로부터 검색됨으로써 간접적으로 검출된 맥락적 데이터에 의해 증강(augment)된다. 맥락적 데이터는 일반적으로, 객체(14)가 위치한 환경에 관한 데이터를 포함하는데, 이러한 데이터는 그 환경에서의 시각, 그리고/또는 객체(14)의 행태, 그리고/또는 객체(14)와 관련된 혹은 객체(14)에 근접하여 정렬된 다른 객체들의 행태를 포함한다.
예를 들어, 맥락적 데이터는, 시스템(10)으로 하여금 객체(14)가 상주하는 맥락을 검출할 수 있게 하는, 바람 속도, 바람 방향 및/또는 습도와 같은, 객체(14)와 관련된 로컬 날씨 정보(local weather information)를 포함할 수 있다. 날씨 정보는, 예를 들어, 객체(14)에 가까이 정렬된 압력 센서 및 습도 센서에 의해 직접적으로 검출될 수 있고, 그리고/또는 예를 들어, 기상청 웹사이트에 의해 발행된 그리고 인터넷을 통해 검색된 날씨 정보로부터 간접적으로 검출될 수 있다. 이러한 맥락적 정보는 또한, 객체(14)의 맥락결정(contextualising)을 증진시키기 위해 이력적인 로컬 날씨 조건들과 같은 이력적인 맥락적 데이터를 포함할 수 있다.
대안적으로 혹은 추가적으로, 맥락적 데이터는 로컬 행태 관련 정보를 포함할 수 있는데, 예컨대, 하나 이상의 객체들의 정적 혹은 동적 위치(예를 들어, 크레인(crane)이 움직이고 있는 속도 및 방향) 그리고/또는 둘 이상의 객체들의 상대적인 위치(예를 들어, 전력선(power line)에 대한 크레인의 근접도)를 포함할 수 있다.
객체(14)의 맥락결정은 로컬 환경적 및 행태적 조건들을 평가하는 것에 한정되는 것은 아니며, 다수의 다른 인자들이 시스템(10)에 의해 검출될 수 있고, 모니터링될 수 있고, 그리고/또는 해석될 수 있음이 이해될 것이다. 예를 들어, 검출된 객체가 머신(machine)인 경우, 이것은, 머신의 하나 이상의 컴포넌트들의 기능적 상태를 모니터링하는 것, 머신을 머신의 디지털 모델과 비교하는 것, 품질 보증 정보(quality assurance information)를 검토하는 것, 결함 정보를 검토하는 것, 이러한 인자들 중 임의의 인자에 관한 이력적 데이터를 검토하는 것, 등을 포함할 수 있다.
서버(16)는 객체(14)에 대해 로컬로 정렬될 수 있는데, 예를 들어, 랩탑 컴퓨터 혹은 태블릿 컴퓨터와 같은 개인용 컴퓨팅 디바이스 내에 구현될 수 있고, 또는 객체(14)로부터 멀리 떨어져 정렬될 수 있으며 인터넷을 통해 액세스(access)될 수 있다. 서버(16)가 로컬 개인용 컴퓨팅 디바이스로서 구현될 때, 이러한 디바이스는 또한 사용자 인터페이스(24) 및/또는 경보 디바이스(26)를 제공할 수 있다. 데이터베이스 메모리(22)와 같은, 서버(16)의 컴포넌트들은 서버(16)의 다른 컴포넌트들로부터 멀리 떨어져 위치할 수 있으며 인터넷을 통해 액세스될 수 있음(이것은 '클라우드 컴퓨팅(cloud computing)' 또는 '엣지 컴퓨팅(edge computing)'으로서 지칭됨)이 이해될 것이다.
프로그램 메모리(20)는 프로세서(18)와 통신가능하게 결합되고, 명령들의 세트를 저장하는데, 이러한 명령들의 세트는 프로세서(18)에 의해 실행될 때 객체 식별 기법이 실행되도록 한다. 다양한 객체 식별 기법들이 아래에서 더 상세히 논의된다. 각각의 기법을 위한 명령들은 대안적으로 프로세서(18) 내에 내장될 수 있거나, 또는 컴퓨터-판독가능 저장 매체(예컨대, 비-일시적 저장 매체)와 같은 다른 적절한 형태들 내에 내장될 수 있다. 단일 프로세서(18)가 논의되고 있지만, 프로세서(18)는 컴퓨터연산 효율을 증진시키기 위해 복수의 프로세서들을 포함할 수 있음이 이해될 것이다.
도 1a 및 도 1b에서 데이터베이스 메모리(22)로서 예시된 데이터 저장소는 프로세서(18)와 통신가능하게 결합되고, 정의된 객체에 의해 정의되는 하나 이상의 시그니처들에 관한 기준 데이터를 저장한다. 시그니처들은 하나 이상의 훈련 프로세스들 및/또는 피드백 데이터에 응답하여 각각의 기법에 의해 도출되며, 이러한 시그니처들은 아래에서 더 상세히 논의된다.
도 1a에서 보여지는 실시예에서, 사용자 인터페이스(24)는 태블릿 컴퓨터를 동작시킴으로써 제공되는데, 왜냐하면 이것이 다양한 서로 다른 환경들에서 사용하기 편리하기 때문이다. 랩탑 컴퓨터들, 스마트폰들, 패블릿들, 등과 같은 다른 개인용 컴퓨팅 디바이스들이 또한 적절함이 이해될 것이다. 사용자 인터페이스(24)는 전형적으로 센서에 의해 검출된 디지털 표현을 디스플레이하고(보여지는 실시예에서, 이러한 디지털 표현은 카메라(12)에 의해 기록되는 RGB 이미지들임), 그리고 검출된 객체(14)가 정의된 객체인 것으로서 프로세서(18)에 의해 결정될 때 통지(notification)를 디스플레이하거나 방출한다. 일부 실시예들에서, 사용자 인터페이스(24)는 또한 경보 디바이스(26)를 포함한다.
인터페이스(24)에 의해 통지를 디스플레이하거나 방출하는 것은, 정의된 객체가 센서(12)에 인접하여 존재함을 사용자에게 통지하기 위해 사용자 인터페이스(24)를 실행하는 태블릿 컴퓨터 또는 사용자의 스마트폰과 같은 사용자의 디바이스로 SMS 메시지, 이메일 메시지 또는 푸시 통지(push notification)가 전송되도록 하는 것을 포함할 수 있다. 이러한 통지는 전형적으로 사용자에게 임의의 액션을 취하게 촉구하도록 구성된다. 예를 들어, 통지는 제한된 접근 영역 내에 인증되지 않은 객체, 예를 들어, 사람이 존재함을 사용자에게 경보할 수 있고, 그리고 사용자에게 그 인증되지 않은 객체를 해당 영역으로부터 제거하도록 촉구할 수 있다.
도 1a에서 보여지는 실시예에서, 프로세서(18)는 본 실시예에서 청취가능한 알람(26)으로서 구성된 경보 디바이스(26)와 통신하고 있으며, 시스템(10)은 객체(14)를 정의된 객체로서 식별함에 응답하여 알람(26)을 동작시키도록 구성된다. 이러한 구성은 예를 들어, 건설 현장 혹은 공장에서 유용한데, 이 경우 시스템(10)은 정의된 객체(14)의 검출이 긴급 상황으로서 식별되도록 구성된다. 이러한 시나리오에서, 정의된 객체(14)의 검출은 알람(26)의 동작이 사용자들/작업자들에게 즉각적인 위험을 명확하게 전달하도록 한다.
경보 디바이스(26)는 다양한 실시예들에서 구현될 수 있고, 일반적으로 특정 액션이 사용자에 의해 실행되도록 유도하기 위해 적절한 특정 자극을 제공하도록 구성된다. 도 1c에서 보여지는 바와 같이, 일부 실시예들에서, 경보 디바이스(26)는 착용가능한 디바이스로서 구현되는데, 보여지는 실시예들에서 이러한 착용가능한 디바이스는 팔찌/손목시계(27) 및 이어-피스(29)이며, 이들은 모두 진동, 광 방출, 및 소리 방출 중 하나 이상의 것에 의해 착용자에게 통지를 전달하도록 구성된다. 대안적으로, 경보 디바이스는 암 밴드(arm band), 안경류(eyewear), 모자/헬멧, 등으로서 구성될 수 있다.
착용가능한 디바이스 실시예 및 통신 방법은 일반적으로 경보 디바이스(26)의 사용 환경에 응답하여 구성된다. 예를 들어, 착용가능한 디바이스(26)가 전형적으로 소음이 많고 색조가 밝은 환경인 건설 현장에서 차량을 운전하는 사용자에 의해 사용될 경우, 디바이스(26)는 오로지 진동을 통해서만 전달을 행하도록 구성되고, 스티어링 휠(steering wheel)과 같은 진동하는 차량 컴포넌트들로부터 떨어져 이격된 위치 상에서 착용되며, 따라서 사용자의 목 둘레에 착용되는 펜던트(pendant)에서 구현되거나 보호용 헬멧의 헤드밴드(headband)에서 구현된다.
일부 실시예들에서, 시스템(10)은 프로세서(18)가 예컨대, 미리정의된 위험 레벨들에 대해 상대적으로 통지를 분류하는 것/통지의 우선순위를 정하는 것을 행하도록 구성되고, 그리고 그 분류에 따라 통지가 경보 디바이스(26)에 의해 사용자에게 전달되도록 구성된다. 예를 들어, 프로세서(18)에 의해 경계의 5 m 내에 차량이 있는 것으로서 결정되기 때문에 위험이 낮은 것으로서 통지가 분류되는 경우, 디바이스(26)는 주파수가 낮은 진동 펄스를 방출한다. 대안적으로, 프로세서(18)가 경계의 1 m 내에 차량이 있는 것으로서 결정하기 때문에 위험이 높은 것으로서 통지가 분류되는 경우, 디바이스(26)는 주파수가 높은 진동 펄스 및 소리를 방출한다. 경보 디바이스(26)는 또한 통지들을 수신함에 응답하여 진동 패턴들을 변경시키도록 구성될 수 있어, 사용자에 대한 통지들의 연속적인 전달 및 각각의 통지의 분류를 가능하게 할 수 있음이 이해될 것이다.
도 1d에서 보여지는 바와 같이, 다른 실시예들에서, 경보 디바이스(26)는 장비 혹은 차량의 촉각적 컴포넌트(haptic component)로서 구현되는데, 이것은 보여지는 실시예에서는 통지가 발생될 때 진동 패턴을 방출하도록 구성된 조이스틱(joystick)(35)이다. 대안적으로, 경보 디바이스(26)는 페달(pedal), 레버(lever), 혹은 스티어링 휠과 같은 다른 제어 주변기기들 내에 내장될 수 있다. 더욱이, 대안적으로 혹은 추가적으로, 경보 디바이스(26)는 운영자(operator)의 시선 내에 있는 장비 혹은 차량에 연결된 가시적 비콘(visible beacon)으로서 구성되는데, 이것은 보여지는 실시예에서는 디스플레이 모니터(37)이다.
대안적으로 혹은 추가적으로, 경보 디바이스(26)는 굴착기(excavator)와 같은 장비 혹은 차량의 동작을 자동화하도록 구성된 제어 모듈로서 구성될 수 있거나 혹은 이러한 제어 모듈에 통신가능하게 연결될 수 있다. 예를 들어, 통지를 발생시키는 것은 경보 디바이스(26)로 하여금 제어 모듈을 동작시키도록 하여 굴착기의 동작을 즉시 멈추게 할 수 있거나 혹은 그렇지 않으면 굴착기의 동작에 영향을 미치게 할 수 있는데, 예컨대, 버킷(bucket)이 움직이는 것을 막도록 할 수 있다.
도 2는 정의된 객체를 식별하기 위해서 프로세서(18)에 의해 실행되는 객체 식별 기법들 중 하나를 훈련시키기 위한 훈련 프로세스(30)의 다양한 스테이지(stage)들을 예시하며, 도 2에서 보여지는 예에서, 정의된 객체는, 다시 한번 더, 사람(34)이다. 훈련 프로세스(30)는 머신 학습 프로세스를 포함하고, 전형적으로는 시스템(10)의 동작 전에 프로세서(18)가 실행하도록 구성된 각각의 객체 식별 기법에 대해 적어도 한번 실행된다. 이것은 각각의 기법이 정의된 객체에 의해 정의되는 시그니처를 학습할 수 있게 하고 기준 데이터를 발생시킬 수 있게 한다. 기준 데이터는 각각의 기법이 노출되는 그리고 식별을 위해 학습하는 시그니처의 변형들로부터 도출된 다양한 특징 데이터를 포함한다.
초기에, 도면번호 31에서, 훈련 프로세스(30)는, 객체 식별 기법을 실행하는 프로세서(18)를 다양한 훈련 데이터(32)에 노출시키는 것을 포함하고, 이것에 의해 훈련 데이터(32)의 단지 서브세트(33)만이 정의된 객체를 정의하게 되고, 그리고 훈련 프로세스(30)는 데이터의 어떤 부분이 정의된 객체를 포함하는 서브세트(33)인지를 확인하는 것을 포함한다. 전형적으로, 이것은 사용자가 훈련 데이터(32)를 수동으로 구성하는 것을 포함하는데, 이렇게 구성하는 것은 상이한 시나리오들을 묘사하는 다수의 디지털 표현들을 수집분석(collating)함으로써, 그리고 정의된 객체를 묘사하는 각각의 표현을 라벨링함으로써 이루어지고, 그럼으로써 기법은 이러한 라벨로부터 훈련 데이터의 어떤 부분이 정의된 객체를 포함하는지를 확인할 수 있게 되고, 따라서 훈련 데이터의 이러한 부분으로부터 시그니처를 도출할 수 있게 된다. 이러한 방식으로, 기법은 기법이 결정하길 정의된 객체의 시그니처를 정의한다고 결정한 관련 디지털 표현들 내의 특정 공통 요소(들)를 학습한다.
예를 들어, 기법이 이미지 내에서 정의되는 공통적 형상의 벡터들을 식별하도록 구성되는 경우, 프로세서(18)는, 기법을 실행함으로써, 정의된 객체(사람(34))의 시그니처가 사람(34)의 적어도 일부분(예를 들어, 머리-어깨 계면(head-shoulder interface))에 의해 정의되는 벡터와 같은 그러한 기하구조-기반 시그니처인 것으로 학습하게 되는 경향이 있다. 이러한 시나리오에서, 사용자는 다양한 사람들(34)의 머리-어깨 계면들을 보여주는 다수의 사진 이미지들, 그리고 임의의 사람들을 보여주지 않는 다수의 사진 이미지들을 준비하고, 그리고 사람(34)(정의된 객체)의 존재 혹은 부존재에 따라 이미지들을 라벨링한다. 이러한 프로세스는 전형적으로 크게 구분가능한 이미지들을 선택함으로써 증진되는데, 이러한 이미지들은 예를 들어, 단순한 백색 배경 앞에 있는 한 명의 사람(34)의 머리 및 어깨 윤곽을 보여주는 일부 이미지들, 그리고 단순한 백색 배경 앞에 있는 당나귀와 같은 다른 객체들을 보여주는 다른 이미지들이다. 대안적으로 혹은 추가적으로, 이것은, 이미지들의 쌍들을 준비하는 것을 포함할 수 있고, 여기서 해당 쌍 중 하나는 공사 현장과 같은 사람(34)을 포함하지 않는 장면을 묘사하고, 해당 쌍 중 다른 하나는 동일한 장면을 묘사하지만 또한 사람(34)의 머리 및 어깨 윤곽을 포함한다.
대안적으로, 기법이 비디오 영상 내에서 모션 경로(motion path)들을 식별하도록 구성되는 경우, 기법을 실행하는 프로세서(18)는 정의된 객체의 시그니처가 움직이는 사람(34)의 적어도 일부분에 의해 정의되는 모션(예를 들어, 사람(34)의 걸음걸이) 및 움직이는 또 하나의 다른 객체의 적어도 일부분에 의해 정의되는 모션(예를 들어, 움직이는 굴착기 버킷)에 있어 그 상대적인 모션과 같은 그러한 행태-기반 시그니처인 것으로 학습하게 되는 경향이 있다. 이러한 시나리오에서, 사용자는 움직이는 기계류에 가까이 걸어가는 사람들(34)의 다수의 비디오들, 그리고 움직이는 기계류로부터 떨어져 있는 안전한 거리를 걷고 있는 사람들(34)의 다수의 비디오들을 준비하고, 그리고 위험한 상황에 있는 사람(34)(정의된 객체)을 정의하는 비디오들을 라벨링한다.
더욱이 대안적으로, 기법을 실행하는 프로세서(18)가 정의된 객체의 시그니처를 행태-기반 시그니처인 것으로 학습하게 되는 경향이 있는 앞서의 실시예에서, 시그니처는 디지털 표현에 의해 정의되는 맥락적 정보에 적어도 부분적으로 근거하여 도출될 수 있다. 예를 들어, 이러한 시나리오에서, 사용자는 나무들과 같은 객체들이 바람으로 인해 움직이고 있고(이것은 맥락적 데이터를 정의함), 묶여있지 않은 객체들이 정렬된(이것도 또한 맥락적 데이터를 정의함) 바람이 부는 환경에 위치한 사람들(34)의 다수의 비디오들을 준비하고, 그리고 정적 환경에 위치한 사람들(34)의 다수의 비디오들을 준비하며, 그리고 위험한 상황에 있는 사람(34)(정의된 객체)을 정의하는 비디오들을 라벨링한다.
이러한 접근법들은 각각의 기법이 (정의된 객체의 시그니처를 정의하는) 라벨링된 훈련 데이터(33)에서 하나 이상의 공통 요소들을 구분할 수 있게 한다. 훈련 데이터(32)가 도면번호 31에서 프로세서(18)에 공급되는 것에 응답하여, 기법을 실행하는 프로세서(18)는 시그니처를 정의하는 데이터에 의해 정의된 공통 요소들을 학습하기 위해 그리고 이에 따라 그 정의된 객체의 존재를 표시하기 위해 데이터의 분석을 개시(commence)한다. 이것은 전형적으로 프로세서(18)가 각각의 디지털 표현에 관해 해당 표현이 시그니처를 포함하고 있는지를 결정하기 위해서 3 스테이지 분석(three stage analysis)을 실행하는 것을 포함한다.
제 1 분석 스테이지(36)는 잠재적 시그니처 후보들(즉, 가능하게 시그니처일 수 있거나 그 일부분일 수 있는 디지털 표현의 임의의 양상(aspect)(들))을 식별하기 위해 디지털 표현을 평가하는 것을 포함한다. 이것은 전형적으로 정의된 파라미터들을 따르는 디지털 표현의 임의의 양상을 식별하기 위해 디지털 표현을 분할(segmentation)하는 것을 포함한다. 이것은 전형적으로 디지털 표현을 스캔(scanning)하고 모든 시그니처 후보들(361, 362, 363)을 식별하는 분할 알고리즘에 의해 수행된다. 예를 들어, 이것은, 정의된 기하구조적 경계들 내에 맞는 해당 표현에 의해 정의되는 임의의 기하구조를 식별하기 위한 개략적 기하구조 스캔(coarse geometry scan), 그리고 관련된 기하구조를 시그니처 후보들(361, 362, 363)로서 식별하는 것을 포함할 수 있다. 대안적으로 혹은 추가적으로, 이것은, 관련된 인자들을 시그니처 후보들(361, 362, 363)로서 식별하기 위한, (예컨대, 모션 경로들을 분석하는) 개략적 행태 스캔(coarse behaviour scan) 및/또는 (예컨대, 직접적으로 그리고/또는 간접적으로 공급된 맥락적 정보를 분석하는) 맥락 스캔(context scan)을 포함할 수 있다.
제 2 분석 스테이지(38)는 각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하는 것을 포함한다. 이것은 전형적으로 시그니처 후보 특징들(특징 벡터)의 수치적 표현을 발생시키기 위한 특징 추출 알고리즘에 의해 수행된다. 예를 들어, 이것은 시그니처 후보에 의해 정의되는 적어도 두 개의 기하구조적 치수들로부터 비율을 도출하는 것을 포함할 수 있다.
제 3 분석 스테이지(40)는, 특징 데이터가 도출되었던 디지털 표현의 라벨을 참조(consulting)하여 정의된 객체가 표현 내에 존재하는지 여부를 확인하는 것, 그리고 만약 라벨이 정의된 객체가 존재한다고 확인한다면, 특징 데이터 분산 분포(42) 내에서 평가되는 시그니처 후보의 특징 벡터를 기록하는 것을 포함한다.
프로세서(18)가 표현의 라벨로부터 정의된 객체와 부합하는 것으로서 확인한 각각의 특징 벡터에 대해, 이것은 프로세서(18)로 하여금 그래프 상에 특징 벡터를 플롯팅(plotting)하도록 할 수 있는데, 예를 들어, 'x' 축 상에는 특징 벡터 값을 플롯팅하도록 할 수 있고 'y' 축 상에는 확률 값을 플롯팅하도록 할 수 있다. 플롯팅되는 특징 벡터들의 범위는 전형적으로 가장 유사한 특징 벡터들과 부합하는 하나 이상의 피크(peak)들을 정의하는 가우스 곡선과 같은 확률 분포 곡선을 형성한다. 대안적으로, 특징 분산 분포(42)는 또 하나의 다른 적절한 확률 분포 함수로서 표현될 수 있는데, 예를 들어, 이 경우 기법은 두 개의 상이한 특징들을 평가하도록 구성되고, 예를 들어, 사람의 머리카락 색깔(제 1 특징) 및 눈 색깔(제 2 특징)을 평가하도록 구성되고, 대응하는 특징 벡터들이 동일한 그래프 상에서 별개의 축들 상에 플롯팅될 수 있어 두 개의 겹쳐지는 가우스 곡선들이 형성되게 된다. 유사하게, 세 개의 특징들이 3-차원적 그래프의 세 개의 축들 상에 플롯팅될 수 있다. 가우스 곡선은 확률 분포 함수의 하나의 예이고, 특징 분산 분포는 다른 확률 분포 함수들을 정의할 수 있음이 이해될 것이다. 복수의 시그니처 후보들(361, 362, 363)이 디지털 표현 내에서 식별되는 경우 제 2 분석 스테이지(38) 및 제 3 분석 스테이지(40)가 각각의 시그니처 후보(361, 362, 363)에 대해 실행됨이 또한 이해될 것이다.
마지막으로, 도면번호 44에서, 특징 분산 분포(42)의 형태와 무관하게, 분포(42)는 데이터베이스 메모리(22)로 전달되어 데이터베이스 메모리(22)에 기준 데이터로서 저장된다.
프로세서(18)가 적어도 초기에 노출되는 훈련 데이터(32)의 분량(quantity) 및 변동(variation)은, 시스템(10)이 또한 아래에서 논의되는 바와 같이 피드백 루프(feedback loop)를 동작시키도록 구성되는지 여부에 따라, 데이터베이스 메모리(22)에 저장된 기준 데이터에 영향을 미친다. 예를 들어, 만약 훈련 데이터(32)가 실질적으로 유사한 시그니처들(33)을 정의하는 다수의 디지털 표현들을 포함한다면, 특징 분산 분포는 조밀하고 폭이 좁은 스프레드(spread)로서 표현될 가능성이 높을 것이다. 대안적으로, 만약 훈련 데이터(32)가 시그니처(33)의 상당히 다른 변동들을 정의하는 디지털 표현들을 포함한다면, 특징 분산 분포는 이에 대응하여 폭이 넓은 스프레드로서 표현될 것이다.
상이한 기법들이 전형적으로, 정의된 객체(34)의 상이한 양상 혹은 특성으로부터 그 라벨링된 훈련 데이터(33)의 디지털 표현들에서 정의되는 정의된 객체(34)의 시그니처를 결정하도록 구성됨이 이해될 것이다. 예를 들어, 하나의 기법은 객체(34)의 일부분 혹은 모든 부분의 기하구조로부터 시그니처를 도출하도록 구성될 수 있다. 유사하게, 또 하나의 다른 기법은, (의류와 같은) 객체(34)의 일부분의 컬러, 객체(34)의 온도, 객체의 중량, 등과 같은 객체(34)의 다른 관찰가능한 그리고/또는 검출가능한 속성들로부터 시그니처를 도출하도록 구성될 수 있다. 대안적으로, 또 하나의 다른 기법은, 객체(34)의 행태로부터 시그니처를 도출하도록 구성될 수 있는데, 이것은, 객체(34)의 움직임, 객체(34)의 비활동, 객체(34)에 대해 상대적인 또 하나의 다른 객체의 움직임, 그리고/또는 자극에 응답하는 객체(34)의 반응(예컨대, 큰 소음에 반응하는 안면 표정 또는 응시 방향에서의 변화)에 대한 응답일 수 있다. 더욱이, 대안적으로, 또 하나의 다른 기법은 객체(34)와 관련된 맥락 인자들로부터 시그니처를 도출하도록 구성될 수 있다. 따라서, 훈련 데이터(32)는 기법의 구성에 따라 조정되고, 이에 따라 기법에는 시그니처가 도출될 수 있도록 하는 아울러 기준 데이터가 발생될 수 있도록 하는 관련 데이터가 제공되게 된다. 더욱이, 훈련 프로세스(32)는 전형적으로, 각각의 기법에 대해 실행되는데, 여기서 각각의 기법은 동일한 정의된 객체(34)를 정의하는 훈련 데이터(32)를 사용하여 프로세서(18)에 의해 실행가능하고, 그럼으로써 각각의 기법은 공통 객체에 의해 정의되는 시그니처를 학습할 수 있게 된다.
시스템(10)의 일부 실시예들에서, 기법들 중 하나의 기법을 실행하는 프로세서(18)에 의해 시그니처를 도출하는 것은 인자들의 조합에 근거할 수 있는데, 이러한 인자들은 정의된 객체(34)의 속성, 정의된 객체(34)의 기하구조, 정의된 객체(34)의 행태, 그리고 정의된 객체(34)와 관련된 맥락을 포함한다. 예를 들어, 정의된 객체가 사람(34)이 되도록 의도되데, 움직이는 장비에 가까이 근접하여 있고 주의를 기울이지 않는/비활동 상태인 사람(34)이 되도록 의도된 경우, 훈련 데이터(32)는, 움직이는 기계류로부터 피하는 사람들 혹은 손을 흔드는 것과 같이 급박한 위험을 다른 이들에게 경보하려고 시도하는 사람들에 관한 비디오들의 제 1 세트와, 그리고 예컨대, 모바일 전화기를 사용하고 있기 때문에 혹은 무의식 상태이기 때문에 움직이는 기계류 가까이에서 정지된 상태로 서있는 사람들에 관한 비디오들의 제 2 세트를 포함하도록 구성되고, 그리고 제 2 세트는 정의된 객체(32)를 포함하는 디지털 표현들로서 라벨링된다. 이러한 시나리오에서, 훈련 데이터(32)에 노출되는 것을 통해, 기법은 시그니처를 사람(34)과 같은 형상을 갖는 것(기하구조), 비활동 상태에 있는 것(행태), 그리고 특정 소리를 방출하면서 근접 속도 및 방향에서 사람을 향해 움직이는 객체들에 가까이 있는 것(맥락)의 조합을 포함하는 것으로 학습한다.
시스템(10)의 일부 실시예들에서, 훈련 프로세스(30)는 다양한 서로 다른 정의된 객체들을 식별하기 위해 기법들 중 적어도 일부를 훈련시키기 위해서 여러 번 반복된다. 예를 들어, 제 1 훈련 프로세스는 자동차들을 식별하기 위해 각각의 기법을 훈련시키도록 구성될 수 있고, 제 2 훈련 프로세스는 보트들을 식별하기 위해 각각의 기법을 훈련시키도록 구성될 수 있다. 이러한 시나리오에서, 각각의 기법에 대해 그 발생되는 기준 데이터는 인자들에 의해 분류되는 필터링가능한 데이터베이스(filterable database)로서 데이터베이스 메모리(22)에 정렬되며, 여기서 인자들은 기법이 식별하기 위해 훈련되었던 상이한 정의된 객체들(자동차들 및 보트들)을 포함한다. 더욱이, 기준 데이터의 수동적 필터링을 가능하게 하기 위해, 사용자 인터페이스(24)는 사용자가 시스템(10)이 식별하기를 원하는 정의된 객체가 무엇인지를 사용자가 선택할 수 있게 하는 메뉴(menu)를 제공하도록 구성된다. 예를 들어, 앞서의 시나리오에서, 인터페이스(24)는 사용자로 하여금 기법들이 자동차들 및/또는 보트들을 식별하려고 시도하고 있을 것인지 여부를 선택할 수 있게 하고, 따라서 이에 따라 데이터베이스를 필터링하는 것 그리고 기법들이 액세스할 수 있는 기준 데이터에 영향을 미치는 것이 일어나게 된다.
앞서의 예는 시스템(10)이 특정의 정의된 객체를 식별하기 위해 어떻게 구성될 수 있는지에 관한 간단한 예이고, 다수의 훈련 프로세스들로 인해, 기준 데이터는 더 복합적일 수 있고, 이것은 복수의 필터링 계층들을 허용하여 사용자로 하여금 시스템(10)이 어떻게 동작할지를 정밀하게 조정할 수 있게 됨이 이해될 것이다. 예를 들어, 기준 데이터는 사용자 인터페이스(24)를 동작시키는 사용자로 하여금 빌딩 건설 현장, 도로, 혹은 정박지(marina)와 같은 사용 환경인 제 1 계층을 선택할 수 있도록 구성될 수 있고, 이것이 의미하게 되는 바는 프로세서(18)에 의해 실행되는 각각의 기법이 식별을 위해 그리고 그 사용 환경에 관련시키기 위해 그 훈련되었던 모든 객체들을 식별하려고 시도하게 됨을 의미하게 된다. 사용자는 또한, 사용 환경과 관련된 객체들의 범주(category)(예를 들어, 지상 인게이징 장비(ground engaging equipment))인 제 2 계층을 선택할 수 있다. 사용자는 또한, 사용 환경 내의 특정 객체(예를 들어, 굴착기)인 제 3 계층을 선택할 수 있다. 따라서, 기준 데이터의 다양한 계층들을 선택함으로써, 사용자는 기법들에 의해 액세스가능한 기준 데이터에 영향을 미치고, 이에 따라 기법들이 어떻게 기능할 것인지에 영향을 미친다.
예를 들어, 기준 데이터 및 사용자 인터페이스(24)는 사용자로 하여금 정박지들 및 모든 보트들을 선택할 수 있게 하도록 구성될 수 있고, 이것은 기법들을 실행하는 프로세서(18)로 하여금 관련 시그니처(들)의 식별에 응답하여 임의의 보트가 센서(들)(12)의 범위 내에 있는 때를 결정하도록 한다. 대안적으로, 사용자 인터페이스(24)를 동작시키는 사용자는, 기법들을 실행하는 프로세서(18)가 항만시설 크레인(dockyard crane)이 개인 요트와 같은 임의의 비-상업적 보트의 3 m 내에 있는 때를 결정하도록, 시스템(10) 설정들을 정밀조정(refine)할 수 있다.
도 3a는 시스템(10)에 대한 동작 프로세스(50)의 다양한 스테이지들을 예시하고, 이것에 의해 시스템은 센서(12)에 의해 검출된 객체(14)가 정의된 객체인지 여부를 평가한다. 동작 프로세스(50)의 적어도 일부분은 프로세서(18)가 실행하도록 구성된 각각의 객체 식별 기법(501, 502, 503)에 의해 실행된다.
제 1 스테이지(52)에서, 센서(12)는 객체(14)의 적어도 하나의 디지털 표현을 정의하기 위해 데이터를 검출한다. 도 1에서 보여지는 실시예에서, 이것은 사람(14)이 카메라(12)의 초점 범위(시계) 내에 있을 때 카메라(12)가 사람(14)의 적어도 하나의 이미지를 캡처하는 것을 포함한다. 이것이 다수의 이미지들(프레임들)을 포함하는 비디오 영상을 캡처하는 것을 포함할 수 있음이 이해될 것이다. 각각의 디지털 표현이 카메라(12)에 의해 프로세서(18)에 제공되고, 각각의 기법(501, 502, 503)은 프로세서(18)에 의해 동시에 혹은 근사적으로 동시에 실행되고, 이에 따라 각각의 기법(501, 502, 503)은 적어도 하나의 공통 디지털 표현을 평가할 수 있게 된다.
제 2 스테이지(54)에서, 프로세서(18)는 제 1 기법(501)을 실행하는데, 여기서 제 1 기법(501)은 분할 프로세스(segmentation process)가 하나의 디지털 표현과 관련하여 실행되도록 하여(전형적으로는 분할 알고리즘을 실행함으로써 실행되록 하여) 디지털 표현 내에서 정의되는 임의의 시그니처 후보를 식별하게 된다. 보여지는 실시예에서, 기법(501)은 세 개의 시그니처 후보들(541, 542, 543)을 식별한다. 각각의 시그니처 후보(541, 542, 543)는, 앞에서 설명된 바와 같이, 기법(501)이 결정하길 기법(501)이 훈련 프로세스 동안 이전에 도출했던 시그니처일 수 있다고 결정한 디지털 표현의 양상이다. 시그니처 후보들(541, 542, 543)을 식별하기 위해서 기법(501)에 의해 행해진 디지털 표현의 분할은 기법(501)의 미리정의된 동작 파라미터들 및/또는 훈련 데이터(32)에 응답하여 기법(501)에 의해 정의되는 시그니처의 특성들에 따라 달라질 것이다. 예를 들어, 기법(501)은 시그니처를 기하구조-기반 시그니처인 것으로서 정의했었을 수 있고, 따라서, 분할은 기하구조-기반 시그니처와 부합할 수 있는 기하구조(예컨대, 미리정의된 기하구조적 범위들 혹은 임계치들 내에 있는 임의의 기하구조)를 표현 내에서 식별하는 것을 포함한다.
제 3 스테이지(56)에서, 프로세서(18)는 각각의 식별된 시그니처 후보(541, 542, 543)에 대해 특징 벡터(α)를 도출하기 위해 특징 추출 알고리즘을 실행한다.
제 4 스테이지(58)에서, 프로세서(18)는 비교기(전형적으로는, 분류기 혹은 탐색 알고리즘(finding algorithm)임)를 실행하여 각각의 도출된 특징 벡터(α)를 기준 데이터에 의해 정의된 특징 분산 분포와 비교하게 된다.
제 5 스테이지(60)에서, 비교기는 비교되는 특징 벡터(α)와 기준 데이터의 상대적인 위치 또는 다른 통계적 관계로부터 우도값(β)을 도출한다. 우도값(β)은 기법(501)이 정의된 객체에 의해 정의되는 것으로서 훈련 데이터(32)로부터 학습했던 시그니처와 그 비교되는 특징 벡터(α)가 동일하거나 충분히 유사할 우도를 표시한다. 예를 들어, 기준 데이터에 의해 형성된 특징 분산 분포가 단일의 가우스 곡선(62)을 정의하는 그래프로서 표현되는 경우, 비교기는 그래프 상에 특징 벡터(α)를 플롯팅할 수 있고, 그리고 곡선 및/또는 곡선의 피크에 대한 플롯팅된 특징 벡터(α)의 근접도로부터 우도값(β)을 결정할 수 있다. 대안적으로, 특징 분산 분포가 둘 이상의 겹쳐지는 가우스 곡선들로서 표현되는 경우, 또는 클라우드-타입 분포(cloud-type distribution)를 형성할 수 있는 다른 분포 함수들로서 표현된 경우, 비교기는 특징 벡터(α)를 플롯팅할 수 있고, 그리고 그 겹쳐지는 곡선들에 의해 정의되는 최대 밀도의 영역에 대한 플롯팅된 특징 벡터(α)의 근접도로부터 우도값(β)을 결정할 수 있다. 우도값(β)은 기준 데이터에 의해 정의되는 특징 분산 분포에 따라 달라지고, 이것에 의해 프로세서(18)가 훈련 데이터(32)에 대한 노출을 통해 확인했던 것으로 시그니처를 정의한다고 확인했던 다른 실질적으로 유사한 기준 특징 벡터들에 대한 그 평가된 특징 벡터(α)의 상대적인 유사도에 따라 더 높은 우도값(β)이 결정됨이 이해될 것이다.
제 6 스테이지(64)에서, 프로세서(18)에 의해 실행된 기법들(501, 502, 503)에 의해 도출된 우도값들(β) 중 적어도 일부는 결합되어 복합 값(θ)이 도출된다. 전형적으로, 적어도 두 개의 상이한 기법들(501, 502, 503)에 의해 도출된 우도값(β)이 결합되어 복합 값(θ)이 도출된다. 이러한 결합(융합) 스테이지는 다양한 서로 다른 우도값(β) 결합 방법들을 포함할 수 있다. 예를 들어, 결합 스테이지는 주기적으로 실행되도록 구성될 수 있는데, 예컨대, 매 초마다 실행되도록 구성될 수 있고, 반면 각각의 기법(501, 502, 503)은 매 1/5초마다 주기적으로 실행되도록 구성될 수 있고, 따라서 각각의 초마다 다섯 개의 우도값들(β)을 도출하도록 구성될 수 있다. 이러한 시나리오에서, 결합 스테이지는 이전의 1초 동안 각각의 기법(501, 502, 503)에 의해 도출된 가장 높은 우도값(β)을 결합하는 것을 포함할 수 있다. 대안적으로, 이러한 시나리오에서, 각각의 기법(501, 502, 503)은 또한 미리정의된 주기(예를 들어, 1초)에서 도출된 우도값들(β)을 평균화하도록 구성된 평균화 함수를 포함할 수 있고, 따라서, 결합 스테이지는 이전의 1초 동안 각각의 기법(501, 502, 503)에 의해 도출된 평균 우도값(β)을 결합하는 것을 포함한다.
제 7 스테이지(66)에서, 시스템(10)은, 복합 값(θ)에 근거하여, 적어도 하나의 센서에 의해 검출된 그리고 디지털 표현 내에서 정의된 객체(14)가 정의된 객체인지 여부를 결정한다.
제 4 스테이지(58) 및 제 5 스테이지(60)는, 제 3 스테이지(56)에서 각각의 특징 추출 알고리즘에 의해 도출된 각각의 특징 벡터(α)에 대해, 각각의 기법(501, 502, 503)에 의해 반복될 수 있고, 이것은 시스템(10)으로 하여금 각각의 기법(501, 502, 503)이 식별한 임의의 시그니처 후보가, 각각의 기법이 학습했던 것으로 정의된 객체에 의해 정의된다고 학습했던 시그니처와 부합하는지 여부를 평가할 수 있게 함이 이해될 것이다.
제 6 스테이지(64)에서 우도값들(β)을 결합하여 복합 값(θ)이 도출되는 것은 전형적으로 우도값들(β)을 곱하는 것을 포함하는데, 이것은 낮은 우도값들(β)로부터 도출된 낮은 복합 값(θ)과 높은 우도값들(β)로부터 도출된 높은 복합 값(θ) 간의 차이를 증가시킨다. 따라서, 복합 값(θ)은 정의된 객체를 식별하는 시스템(10)의 신뢰도의 명확한 표시를 제공한다.
대안적으로, 각각의 기법(501, 502, 503)에 대한 특징 분산 분포가 상당히 집중되는 경우에, 예를 들어, 가파른 가우스 곡선을 정의하는 경우에, 출력 우도값들(β)은 전형적으로 매우 높거나(대략 수백 혹은 수천) 혹은 매우 낮고(대략 한 자리 수들 또는 1보다 작음), 이것은 가상 이진 우도값(virtual binary likelihood value)(β)이 도출될 수 있게 한다. 이러한 시나리오에서, 결합 스테이지(64)는 득표 방식(voting scheme)을 포함할 수 있는데, 여기서 높은 우도값(β)은 결과적으로 단일 득표를 발생시키고, 낮은 값은 결과적으로 득표 없음을 발생시킨다. 그 다음에, 득표들은 함께 합산되어 복합 값(θ)이 도출되게 된다.
도 3b는 시스템(10)의 대안적 구성에 대한 동작 프로세스(51)를 보여주고, 도 3b에 의하면 공통되는 참조 번호들은 공통되는 특징들을 표시한다. 시스템(10)은 도 3a에서 예시되는 기법들 중 두 개의 기법들(501, 502)을 실행하도록 구성되는데, 이것은 시스템(10)에 관한 본 실시예에서 1차 기법(primary technique)들로서 지칭되고, 시스템(10)은 또한 2차 기법(secondary technique)(504)을 실행하도록 구성된다. 1차 기법들(501, 502)은 데이터가 적어도 하나의 센서(12)로부터 제공되는 것에 응답하여 우도값(β)을 도출하도록 구성되고, 여기서 데이터는 객체(14)의 적어도 하나의 디지털 표현이다. 2차 기법(504)은 데이터가 1차 기법들(501, 502) 중 하나 이상의 기법에 의해 제공되는 것에 응답하여 추가 우도값(βn)을 도출하도록 구성된다. 이것은, 각각의 1차 기법(501, 502)이 앞에서 설명된 바와 같이 실행되어 우도값들(β1, β2)이 도출되는 것, 그리고 이러한 우도값들(β1, β2)이 2차 기법(504)에 입력으로 제공되는 것을 포함한다. 전형적으로, 적어도 두 개의 1차 기법들(501, 502)은 실행되어 적어도 하나의 우도값(β1, β2)이 각각의 1차 기법(501, 502)으로부터 2차 기법(504)으로 제공될 수 있게 된다. 그 다음에, 2차 기법(504)이 프로세서(18)에 의해 실행되고, 이것은 우도값들(β1, β2)이 스테이지(581)에서 비교되도록 하고 추가 우도값(β3)이 결과로서 도출되게 한다.
도면번호 581에서 2차 기법(504)에 의한 입력 우도값들(β1, β2)의 비교는 분류기와 같은 비교기를 실행하여 우도값들(β1, β2) 간의 상관관계를 결정하는 것을 포함할 수 있다. 이러한 상관관계는 예를 들어, 디지털 표현의 동일한 혹은 유사한 부분을 평가함에 응답하여 높은 우도값(βn)이 1차 기법들(501, 502) 각각에 의해 도출되었음을 표시할 수 있다. 따라서, 이것은 정의된 객체의 시그니처가, 각각의 1차 기법(501, 502)이 시그니처를 어떻게 정의하는지에 상관없이, 디지털 표현의 동일한 부분 내에 존재할 우도가 높음을 표시하고, 이는 결과적으로 정의된 객체가 해당 표현의 그 구분에 존재한다는 시스템(10)의 신뢰도를 증가시킨다. 따라서, 시그니처의 존재 및 이에 따른 정의된 객체의 존재에 관한 기법들(501, 502) 간의 임의의 일치(agreement)를 결정함으로써, 2차 기법(504)의 실행은 1차 기법들(501, 502)의 우도값들(β1, β2)을 효과적으로 검증한다. 공간적 상관관계는 단지 비교 스테이지의 하나의 예이고, 2차 기법(504)의 범위 내에서 다른 상관관계들이 존재함이 이해될 것이다. 또 하나의 다른 예는 환경의 알려진 특징들을 이용하는 것을 포함할 수 있다. 환경 내에서 사람들을 인식하는 경우에, 검출이 일어난 영역 내에 사람이 위치하고 있을 수 없기 때문에, 검출되었던 것이 사람일 수 없음이 알려질 수 있다. 예를 들어, 해당 영역 내에 바닥(floor)이 없을 수 있다.
도 3c는 도 3a에서 보여지는 프로세스(50) 또는 도 3b에서 보여지는 프로세스(51)의 또 하나의 다른 실시예를 보여주고, 도 3c에 의하면 공통되는 참조 번호들은 공통되는 특징들 또는 단계들을 표시한다. 이러한 실시예의 경우, 시스템(10)은 또한, 피드백 루프(160)를 포함하는데, 여기서 피드백 루프(160)는 스테이지(66)에서 프로세서(18)가, 검출된 객체(14)를 정의된 객체로서 긍정적으로 식별하는 것에 응답하여, 데이터베이스 메모리(22)에 저장된 기준 데이터에 추가적인 특징 데이터를 부가하도록 구성된다.
이러한 실시예에서, 기법들(501, 502, 503)을 실행하는 프로세서(18)가 정의된 객체의 긍정적 식별을 결정하는 각각의 경우에, 프로세서(18)는 각각의 기법(501, 502, 503)에 대한 특징 분산 분포에서 긍정적 식별에 기여한, 각각의 실행된 기법(501, 502, 503)에 의해 도출된 특징 데이터(α)를 기록하고, 그리고 이것을 기준 데이터의 새로운 버전(version)으로서 메모리(22)에 저장하는데, 이것은 본질적으로 도 2에서 보여지는 훈련 프로세스(30)의 스테이지들(42 및 44)의 반복이다. 그 다음에, 수정된 기준 데이터는 앞서 설명된 동작 프로세스들(50, 51)의 비교기 스테이지(58)에서 액세스가능하다.
이러한 방식으로 동작시키는 것은 기준 데이터 세트들을 형성하는 데이터의 범위를 계속해서 증가시키고, 이것은 결과적으로 각각의 특징 분산 분포에서 실질적으로 대응하는 특징 벡터들(α)의 양을 증가시킨다. 이것은 각각의 기법(501, 502, 503)의 정확도를 증가시키는 효과를 갖는데, 왜냐하면 기준 데이터에서 특징 벡터들(α)의 범위에 의해 시그니처가 더 명확하게 정의되기 때문이다. 따라서, 피드백 루프(160)는 반복적 프로세스를 제공하고, 이러한 반복적 프로세스는 시스템(10)의 반복된 사용을 통해 시스템(10)의 정확도를 점진적으로 증진시키고, 이것은 효과적으로 각각의 기법(501, 502, 503)으로 하여금 시그니처를 계속해서 미세조정할 수 있게 하고, 이에 따라 그 정의된 객체가 디지털 표현 내에 존재하는 때를 정확하게 식별할 수 있게 한다.
일부 실시예들에서, 피드백 루프(160)는, 스테이지(66)에서 프로세서(18)에 의한 정의된 객체의 긍정적 식별 이후의 추가적인 스테이지를 포함하는데, 스테이지(162)에서, 프로세서(18)는 특징 데이터가 기준 데이터로서 데이터베이스 메모리(22) 내에 기록돼야하는지를 확인하기 위해 사용자 인터페이스(24)를 동작시키는 사용자에 의한 사용자 확인을 추구한다. 이것은, 스테이지(66)에서 시스템(10)이 검출된 객체(14)가 정의된 객체라고 결정하는 것에 응답하여 이러한 결정이 올바른지를 확인하기 위해 사용자 인터페이스(24)에 의해 사용자가 촉구받도록 사용자 인터페이스(24)가 구성되는 것을 포함한다. 이러한 지도형 학습(supervised learning) 시나리오의 경우, 프로세서(18)는 스테이지(162)에서 단지 긍정적인 사용자 확인을 수신하는 것에 응답하여서만 특징 벡터(α)를 기준 데이터에 추가한다.
도 3c에서 또한 보여지는 것으로, 일부 실시예들에서, 시스템(10)은, 스테이지(66)에서의 정의된 객체의 긍정적인 식별 혹은 피드백 루프(160)의 동작 이후에, 프로세서(18)가, 시스템(10)에 의해 실행될 액션을 확인하기 위해, 스테이지(164)에서, 사용자 인터페이스(24)를 동작시키는 사용자에 의한 액션 메뉴에 대한 사용자 입력을 추구하도록 구성된다. 이것은, 사용자 인터페이스(24)가 구성되데, 액션 메뉴(164)를 동작시키는 것이 사용자로 하여금 긍정적인 식별에 응답하여 시스템(10)에 의해 실행될 하나 이상의 액션들을 정의할 수 있게 하도록 구성되는 것을 포함한다. 이것은 사용자로 하여금 예를 들어, 보건 및 안전 규정들과 같은 법적 요건들을 따르도록 '모범 사례(best practice)' 규칙들 혹은 경계 조건들을 정의할 수 있게 한다. 유사하게, 이것은 사용자로 하여금 사용자에 의해 중요한 것으로서 지각되는 특정 상황들에 관해 시스템(10)의 기능을 최적화할 수 있게 한다.
스테이지(166)에서, 프로세서(18)는 정의된 액션(들)으로부터 명령들을 도출하고, 그리고 명령들을 실행하고, 그럼으로써 액션(들)이 일어나게 되고, 그리고 명령들은 프로그램 메모리(20) 및/또는 데이터베이스 메모리(22) 내에 프로세서(18)에 의해 기록된다. 이것이 의미하는 바는, 프로세서(18)가 검출된 객체를 액선(들)의 정의를 촉구했던 동일한 정의된 객체인 것으로서 후속적으로 식별한 것에 응답하여 명령들이 실행될 것임을 의미한다.
예를 들어, 기법들(501, 502, 503)이 사람의 1 m 내에 있는 굴착기 버킷인 정의된 객체를 식별하도록 구성되는 경우, 프로세서(18)가 정의된 객체를 식별하는 것에 응답하여, 사용자는 굴착기로 하여금 즉시 동작을 멈추도록 하기 위해서 적절한 액션이 경보 디바이스(26)를 동작시킬 것을 정의하기 위해 액션 메뉴를 동작시킨다. 이것이 의미하는 바는, 프로세서(18)가 사람의 1 m 내에 있는 굴착기 버킷을 식별하는 각각의 장래의 경우에, 이러한 액션이 자동적으로 실행됨을 의미한다.
대안적으로 혹은 추가적으로, 기법들이 정의된 객체를 임의의 다른 객체의 5 m 내에 있는 굴착기 버킷으로서 식별하도록 구성되는 경우, 사용자는 굴착기 버킷이 전력선들의 5 m 내에 있을 때 식별가능한 알람이 방출되게 하기 위해서 적절한 액션이 경보 디바이스(26)를 동작시킬 것을 정의하기 위해 액션 메뉴를 동작시킨다.
이러한 것들은 '모범 사례' 액션을 정의하는 간단한 예들이고 더 복잡한 액션들 또는 액션들의 시퀀스들이 사용자에 의해 정의될 수 있음이 이해될 것이다. 예를 들어, 사용자는 특정 분야에서 전문가일 수 있고, 전문가 사용자에 의해 액션 메뉴를 동작시키는 것은 전문가 사용자의 특정 지식 및 경험에 따라 시스템(10)의 복잡한 구성을 가능하게 하며, 그럼으로써 이러한 지식이 시스템(10)의 기능 내에 내장되게 된다. 더욱이, 이러한 방식으로 시스템(10)을 동작시키는 것은 프로세서(18)로 하여금 사용자가 시스템(10)이 어떻게 동작하는 것을 선호하는지를 계속 학습할 수 있게 하고 이에 따라 시스템(10)의 기능을 조정할 수 있게 한다. 예를 들어, 사용자 입력('학습 사례들')을 계속 모니터링함으로써, 프로세서(18)는 사용자 행태의 패턴들을 식별할 수 있고, 그리고 사용자로부터 입력을 요구함이 없이, 검출된 객체가 정의된 객체라는 결정에 응답하여 실행돼야만 하는 추가적인 '모범 사례' 액션들 또는 경계 조건들을 도출할 수 있다.
도 3c에서 또한 보여지는 것으로, 일부 실시예들에서, 시스템(10)은, 스테이지(162)에서의 긍정적인 사용자 확인 입력에 응답하여, 프로세서(18)가, 검출된 객체(14)가 정의된 객체(14)라고 표시하는 임의의 표시자들을 선택하기 위해, 또는 프로세서(18)에 의해 자동적으로 식별 및 제안된 표시자들을 선택해제하기 위해, 스테이지(168)에서, 사용자 인터페이스(24)를 동작시키는 사용자에 의한 표시자 메뉴(indicator menu)에 대한 사용자 입력을 추구하도록 구성된다. 표시자는 전형적으로 객체(14)의 디지털 표현의 특정 특성이고, 일반적으로 그 검출된 객체와 관련된 맥락 인자이다. 예를 들어, 표시자들은 특정 객체들을 포함할 수 있는데, 예컨대, 사람들, 의류, 장비, 표지, 및/또는 특정 행태들, 예컨대, 강한 바람들을 표시하는 바람으로 인한 나무가지 구부러짐, 또는 임박한 충돌을 표시하는 창고 내에서 운행중인 지게차들의 상대적 속도 벡터들을 포함할 수 있다. 사용자에 의한 표시자 메뉴의 동작에 응답하여, 프로세서(18)는 각각의 식별된 표시자로부터 표시자 데이터를 도출하고, 그리고 표시자 데이터를 스테이지(66)에서 긍정적 식별을 야기한 특징 벡터(α)와 관련시키고, 그리고 관련된 표시자 데이터를 추가적인 기준 데이터로서 메모리(22)에 기록한다.
이러한 방식으로 시스템(10)을 동작시키는 것은 프로세서(18)로 하여금 사용자가 표시자들일 것으로 고려하는 특징들을 계속 학습할 수 있게 한다. 이러한 '학습 사례들'을 계속 모니터링함으로써, 프로세서(18)는 사용자 행태의 패턴들을 식별할 수 있고, 그리고 사용자로부터 입력을 요구함이 없이, 프로세서(18)가 검출된 객체가 정의된 객체라고 결정하는 때마다 추가적인 표시자 데이터를 도출할 수 있다.
일부 실시예들에서, 시스템(10)의 동작은 비교기 스테이지(58)의 하위-동작(sub-operation)으로서 추론 스테이지(inference stage)를 포함한다. 추론 스테이지는, 기법들(501, 502, 503) 중 어느 기법도 식별하도록 훈련되지 않았던 대안적 객체에 센서(12)가 노출되는 것에 응답하여 실행된다. 이것이 일어나는 경우, 기법들 중 하나의 기법(501)을 실행하는 프로세서(18)는, 도면번호 56에서, 대안적인 검출된 객체의 디지털 표현으로부터 특징 데이터(α)를 도출하고, 그리고 도면번호 58에서, 특징 분산 분포 내에서의 내삽(interpolation)에 의해, 특징 데이터가 기준 데이터와 충분히 유사하다고 결정하여 신뢰성 있는 우도값(β)을 도출하게 되고 스테이지(66)에서, 정의된 객체의 긍정적 식별을 일으키게 된다. 그 다음에, 프로세서(18)는, 도 3c에서 도면번호 160에서 보여지는 바와 같이, 도출된 특징 데이터(α)를 기준 데이터에 추가한다. 선택에 따라서는, 특징 데이터(α)는, 스테이지(162)와 본질적으로 동일한 프로세스인 사용자 인터페이스(24)의 동작으로부터 긍정적인 사용자 확인을 수신하는 것에 응답하여서만 기준 데이터에 추가된다.
예를 들어, 기법(501)이 차량의 특정 모델을 식별하기 위해 하나 이상의 훈련 프로세스들(30) 동안 훈련된 경우, 후속적으로 센서(12)는, 동일한 차량 플랫폼을 공유하고 있고 결과적으로는 근사적으로 동일한 기하구조 및 행태적 특성들을 갖고 있는 차량의 대안적 모델을 검출할 수 있다. 이것이 일어나는 경우, 프로세서(18)는, 비교기 스테이지(58)에서, 대안적 차량의 디지털 표현으로부터 도출된 특징 벡터(α)를 기준 데이터와 비교하고, 그리고 대안적 차량의 유사한 기하구조 및/또는 행태로 인해 대다수의 기준 데이터와 유사한 것으로서 특징 벡터(α)를 내삽하는 것으로부터 신뢰성 있는 우도값(β)을 도출한다. 그 다음에, 이것은 프로세서(18)로 하여금 대안적 차량을 정의된 객체로서 식별하도록 한다. 그 다음에, 특징 벡터(α)는 도면번호 160에서 기준 데이터에 추가되고, 이것은 기준 데이터의 범위를 넓히고, 그리고 대안적 차량 모델을 정의된 객체인 것으로서 또한 식별하도록 기법(501)을 효과적으로 재-훈련시킨다. 따라서, 이러한 프로세스는 이전에 관찰되지 않은 객체들의 식별을 정의된 객체인 것으로서 추론하도록 기법들(501, 502, 503) 중 임의의 기법을 재-훈련시킨다.
다른 실시예들에서, 시스템(10)의 동작은 비교기 스테이지(58)의 하위-동작으로서 예측 스테이지(prediction stage)를 포함한다. 예측 스테이지는, 기법들(501, 502, 503) 중 어느 기법도 식별하도록 훈련되지 않았던 대안적 객체에 센서(12)가 노출될 때 실행된다. 이것이 일어나는 경우, 기법들 중 하나의 기법(501)을 실행하는 프로세서(18)는, 도면번호 56에서, 대안적인 검출된 객체의 디지털 표현으로부터 특징 데이터(α)를 도출하고, 그리고 도면번호 58에서, 특징 분산 분포 내에서의 외삽(extrapolation)에 의해, 특징 데이터가 충분히 유사하다고 결정하여 신뢰성 있는 우도값(β)을 도출하게 되고 스테이지(66)에서, 정의된 객체의 긍정적 식별을 일으키게 된다. 그 다음에, 프로세서(18)는, 도 3c에서 도면번호 160에서 보여지는 바와 같이, 도출된 특징 데이터(α)를 기준 데이터에 추가한다. 선택에 따라서는, 특징 데이터(α)는, 스테이지(162)와 본질적으로 동일한 프로세스인 사용자 인터페이스(24)의 동작으로부터 긍정적인 사용자 확인을 수신하는 것에 응답하여서만 기준 데이터에 추가된다.
예를 들어, 기법(501)이 스포츠 유틸리티 차량(Sports Utility Vehicle, SUV)을 식별하기 위해 하나 이상의 훈련 프로세스들(30) 동안 훈련된 경우, 후속적으로 센서(12)는 SUV와 근사적으로 동일한 기능적 특징들 및 행태를 갖는(예를 들어, 근사적으로 동일한 위치들에 정렬된 네 개의 바퀴들, 문들, 및 창문들을 갖고 있으며 대략 동일한 속도로 움직이고 있고 유사한 경로를 따라 움직이고 있는) 밴(van)을 검출할 수 있다. 이것이 일어나는 경우, 프로세서(18)는, 비교기 스테이지(58)에서, 밴의 디지털 표현으로부터 도출된 특징 벡터(α)를 기준 데이터와 비교하고, 그리고 밴의 유사한 특징들로 인해 대다수의 기준 데이터와 유사한 것으로서 특징 벡터(α)를 외삽하는 것으로부터 신뢰성 있는 우도값(β)을 도출한다. 그 다음에, 이것은 프로세서(18)로 하여금 밴을 정의된 객체로서 식별하도록 한다. 그 다음에, 특징 벡터(α)는 도면번호 160에서 기준 데이터에 추가되고, 이것은 기준 데이터의 범위를 넓히고, 그리고 밴을 정의된 객체(SUV)인 것으로서 또한 식별하도록 기법(501)을 효과적으로 재-훈련시킨다. 따라서, 이러한 프로세스는 이전에 관찰되지 않은 객체들의 식별을 정의된 객체인 것으로서 예측하도록 임의의 기법(501, 502, 503)을 재-훈련시킨다.
도 4는 동작 동안의 시스템(10)의 스크린샷이고, 여기서 시스템(10)은, 네 개의 기법들을 동작시키도록 구성되는데, 네 기법들은, 두 개의 1차 객체 식별 기법들 및 두 개의 2차 객체 식별 기법들을 포함하고, 각각의 1차 기법은 사람(70)을 정의된 객체로서 식별하도록 구성된다. 스크린샷은 두 개의 1차 기법들이 동시에 실행되는 것을 예시한다. 머리 어깨 시그니처 - 적색 녹색 청색(Head Shoulder Signature - Red Green Blue, HSS-RGB)로 명명된 첫 번째 1차 기법은, 사람(70)의 모션으로 인해 검출된 사람(70)의 머리-어깨 계면의 윤곽으로부터, 정의된 객체를 식별하도록 구성되고, 그리고 훈련 데이터에 이전에 노출된 것으로부터 시그니처를 이러한 윤곽인 것으로서 도출하게 된다. 지향성 그라디언트들의 히스토그램(Histogram of Oriented Gradients, HOG)으로 명명된 두 번째 1차 기법은, RGB 이미지 내의 인접하는 픽셀들의 패턴들 및 특정 픽셀 변동들로 인해 검출된 사람(70)의 실루엣(silhouette)으로부터, 정의된 객체를 식별하도록 구성되고, 그리고 훈련 데이터에 이전에 노출된 것으로부터 시그니처를 이러한 실루엣 형상인 것으로서 도출하게 된다. 2차 기법들은, 1차 기법들(HSS 및 HOG)로부터의 출력들을 비교하여 공간적 상관관계(spatial correlation)(즉, 각각의 기법에 의해 도출된 시그니처 후보들이 디지털 표현 내의 근사적으로 동일한 위치로부터 온 것인지 여부), 그리고/또는 시간적 상관관계(temporal correlation)(즉, 각각의 기법에 의해 도출된 시그니처 후보들이 디지털 표현 내의 근사적으로 동일한 시간(인스턴스(instance))으로부터 온 것인지 여부)를 식별하도록 구성된다.
도 4에서 보여지는 실시예에 따라 구성된 시스템(10)의 동작은 도 3b에서 설명된 프로세스(51)를 따른다. 전형적으로, 이것은, 초기에 HSS 및 HOG 기법들을 실행하는 것, 그 다음에 두 개의 2차 기법들을 실행하는 것을 포함한다. 이러한 기법들 각각의 동작은 전형적으로 OpenCV 플랫폼을 사용하여 수행되고, 아래에서 더 상세히 설명된다.
HSS-RGB 기법의 사용은, 스테이지(52)에서, 카메라(12)로부터의 이미지 획득을 포함하고, 이것에 의해 복수의 정지 이미지들(72)(프레임들)을 포함하는 비디오 영상이 캡처된다. 스테이지(54)에서, 시그니처 후보들을 식별하기 위해 이미지 프로세싱이 실행되는데, 이것은, 적어도 두 개의 프레임들이 RGB로부터 그레이스케일(grayscale)로 변환되는 것; 정의된 커널(kernel)을 갖는 가우스 블러(Gaussian blur)가 각각의 프레임에 적용되는 것; 프레임들 간의 차이가 계산되어 단일 이미지가 도출되는 것; 이미지가 바이너리 이미지(binary image)(74)로 변환되는 것; 이미지의 균일도(uniformity)를 증가시키기 위해 중앙값 필터(median filter)가 적용되는 것; 이미지를 팽창(dilating)시키는 것, 이미지를 침식(eroding)시키는 것, 그리고 이미지 내에서 윤곽선(contour)들을 탐색(finding)하는 것을 포함하는 형태학 기능(morphology function)이 실행되는 것; 윤곽선들이 영역에 의해 분류(sort)되는 것; 윤곽선들이 데이터베이스(22) 내에 저장된 윤곽선 기준 데이터와 비교되어 기하구조 경계와 같은 정의된 임계치들 내에 있는 윤곽선들을 식별하는 것; 관심 있는 영역들(시그니처 후보들(541, 542, 543))이 각각의 후보 주위에 바운딩 박스(bounding box)(76)를 구성함으로써 정의되는 것을 포함한다. 윤곽선 기준 데이터는 HSS-RGB 기법이 학습했던 혹은 수동으로 구성됐던 추가 기준 데이터를 포함하여 적절한 윤곽선 기하구조를 정의하는 것으로서 인식되게 된다. 이것이 학습되는 경우, 이것은 앞서 설명된 바와 같이 기준 데이터를 경험적으로 도출하는 동일한 프로세스를 포함할 수 있다.
스테이지(56)에서, 각각의 시그니처 후보(541, 542, 543)에 대한 특징 벡터가 도출되고, 이것에 의해, 각각의 평가된 시그니처 후보에 대해, 다음과 같은 것, 바운딩 박스(76) 내의 백색 픽셀들의 각각의 행(row)으로부터 스팬 측정(span measurement)을 도출하는 것; 가장 큰 스팬으로부터 어깨 측정을 도출하는 것; 어깨 측정을 데이터베이스(22) 내에 저장된 어깨 기준 데이터와 비교하여 사람의 머리가 스팬에 대해 상대적으로 어디에 있어야 하는지를 식별하는 것; 이에 따라 바운딩 박스의 크기를 조정하는 것; 식별된 머리 영역에서 가장 큰 스팬으로부터 머리 측정을 도출하는 것; 머리-어깨 스팬 비율(head-shoulder span ratio)을 도출하는 것이 실행된다. 이러한 비율이 특징 벡터(α)이다. 어깨 기준 데이터는 HSS-RGB 기법이 학습했던 혹은 수동으로 구성됐던 추가 기준 데이터를 포함하여 사람의 머리와 어깨 간의 전형적인 기하구조적 관계를 정의하는 것으로서 인식되게 된다. 이것이 학습되는 경우, 이것은 앞서 설명된 바와 같이 기준 데이터를 경험적으로 도출하는 동일한 프로세스를 포함할 수 있다.
스테이지(58)에서, 비율(특징 벡터(α))은 훈련 프로세스에서 이전에 정의된 특징 분산 분포와 비교되어 우도값(β)이 도출된다. 이것은 매 초마다 다수의 값들(β)이 도출되는 것을 포함할 수 있어, HSS-RGB 기법으로 하여금 가장 가까이 있는 이웃의 통계적 추적기와 같은 평균화 함수를 적용할 수 있게 한다. 이것은 HSS-RGB 기법이 더 신뢰성 있는 우도값(β)을 제공할 수 있게 하는데, 왜냐하면 예를 들어, 복수의 우도값들(β)이 도출됐던 동일한 시그니처 후보가 근사적으로 동일한 위치에 남아있었는지 여부가 모니터링될 수 있기 때문이고, 즉, 임의의 기간 동안 하나의 값(β)이 가장 가까이 있는 이웃 값(β)과 상관되고 따라서 더 신뢰가능하기 때문이고, 이러한 우도값들(β)은 정의된 객체 존재 및 에러 없음, 혹은 다른 객체 존재의 결과이다.
HOG는 알려진 기법이고 따라서 시스템(10)에 의한 HOG의 동작은 예시적 목적을 위해 단지 간단히 설명됨이 이해될 것이다. HOG 기법의 사용은 전형적으로, 스테이지(52)에서, 카메라(12)로부터의 이미지 획득을 포함하고, 이것에 의해 전형적으로 복수의 정지 프레임들(72)(이미지들)을 포함하는 비디오 영상이 캡처된다. 스테이지(54)에서, 시그니처 후보들을 식별하기 위해 이미지 프로세싱이 실행되는데, 이것은 그라디언트 계산(gradient computation); 및 배향 비닝(orientation binning)을 포함한다.
스테이지(56)에서, 각각의 시그니처 후보에 대해, 다음과 같은 것, 기술자 블록(descriptor block)들(78)이 구성되는 것(x, y, 높이 및 폭 측정들에 의해 정의되는 것); 그리고 기술자 블록들(78)이 정규화(normalise)되는 것이 실행된다. 이것은 특징 벡터들(α)을 도출한다.
스테이지(58)에서, 서포트 벡터 머신(Support Vector Machine, SVM)이 실행되어 우도값(β)이 도출된다. 다시 이것은 매 초마다 다수의 값들(β)이 도출되는 것을 포함할 수 있어, HOG 기법으로 하여금 가장 가까이 있는 이웃의 통계적 추적기와 같은 평균화 함수를 적용할 수 있게 하고, 이에 따라 더 신뢰성 있는 우도값(β)을 제공하게 된다.
각각의 1차 기법(HSS-RGB 및 HOG)이 적어도 하나의 우도값(β)을 도출하는 것에 응답하여 2차 기법들이 실행된다. 도 4에서 보여지는 실시예에서, 각각의 2차 기법은 가장 가까이 있는 이웃의 통계적 추적기로서 구성된 분류기를 실행하는 것을 포함한다. 이러한 기법들 각각은 적어도 두 개의 우도값들(β)을 비교하여 물리적 공간 및/또는 시간 내에서 시그니처 후보의 잠재적 정렬을 결정하게 된다.
도 4는 또한, 결합(융합) 스테이지(64)가 실행되는 것을 예시하는데, 여기서 HSS-RGB 및 HOG 기법들 그리고 2차 기법들에 의해 도출된 우도값들(β)은 결합되어 복합 값(θ)(80)이 도출된다. 복수의 복합 값들(θ)이 보여지는데 왜냐하면 시스템(10)이 카메라(12)에 의해 검출된 객체가 사람(70)인지를 결정하기 위해 여러 번 실행되었기 때문이다. 이러한 실시예에서의 결합 스테이지는 득표 방식으로서 구성된다. 가장 높은 복합 값들(θ)(801)이 도출되게 되었는데, 왜냐하면 HSS-RGB 및 HOG 기법들 각각이 그 평가된 디지털 표현 내에서 각각의 시그니처가 존재할 가능성이 높음을 표시하는 높은 우도값(β)을 도출했고 따라서 이 기법들이 모두 투표를 했기 때문이고(HSS-RGB 득표 1 + HOG 득표 1 = 2 (소계)), 아울러 2차 기법들 각각이 또한 높은 우도값(β)을 도출하게 되었는데 왜냐하면 HSS-RGB 및 HOG 기법들에 의해 도출된 우도값들 간의 강한 공간적 및 시간적 상관관계가 확인되었고 따라서 2차 기법들이 또한 모두 투표를 했기 때문이다(2차 득표 1 + 2차 득표 1 + 소계 = 4 (총계)). 득표(복합 값(θ))가 총 4인 경우, 시스템(10)은 정의된 객체(사람(70))가 식별되었다는 최대 신뢰도에 있다.
도 5는 도 3a에서 보여지는 프로세스(50) 또는 도 3b에서 보여지는 프로세스(51)의 또 하나의 다른 실시예를 보여주고, 도 5에 의하면 공통되는 참조 번호들은 공통되는 특징들 또는 단계들을 표시한다. 이러한 실시예에서, 결정 스테이지(66) 전에, 프로세서(18)는, 도면번호 68에서, 복합 값(θ)을 복합 기준 데이터와 비교하도록 제 2 비교기를 동작시킨다. 복합 기준 데이터는 시스템(10)을 이전에 동작시킨 것으로부터 도출된 다양한 복합 값들을 포함한다. 이러한 방식으로, 복합 기준 데이터는 각각의 기법(501, 502, 503)에 대해 실행된 훈련 프로세스(30)에 의해 발생되는 특징 분산 분포 데이터를 상속하는데, 왜냐하면 이러한 분포 데이터는 이미 이전에 도출된 복합 값들을 결정하는 것에 영향을 미쳤기 때문이다.
도면번호 68에서, 새로운 복합 값(θ)을 복합 기준 데이터와 비교하는 것은 프로세서(18)로 하여금 신뢰도 값(γ)을 도출할 수 있게 한다. 이것은 전형적으로, 복합 기준 데이터가 가우스 곡선을 정의하는 그래프와 같은 복합 분산 분포로서 표현되는 것을 포함한다. 앞에서 설명된 제 4 스테이지(58)에서 실행되는 비교기와 유사하게, 제 2 비교기는 복합 값(θ)과 복합 분산 분포 간의 관계로부터 신뢰도 값(γ)을 결정한다. 그 다음에, 이것은 프로세서(18)로 하여금, 도면번호 66에서, 신뢰도 값(γ)의 할당량(quantum)에 근거하여 결정이 행해질 수 있게 한다. 예를 들어, 복합 분산 분포가 가우스 곡선으로서 표현되는 경우, 이것은 프로세서(18)가 곡선의 피크에 대한 복합 값(θ)의 근접도를 평가하는 것을 포함할 수 있다. 종종, 복합 값들(θ)이 복수의 우도값들(β)을 곱한 것으로부터 도출되는 경우, 복합 분산 분포(68)는 폭이 좁아지고 그리고 가파른 가우스 곡선을 정의하는데, 이것이 의미하는 것은, 도출된 신뢰도 값(γ)이 매우 높거나 혹은 매우 낮음을 의미하며, 그럼으로써 프로세서(18)는 객체(14)가 정의된 객체인지 여부를 높은 신뢰도로 식별할 수 있게 된다. 앞에서 설명된 바와 같이, 이것은 가상 이진 결정(virtual binary decision)이 수행될 수 있게 한다.
도 6a는 시스템(10)의 임의의 훈련 혹은 동작 전에, 시스템(10)을 초기에 구성하는 스테이지들을 예시한다. 이러한 구성은 전형적으로 시스템(10)의 의도된 목적에 따라 결정되는데, 이것에 의해, 모듈들(92, 94)로서 도 5a에서 보여지는 다양한 객체 식별 기법들이, 전형적으로는 시스템(10)이 식별하도록 구성되고 있는 타겟 정의된 객체에 따라, 프로세서(18)에 의한 실행을 위해 선택된다. 제 1 섹션(section)(90)은 예시적 기법 모듈들(92, 94)을 보여주는데, 예컨대, 알고리즘 모듈들(92) 및 분류기 모듈들(94)을 보여주고, 그리고 또한 링크 모듈(link module)들(96)을 보여준다. 링크 모듈들(96)은 위에서 설명된 스테이지(64)와 같은 결합 스테이지로 하여금 복수의 우도값들(β)로부터 복합 값(θ)을 도출할 수 있게 하도록 구성된다. 전형적으로, 링크 모듈(96)은 선택된 객체 식별 기법들(92, 94)의 출력에 응답하여 시스템(10)에 의한 실행을 위해 선택된다. 제 2 섹션(98)은 번들(bundle)(100)을 형성하도록 동작가능하게 함께 연결되는 세 개의 모듈들(92, 94, 96)을 보여준다. 번들(100)은 시스템(10)이 동작하는데 필요한 모든 모듈들을 포함할 수 있고, 또는 만약 요구된다면 다른 번들들에 연결될 수 있다.
전형적으로, 시스템(10)은 프로세서(18)가 정의된 객체를 식별하는 효과를 증진시키기 위해 상보적 객체 식별 기법 모듈들을 포함하도록 구성된다. 예를 들어, 제 1 기법은 조명이 밝은 조건들에서는 매우 신뢰가능하게 기능하지만, 조명이 낮은 조건들에서는 때때로 잘 기능하지 않거나 또는 전혀 기능하지 않는 것으로 알려질 수 있고, 반면 제 2 기법은 어떠한 조명 조건들에서도 상당히 신뢰가능하게 기능하는 것으로 알려져 있다. 시스템(10) 내에서 제 1 기법과 제 2 기법을 통합하여 실행하는 것이 의미하는 것은, 이러한 기법들의 결합된 출력들이 결과적으로 시스템(10)이 모든 조명 조건들에서 신뢰가능하게 기능하게 되는 것 그리고 조명이 밝은 조건들에서는 매우 신뢰가능하게 기능하게 되는 것을 의미한다. 기법들을 상보적이 되도록 선택하는 것은 수동적 입력과 자동화된 입력 중 적어도 하나의 입력의 결과이다. 예를 들어, 전형적으로 사용자는 다양한 기법들의 동작적 제한들을 이해하게 될 것이고, 그리고 시스템의 실-세계 적용에 적절한, 예를 들어, 동작 환경에 적합한 그리고/또는 정의된 객체의 특성들에 적합한, 기법들을 선택하게 될 것이다. 대안적으로 혹은 추가적으로, 시스템(10)은 기법들을 상보적이 되도록 선택할 수 있는데, 예를 들어, 통계적으로 상보적인 출력들을 제공한다는 이유로 기법들의 그룹들이 번들 내에 미리-구성될 수 있다. 또한, 대안적으로, 사용자는 제 1 기법을 선택할 수 있고, 그리고 제 1 기법과의 사용을 위한 잠재적인 상보적 기법들을 제안하도록 구성되는 알고리즘을 선택할 수 있다. 또한, 대안적으로, 프로세서(18)는 기법들의 수동적 구성을 모니터링하고, 다수의 '학습 사례들'을 모니터링 이후, 사용자 입력을 요구함이 없이 타겟 정의된 객체에 대한 적절한 기법 결합들을 결정한다.
시스템(10)은 폭넓은 다양한 객체 식별 기법 모듈들 중 둘 이상의 객체 식별 기법 모듈을 실행하도록 구성될 수 있다. 일부 적절한 모듈들의 예들이 다음의 표에서 상세히 제시된다.
앞서의 표는 모듈들의 총망라한 목록이 아니고, 프로세서(18)는 표에서 상세히 설명되지 않은 다수의 다른 모듈들을 실행하도록 구성될 수 있음이 이해될 것이다. 예를 들어, 프로세서(18)는 "심층 학습(Deep Learning)" 모듈을 실행하도록 구성가능하다.
도 6b는 상이한 목적들을 위해 구성된 상이한 번들 순열(bundle permutation)들의 예들을 보여준다. 예를 들어, 제 1 번들(102)은 적십자(red cross)와 같은 특정 마커(marker)를 정의된 객체로서 식별하도록 구성된다. 제 2 번들(104)은 금지 구역(exclusion zone) 내의 사람을 정의된 객체로서 식별하도록 구성된다. 제 3 번들은 두 개의 구성들을 갖는 것으로 보여진다. 제 1 구성(1601)은 개인용 보호 장비(Personal Protective Equipment, PPE), 예를 들어, 안전모(hard hat) 및 가시성 높은 자켓(jacket)/타바드(tabard)를 착용하고 있는 임의의 사람을 정의된 객체로서 식별하도록 구성된다. 제 2 구성(1602)은 PPE의 존재와 무관하게 임의의 사람을 정의된 객체로서 식별하도록 구성된다. 이것은 제 2 구성(1062)에서 PPE를 식별하는 모듈(HiVis로 라벨링됨)이 비활성화되었기 때문이다.
시스템은 폭넓은 다양한 번들(bundle)들 중 하나 이상의 번들을 실행하도록 구성될 수 있다. 일부 적절한 번들들의 예들이, 전형적인 시스템(10) 목적(적용(application)) 및 통합된 모듈들(컴포넌트들(components))에 대한 참조를 포함하여, 다음의 표에서 상세히 제시된다.
도 7은 앞서 표에서 상세히 제시된 번들 ID 16(120)에 따라 시스템(10)을 구성하는 것을 예시하며, 이것에 의해 객체 식별 기법 모듈들 C, E, K 및 O(122, 124, 126, 128)가 미리결정된 부호(sign)들 및/또는 기호(symbol)들을 식별하도록 통신가능하게 결합된다.
도 8은 번들(108)이 상이한 목적을 제공하기 위해 어떻게 조정될 수 있는지를 예시하는 것으로, 이것이 예를 들어, 대안적인 정의된 객체에 의해 정의되는 상이한 시그니처를 식별하기 위해서, 추가적인 모듈(110)을 구성 및 부가하여 대안적인 번들(112)을 형성함으로써 이루어지는 것을 예시한다. 예를 들어, 번들(108)은 인간의 기하구조에 의해 정의되는 시그니처를 식별하도록 구성될 수 있다. 그 다음에, 대안적인 번들(112)로서 재구성된 이러한 번들(108)은, 추가 모듈(110)을 모션 추적기(motion tracker)로서 구성함으로써, 인간에 의해 정의되는 특정 움직임 경로(예컨대, 걸음걸이)에 의해 정의된 시그니처를 식별하도록 구성된다.
도 9는 정의된 객체의 적어도 일부분의 기하구조에 의해 정의되는 시그니처의 예를 보여준다. 일반적으로, 기하구조 시그니처는, 특정 형상, 그리고/또는 하나의 형상/지점의 또 하나의 다른 형상/지점에 대한 관계를 포함하는데, 이것은 시스템(10)의 적어도 하나의 센서(12)에 의해 검출될 수 있다. 도 9에서 보여지는 실시예에서, 정의된 객체는 굴착기(130)의 버킷(132)이다. 이러한 실시예에 대해, 프로세서(18)에 의해 실행되는 객체 식별 기법들 중 적어도 하나는, 굴착기들의 버킷들의 기하구조적 특징들을 식별하기 위해, 그리고 또한 잠재적으로는 버킷 변형들에 공통적인 기하구조적 특징들을 식별하기 위해, 훈련 데이터(32)에 의해 훈련되는데, 이것은 시그니처를 버킷(132)의 특정 기하구조에 의해 정의되는 것으로서 결정하기 위한 것이다. 예를 들어, 이것은, 기법이 시그니처를 버킷(132)의 아웃라인(outline)에 의해 정의되는 벡터로서 정의하는 것, 또는 시그니처를 버킷(132)에 의해 정의되는 높이 대 폭 비율과 같은 치수 비율로서 정의하는 것을 포함할 수 있다. 이러한 방식으로, 기법을 실행하는 프로세서(18)는 검출된 버킷을, 적어도 하나의 센서(12)의 범위 내에 위치하는 경우, 학습된 시그니처를 갖는 정의된 객체인 것으로서 식별할 수 있다.
도 10은 정의된 객체의 적어도 일부분의 모션에 의해 정의되는 시그니처의 예를 보여준다. 일반적으로, 모션 시그니처는 정의된 객체 혹은 그 일부분의 움직임에 의해 정의되는 특정 경로를 포함하는데, 이것은 시스템(10)의 적어도 하나의 센서(12)에 의해 검출될 수 있다. 도 10에서 보여지는 실시예에서, 정의된 객체는 정의된 기간(time period)(T) 내에 곡선 경로(140)를 따라 운행하고 있는 굴착기(130)이다. 이러한 실시예에서, 프로세서(18)에 의해 실행되는 객체 식별 기법들 중 적어도 하나의 객체 식별 기법은, 제 1 시간(T/4)에 제 1 위치(142)에서, 적절한 굴착기(130) 치수들을 갖는 객체, 혹은 다른 정의된 허용오차(tolerance)들 내에 있는 객체; 제 2 시간(2 x T/4)에 제 2 위치(144)에서, 적절한 굴착기(130) 치수들을 갖는 객체; 제 3 시간(3 x T/4)에 제 3 위치(146)에서, 적절한 굴착기(130) 치수들을 갖는 객체; 그리고 제 4 시간(3 x T/4)에 추가 위치(148)에서, 적절한 굴착기(130) 치수들을 갖는 객체를, 연속적으로 식별하기 위해 훈련 데이터(32)에 의해 훈련되는데, 이것은 시그니처를 정의된 기간(T) 내에서 경로(140)를 따르는 굴착기(130)의 모션에 의해 정의되는 것으로서 결정하기 위한 것이다. 이러한 방식으로, 기법을 실행하는 프로세서(18)는 굴착기가 정의된 기간 내에 경로(140)를 지나간 때를 식별할 수 있고, 따라서 검출된 굴착기를 학습된 시그니처를 갖는 정의된 객체인 것으로서 식별할 수 있다.
도 11은 정의된 객체의 적어도 일부분이 나타내는 행태에 의해 정의되는 시그니처의 예를 보여준다. 일반적으로, 행태 시그니처는, 객체의 일부분의 움직임들의 시퀀스와 같은 정의된 객체의 움직임; 객체의 상이한 부분들의 상대적인 움직임; 복수의 객체들의 상대적인 움직임, 등에 의해 정의되는 복수의 특정 모션 경로들을 포함한다. 도 11에서 보여지는 실시예의 경우, 정의된 객체는 새들의 무리(flock)(150)이며, 이러한 무리는 공통 움직임을 나타내는 하나보다 많은 동일한 새(152)를 포함하는데, 이러한 예에서는 동일한 시간에 응시방향을 위(154)를 향해 재지향(redirecting)시키는 각각의 새(152)이고, 예컨대, 이러한 것은 종종 포식자(predator)의 외침(call)에 응답하여 일어난다. 이러한 실시예에서, 프로세서(18)에 의해 실행되는 객체 식별 기법들 중 적어도 하나의 객체 식별 기법은, 적절한 새(152) 치수들을 갖는 객체들 혹은 다른 정의된 허용오차들 내에 있는 객체들의 그룹화를 식별하기 위해, 그리고 대응하는 부분(각각의 새(152)의 머리)을 공통 위치(154)로 동시에 배향하는 각각의 객체(새(152))의 인스턴스들을 식별하기 위해, 훈련 데이터(32)에 의해 훈련되는데, 이것은 시그니처를 새들의 무리(150)의 공통 모션에 의해 정의되는 것으로서 결정하기 위한 것이다. 이러한 방식으로, 기법을 실행하는 프로세서(18)는 새들의 무리(154)가 시그니처 행태를 나타냈던 때를 식별할 수 있고, 따라서 검출된 새들의 무리를 학습된 시그니처를 갖는 정의된 객체인 것으로서 식별할 수 있다.
본 개시내용이 정의된 객체를 식별하기 위한 시스템들(10) 및 방법들을 참조하고 있지만, 이러한 시스템들(10) 및 방법들은 정의된 위험요소를 식별하도록 쉽게 조정될 수 있고, 따라서 용어 "객체"와 "위험요소"는 본 명세서의 맥락에서 적절한 경우 상호교환가능함이 이해될 것이다. 위험요소는 위험요인 또는 위협요소와 관련된 시나리오(예를 들어, 사람들 혹은 장비에 상해/손상을 줄 위험)를 지칭하는 것으로 이해될 것이다. 이러한 실시예들에서, 시스템은 객체 대신에 장면의 디지털 표현을 캡처하도록 구성되고, 따라서 용어 "장면"과 "객체"는 또한 본 명세서의 맥락에서 적절한 경우 상호교환가능하다.
예를 들어, 위험요소를 식별하도록 구성된 시스템(10)의 실시예들에서, 위험요소는 사람의 거리 임계치 내에 정렬된 임의의 장비 혹은 차량으로서 정의될 수 있는데, 왜냐하면 이것은 사람에게 손상을 줄 수 있기 때문이다. 이러한 실시예에서, 기법들 중 적어도 일부는, 모션 추적기들로서 구성되고, 그리고 다양한 사람들에 의해 정의되는 다양한 모션 경로들 및 다양한 장비 및 차량들에 의해 정의되는 다양한 모션 경로들을 식별하도록 훈련되고, 그리고 장비/차량이 거리 임계치 내에 있는 결과를 초래하는 상대적인 경로들로부터 시그니처를 도출한다. 이것이 의미하는 바는, 사람들 및 장비/차량들을 포함하는 장면이 센서(12)에 의해 검출되고 그리고 기법들을 실행함으로써 프로세서(18)에 의해 평가될 때, 프로세서(18)는, 사람(또는 사람과 같이 움직이는 객체)에 가까이 근접하여 있는 객체가 장비인지 또는 차량인지 여부에 상관없이, 그리고 장비 또는 차량의 타입에 상관없이, 상대적인 모션 경로들로 인해 위험요소를 식별할 수 있음을 의미한다.
유사하게, 위험요소를 식별하도록 구성된 시스템(10)의 실시예들에서, 위험요소는 바닥 표면 상에 정렬된 임의의 액체로서 정의될 수 있는데, 왜냐하면 이것은 사람에게 상해를 유발할 수 있거나(표면 상에서 미끄러짐), 또는 장비에 손상을 유발할 수 있다(표면을 가로질러 움직일 때 그립(grip)을 잃어버림). 이러한 실시예에서, 기법들 중 적어도 일부는, 기하구조 및 데이터 스캐너(scanner)들로서 구성되고, 그리고 표면의 거리 임계치 내에 있는 액체의 개방된 용기들 혹은 액체를 분사하는 호스들의 기하구조와 같은, 위험이 임박한 것을 표시하는 표시자들에 관한 기하구조 및/또는 맥락 데이터를 식별하기 위해 훈련되거나, 또는 표면에 대해 로컬인 비 올 확률이 정의된 임계치보다 더 크다고 상세히 설명하는 날씨 데이터를 식별하기 위해 훈련되며, 그리고 이러한 표시자들로부터 도출된 특징 데이터로부터 시그니처를 도출한다. 이것이 의미하는 바는, 조건들과 관련된 장면 그리고/또는 이러한 표시자들 중 임의의 표시자와 부합하는 객체들을 포함하는 장면이 센서(12)에 의해 검출되고 그리고 기법들을 실행함으로써 프로세서(18)에 의해 평가될 때, 프로세서(18)는 하나 이상의 특정 상황들의 존재로 인해 위험요소를 식별할 수 있음을 의미한다.
개시된 시스템들(10)은 적어도 두 개의 각각의 우도값들을 도출하기 위해 적어도 두 개의 상이한 객체 식별 기법들(그리고 종종 두 개보다 훨씬 더 많은 상이한 객체 식별 기법들)을 전형적으로는 동시에 또는 거의 동시에 실행하는 것을 포함한다. 그 다음에 이러한 값들은 프로세서(18)에 의해 결합되어 복합 우도값이 도출되는데, 여기서 복합 우도값은 프로세서(18)가 센서(12)에 의해 검출된 객체(14)가 정의된 객체인지 여부를 결정하는 데 영향을 미친다. 이러한 접근법은 이로운데, 왜냐하면 각각의 기법이 상이하게 구성되고, 따라서 특정 동작 조건들에서 더 높은 정확도로 혹은 더 낮은 정확도로 기능하기 때문이다. 둘 이상의 기법들을 실행시키고 그 다음에 출력 우도값들을 결합함으로써, 상이한 기법들의 부정확도는 완화되고, 그럼으로써 광범위한 동작 조건들에서 동작할 수 있는 신뢰가능한 시스템이 제공된다. 이것이 의미하는 바는, 정의된 객체와 부합하는 객체가 정의된 객체인 것으로서 시스템(10)에 의해 더 일관적으로 올바르게 식별됨을 의미한다.
프로세서(18)에 의해 실행되는 각각의 객체 식별 기법은 전형적으로는 정의된 객체를 상이한 방식으로 식별하도록 구성되는데, 왜냐하면 각각의 기법은 전형적으로는 동일한 정의된 객체에 의해 정의된 상이한 시그니처를 식별하도록 구성되기 때문이다. 예를 들어, 제 1 기법은 정의된 객체에 의해 정의된 기하구조적 관계를 식별하도록 구성될 수 있고, 반면 제 2 기법은 정의된 객체에 의해 정의되는 하나 이상의 행태 인자들을 식별하도록 구성될 수 있다. 이러한 방식으로, 기법들은 정의된 객체의 상이한 특성들을 평가하는 것에 응답하여 동일한 정의된 객체를 식별하도록 구성된다. 유리한 것으로, 이것은 시스템(10)이 정확하게 동작할 수 있는 동작 조건들의 범위를 넓히고, 다시 시스템의 정밀도를 증진시킨다. 예를 들어, 앞에서 논의된 시나리오에서, 전체 객체가 센서에 의해 검출될 수 있는 경우, 양쪽 기법들은 성공적으로 동작할 수 있고, 따라서 높은 정확도를 제공할 수 있다. 대안적으로, 객체의 일부분이 가려진 경우, 단지 제 1 기법만이 성공적으로 동작할 수 있는데, 왜냐하면 제 2 기법의 정확도가 손상될 수 있기 때문이며, 이것은 시스템으로 하여금 정확도의 감소는 있어도 여전히 기능할 수 있게 한다.
전형적으로, 적어도 두 개의 상이한 객체 식별 기법들은 각각의 기법의 임의의 알려진 부정확도를 보상하기 위해 상보적이되도록 구성된다. 적어도 두 개의 기법들의 선택은 다양한 인자들에 의해 영향을 받을 수 있고, 전형적으로는, 정의된 객체의 특성들, 적어도 하나의 센서(12)의 구성, 및 적어도 하나의 센서(12)의 동작 환경 중 적어도 하나에 의해 영향을 받는다. 기법들 간의 상보적인 관계는 수동적으로 구성되거나, 자동적으로 구성되거나, 또는 이러한 두 가지 접근법들의 조합으로 구성된다. 이것은 시스템(10)으로 하여금 전체 신뢰성 및 정확도를 증진시키도록 전략적으로 구성될 수 있게 한다.
프로세서(18)에 의해 실행되는 각각의 기법은 센서(12)에 의해 검출된 객체(14)를 평가하여, 객체(14)에 의해 정의되는 시그니처 후보(즉, 객체(14)의 특성)가 기법이 확립했던 것으로 정의된 객체에 의해 정의된다고 확립했던 시그니처와 부합하는지 여부의 우도를 표시하는 우도값을 도출한다. 우도값은 시그니처 후보를 시그니처에 관한 데이터를 포함하도록 미리결정됐던 기준 데이터와 비교함으로써 도출된다. 이러한 프로세스는 유용한데, 왜냐하면 이것은 시스템(10)으로 하여금 새로운 데이터(시그니처 후보로부터 도출된 특징 데이터)를 시그니처에 관한 잠재적으로 광범위한 기준 데이터와 비교하도록 하여, 시그니처가 새로운 데이터 내에 존재할 확률을 검증하게 하고 이에 따라 우도값을 도출하게 한다. 이러한 방식으로 도출된 복수의 우도값들을 결합하여 복합 우도값이 도출되게 하는 것은 시스템(10)의 신뢰도를 더 증가시키고 결과적으로 시스템(10)의 정밀도를 더 증가시킨다.
본 개시내용의 넓은 전반적 범위로부터 벗어남이 없이 앞서-설명된 실시예들에 대한 수많은 변경들 및/또는 변형들이 만들어질 수 있음이 본 발명의 기술분야에서 숙련된 사람들에게 이해될 것이다. 따라서, 본 실시예들은 모든 측면들에서 예시적이고 비한정적인 것으로 고려돼야 한다.

Claims (56)

  1. 정의된 객체(defined object)를 식별하기 위한 시스템으로서, 상기 시스템은,
    객체의 디지털 표현(digital representation)을 정의하기 위해 데이터를 검출하도록 되어 있는 적어도 하나의 센서(sensor)와;
    상기 적어도 하나의 센서에 통신가능하게 연결되는 프로세서(processor)와; 그리고
    상기 프로세서에 통신가능하게 연결되는 메모리(memory)를 포함하고,
    상기 프로세서는 상기 적어도 하나의 센서로부터 수신된 동일한 디지털 표현을 평가(assess)하기 위해 적어도 두 개의 상이한 기법들을 실행하도록 되어 있으며, 각각의 기법은 상기 정의된 객체에 의해 정의되는 시그니처(signature)를 식별하도록 되어 있고, 상기 시그니처는 상기 기법에 특정된 것이며,
    상기 메모리는 상기 적어도 두 개의 상이한 기법들에 의해 각각 도출된 적어도 두 개의 상이한 시그니처들에 관한 기준 데이터(reference data)를 저장하고,
    상기 프로세서는, 상기 프로세서가 상기 적어도 하나의 센서로부터 상기 디지털 표현을 정의하는 데이터를 수신함에 응답하여,
    상기 프로세서가 상기 적어도 두 개의 상이한 기법들을 실행하는 것과,
    여기서 상기 적어도 두 개의 상이한 기법들을 실행하는 것은 상기 동일한 디지털 표현을 평가하기 위한 각각의 기법으로 하여금,
    상기 디지털 표현에서 표현되는 상기 객체에 의해 정의되는 임의의 시그니처 후보(signature candidate)를 식별하는 것,
    각각의 식별된 시그니처 후보로부터 특징 데이터(feature data)를 도출하는 것,
    상기 특징 데이터를 상기 기준 데이터와 비교하는 것, 그리고
    각각의 비교로부터 우도값(likelihood value)을 도출하는 것을
    수행하도록 하며, 여기서 각각의 우도값은 상기 시그니처 후보가 상기 기법에 의해 도출된 각각의 시그니처와 부합할 우도(likelihood)를 표시하고;
    상기 프로세서가 상기 우도값들 중 적어도 일부를 결합하여 복합 우도값(composite likelihood value)을 도출하는 것과; 그리고
    상기 프로세서가 상기 복합 우도값으로부터 상기 디지털 표현에서의 상기 객체가 상기 정의된 객체인지 여부를 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  2. 제1항에 있어서,
    상기 프로세서는 또한, 상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라는 결정에 응답하여, 상기 프로세서가 상기 우도값들 중 상기 적어도 일부가 도출된 상기 특징 데이터를 상기 기준 데이터에 추가하는 것을 수행하도록 되어 있는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  3. 제2항에 있어서,
    상기 시스템은 또한 사용자 인터페이스(user interface)를 포함하고,
    상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라는 결정에 응답하여, 상기 프로세서는 상기 객체가 상기 정의된 객체임을 확인(confirm)하기 위해 사용자 입력을 획득하도록 상기 사용자 인터페이스를 동작시키게 되어 있고, 여기서, 상기 사용자 입력에 응답하여, 상기 프로세서는 상기 우도값들 중 상기 적어도 일부가 도출된 상기 특징 데이터를 상기 기준 데이터에 추가하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  4. 제3항에 있어서,
    상기 프로세서는 또한 상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라고 표시하는 하나 이상의 표시자(indicator)들을 확인하기 위해 사용자 입력을 획득하도록 상기 사용자 인터페이스를 동작시키게 되어 있고, 여기서 상기 사용자 입력에 응답하여, 상기 프로세서는 상기 하나 이상의 확인된 표시자들로부터 표시자 데이터(indicator data)를 도출하고 상기 표시자 데이터를 상기 기준 데이터에 추가하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  5. 제4항에 있어서,
    상기 하나 이상의 표시자들은 상기 디지털 표현에서의 상기 객체와 관련된 맥락 인자(context factor)들을 포함하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  6. 제1항에 있어서,
    상기 시스템은 또한 사용자 인터페이스를 포함하고,
    상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라는 결정에 응답하여, 상기 프로세서는 상기 시스템에 의해 실행될 하나 이상의 액션(action)들을 정의하기 위해 사용자 입력을 획득하도록 상기 사용자 인터페이스를 동작시키게 되어 있고, 여기서 상기 사용자 입력에 응답하여, 상기 프로세서는,
    상기 하나 이상의 정의된 액션들로부터 명령들을 도출하고,
    상기 명령들을 실행하고, 그리고
    상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라고 후속적으로 결정함에 응답하여 실행을 위해 상기 메모리에 상기 명령들을 저장하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  7. 제1항에 있어서,
    상기 시스템은 또한 식별가능한 알람(discernible alarm)을 방출하도록 되어 있는 경보 디바이스(alert device)를 포함하고,
    상기 프로세서는 또한, 상기 디지털 표현에서의 상기 객체가 상기 정의된 객체라는 결정에 응답하여, 상기 프로세서가 상기 경보 디바이스를 동작시키는 것을 수행하도록 되어 있는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  8. 제7항에 있어서,
    상기 경보 디바이스는,
    착용가능한 디바이스(wearable device);
    임의의 장치의 촉각적 컴포넌트(haptic component); 및
    임의의 장치의 동작을 제어하기 위한 제어기
    중 하나로서 구성되어,
    상기 경보 디바이스를 동작시키는 것이 상기 장치의 제어를 일으키게 되는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  9. 제1항에 있어서,
    상기 시스템은 또한, 복수의 센서들을 포함하고, 상기 복수의 센서들 각각은 서로 통신가능하게 연결됨과 아울러 상기 프로세서에 통신가능하게 연결되는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  10. 제9항에 있어서,
    각각의 센서는 상기 센서의 동작을 제어하기 위한 제어기를 포함하고,
    상기 복수의 센서들 간의 통신은 상기 제어기들 중 적어도 하나의 제어기의 동작이 각각의 센서의 제어를 일으키도록 하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  11. 제9항에 있어서,
    상기 디지털 표현은 상기 복수의 센서들 중 하나보다 많은 센서에 의해 검출된 데이터를 포함하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  12. 제1항에 있어서,
    상기 시그니처들 중 적어도 하나는,
    상기 정의된 객체의 속성(property);
    상기 정의된 객체에 의해 정의되는 기하구조(geometry);
    상기 정의된 객체의 행태(behaviour); 그리고
    상기 정의된 객체와 관련된 하나 이상의 맥락 인자들
    중 적어도 하나에 의해 정의되는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  13. 제12항에 있어서,
    상기 정의된 객체의 상기 행태는,
    상기 정의된 객체의 움직임(movement);
    상기 정의된 객체의 비활동(inactivity);
    상기 정의된 객체와 또 하나의 다른 객체의 상대적 움직임; 그리고
    자극(stimuli)에 응답하는 상기 정의된 객체의 반응
    중 하나 이상을 포함하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  14. 제12항에 있어서,
    상기 정의된 객체와 관련된 상기 하나 이상의 맥락 인자들은,
    상기 정의된 객체에 대해 로컬(local)인 시각(time of day);
    상기 정의된 객체에 대해 로컬인 환경적 조건들(environmental conditions);
    상기 정의된 객체에 대해 로컬인 날씨(weather);
    상기 정의된 객체에 대해 상대적인 하나 이상의 객체들의 위치(position);
    상기 정의된 객체에 대해 로컬인 하나 이상의 객체들의 행태(behaviour); 그리고
    상기 정의된 객체의 동작 파라미터들(operating parameters)을
    포함하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  15. 제1항에 있어서,
    각각의 기법에 대해, 상기 프로세서는,
    미리결정된 훈련 데이터(training data)에 대한 노출로부터 특징 데이터를 도출하는 것과; 그리고
    상기 미리결정된 훈련 데이터로부터 도출된 상기 특징 데이터를 상기 기준 데이터로서 저장하는 것을
    수행하도록 훈련되는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  16. 제15항에 있어서,
    상기 미리결정된 훈련 데이터는 복수의 디지털 표현들을 포함하고,
    상기 복수의 디지털 표현들 중 일부만이, 상기 정의된 객체를 포함하며 그리고 상기 정의된 객체의 존재를 확인하기 위해 라벨링(labelling)되고,
    각각의 기법에 대해, 상기 미리결정된 훈련 데이터에 대한 노출은 상기 프로세서로 하여금,
    각각의 라벨링된 디지털 표현에서 정의된 하나 이상의 공통 요소(element)들을 학습(learn)하도록 하고, 그리고
    상기 하나 이상의 공통 요소들에 응답하여 상기 시그니처를 도출하도록 하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  17. 제1항에 있어서,
    상기 기준 데이터는 각각의 기법과 관련된 특징 데이터 분산 분포(feature data variance distribution)를 정의하고, 상기 우도값은 상기 특징 데이터를 상기 특징 데이터 분산 분포와 비교하는 것으로부터 도출되는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  18. 제1항에 있어서,
    상기 복합 우도값을 도출하는 것은, 상기 기법들 중 하나의 기법을 실행함으로써 도출된 적어도 하나의 우도값을 상기 기법들 중 또 하나의 다른 기법을 실행함으로써 도출된 적어도 하나의 우도값과 결합하는 것을 포함하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  19. 제1항에 있어서,
    상기 메모리는 미리결정된 복합 우도값들에 관한 복합 기준 데이터(composite reference data)를 저장하고,
    상기 디지털 표현에서의 상기 객체가 상기 정의된 객체인지 여부를 결정하는 것은 또한, 신뢰도 값(confidence value)을 도출하기 위해 상기 복합 우도값을 상기 복합 기준 데이터와 비교하는 것을 포함하고,
    상기 디지털 표현에서의 상기 객체가 상기 정의된 객체인지 여부를 결정하는 것은 상기 신뢰도 값에 근거하는 것을 특징으로 하는 정의된 객체를 식별하기 위한 시스템.
  20. 정의된 위험요소(defined hazard)를 식별하기 위한 시스템으로서, 상기 시스템은,
    장면(scene)의 디지털 표현을 정의하기 위해 데이터를 검출하도록 되어 있는 적어도 하나의 센서와;
    상기 적어도 하나의 센서에 통신가능하게 연결되는 프로세서와; 그리고
    상기 프로세서에 통신가능하게 연결되는 메모리를 포함하고,
    상기 프로세서는 상기 적어도 하나의 센서로부터 수신된 동일한 디지털 표현을 평가하기 위해 적어도 두 개의 상이한 기법들을 실행하도록 되어 있으며, 각각의 기법은 상기 정의된 위험요소에 의해 정의되는 시그니처를 식별하도록 되어 있고, 상기 시그니처는 상기 기법에 특정된 것이며,
    상기 메모리는 상기 적어도 두 개의 상이한 기법들에 의해 각각 도출된 적어도 두 개의 상이한 시그니처들에 관한 기준 데이터를 저장하고,
    상기 프로세서는, 상기 프로세서가 상기 적어도 하나의 센서로부터 상기 디지털 표현을 정의하는 데이터를 수신함에 응답하여,
    상기 프로세서가 상기 적어도 두 개의 상이한 기법들을 실행하는 것과,
    여기서 상기 적어도 두 개의 상이한 기법들을 실행하는 것은 상기 동일한 디지털 표현을 평가하기 위한 각각의 기법으로 하여금,
    상기 장면에 의해 정의되는 임의의 시그니처 후보를 식별하는 것,
    각각의 식별된 시그니처 후보로부터 특징 데이터를 도출하는 것,
    상기 특징 데이터를 상기 기준 데이터와 비교하는 것, 그리고
    각각의 비교로부터 우도값을 도출하는 것을
    수행하도록 하며, 여기서 각각의 우도값은 상기 시그니처 후보가 각각의 시그니처와 부합할 우도를 표시하고;
    상기 프로세서가 상기 우도값들 중 적어도 일부를 결합하여 복합 우도값을 도출하는 것과; 그리고
    상기 프로세서가 상기 복합 우도값으로부터 상기 디지털 표현에서의 상기 장면이 상기 정의된 위험요소를 포함하는지 여부를 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 정의된 위험요소를 식별하기 위한 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
KR1020197025242A 2017-02-09 2018-02-08 정의된 객체를 식별하기 위한 시스템 KR102572811B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2017900403 2017-02-09
AU2017900403A AU2017900403A0 (en) 2017-02-09 System for identifying a defined object
PCT/AU2018/050095 WO2018145158A1 (en) 2017-02-09 2018-02-08 System for identifying a defined object

Publications (2)

Publication Number Publication Date
KR20190137778A KR20190137778A (ko) 2019-12-11
KR102572811B1 true KR102572811B1 (ko) 2023-09-07

Family

ID=63106847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197025242A KR102572811B1 (ko) 2017-02-09 2018-02-08 정의된 객체를 식별하기 위한 시스템

Country Status (8)

Country Link
US (1) US11321591B2 (ko)
EP (1) EP3580695A4 (ko)
JP (1) JP7238217B2 (ko)
KR (1) KR102572811B1 (ko)
CN (1) CN110419048B (ko)
AU (1) AU2018217437B2 (ko)
CA (1) CA3052845C (ko)
WO (1) WO2018145158A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3583385B1 (en) 2017-02-14 2021-04-21 Trimble AB Geodetic surveying with time synchronization
WO2019139595A1 (en) * 2018-01-11 2019-07-18 Visa International Service Association Offline authorization of interactions and controlled tasks
TWI675331B (zh) * 2018-08-31 2019-10-21 財團法人工業技術研究院 儲物裝置及儲物方法
JP7261022B2 (ja) * 2019-01-30 2023-04-19 キヤノン株式会社 情報処理システム、端末装置及びその制御方法、プログラム、記憶媒体
JP7374632B2 (ja) * 2019-07-09 2023-11-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11379778B2 (en) 2020-03-09 2022-07-05 Trimble Inc. Construction site productivity capture using computer vision
US11368991B2 (en) 2020-06-16 2022-06-21 At&T Intellectual Property I, L.P. Facilitation of prioritization of accessibility of media
US11411757B2 (en) 2020-06-26 2022-08-09 At&T Intellectual Property I, L.P. Facilitation of predictive assisted access to content
US11356349B2 (en) 2020-07-17 2022-06-07 At&T Intellectual Property I, L.P. Adaptive resource allocation to facilitate device mobility and management of uncertainty in communications
US11768082B2 (en) * 2020-07-20 2023-09-26 At&T Intellectual Property I, L.P. Facilitation of predictive simulation of planned environment
EP3985560A1 (en) * 2020-10-15 2022-04-20 Aptiv Technologies Limited Methods and systems for determining candidate data sets for labelling
CN112990167B (zh) * 2021-05-19 2021-08-10 北京焦点新干线信息技术有限公司 图像处理方法及装置、存储介质及电子设备
DE102021120737A1 (de) 2021-08-10 2023-02-16 Fabian Höger Diagnoseverfahren und -vorrichtung
WO2023145216A1 (ja) * 2022-01-26 2023-08-03 国立大学法人大阪大学 ウェアラブルモニタリングデバイス
US20230394131A1 (en) * 2022-06-03 2023-12-07 Shopify Inc. 3d object verification system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156974A (ja) * 2005-12-07 2007-06-21 Kddi Corp 個人認証・識別システム
JP2010027035A (ja) * 2008-06-16 2010-02-04 Canon Inc 個人認証装置及び個人認証方法
JP2015191334A (ja) * 2014-03-27 2015-11-02 キヤノン株式会社 情報処理装置、情報処理方法
WO2016115499A1 (en) * 2015-01-15 2016-07-21 Modustri Llc Configurable monitor and parts management system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680324B2 (en) 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US9619035B2 (en) * 2011-03-04 2017-04-11 Microsoft Technology Licensing, Llc Gesture detection and recognition
US8948809B2 (en) * 2012-03-09 2015-02-03 Blackberry Limited Signature based connectivity prediction for portable electronic devices
US9152870B2 (en) * 2013-03-15 2015-10-06 Sri International Computer vision as a service
WO2016004330A1 (en) 2014-07-03 2016-01-07 Oim Squared Inc. Interactive content generation
US9989965B2 (en) * 2015-08-20 2018-06-05 Motionloft, Inc. Object detection and analysis via unmanned aerial vehicle
WO2017136784A1 (en) * 2016-02-05 2017-08-10 Google Inc. Generative neural networks
US10872379B1 (en) * 2016-04-11 2020-12-22 State Farm Mutual Automobile Insurance Company Collision risk-based engagement and disengagement of autonomous control of a vehicle
US10852725B2 (en) * 2016-06-29 2020-12-01 Faraday & Future Inc. Activate/deactivate functionality in response to environmental conditions
US11501200B2 (en) * 2016-07-02 2022-11-15 Hcl Technologies Limited Generate alerts while monitoring a machine learning model in real time
US11080534B2 (en) * 2016-11-14 2021-08-03 Lyft, Inc. Identifying objects for display in a situational-awareness view of an autonomous-vehicle environment
US10318827B2 (en) * 2016-12-19 2019-06-11 Waymo Llc Object detection neural networks
US20180215395A1 (en) * 2017-02-02 2018-08-02 Intel Corporation Context derived driver assistance
US11009870B2 (en) * 2017-06-06 2021-05-18 Zoll Medical Corporation Vehicle compatible ambulatory defibrillator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156974A (ja) * 2005-12-07 2007-06-21 Kddi Corp 個人認証・識別システム
JP2010027035A (ja) * 2008-06-16 2010-02-04 Canon Inc 個人認証装置及び個人認証方法
JP2015191334A (ja) * 2014-03-27 2015-11-02 キヤノン株式会社 情報処理装置、情報処理方法
WO2016115499A1 (en) * 2015-01-15 2016-07-21 Modustri Llc Configurable monitor and parts management system

Also Published As

Publication number Publication date
US20200050901A1 (en) 2020-02-13
CN110419048B (zh) 2023-10-31
EP3580695A4 (en) 2020-11-18
CA3052845A1 (en) 2018-08-16
WO2018145158A1 (en) 2018-08-16
JP7238217B2 (ja) 2023-03-14
CN110419048A (zh) 2019-11-05
KR20190137778A (ko) 2019-12-11
US11321591B2 (en) 2022-05-03
EP3580695A1 (en) 2019-12-18
JP2020507177A (ja) 2020-03-05
AU2018217437A1 (en) 2019-09-12
AU2018217437B2 (en) 2022-07-14
CA3052845C (en) 2024-01-02

Similar Documents

Publication Publication Date Title
KR102572811B1 (ko) 정의된 객체를 식별하기 위한 시스템
US10891469B2 (en) Performance of an emotional analysis of a target using techniques driven by artificial intelligence
CN109643366B (zh) 用于监控车辆驾驶员的状况的方法和系统
US11282389B2 (en) Pedestrian detection for vehicle driving assistance
KR102631274B1 (ko) 모바일 디바이스 고장 조건들의 검출을 위한 시스템 및 방법
Seo et al. Computer vision techniques for construction safety and health monitoring
WO2019157288A1 (en) Systems and methods for physical object analysis
US20160046298A1 (en) Detection of driver behaviors using in-vehicle systems and methods
CN111126153B (zh) 基于深度学习的安全监测方法、系统、服务器及存储介质
CA3151157A1 (en) System, method, apparatus, and computer program product for utilizing machine learning to process an image of a mobile device to determine a mobile device integrity status
JP6651062B2 (ja) 車外コミュニケーション装置、車外コミュニケーション方法、情報処理装置、及び車外コミュニケーションプログラム
US11651599B2 (en) Systems and methods for identifying distracted driver behavior from video
CN109766755A (zh) 人脸识别方法及相关产品
CN107832721B (zh) 用于输出信息的方法和装置
JP6947005B2 (ja) 属性認識装置、属性認識方法、及び機械学習装置
WO2023104557A1 (en) Machine-learning for safety rule violation determination
CN111460917A (zh) 基于多模态信息融合的机场异常行为检测系统及方法
Rahman et al. Computer vision-based approach to detect fatigue driving and face mask for edge computing device
Ahn et al. SafeFac: Video-based smart safety monitoring for preventing industrial work accidents
JP7263094B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR20230051848A (ko) 위험 영역의 안전사고 예방을 위한 시스템 및 시스템의 동작 방법
Smith Monitoring Elderly Falls in the Home Using Computer Vision
US20230360402A1 (en) Video-based public safety incident prediction system and method therefor
Furtado et al. Real-Time ATM Booth Suspicious Behavior Monitoring System
Kaisar et al. Real-time driving monitoring system on a single-board computer utilizing deep neural networks integrated with MiDAS

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right