KR102403579B1 - 프로세스 중의 오브젝트 트래킹 - Google Patents

프로세스 중의 오브젝트 트래킹 Download PDF

Info

Publication number
KR102403579B1
KR102403579B1 KR1020167025691A KR20167025691A KR102403579B1 KR 102403579 B1 KR102403579 B1 KR 102403579B1 KR 1020167025691 A KR1020167025691 A KR 1020167025691A KR 20167025691 A KR20167025691 A KR 20167025691A KR 102403579 B1 KR102403579 B1 KR 102403579B1
Authority
KR
South Korea
Prior art keywords
action
rule
expected
user
image information
Prior art date
Application number
KR1020167025691A
Other languages
English (en)
Other versions
KR20160125428A (ko
Inventor
크리스토퍼 화이트
안손 차오
데이빗 몰리녹스
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160125428A publication Critical patent/KR20160125428A/ko
Application granted granted Critical
Publication of KR102403579B1 publication Critical patent/KR102403579B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

오브젝트를 사용하는 프로세스 중에 하나 이상의 오브젝트를 트래킹하는 것에 관련되는 실시형태가 개시된다. 예컨대, 일 실시형태는, 하나 이상의 오브젝트를 포함하는 프로세스의 퍼포먼스를 모니터링하기 위한 방법을 제공하고, 상기 방법은 프로세스의 하나 이상의 부분을 규정하는 룰(rule)의 세트를 수신하는 단계 및 하나 이상의 오브젝트에 관한 오브젝트 식별 정보를 수신하는 단계를 포함한다. 상기 방법은, 프로세스의 선택된 부분에 대하여, 물리적 장면(scene)의 이미지 정보를 수신하는 단계, 이미지 정보로부터 그리고 물리적 장면에서 식별된 오브젝트로 수행되는 동작의 오브젝트 식별 정보를 식별하는 단계, 및 동작이 프로세스의 선택된 부분에 연관된 룰의 세트 중 룰을 만족하는지 여부에 기초하여 액션을 취하는 단계를 더 포함한다.

Description

프로세스 중의 오브젝트 트래킹{TRACKING OBJECTS DURING PROCESSES}
다수의 프로세스는 오브젝트(object)의 처리(manipulation)를 포함한다. 예컨대, 가구 또는 엔진의 피스(piece)와 같은 시스템의 조립 또는 분해는, 잠재적으로 대량의 오브젝트의 움직임, 배치, 및/또는 변형을 각각 포함하는 다수의 개별 단계를 포함할 수 있다. 따라서, 오브젝트를 처리하는 단계를 포함하는 프로세스 중에 에러가 발생하는 다수의 기회가 존재할 수 있다.
오브젝트를 사용하는 프로세스 중에 하나 이상의 오브젝트를 트래킹하는 것에 관련되는 실시형태가 개시된다. 예컨대, 개시된 일 실시형태는, 하나 이상의 오브젝트를 포함하는 프로세스의 퍼포먼스를 모니터링하기 위한 방법을 제공하고, 상기 방법은 프로세스의 하나 이상의 부분을 규정하는 룰(rule)의 세트를 수신하는 단계 및 하나 이상의 오브젝트에 관한 오브젝트 식별 정보를 수신하는 단계를 포함한다. 상기 방법은, 프로세스의 선택된 부분에 대하여, 물리적 장면(scene)의 이미지 정보를 수신하는 단계, 이미지 정보로부터 그리고 물리적 장면에서 식별된 오브젝트로 수행되는 동작의 오브젝트 식별 정보를 식별하는 단계, 및 동작이 프로세스의 선택된 부분에 연관된 룰의 세트 중 룰을 만족하는지 여부에 기초하여 액션을 취하는 단계를 더 포함한다.
이하 상세한 설명에서 더 개시되는 간략한 형태의 컨셉의 선택을 소개하기 위해 본 요약(Summary)이 제공된다. 본 요약은 청구되는 대상(subject matter)의 본질적 특징이나 중요 특징(key feature)의 확인을 의도하지 않고, 청구되는 대상의 범위를 한정하는데 사용되는 것도 의도하지 않는다. 또한, 청구되는 대상은 본 명세서의 임의의 부분에서 언급되는 임의의 또는 모든 단점을 해결하는 구현에 한정되지 않는다.
도 1 내지 도 3은 본 개시의 실시형태에 따른 예시적 환경에서 프로세스를 수행하는 유저의 개략적 묘사를 나타낸다.
도 4는 프로세스의 퍼포먼스 중에 하나 이상의 오브젝트를 트래킹하는 방법의 실시형태를 예시하는 플로우 다이어그램을 나타낸다.
도 5는 하나 이상의 오브젝트로 수행되는 프로세스를 인식하기(recognize) 위한 컴퓨팅 시스템을 트레이닝(training)하는 방법의 실시형태를 나타낸다.
도 6은 비제한적 컴퓨팅 시스템을 개략적으로 나타낸다.
오브젝트를 처리하는 단계를 포함하는 복합 프로세스를, 사람(person)이 학습하거나(learn) 그렇지 않으면 따르는 것을, 돕기 위한 다양한 형태의 설명(instruction)이 제공될 수 있다. 예컨대, 설명은 프로세스를 보여주는 고정식(static) 다이어그램 및/또는 텍스트, 또는 비디오의 형태를 취할 수 있다. 그러나, 이러한 설명은, 일부의 경우에, 이해하고 따르기에 어렵거나 그렇지 않으면 유저에게 혼란을 주게 될 수 있다. 또한, 유저가 정확하게 프로세스를 수행하고 있는지 여부를 유저가 결정하는 것이 어려울 수 있다.
따라서, 유저가 프로세스를 정확하게 수생하고 있는지 여부를 결정하기 위해 프로세스를 수행하는 유저를 자동적으로 관찰하는 것에 관련된 실시형태가 여기에 개시된다. 또한, 유저가 프로세스를 정확하게 수행하는 것을 돕기 위해 유저에게 피드백이 제공될 수 있다. 요컨대, 뎁스 카메라(depth camera)와 같은 이미지 센서는 프로세스를 수행하는 유저를 캡처하는 이미지 데이터를 수집할 수 있다. 수집된 이미지 데이터에 기초하여, 장면 내의 오브젝트와 유저가 식별 및 트래킹될 수 있다. 이미지 데이터로부터 검출되는 오브젝트의 움직임은 프로세스의 각 단계를 규정하는 룰의 세트에 비교될 수 있다. 이 비교에 기초하여, 유저는, 그(he) 또는 그녀(she)가 프로세스를 정확하게 수행하고 있는지에 대한 정보를 받거나, 그렇지 않으면, 어떻게 프로세스를 적절하게 수행하는지에 대해 설명을 받을 수 있다. 품질 제어를 위해, 회계 담당자 생산성을 위해, 그리고 프로세스가 어떻게 수행되는지의 관찰이 유용한 다른 작업(task)을 위해, 개시된 실시형태가 사용될 수도 있다.
도 1은 디스플레이 센서 시스템(106)과 디바이스(104)에 통신 가능하게 접속된 컴퓨팅 디바이스(102)를 포함하는 비제한적 예시적 사용 환경(100)을 나타낸다. 환경(100)이 방으로 예시되어 있지만, 사용 환경은 인도어 및/또는 아웃도어 환경을 포함하는 임의의 적합한 물리적 공간이 될 수 있다. 컴퓨팅 디바이스(102)는, 다양하고 상이한 게임을 플레이하고, 하나 이상의 상이한 미디어 타입을 플레이하고, 및/또는 비게임 애플리케이션 및/또는 운영체제를 제어 또는 처리하기 위해 사용될 수 있다. 컴퓨팅 디바이스(102)는, 게임 컨트롤러, 리모콘, 모바일 컴퓨팅 디바이스 등의 임의의 적합한 컨트롤 디바이스를 포함할 수 있는 하나 이상의 컨트롤 디바이스로부터 입력을 수신할 수 있다.
센서 시스템(106)은 가시광 카메라(예컨대, RGB 카메라), 스테레오 또는 어레이 카메라 시스템, 및/또는 뎁스 카메라[예컨대, 비행시간(time-of-flight) 및/또는 구성된 광 뎁스 카메라]를 포함할 수 있다. 예컨대, 센서 시스템(106)은 하나 이상의 센서, 렌즈 엘리먼트, 및/또는 환경(100)을 묘사하도록(image) 구성되는 광원을 포함할 수 있다. 뎁스 카메라에 의해 캡처된 뎁스 이미지는 환경(100)의 하나 이상의 피처(feature)에 관한 정보를 제공하기 위해 각 픽셀에 의해 묘사된 표면의 깊이를 나타낼 수 있다. 센서 시스템(106)은 하나 이상의 마이크(예컨대, 방향성 마이크 어레이)를 포함하지만 이것에 한정되지 않는 추가 센서를 포함할 수 있다. 센서 시스템(106)은, 이미지를 생성하고, 임의의 적합한 유선 또는 무선 데이터 접속을 통한 하나 이상의 인터페이스를 통해 컴퓨팅 디바이스(102)에 이미지를 전송할 수있다. 단일 센서 시스템(106)이 도 1에 도시되었지만, 하나 또는 추가 카메라가 환경에 포함될 수 있고, 하나 이상의 카메라(예컨대, 스마트 폰, 태블릿, 또는 랩탑 등의 모바일 디바이스에 통합되는 카메라)가 환경 내에서 이동 가능할 수 있다는 것이 이해되어야 한다.
프로세스의 수행 중에 오브젝트가 처리됨에 따라 환경 내의 하나 이상의 오브젝트와 유저의 움직임을 트래킹하고 프로세스 단계를 규정하는 룰에 움직임을 비교함으로써, 실세계 환경에서의 하나 이상의 오브젝트에 대하여 프로세스를 수행하는 유저를 관찰하기 위해 센서 시스템(106)으로부터의 정보를 컴퓨팅 디바이스가 사용할 수 있다. 피드백을 제공하는 실시형태에서, 프로세스에서의 동작이 그 동작을 위한 룰의 조건을 만족하지 않으면, 예컨대 디스플레이 디바이스, 스피커를 통해 그리고/또는 다른 적합한 형태의 설명 정보(instructional information)를 출력함으로써 유저는 룰을 어떻게 만족시키는지 설명받을 수 있다.
컴퓨팅 디바이스(102)는 프로세스에서 사용되는 하나 이상의 오브젝트를 식별하는 것을 돕기 위한 오브젝트 식별 정보를 취득할 수 있다. 취득된 오브젝트 식별 정보는 물리적 장면 내의 하나 이상의 오브젝트를 식별하기 위해 실시간으로(즉, 유저가 오브젝트로 프로세스를 수행함에 따름) 센서 시스템(106)으로부터 수신되는 이미지 정보로 사용될 수 있다. 오브젝트 식별 정보는 오브젝트가 식별되게 하는 임의의 적합한 정보를 포함할 수 있다. 예컨대, 오브젝트 식별 정보는 각 오브젝트마다 3차원 오브젝트 데이터(예컨대, 패턴 매칭을 수행하기 위함) 및/또는 식별 펑션(identification function)(분류를 수행하기 위함)을 포함할 수 있다.
오브젝트 식별 정보는 컴퓨팅 디바이스(102)에 의해 임의의 적합한 방식으로 취득될 수 있다. 비제한적 일 실시예에 따르면, 오브젝트 식별 정보는 특정 프로세스를 위한 설명 정보를 유저가 취득할 수 있는 원격 서비스[예컨대, 프로세스를 통해 어셈블될 제품을 위한 교육용 웹사이트(instructional website)]로부터 취득될 수 있고, 수행될 프로세스를 위한 룰의 세트를 따라 취득될 수 있다. 마찬가지로, 프로세스에서 구체적으로 사용되지 않는 오브젝트를 위한 식별 정보도 취득될 수 있다. 예컨대, 정확한 툴(correct tool)로부터 부정확한 툴(incorrect tool)을 구별하는 것을 돕기 위해 툴을 사용하는 프로세스를 위한 공통 툴(common tool)에 대한 식별 정보가 취득될 수 있다.
오브젝트 식별 정보는, 묘사된 물리적 장면을 하나 이상의 분할된(segmented) 오브젝트로 분할하기 위해, 그리고 오브젝트의 배향에 무관하게 각 오브젝트의 식별을 결정하기 위해 분할된 오브젝트를 분류하기 위해, 사용될 수 있다. 예컨대, 렌치(wrench)를 위한 오브젝트 식별 정보는, 임의의 각도 또는 포지션으로부터 그리고 잠재적으로 유저(110)의 손에 의해 유지되고 이에 따라 부분적으로 가려질(occluded) 때, 렌치가 식별되게 할 수 있다. 또한, 오브젝트가 처리됨에 따라, 오브젝트의 모션은 6 자유도(six degrees of freedom)로 트래킹될 수 있고, 단계를 통한 오브젝트의 포지션은 트래킹되고 그 단계를 위한 룰에 비교될 수 있다.
도 1의 실시예에서, 유저(110)는 자전거(112) 상의 리어 변속 시스템(rear derailleur system)를 수리할 수 있다. 따라서, 프로세스의 수행을 트래킹하는데 사용되는 룰의 세트는 리어 변속 시스템을 수리하기 위해 복수의 단계를 규정할 수 있다. 프로세스의 각 단계는 시작 위치, 종료 위치, 및 잠재적으로 시작 위치와 종료 위치 사이의 경로와 같은 파라미터에 의해 규정될 수 있다. 수리 프로세스를 유저가 수행함에 따라, 동작에서 사용되는 오브젝트를 식별하기 위해 오브젝트 식별 정보[예컨대, 프로세스에서 사용되는 변속 풀리(derailleur pulley), 변속 풀리 볼트(derailleur pulley bolt), 자전거 리어 휠(rear wheel), 및 툴]를 컴퓨팅 디바이스(102)가 사용한다.
여기에서 사용된 바와 같이, 식별된 오브젝트의 다양한 위치, 포지션, 및 경로는 적합한 좌표계에 따라 규정될 수 있다. 일 실시예에서, 좌표계는 카메라에 기초할 수 있다. 다른 실시예에서, 좌표계는 절대 국제 좌표계(absolute world coordinate system)가 될 수 있고, 이 좌표계는 국제 좌표계와 카메라의 뷰(view) 사이에서의 맵핑을 유지한다. 또 다른 실시예는 시스템 내의 다른 콤포넌트에 관한 좌표계이다[예컨대, 바이크 변속 프로세스의 오브젝트를 위한 경로와 위치는 바이크(bike)의 포지션에 관하여 규정될 수 있음].
이러한 수리(repair) 프로세스에서의 하나의 가능한 단계는 변속 풀리 볼트(122)를 조이는 것이 될 수 있다. 이러한 스텝은 단계를 위해 사용될 툴, 변속 풀리 볼트의 시작 포지션[예컨대, 볼트 헤드와 풀리 사이에서의 더 큰 오프셋에 의해 규정되는 바와 같은 변속 풀리로 완전히 스크류되지(screwed) 않음], 및 종료 포지션[예컨대, 더 작은 오프셋에 의해 규정되는 바와 같은 변속 풀리로 완전히 스크류됨(screwed)]을 규정하는 룰을 포함할 수 있다. 유저가 프로세스를 수행할 때, 단계가 정확하게 수행된 것으로 결정되기 전에 이 조건들의 각각이 만족된다. 또한, 임의의 단계가 정확하게 수행되지 않으면, 유저에게 피드백이 제공될 수 있다.
도 1의 실시예에서, 프로세스에서의 단계는 테이블(120) 상에 있는 알렌 렌치(Allen wrench)(116)를 선택하는 단계를 포함할 수 있다. 따라서, 프로세스에서의 이 단계를 위한 룰은 룰이 만족되지 전에 알렌 렌치(116)의 선택을 요구할 수 있다. 도 1에 도시된 바와 같이, 유저(110)는 알렌 렌치(116) 대신 렌치(114)를 선택한다. 컴퓨팅 디바이스(102)은 유저(110)가 렌치(114)를 선택하고 렌치(114)는 룰을 만족하지 않는다는 것을 식별할 수 있다. 이 경우에, 컴퓨팅 디바이스(102)는, 잘못된 툴이 선택되었다는 것을 유저에게 경고할 수 있고, 어떻게 룰을 만족시키는지 유저에게 설명할 수 있다. 도 2는 테이블(121)의 묘사 또는 이미지, 알렌 렌치(117)의 묘사 또는 이미지, 및 테이블 상의 스크류드라이버(119), 그리고, 알렌 렌치(116)를 선택하는 것을 유저(110)에게 보여주기(demonstrate) 위한 하이라이팅을 나타내는 룸의 일부의 증강 현실 뷰(130)의 형태로 컴퓨팅 디바이스(102)에 의해 제공되는 설명 출력의 실시예를 나타낸다. 대안으로서 또는 추가적으로, 컴퓨팅 디바이스(102)는 유저(110)가 알렌 렌치(116)를 선택해야 하는 것을 나타내는 음성 설명을 출력할 수 있다. 이러한 특정 설명 출력은 예시를 목적으로 개시되었고, 임의의 방식에 한정되는 것을 의도하지 않는다는 것으로 이해된다.
상기한 바와 같이, 유저에 의해 수행되는 동작이 룰을 만족한다고 컴퓨팅 디바이스(102)가 결정하면, 프로세스는 프로세스의 다음 부분으로 진행될 수 있다. 예컨대, 도 3은 유저(110)가 알렌 렌치(116)를 집고(pick up) 이에 따라 이 룰이 만족된 것을 나타낸다. 프로세스에서의 다음 단계는 특정 엔드 포지션(end position)에 풀리 볼트(122)를 이동시키는 단계를 포함할 수 있다. 설명 보조(instructional aide)로서, 컴퓨팅 디바이스(102)는 디스플레이 디바이스(104)를 통해 다른 증강 현실 이미지(140)를 출력한다. 증강 현실 뷰(140)는 풀리 볼트(122)를 둘러싸는 자전거(113)의 부분의 묘사를 나타낸다. 알렌 렌치(117)의 묘사는 자전거(113)의 묘사 위에 디스플레이된다. 또한, 설명 손(111)은, 알렌 렌치(117)의 묘사가 풀리 볼트의 묘사와 맞물리도록, 특정 포지션에서 알렌 렌치(117)의 묘사를 유지하고 있다(holding). 알렌 렌치(116)를 시계 방향으로 회전하기 위한 설명으로서 화살표가 디스플레이된다. 추가적으로, 음성 설명(126)도 알렌 렌치(116)를 시계 방향으로 회전하도록 유저에게 설명한다.
상기한 바와 같이, 유저가 단계를 정확하게 수행하는 것에 실패하면, 유저는 프로세스의 단계를 어떻게 수행하는지 설명을 받을 수 있다. 또한, 일부 실시형태에서, 유저는 또한 단계의 수행을 시도하기 전에 어떻게 룰을 만족시키는지 설명받을 수 있다. 이러한 상황에서, 이전 룰이 만족되었다는 결정 시에 설명이 출력될 수 있다.
프로세스의 단계는 임의의 적합한 방식으로 규정될 수 있다. 예컨대, 6 자유도(six degrees of freedom) 중 적어도 하나에서 오브젝트의 움직임으로서 단계가 규정될 수 있다. 이러한 방식으로, 오브젝트의 움직임은 휘어짐, 회전, 당김, 또는 다른 타입의 움직임을 포함할 수 있다. 또한, 동작 중의 오브젝트의 움직임은 완전히 규정되지 않을 수 있다. 예컨대, 일부 룰에서, 시작 포지션 또는 종료 포지션은 규정되지 않을 수 있다. 추가의 특정 실시예에 따르면, 단계는 자전거로부터 특정 오브젝트(예컨대, 페달)의 제거를 포함할 수 있고, 종료 포지션은 규정되지 않는다. 이와 관련하여, 페달이 자전거로부터 제거되면 제거 후의 페달이 어디에 배치되는지에 무관하게 동작은 룰을 만족시킬 수 있다. 마찬가지로, 프로세스 중의 오브젝트를 위한 경로는 다양한 룰로 규정되거나 규정되지 않을 수 있다.
도 4 및 도 5는 프로세스 중에 오브젝트를 트래킹하기 위한 방법의 실시형태를 나타낸다. 도 4는 관찰 및/또는 교습 모드(teaching mode)에서 유저에게 설명하기 위한 방법(400)의 실시형태를 나타내고, 도 5는 학습 모드(learning mode)에서 유저에게 설명하기 위한 방법(500)의 실시형태를 나타낸다. 관찰 모드에서, 유저는 프로세스를 수행하는 것이 관찰될 수 있지만, 단계들과 관련된 설명은 제공되지 않을 수 있다. 관찰 모드는 품질 제어, 회계 , 및 다른 목적을 위해 사용될 수 있다. 마찬가지로, 설명 모드는, 프로세스를 수행하는 유저를 관찰하기 위해 그리고 프로세스를 수행하도록 유저를 교습하기 위한 피드백을 제공하기 위해 사용될 수 있다. 그에 반해서, 학습 모드는, 컴퓨팅 디바이스가 프로세스를 인식하도록, 프로세스를 위한 룰을 규정하도록 훈련시키기 위해 사용될 수 있다. 방법(400 및 500) 각각은, 센서 시스템(106)에 통합된 이미지 센서와 같은 이미지 센서로부터 수신된 물리적 장면의 이미지 정보를 사용하여 저장된 명령어에 따라 컴퓨팅 디바이스(102)와 같은 하나 이상의 컴퓨팅 디바이스에 의해 수행될 수 있다.
다수의 모드에서의 동작을 지원하는 실시형태에서, 방법(400)은 402에서 동작 모드를 설정하는 단계를 포함할 수 있다. 동작 모드를 설정하는 단계는, 예컨대 동작 모드에 관한 유저 입력을 수신하는 단계를 포함할 수 있다. 또한, 동작 모드를 설정하는 단계는, 물리적 장면에서 임의의 식별된 오브젝트 및 유저의 움직임을 관찰하는 단계 및 알려진 또는 알려지진 않은 프로세스를 유저가 수행하고 있는지 여부를 결정하는 단계를 포함할 수 있다. 유저가 알려진 프로세스(예컨대, 유저가 수행하기 전 및/또는 컴퓨팅 디바이스가 인식하는 프로세스)를 수행하고 있으면, 컴퓨팅 디바이스는 교습 및 관찰 모드 중 하나 이상에서 동작할 수 있다. 유저가 알려지지 않은 프로세스를 수행하고 있으면, 컴퓨팅 디바이스는, 유저가 학습 모드에서 동작하기를 원하는지 여부를 요청하고 확인시에 학습 모드에서 동작할 수 있다. 다수의 동작 모드가 지원되지 않으면 이러한 단계는 생략될 수 있다.
컴퓨팅 디바이스가 교습 또는 관찰 모드에서 동작하고 있으면, 방법(400)은 도 5에 관하여 더 상세히 설명될 학습 모드에서 동작하도록 406으로 진행된다. 한편, 컴퓨팅 디바이스가 학습 및/또는 관찰 모드에서 동작하고 있으면, 방법(400)은 408에서 하나 이상의 오브젝트를 사용하여 유저에 의해 수행될 프로세스의 하나 이상의 부분을 규정하는 룰의 세트를 수신하는 단계, 및 프로세스에서 사용되는 오브젝트를 위한 오브젝트 식별 정보를 수신하는 단계를 포함한다.
각 룰은, 예상되는 오브젝트, 예상되는 오브젝트의 예상되는 제1 포지션, 예상되는 오브젝트의 예상되는 제2 포지션, 제1 포지션과 제2 포지션 사이의 예상되는 경로, 및 제1 포지션으로부터 제2 포지션까지의 오브젝트의 움직임에 관한 시간 제한(time constraint) 중 하나 이상을 명시할(specify) 수 있다. 예상되는 오브젝트의 움직임은 6 자유도 중 적어도 하나에서의 움직임을 포함할 수 있다. 마찬가지로, 오브젝트 식별 정보는 식별 펑션, 3차원 오브젝트 모델 등을 포함하지만 이것에 한정되지 않는 장면의 이미지 데이터로부터 오브젝트를 인식하기 위한 임의의 적합한 정보를 포함할 수 있다.
룰의 세트는 수행되는 프로세스에 따라 순서 결정될(ordered) 수 있다. 예컨대, 제1 룰은 프로세스의 제1 부분과 연관될 수 있고, 제2 후속 룰은 프로세스의 제2 후속 부분과 연관된다. 그러나, 프로세스에 따라, 일부의 룰은 순서 결정될 수 있고 다른 룰은 순서 결정되지 않을 수 있다. 예컨대, 제2 룰에 의해 명시되는 액션 전 또는 후에 제1 룰에 의해 명시된 액션이 수행되었는지 여부와 상관없이 제3 룰은 제1 룰과 제2 룰이 만족된 후에 수행될 액션을 명시할 수 있다.
룰의 세트 및 오브젝트 식별 정보는 원격 서비스로부터 수신되고, 착탈식 스토리지 디바이스로부터 수신되고, 컴퓨팅 디바이스의 스토리지 디바이스 상에 저장되고, 또는 임의의 다른 적합한 방식으로 취득될 수 있다. 유저 입력에 응답하여, 또는 유저가 프로세스를 수행하고 있다는 컴퓨팅 디바이스에 의한 결정에 응답하여, 또는 임의의 다른 적합한 트리거시에, 룰의 세트 및 오브젝트 식별 정보가 수신될 수 있다.
410에서, 방법(400)은 물리적 장면의 이미지 정보를 수신하는 단계를 포함한다. 물리적 장면은, 프로세스를 유저가 수행하고 있는 실세계 환경이 될 수 있다. 이미지 정보는, 센서 시스템(106) 등의 이미지 센서로부터 수신될 수 있고, 뎁스 이미지 정보와 컬러 이미지 정보(예컨대, RGB 정보) 중 하나 이상을 포함할 수 있다. 일 실시예에서, 물리적 장면은, 하나 이상의 이미지가 하나 이상의 카메라에 의한 하나 이상의 관점으로부터 캡처되도록, 스캔될 수 있다. 스캔 중에, 카메라 움직임은 카메라의 뷰의 위치와 배향을 결정하기 위해 움직임의 6 자유도 중 하나 이상으로 트래킹될 수 있다.
414에서, 방법(400)은 식별된 오브젝트와 유저에 의해 수행되는 동작을 식별하는 단계를 포함한다. 동작을 식별하기 위해, 오브젝트 또는 유저가 상호작용하는 오브젝트(예컨대, 물리적 장면에 있는 오브젝트)는 416에 표시된 바와 같이, 오브젝트 식별 정보와 이미지 정보에 기초하여 식별될 수 있다. 예컨대, 오브젝트를 식별하기 위해 뎁스 이미지 데이터 및/또는 컬러 이미지 데이터와 오브젝트 식별 정보와의 비교가 수행될 수 있다.
동작을 식별하는 단계는, 418에 표시된 바와 같이, 6 자유도 중 적어도 하나로, 시작 포지션으로부터 종료 포지션으로 움직이는 오브젝트를 식별하는 단계를 포함할 수 있다. 상기한 바와 같이, 룰에서, 시작 포지션과 종료 포지션이 규정되거나, 시작 포지션과 종료 포지션 중 하나 이상이 확장 가능하게 될(open-ended) 수 있다. 예컨대, 도 1 내지 도 3에 관하여 상기한 자전거 수리 프로세스로 돌아가면, 동작은 나사 결합되는(screwed in) 풀리 볼트를 포함할 수 있다. 따라서, 오브젝트의 시작 포지션과 종료 포지션은, 풀리 볼트 헤드가 풀리에 대하여 이동함에 따라, 각각 규정될 수 있다. 다른 예시적 동작에서, 알렌 렌치는 풀리 볼트와의 맞물림으로부터 제거될 수 있다. 따라서, 알렌 렌치의 시작 포지션은 규정될 수 있지만(풀리 볼트와 맞물림), 종료 포지션은 확장 가능하게 될 수 있다[알렌 렌치의 최종 레스팅 포지션(resting position)은 무관함].
420에서, 수행될 프로세스의 부분과 연관된 룰을 동작이 만족하는지 여부가 결정된다. 동작이 룰을 만족한다고 결정하는 단계는, 예상되는 오브젝트, 예상되는 오브젝트의 예상되는 제1 포지션, 예상되는 오브젝트의 예상되는 제2 포지션, 제1 포지션과 제2 포지션 사이의 예상되는 경로, 및/또는 예상되는 일시적 조건(temporal condition)[예컨대, 예상되는 오브젝트가 임계 시간(threshold amount of time) 내에 제1 포지션으로부터 제2 포지션으로 이동되는지 여부 등의, 얼마나 빠르게 또는 느리게 단계가 수행되는지]을 포함하는 룰에 의해 규정되는 조건 중 하나 이상이 동작에 의해 만족되는지 여부를 결정하는 단계를 포함할 수 있다.
동작이 룰을 만족하면, 방법(400)은 422에서 동작이 룰을 만족한다는 표시를 선택적으로 저장하는 단계를 포함할 수 있다. 동작이 룰을 만족한다는 표시를 저장하는 단계는, 예컨대, 컴퓨팅 디바이스가 관찰 모드에서 동작할 때 발생할 수 있다. 이어서, 방법(400)은 424에서 프로세스의 후속 부분으로 진행하는 단계를 포함한다. 이것은, 426에 표시된 바와 같이, 동작이 룰을 만족한다는 피드백(시각, 음성, 및/또는 다른 것)을 제공하는 단계를 포함할 수 있다. 프로세스의 후속 부분으로 진행하는 단계는, 오브젝트 식별 정보와 이미지 정보로부터 물리적 장면 내의 상이한 식별된 오브젝트와 식별된 오브젝트 중 하나 이상으로 유저에 의해 수행된 후속 동작을 식별하는 단계 및 프로세스의 후속 선택 부분과 연관된 후속 룰을 후속 동작이 만족하는지 여부에 기초하여 액션을 취하는 단계를 더 포함할 수 있다. 오브젝트의 식별과 트래킹 및 오브젝트 움직임의 룰에 대한 비교는, 모든 룰이 만족되거나 그렇지 않으면 프로세스가 종료될 때까지 반복될 수 있다.
420으로 돌아가서, 동작이 룰을 만족하지 않으면, 방법(400)은 동작이 룰을 만족하지 않는다(예컨대, 관찰 모드에서의 동작이라면)는 표시를 선택적으로 저장하기 위해 428로 진행한다. 또한, 방법(400)은 430에서 유저가 어떻게 룰을 만족시키는지 설명하기 위한 설명을 출력하는 단계를 포함할 수 있다. 이러한 설명은 오디오 설명 및 시각적 설명 중 하나 이상을 포함할 수 있다. 일부 실시형태에서, 시각적 설명은 디스플레이 디바이스 상에 디스플레이되는 이미징된 물리적 장면의 증강 현실 뷰로서 표시될 수 있다. 비제한적 일 실시예에 따르면, 룰을 만족하기 위해 그 단계를 위해 예상되는 동작을 어떻게 수행하는지를 유저에게 보여주기 위해, 단계를 수행하는 가상 손의 애니메이션이 물리적 장면의 묘사 상에 중첩될 수 있다. 다른 실시예에서, 프로세스의 그 단계를 위해 오브젝트를 어떻게 처리할지를 보여주기 위해, 물리적 장면에서 예상되는 오브젝트를 묘사하는 가상 오브젝트가 물리적 장면의 묘사 상에 중첩되어 움직일 수 있다. 이어서, 방법(400)은 동작이 룰을 만족하는지 여부를 결정하기 위해, 유저에 의해 수행되는 동작을 식별하도록 414로 루프 백(loop back)하여 계속된다.
도 5는 학습 모드에서 동작하는 동안 프로세스를 수행하는 유저를 관찰하기 위한 방법(500)의 실시형태를 도시한 플로우 다이어그램을 나타낸다. 방법(500)은 장래의 관찰 및/또는 설명을 위해 알려지지 않은 프로세스를 학습하기 위해 수행될 수 있다. 방법(500)은, 502에서, 이미징된 장면에서 하나 이상의 오브젝트에 관한 오브젝트 식별 정보를 수신하는 단계를 포함한다. 예컨대, 유저는 센서 시스템에 통합된 뎁스 카메라 및/또는 RGB 카메라 등의 카메라로 각 오브젝트를 스캔할 수 있다. 유저는 또한 스캔된 오브젝트 각각의 아이덴티티(identity)를 제공할 수 있다. 오브젝트가 알려진 오브젝트인 경우, 이러한 스캐닝 프로세스는 이들 오브젝트에 대하여 생략될 수 있고, 기존의 오브젝트 식별 정보가 사용될 수 있다.
방법(500)은, 504에서,장면의 이미지 정보를 수신하는 단계를 포함하고, 506에서, 장면 내의 하나 이상의 식별된 오브젝트 상에 프로세스를 수행하는 유저를 관찰하는 단계를 포함한다. 상기한 바와 같이, 오브젝트 식별 정보와 이미지 정보는 유저와 식별된 오브젝트의 움직임을 트래킹하는 것뿐만 아니라 장면 내의 오브젝트의 식별하기 위해 사용될 수 있다.
유저가 프로세스를 수행하는 동안 유저에 의해 식별된 오브젝트가 움직임에 따라, 움직임은 동작으로 특징지어 질 수 있다[예컨대, 시작 포지션과 종료 포지션이 지정됨(assigned)]. 예컨대, 유저는, 경로 및/또는 일시적 제한이 적용되는 것을 표시하는 것뿐만 아니라, 프로세스가 수행되는 동안 프로세스의 각 단계를 위한 시작 포인트와 종료 포인트의 표시를 예컨대 음성 명령에 의해 제공할 수 있다. 마찬가지로, 동작은 알고리즘에 의해(algorithmically)(예컨대, 특정 오브젝트에 의한 특정 액션이 시작 및 종료할 때를 관찰함으로써) 규정될 수도 있다. 규정된 동작에 기초하여, 508에 표시된 바와 같이 프로세스를 위해 룰의 세트가 규정될 수 있고, 룰의 세트는 식별된 오브젝트 상에 유저에 의해 수행될 수 있는 하나 이상의 동작 또는 액션을 명시한다. 룰의 세트는 컴퓨팅 디바이스 상에 저장될 수 있고, 그리고/또는 원격 서비스로 전송될 수 있고, 나중에 프로세스를 수행하는 유저에게 설명하기 위해 이용 가능하게 될 수 있다.
일부 실시형태에서, 여기에 개시된 방법들과 프로세스들은 하나 이상의 컴퓨팅 디바이스의 컴퓨팅 시스템과 관련될 수 있다. 특히, 이러한 방법들 및 프로세스들은 컴퓨터-애플리케이션 프로그램 또는 서비스, 애플리케이션-프로그래밍 인터페이스(API: application-programming interface), 라이브러리(library), 및/또는 다른 컴퓨터-프로그램 제품으로서 구현될 수 있다.
도 6은 상기 방법들 및 프로세스들 중 하나 이상을 수행할 수 있는 컴퓨팅 시스템(600)의 비제한 실시형태를 개략적으로 나타낸다. 예컨대, 컴퓨팅 디바이스(102)는 컴퓨팅 시스템(600)의 비제한적 일 실시예이다. 컴퓨팅 시스템(600)은 간략한 형태로 도시되어 있다. 컴퓨팅 시스템(600)은 하나 이상의 퍼스널 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 홈-엔터테인먼트 컴퓨터, 네트워크 컴퓨팅 디바이스, 게이밍 디바이스, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스(예컨대, 스마트 폰), 및/또는 다른 컴퓨팅 디바이스의 형태를 취할 수 있다.
컴퓨팅 디바이스(600)는 로직 디바이스(602) 및 스토리지 디바이스(604)를 포함한다. 컴퓨팅 디바이스(600)는 디스플레이 서브시스템(606), 입력 서브시스템(608), 통신 서브시스템(610), 및/또는 도 6에 도시되지 않은 다른 콤포넌트를 선택적으로 포함할 수 있다.
로직 디바이스(602)는 명령어들을 실행하도록 구성되는 하나 이상의 물리적 디바이스를 포함한다. 예컨대, 로직 디바이스는 하나 이상의 애플케이션, 서비스, 프로그램, 루틴(routine), 라이브러리, 오브젝트(object), 콤포넌트(component), 데이터 구조, 또는 다른 논리 구성(logical construct)의 부분인 기계-판독 가능 명령어들을 실행하도록 구성될 수 있다. 작업 수행하고, 데이터 타입을 구현하고, 하나 이상의 콤포넌트의 상태를 변환하고, 기술적 효과를 달성하거나 그렇지 않으면 원하는 결과에 도달하기 위해, 이러한 명령어들이 구현될 수 있다.
로직 디바이스는 소프트웨어 명령어를 실행하도록 구성되는 하나 이상의 프로세서를 포함할 수 있다. 추가적으로 또는 대안으로서, 로직 디바이스는 하드웨어 또는 펌웨어 명령어를 실행하도록 구성되는 하나 이상의 하드웨어 또는 펌웨어 로직 디바이스를 포함할 수 있다. 로직 디바이스의 프로세서는 싱글-코어(single-core) 또는 멀티-코어(multi-core)가 될 수 있고, 여기서 실행되는 명령어들은 순차적 프로세싱, 병렬 프로세싱, 및/또는 분산 프로세싱을 위해 구성될 수 있다. 로직 디바이스의 개별 콤포넌트들은 선택적으로 통합된 프로세싱을 위해 원격으로 배치될 수 있는 그리고/또는 구성될 수 있는 2개 이상의 개별 디바이스들 중에 분산될 수 있다. 로직 디바이스의 양상은 원격 액세스 가능한, 클라우드-컴퓨팅 구조로 구성되는 네트워킹된 컴퓨팅 디바이스에 의해 가상화되고 실행될 수 있다.
여기에 개시된 방법들 및 프로세스들을 구현하기 위해, 스토리지 디바이스(604)는, 로직 디바이스에 의해 실행 가능한 명령어들을 유지하도록 구성되는 하나 이상의 물리적 디바이스를 포함한다. 이러한 방법들 및 프로세스들이 구현될 때, 스토리지 디바이스(604)의 상태가 변환(예컨대, 상이한 데이터를 유지하도록)될 수 있다.
스토리지 디바이스(604)는 착탈식(removable) 및/또는 빌트 인 디바이스(built-in device)를 포함할 수 있다. 스토리지 디바이스(604)는 다른 것들 중에서 광학 메모리(예컨대, CD, DVD, HD-DVD, 블루레이 디스크 등), 반도체 메모리(예컨대, RAM, EPROM, EEPROM 등), 및/또는 자기 메모리(예컨대, 하드 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등)를 포함할 수 있다. 스토리지 디바이스(604)는 휘발성, 비휘발성, 동적, 정적, 판독/기입, 판독전용, 랜덤-액세스, 순차-액세스, 로케이션-어드레서블(location-addressable), 파일-어드레서블(file-addressable), 및/또는 콘텐트-어드레서블(content-addressable) 디바이스를 포함할 수 있다.
스토리지 디바이스(604)는 하나 이상의 물리적 디바이스를 포함한다는 것이 인식될 것이다. 그러나, 여기에 대안으로 개시된 명령어들의 양상은 한정 기간 동안 물리적 디바이스에 의해 유지되지 않는 통신 매체(예컨대, 전자기 신호, 광학 신호 등)에 의해 전파될 수 있다.
로직 디바이스(602) 및 스토리지 디바이스(604)의 양상은 하나 이상의 하드웨어-로직 콤포넌트에 함께 통합될 수 있다. 이러한 하드웨어-로직 콤포넌트는 예컨대 FPGA(field-programmable gate array), PASIC / ASIC(program- and application-specific integrated circuit), PSSP / ASSP(program- and application-specific standard product), SOC(system-on-a-chip), 및 CPLD(complex programmable logic device)를 포함할 수 있다.
여기에 사용된 "서비스"는 다수의 유저 세션에 걸쳐 실행 가능한 애플리케이션 프로그램이라는 것이 인식될 것이다. 서비스는 하나 이상의 시스템 콤포넌트, 프로그램, 및/또는 다른 서비스에 이용 가능하게 될 수 있다. 일부 구현에서, 서비스는 하나 이상의 서버-컴퓨팅 디바이스 상에서 실행될 수 있다.
디스플레이 서브시스템이 포함되는 경우에, 디스플레이 서브시스템(606)은 스토리지 디바이스(604)에 의해 유지되는 데이터의 시각적 묘사를 나타내는데 사용될 수 있다. 이 시각적 묘사는 GUI(graphical user interface)의 형태를 취할 수 있다. 여기에 개시된 방법들 및 프로세스들이 스토리지 디바이스에 의해 유지되는 데이터를 변경하고 이에 따라 스토리지 디바이스의 상태를 변환하기 때문에, 아래에 놓인 데이터의 변경을 시각적으로 표시하기 위해 디스플레이 서브시스템(606)의 상태가 마찬가지로 변환될 수 있다. 디스플레이 서브시스템(606)은 임의의 타입의 기술을 가상으로 사용하는 하나 이상의 디스플레이 디바이스를 포함할 수 있다. 이러한 디스플레이 디바이스가 공유 인클로저(shared enclosure)에서 로직 디바이스(602) 및/또는 스토리지 디바이스(604)와 결합되거나, 이러한 디스플레이 디바이스가 주변 디스플레이 디바이스가 될 수 있다.
포함되는 경우에, 입력 서브시스템(608)은 키보드, 마우스, 터치 스크린, 또는 게임 컨트롤러 등의 하나 이상의 유저-입력 디바이스를 포함하거나 하나 이상의 유저-입력 디바이스와 인터페이스할 수 있다. 일부 실시형태에서, 입력 서브시스템은 선택된 NUI(natural user input) 콤포넌트리(componentry)를 포함하거나 인터페이스할 수 있다. 이러한 콤포넌트리는 통합되거나 주변기기가 될 수 있고, 입력 동작의 전달 및/또는 프로세싱은 온 보드(on-board) 또는 오프 보드(off-board)로 처리될 수 있다. 예시적 NUI 콤포넌트리는, 연설 및/또는 음성 인식을 위한 마이크로폰; 머신 비전(machine vision) 및/또는 제스처 인식을 위한 적외선, 컬러, 입체, 및/또는 뎁스 카메라(depth camera); 모션 검출 및/또는 의도 인식을 위한 헤드 트랙커(head tracker), 아이 트랙커(eye tracker), 가속도계, 및/또는 자이로스코프(gyroscope); 뿐만 아니라 두뇌 활동을 평가하기 위한 전계 센싱 콤포넌트리를 포함할 수 있다.
포함되는 경우에, 통신 서브시스템(610)은 컴퓨팅 시스템(600)을 하나 이상의 다른 컴퓨팅 디바이스와 통신가능하게 연결하도록 구성될 수 있다. 예컨대, 예시된 바와 같이, 예컨대, 하나 이상의 프로세스를 위한 룰의 세트 및/또는 오브젝트 식별 정보를 저장하는 오브젝트 및 룰 데이터베이스(616)에 액세스하기 위해, 컴퓨팅 시스템(600)은 네트워크(614)를 통해 원격 서비스(612)와 통신할 수 있다. 통신 서브시스템(610)은 하나 이상의 상이한 통신 프로토콜과 호환가능한 유선 및/또는 무선 통신 디바이스를 포함할 수 있다. 비제한적 실시예로서, 통신 서브시스템은 무선 전화 네트워크, 무선 또는 유선 근거리 네트워크, 무선 또는 유선 광역 네트워크를 통한 통신을 위해 구성될 수 있다. 일부 실시형태에서, 통신 서브시스템은 컴퓨팅 시스템(600)이 인터넷 등의 네트워크를 통해 다른 디바이스로 및/또는 다른 디바이스로부터 메시지를 전송 및/또는 수신하게 할 수 있다.
여기에 개시된 구성 및/또는 방법은 사실상 예시라는 것과 이 특정 실시형태 또는 실시예는 다수의 변형이 가능하기 때문에 한정의 의미로 간주되지 않는다는 것이 이해될 것이다. 여기에 개시된 특정 루틴 또는 방법은 임의의 수의 프로세싱 방식(processing strategy) 중 하나 이상을 대표할 수 있다. 따라서, 예시된 및/또는 개시된 다양한 동작들은 예시된 및/또는 개시된 순서로, 다른 순서로, 병렬적으로 수행되거나 생략될 수 있다. 마찬가지로, 상기 프로세스의 순서는 변경될 수 있다.
본 명세서의 대상은 임의의 그리고 모든 등가물에 더하여 다양한 프로세스, 시스템, 및 구성과 여기에 개시된 다른 피처, 기능, 동작, 및/또는 속성의 모든 새롭고 명백하지 않은 조합 및 하부조합(sub-combination)을 포함한다.

Claims (19)

  1. 컴퓨팅 디바이스 상에서, 제1 오브젝트(object) 및 제2 오브젝트를 수반하는, 유저에 의한 프로세스의 수행을 모니터링하는 방법에 있어서,
    상기 프로세스를 위한 설명 정보(instructional information)에 대한 요청을 원격 서버에 전송하는 단계;
    상기 설명 정보를 상기 원격 서버로부터 수신하는 단계 - 상기 설명 정보는, 상기 제1 오브젝트 및 상기 제2 오브젝트 각각에 대한 3차원 오브젝트 데이터 및 식별 펑션(identification function) 중 하나 이상을 포함하고 또한 상기 프로세스의 하나 이상의 부분을 규정하는 룰(rule)의 세트를 포함하는, 오브젝트 식별 정보를 포함함 - ;
    상기 프로세스의 선택된 부분에 대하여,
    뎁스 카메라(depth camera)로부터 물리적 장면의 이미지 정보를 수신하는 단계;
    상기 이미지 정보 및 상기 제1 오브젝트 및 상기 제2 오브젝트 각각에 대한 3차원 오브젝트 데이터 및 상기 식별 펑션 중 상기 하나 이상으로부터, 상기 유저에 의해 수행된 동작을 식별하는 단계 - 상기 동작은 상기 물리적 장면에서의 상기 제1 오브젝트의 상기 제2 오브젝트와의 상호작용을 포함함 - ;
    상기 제1 오브젝트와 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 정확한 오브젝트인지 여부를 식별하는 단계; 및
    상기 제1 오브젝트와 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 부정확한 오브젝트인 경우에, 상기 동작에 대한 정확한 오브젝트를 유저에게 알리는 경고를 출력하는 단계;
    상기 동작이 상기 프로세스의 선택된 부분과 연관된 룰을 만족하지 않는 경우에, 상기 룰을 만족시키기 위해 예상되는(expected) 동작을 어떻게 수행하는지를 설명(instruct)하기 위한 설명을 디스플레이 디바이스에 출력하는 단계; 및
    상기 동작이 상기 룰을 만족시키는 경우에, 상기 프로세스의 후속 부분으로 진행하는 단계
    를 포함하는, 프로세스의 수행을 모니터링하는 방법.
  2. 제1항에 있어서,
    상기 오브젝트 식별 정보는, 상기 이미지 정보로부터 복수의 상이한 배향의 상기 제1 오브젝트 및 상기 제2 오브젝트를 식별하기 위해 이용 가능한 3차원 오브젝트 데이터를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  3. 제1항에 있어서,
    상기 룰은, 예상되는 오브젝트, 상기 예상되는 오브젝트의 예상되는 제1 포지션, 상기 예상되는 오브젝트의 예상되는 제2 포지션, 상기 제1 포지션과 상기 제2 포지션 사이에서의 예상되는 경로, 및 6 자유도(six degrees of freedom) 중 적어도 하나에서의 상기 제1 포지션과 상기 제2 포지션 사이에서의 상기 예상되는 오브젝트의 움직임 중 하나 이상을 명시하는(specify) 것인, 프로세스의 수행을 모니터링하는 방법.
  4. 제3항에 있어서,
    상기 예상되는 오브젝트, 상기 예상되는 오브젝트의 상기 예상되는 제1 포지션, 상기 예상되는 오브젝트의 상기 예상되는 제2 포지션, 및 상기 제1 포지션과 상기 제2 포지션 사이에서의 상기 예상되는 경로 중 하나 이상이 상기 동작에 의해 충족되면, 상기 동작이 상기 룰을 만족하다고 결정하는 단계를 더 포함하는, 프로세스의 수행을 모니터링하는 방법.
  5. 제3항에 있어서,
    상기 식별된 오브젝트, 상기 식별된 오브젝트의 시작 포지션, 상기 동작 중의 상기 식별된 오브젝트의 경로, 및 상기 식별된 오브젝트의 종료 포지션 중 하나 이상이 상기 룰의 상기 예상되는 오브젝트, 상기 예상되는 제1 포지션, 상기 예상되는 경로, 및 상기 예상되는 제2 포지션에 관련된 하나 이상의 조건과 매치(match)되지 않으면, 상기 동작이 상기 룰을 만족하지 않는다고 결정하는 단계를 더 포함하는, 프로세스의 수행을 모니터링하는 방법.
  6. 제5항에 있어서,
    상기 룰은 또한, 상기 제1 포지션으로부터 상기 제2 포지션까지 상기 예상되는 오브젝트가 움직이는 정해진 시간 역치(threshold)를 명시하고,
    상기 방법은, 상기 정해진 시간 역치까지 상기 식별된 오브젝트가 상기 시작 포지션으로부터 상기 종료 포지션까지 움직이지 않으면 상기 동작이 상기 룰을 만족하지 않는다고 결정하는 단계를 더 포함하는, 프로세스의 수행을 모니터링하는 방법.
  7. 제1항에 있어서,
    상기 동작이 상기 룰을 만족하는지 여부에 기초하여 액션을 취하는 것은, 상기 동작이 상기 룰을 만족하는 경우에, 상기 프로세스의 후속 선택된 부분에 대하여,
    상기 물리적 장면의 이미지 정보를 수신하는 단계;
    상기 이미지 정보 및 상기 오브젝트 식별 정보로부터, 상기 물리적 장면에서의 상기 제1 오브젝트의 상기 제2 오브젝트 및 상이한 식별된 오브젝트와의 상호작용으로 수행되는 후속 동작을 식별하는 단계; 및
    상기 후속 동작이 상기 프로세스의 상기 후속 선택된 부분과 연관된 상기 룰의 세트 중 후속 룰을 만족하는지 여부에 기초하여 액션을 취하는 단계
    를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  8. 제1항에 있어서,
    상기 설명은, 비디오 설명, 음성(auditory) 설명, 및 증강 현실 설명 중 하나 이상을 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  9. 제1항에 있어서,
    상기 동작이 상기 룰을 만족하는지 여부에 기초하여 액션을 취하는 것은, 상기 동작이 상기 룰을 만족하는지 여부를 나타내는 정보를 저장하는 단계를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  10. 제1항에 있어서,
    상기 이미지 정보를 수신하는 단계는 가시광 카메라로부터 이미지 정보를 수신하는 단계를 더 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  11. 제1항에 있어서,
    상기 동작을 식별하기 위해 상기 수신된 이미지 정보로 상기 식별된 오브젝트의 움직임을 트래킹(tracking)하는 단계를 더 포함하는, 프로세스의 수행을 모니터링하는 방법.
  12. 컴퓨팅 디바이스 상에서, 제1 오브젝트 및 제2 오브젝트를 수반하는 프로세스의 수행을 모니터링하는 방법으로서,
    프로세스 동안 상기 제1 오브젝트 및 상기 제2 오브젝트에 대해 유저에 의해 수행될 하나 이상의 액션을 규정하는 룰의 세트를 수신하는 단계 - 상기 제1 오브젝트 및 상기 제2 오브젝트는 상기 유저와 상이한 것임 - ;
    상기 제1 오브젝트 및 상기 제2 오브젝트에 관한 오브젝트 식별 정보를 수신하는 단계;
    상기 프로세스의 선택된 부분에 대하여,
    뎁스 카메라로부터 물리적 장면의 이미지 정보를 수신하는 단계;
    상기 이미지 정보 및 상기 오브젝트 식별 정보로부터, 상기 물리적 장면에서의 상기 제1 오브젝트 및 상기 제2 오브젝트에 대해 상기 유저에 의해 수행되는 동작을 식별하는 단계 - 상기 동작은 상기 제1 오브젝트의 상기 제2 오브젝트와의 상호작용을 포함함 - ;
    상기 제1 오브젝트 및 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 정확한 오브젝트인지 여부를 식별하는 단계;
    상기 제1 오브젝트 및 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 부정확한 오브젝트인 경우에, 상기 동작에 대한 정확한 오브젝트를 유저에게 알리는 경고를 출력하는 단계;
    상기 동작이 룰을 만족하지 않는 경우에, 상기 룰을 만족하기 위해 예상되는 동작을 어떻게 수행하는지를 설명하기 위한 설명을 디스플레이 디바이스에 출력하는 단계; 및
    상기 동작이 상기 룰을 만족하는 경우에, 상기 프로세스의 후속 선택된 부분으로 진행하는 단계
    를 포함하는, 프로세스의 수행을 모니터링하는 방법.
  13. 제12항에 있어서,
    상기 프로세스의 후속 선택된 부분으로 진행하는 단계는,
    상기 물리적 장면의 이미지 정보를 수신하는 단계;
    상기 이미지 정보 및 상기 오브젝트 식별 정보로부터, 상기 물리적 장면에서의 상기 제1 오브젝트의 상이한 식별된 오브젝트 및 상기 제2 오브젝트로 수행되는 후속 동작을 식별하는 단계; 및
    상기 후속 동작이 상기 프로세스의 후속 선택된 부분과 연관된 상기 룰의 세트 중 후속 룰을 만족하는지 여부에 기초하여, 설명을 출력하거나 상기 프로세스의 다음 선택된 부분으로 진행하는 단계
    를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  14. 제12항에 있어서,
    상기 설명을 출력하는 단계는, 오디오 설명 및 시각적 설명 중 하나 이상을 출력하는 단계를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  15. 제14항에 있어서,
    상기 시각적 설명을 출력하는 단계는, 디스플레이를 위해 상기 물리적 장면의 증강 현실 뷰를 디스플레이 디바이스에 출력하는 단계를 포함하고, 상기 증강 현실 뷰는 상기 물리적 장면의 묘사 위에 중첩되는 가상 오브젝트를 포함하는 것인, 프로세스의 수행을 모니터링하는 방법.
  16. 명령어들을 유지하는 하드웨어 스토리지 디바이스로서,
    상기 명령어들은,
    제1 오브젝트 및 제2 오브젝트를 수반하는 프로세스를 위한 설명 정보에 대한 요청을 원격 서버로 전송하고;
    상기 설명 정보를 상기 원격 서버로부터 수신하고 - 상기 설명 정보는, 상기 프로세스에서 사용되는 하나 이상의 오브젝트에 대한 3차원 오브젝트 데이터 및 식별 펑션 중 하나 이상을 포함하고 또한 상기 프로세스 동안 상기 제1 오브젝트 및 상기 제2 오브젝트 중 하나 이상에 대해 유저에 의해 수행될 하나 이상의 액션을 규정하는 룰의 세트를 포함하는, 오브젝트 식별 정보를 포함하고, 상기 제1 오브젝트 및 상기 제2 오브젝트는 상기 유저와 상이한 것임 - ;
    뎁스 카메라로부터 물리적 장면의 뎁스 이미지 정보를 수신하고;
    상기 뎁스 이미지 정보로부터 복수의 상이한 배향의 상기 제1 오브젝트 및 상기 제2 오브젝트를 식별하기 위해 이용 가능한 3차원 오브젝트 데이터를 포함하는 오브젝트 식별 정보를 수신하고;
    상기 프로세스의 선택된 부분에 대하여,
    상기 뎁스 이미지 정보 및 상기 오브젝트 식별 정보로부터, 상기 물리적 장면에서의 상기 제1 오브젝트의 상기 제2 오브젝트와의 상호작용을 수반하는 상기 유저에 의해 수행되는 동작을 식별하고;
    상기 제1 오브젝트 및 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 정확한 오브젝트인지 여부를 식별하고;
    상기 제1 오브젝트 및 상기 제2 오브젝트 중 하나 이상이 상기 동작에 대한 부정확한 오브젝트인 경우에, 상기 동작에 대한 정확한 오브젝트를 유저에게 알리는 경고를 출력하고;
    상기 동작이 룰을 만족하지 않는 경우에, 상기 룰을 만족하기 위해 예상되는 동작을 어떻게 수행하는지를 설명하기 위한 설명을 디스플레이 디바이스에 출력하고;
    상기 동작이 상기 룰을 만족하는 경우에, 상기 프로세스의 후속 선택된 부분으로 진행하기 위해
    로직 디바이스에 의해 실행가능한 것인, 하드웨어 스토리지 디바이스.
  17. 제16항에 있어서,
    상기 설명은, 오디오 설명 및 시각적 설명 중 하나 이상을 포함하는 것인, 하드웨어 스토리지 디바이스.
  18. 제17항에 있어서,
    상기 시각적 설명은, 상기 물리적 장면의 묘사 위에 중첩되는 가상 오브젝트를 포함하는 상기 물리적 장면의 증강 현실 뷰를 포함하는 것인, 하드웨어 스토리지 디바이스.
  19. 제16항에 있어서,
    상기 프로세스는 제1 프로세스이고, 상기 명령어들은 또한,
    하나 이상의 추가 식별된 오브젝트에 대해 수행되는 제2 프로세스를 관찰하고;
    상기 관찰에 기초하여 상기 제2 프로세스에 대한 룰의 제2 세트를 규정하도록
    실행가능한 것인, 하드웨어 스토리지 디바이스.
KR1020167025691A 2014-02-27 2015-02-25 프로세스 중의 오브젝트 트래킹 KR102403579B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/192,337 2014-02-27
US14/192,337 US9911351B2 (en) 2014-02-27 2014-02-27 Tracking objects during processes
PCT/US2015/017405 WO2015130718A1 (en) 2014-02-27 2015-02-25 Tracking objects during processes

Publications (2)

Publication Number Publication Date
KR20160125428A KR20160125428A (ko) 2016-10-31
KR102403579B1 true KR102403579B1 (ko) 2022-05-27

Family

ID=52727376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025691A KR102403579B1 (ko) 2014-02-27 2015-02-25 프로세스 중의 오브젝트 트래킹

Country Status (5)

Country Link
US (1) US9911351B2 (ko)
EP (1) EP3111297B1 (ko)
KR (1) KR102403579B1 (ko)
CN (1) CN106030457B (ko)
WO (1) WO2015130718A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620800B2 (en) * 2015-02-23 2020-04-14 International Business Machines Corporation Integrated mobile service companion
WO2017030193A1 (ja) * 2015-08-20 2017-02-23 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
EP3139247A1 (en) * 2015-09-03 2017-03-08 Siemens Aktiengesellschaft Method of and system for performing buyoff operations in a computer-managed production facility
US10168152B2 (en) 2015-10-02 2019-01-01 International Business Machines Corporation Using photogrammetry to aid identification and assembly of product parts
FR3044122A1 (fr) * 2015-11-25 2017-05-26 Airbus Operations Sas Procede et systeme pour assister un operateur de maintenance dans l'execution d'une tache de maintenance d'un aeronef
EP3398027A1 (en) * 2015-12-30 2018-11-07 Thomson Licensing Content search and pacing configuration
US20170352282A1 (en) * 2016-06-03 2017-12-07 International Business Machines Corporation Image-based feedback for assembly instructions
US11348475B2 (en) * 2016-12-09 2022-05-31 The Boeing Company System and method for interactive cognitive task assistance
KR20180098079A (ko) * 2017-02-24 2018-09-03 삼성전자주식회사 비전 기반의 사물 인식 장치 및 그 제어 방법
US10249163B1 (en) 2017-11-10 2019-04-02 Otis Elevator Company Model sensing and activity determination for safety and efficiency
US20190340954A1 (en) * 2018-05-01 2019-11-07 Illinois Tool Works Inc. Portable user interface for a welding type system
JP7012632B2 (ja) * 2018-11-20 2022-01-28 株式会社日立システムズ 訓練教材提示システムおよび訓練教材提示方法
JP7014698B2 (ja) * 2018-11-20 2022-02-01 株式会社日立システムズ 訓練教材提示システムおよび訓練教材提示方法
KR20200080389A (ko) * 2018-12-18 2020-07-07 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021019599A1 (ja) * 2019-07-26 2021-02-04 株式会社日立システムズ 訓練コンテンツ作成制御装置、訓練コンテンツ作成制御方法、および訓練コンテンツ作成制御プログラム
US11703829B2 (en) * 2020-11-13 2023-07-18 Ford Global Technologies, Llc Systems and methods for flexible modular assembly manufacturing
US11875705B1 (en) * 2022-11-22 2024-01-16 Hyundai Mobis Co., Ltd. Apparatus and method for supporting equipment manufacturing process

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040046736A1 (en) 1997-08-22 2004-03-11 Pryor Timothy R. Novel man machine interfaces and applications
US20100208038A1 (en) 2009-02-17 2010-08-19 Omek Interactive, Ltd. Method and system for gesture recognition
US20100281432A1 (en) 2009-05-01 2010-11-04 Kevin Geisner Show body position
US20120064498A1 (en) 2010-09-13 2012-03-15 John Swain Interactive system and method for musical instrument instruction

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000005639A2 (en) 1998-07-21 2000-02-03 Originet Method and system for providing an avatar interactive computer guide system
CN1297856C (zh) 1999-03-25 2007-01-31 西门子公司 具有多层信息结构的特别用于技术和工业应用的文件处理系统和方法
US6533675B2 (en) * 2001-06-11 2003-03-18 Conley Jack Funk Interactive method and apparatus for tracking and analyzing a golf swing
US20050272517A1 (en) * 2001-06-11 2005-12-08 Recognition Insight, Llc Swing position recognition and reinforcement
US8409024B2 (en) * 2001-09-12 2013-04-02 Pillar Vision, Inc. Trajectory detection and feedback system for golf
US10360685B2 (en) * 2007-05-24 2019-07-23 Pillar Vision Corporation Stereoscopic image capture with performance outcome prediction in sporting environments
US7628707B2 (en) * 2002-11-08 2009-12-08 Taylor Made Golf Company, Inc. Golf club information system and methods
US20060063574A1 (en) * 2003-07-30 2006-03-23 Richardson Todd E Sports simulation system
CN101388149B (zh) * 2007-09-12 2010-09-08 财团法人工业技术研究院 键盘乐器学习装置及学习方法
US20090258703A1 (en) * 2008-04-09 2009-10-15 Aaron Philip Brunstetter Motion Assessment Using a Game Controller
CN101564594B (zh) * 2008-04-25 2012-11-07 财团法人工业技术研究院 交互式肢体动作复健方法与系统
CN101729808B (zh) * 2008-10-14 2012-03-28 Tcl集团股份有限公司 一种电视遥控方法及用该方法遥控操作电视机的系统
US8660303B2 (en) * 2009-05-01 2014-02-25 Microsoft Corporation Detection of body and props
US8418085B2 (en) * 2009-05-29 2013-04-09 Microsoft Corporation Gesture coach
US8631355B2 (en) * 2010-01-08 2014-01-14 Microsoft Corporation Assigning gesture dictionaries
WO2011106888A1 (en) * 2010-03-05 2011-09-09 Interactive Sports Technologies Inc. Apparatus and method for measuring golf club shaft flex and golf simulation system incorporating the same
US9245177B2 (en) * 2010-06-02 2016-01-26 Microsoft Technology Licensing, Llc Limiting avatar gesture display
JP5791131B2 (ja) * 2010-07-20 2015-10-07 アップル インコーポレイテッド 自然な相互作用のための相互作用的現実拡張
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
KR101078975B1 (ko) * 2011-03-22 2011-11-01 (주) 골프존 가상 골프 시뮬레이션 장치에 이용되는 센싱장치 및 센싱방법
RU2455676C2 (ru) 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
AU2011205223C1 (en) * 2011-08-09 2013-03-28 Microsoft Technology Licensing, Llc Physical interaction with virtual objects for DRM
KR20130098770A (ko) * 2012-02-28 2013-09-05 한국전자통신연구원 입체감 확장형 가상 스포츠 체험 시스템
JP2013205983A (ja) * 2012-03-27 2013-10-07 Sony Corp 情報入力装置及び情報入力方法、並びにコンピューター・プログラム
JP6439235B2 (ja) * 2012-08-10 2018-12-19 カシオ計算機株式会社 情報報知装置、情報報知方法及びプログラム
RU2533445C2 (ru) * 2012-10-02 2014-11-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Автоматическое распознавание и съемка объекта
CN103578135B (zh) * 2013-11-25 2017-01-04 恒德数字舞美科技有限公司 虚拟影像与真实场景相结合的舞台交互集成系统及实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040046736A1 (en) 1997-08-22 2004-03-11 Pryor Timothy R. Novel man machine interfaces and applications
US20100208038A1 (en) 2009-02-17 2010-08-19 Omek Interactive, Ltd. Method and system for gesture recognition
US20100281432A1 (en) 2009-05-01 2010-11-04 Kevin Geisner Show body position
US20120064498A1 (en) 2010-09-13 2012-03-15 John Swain Interactive system and method for musical instrument instruction

Also Published As

Publication number Publication date
US9911351B2 (en) 2018-03-06
CN106030457A (zh) 2016-10-12
US20150243013A1 (en) 2015-08-27
CN106030457B (zh) 2020-03-20
EP3111297A1 (en) 2017-01-04
KR20160125428A (ko) 2016-10-31
EP3111297B1 (en) 2020-03-25
WO2015130718A1 (en) 2015-09-03

Similar Documents

Publication Publication Date Title
KR102403579B1 (ko) 프로세스 중의 오브젝트 트래킹
US9338440B2 (en) User interface for three-dimensional modeling
JP5976019B2 (ja) 写実的に表されたビューのテーマベースの拡張
US11132845B2 (en) Real-world object recognition for computing device
JP6144826B2 (ja) データベース作成のための対話型および自動的3dオブジェクト走査方法
US9704295B2 (en) Construction of synthetic augmented reality environment
EP2920672B1 (en) Associating an object with a subject
US9304603B2 (en) Remote control using depth camera
JP7017689B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
EP3717990B1 (en) Real-world portals for virtual reality displays
US10019839B2 (en) Three-dimensional object scanning feedback
US9846522B2 (en) Alignable user interface
US10825217B2 (en) Image bounding shape using 3D environment representation
US20140218291A1 (en) Aligning virtual camera with real camera
US11429186B2 (en) Location-based entity selection using gaze tracking
EP3422145B1 (en) Provision of virtual reality content
US11106949B2 (en) Action classification based on manipulated object movement
US10019837B2 (en) Visualization alignment for three-dimensional scanning
US20230241518A1 (en) Methods and system for smart voice chat in multiplayer gaming

Legal Events

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