KR20150071593A - 객체 추적 기법 - Google Patents

객체 추적 기법 Download PDF

Info

Publication number
KR20150071593A
KR20150071593A KR1020130158798A KR20130158798A KR20150071593A KR 20150071593 A KR20150071593 A KR 20150071593A KR 1020130158798 A KR1020130158798 A KR 1020130158798A KR 20130158798 A KR20130158798 A KR 20130158798A KR 20150071593 A KR20150071593 A KR 20150071593A
Authority
KR
South Korea
Prior art keywords
inanimate
movable object
user
computing device
tracking
Prior art date
Application number
KR1020130158798A
Other languages
English (en)
Inventor
마이크 스카브제
제이슨 스코트
조나단 스티드
이안 맥클린타이어
아론 크라우스
다니엘 맥컬로치
스티븐 라타
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Priority to KR1020130158798A priority Critical patent/KR20150071593A/ko
Publication of KR20150071593A publication Critical patent/KR20150071593A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

객체의 자동 추적에 관한 실시예가 개시된다. 예를 들어, 개시된 일 시시예는 이미지 센서를 구비하는 모바일 컴퓨팅 디바이스를 동작시키는 방법을 제공한다. 방법은 이미지 데이터를 획득하는 단계, 이미지 데이터에서 무생물 이동가능 객체(inanimate moveable object)를 식별하는 단계, 무생물 이동가능 객체가 추적 객체인지 판단하는 단계, 무생물 이동가능 객체가 추적 객체이면 무생물 이동가능 객체의 상태에 대한 정보를 저장하는 단계, 무생물 이동가능 객체의 상태의 알림을 제공하기 위한 트리거를 검출하는 단계, 및 무생물 이동가능 객체의 상태의 알림의 출력을 제공하는 단계를 포함한다.

Description

