KR20200136432A - 물리적 객체 경계 검출 기술들 및 시스템들 - Google Patents

물리적 객체 경계 검출 기술들 및 시스템들 Download PDF

Info

Publication number
KR20200136432A
KR20200136432A KR1020207030265A KR20207030265A KR20200136432A KR 20200136432 A KR20200136432 A KR 20200136432A KR 1020207030265 A KR1020207030265 A KR 1020207030265A KR 20207030265 A KR20207030265 A KR 20207030265A KR 20200136432 A KR20200136432 A KR 20200136432A
Authority
KR
South Korea
Prior art keywords
physical object
point cloud
computing device
boundary
dimensional
Prior art date
Application number
KR1020207030265A
Other languages
English (en)
Other versions
KR102532218B1 (ko
Inventor
패트릭 라이언 넬슨
진룽 셰
랜달 찰 프라이
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Priority to KR1020237015732A priority Critical patent/KR20230072510A/ko
Publication of KR20200136432A publication Critical patent/KR20200136432A/ko
Application granted granted Critical
Publication of KR102532218B1 publication Critical patent/KR102532218B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/022Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0834Choice of carriers
    • G06Q10/08345Pricing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B2210/00Aspects not specifically covered by any group under G01B, e.g. of wheel alignment, caliper-like sensors
    • G01B2210/54Revolving an optical measuring instrument around a body
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Economics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

물리적 객체 경계 검출 기술들 및 시스템들이 설명된다. 한 예에서, 증강 현실 모듈은 3차원 포인트 클라우드 데이터를 생성한다. 이 데이터는, 물리적 객체를 포함하는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술한다. 그 다음, 물리적 객체 경계 검출 모듈이 채용되어 지면에 대응하는 포인트들을 제거함으로써 포인트 클라우드 데이터를 필터링한다. 그 다음, 이 모듈은, 가장 가까운 이웃 검색을 수행하여 필터링된 포인트 클라우드 데이터 내에서 물리적 객체에 대응하는 포인트들의 서브셋을 위치파악한다. 이 서브셋에 기초하여, 이 모듈은 포인트들의 서브셋을 지면 상으로 투사하여 2차원 경계를 생성한다. 그 다음, 필터링된 클라우드 포인트 데이터 중 지면으로부터 최대 거리를 갖는 포인트로부터 결정된 높이에 기초하여 2차원 경계가 돌출(extrude)된다.

Description

물리적 객체 경계 검출 기술들 및 시스템들
관련 출원
본 출원은, 그 전체 개시내용이 참조에 의해 본 명세서에 포함되는, 2018년 5월 18일 출원된 발명의 명칭이 "Physical Object Boundary Detection Techniques and Systems"인 미국 출원 15/984,140호의 우선권을 주장한다.
배경
배송 비용 및 팩키징 재료를 추정하는데 이용되는 종래 기술은 양식적(modal)이며 사용자에게 용이하게 이용가능하지 않은 복수의 상이한 디바이스를 요구한다. 예를 들어, 사용자는 물리적 객체를 배송하기를 원할 수 있다. 이를 위해, 사용자는 먼저 줄자(tape measure)를 채용하여 물리적 객체의 치수를 결정한다. 그 다음, 사용자는 이들 치수에 대응하는 이용가능한 팩키징의 크기(예를 들어, 봉투 또는 박스 크기)를 결정하고 팩키징에 이용될 충전량에 관한 최상의 추측을 한다. 이를 위해, 사용자는 이들 재료를 이용할 수 있는 웹사이트에 액세스하고 기억된 치수에 기초하여 이들 재료를 구매하기 위해 상점으로 물리적으로 이동할 수 있다. 따라서, 이들 종래 기술은 팩키징 재료의 적절한 크기(예를 들어, 박스 크기)를 결정할 수 없으며, 오히려 쉽게 구할 수 없는 다양한 도구를 이용하여 기껏해야 객체의 대략적인 치수를 찾는 것으로 제한된다. 이 때문에, 종래 기술은 사용자 측의 "최상의 추측"에 의존하는데, 이것은 "확실하게 하기 위한" 팩키징의 잉여량을 확보하는데 있어서 부정확성으로 인해, 정확하지 않고 곤란하며 비용이 많이 든다. 물리적 객체의 배송 비용 추정치를 결정하는데 있어서도 유사한 곤란에 직면할 수 있다. 따라서, 이들 종래 기술은 비효율적이며 사용자 곤란을 초래한다.
물리적 객체의 3차원 경계를 계산하는데 있어서 달성되는 개선된 정확도를 통해 종래 기술의 해결과제를 극복하는 물리적 객체 경계 검출 기술 및 시스템이 설명된다. 이것은, 예를 들어, 일반적인 사용자가 쉽게 이용할 수 있는 디바이스, 예를 들어 모바일 전화를 이용하여 수행될 수 있다. 그러면, 3차원 경계는 사용자 개입없이 자동으로 배송 데이터, 예를 들어, 배송 비용, 주문 팩키징 등을 획득하는데 이용될 수 있다.
한 예에서, 증강 현실 모듈은 3차원 포인트 클라우드 데이터를 생성한다. 이 데이터는, 물리적 객체를 포함하는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술한다. 그 다음, 물리적 객체 경계 검출 모듈이 채용되어 지면에 대응하는 포인트들을 제거함으로써 포인트 클라우드 데이터를 필터링한다. 이 예에서는 물리적 객체에 대응하는 한 위치를 선택하기 위해 사용자 입력이 수신된다. 그 다음, 물리적 객체 경계 검출 모듈은, 가장 가까운 이웃 검색(nearest neighbor search)을 수행하여 물리적 객체에 대응하는 필터링된 포인트 클라우드 데이터 중의 포인트들의 서브셋을 위치파악한다.
이 서브셋에 기초하여 물리적 객체 경계 검출 모듈은 포인트들의 서브셋을 지면 상으로 투사하여 2차원 경계, 예를 들어, 2차원 경계 박스를 생성한다. 그 다음, 2차원 경계가 돌출되어, 필터링된 클라우드 포인트 데이터 중 지면으로부터 최대 거리를 갖는 포인트로부터 결정된 높이에 기초하여 3차원 경계를 형성한다.
또 다른 예에서, 포인트 클라우드 데이터는 또한, 3차원 감지 디바이스 및 포인트 클라우드 생성 모듈을 이용하여 AR 모듈에 의해 생성된다. 예를 들어 물리적 객체가 배치된 표면에서 각각의 관점에 대해 경계(예를 들어, 직사각형 경계)가 2차원으로 계산된다. 이들 2차원 경계 중 적어도 하나는, 3차원 경계, 예를 들어 3차원 경계를 계산하는데 이용하기 위해 모듈에 의해 선택된다. 이를 위해, 선택된 2차원 경계는, 선택된 2차원 경계와 포인트 클라우드 데이터를 이용하여 검출된 물리적 객체의 높이에 기초하여 치수를 갖는 3차원 경계를 생성하는데 이용된다.
본 요약은, 이하의 상세한 설명에서 더 설명되는 선발된 개념들을 간략화된 형태로 소개한다. 따라서, 본 요약은 청구 대상의 본질적 피처를 식별하기 위함도 아니고, 청구 대상의 범위를 결정하는데 있어서 보조물로서 이용하고자 함도 아니다.
첨부된 도면들을 참조하여 상세한 설명이 이루어진다. 도면에 나타낸 엔티티는 하나 이상의 엔티티를 나타낼 수 있으므로, 본 논의에서 단일 형태의 또는 복수 형태의 엔티티를 서로 바꾸어 참조할 수 있다.
도 1은 여기서 설명된 기술을 채용하도록 동작가능한 한 예시적인 구현에서의 환경의 예시이다.
도 2는 도 1의 AR 모듈 및 물리적 객체 경계 검출 모듈의 동작을 더 상세히 보여주는 한 예시적인 구현에서의 시스템을 도시한다.
도 3은 포인트 클라우드 데이터의 한 예를 도시한다.
도 4는 도 3의 포인트 클라우드 데이터로부터 생성된 필터링된 포인트 클라우드 데이터의 한 예를 도시한다.
도 5는 근접 검색을 이용하여 도 4의 필터링된 포인트 클라우드 데이터로부터 생성된 포인트들의 서브셋의 한 예를 도시한다.
도 6은 도 5의 포인트들의 서브셋의 2차원 투사를 생성하는 한 예를 도시한다.
도 7은 도 6의 2차원 투사로부터 2차원 경계를 생성하는 한 예를 도시한다.
도 8은 돌출(extrusion)을 이용하여 도 7의 2차원 경계로부터 3차원 경계를 생성하는 한 예를 도시한다.
도 9는 도 1의 컴퓨팅 디바이스의 라이브 카메라 피드의 일부로서의 증강 현실 디지털 콘텐츠로서 사용자 인터페이스에 도 8의 3차원 경계가 디스플레이되는 예시적인 구현을 도시한다.
도 10은 AR 모듈로부터 획득된 포인트 클라우드 데이터에 기초하여 3차원 경계가 생성되는 한 예시적인 구현에서의 절차를 도시하는 흐름도이다.
도 11은 물리적 객체의 복수의 관점으로부터 생성된 포인트 클라우드 데이터에 기초하여 2차원 경계들이 생성되는 한 예시적인 구현에서의 절차를 도시하는 흐름도이다.
도 12는 2차원 경계가 도 11의 2차원 경계들로부터 선택되고 3차원 경계를 생성하는데 이용되는 한 예시적인 구현에서의 절차를 도시하는 흐름도이다.
도 13은 복수의 관점으로부터 포인트 클라우드 데이터를 생성하고 이들 관점 각각에 대한 2차원 경계들을 생성하는 한 예시적인 구현을 도시한다.
도 14는 여기서 설명된 기술의 실시예들을 구현하기 위해 도 1 내지 도 13을 참조하여 설명된 임의의 유형의 컴퓨팅 디바이스로서 구현 및/또는 이용될 수 있는 예시적인 디바이스의 다양한 컴포넌트를 포함하는 예시적인 시스템을 도시한다.
개요
물리적 객체 경계 검출 기술 및 시스템이 설명된다. 이들 기술은, 예를 들어, 높이, 폭 및 깊이의 치수를 포함하는 3차원 경계 박스 등의, 물리적 객체에 대한 3차원 경계 계산을 지원한다. 이를 위해, 예를 들어 모바일 전화의 일부로서 포함되어 사용자가 쉽게 이용할 수 있는, 컴퓨팅 디바이스의 AR 모듈에 의해 물리적 환경 내의 포인트의 깊이를 기술하는 포인트 클라우드 데이터가 생성된다. 그 다음, 포인트 클라우드 데이터는, 컴퓨팅 디바이스에 의해, 물리적 환경 내의 물리적 객체의 3차원 경계(예를 들어, 경계 박스)를 결정하는데 이용된다. 그러면, 3차원 경계는, 물리적 객체를 팩킹하는데 있어서 이용하기 위한 팩키징 재료(예를 들어, 박스, 튜브, 봉투)를 추천하는 배송 데이터, 물리적 객체의 추정된 배송 비용을 생성하는 것 등의 다양한 기능을 지원하는데 이용될 수 있고, 판매용 물리적 객체를 제안하도록 구성되고 배송 데이터를 포함하는 디지털 콘텐츠의 형성을 포함할 수 있다. 이러한 방식으로, 여기서 설명된 기술은 종래 기술의 해결과제를 극복하고, 그에 따라 종래 기술의 미리정의된 척도 및 "최상의 추측"에 기초한 미리정의된 박스의 산출로 제한되지 않고, 물리적 객체에 대한 적절한 팩킹 크기를 결정할 수 있다.
예를 들어, 사용자는 판매용 제품을 제안하기 위해 서비스 제공자 시스템과 연관된 애플리케이션을 론칭할 수 있다. 이 예에서 애플리케이션은 판매 제안의 일부로서의 디지털 콘텐츠, 예를 들어, 웹페이지, 모바일 애플리케이션의 스크린 등을 생성하도록 구성된다. 이것의 일부로서, 애플리케이션은, 물리적 객체의 텍스트 설명을 명시하고 물리적 객체의 디지털 이미지 캡처를 지원하는데 이용될 수 있는 사용자 인터페이스를 포함할 수 있고, 또한 객체에 대한 배송 데이터를 포함할 수 있다.
이 예에서 배송 데이터는, 배송 데이터의 생성을 개시하기 위한 사용자 인터페이스를 통해 수신된 사용자 입력에 응답하여 사용자 개입없이 자동으로 생성된다. 배송 데이터는, 컴퓨팅 디바이스에 의한 애플리케이션의 실행을 통해 계산된 3차원 경계의 치수들에 기초할 수 있다.
제1 예에서, 컴퓨팅 디바이스의 증강 현실 모듈은, 3차원 포인트 클라우드 데이터를 생성하도록 구성된 3차원 감지 디바이스 및 포인트 클라우드 생성 모듈을 포함한다. 이 데이터는, 물리적 객체, 예를 들어, 깊이 맵을 포함하는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술한다. 이들 깊이는 다양한 기능을 이용하여 결정될 수 있고, 그 예는, 시차(parallax)를 결정하는 디지털 이미지 및 움직임 검출 센서의 이용, 라디오 파(예를 들어, Project Tango의 일부인 Wi-Fi 파)의 이용, 비행 시간 카메라(time-of-flight camera), 구조화된 광 그리드 어레이(structured light grid array) 등을 포함한다. 일부 경우에, 포인트 클라우드 데이터는, 처리에 있어서 비효율성을 야기할 수 있는 해상도(즉, 포인트 수)를 가질 수 있다. 따라서, 이러한 경우에 포인트 클라우드 데이터는 다운 샘플링됨으로써, 컴퓨팅 디바이스의 동작을 개선시킨다.
그 다음, 물리적 객체 경계 검출 모듈이 채용되어 지면에 대응하는 포인트들을 제거함으로써 포인트 클라우드 데이터를 필터링한다. 예를 들어, 사용자 입력은, 생성되는 포인트 클라우드 데이터에 대응하는 사용자 인터페이스에 디스플레이되는 디지털 이미지(예를 들어, 라이브 카메라 피드)와 관련하여 수신될 수 있다. 그 다음, 사용자는, 지면, 예를 들어 물리적 객체가 배치된 표면 등에 대응하는 이미지의 일부를 "탭"할 수 있다. 그 다음, 물리적 객체 경계 검출 모듈은, 가장 가까운 이웃 검색을 이용하여 지면에 대응하는 포인트들을 제거한다. 이것은, 지면 위의 포인트들을 격리하는 역할을 하므로, 물리적 객체에 대응할 가능성이 높다. 또 다른 예에서, 지면은, 모듈에 의해 사용자 개입없이 자동으로 검출된다.
이 예에서는 물리적 객체에 대응하는 한 위치를 선택하기 위해 또 다른 사용자 입력이 수신된다. 이를 위해, 사용자는 디지털 이미지(예를 들어, 라이브 카메라 피드) 내의 그 위치를 "탭"하고 물리적 객체 경계 검출 모듈은 가장 가까운 이웃 검색을 수행하여, 필터링된 포인트 클라우드 데이터 내에서 물리적 객체에 대응하는 포인트들의 서브셋을 위치파악한다.
이 서브셋에 기초하여 물리적 객체 경계 검출 모듈은 포인트들의 서브셋을 지면 상으로 투사하여 2차원 경계, 예를 들어, 경계 박스를 생성한다. 그 다음, 필터링된 클라우드 포인트 데이터 중 지면으로부터 최대 거리를 갖는 포인트로부터 결정된 높이에 기초하여 2차원 경계가 돌출되어 3차원 경계를 형성한다. 따라서, 3차원 경계는, 물리적 객체의 최대 외측 치수, 예를 들어, 폭, 깊이 및 높이를 정의하는 치수를 포함한다.
3차원 경계는, 물리적 객체를 팩킹하기 위한 팩키징 재료를 권장하는 배송 데이터를 생성하고, 물리적 객체의 배송 비용을 추정하는 등의 다양한 기능을 지원할 수 있다. 이전 예를 계속하여, 배송 데이터는, 판매용 물리적 객체를 제안하는 디지털 콘텐츠의 일부로서 모듈에 의해 사용자 개입없이 자동으로 포함될 수 있다. 이러한 방식으로, 여기서 설명된 기술은 디지털 콘텐츠의 일부로서 포함시키기 위한 배송 비용을 효율적으로 생성하기 위해 사용자가 애플리케이션의 컨텍스트 내에 머무를 수 있는 비-양식적 방식(non-modal manner)으로 컴퓨팅 디바이스와의 사용자 상호작용의 효율성을 개선한다.
또 다른 예에서, 포인트 클라우드 데이터는 또한, 3차원 감지 디바이스 및 포인트 클라우드 생성 모듈을 이용하여 AR 모듈에 의해 생성된다. 이 예에서, 포인트 클라우드 데이터는 복수의 상이한 관점으로부터 생성된다. 2차원 경계는, 관점들 각각에 대해 2차원으로, 예를 들어 물리적 객체가 배치된 표면의 2차원 경계 박스로서 계산된다.
이들 2차원 경계들 중 적어도 하나는, 3차원 경계를 계산하는데 있어서의 이용을 위해 모듈에 의해 선택된다. 예를 들어, 선택은, 2차원 경계들 중 어느 것이, 예를 들어 면적상 가장 작은지에 기초할 수 있다. 그러면, 선택된 2차원 경계는, 3차원 경계를 생성하기 위해 선택된 2차원 경계 및 포인트 클라우드 데이터를 이용하여 검출된 물리적 객체의 높이에 기초한 치수들을 갖는 (예를 들어, 이용가능한 팩키징 재료의 치수로부터 선택된) 경계 박스 또는 다른 형상을 생성하는데 이용된다. 그러면, 3차원 경계는, 물리적 객체의 치수의 출력, 치수 및 박스를 보여주는 증강 현실 콘텐츠의 생성, 배송 데이터 생성 등의 다양한 기능을 지원하는데 이용될 수 있다. 이들 예 및 다른 예에 대한 추가 논의는 이하의 섹션에 포함되고, 대응하는 도면을 이용하여 도시된다.
이하의 논의에서, 여기서 설명된 기술을 채용할 수 있는 예시적인 환경이 먼저 설명된다. 그 다음, 예시적인 환경 뿐만 아니라 다른 환경에서도 수행될 수 있는 예시적인 절차가 설명된다. 결과적으로, 예시적인 절차의 성능은 예시적인 환경으로 제한되지 않고 예시적인 환경은 예시적인 절차의 성능으로 제한되지 않는다.
예시적인 환경
도 1은 여기서 설명되는 물리적 객체 경계 검출 기술을 채용하도록 동작가능한 한 예시적인 구현에서의 디지털 매체 환경(100)의 예시이다. 예시된 환경(100)은 사용자(104)에 의해 보유되는 것으로 예시된 컴퓨팅 디바이스(102)를 포함한다. 컴퓨팅 디바이스(102)는 다양한 방식으로 구성될 수 있다.
예를 들어, 컴퓨팅 디바이스(102)는, 데스크탑 컴퓨터, 랩탑 컴퓨터, 모바일 디바이스(예를 들어, 도시된 바와 같이 태블릿 또는 모바일 전화 등의 핸드헬드 구성을 가정함) 등으로서 구성될 수 있다. 따라서, 컴퓨팅 디바이스(102)는, 상당한 메모리 및 프로세서 자원(예를 들어, 개인용 컴퓨터, 게임 콘솔)을 가진 전체 자원 디바이스로부터, 제한된 메모리 및/또는 처리 자원(예를 들어, 모바일 디바이스)을 가진 낮은 자원 디바이스에 이르기까지 다양할 수 있다. 추가적으로, 단일 컴퓨팅 디바이스(102)가 도시되어 있지만, 컴퓨팅 디바이스(102)는, 도 14에서 설명되는 바와 같이 "클라우드를 통한" 동작을 수행하기 위해 사업체에 의해 이용되는 복수의 서버 등의, 복수의 상이한 디바이스를 나타낼 수 있다.
도시된 예에서, 컴퓨팅 디바이스(102)는 물리적 환경의 데이터를 캡처하도록 구성되며, 여기서 물리적 객체(106)는 배송 데이터(108)를 생성하도록 배치된다. 이를 위해, 컴퓨팅 디바이스(102)는 AR 모듈(110)을 활용한다. AR 모듈(110)은, 3차원(3D) 감지 디바이스(112), 및 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술하는 포인트 클라우드 데이터(116)를 생성하도록 구성된 포인트 클라우드 생성 모듈(114)을 포함한다. 예를 들어, 오른손잡이 관행에 따라, 포인트 클라우드 데이터(116)는, y축이 수직이고 x축이 수평이고 z축이 좌표계의 일부로 깊이를 정의하는 포인트를 기술할 수 있다.
한 예에서, 3D 감지 디바이스(112) 및 포인트 클라우드 생성 모듈(114)은, 3D 감지 디바이스(112)가 움직임 검출 센서(예를 들어, 자이로스코프, 가속도계) 및 물리적 환경의 디지털 이미지를 캡처하기 위한 카메라를 포함하는 시각-관성 거리 측정(visual-inertial odometry)이라고 하는 기술을 채용한다. 포인트 클라우드 생성 모듈(114)은, 디지털 이미지에서 피처를 인식하고 이들 피처들의 위치 차이를 추적하기 위해 디지털 이미지의 컴퓨터 비전 분석(computer vision analysis)을 수행하도록 구성된다.
포인트 클라우드 생성 모듈(114)은 움직임 검출 센서로부터의 움직임 감지 데이터를 피처 위치에서의 추적된 차이와 비교하여, 물리적 환경에서 포인트의 깊이를 예를 들어, 깊이 맵으로서 모델링하는 포인트 클라우드 데이터(116)를 생성한다. 이러한 방식으로, AR 모듈(110)은 이동함에 따라 컴퓨팅 디바이스(102)의 위치를 추적하여, 디지털 이미지로부터 식별된 피처에 기초하여 물리적 환경에 대한 이해를 구축할 수 있다. 이 기능은 또한, 예를 들어, 바닥이나 테이블 등의 평평한 표면 등의 지면 검출도 지원할 수 있다. 따라서, 이 예에서 포인트 클라우드 데이터(116)는, 전문화된 하드웨어 없이도, 광범위한 모바일 컴퓨팅 디바이스, 예를 들어 스마트폰 및 태블릿에 의해 생성될 수 있다.
또 다른 예에서, 전용 하드웨어가 활용되어, 3D 감지 디바이스(112)에 의해 (예를 들어, 레이더 기술을 이용하여) 그 귀환이 검출되는 라디오 파(예를 들어, Wi-Fi 파)를 방출한다. 이것은, 포인트 클라우드 생성 모듈(114)이 포인트 클라우드 데이터(116)를 생성하기 위해 물리적 환경 내의 포인트 깊이에 대한 이해를 획득될 수 있도록, (예를 들어, 가속도계, 기압계, GPS 및/또는 자이로스코프를 이용하여) 전술된 움직임 추적의 이용을 포함한다. 비행 시간 카메라, 구조화된 광 그리드 어레이 디바이스 등의 다른 예도 역시 고려된다.
그 다음, 포인트 클라우드 데이터(116)는 애플리케이션 프로그래밍 인터페이스(API)를 통해 AR 모듈(110)에 의해 물리적 객체 경계 검출 모듈(118)에 노출된다. 이 모듈은, 경계, 예를 들어 3차원 다각형, 튜브 등으로서 포인트 클라우드 데이터(116)에 기초하여 물리적 객체(106)의 외부 치수를 기술하는 경계 데이터(120)를 생성하는 기능을 나타낸다.
경계 데이터(120)는, 컴퓨팅 디바이스에 의해 출력되는 라이브 카메라 피드의 일부로서의 증강 현실 디지털 콘텐츠로서 물리적 객체(106)의 치수를 표시하는 것 등의 다양한 기능을 지원할 수 있다. 도시된 예에서, 경계 데이터(120)는, 배송 데이터(108)를 생성하기 위해 배송 모듈(122)에 의해 입력으로서 수신된다. 예를 들어, 배송 모듈(122)은 경계 데이터(120)를 네트워크(124)를 통해 서비스 제공자 시스템(126)에 전달할 수 있다. 서비스 제공자 시스템(126)은 배송 데이터(108)를 생성하도록 구성된 서비스 관리자 모듈(128)을 포함한다. 서비스 관리자 모듈(128)은, 예를 들어, 물리적 객체(106)를 팩킹하는데 이용될 팩킹 재료(예를 들어, 박스, 튜브, 봉투 및 충전재 크기)를 결정하도록 구성된 팩킹 재료 서비스(130)를 채용할 수 있다. 또 다른 예에서, 배송 서비스(132)는 물리적 객체(106)의 배송 비용을 추정하도록 구성된다. 추가의 예에서, 디지털 상거래 서비스(134)는, 디지털 콘텐츠, 예를 들어 사용자(104)에 의한 물리적 객체(106)를 판매하기 위한 제안을 갖는 웹페이지의 생성의 일부로서 경계 데이터(120)를 채용한다.
예를 들어, 물리적 객체 경계 검출 모듈(118) 및 배송 모듈(122)은, 서비스 제공자 시스템(126)에 대응하는 애플리케이션의 일부로서 통합될 수 있다. 서비스 제공자 시스템(126)은, 이 예에서는, 디지털 콘텐츠, 예를 들어, 웹페이지, 애플리케이션의 사용자 인터페이스의 스크린 등을 게시함으로써 판매용 물리적 객체를 제안하도록 구성된다.
따라서, 사용자(104)는 애플리케이션과 상호작용하여 판매용 물리적 객체(106)를 제안하는 디지털 콘텐츠(예를 들어, 웹페이지, 애플리케이션의 스크린)를 생성할 수 있다. 이것의 일부로서, 배송 모듈(122)은 애플리케이션의 컨텍스트 내에서 배송 데이터(108)를 생성하도록 구성되므로, 비-양식적이다. 이것은, 팩키징 재료의 자동화된 주문, 추정된 배송 비용의 목록 등을 포함할 수 있고, 디지털 콘텐츠의 일부로서 포함될 수 있다. 이러한 방식으로, 경계 데이터(120)의 생성은 컴퓨팅 디바이스(102)와의 상호작용에서 사용자 효율성을 개선할 수 있고, 실시간으로 그렇게 할 수 있다.
일반적으로, 상기 및 이하의 예와 관련하여 설명되는 기능, 피처, 및 개념은, 이 섹션에서 설명되는 예시적인 절차의 맥락에서 채용될 수 있다. 또한, 본 문서에서 상이한 도면들 및 예와 관련하여 설명되는 기능, 피처 및 개념은 서로 바꾸어 사용될 수 있고, 특정한 도면 또는 절차의 맥락에서의 구현으로 제한되지 않는다. 더욱이, 여기서 상이한 대표적인 절차들 및 대응하는 도면들과 연관된 블록들은 함께 적용되거나 및/또는 상이한 방식으로 결합될 수 있다. 따라서, 본 명세서에서 상이한 예시적인 환경, 디바이스, 컴포넌트, 도면 및 절차와 관련하여 설명된 개개의 기능, 피처 및 개념은 임의의 적절한 조합으로 이용될 수 있고, 본 설명에서 열거된 예에 의해 나타낸 특정한 조합으로 제한되지 않는다.
물리적 객체 경계 검출
도 2는 도 1의 AR 모듈(110) 및 물리적 객체 경계 검출 모듈(118)의 동작을 더 상세히 보여주는 예시적인 구현에서의 시스템(200)을 도시한다. 도 10은, AR 모듈로부터 획득된 포인트 클라우드 데이터에 기초하여 3차원 경계가 생성되는 한 예시적인 구현에서의 절차(1000)를 도시한다. 이 예에서는 3차원 경계 박스가 기술되지만, 튜브, 다각형, 삼각형 기둥, 봉투 등의 다른 형상도 역시 고려된다.
이하의 논의는 설명된 시스템 및 디바이스를 이용하여 구현될 수 있는 기술을 설명한다. 절차의 양태는, 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 절차는, 하나 이상의 디바이스에 의해 수행되는 동작을 명시하는 한 세트의 블록으로서 도시되며, 반드시 각각의 블록의 동작을 수행하기 위해 반드시 도시된 순서로 제한되는 것은 아니다. 이하의 논의의 일부에서, 도 2와 도 10에 대한 참조가 서로 바꾸어 가며 이루어진다.
이 예에서, 컴퓨팅 디바이스(102)(예를 들어, 모바일 전화)에서 이용가능하게 되는 증강 현실 기능이 활용되어 3차원 경계로서 물리적 객체(106)의 측정치를 획득한다. 이 경우, 3차원 경계는 물리적 객체의 지오메트리를 재구성하는 것이 아니라, 팩키징 선택 및 배송 비용 추정의 용이성을 위해 최소 경계 박스를 생성한다.
이를 위해, 물리적 객체(106)를 포함하는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 정의하는 포인트 클라우드 데이터(116)가 먼저 획득된다(블록 1002). 따라서, 포인트 클라우드 데이터(116)는 AR 모듈(110)에 의해 3차원 물리적 환경의 표현으로서 구성된다. 이것은, 레이더 기술, 시각-관성 거리 측정, 비행 시간 카메라, 구조화된 광 그리드 기술 등을 이용하는 등, 다양한 방식으로 수행될 수 있다.
포인트 클라우드 데이터(116)의 예(300)가 도 3에 도시되어 있고, 여기서는 물리적 객체(116) 램프가 물리적 환경의 테이블에 포함되어 있다. 일부 예에서, 포인트 클라우드 데이터(116)는, 컴퓨팅 디바이스의 동작을 제한할 수 있는 많은 수의(예를 들어, 250,000) 포인트를 포함할 수 있다. 따라서, 이러한 경우에, 포인트 클라우드 데이터(116)는, 컴퓨팅 디바이스(102)의 작동 효율을 개선하기 위해, 예를 들어 실시간 출력을 지원하기 위해, 다운샘플링될 수 있다(예를 들어, 프레임 당 20개 포인트 중 1개로 다운샘플됨으로써 15,000 포인트를 처리).
전술된 바와 같이, 컴퓨팅 디바이스(102)는 AR 모듈(110)을 활용하여 포인트 클라우드 데이터(116)를 생성할 수 있다. AR 모듈(110)은, 3차원(3D) 감지 디바이스(112), 및 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술하는 포인트 클라우드 데이터(116)를 생성하도록 구성된 포인트 클라우드 생성 모듈(114)을 포함한다. 오른손잡이 관행에서, 예를 들어, 포인트 클라우드 데이터(116)는, y축이 수직이고 x축이 수평이고 z축이 좌표계의 일부로 깊이를 정의하는 포인트를 기술할 수 있다.
한 예에서, 3D 감지 디바이스(112) 및 포인트 클라우드 생성 모듈(114)은, 3D 감지 디바이스(112)가 움직임 검출 센서(예를 들어, 자이로스코프, 가속도계) 및 물리적 환경의 디지털 이미지를 캡처하기 위한 카메라를 포함하는 시각-관성 거리 측정(visual-inertial odometry)이라고 하는 기술을 채용한다. 포인트 클라우드 생성 모듈(114)은, 디지털 이미지에서 피처를 인식하고 이들 피처들의 위치 차이를 추적하기 위해 디지털 이미지의 컴퓨터 비전 분석(computer vision analysis)을 수행하도록 구성된다.
포인트 클라우드 생성 모듈(114)은 움직임 검출 센서로부터의 움직임 감지 데이터를 피처 위치에서의 추적된 차이와 비교하여, 물리적 환경에서 포인트의 깊이를 예를 들어, 깊이 맵으로서 모델링하는 포인트 클라우드 데이터(116)를 생성한다. 이러한 방식으로, AR 모듈(110)은 이동함에 따라 컴퓨팅 디바이스(102)의 위치를 추적하여, 디지털 이미지로부터 식별된 피처에 기초하여 물리적 환경에 대한 이해를 구축할 수 있다. 이 기능은 또한, 예를 들어, 바닥이나 테이블 등의 평평한 표면 등의 지면 검출도 지원할 수 있다. 따라서, 이 예에서 포인트 클라우드 데이터(116)는, 전문화된 하드웨어 없이도, 광범위한 모바일 컴퓨팅 디바이스, 예를 들어 스마트폰 및 태블릿에 의해 생성될 수 있다.
또 다른 예에서, 전용 하드웨어가 활용되어, 3D 감지 디바이스(112)에 의해 (예를 들어, 레이더 기술을 이용하여) 그 귀환이 검출되는 라디오 파(예를 들어, Wi-Fi 파)를 방출한다. 이것은, 포인트 클라우드 생성 모듈(114)이 포인트 클라우드 데이터(116)를 생성하기 위해 물리적 환경 내의 포인트 깊이에 대한 이해를 획득될 수 있도록, (예를 들어, 가속도계, 기압계, GPS 및/또는 자이로스코프를 이용하여) 전술된 움직임 추적의 이용을 포함한다. 비행 시간 카메라, 구조화된 광 그리드 어레이 디바이스 등의 다른 예도 역시 고려된다.
그 다음, 포인트 클라우드 데이터(116)는 지면에 대응하는 포인트들을 제거함으로써 지면 포인트 필터링 모듈(202)에 의해 필터링된다(블록 1004). 예를 들어, 사용자 입력(204)은, 예를 들어 컴퓨팅 디바이스(102)의 디지털 카메라로부터의 라이브 카메라 피드로서, 포인트 클라우드 데이터(116)에 대응하는 디지털 이미지를 디스플레이하는 사용자 인터페이스를 통해 수신될 수 있다. 사용자 입력(204)은 디지털 이미지에서 지면의 위치를 명시하므로, 지면 포인트 필터링 모듈(202)에 의해 포인트 클라우드 데이터(116)의 지면에 상관될 수 있다.
지면에 대응하거나 지면 아래에 놓여 있는 포인트는 포인트 클라우드 데이터(116)로부터 제거되어 필터링된 포인트 클라우드 데이터(206)를 형성한다. 이것은, 사용자 입력(204)에 의해 표시된 바와 같이 오차 마진 "e" 내에서 지면의 음의 내적(negative dot product)을 갖는 포인트 클라우드 데이터(116) 내의 임의의 포인트가 제거되도록 수행될 수 있다. 이것은 포인트 클라우드 검색 공간을 감소시켜 컴퓨팅 디바이스(102)의 효율성 및 동작을 개선하는 역할을 한다. 지면 포인트 필터링 모듈(202)의 기능이 AR 모듈(110) 자체의 일부로서 포함되는 다른 경우도 역시 고려된다. 필터링된 포인트 클라우드 데이터(206)의 한 예(400)가 도 4에 도시되어 있다.
그 다음, 사용자 인터페이스에서 물리적 객체의 위치를 명시하는 사용자 입력(208)이 수신된다(블록 1006). 이전 예를 계속하여, 컴퓨팅 디바이스(102)는, 포인트 클라우드 데이터(116)에 대응하는 물리적 환경의 캡처된 디지털 이미지의 사용자 인터페이스에서 라이브 카메라 피드를 출력할 수 있다. 사용자는 도 5에 도시된 바와 같이 사용자 인터페이스에서 물리적 객체(106)의 표현의 한 위치를 "탭"할 수 있다.
물리적 객체(106)에 대응하는 필터링된 포인트 클라우드 데이터(206) 내의 포인트들의 서브셋(212)은, 예를 들어 가장 가까운 이웃 검색을 통해, 근접 검색 모듈(210)에 의해 위치파악된다(블록 1008). 근접 검색 모듈(210)은, 예를 들어, 사용자 입력(208)의 초기 선택 포인트 "p0"에 가까운, 필터링된 포인트 클라우드 데이터(206) 내의 각각의 포인트를 반복적으로 찾을 수 있다. 이것은, 필터링된 포인트 클라우드 데이터(206)의 공간 인덱싱을 구축한 다음 초기 객체 선택 포인트 "p0"의 근접성 "d" 내에 있는 포인트들을 조회하여 포인트 세트 "ps"에 추가하는 KD-트리를 이용하여 달성된다. 세트 "ps" 내의 새로 추가된 포인트의 근접성 "d"는 다음 반복에서 추가로 검색된다.
더 많은 포인트가 근접성 "d" 내에서 발견됨에 따라, 포인트들이 더 이상 발견되지 않을 때까지 이들 새로 발견된 포인트에 가까운 추가 포인트가 검색되어 세트 "ps"에 추가됨으로써, 포인트들의 서브셋(212)을 형성한다. 이것의 일부로서, 지면으로부터 가장 먼, 포인트들의 서브셋(212) 내의 한 포인트, 즉, 가장 높은 포인트가 발견된다. 포인트들의 서브셋(212)의 한 예(500)가 도 5에 도시되어 있다.
그 다음, 포인트들의 서브셋(212)은, 2차원 투사(216)를 생성하도록 구성된 2차원 투사 모듈(214)에 의해 입력으로서 수신된다(블록 1010). 2차원 투사 모듈(214)은, 예를 들어, 포인트들의 서브셋(212) 중의 포인트들 각각에 대해 Y 좌표를 0으로 리셋할 수 있으며, 그 한 예(600)가 도 6에 도시되어 있다. 이것은, 지면에 배치된 포인트들의 서브셋(212)로서 2차원 투사(216)를 형성한다.
그 다음, 2차원 경계 모듈(218)은, 2차원 투사(216)에 기초하여, 투사에 기초한 형상을 가질 수 있는 2차원 경계(220)를 생성하기 위해 채용된다. 이를 위해, 도 7의 예(700)에 도시된 바와 같이, 2차원 경계 모듈(218)에 의해 지면에 투사될 때 2차원 투사(216) 내의 포인트들을 둘러싸는 2차원 볼록 껍질(convex hull, 702)(즉, 경계 형상)이 계산된다. 그 다음, 2차원 볼록 껍질에 기초하여 최소 2차원 경계(220)를 생성하기 위해 2차원 경계 모듈(218)에 의해 회전 캘리퍼스 기술(rotating calipers technique)이 이용된다.
그 다음, 2차원 경계(220)는 3차원 돌출 모듈(222)에 의해 이 예에서는 경계 데이터(120)로서 3차원 경계(224)로 돌출된다(블록 1012). 도 8의 예(800)에 도시된 바와 같이, 2차원 경계는 2차원 경계와 한 면을 공유하는 직사각형 입방체로 확장된다. 3차원 경계(224)의 높이는, 필터링의 일부로서 위치한, 지면으로부터 가장 먼 포인트들의 서브셋(212) 중의 포인트, 즉, 가장 높은 포인트에 기초한다. 따라서, 3차원 경계(224)는 2차원 경계에 기초한 형상을 갖는다.
3차원 경계의 치수가 사용자 인터페이스에 디스플레이된다(블록 1014). 도 9의 예(900)에 도시된 바와 같이, 3차원 경계(224)는, 라이브 카메라 피드를 포함하는 사용자 인터페이스(902) 내의 증강 현실 디지털 콘텐츠로서 디스플레이된다. 이 예에서 3차원 경계(224)는, 디지털 이미지 내의 물리적 객체의 (예를 들어, 주위에 디스플레이된) 표현을 포함한다.
3차원 경계(224)는 다양한 기능을 지원하기 위해 활용될 수 있다. 도 1로 되돌아 가서, 예를 들어, 3차원 경계(224)를 포함하는 경계 데이터(120)는 네트워크(124)를 통해 서비스 제공자 시스템(126)에 전달될 수 있다. 그 다음, 서비스 제공자 시스템(126)의 서비스 관리자 모듈(128)은 이 박스에 기초하여 배송 데이터(108)를 생성한다. 서비스 관리자 모듈(128)은, 예를 들어, 물리적 객체(106)를 팩킹하는데 이용될 팩킹 재료(예를 들어, 박스 형상, 봉투 및 충전재 크기)를 결정하도록 구성된 팩킹 재료 서비스(140)를 채용할 수 있다. 예를 들어, 팩킹 재료 서비스(140)는, 3차원 경계(224)의 치수뿐만 아니라 박스의 체적 내에서 충전재로 이용될 충전재(예를 들어, 버블 랩)의 치수에 기초하여 팩키징 재료의 크기 및 형상을 선택할 수 있다. 이러한 방식으로, 팩키징 재료의 정확한 크기 및 충전재의 양은, 사용자(104)가 쉽게 이용할 수 있는 컴퓨팅 디바이스(102)에 의해 정확하게 자동으로 결정될 수 있다.
또 다른 예에서, 배송 서비스(142)는 물리적 객체(106)의 배송 비용을 추정하도록 구성된다. 예를 들어, 배송 서비스(142)는 3차원 경계의 치수에 대한 추정치에 기초할 수 있다. 추가의 예에서, 디지털 상거래 서비스(144)는, 디지털 콘텐츠, 예를 들어 사용자(104)에 의한 물리적 객체(106)를 판매하기 위한 제안을 갖는 웹페이지의 생성의 일부로서 경계 데이터(120)를 채용한다. 이전 예를 계속하면, 판매용 물리적 객체(106)를 제안하는 웹페이지가 생성될 수 있다. 컴퓨팅 디바이스(102)에 의해 실행되는 애플리케이션에 의한 이러한 생성의 일부로서, 3차원 경계(224)가 생성되고, 예를 들어, 복수의 관점으로부터의 디지털 콘텐츠의 일부로서 역시 포함될 디지털 이미지 캡처의 일부로서 배송 데이터(108)를 생성하는데 이용된다. 이러한 방식으로, 이 기술은 이중 목적을 위해 이들 디지털 이미지들의 캡처를 효율적으로 활용함으로써, 컴퓨팅 디바이스(102)의 동작 효율을 개선할 수 있다.
도 11 및 도 12는, 물리적 객체 경계 검출 기술 및 시스템의 또 다른 예(1100, 1200)를 도시한다. 이 예에서, 서비스 제공자에 의한 네트워크를 통한 판매용 물리적 객체(106)를 제안하는 디지털 콘텐츠의 생성을 개시하기 위한 사용자 입력이 사용자 인터페이스를 통해 컴퓨팅 디바이스(102)에서 수신된다(블록 1102). 예를 들어, 애플리케이션은 서비스 제공자 시스템(126)과 연관된 컴퓨팅 디바이스(102)에 의해 실행될 수 있다. 서비스 제공자 시스템(126)은, 판매용 제품을 제안하는데 이용될 수 있는 디지털 상거래 서비스를 포함한다. 이를 위해, 물리적 객체(106)의 가용성을 나타내는 디지털 콘텐츠, 예를 들어 웹페이지, 모바일 애플리케이션에서의 출력을 위한 사용자 인터페이스 스크린 등이 생성된다.
이것의 일부로서, 디지털 콘텐츠의 생성의 일부로서 물리적 객체에 대한 배송 비용의 추정을 개시하는 사용자 입력이 애플리케이션의 사용자 인터페이스를 통해 컴퓨팅 디바이스(102)에서 수신된다(블록 1104). 따라서, 포인트 클라우드 데이터(116)가 AR 모듈(110)로부터 이전에 설명된 바와 같이 생성된다.
전술된 바와 같이, 컴퓨팅 디바이스(102)는 AR 모듈(110)을 활용하여 포인트 클라우드 데이터(116)를 생성할 수 있다. AR 모듈(110)은, 3차원(3D) 감지 디바이스(112), 및 물리적 환경 내의 각각의 포인트들에서의 깊이들을 기술하는 포인트 클라우드 데이터(116)를 생성하도록 구성된 포인트 클라우드 생성 모듈(114)을 포함한다. 오른손잡이 관행에서, 예를 들어, 포인트 클라우드 데이터(116)는, y축이 수직이고 x축이 수평이고 z축이 좌표계의 일부로 깊이를 정의하는 포인트를 기술할 수 있다.
한 예에서, 3D 감지 디바이스(112) 및 포인트 클라우드 생성 모듈(114)은, 3D 감지 디바이스(112)가 움직임 검출 센서(예를 들어, 자이로스코프, 가속도계) 및 물리적 환경의 디지털 이미지를 캡처하기 위한 카메라를 포함하는 시각-관성 거리 측정(visual-inertial odometry)이라고 하는 기술을 채용한다. 포인트 클라우드 생성 모듈(114)은, 디지털 이미지에서 피처를 인식하고 이들 피처들의 위치 차이를 추적하기 위해 디지털 이미지의 컴퓨터 비전 분석(computer vision analysis)을 수행하도록 구성된다.
포인트 클라우드 생성 모듈(114)은 움직임 검출 센서로부터의 움직임 감지 데이터를 피처 위치에서의 추적된 차이와 비교하여, 물리적 환경에서 포인트의 깊이를 예를 들어, 깊이 맵으로서 모델링하는 포인트 클라우드 데이터(116)를 생성한다. 이러한 방식으로, AR 모듈(110)은 이동함에 따라 컴퓨팅 디바이스(102)의 위치를 추적하여, 디지털 이미지로부터 식별된 피처에 기초하여 물리적 환경에 대한 이해를 구축할 수 있다. 이 기능은 또한, 예를 들어, 바닥이나 테이블 등의 평평한 표면 등의 지면 검출도 지원할 수 있다. 따라서, 이 예에서 포인트 클라우드 데이터(116)는, 전문화된 하드웨어 없이도, 광범위한 모바일 컴퓨팅 디바이스, 예를 들어 스마트폰 및 태블릿에 의해 생성될 수 있다.
또 다른 예에서, 전용 하드웨어가 활용되어, 3D 감지 디바이스(112)에 의해 (예를 들어, 레이더 기술을 이용하여) 그 귀환이 검출되는 라디오 파(예를 들어, Wi-Fi 파)를 방출한다. 이것은, 포인트 클라우드 생성 모듈(114)이 포인트 클라우드 데이터(116)를 생성하기 위해 물리적 환경 내의 포인트 깊이에 대한 이해를 획득될 수 있도록, (예를 들어, 가속도계, 기압계, GPS 및/또는 자이로스코프를 이용하여) 전술된 움직임 추적의 이용을 포함한다. 비행 시간 카메라, 구조화된 광 그리드 어레이 디바이스 등의 다른 예도 역시 고려된다.
도 13은 복수의 관점으로부터 포인트 클라우드 데이터를 생성하고 이들 관점 각각에 대한 경계들을 생성하는 한 예시적인 구현을 도시한다. 이 예에서, 포인트 클라우드 데이터(116)는, 물리적 객체(106)와 관련한 복수의 상이한 관점(1302, 1304, 1306), 예를 들어, 상부, 측면, 전면, 후면 등으로부터 캡처된다. 포인트 클라우드 데이터는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 정의한다(블록 1106).
예를 들어, AR 모듈(110)은, 카메라 절두체(camera frustum)에서의 한 벡터를 따라 카메라로부터 가장 가까운 객체까지의 거리를 나타내기 위해 포인트를 힛-테스트(hit-test)하기 위한 기능을 포함할 수 있다. 이들 능력을 이용하여, AR 모듈(110)은 1 센티미터의 그리드의 포인트들을 구축하고 각각의 프레임마다 복수의 포인트를 힛-테스트하여 실시간으로 물리적 환경의 깊이 맵을 구축한다. 이것은, 지면으로부터 정의된 거리 내에 있는 포인트가 제거되면서, 객체 내의 포인트들의 포인트 클라우드 데이터(116)를 생성한다.
물리적 객체 경계 검출 모듈(118)은, 충분한 수의 관점으로부터 충분한 수의 포인트가 수집되는 때를 결정하고 이에 응답하여 AR 모듈(110)에 의한 포인트 클라우드 데이터(116)의 생성을 중단하도록 구성된다. 이것은 컴퓨팅 디바이스(102)의 컴퓨팅 자원을 절감하는 역할을 한다. 이것은 또한, 3차원 경계 박스가 생성될 수 있는 시점을 나타내는 사용자 피드백을 지원한다.
그 다음, 물리적 객체 경계 검출 모듈(118)은 복수의 2차원 경계(1308, 1310, 1312)를 계산하고, 여기서 각각의 2차원 경계는 복수의 관점(1302, 1304, 1306) 중 상응하는 하나에 대응한다(블록 1110). 이를 위해, 물리적 객체 경계 검출 모듈(118)은 정의된 호(1314)(예를 들어, 90도)를 소정 증분(예를 들어, 5도)으로 회전시킴으로써 최적 맞춤을 결정하고 각각의 각도에서 포인트 클라우드의 2차원 경계를 생성한다. 한 구현에서, 2차원 경계는 그 관점에서의 포인트들의 최소 면적에 대응하는 형상을 갖는다.
그 다음, 물리적 객체 경계 검출 모듈(118)은 경계 박스를 추정하는데 이용하기 위해 복수의 2차원 경계로부터 한 2차원 경계를 선택한다(블록 1202). 물리적 객체 경계 검출 모듈(118)은, 예를 들어, 가장 작은(즉, 최소) 면적을 갖는 2차원 경계를 선택할 수 있다.
그러면, 2차원 경계는, 선택된 경계 및 포인트 클라우드 데이터로부터 취해진 물리적 객체의 높이(예를 들어, 형상)에 기초하여 치수(예를 들어, 및 형상)를 갖는 3차원 경계를 생성하기 위해 물리적 객체 경계 검출 모듈(118)에 의해 이용된다(블록 1204). 예를 들어, 경계 박스 내의 포인트들은 Y 축을 따라 비교되어, 지면(1318)으로부터 최대 거리를 갖는 포인트 클라우드 데이터 중의 포인트(1316) 또는 포인트들의 클러스터를 결정할 수 있다. 이것은, 최소 크기를 갖는 선택된 2차원 경계의 크기와 연계하여 3차원 경계를 정의하는 Y 축을 정의한다.
그러면, 3차원 경계는 배송 데이터(108)를 획득하기 위해 배송 모듈(122)에 의해 이용된다(블록 1206). 3차원 경계의 치수는, 예를 들어, 팩키징 재료의 치수와 비교되어, 최소 크기 및 형상을 가진 박스 및 박스 내에서 물리적 객체(106)를 지지하는데 이용될 팩킹(예를 들어, "충전")의 양을 찾을 수 있다. 이것은 또한, 배송 비용을 추정하는데에도 이용될 수 있다. 이 배송 데이터(108)는, 라이브 카메라 피드 내의 증강 현실 디지털 콘텐츠로서 3차원 경계와 함께 사용자 인터페이스에 디스플레이될 수 있다(블록 1208). 배송 데이터(108)는 또한, 예를 들어, 물리적 객체(106)를 판매하기 위한 제안의 일부로서 이 데이터의 포함을 "승인"하는 사용자 입력에 응답하여, 디지털 콘텐츠의 일부로서 사용자 개입없이 자동으로 포함될 수 있다. 이러한 방식으로, 애플리케이션은 이 데이터를 디지털 콘텐츠의 일부로서 포함하는 효율적인 비-양식적 상호작용을 지원하므로 사용자 및 운영 효율성을 향상시킨다.
예시적인 시스템 및 디바이스
도 14는 본 명세서에 설명된 다양한 기술을 구현할 수 있는 하나 이상의 컴퓨팅 시스템 및/또는 디바이스를 나타내는 한 예시적인 컴퓨팅 디바이스(1402)를 포함하는 예시적인 시스템(1400)을 나타낸다. 이것이 물리적 객체 경계 검출 모듈(118)의 포함을 통해 예시된다. 컴퓨팅 디바이스(1402)는, 예를 들어, 서비스 제공자의 서버, 클라이언트(예를 들어, 클라이언트 디바이스)와 연관된 디바이스, 온칩 시스템, 및/또는 기타 임의의 적절한 컴퓨팅 디바이스 또는 컴퓨팅 시스템일 수 있다.
도시된 예시적인 컴퓨팅 디바이스(1402)는, 처리 시스템(1404), 하나 이상의 컴퓨터 판독가능한 매체(1406), 및 서로 통신가능하게 결합된 하나 이상의 I/O 인터페이스(1408)를 포함한다. 도시되지는 않았지만, 컴퓨팅 디바이스(1402)는, 다양한 컴포넌트를 서로 결합하는 시스템 버스 또는 기타의 데이터 및 명령 전송 시스템을 더 포함할 수 있다. 시스템 버스는, 메모리 버스 또는 메모리 제어기, 주변기기 버스, 범용 직렬 버스, 및/또는 다양한 버스 아키텍쳐들 중 임의의 것을 이용하는 프로세서 또는 로컬 버스 등의, 상이한 버스 구조들 중 임의의 하나 또는 조합을 포함할 수 있다. 제어 및 데이터 라인 등의, 다양한 다른 예도 역시 고려된다.
처리 시스템(1404)은, 하드웨어를 이용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 처리 시스템(1404)은, 프로세서, 기능 블록 등으로 구성될 수 있는 하드웨어 요소(1410)를 포함하는 것으로서 예시된다. 이것은, 하나 이상의 반도체를 이용하여 형성된 주문형 집적 회로 또는 기타의 논리 디바이스로서의 하드웨어적 구현을 포함할 수 있다. 하드웨어 요소들(1410)은, 이들이 형성되는 재료 또는 내부에 채용되는 처리 메커니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(예를 들어, 전자 집적 회로(IC))로 구성될 수 있다. 이러한 맥락에서, 프로세서-실행가능 명령어는 전자적으로-실행가능 명령어일 수 있다.
컴퓨터 판독가능한 저장 매체(1406)는, 메모리/스토리지(1412)를 포함하는 것으로 예시된다. 메모리/스토리지(1412)는 하나 이상의 컴퓨터 판독가능한 매체와 연관된 메모리/스토리지 용량을 나타낸다. 메모리/스토리지 컴포넌트(1412)는, (랜덤 액세스 메모리(RAM) 등의) 휘발성 매체 및/또는 (읽기 전용 메모리(ROM), 플래시 메모리, 광 디스크, 자기 디스크 등의) 비휘발성 매체를 포함할 수 있다. 메모리/스토리지 컴포넌트(1412)는, 고정 매체(예를 들어, RAM, ROM, 고정 하드 드라이브 등) 뿐만 아니라 착탈식 매체(예를 들어, 플래시 메모리, 착탈식 하드 드라이브, 광 디스크 등)를 포함할 수 있다. 컴퓨터 판독가능한 매체(1406)는 아래에서 더 설명되는 바와 같이 다양한 다른 방식으로 구성될 수 있다.
입력/출력 인터페이스(들)(1408)는, 사용자가 컴퓨팅 디바이스(1402)에 명령 및 정보를 입력하는 것을 허용하고, 또한 정보가 다양한 입력/출력 디바이스를 이용하여 사용자 및/또는 기타의 컴포넌트 또는 디바이스에 제공되는 것을 허용하는 기능을 나타낸다. 입력 디바이스의 예는, 키보드, 커서 제어 디바이스(예를 들어, 마우스), 마이크로폰, 스캐너, 터치 기능(예를 들어, 물리적 터치를 검출하도록 구성된 용량식 또는 기타의 센서), (예를 들어, 적외선 주파수 등의 가시적 또는 비가시적 파장을 채용하여 터치를 수반하지 않는 제스처로서 움직임을 인식할 수 있는) 카메라 등을 포함한다. 출력 디바이스의 예는, 디스플레이 디바이스(예를 들어, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각-반응 디바이스 등을 포함한다. 따라서, 컴퓨팅 디바이스(1402)는 사용자 상호작용을 지원하기 위해 아래에서 더 설명되는 바와 같이 다양한 방식으로 구성될 수 있다.
소프트웨어, 하드웨어 요소, 또는 프로그램 모듈의 일반적인 맥락에서 다양한 기술이 여기서 설명될 수 있다. 일반적으로, 이러한 모듈은, 특정한 작업을 수행하거나 특정한 추상적 데이터 유형을 구현하는 루틴, 프로그램, 객체, 요소, 컴포넌트, 데이터 구조 등을 포함한다. 용어 "모듈", "기능" 및 "컴포넌트"는 본 명세서에서 사용될 때 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 나타낸다. 여기서 설명된 기술들의 피처는 플랫폼-독립적이며, 이 기술들이 다양한 프로세서를 갖는 다양한 상용 컴퓨팅 플랫폼에서 구현될 수 있다는 것을 의미한다.
설명된 모듈 및 기술의 구현은, 소정 형태의 컴퓨터 판독가능한 매체에 저장되거나 이를 통해 전송될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨팅 디바이스(1402)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독가능한 매체는, "컴퓨터 판독가능한 저장 매체" 및 "컴퓨터 판독가능한 신호 매체"를 포함할 수 있다.
"컴퓨터 판독가능한 저장 매체"는, 단순한 신호 전송, 캐리어 또는 신호 그 자체와는 대조적으로 정보의 지속적 및/또는 비일시적인 저장을 가능케하는 매체 및/또는 디바이스를 지칭할 수 있다. 따라서, 컴퓨터 판독가능한 저장 매체란, 비-신호 보유 매체(non-signal bearing media)를 지칭한다. 컴퓨터 판독가능한 저장 매체는, 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈, 논리 요소/회로 또는 기타 데이터 등의 정보의 저장에 적합한 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체 및/또는 저장 디바이스 등의 하드웨어를 포함한다. 컴퓨터 판독가능한 저장 매체의 예는, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광학적 스토리지, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 기타의 자기 저장 디바이스, 또는 다른 저장 디바이스, 유형의 매체, 또는 원하는 정보를 저장하기에 적합하고 컴퓨터에 의해 액세스될 수 있는 제조품을 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
"컴퓨터 판독가능한 신호 매체"란, 네트워크 등을 통해 컴퓨팅 디바이스(1402)의 하드웨어에 명령어를 전송하도록 구성된 신호 보유 매체를 지칭할 수 있다. 신호 매체는 전형적으로, 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타의 데이터를, 캐리어파, 데이터 신호 또는 기타의 전송 메커니즘 등의, 변조된 데이터 신호로 구현할 수 있다. 신호 매체는 또한, 임의의 정보 전달 매체도 포함한다. 용어 "변조된 데이터 신호"는, 정보를 신호에 인코딩하는 방식으로 설정되거나 변경된 특성들 중 하나 이상을 갖는 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는, 유선 네트워크 또는 직접-결선 접속 등의 유선 매체, 및 음향, RF, 적외선 및 기타의 무선 매체 등의 무선 매체를 포함한다.
이전에 설명된 바와 같이, 하드웨어 요소(1410) 및 컴퓨터 판독가능한 매체(1406)는, 하나 이상의 명령어를 수행하는 등을 위해, 여기서 설명된 기술의 적어도 일부 양태를 구현하기 위해 일부 실시예에서 채용될 수 있는 하드웨어 형태로 구현된 모듈, 프로그램가능한 디바이스 로직 및/또는 고정 디바이스 로직을 나타낸다. 하드웨어는, 집적 회로 또는 온칩 시스템의 컴포넌트, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), CPLD(complex programmable logic device), 및 실리콘 또는 기타의 하드웨어적인 다른 구현을 포함할 수 있다. 이러한 맥락에서, 하드웨어는, 실행을 위한 명령어를 저장하는데 이용되는 하드웨어, 예를 들어 앞서 설명된 컴퓨터 판독가능한 저장 매체 뿐만 아니라, 하드웨어에 의해 구현된 로직 및/또는 명령어에 의해 정의된 프로그램 작업을 수행하는 처리 디바이스로서 동작할 수 있다.
여기서 설명된 다양한 기술을 구현하기 위해 전술된 것의 조합이 역시 채용될 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 실행가능한 모듈은, 컴퓨터 판독가능한 저장 매체의 일부 형태 및/또는 하나 이상의 하드웨어 요소(1410)에 의해 구현된 하나 이상의 명령어 및/또는 로직으로서 구현될 수 있다. 컴퓨팅 디바이스(1402)는, 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정한 명령어 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 소프트웨어로서 컴퓨팅 디바이스(1402)에 의해 실행가능한 모듈의 구현은, 적어도 부분적으로 하드웨어로, 예를 들어 처리 시스템(1404)의 컴퓨터 판독가능한 저장 매체 및/또는 하드웨어 요소(1410)의 이용을 통해 달성될 수 있다. 명령어 및/또는 기능은, 여기서 설명된 기술, 모듈 및 예를 구현하기 위해, 하나 이상의 제품(예를 들어, 하나 이상의 컴퓨팅 디바이스(1402) 및/또는 처리 시스템(1404))에 의해 실행가능/동작가능 할 수 있다.
여기서 설명된 기술은, 컴퓨팅 디바이스(1402)의 다양한 구성에 의해 지원될 수 있고 여기서 설명된 기술의 특정한 예로 제한되지 않는다. 이 기능은 또한, 이하에서 설명되는 플랫폼(1416)을 이용한 "클라우드"(1414)를 통해서 등에 의한, 분산형 시스템의 이용을 통해, 완전히 또는 부분적으로 구현될 수 있다.
클라우드(1414)는 자원(1418)에 대한 플랫폼(1416)을 포함하거나 및/또는 이를 나타낸다. 플랫폼(1416)은 클라우드(1414)의 하드웨어(예를 들어, 서버) 및 소프트웨어 자원의 기저 기능을 추상화한다. 자원(1418)은, 컴퓨팅 디바이스(1402)로부터 원격인 서버에서 컴퓨터 처리가 실행되는 동안 이용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 자원(1418)은 또한, 인터넷을 통해 및/또는 셀룰러 또는 Wi-Fi 네트워크 등의 가입자 네트워크를 통해 제공되는 서비스를 포함할 수 있다.
플랫폼(1416)은 컴퓨팅 디바이스(1402)를 다른 컴퓨팅 디바이스들과 접속하기 위한 자원 및 기능을 추상화할 수 있다. 플랫폼(1416)은 또한, 플랫폼(1416)을 통해 구현되는 자원(1418)에 대한 직면한 수요에 대응하는 레벨의 스케일을 제공하기 위해 자원의 스케일링을 추상화하는 역할을 할 수 있다. 따라서, 상호접속된 디바이스 실시예에서, 여기서 설명된 기능의 구현은 시스템(1400) 전체에 걸쳐 분산될 수 있다. 예를 들어, 기능은, 클라우드(1414)의 기능을 추상화하는 플랫폼(1416)을 통해서 뿐만 아니라 컴퓨팅 디바이스(1402) 상에 부분적으로 구현될 수 있다.
결론
본 발명이 구조적 피처 및/또는 방법론적 행위 특유의 언어로 설명되었지만, 첨부된 청구항들에 정의된 본 발명이 반드시 설명된 특정한 피처 또는 행위로 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 특정한 피처 및 행위는 청구된 발명을 구현하는 예시적인 형태로 개시된 것이다.

Claims (20)

  1. 적어도 하나의 컴퓨팅 디바이스에 의해 구현되는 방법으로서,
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 물리적 객체를 포함하는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 정의하는 포인트 클라우드 데이터를 획득하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 지면에 대응하는 포인트들을 상기 포인트 클라우드 데이터로부터 제거함으로써 상기 포인트 클라우드 데이터를 필터링하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 사용자 인터페이스를 통해, 상기 물리적 객체의 위치를 명시하는 사용자 입력을 수신하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 필터링된 포인트 클라우드 데이터 내의 상기 물리적 객체에 대응하는 포인트들의 서브셋을 위치파악 ―상기 위치파악은 상기 사용자 입력의 위치에 기초하여 근접 검색을 이용하여 수행됨― 하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 위치파악된 서브셋에 기초하여 2차원 경계를 생성하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 2차원 경계를 3차원 경계로 돌출(extrude)시키는 단계; 및
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 3차원 경계를 상기 사용자 인터페이스에 디스플레이하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 사용자 인터페이스는, 상기 물리적 객체를 포함하고 상기 포인트 클라우드 데이터에 대응하는 라이브 카메라 피드의 일부로서의 상기 물리적 환경의 디지털 이미지의 디스플레이를 포함하는, 방법.
  3. 제2항에 있어서, 상기 필터링하는 단계는, 상기 포인트 클라우드 데이터에서 상기 지면의 위치를 나타내는 상기 사용자 인터페이스를 통해 수신된 또 다른 사용자 입력에 기초하는, 방법.
  4. 제1항에 있어서, 상기 위치파악은 가장 가까운 이웃 검색에 기초하는, 방법.
  5. 제1항에 있어서, 상기 2차원 경계를 생성하는 단계는,
    상기 위치파악된 포인트들의 서브셋을 상기 지면에 투사하는 단계;
    상기 투사된 포인트들을 둘러싸는 볼록 껍질(convex hull)을 계산하는 단계; 및
    회전 캘리퍼스 기술(rotating calipers technique)을 이용하여 상기 볼록 껍질로부터 상기 2차원 경계를 생성하는 단계
    를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 필터링하는 단계는, 상기 지면으로부터 가장 먼 상기 필터링된 포인트 클라우드 데이터 중의 한 포인트의 높이를 결정하는 단계를 포함하고;
    상기 돌출시키는 단계는 상기 3차원 경계가 상기 높이를 갖도록 상기 높이에 기초하는, 방법.
  7. 제1항에 있어서, 상기 디스플레이하는 단계는 상기 사용자 인터페이스에서 상기 물리적 객체에 관한 증강 현실 디지털 콘텐츠로서 치수들을 디스플레이하는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 획득된 포인트 클라우드 데이터는, 포인트 클라우드 생성 모듈에 위해 생성된 데이터로부터 다운 샘플링된 버전인, 방법.
  9. 제1항에 있어서, 상기 3차원 경계의 치수들에 기초하여 추정된 배송 비용을 기술하는 데이터를 획득하는 단계를 더 포함하고, 상기 디스플레이하는 단계는 상기 추정된 배송 비용을 포함하는, 방법.
  10. 제1항에 있어서, 상기 사용자 인터페이스는 라이브 카메라 피드로서 디지털 이미지들을 포함하고, 상기 디스플레이하는 단계는 상기 물리적 객체와 함께 배치된 증강 현실 디지털 콘텐츠로서 상기 3차원 경계를 디스플레이하는 단계를 포함하는, 방법.
  11. 방법으로서,
    적어도 하나의 컴퓨팅 디바이스에 의해, 디지털 이미지들의 라이브 카메라 피드를 사용자 인터페이스에 디스플레이하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 물리적 객체에 관한 복수의 관점으로부터 생성된 포인트 클라우드 데이터 ―상기 포인트 클라우드 데이터는 물리적 환경 내의 각각의 포인트들에서의 깊이들을 정의함― 를 생성하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 복수의 2차원 경계 ―각각의 상기 경계는 상기 복수의 관점 중 상응하는 하나에 대응함― 를 계산하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 복수의 2차원 경계로부터 한 2차원 경계를 선택하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 선택된 2차원 경계 및 상기 포인트 클라우드 데이터로부터의 상기 물리적 객체의 높이에 기초한 치수들을 갖는 3차원 경계를 생성하는 단계; 및
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 라이브 카메라 피드 내의 증강 현실 디지털 콘텐츠로서 상기 3차원 경계를 디스플레이하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서, 상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 3차원 경계에 적어도 부분적으로 기초하여 배송 데이터를 획득하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 배송 데이터는 상기 물리적 객체를 배송하기 위한 추정된 비용인, 방법.
  14. 제12항에 있어서, 상기 배송 데이터는 상기 물리적 객체를 팩키징하는데 이용될 팩키징 크기 또는 형상인, 방법.
  15. 제11항에 있어서,
    상기 적어도 하나의 컴퓨팅 디바이스에 의해 사용자 인터페이스를 통해, 서비스 제공자에 의한 네트워크를 통한 물리적 객체의 판매를 위한 제안의 일부로서 디지털 콘텐츠의 생성을 개시하기 위한 사용자 입력을 수신하는 단계;
    상기 적어도 하나의 컴퓨팅 디바이스에 의해 상기 사용자 인터페이스를 통해, 상기 디지털 콘텐츠 생성의 일부로서 상기 물리적 객체에 대한 배송 데이터의 생성을 개시하기 위한 또 다른 사용자 입력을 수신하는 단계 ―상기 라이브 카메라 피드를 디스플레이하는 단계는 상기 다른 사용자 입력에 응답하여 수행됨―; 및
    상기 적어도 하나의 컴퓨팅 디바이스에 의해, 상기 배송 데이터를 포함하는 디지털 콘텐츠를 생성하는 단계
    를 더 포함하는 방법.
  16. 컴퓨팅 디바이스로서,
    디스플레이 디바이스;
    물리적 환경 내의 물리적 객체의 각각의 포인트들에서의 깊이들을 정의하는 포인트 클라우드 데이터를 생성하기 위해 적어도 부분적으로 하드웨어로 구현된 3차원 감지 디바이스 및 포인트 클라우드 생성 모듈을 포함하는 증강 현실 모듈; 및
    상기 포인트 클라우드 데이터로부터 3차원 경계 및 상기 3차원 경계에 기초한 배송 데이터 ―상기 3차원 경계 및 상기 배송 데이터는 상기 디스플레이 디바이스에 의해 상기 물리적 객체의 라이브 카메라 피드 내의 증강 현실 디지털 콘텐츠로서 사용자 인터페이스에 출력됨― 를 생성하기 위해 적어도 부분적으로 하드웨어로 구현된 물리적 객체 경계 검출 모듈
    을 포함하는 컴퓨팅 디바이스.
  17. 제16항에 있어서, 상기 배송 데이터는 상기 물리적 객체를 배송하는 추정된 비용인, 컴퓨팅 디바이스.
  18. 제16항에 있어서, 상기 배송 데이터는 상기 물리적 객체를 팩키징하는데 이용될 팩키징 크기 또는 형상인, 컴퓨팅 디바이스.
  19. 제16항에 있어서, 상기 물리적 객체 경계 검출 모듈은,
    복수의 2차원 경계를 계산하고 ―각각의 상기 2차원 경계는 상기 포인트 클라우드 데이터에 의해 캡처된 복수의 관점 중 상응하는 하나에 대응함― ;
    상기 복수의 2차원 경계로부터 한 2차원 경계를 선택하며;
    상기 선택된 경계 및 상기 포인트 클라우드 데이터로부터의 상기 물리적 객체의 높이에 기초한 치수들을 갖는 3차원 경계를 생성함으로써
    상기 3차원 경계를 생성하도록 구성된, 컴퓨팅 디바이스.
  20. 제16항에 있어서, 상기 물리적 객체 경계 검출 모듈은,
    지면에 대응하는 포인트들을 상기 포인트 클라우드 데이터로부터 제거함으로써 상기 포인트 클라우드 데이터를 필터링하고;
    상기 사용자 인터페이스를 통해, 상기 물리적 객체의 한 위치를 명시하는 사용자 입력을 수신하며;
    상기 물리적 객체에 대응하는 필터링된 포인트 클라우드 데이터 내의 포인트들의 서브셋을 위치파악 ―상기 위치파악은 상기 사용자 입력의 상기 위치에 기초한 근접 검색을 이용하여 수행됨― 하고;
    상기 위치파악된 서브셋에 기초하여 2차원 경계를 생성하며;
    상기 2차원 경계를 3차원 경계로 돌출시킴으로써
    상기 3차원 경계를 생성하도록 구성된, 컴퓨팅 디바이스.
KR1020207030265A 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들 KR102532218B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237015732A KR20230072510A (ko) 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/984,140 2018-05-18
US15/984,140 US10853946B2 (en) 2018-05-18 2018-05-18 Physical object boundary detection techniques and systems
PCT/US2019/031842 WO2019222061A1 (en) 2018-05-18 2019-05-10 Physical object boundary detection techniques and systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237015732A Division KR20230072510A (ko) 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들

Publications (2)

Publication Number Publication Date
KR20200136432A true KR20200136432A (ko) 2020-12-07
KR102532218B1 KR102532218B1 (ko) 2023-05-17

Family

ID=66676908

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207030265A KR102532218B1 (ko) 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들
KR1020237015732A KR20230072510A (ko) 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237015732A KR20230072510A (ko) 2018-05-18 2019-05-10 물리적 객체 경계 검출 기술들 및 시스템들

Country Status (5)

Country Link
US (4) US10853946B2 (ko)
EP (1) EP3794562A1 (ko)
KR (2) KR102532218B1 (ko)
CN (1) CN112166461A (ko)
WO (1) WO2019222061A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074999A1 (ko) * 2021-10-27 2023-05-04 한국전자기술연구원 3d ar 객체 영상 실시간 획득 시스템 및 이의 운용 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK201870350A1 (en) 2018-05-07 2019-12-05 Apple Inc. Devices and Methods for Measuring Using Augmented Reality
US10853946B2 (en) 2018-05-18 2020-12-01 Ebay Inc. Physical object boundary detection techniques and systems
US10785413B2 (en) 2018-09-29 2020-09-22 Apple Inc. Devices, methods, and graphical user interfaces for depth-based annotation
TWI709062B (zh) * 2019-09-20 2020-11-01 財團法人資訊工業策進會 虛實疊合方法與系統
US11227446B2 (en) 2019-09-27 2022-01-18 Apple Inc. Systems, methods, and graphical user interfaces for modeling, measuring, and drawing using augmented reality
US11412382B2 (en) * 2019-11-07 2022-08-09 Humans, Inc Mobile application camera activation and de-activation based on physical object location
US11995740B2 (en) * 2019-12-10 2024-05-28 Sony Group Corporation Image processing device and image processing method
US11138771B2 (en) 2020-02-03 2021-10-05 Apple Inc. Systems, methods, and graphical user interfaces for annotating, measuring, and modeling environments
US11727650B2 (en) 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
US11615595B2 (en) 2020-09-24 2023-03-28 Apple Inc. Systems, methods, and graphical user interfaces for sharing augmented reality environments
WO2022077190A1 (zh) * 2020-10-12 2022-04-21 深圳市大疆创新科技有限公司 数据处理方法、控制设备及存储介质
CN115046480B (zh) * 2021-03-09 2023-11-10 华为技术有限公司 一种测量长度的方法、电子设备以及移动设备
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments
CN116740114B (zh) * 2023-08-11 2023-11-21 之江实验室 一种基于凸包检测的目标物边界拟合方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160048874A (ko) * 2013-08-30 2016-05-04 퀄컴 인코포레이티드 물리적 장면을 표현하기 위한 방법 및 장치
US20170017301A1 (en) * 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
JP2017191605A (ja) * 2016-04-13 2017-10-19 ジック インクSICK Inc. 対象物体の寸法を計測するための方法及びシステム
KR20180046361A (ko) * 2016-10-27 2018-05-08 삼성에스디에스 주식회사 깊이 센서 기반의 적재 최적화 방법 및 시스템

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7063256B2 (en) * 2003-03-04 2006-06-20 United Parcel Service Of America Item tracking and processing systems and methods
US20100066750A1 (en) * 2008-09-16 2010-03-18 Motorola, Inc. Mobile virtual and augmented reality system
US20120022924A1 (en) * 2009-08-28 2012-01-26 Nicole Runnels Method and system for creating a personalized experience with video in connection with a stored value token
US10628666B2 (en) * 2010-06-08 2020-04-21 Styku, LLC Cloud server body scan data system
US8872851B2 (en) 2010-09-24 2014-10-28 Intel Corporation Augmenting image data based on related 3D point cloud data
US10157495B2 (en) 2011-03-04 2018-12-18 General Electric Company Method and device for displaying a two-dimensional image of a viewed object simultaneously with an image depicting the three-dimensional geometry of the viewed object
KR101907081B1 (ko) 2011-08-22 2018-10-11 삼성전자주식회사 3차원 점군의 물체 분리 방법
US9595115B1 (en) * 2011-09-19 2017-03-14 Amazon Technologies, Inc. Visualizing change in augmented reality environments
US9779546B2 (en) * 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US9153061B2 (en) * 2012-05-04 2015-10-06 Qualcomm Incorporated Segmentation of 3D point clouds for dense 3D modeling
US9418478B2 (en) * 2012-06-05 2016-08-16 Apple Inc. Methods and apparatus for building a three-dimensional model from multiple data sets
US20140192050A1 (en) 2012-10-05 2014-07-10 University Of Southern California Three-dimensional point processing and model generation
US9251411B2 (en) * 2013-09-24 2016-02-02 Hand Held Products, Inc. Augmented-reality signature capture
US9633483B1 (en) 2014-03-27 2017-04-25 Hrl Laboratories, Llc System for filtering, segmenting and recognizing objects in unconstrained environments
US10451875B2 (en) * 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US10311638B2 (en) * 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
WO2016040473A1 (en) * 2014-09-10 2016-03-17 Vangogh Imaging, Inc. Real-time dynamic three-dimensional adaptive object recognition and model reconstruction
US9600892B2 (en) 2014-11-06 2017-03-21 Symbol Technologies, Llc Non-parametric method of and system for estimating dimensions of objects of arbitrary shape
US9396554B2 (en) 2014-12-05 2016-07-19 Symbol Technologies, Llc Apparatus for and method of estimating dimensions of an object associated with a code in automatic response to reading the code
US9851786B2 (en) * 2014-12-10 2017-12-26 Sixense Entertainment, Inc. System and method for assisting a user in remaining in a selected area while the user is in a virtual reality environment
US9828128B1 (en) * 2014-12-17 2017-11-28 X Development Llc On-demand protective structures for packaging items in a container
US10268892B1 (en) * 2015-05-15 2019-04-23 4Dmobile Llc System and methods for volume dimensioning for supply chains and shelf sets
EP3104241B1 (en) 2015-06-12 2020-09-16 Accenture Global Services Limited An augmented reality method and system for measuring and/or manufacturing
CA2943068A1 (en) 2015-09-25 2017-03-25 Logical Turn Services Inc. Dimensional acquisition of packages
US10372728B2 (en) * 2016-09-16 2019-08-06 Oracle International Corporation System and method providing a scalable and efficient space filling curve approach to point cloud feature generation
CN106225678B (zh) 2016-09-27 2018-10-19 北京正安维视科技股份有限公司 基于3d相机的动态物体定位与体积测量方法
KR102246841B1 (ko) * 2016-10-05 2021-05-03 매직 립, 인코포레이티드 표면 모델링 시스템들 및 방법들
US10755223B2 (en) * 2016-12-28 2020-08-25 Industrial Technology Research Institute Logistic station and method for logistic
US10424083B2 (en) * 2017-10-21 2019-09-24 Samsung Electronics Co., Ltd. Point cloud compression using hybrid transforms
US10403047B1 (en) * 2018-03-01 2019-09-03 Dell Products L.P. Information handling system augmented reality through a virtual object anchor
US10853946B2 (en) 2018-05-18 2020-12-01 Ebay Inc. Physical object boundary detection techniques and systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160048874A (ko) * 2013-08-30 2016-05-04 퀄컴 인코포레이티드 물리적 장면을 표현하기 위한 방법 및 장치
US20170017301A1 (en) * 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
JP2017191605A (ja) * 2016-04-13 2017-10-19 ジック インクSICK Inc. 対象物体の寸法を計測するための方法及びシステム
KR20180046361A (ko) * 2016-10-27 2018-05-08 삼성에스디에스 주식회사 깊이 센서 기반의 적재 최적화 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Marco Leo 등, Robust Estimation of Object Dimensions and External Defect Detection with a Low-Cost Sensor, Journal of Nondestructive Evaluation(2017.02.10.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074999A1 (ko) * 2021-10-27 2023-05-04 한국전자기술연구원 3d ar 객체 영상 실시간 획득 시스템 및 이의 운용 방법
KR20230060596A (ko) * 2021-10-27 2023-05-08 한국전자기술연구원 3d ar 객체 영상 실시간 획득 시스템 및 이의 운용 방법

Also Published As

Publication number Publication date
US20240046481A1 (en) 2024-02-08
US20230252642A1 (en) 2023-08-10
KR20230072510A (ko) 2023-05-24
US10853946B2 (en) 2020-12-01
KR102532218B1 (ko) 2023-05-17
WO2019222061A1 (en) 2019-11-21
CN112166461A (zh) 2021-01-01
US11830199B2 (en) 2023-11-28
US20210065375A1 (en) 2021-03-04
US11562492B2 (en) 2023-01-24
US20190355121A1 (en) 2019-11-21
EP3794562A1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
KR102532218B1 (ko) 물리적 객체 경계 검출 기술들 및 시스템들
US10249052B2 (en) Stereo correspondence model fitting
AU2016262789B2 (en) 3d modeling by tracing 2d image ui
CN108876706B (zh) 根据全景图像的缩略图生成
US9208547B2 (en) Stereo correspondence smoothness tool
US20130289937A1 (en) Computing device and method of measuring surface dimensions of objects
US10114545B2 (en) Image location selection for use in depth photography system
WO2018042209A1 (en) Method and system for recording spatial information
US10146331B2 (en) Information processing system for transforming coordinates of a position designated by a pointer in a virtual image to world coordinates, information processing apparatus, and method of transforming coordinates
US20210201522A1 (en) System and method of selecting a complementary image from a plurality of images for 3d geometry extraction
CN115937299B (zh) 在视频中放置虚拟对象的方法及相关设备
US20230100830A1 (en) Directional Pattern Generation for Digital Images
US10748345B2 (en) 3D object composition as part of a 2D digital image through use of a visual guide
US20230267696A1 (en) Responsive Video Canvas Generation
JP2023141294A (ja) 占有格子地図生成装置、プログラムおよび占有格子地図生成方法
CN116824105A (zh) 建筑信息模型的显示调整方法、装置、设备及存储介质
CN115239803A (zh) 数据处理方法和装置
CN115847424A (zh) 一种基于图像识别的机器人回充方法、***及电子设备

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