객체 추적 기법{OBJECT TRACKING}
객체의 위치 또는 기타 상태를 추적하는 것은 일상 생활에서 상당한 양의 노력을 차지할 수 있다. 또한, 잘못 놓아둔 객체를 찾으려고 노력하는 데 많은 시간이 소비될 수 있다. 예를 들어, 잘못 놓아둔 자동차 열쇠, 지갑, 모바일 디바이스 등을 찾는 것은 사람들로 하여금 생산적인 시간을 잃게 한다. 마찬가지로, 집 냉장고 내의 우유곽이 거의 비어있다는 것을 잊어버리면, 가게로 다시 가야될 수 있는데 이는 구매자가 우유곽의 상태를 기억하고 있었다면 피할 수 있었던 것이다. 일부 예시에서, 이러한 객체는 소유자가 아닌 다른 사람에 의해 이동되거나 비워져서 추적 작업을 복잡하게 한다.
따라서, 객체의 자동 추적에 관한 다양한 실시예들이 본 명세서에 개시된다. 예를 들어, 개시된 일 실시예는 이미지 센서를 포함하는 모바일 컴퓨팅 디바이스를 동작하는 방법을 제공한다. 방법은 이미지 데이터를 획득하는 단계, 이미지 데이터에서 무생물 이동가능 객체(inanimate moveable object)를 식별하는 단계, 무생물 이동가능 객체가 추적 객체(tracked object)인지 판단하는 단계, 무생물 이동가능 객체가 추적 객체이면, 무생물 이동가능 객체의 상태에 관한 정보를 저장하는 단계를 포함한다. 방법은 무생물 이동가능 객체의 상태의 알림(notice)을 제공하기 위한 트리거(trigger)를 검출하는 단계, 무생물 이동가능 객체의 상태의 알림의 출력을 제공하는 단계를 더 포함한다.
본 요약부는 이하 상세한 설명에서 자세히 설명되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 본 요약부는 청구된 대상의 주요 특징 또는 필수적 특징을 식별하도록 의도된 것이 아닐 뿐만 아니라, 청구된 대상의 범주를 한정하는 데 사용되도록 의도된 것도 아니다. 또한, 청구된 대상은 본 명세서에 언급된 난점 중 임의의 것 또는 전부를 해결하는 구현예로 한정되는 것도 아니다.
도 1(a)는 씨스루(see-through) 디스플레이 디바이스를 통한 사용 환경을 보여주는 씨스루 디스플레이의 일 실시예의 사용자를 묘사한다.
도 1(b)는 도 1(a)의 사용자의 시각을 도시하고, 또한 씨스루 디스플레이 디바이스 상에 디스플레이되는 추적 객체 경보(tracked object alert)의 실시예를 도시한다.
도 2는 씨스루 디스플레이 디바이스 상에 디스플레이되는 추적 객체 정보의 다른 실시예를 도시한다.
도 3은 객체를 추적하도록 구성되는 씨스루 디스플레이 디바이스에 대한 사용 환경의 실시예의 블록도를 도시한다.
도 4는 씨스루 디스플레이 디바이스를 통해 객체를 추적하기 위한 실시예를 묘사하는 흐름도를 도시한다.
도 5는 컴퓨팅 디바이스의 실시예를 묘사하는 블록도를 도시한다.
전술된 것처럼, 객체의 상태(예컨대, 위치 또는 기타 물리적 상태)를 추적하고 기억하는 것은 일상 생활동안 상당한 시간의 노력을 들이게 한다. 또한, 객체의 상태를 정확하게 추적하는 것이 실패하면 시간과 생산성의 손실을 야기할 수 있다. 따라서, 본 명세서에서 개시되는 실시예들은 객체의 상태를 자동적으로 추적하는 것과 관련된다. 단순히, 사용자에 의해 착용되는 씨스루 디스플레이와 같은 모바일 디바이스는 사용자의 환경을 관찰하는 이미지 센서를 포함할 수 있다. 이미지 센서로부터의 비디오 데이터는 사용자의 환경 내의 객체를 검출하고 비디오 데이터 내의 추적 객체를 식별하도록 처리될 수 있다. 추적 객체의 상태 정보, 예컨대 위치 및 기타 특성과 같은 것은 그 후 저장될 수 있다. 이것은 사용자 요청 또는 정황적 단서(contextual clue)와 같은 경보 트리거(alert trigger)의 검출시 추적 객체의 상태에 대한 경보의 출력을 감안할 수 있다. 상태 정보는 로컬로 저장되거나 및/또는 원격 서비스에 업로드될 수 있다. 다수의 사람들이 본 명세서에서 개시된 객체 추적 장치를 이용할 경우, 각 사람은 객체 추적 정보의 공유를 통하여 다른 사용자에 의해 이루어진 객체에 대한 변화를 인지하게 될 수 있다. 이런 방식으로, 사용자는 잃어버린 열쇠의 가장 최근 위치를 발견할 수 있고, 식료품점에서의 유제품 섹션을 찾는 동안 우유를 더 사야한다는 것을 상기시킬 수 있으며, 및/또는 임의의 적합한 방식으로 다른 객체 상태 정보를 추적하고 회상할 수 있다.
도 1(a) 및 1(b)는 비한정적인 예시적 사용 시나리오를 도시한다. 먼저, 도 1(a)는 안경 형상인 헤드 장착형 씨스루 디스플레이 디바이스(100)를 착용하고, 첫 번째 시간 t1에 씨스루 디스플레이 디바이스(100)를 통해 환경(거실)을 관찰하는 사용자를 도시한다. 이하 더욱 자세히 설명되는 바와 같이, 씨스루 디스플레이 디바이스(100)는 사용자가 움직이면서 비디오 이미지를 획득하는 하나 이상의 외측을 향하는 이미지 센서(RGB 및/또는 깊이 센서)를 포함한다. 획득된 비디오 이미지는 이하 더욱 자세히 설명되는 바와 같이 사용자에 의해 추적되는 무생물 이동가능 객체를 식별하기 위해 실시간으로 또는 차후에 분석될 수 있다. 도 1(a)에서는, 추적되는 무생물 이동가능 객체의 예시적 실시예가 잡지 더미 아래의 테이블 위에 위치된 열쇠(102)로서 도시되지만, 임의의 적합한 객체가 추적될 수도 있는 것으로 이해될 것이다.
식별된 객체 데이터 및/또는 이미지 데이터는 객체에 대해 사용자에게 경보와 같은 장래의 정보를 제공하기 위해 저장될 수 있다. 예를 들어, 도 1(b)를 참조하면, 후속 시간 t2에 열쇠(102)는 신문(104)에 의해 덮여져 있다. 따라서, 열쇠의 위치에 관한 정보를 요청하는 사용자 입력에 응답하여(예컨대, 씨스루 디스플레이 디바이스(100) 상의 마이크를 통해 검출된 음성 명령), 열쇠는 씨스루 디스플레이 디바이스(100) 상에 강조(106)될 수 있다.
씨스루 디스플레이 디바이스(100)는 사용자가 관찰하거나 심지어 상호 작용하는 객체 전부에 대한 상태 정보를 추적하지는 않을 수도 있는 것으로 이해될 것이다. 예를 들어, 도 1(a)에서, 사용자에 의해 관찰되는 환경은 사용자가 추적하기를 원하지 않는 잡지(108), 화분(110), 책장 상의 책(112)과 같이 열쇠(102)와 다른 다양한 무생물 이동가능 객체를 포함한다.
이를테면, 씨스루 디스플레이 디바이스(100)는 충분히 "중요"하다고 여겨지는 객체의 상태를 추적할 수 있는데, 여기서 "중요"라는 용어는 객체를 추적되도록 지정하기 위해 충분한 내재적 및/또는 명시적 정보가 수신되었는지 여부를 나타낸다. 따라서, 무생물 이동가능 객체의 관찰된 상태에 대한 임의의 정보를 저장하기 전에, 씨스루 디스플레이 디바이스(100)는 객체가 추적 객체인지 판단할 수 있고, 만약 객체가 추적 객체라면 상태 정보를 저장할 수 있다. 씨스루 디스플레이 디바이스(100)는 객체에 배정된 "중요도 점수"를 변경하는 정보를 검출할 수도 있다. 이하 더욱 자세히 설명되는 것처럼, 이러한 중요도 점수가 하나 이상의 임계 중요도 점수와 비교되어 객체 상태 정보를 추적할 것인지 여부 및/또는 어떤 객체 상태 정보를 추적할 것인지를 판단할 수도 있다.
무생물 이동가능 객체는 임의의 적합한 방식으로 추적되도록 정의될 수 있다. 예를 들어, 추적되는 객체의 지위(status)는 미리 정의될 수도 있고(예컨대, 개발자에 의해), 사용자 정의될 수도 있으며, 및/또는 적응적으로 학습할 수도 있다. 일부 객체가 추적되는 것으로 미리 정의되는 실시예에서, 사전 정의(pre-definition)는 대부분의 사용자에게 중요하다고 여겨지는 객체의 세트, 예컨대 열쇠, 지갑, 금융 거래 카드 등과 같은 것에 적용될 수 있다. 또한, 사용자는 어떤 객체에 대한 추적을 원하지 않을 경우, 미리 정의된 중요 객체 정의에 부합하는 객체라고 하더라도 추적 객체 리스트로부터 제거하는 능력을 가질 수 있다.
객체는 추적되는 것으로 임의의 적합한 방식에 따라 지정될 수 있다. 예를 들어, 씨스루 디스플레이 디바이스(100)는 객체 지정 모드를 포함할 수 있는데, 여기서 사용자는 씨스루 디스플레이 디바이스(100) 상의 이미지 센서의 시야 내에 객체를 홀드하거나 또는 배치하고(holds or otherwise places), 객체의 이미지를 스캔하며, 그것을 추적되는 것으로 식별한다. 더욱 구체적인 예로서, 씨스루 디스플레이 디바이스(100)를 착용하는 사용자는 씨스루 디스플레이 디바이스(100) 앞에 있는 무생물 이동가능 객체(예컨대, 열쇠, 지갑, 신용/직불 카드 등)를 홀드하는 동안 "이 객체를 추적하라"와 같은 음성 명령을 사용할 수 있고, 이에 의해 씨스루 디스플레이 디바이스가 그 객체를 추적 객체로서 저장하도록 트리거링할 수 있다.
또한, 일부 실시예에서는, 사용자가 추적 객체 지정에 대해 시간 및/또는 위치 제한을 두는 것을 가능하게 할 수 있다. 예를 들어, 해외 여행을 하려는 사용자는 특정 날짜 범위 또는 특정 위치(예컨대, 집)로 돌아올 때까지 여권을 추적 객체로 지정할 수 있고, 특정 날짜, 위치 또는 다른 조건이 충족되면 추적이 자동적으로 종료되도록 할 수 있다. 또한, 사용자는 무생물 이동가능 객체의 지위를 추적되는 것에서 추적되지 않는 것으로 언제든지 변경할 수 있는 선택권을 가질 수 있다. 추적 객체의 사용자 지정을 위한 이러한 방법들은 예시적 목적으로 제시된 것이고, 사용자는 임의의 적합한 방식에 따라 추적 객체를 정의할 수 있음이 이해되어야 할 것이다.
전술된 바와 같이, 일부 실시예에서 씨스루 디스플레이 디바이스(100)는 어떤 객체를 추적할 것인지 적응적으로 학습할 수 있다. 이것은 사람으로 하여금 명시적으로 추적 객체로서 정의되어 있지는 않지만, 그 사람에게 잠재적으로 중요한 객체의 위치를 찾는 데 도움이 될 수 있다. 씨스루 디스플레이 디바이스(100)는 임의의 적합한 기준에 기초하여 무생물 이동가능 객체를 추적 객체로서 적응적으로 지정할 수 있다. 예를 들어, 씨스루 디스플레이 디바이스(100)는 객체에 대한 사용자 상호 작용 및/또는 목격의 횟수, 패턴, 및/또는 빈도에 기초하여 무생물 이동가능 객체를 추적 객체로서 지정할 수 있고, 더욱 자주 목격 및/또는 상호 작용되는 객체일수록 중요한 것일 가능성이 높은 것이 되도록 할 수 있다.
또한, 씨스루 디스플레이 디바이스(100)는 특정 위치(예컨대, 집, 사무실, 및 기타 위치), 시간, 및/또는 상황(예컨대, 출근할 준비를 갖춘 것)을 인식할 수 있고, 객체에 대한 사용자 상호 작용이 있거나 그렇지 않으면 객체가 목격되는 위치 및/또는 상황에 기초하여 무생물 이동가능 객체를 추적 객체로 지정할 것인지 여부를 판단할 수 있다. 예를 들어, 사용자의 집 책장에 위치한 객체는 가게 선반에 위치한 객체에 비해 중요한 객체일 가능성이 높을 수 있다. 다른 예시로서, 추적 객체에 근접하게 위치된 객체가 다른 객체에 비해 중요한 것일 가능성이 높을 수도 있다. 예를 들어, 사용자는 열쇠, 지갑, 및 모바일 디바이스를 테이블 상에 함께 그룹으로서 놓아둘 수 있다. 또 다른 예시로서, 다른 사람에 의해 이동되는 객체가 잠재적으로 중요한 것으로 여겨질 수도 있다.
또한, 일부 실시예에서는, 사용자가 위치 및/또는 시간을 중요하게 지정된 위치 및/또는 시간으로 지정하는 것이 가능할 수 있다. 이 방식에 따라, 지정된 위치 및/또는 시간에서 사용자와 상호 작용하는 객체는, 중요하다고 지정되지 않은 시간 및/또는 위치에 비해 중요한 것으로 여겨질 가능성이 높을 수 있다. 예시로서, 사용자는 휴가 기간 동안 여행 서류 캐리어를 중요 객체로 지정할 수 있다. 마찬가지로, 사용자가 집에서 다른 위치로 가지고 가는객체는 다른 위치로부터 기원한 객체에 비해 중요한 객체가 될 가능성이 더 높을 수 있다. 예를 들어, 레스토랑에서는, 사용자의 물잔에 비해 사용자가 코트 주머니로부터 꺼내어 테이블 위에 놓은 객체를 추적하는 것이 더 바람직할 수 있다.
또 다른 예시로서, 하루 중의 특정 시간(예컨대, 출근하러 가기 전의 아침)에 사용자가 상호 작용하는 객체는 다른 시간에 사용자가 상호 작용하는 객체에 비해 중요한 객체일 가능성이 더 높을 수도 있다. 또한, 사용자가 집이나 사무실을 떠나기 전에 열쇠, 지갑, 서류가방, 스마트 폰 등과 상호 작용할 수 있는 것처럼, 사용자 정황의 변경(예컨대, 출근하기 위해 집을 나서기 전)과 시간적으로 근접할 때 사용자가 상호 작용하는 객체가 중요한 것일 가능성이 높을 수 있다. 사용자가 변동이 심한 길이의 이벤트(예컨대, 열쇠를 찾기 전에 매일 아침 열쇠를 찾는 동안 및/또는 집을 나서는 동안 보내는 시간)에서 상호 작용하는 객체가 중요한 것으로 여겨질 가능성이 높을 수도 있다.
무생물 이동가능 객체는 임의의 적합한 방식에 따라 추적되는 것으로 적응적으로 지정될 수 있다. 예를 들어, 전술된 것처럼, 위치적, 시간적, 행동적, 및/또는 씨스루 디스플레이 디바이스의 사용자의 객체와의 상호 작용에 관련된 기타 요소에 기초하여 비디오 이미지 데이터 내의 검출되고 식별된 객체에 중요도 점수가 할당될 수 있다. 만약 중요도 점수가 임계 중요도 점수를 충족하거나 초과하면, 객체는 추적되는 것으로 지정될 수 있고, 객체의 상태에 대한 더 상세한 정보(예컨대, 가장 최근 위치, 히스토리컬 위치(historical locations), 객체의 가변적인 물리적 소유에 대한 가치 등)가 저장될 수 있다. 또한, 일부 실시예에서는, 상이한 레벨의 중요도를 정의하기 위해 상이한 임계 중요도 점수가 사용될 수 있다. 이것은 상이한 레벨의 중요도에 기초하여 객체에 대해 상이한 유형의 정보가 저장되도록 하거나, 상이한 유형의 경보가 제공되도록 하는 것 등을 허용할 수 있다.
객체와의 사용자 상호 작용 패턴은 임의의 적합한 방식으로 추적될 수 있다. 예를 들어, 사용자 행동은 시간, 위치, 수행 중인 액티비티의 유형에 대한 정황 정보 및/또는 임의의 기타 적합한 정황 정보에 기초하여 분류될 수 있다. 예시적인 사용자 행동은 식사를 하는 것, 샤워하는 것, 잃어버린 객체를 찾는 것, 출근하기 위해 운전하는 것 등을 포함한다. 시간이 흐르면서 이러한 상호 작용과 관련된 정보를 추적하고 저장하는 것에 의해, 검출된 객체와의 상호 작용 패턴이 관찰될 수 있다. 예를 들어, 매일 오후 5시에 사용자가 열쇠를 내려 놓고, 매일 아침 8시에 열쇠를 찾는다는 것이 씨스루 디스플레이 디바이스(100)을 통해 관찰될 수 있다.
경보(alerts)는 또한 관찰된 사용자 패턴에 기초하여 생성될 수 있다. 예를 들어, 열쇠와의 사용자 상호작용에 관련된 행동 패턴(a behavioral pattern)이 인식되면, 열쇠의 위치에 관한 리마인더가 매일 오전 8시 정각에 자동적으로 디스플레이될 수 있다. 이러한 패턴은, 또한, 객체의 위치가 씨스루 디스플레이를 통하여 마지막으로 관찰되고 저장된 이후 객체가 이동된 경우에, 잃어버린 객체가 어디에 있는지에 대한 추측을 형성하는데 사용될 수 있다. 잃어버린 객체를 어디서 찾을 수 있는지에 관한 제안을 제공하는 디스플레이된 알림의 예시가 객체를 찾기 위한 위치의 리스트(200)의 형태로 도 2에 도시된다. 도 2는 또는 객체가 마지막으로 어디서 목격되었는지에 관한 알림(202)을 나타낸다. 잃어버린 객체를 어디서 찾아야 하는지에 관한 알림은 어떠한 형태도 가질 수 있음이 이해될 것이다. 예를 들어, 이러한 알림은 사용자를 가능한 위치(들)로 인도하는, 살펴볼 제안된 위치를 하이라이팅 포인팅 아웃하는, 화살표 및/또는 지시선(lines to follow) 등과 같은 그래픽 인스트럭션(graphical instructions)의 형태를 가질 수 있다.
일부 실시예에서, 위치의 단일 뷰(a single view)는 다수의 사용자로 부터의 비디오 데이터 입력에 기초하여 생성될 수 있으며, 각 사용자는, 예를 들어, 비디오 데이터를 클라우드 기반 서비스(a cloud-based service)에 업로드한다. 이는 한 사용자의 비디오 스트림에서 목격된 객체가 다른 사용자의 비디오 스트림에서 목격된 객체와 서로 상관되도록 할 수 있으며, 따라서 객체가 다른 사용자에 의하여 이동되더라도 객체가 추적될 수 있게 한다. 또한, 다수의 사용자가 비디오 데이터 대신에 추적 객체 데이터를 업로드 할 수 있도록 (예를 들면, 다수의 디바이스가 같은 객체에 대하여 로컬 인식을 수행할 수 있도록), 객체 메타데이터가 사용자들에 걸쳐 공유될 수 있다.
위에서 언급되었듯이, 위치에 더하여, 객체의 다른 상태(states)가 이해되고 모니터링 될 수 있다. 비제한적 예시로서, 밀크 카톤(a milk carton)내 밀크의 레벨이 모니터링 될 수 있다. 유사하게 냉장고 내 내용물의 리스트가 시간에 걸쳐 모니터링 될 수 있고, 평상시 존재하는 아이템의 부재가 주목될 수 있다. 이러한 관찰된 상태에 기초하여, 경보가 정황 트리거(a contextual trigger)에 의하여 생성될 수 있다. 예를 들어, 비어 있는 밀크 카톤이 관찰된 경우, 사용자가 식료품 가게의 밀크 섹션을 걸어갈 때, 시각적 오버레이(a visual overlay), 자동 생성된 쇼핑 리스트, 및/또는 음성 리마인더(a verbal reminder)가 생성될 수 있다. 식료품 가게의 밀크 섹션에서의 정황 트리거는 임의의 적합한 방식으로 이해될 수 있고, 이러한 방식은 식료품 가게 또는 밀크 제조자에 의한 특별한 타입/브랜드의 주석 또는 태깅에 의한 것, 밀크 섹션에서 관찰된 객체의 외관, 크기 및 또는 다른 물리적 및/또는 정황적 특성(physical and/or contextual characteristics)을 추적 밀크 객체의 특성과 매칭시키는 것 등을 포함하되 이에 제한되지 않는다. 또한, 밀크 카톤의 충만 상태(fullness state)에 비한 사용자 쇼핑 패턴이 시간에 걸쳐 관찰됨에 따라 (즉, 밀크 카톤의 상태가 비어 있음(empty)이거나 거의 비어 있음일 때 사용자가 밀크를 지속적으로 더 구매함), 밀크 카톤의 충만 상태는 시간에 걸쳐 추적 객체 상태로서 적응적으로 학습될 수 있다.
도 3은 무생물 이동가능 객체(inanimate moveable objects)의 자동화된 추적을 위한 사용 환경(300)의 블록도를 나타낸다. 사용 환경(300)은, 컴퓨터 네트워크와 같이 네트워크(307)를 통하여 원격 객체 추적 서비스(306)와 통신하는 객체 추적 디바이스1 (302) 및 객체 추적 디바이스N(304)으로 도시된, 임의의 개수(N)의 객체 추적 디바이스를 나타낸다. 객체 추적 디바이스는, 도 1의 씨스루 디스플레이 디바이스(100)를 포함하나 이에 제한되지 않는 임의의 적합한 형태를 가질 수 있음이 이해될 것이다. 또한, 일부 실시예에서는 원격 객체 추적 서비스가 생략될 수 있음이 이해될 것이다.
객체 추적 장치(302)는 하나 이상의 센서(308)를 포함한다. 센서(308)는, 2차원 이미지 센서(들)(310) 및/또는 깊이 센서(들)(312)와 같은 이미지 센서를 포함할 수 있고, 이는 사용자의 로컬 환경의 비디오 데이터를 수집한다. 임의의 적합한 타입 및 개수의 2차원 이비지 센서(310) 및/또는 깊이 센서(320)가 포함될 수 있다. 적합한 2차원 이미지 센서의 예는 RGB 및 그레이스케일 센서를 포함한다. 적합한 깊이 센서의 예는 TOF(time-of-flight) 센서, 구조 광센서(structured light sensors) 및 스테레오 깊이 센서를 포함한다. 임의의 다른 적합한 센서가 포함될 수 있음이 이해될 것이다. 예시는 마이크로폰, 위성 항법 장치(global positioning system; GPS) 센서, 모션 센서, 아이 모션(eye motion)을 검출하기 위한 내향 이미지 센서(inward-facing image sensors) 등을 포함하나 이에 제한되지 않는다.
이미지 센서를 통하여 수집된 이미지 데이터는 객체 인식 및 추적 모듈(an object recognition and tracking module)(314)로 제공되며, 이는 이미지 센서에 의하여 이미징된 객체를 식별하고 객체에 관한 상태 정보를 검출한다. 객체 인식 및 추적 모듈(314)은, 아래에서 더 상세히 설명되는 바와 같이 객체 상태에 기초하여, 디스플레이(318) (예를 들어, 씨스루 디스플레이, 또는 임의의 적합한 디스플레이) 및/또는 하나 이상의 스피커(320)와 같은, 하나 이상의 출력(316)으로 경보를 더 제공한다. 객체 인식 및 추적 모듈(314)은, 개발자에 의하여 사전 훈련된 분류 기능(classification functions), 및/또는 사용자-특정 객체(user-specified objects)를 인식하도록 사용자에 의하여 훈련된 분류 기능을 포함하나 이에 제한되지 않는 임의의 적합한 방법을 통하여 객체를 식별할 수 있고, 여기서 분류 기능은 관찰된 객체를 객체 모델(315)과 비교 및/또는 피팅(fit)한다. 객체 인식 및 추적 모듈(314)은 또한 이미지 데이터 내 식별된 객체에 대응하는 객체 식별(object identifications)을 객체 정보 스토어(322)에 출력한다. 또한, 새로운 객체(즉, 이전에 검출된 적이 없는 객체)가 검출되는 경우, 객체 인식 및 추적 모듈(314)는 객체에 식별을 할당할 수 있다.
객체 정보 스토어(322)는, 추적 객체의 아이덴티티 및 상태 정보를 포함하나 이에 제한되지 않는, 추적 객체 데이터(324)를 저장하도록 구성된다. 사용자의 패턴을 학습하고 객체를 추적되는 것으로 자동적으로 지정하는 실시예에서, 객체 정보 스토어(322)는 추적되지 않은 객체 데이터(untracked object data)(326)를 또한 저장할 수 있으며, 여기서 “추적되지 않은(untracked)”이라는 용어는 그러한 객체에 대하여 상태 정보가 저장되지 않음을 나타낸다. 추적되지 않은 객체 데이터(326)는, 객체1(328) 및 객체N(332)로 도시된 바와 같은 복수의 추적되지 않은 객체에 대한 정보를 저장하는 것으로서 도시된다. 임의의 적합한 추적되지 않은 객체 데이터가 저장될 수 있다. 예를 들어, 중요도 점수 정보(330)각 각각의 추적되지 않은 객체에 대하여 저장될 수 있으며, 중요도 점수 정보(330)는 객체와의 사용자 상호작용에 기초하여 인식된 객체에 할당될 수 있고 또한 객체의 상태를 추적할지 여부를 결정하기 위하여 사용될 수 있다. 중요도 점수가 임계 중요도 점수를 초과할 때, 객체는 추적 객체로서 지정되고 객체에 대하여 상태 정보가 저장된다.
추적 객체 데이터(324)는 임의의 적합한 개수 및 타입의 추적 객체를 위해 저장된 임의의 적합한 데이터를 포함할 수 있다. 도 3에서, 복수의 추적 객체가 추적 객체1(336) 및 추적 객체N(337)으로 표시된다. 다양한 상태 데이터(338)가 또한 추적 객체1에 대하여 도시된다. 예를 들어, 가장 최근 위치 및/또는 과거 위치를 포함하나 이에 제한되지 않는, 위치 정보(340)가 저장될 수 있다. 이러한 위치 정보는 객체와의 과거 사용자 상호작용을 포함할 수 있다. 이는 예를 들어 잃어버린 객체의 위치를 찾는 것을 돕기 위한 사용자 패턴의 분석을 가능하게 한다. 임의의 적합한 위치 정보가 저장될 수 있다. 예로서 현재 사용 환경의 물리적 위치(예를 들어, GPS 좌표)에 관한 위치 정보 및/또는 정황 위치 데이터(예를 들어, 다른 추적/인식 객체에 상대적인 위치)가 포함된다.
또한, 객체의 가변 속성(a variable property)의 값(342)에 관한 정보가 저장될 수 있다. 예를 들어, 상술한 바와 같이, 냉장고 내 특별한 음식 아이템의 부재, 밀크 카톤 내 밀크의 레벨, 및/또는 객체의 가변 속성에 관련된 다른 임의의 적합한 값이 저장될 수 있다. 상태 정보의 이러한 특별한 타입은 예시의 목적으로 설명된 것이며, 임의의 다른 적합한 상 정보가 저장될 수 있음이 이해될 것이다.
상태 정보와 다른 정보 또한 객체에 대하여 저장될 수 있다. 예를 들어, 추적되는 객체를 적응적으로 학습하고 지정하는 실시예에서, 추적되는 것으로 객체의 지정을 유지할 것인지 여부를 결정하기 위하여 중요도 점수 데이터(344)가 저장될 수 있다. 예를 들어, 사용자가 잃어버리지 않은 객체와의 상호작용을 멈추었을 경우에, 그 객체에 대한 시간에 걸친 점수는 감소하고 객체가 추적되는 것이 중지될 수 있다. 또한, 경보 조건(alert conditions)(346)이 또한 저장될 수 있고, 여기서 경보 조건은, 제공될 경보의 유형 뿐만 아니라, 특정된 객체에 대하여 언제 경보가 트리거되어야 하는지 또한 정의한다.
추가적으로, 정황 데이터(contextual data)(350)는 객체에 대한 중요도 정보의 결정을 돕기 위한 객체 정보로서 저장될 수 있다. 예를 들어, 정황 데이터(350)는 위치(352), 시간(354), 및/또는 다른 정황 정보를 객체에 중요도 점수를 할당하기 위한 목적으로 “중요함(important)"으로 정의할 수 있다. 위치(352)의 예는 실제 물리적 위치(actual physical locations), 다른 추적 객체에 대한 근접도에 관한 정황 규칙(contextual rules), 및 다른 그러한 위치 데이터를 포함한다. 시간(354)의 예는 시계/달력 시간(clock/calendar times), 및/또는 예컨대, 위치상 변화(예를 들어, 객체와의 상호작용과 집을 떠난 것 사이의 시간)와 같은 관찰된 객체 상호작용들 및 다른 이벤트들 사이의 시간 간격에 관한 정황 규칙을 포함한다. 정황 정보(350)는 객체에 대하여 중요도 점수를 계산함에 있어서 어떻게 위지 시간 및 다른 정황 정보를 적용할 것인지에 관한 정황 규칙을 또한 포함할 수 있다.
일부 실시예에서, 객체에 대한 이미지 데이터의 분석은 실시간이 아니라 추후 시점에 수행될 수 있다. 이처럼, 객체 정보 스토어(322)는 객체 인식 및 추적 모듈(314)에 의하여 프로세싱되지 않은 이미지 데이터(355)를 포함할 수 있다. 이러한 실시예에서, 저장된 이미지 데이터(355) 내 관련 이미지 데이터의 위치를 찾음으로써 이미지 데이터 내 객체의 위치를 찾기 위하여 사용자가 객체에 대한 정보를 요청할 때, 이미지 분석이 수행될 수 있다. 관련 이미지 데이터의 위치를 찾는 것을 보조하기 위하여, 위치(예를 들어 GPS 데이터) 및/또는 이미지 데이터가 획득된 시간과 같은 다양한 메타데이터가 이미지 데이터와 함께 저장될 수 있다.
일부 실시예에서, 객체 추적 및 저장은 객체 추적 디바이스(302)에서 로컬로 수행될 수 있다. 다른 실시예에서, 위에서 언급한 바와 같이, 객체 추적 디바이스(302)는 원격 객체 추적 서비스(306)와 네트워크를 통하여 통신할 수 있다. 이는 사용자들 사이에 객체 데이터 및 이미지 데이터가 공유되도록 한다. 원격 객체 추적 서비스(306)는, 객체 추적 디바이스(302)에 관하여 상술한 바와 같은, 객체 인식, 추적, 및 경보 생성 기능 중 임의의 것을 수행할 수 있다. 또한, 사용자로부터 수신된 정보는 사용자 정보 스토어(356)에 저장될 수 있고, 이는 사용자1(358) 및 사용자N(359)로 표현된 복수의 사용자에 대하여 정보를 저장하는 것으로 도시된다. 객체 데이터(360) (예를 들어, 추적된 및 추적되지 않은 객체 정보), 이미지 데이터(362) (예를 들어, 포인트 클라우드 깊이 데이터 및/또는 2차원 이미지 데이터), 및 정황 데이터(364) (예를 들어, 사용자와 상호작용하는 객체를 추적할 것인지 여부를 결정하기 위하여 사용되는 장소/시간/다른 정황들)을 포함하나 이에 제한되지 않는 임의의 적합한 정보가 저장될 수 있다. 또한, 사용자 데이터는, 객체 데이터, 이미지 데이터, 및/또는 다른 정보를 함께 공유하는 신뢰하는 다른 사용자(trusted other users)(366)에 관한 정보를 또한 포함할 수 있다. 예를 들어, 사용자는 잃어버린 객체의 검출하는데 도움이 되기 위하여 다른 패밀리 맴버의 이미지 데이터에 액세스하기를 원할 수 있다. 좀더 구체적인 예시로서, 사용자의 배우자가 사용자의 열쇠를 테이블에서 서랍으로 이동시킨 경우에, 열쇠의 위치를 찾는 것을 돕기 위해 배우자의 객체 및/또는 이미지 데이터는 사용자의 객체 및/또는 이미지 데이터에 따라 검색될 수 있다.
도 4는 씨스루 디스플레이 디바이스를 통하여 객체를 추적하기 한 방법(400)의 실시예를 나타내는 흐름도이다. 방법(400)은, 도면 부호 402에서, 이미지 센서로부터 씨스루 디스플레이 시스템을 통하여 관찰가능한(viewable) 배경 장면의 이미지 데이터를 수신하며, 여기서 “배경 장면(background scene)”이라는 용어는 사용자에 대해 상대적으로 씨스루 디스플레이 뒤쪽에 위치한 시야(field of view) 현실 장면을 의미한다. 2차원 비디오 데이터(404)(RGB 및/또는 그레이스케일) 및 깊이 데이터(406)을 포함하나 이에 제한되지 않는 임의의 적합한 이미지 데이터가 획득될 수 있다.
방법(400)은 다음으로, 도면 부호 408에서, 실시간 또는 트리거(예를 들어, 객체의 위치를 찾으라는 사용자 요청, 정황 트리거, 등)를 수신하는 추후 시점에, 무생물 이동가능 객체를 이미지 데이터에서 식별하는 것을 포함하고, 도면 부호 410에서, 검출된 무생물 이동가능 객체가 추적 객체인지 여부를 결정하는 것을 포함한다. 위에서 설명된 바와 같이, 무생물 이동가능 객체는, 이동가능 객체를 객체 모델과 비교하는 분류 방법을 포함하나 이에 제한되니 않는 임의의 적합한 방식으로 식별될 수 있다.
유사하게, 위에서 설명한 바와 같이, 무생물 이동가능 객체는 임의의 적합한 방식으로 추적되는 것으로 정의될 수 있다. 예를 들어, 도면 부호 412에 표시된 것처럼, 사용자는 (음성, 제스처, 및/또는 다른 적합한 사용자 입력)을 통하여 객체가 추적되는 것으로 지정되도록 요청할 수 있고, 객체의 이미지를 스캔할 수 있다. 추가적으로, 씨스루 디스플레이 디바이스의 개발자 및/또는 제조자에 의하여 일부 객체는 중요한 것으로 지정될 수 있다.
또한, 도면 부호 414에 표시된 것처럼, 객체와의 사용자 상호작용에 기초하여 할당된 점수(“중요도 점수”)가 임계 중요도 점수를 만족하는 경우에, 무생물 이동가능 객체는 추적하는 것으로 지정될 수 있다. 임의의 적합한 팩터 또는 팩터의 조합이 그러한 점수를 결정하는데 사용될 수 있다. 예를 들어, 도면 부호 416에 표시된 것처럼, 중요도 점수는 개수, 빈도, 및/또는 시간에 걸친 객체와의 사용자 상호작용의 패턴에 적어도 부분적으로 기초하여 결정될 수 있다. 또한, 도면 부호 418에 표시된 것처럼, 위치 정보는 중요도 점수를 결정하는데 사용될 수 있다. 이러한 위치 정보는, 도면 부호 420에 표시된 것처럼, 객체가 중요한 것으로 지정된 위치에 존재하는지 여부, 및/또는 도면 부호 422에 표시된 것처럼, 객체가 다른 추적 객체에 충분히 가까이 근접하여 있는지 여부를 포함하되 이에 제한되지 않는 정보를 포함할 수 있다.
또한, 중요도 점수는 도면 부호 424로 표시된 것처럼 사용자 상호작용이 발생한 시간에 적어도 부분적으로 기초하여 할당될 수 있다. 해당 시간은 지정된 중요 시간(426), 객체와의 사용자 상호작용과 사용자 정황 또는 다른 눈에 띄는 이벤트 내의 변경 사이의 일시적 근접도, 및/또는 다른 임의의 적절한 일시적 요소들을 포함할 수 있다. 위치 및/또는 시간은 적응 학습을 통하여 사용자, 개발자 및/또는 제조자에 의해 임의의 방식에 의해 중요하다고 지정될 수 있으나, 이에 대해 한정하지는 않는다. 또한, 중요도 점수가 임의의 다른 적절한 방식으로 할당될 수도 있다. 예를 들어, 몇 실시예들에서, 사용자는 객체에 중요도 점수를 할당할 수 있다. 이러한 실시예들에서, 사용자 할당 점수는 영구적으로 할당된 것이거나, 객체와의 상호작용에 기초하여 이후 변경될 수 있는 최초 값이 될 수 있다. 유사하게, 다른 실시예들에서, 애플리케이션은 위치 및/또는 시간이 아닌 다른 임의의 적절한 요소들에 기초하여 중요도 점수를 선택할 수 있다.
만약 무생물 이동가능 객체가 추적 객체로 판정되면, 방법(400)은 객체의 상태에 관한 정보를 저장하는 단계(430)를 포함한다. 저장된 상태 정보는 위치 정보 및/또는 객체의 가변 물리적 속성(variable physical property)의 값에 대한 정보를 포함할 수 있으나, 이에 대해 한정하지는 않는다. 또한, 상태 정보는 도면 부호 432에 표시된 것처럼 로컬로 저장되거나 및/또는 도면 부호 434로 표시된 것처럼 원격 저장소에 원격 서비스를 위해 전송될 수 있다.
다음으로, 방법(400)은 단계(436)에서 추적 객체의 상태에 대한 알림의 출력을 제공하라는 트리거(trigger)를 검출한다. 임의의 적절한 트리거가 사용될 수 있다. 예를 들어, 도면 부호 438로 표시된 것처럼, 트리거는 잃어버린 객체를 찾기 위한 요청과 같이 객체의 상태에 관한 정보를 요청하는 사용자 입력을 포함할 수 있다. 또한, 도면 부호 440으로 표시된 것처럼, 트리거는 객체의 가변 물리적 속성의 검출된 값이 임계 조건을 충족하는 것을 포함할 수 있다. 또 다른 예로써, 도면 부호 442로 표시된 것처럼, 트리거는 검출된 시간, 위치, 및/또는 추적 객체와 정황적으로 연관된 다른 객체를 포함할 수 있다. 예를 들어, 사용자가 식료품점의 유제품 섹션에서 걸어나오는 것에 대한 검출은, 만약 사용자의 냉장고에 우유가 없거나 적은 레벨의 양만 있다는 것이 이전에 검출된 경우 우유를 사라는 리마인더의 알림의 출력을 트리거할 수 있다. 유사하게, 사용자가 집이 아닌 다른 위치에 있는 경우, 트리거의 검출은 사용자가 개인 아이템으로부터 미리 지정된 거리를 이동하였다는 것을 검출하는 것을 포함할 수 있다. 보다 구체적인 예로써, 트리거는 사용자가 식당 내에 지갑을 두고 테이블로부터 걸어나오거나 빌딩의 외부로 걸어나오는 경우 검출될 수 있다. 전술한 트리거가 예시의 목적으로 제시되었을 뿐, 어떠한 방식으로든 한정을 하기 위한 의도를 가지지 않음이 이해되어야 할 것이다.
트리거가 검출되면, 방법(400)은 단계(444)에서 객체의 상태의 알림의 출력을 제공한다. 오디오(446) 및/또는 시각적 출력(448)을 포함하여, 임의의 적절한 출력이 제공될 수 있다. 적절한 시각적 출력의 예는 도 1과 관련하여 전술한 것과 같이 씨스루 디스플레이 디바이스를 이용한 증대된 현실 이미지(augmented reality imagery)를 포함하지만, 이에 대해 한정하지는 않는다. 또한, 상태에 관한 정보는 로컬 저장소로부터 획득되거나 원격 서비스로부터 획득될 수 있다. 정보가 원격 서비스로부터 획득되는 경우, 정보는 전술한 것과 같이 사용자의 계정이나 다른 신뢰된 사용자의 계정으로부터 획득되거나, 다른 임의의 적절한 소스로부터 획득될 수 있다.
알림은 임의의 적절한 정보를 포함할 수 있다. 예를 들어, 도면 부호 450으로 표시된 것처럼, 알림은 사용자에게 객체의 가장 최근 저장 위치를 알릴 수 있다. 보다 구체적인 예로써, 알림은 백그라운드 장면 내의 객체의 물리적 위치를 강조하거나 및/또는 사용자를 가장 최근의 위치로 인도하기 위한 방향들(화살표, 라인, 텍스트 등)을 포함할 수 있다. 또한, 알림은 사용자가 공공 장소에 객체를 놔두고 왔다는 경보를 포함할 수 있다. 또한, 알림은 객체의 가변 물리적 속성의 검출된 값에 관한 정보를 포함할 수 있다. 예를 들어, 만약 우유통이 빈 공간(emptiness)의 임계 상태를 충족하면, 알림은 우유를 더 사라는 리마인더 및/또는 우유의 온라인 구매를 실행하기 위한 옵션을 포함할 수 있다.
또한, 몇 실시예들에서, 알림은 찾길 원하는 객체의 이미지를 포함할 수 있다. 이것은 특정 객체의 유사해 보이는 가변물(variant)이 존재하는 경우 객체를 찾는데 도움이 될 수 있다. 예를 들어, 사용자가 키(key)의 세트를 찾고 있고, 디스플레이 디바이스가 유사해 보이는 키들의 세트 네 개에 대한 정보를 가진다면, 디스플레이 디바이스는 네 개 세트의 키들의 이미지를 보여주고 사용자로 하여금 찾고 있는 세트를 선택하게 할 수 있다. 또한, 객체의 현재 설정에 대한 이미지가 디스플레이될 수 있다. 예를 들어, 만약 찾고 있는 키들의 세트가 현재 나이트 스탠드(nightstand) 상에 잇는 경우, 디스플레이 디바이스는 나이트 스탠드 상에 있는 키들의 이미지를 디스플레이하여 사용자가 키들의 실제 위치를 보도록 할 수 있다.
이러한 방식으로, 객체들의 상태는 사용자를 위해 자동으로 추적될 수 있으며, 이에 따라 잃어버린 객체들을 찾는 것 및/또는 임의의 다른 적절한 객체 상태를 추적하는 것이 용이해진다. 몇 실시예들에서, 전술한 방법 및 프로세스는 하나 이상의 컴퓨터를 포함하는 컴퓨터 시스템에 맞춰진 것일 수 있다. 구체적으로, 본 명세서에서 설명된 방법 및 프로세스는 컴퓨터 애플리케이션, 컴퓨터 서비스, 컴퓨터 API, 컴퓨터 라이브러리, 및/또는 다른 컴퓨터 프로그램 제품으로서 구현 가능하다.
도 5는 전술한 방법 및 프로세스 중 하나 이상을 수행 가능한 비제한적인 컴퓨팅 시스템(500)을 대략적으로 도시한다. 컴퓨팅 시스템(500)은 단순화된 형태로 도시된다. 본 발명에서 벗어나지 않는 범위에서 가상적으로 임의의 컴퓨터 아키텍처가 사용될 수 있음이 이해되어야 할 것이다. 다른 실시예들에서, 컴퓨팅 시스템(500)은 본 명세서에서 도 1 내지 도 4를 참조하여 설명한 씨스루 디스플레이 및 다른 컴퓨팅 디바이스를 포함하여 메인프레임 컴퓨터, 서버 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 홈 엔터테인먼트 컴퓨터, 네트워크 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 씨스루 디스플레이 디바이스, 니어-아이(near eye) 디스플레이 디바이스, 게임 디바이스 등의 형태를 가질 수 있지만, 이에 대해 한정하지는 않는다.
컴퓨팅 시스템(500)은 로직 서브시스템(502) 및 데이터 홀딩(data-holding) 서브시스템(504)을 포함한다. 컴퓨팅 시스템(500)은 디스플레이 서브시스템(508), 통신 서브시스템(506), 및/또는 도 5에 도시되지 않은 다른 컴포넌트를 선택적으로 포함할 수 있다. 또한, 컴퓨팅 시스템(500)은 키보드, 마우스, 게임 컨트롤러, 카메라, 마이크로폰, 및/또는 터치 스크린 등과 같은 사용자 입력 장치를 선택적으로 포함할 수도 있다.
로직 서브시스템(502)은 하나 이상의 인스트럭션을 실행하기 위해 구성된 하나 이상의 물리적 디바이스를 포함할 수 있다. 예를 들어, 로직 서브시스템은 하나 이상의 애플리케이션, 서비스, 프로그램, 루틴, 라이브러리, 객체, 컴포넌트, 데이터 구조 또는 다른 로직 설계물의 일부인 하나 이상의 인스트럭션을 실행하도록 구성될 수 있다. 이러한 인스트럭션은 작업의 실행, 데이터 유형의 구현, 하나 이상의 디바이스의 상태의 변환, 도는 원하는 결과를 도출하기 위해 구현 가능하다.
로직 서브시스템은 소프트웨어 인스트럭션을 실행하기 위해 구성된 하나 이상의 프로세서를 포함할 수 있다. 추가적으로 또는 대체적으로, 로직 서브시스템은 하드웨어 또는 펌웨어 인스트럭션을 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 로직 머신을 포함할 수 있다. 로직 서브시스템의 프로세서는 단일 코어 또는 멀티 코어일 수 있으며, 여기서 실행되는 프로그램은 병렬 또는 분산 프로세싱을 위해 구성될 수 있다. 로직 서브시스템은 원격에 위치하거나 및/또는 공동 프로세싱을 위해 구성된 둘 이상의 디바이스에 걸쳐 분산된 개별 컴포넌트를 선택적으로 포함할 수 있다. 로직 서브시스템의 하나 이상의 예는 클라우드 컴퓨팅 구성을 구성하는 원격 액세스 가능한 네트워크 컴퓨팅 디바이스에 의해 가상화되고 실행될 수 있다.
데이터 홀딩 서브시스템(504)은 본 명세서에서 설명된 방법 및 프로세스를 구현하기 위해 로직 서브시스템에 의해 실행 가능한 데이터 및/또는 인스트럭션을 홀딩하기 위해 구성된 하나 이상의 물리적, 비일시적 디바이스들을 포함할 수 있다. 이러한 방법 및 프로세스가 구현되면, 데이터 홀딩 서브시스템(504)의 상태가 (예를 들어, 다른 데이터를 홀딩하도록) 변환될 수 있다.
데이터 홀딩 서브시스템(504)은 제거가능한 매체 및/또는 빌트인(built-in) 디바이스를 포함할 수 있다. 데이터 홀딩 서브시스템(504)은 광학 메모리 디바이스(예: CD, DVD, HD-DVD, Blu-Ray Disc 등), 반도체 메모리 디바이스(예: RAM, EPROM, EEPROM 등), 및/또는 자기 메모리 디바이스(예: 하드디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등) 등을 포함할 수 있다. 데이터 홀딩 서브시스템(504)은 휘발성, 비휘발성, 동적, 정적, 판독/기입(read/write), 판독 온리(read-only), 랜덤 액세스, 시퀀셜 액세스(sequential access), 위치 어드레서블(location addressable), 파일 어드레서블, 및 컨텐츠 어드레서블의 특성 중 하나 이상의 특성을 갖는 디바이스를 포함할 수 있다. 몇 실시예들에서, 로직 서브시스템(502) 및 데이터 홀딩 서브시스템(504)은 애플리케이션 특화된 집적 회로 또는 시스템 온 칩(SoC)와 같은 하나 이상의 공통 디바이스로 통합 가능하다.
또한, 도 5는 데이터 홀딩 서브시스템의 예를 본 명세서에서 설명된 방법 및 프로세스를 구현하기 위해 실행 가능한 데이터 및/또는 인스트럭션을 저장 및/또는 전송하기 위해 사용될 수 있는 제거 가능한 컴퓨터 판독가능 저장 매체(510)의 형태로 도시한다. 제거 가능한 컴퓨터 판독가능 저장 매체(510)는 CD, DVD, HD-DVD, Blu-Ray Disc, EEPROM 및/또는 플로피 디스크 등의 형태를 가질 수 있다.
데이터 홀딩 서브시스템(504)이 하나 이상의 물리적, 비일시적 디바이스를 포함한다는 것이 이해되어야 할 것이다. 이와 반대로, 몇 실시예들에서 여기서 설명된 인스트럭션의 예는 한정된 기간 동안에도 적어도 물리적 디바이스에 의해 홀딩되지 않는 순수 신호에 의해 전송을 위해 전파될 수 있다(예를 들어, 전자기적 신호, 광학 신호 등). 또한, 본 발명에 관한 데이터 및/또는 정보의 다른 형태는 순수 신호에 의해 전파될 수 있다.
"모듈" 및 "프로그램"이라는 용어는 하나 이상의 특정 기능을 실행하기 위해 구현되는 컴퓨팅 시스템(500)의 예들을 설명하기 위해 사용될 수 있다. 몇 가지 경우에 있어서, 이러한 모듈 및/또는 프로그램은 데이터 홀딩 서브시스템(504)에 의해 홀딩되는 인스트럭션을 실행하는 로직 서브시스템(502)을 통해 인스턴스화될 수 있다. 상이한 모듈 및/또는 프로그램이 동일한 애플리케이션, 서비스, 코드 블록, 객체, 라이브러리, 루틴, API, 함수 등으로부터 인스턴스화될 수 있음이 이해되어야 할 것이다. 유사하게, 동일한 모듈 및/또는 프로그램은 상이한 애플리케이션, 서비스, 코드 블록, 객체, 라이브러리, 루틴, API, 함수 등에 의해 인스턴스화될 수도 있다. "모듈" 및 "프로그램"이라는 용어는 실행가능한 파일, 데이터 파일, 라이브러리, 드라이버, 스크립트, 데이터베이스 기록 등의 그룹 또는 각자를 포괄하는 의미를 가진다.
본 명세서에서 사용된 "서비스"는, 복수의 사용자 세션에 걸쳐 실행 가능한 애플리케이션 프로그램일 수 있으며, 하나 이상의 시스템 컴포넌트, 프로그램 및/또는 다른 서비스에 사용 가능할 수 있다. 몇 구현 예에서, 서비스는 클라이언트로부터의 요청에 응답하는 서버 상에서 동작할 수 있다.
디스플레이 서브시스템(508)은 데이터 홀딩 서브시스템(504)에 의해 홀딩된 데이터의 시각적 표현을 제시하기 위해 사용될 수 있다. 본 명세서에서 설명된 방법 및 프로세스는 데이터 홀딩 서브시스템에 의해 홀딩된 데이터를 변경하며, 따라서 데이터 홀딩 서브시스템의 상태를 변환하기 때문에, 디스플레이 서브시스템(508)의 상태도 마찬가지로 변환되어 바탕이 되는 데이터의 변경을 시각적으로 나타낼 수 있다. 디스플레이 서브시스템(508)은 씨스루 디스플레이 기술을 포함하는 가상적으로 임의의 유형의 기술을 사용하는 하나 이상의 디스플레이 디바이스를 포함할 수 있다. 이러한 디스플레이 디바이스는 로직 서브시스템(502) 및/또는 데이터 홀딩 서브시스템(504)과 공유된 통합체(enclosure)로서 조합되거나, 이러한 디스플레이 디바이스가 주변 디스플레이 디바이스일 수도 있다.
통신 서브시스템(506)은, 포함된 경우, 하나 이상의 다른 컴퓨팅 디바이스와 컴퓨팅 시스템(500)을 통신 가능하게 연결하기 위해 구성될 수 있다. 통신 서브시스템(506)은 하나 이상의 상이한 통신 프로토콜과 호환 가능한 유선 및/또는 무선 통신 디바이스를 포함할 수 있다. 비제한적인 예로써, 통신 서브시스템은 무선 전화 네트워크, 무선 로컬 영역 네트워크, 유선 로컬 영역 네트워크, 무선 광역 네트워크, 유선 광역 네트워크 등을 통해 통신하도록 구성될 수 있다. 몇 실시예에서, 통신 서브시스템은 컴퓨팅 시스템(500)이 인터넷과 같은 네트워크를 통해 다른 장치로 또는 다른 장치로부터 메시지를 전송 및/또는 수신하도록 할 수 있다.
본 명세서에서 설명된 구성 및/또는 접근 방법이 예시적인 것이며, 이와 같은 특정 실시예들 또는 예시들이 한정을 위한 것이 아니고 다양한 변경이 가능하다는 것이 이해되어야 할 것이다. 본 명세서에서 설명된 특정 루틴 또는 방법은 임의의 수의 프로세싱 전략 중 하나 이상을 나타낼 수 있다. 따라서, 다양한 동작들이 설명된 순서로, 다른 순서로, 병렬적으로 또는 몇 가지가 누락된 채로 실행될 수 있다. 유사하게, 전술한 프로세스의 순서도 변경 가능하다.
본 발명의 청구 대상은 다양한 프로세스, 시스템 및 구성의 신규하고 비자명한 조합 및 서브 조합을 모두 포함하며, 본 명세서에 기재된 다른 특징, 기능, 동작 및/또는 속성과 이들의 임의의 및 모든 균등물을 포함한다.

Claims (10)

  1. 모바일 컴퓨팅 디바이스를 동작시키는 방법으로서, 상기 컴퓨팅 디바이스는 이미지 센서를 포함하고, 상기 방법은,
    이미지 데이터를 획득하는 단계;
    상기 이미지 데이터에서 무생물 이동가능 객체(inanimate moveable object)를 식별하는 단계;
    상기 무생물 이동가능 객체가 추적 객체(tracked object)인지 판단하는 단계;
    상기 무생물 이동가능 객체가 추적 객체이면, 상기 무생물 이동가능 객체의 상태에 관한 정보를 저장하는 단계;
    상기 무생물 이동가능 객체의 상기 상태의 알림(notice)을 제공하기 위한 트리거(trigger)를 검출하는 단계; 및
    상기 무생물 이동가능 객체의 상기 상태의 상기 알림의 출력을 제공하는 단계를 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  2. 제 1 항에 있어서,
    상기 무생물 이동가능 객체의 상기 상태에 관한 정보를 저장하는 단계에 앞서 상기 무생물 이동가능 객체가 추적 객체인지 판단하는 단계를 더 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  3. 제 2 항에 있어서,
    상기 무생물 이동가능 객체를 추적 객체로 할당하는 그리고/또는 상기 무생물 이동가능 객체에 사용자-선택 중요도 점수를 할당하는 사용자 입력을 수신하는 단계를 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  4. 제 2 항에 있어서,
    상기 무생물 이동가능 객체와의 사용자 상호작용에 기초하여 상기 무생물 이동가능 객체에 중요도 점수를 할당하는 단계와, 임계 중요도 점수를 만족하는 상기 중요도 점수에 기초하여 상기 무생물 이동가능 객체를 추적 객체로 지정하는 단계를 더 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  5. 제 4 항에 있어서,
    상기 중요도 점수는 상기 무생물 이동가능 객체와의 사용자 상호작용의 수에 적어도 부분적으로 기초하여 할당되는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  6. 제 4 항에 있어서,
    상기 중요도 점수는 상기 무생물 이동가능 객체의 위치 및 상기 무생물 이동가능 객체와 사용자 상호작용이 발생한 시간의 하나 이상에 적어도 부분적으로 기초하여 할당되는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  7. 제 6 항에 있어서,
    상기 중요도 점수는, 중요 위치로 지정된 상기 무생물 이동가능 객체의 상기 위치, 상기 무생물 이동가능 객체의 다른 추적 객체에 대한 근접도, 및 상기 무생물 이동가능 객체와의 사용자 상호작용과 사용자 정황(user context)의 변화 간의 일시적 근접도의 어느 하나에 적어도 부분적으로 기초하여 할당되는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.

  8. 제 1 항에 있어서,
    상기 무생물 이동가능 객체의 상기 상태는 상기 무생물 이동가능 객체의 위치를 포함하고, 상기 알림의 상기 출력은 상기 객체의 상기 위치의 알림의 출력을 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  9. 제 1 항에 있어서,
    상기 무생물 이동가능 객체의 상기 상태는 상기 무생물 이동가능 객체의 가변 물리적 속성(variable physical property)의 값을 포함하고, 상기 트리거를 검출하는 단계는 상기 가변 물리적 속성의 상기 값이 임계 조건을 만족하는지를 검출하는 단계를 포함하는
    모바일 컴퓨팅 디바이스를 동작시키는 방법.
  10. 모바일 컴퓨팅 장치로서,
    이미지 센서를 포함하는 센서 서브시스템;
    디스플레이 서브시스템;
    인스트럭션을 실행하도록 구성된 로직 서브시스템; 및
    상기 로직 시스템에 의해서
    상기 이미지 센서로부터 이미지 데이터를 수신하고,
    상기 이미지 데이터로부터 무생물 이동가능 객체와의 복수의 사용자 상호작용을 검출하고,
    상기 무생물 이동가능 객체와의 상기 복수의 사용자 상호작용에 기초하여 상기 무생물 이동가능 객체에 중요도 점수를 할당하고,
    상기 중요도 점수가 임계 중요도 점수를 만족하면, 상기 무생물 이동가능 객체의 상태에 관한 정보를 저장하고,
    상기 무생물 이동가능 객체의 상기 상태의 알림을 제공하기 위한 트리거를 검출하고,
    상기 무생물 이동가능 객체의 상기 상태의 상기 알림의 출력을 제공하도록
    실행 가능한 인스트럭션을 저장하는 데이터-유지 서브시스템을 포함하고,
    모바일 컴퓨팅 장치.
KR1020130158798A 2013-12-18 2013-12-18 객체 추적 기법 KR20150071593A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130158798A KR20150071593A (ko) 2013-12-18 2013-12-18 객체 추적 기법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130158798A KR20150071593A (ko) 2013-12-18 2013-12-18 객체 추적 기법

Publications (1)

Publication Number Publication Date
KR20150071593A true KR20150071593A (ko) 2015-06-26

Family

ID=53517840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130158798A KR20150071593A (ko) 2013-12-18 2013-12-18 객체 추적 기법

Country Status (1)

Country Link
KR (1) KR20150071593A (ko)

Similar Documents

Publication Publication Date Title
US9979809B2 (en) Object tracking
US10510190B2 (en) Mixed reality interactions
US10817760B2 (en) Associating semantic identifiers with objects
US9799145B2 (en) Augmented reality display of scene behind surface
US9749692B2 (en) Providing recommendations based upon environmental sensing
CN112189229B (zh) 针对计算机化个人助手的技能发现
KR102423588B1 (ko) 정보 제공 방법 및 장치
US20130342568A1 (en) Low light scene augmentation
CN105934760A (zh) 利用计算机视觉辅助的适应性图像搜索
US20190340567A1 (en) Computer-implemented method and system for tracking inventory
KR20210156283A (ko) 프롬프트 정보 처리 장치 및 방법
US20200026413A1 (en) Augmented reality cursors
EP3788461A1 (en) Sharing geo-located information
US10158728B1 (en) Method and device to track objects
JP6362325B2 (ja) 物体追跡
EP2887258A1 (en) Object tracking
KR20150071593A (ko) 객체 추적 기법
US9451321B2 (en) Content management with biometric feature recognition
EP2887183B1 (en) Augmented reality display of scene behind surface
US20180203885A1 (en) Controlling creation/access of physically senses features
US20180204473A1 (en) Sharing signal segments of physical graph
US20180204596A1 (en) Automatic narration of signal segment
US11004113B1 (en) Electronic device with cameras and display for in-store messaging
US20240112086A1 (en) Automatically linking digital calendar events to activities
US20180203881A1 (en) Taking action based on physical graph

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application