BR112015023345B1 - IN SITU CREATION OF TARGETED NATURAL RESOURCE PLANS - Google Patents

IN SITU CREATION OF TARGETED NATURAL RESOURCE PLANS Download PDF

Info

Publication number
BR112015023345B1
BR112015023345B1 BR112015023345-7A BR112015023345A BR112015023345B1 BR 112015023345 B1 BR112015023345 B1 BR 112015023345B1 BR 112015023345 A BR112015023345 A BR 112015023345A BR 112015023345 B1 BR112015023345 B1 BR 112015023345B1
Authority
BR
Brazil
Prior art keywords
reference image
flat target
image
target
subsequent
Prior art date
Application number
BR112015023345-7A
Other languages
Portuguese (pt)
Other versions
BR112015023345A2 (en
Inventor
Daniel Wagner
Qi Pan
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112015023345A2 publication Critical patent/BR112015023345A2/en
Publication of BR112015023345B1 publication Critical patent/BR112015023345B1/en

Links

Images

Classifications

    • 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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

CRIAÇÃO IN SITU DE ALVOS PLANOS DE RECURSO NATURAL Trata-se de um sistema, aparelho e método para criação in situ de alvos planos de recurso natural. Em uma modalidade, um alvo plano é inicializado a partir de uma primeira imagem de referência única em que uma ou mais imagens subsequentes são processadas. Em uma modalidade, o alvo plano é rastreado em seis graus de liberdade mediante o processamento das uma ou mais imagens subsequentes e uma segunda imagem de referência é selecionada a partir das uma ou mais imagens subsequentes processadas. Em uma modalidade, mediante a seleção da segunda imagem de referência, o alvo plano é refinado para um alvo plano mais preciso.IN SITU CREATION OF NATURAL RESOURCE PLAN TARGETS This is a system, apparatus and method for in situ creation of natural resource plan targets. In one embodiment, a flat target is initialized from a first single reference image where one or more subsequent images are processed. In one embodiment, the flat target is tracked in six degrees of freedom by processing the one or more subsequent images and a second reference image is selected from the one or more subsequent processed images. In one embodiment, upon selection of the second reference image, the flat target is refined to a more accurate flat target.

Description

REFERÊNCIA CRUZADA PARA PEDIDO(S) RELACIONADO(S)CROSS REFERENCE FOR RELATED ORDER(S)

[0001] Este pedido reivindica o benefício e prioridade para o Pedido de Patente no U.S. 13/802.834, intitulado “In Situ Creation of Planar Natural Feature Targets”, depositado em 14 de março de 2013, que é cedido à cessionária do mesmo e incorporado a título de referência, em sua totalidade, no presente documento.[0001] This application claims benefit and priority to the U.S. Patent Application. 13/802,834, entitled “In Situ Creation of Planar Natural Feature Targets”, filed on March 14, 2013, which is assigned to the assignee thereof and incorporated by reference, in its entirety, in this document.

CAMPO DA TÉCNICAFIELD OF TECHNIQUE

[0002] A matéria revelada no presente documento refere-se geralmente à criação e rastreamento de alvo plano.[0002] Matter disclosed in this document generally pertains to flat target creation and tracking.

ANTECEDENTES DA TÉCNICABACKGROUND OF THE TECHNIQUE

[0003] Imagens ou dados de sensor de câmera podem ser usados como entrada para construir um mapa em 3D de um ambiente. Em um sistema de realidade aumentada (AR), objetos virtuais podem ser inseridos em um visor de dispositivo, sendo que os objetos virtuais interagem com objetos do mundo físico/real ou substituem os mesmos. Um sistema de AR pode incluir entrada a partir de um sensor de câmera para registrar objetos do mundo real como imagens ou vídeo e exibir uma vista em AR no visor de dispositivo.[0003] Images or camera sensor data can be used as input to build a 3D map of an environment. In an augmented reality (AR) system, virtual objects can be inserted into a device viewer, with the virtual objects interacting with or replacing physical/real world objects. An AR system may include input from a camera sensor to record real-world objects such as images or video and display an AR view on the device display.

[0004] Os sistemas de AR podem implantar um sistema de rastreamento para estimar a posição e orientação (pose) do usuário em relação a uma referência. Os sistemas de rastreamento tradicionais são limitados pelo tipo de referência rastreada assim como por procedimentos de inicialização usados para iniciar o rastreamento. Por exemplo, em sistemas de rastreamento tradicionais, uma referência adquirida previamente ou um marcador artificial pode ser usado para inicializar o rastreamento de um modelo tridimensional (3D) de um ambiente. De outro modo, sem a referência conhecida previamente, objetos podem aparecer na localização errada ou flutuar pelo mapa do ambiente.[0004] AR systems can deploy a tracking system to estimate the user's position and orientation (pose) relative to a reference. Traditional tracking systems are limited by the type of reference tracked as well as the startup procedures used to initiate tracking. For example, in traditional tracking systems, a previously acquired reference or artificial marker can be used to initiate tracking of a three-dimensional (3D) model of an environment. Otherwise, without the previously known reference, objects may appear in the wrong location or float around the environment map.

[0005] Um sistema de rastreamento que utiliza uma única câmera também pode depender da inicialização de um mapa em 3D a partir de duas imagens de referência subsequentes capturadas pela única câmera. Criar um mapa em 3D através do uso de técnicas tradicionais com base nas duas imagens de referência somente é possível se o movimento de câmera entre as duas imagens de referência for apropriado, e também mantém sobreposição suficiente entre as cenas em ambas as imagens.[0005] A tracking system using a single camera may also rely on initializing a 3D map from two subsequent reference images captured by the single camera. Creating a 3D map using traditional techniques based on the two reference images is only possible if the camera movement between the two reference images is appropriate, and it also maintains sufficient overlap between the scenes in both images.

[0006] As implantações de rastreamento tradicionais também podem depender da entrada de usuário direta para selecionar as duas imagens de referência ou podem fornecer um alvo visual adicional para registrar movimento de câmera de 6 graus de liberdade (6DoF) antes de um mapa em 3D poder ser inicializado.[0006] Traditional tracking deployments may also rely on direct user input to select the two reference images or may provide an additional visual target to record 6 degrees of freedom (6DoF) camera movement before a 3D map can be initialized.

[0007] Por exemplo, alguns métodos de rastreamento exigem que o usuário realize uma sequência de movimento não intuitivo específica sem retroalimentação visual de modo que métodos de reconstrução 3D possam ser usados para encontrar um plano real do alvo.[0007] For example, some tracking methods require the user to perform a specific non-intuitive motion sequence without visual feedback so that 3D reconstruction methods can be used to find an actual plane of the target.

[0008] Como resultado das limitações acima de métodos tradicionais de tecnologias de rastreamento, a experiência atual de usuário de realidade aumentada pode parecer não natural. Além disso, a maioria dos usuários provavelmente não sabe ou compreende os movimentos necessários para a inicialização de rastreamento tradicional através do uso de duas imagens de referência. Os usuários típicos também ficam frequentemente confusos em relação ao motivo de precisarem realizar os movimentos específicos antes de um sistema de realidade aumentada poder exibir atualizações de rastreamento para uma cena.[0008] As a result of the above limitations of traditional methods of tracking technologies, the current augmented reality user experience may seem unnatural. Also, most users probably don't know or understand the movements needed to start traditional tracking through the use of two reference images. Typical users are also often confused as to why they need to perform the specific moves before an augmented reality system can display tracking updates for a scene.

[0009] Consequentemente, a inicialização e o rastreamento de ambiente 3D amigáveis ao usuário e aprimorados são desejados.[0009] Consequently, user-friendly and improved 3D environment startup and tracing is desired.

SUMÁRIOSUMMARY

[0010] As modalidades reveladas no presente documento podem se referir a um método para criação e rastreamento de alvo plano. O método inclui inicializar um alvo tridimensional a partir de uma primeira imagem de referência única e anterior ao processamento de uma imagem subsequente. O método inclui adicionalmente processar uma ou mais imagens subsequentes, e rastrear o alvo plano em seis graus de liberdade (6DoF) mediante o processamento das uma ou mais imagens subsequentes. O método inclui adicionalmente selecionar uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes e refinar o alvo plano para um alvo plano mais preciso.[0010] The modalities disclosed in this document may refer to a method for creating and tracking a flat target. The method includes initializing a three-dimensional target from a first single reference image and prior to processing a subsequent image. The method further includes processing one or more subsequent images, and tracking the flat target in six degrees of freedom (6DoF) by processing the one or more subsequent images. The method further includes selecting a second reference image from the one or more subsequent processed images and refining the flat target to a more accurate flat target.

[0011] As modalidades reveladas no presente documento também podem se referir a um meio de armazenamento não transitório legível por computador com instruções para realizar a criação e o rastreamento de alvo plano. O meio inclui inicializar um alvo tridimensional a partir de uma primeira imagem de referência única e anterior ao processamento de uma imagem subsequente. O meio inclui adicionalmente processar uma ou mais imagens subsequentes e rastrear o alvo plano em 6DoF mediante o processamento das uma ou mais imagens subsequentes. O meio inclui adicionalmente selecionar uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes e refinar o alvo plano para um alvo plano mais preciso.[0011] The modalities disclosed herein may also refer to a non-transient computer-readable storage medium with instructions for performing flat target creation and tracking. The means includes initializing a three-dimensional target from a first single reference image and prior to processing a subsequent image. The means further includes processing one or more subsequent images and tracking the flat target in 6DoF by processing the one or more subsequent images. The means further includes selecting a second reference image from the one or more subsequent processed images and refining the flat target to a more accurate flat target.

[0012] As modalidades reveladas no presente documento também podem se referir a um aparelho que inclui meios para inicializar um alvo tridimensional a partir de uma primeira imagem de referência única e anterior ao processamento de uma imagem subsequente. O aparelho inclui adicionalmente meios para processar uma ou mais imagens subsequentes e meios para rastreamento do alvo plano em 6DoF mediante o processamento das uma ou mais imagens subsequentes. O aparelho inclui adicionalmente meios para selecionar uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes e meios para refinar o alvo plano para um alvo plano mais preciso.[0012] The embodiments disclosed herein may also refer to an apparatus that includes means for initializing a three-dimensional target from a first single reference image and prior to processing a subsequent image. The apparatus further includes means for processing one or more subsequent images and means for tracking the flat target in 6DoF upon processing the one or more subsequent images. The apparatus further includes means for selecting a second reference image from the one or more subsequent processed images and means for refining the flat target to a more accurate flat target.

[0013] As modalidades reveladas no presente documento podem se relacionar adicionalmente a um sistema de processamento de dados que inclui um processador e um dispositivo de armazenamento configurável para armazenar instruções para realizar a criação e o rastreamento de alvo plano. As instruções fazem com que o processador inicialize um alvo tridimensional a partir de uma primeira imagem de referência única e anterior ao processamento de uma imagem subsequente. As instruções adicionalmente fazem com que o processador processe uma ou mais imagens subsequentes, selecione uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes e rastreie o alvo plano em 6D0F, e refine o alvo plano para um alvo plano mais preciso.[0013] The embodiments disclosed herein may further relate to a data processing system that includes a processor and a configurable storage device to store instructions for performing flat target creation and tracking. The instructions cause the processor to initialize a three-dimensional target from a first single reference image and prior to processing a subsequent image. The instructions additionally cause the processor to process one or more subsequent images, select a second reference image from the one or more subsequent processed images, and track the flat target in 6D0F, and refine the flat target to a more accurate flat target.

[0014] Em outras modalidades, o alvo plano é presumido como inicializado a partir de uma vista paralela frontal e toda a imagem de referência é usada para inicializar o alvo plano.[0014] In other embodiments, the flat target is assumed to be initialized from a parallel front view and the entire reference image is used to initialize the flat target.

[0015] Outros recursos e vantagens se tornarão aparentes a partir dos desenhos em anexo e a partir da descrição detalhada.[0015] Other features and advantages will become apparent from the attached drawings and from the detailed description.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0016] A Figura 1 é um diagrama de blocos de uma modalidade de um sistema com capacidade de realizar os métodos revelados;[0016] Figure 1 is a block diagram of an embodiment of a system capable of performing the disclosed methods;

[0017] A Figura 2 ilustra um fluxograma de uma modalidade de um método para criação de alvo in situ;[0017] Figure 2 illustrates a flowchart of an embodiment of a method for in situ targeting;

[0018] A Figura 3 ilustra um alvo exemplificador que é paralelo frontal ao plano de câmera;[0018] Figure 3 illustrates an example target that is frontal parallel to the camera plane;

[0019] A Figura 4 ilustra um primeiro ponto de vista a partir de um dispositivo posicionado aproximadamente em frente a um alvo plano;[0019] Figure 4 illustrates a first point of view from a device positioned approximately in front of a flat target;

[0020] A Figura 5 ilustra um segundo ponto de vista a partir de um dispositivo posicionado em frente a um alvo plano;[0020] Figure 5 illustrates a second point of view from a device positioned in front of a flat target;

[0021] A Figura 6 e a Figura 7 ilustram os mesmos pontos de vista de dispositivo da Figura 4 e da Figura 5, respectivamente, sendo que as representações de alvo respectivas têm planos alvo estimados corretamente, em uma modalidade; e[0021] Figure 6 and Figure 7 illustrate the same device views as Figure 4 and Figure 5, respectively, with the respective target representations having correctly estimated target planes, in one embodiment; and

[0022] A Figura 8 ilustra um fluxograma de uma outra modalidade de um método para criação de alvo in situ.[0022] Figure 8 illustrates a flowchart of another embodiment of an in situ targeting method.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0023] A palavra “exemplificador” ou “exemplo” é usada no presente documento para significar “que serve como um exemplo, instância ou ilustração”. Qualquer aspecto ou modalidade descrito no presente documento como “exemplificador” ou como um “exemplo” não deve necessariamente ser interpretado como preferencial ou vantajoso sobre outros aspectos ou modalidades.[0023] The word “exemplifier” or “example” is used in this document to mean “which serves as an example, instance or illustration”. Any aspect or embodiment described herein as an "exemplary" or as an "example" should not necessarily be interpreted as preferring or advantageous over other aspects or embodiments.

[0024] A Figura 1 é um diagrama de blocos que ilustra um sistema em que modalidades da invenção podem ser praticadas. O sistema pode ser um dispositivo 100, que pode incluir um processador de uso geral 161, um processador de imagem 166, um processador de pose 168, um mecanismo gráfico 167 e uma memória 164. O dispositivo 100 também pode incluir vários sensores de dispositivo acoplados a um ou mais barramentos 177 ou linhas de sinal adicionalmente acopladas a pelo menos um dos processadores 161, 166 e 168. O dispositivo 100 pode ser um: dispositivo móvel, dispositivo sem fio, telefone celular, assistente pessoal digital, dispositivo do tipo para vestir (por exemplo, óculos, relógio, adereço de cabeça ou um dispositivo fixado ao corpo similar), computador móvel, computador do tipo tablet, computador pessoal, computador do tipo laptop ou qualquer tipo de dispositivo que tenha capacidades de processamento.[0024] Figure 1 is a block diagram illustrating a system in which embodiments of the invention may be practiced. The system may be a device 100, which may include a general purpose processor 161, an image processor 166, a pose processor 168, a graphics engine 167, and a memory 164. The device 100 may also include a number of coupled device sensors. to one or more buses 177 or signal lines additionally coupled to at least one of processors 161, 166 and 168. Device 100 may be a: mobile device, wireless device, cellular phone, personal digital assistant, wearable device (e.g. eyeglasses, watch, headdress or similar body-mounted device), mobile computer, tablet computer, personal computer, laptop computer or any type of device that has processing capabilities.

[0025] Em uma modalidade, o dispositivo 100 pode ser uma plataforma móvel/portátil. O dispositivo 100 pode incluir um meio para capturar uma imagem, tal como a(s) câmera(s) 114 e/ou os sensores de CMOS (não mostrado) e pode opcionalmente incluir os sensores de movimento 111, tais como acelerômetros, giroscópios, bússola eletrônica ou outros elementos de captação de movimento similares. O dispositivo 100 também pode capturar imagens em uma câmera frontal e/ou traseira (por exemplo, as câmeras 114). O dispositivo 100 pode incluir adicionalmente uma interface de usuário 150 que inclui um meio para exibir uma imagem em realidade aumentada, tal como o visor 112. A interface de usuário 150 também pode incluir um teclado, miniteclado 152, ou outro dispositivo de entrada através do qual o usuário pode inserir informações no dispositivo 100. Caso seja desejado, integrar um miniteclado virtual no visor 112 com um sensor/tela sensível ao toque pode neutralizar o teclado ou miniteclado 152. A interface de usuário 150 também pode incluir um microfone 154 e um alto-falante 156, por exemplo, se o dispositivo 100 for uma plataforma móvel tal como um telefone celular. O dispositivo 100 pode incluir vários outros elementos, tal como um sistema receptor de posição por satélite, dispositivo de alimentação (por exemplo, uma bateria), assim como outros componentes tipicamente associados a dispositivos eletrônicos portáteis e não portáteis.[0025] In one embodiment, the device 100 may be a mobile/portable platform. Device 100 may include means for capturing an image, such as camera(s) 114 and/or CMOS sensors (not shown), and may optionally include motion sensors 111, such as accelerometers, gyroscopes, electronic compass or other similar motion capture elements. Device 100 can also capture images on a front and/or rear camera (eg, cameras 114). Device 100 may additionally include a user interface 150 that includes means for displaying an image in augmented reality, such as display 112. User interface 150 may also include a keyboard, mini-keyboard 152, or other input device via the which the user can enter information on the device 100. If desired, integrating a virtual mini-keyboard on the display 112 with a sensor/touch screen can override the keyboard or mini-keyboard 152. The user interface 150 may also include a microphone 154 and a speaker 156, for example, if device 100 is a mobile platform such as a cell phone. Device 100 may include various other elements, such as a satellite position receiving system, power device (eg, a battery), as well as other components typically associated with portable and non-portable electronic devices.

[0026] O dispositivo 100 pode funcionar como um dispositivo móvel ou sem fio e pode se comunicar através de um ou mais enlaces de comunicação sem fio através de uma rede sem fio que têm base em ou, de outro modo, suportam qualquer tecnologia de comunicação sem fio adequada. Por exemplo, em alguns aspectos, o dispositivo 100 pode ser um cliente ou servidor e pode se associar a uma rede sem fio. Em alguns aspectos a rede pode compreender uma rede de área corporal ou uma rede de área pessoal (por exemplo, uma rede de banda ultra larga). Em alguns aspectos a rede pode compreender uma rede de área local ou uma rede de área ampla. Um dispositivo sem fio pode suportar ou, de outro modo, usar uma ou mais dentre uma variedade de tecnologias de comunicação sem fio, protocolos, ou padrões tais como, por exemplo, CDMA, TDMA, OFDM, OFDMA, WiMAX e Wi-Fi. De modo similar, um dispositivo sem fio pode suportar ou, de outro modo, usar uma ou mais dentre uma variedade de esquemas de modulação ou multiplexação correspondentes. Um dispositivo móvel sem fio pode se comunicar de forma sem fio com outros dispositivos móveis, telefones celulares, outros computadores com e sem fio, sites da web da Internet, etc.[0026] Device 100 may function as a mobile or wireless device and may communicate over one or more wireless communication links over a wireless network that are based on or otherwise support any communication technology proper wireless. For example, in some respects, device 100 can be a client or server and can join a wireless network. In some aspects the network may comprise a body area network or a personal area network (eg, an ultra-broadband network). In some respects the network may comprise a local area network or a wide area network. A wireless device may support or otherwise use one or more of a variety of wireless communication technologies, protocols, or standards such as, for example, CDMA, TDMA, OFDM, OFDMA, WiMAX, and Wi-Fi. Similarly, a wireless device may support or otherwise use one or more of a variety of corresponding modulation or multiplexing schemes. A wireless mobile device can communicate wirelessly with other mobile devices, cell phones, other wired and wireless computers, Internet websites, etc.

[0027] Em uma modalidade, um módulo de criação de alvo in situ (ITC), conforme descrito no presente documento, pode inicializar um alvo plano instantaneamente a partir de uma única imagem de referência. O termo módulo é usado para se referir a hardware, firmware, software, ou alguma combinação dos mesmos que tem capacidade de realizar as funções citadas. Por exemplo, um ITC pode receber imagens ou vídeo a partir de uma única câmera 114 ou entrada visual monocular. A inicialização de alvo plano pode ocorrer mediante o processamento da única imagem de referência e anterior a quaisquer outras imagens serem processadas. O ITC pode processar a única imagem de referência (por exemplo, extrair pontos de recurso associados a um alvo) e pode estimar uma posição e orientação (pose) de câmera de 6 graus de liberdade a partir de um conjunto de correspondências de ponto (por exemplo, recursos a partir de duas ou mais imagens). Conforme usado no presente documento, a detecção de pontos de recurso e a estimativa da pose de câmera de 6DoF para os pontos de recurso são conjuntamente chamados de “rastreamento” do alvo. O ITC pode inicializar o alvo plano sem conhecimento anterior do ambiente do usuário (por exemplo, sem um mapa pré-populado, modelo de CAD, marcadores na cena ou descritor de alvo predefinido similar) e sem o uso de duas imagens de referência precisas diferentes. Em algumas modalidades, o ITC pode fornecer retroalimentação visual (por exemplo, ajuste de alvo exibido) durante a inicialização.[0027] In one embodiment, an in situ target creation (ITC) module, as described herein, can initialize a flat target instantly from a single reference image. The term module is used to refer to hardware, firmware, software, or some combination thereof, which is capable of performing the aforementioned functions. For example, an ITC may receive images or video from a single camera 114 or monocular visual input. Flat target initialization can occur upon processing the single reference image and prior to any other images being processed. The ITC can process the single reference image (e.g. extracting feature points associated with a target) and can estimate a 6 degree-of-freedom camera position and orientation (pose) from a set of point matches (e.g. (e.g. features from two or more images). As used in the present document, detecting feature points and estimating the 6DoF camera pose for the feature points are jointly referred to as “tracking” the target. ITC can initialize the flat target without prior knowledge of the user's environment (e.g. without a pre-populated map, CAD model, in-scene markers or similar predefined target descriptor) and without the use of two different precise reference images . In some embodiments, the ITC may provide visual feedback (eg, displayed target adjustment) during startup.

[0028] O ITC pode emitir ou exibir uma representação em realidade aumentada (AR) das imagens de entrada ou vídeo após receber a entrada de imagens ou vídeo. Em algumas modalidades, o ITC pode exibir a representação de AR (por exemplo, uma modificação ou adição de um objeto virtual em uma cena do mundo real) do alvo em tempo real, próximo a tempo real, dentro de uma janela de curto período de tempo, ou instantaneamente mediante a inicialização do alvo a partir de uma única imagem que depende das capacidades do dispositivo 100. Em algumas modalidades, o módulo de ITC pode inicializar e exibir a representação de AR sem qualquer entrada de sensor adicional (por exemplo, sem o auxílio de um acelerômetro, telêmetro a laser, giroscópio, GPS, ou outros sensores usados para determinar posição). Portanto, sistemas de matriz de múltiplas câmeras dispendiosos e complexos podem ser minimizados e o ITC pode ser acoplado a sensores de câmera comumente disponíveis. Por exemplo, o ITC pode ser acoplado a um dispositivo móvel de única câmera, tal como um telefone inteligente, ou um dispositivo do tipo para vestir tal como os óculos AR.[0028] The ITC may emit or display an augmented reality (AR) representation of the input images or video after receiving the images or video input. In some embodiments, the ITC can display the AR representation (e.g., a modification or addition of a virtual object to a real-world scene) of the target in real-time, close to real-time, within a short period of time. time, or instantly upon initialization of the target from a single image depending on the capabilities of the device 100. In some embodiments, the ITC module may initialize and display the AR representation without any additional sensor input (e.g., without the aid of an accelerometer, laser rangefinder, gyroscope, GPS, or other sensors used to determine position). Therefore, expensive and complex multi-camera array systems can be minimized and the ITC can be coupled to commonly available camera sensors. For example, the ITC can be attached to a single camera mobile device, such as a smart phone, or a wearable device such as AR glasses.

[0029] Em uma modalidade, o ITC pode inicializar o alvo plano tratando-se (por exemplo, passando-se um parâmetro/configuração de ponto de vista durante a inicialização) toda a imagem de câmera capturada (por exemplo, a única imagem de referência) como uma vista paralela frontal de um objeto alvo. Em outras modalidades, o ITC pode inicializar o alvo plano com uma porção ou subseção da imagem de câmera completa. O ITC pode criar um conjunto de dados preciso para o rastreamento de recurso natural de alvo plano sem quaisquer marcadores ou rótulos predeterminados.[0029] In one embodiment, the ITC can initialize the flat target by treating (e.g., passing a viewpoint parameter/setting during initialization) the entire captured camera image (e.g., the single camera image). reference) as a front parallel view of a target object. In other embodiments, the ITC may initialize the flat target with a portion or subsection of the complete camera image. ITC can create an accurate dataset for flat target natural feature tracking without any predetermined markers or labels.

[0030] Devido ao fato de que o ITC pode inicializar plenamente um alvo plano a partir de uma única imagem de referência, nenhum movimento ou entrada de câmera específico adicional é usado antes de o rastreamento poder iniciar. Em algumas modalidades, o ITC pode rastrear uma cena ou objeto imediatamente, em tempo real, próximo a tempo real, ou dentro de uma janela de curto período de tempo de receber a imagem de referência e pode fornecer concomitantemente atualizações de AR em tempo real para o visor (por exemplo, um aumento do alvo). Através da habilitação de rastreamento de alvo a partir da inicialização de uma única imagem de referência inicial, usuários são naturalmente (isto é, sem solicitação ou instruções específicas) encorajados a continuar a mover/reposicionar a câmera e explorar um alvo ou cena com a câmera. Uma maior exploração de uma cena em diferentes ângulos e pontos de vista permite que o ITC colete imagens subsequentes adicionais que podem ser testadas para uma translação suficiente a partir da primeira imagem de referência. Uma vez que uma imagem com translação suficiente é detectada, a imagem pode ser atribuída como uma segunda imagem de referência para ser usada na triangulação ou refinamento adicional do mapa, alvo e pose de câmera.[0030] Due to the fact that the ITC can fully initialize a flat target from a single reference image, no additional specific camera movement or input is used before tracking can start. In some embodiments, the ITC can track a scene or object immediately, in real-time, close to real-time, or within a short time window of receiving the reference image and can concurrently provide real-time AR updates for the viewfinder (for example, a target magnification). By enabling target tracking from initialization of a single initial reference image, users are naturally (i.e. without prompts or specific instructions) encouraged to continue to move/reposition the camera and explore a target or scene with the camera . Further exploration of a scene from different angles and viewpoints allows ITC to collect additional subsequent images that can be tested for sufficient translation from the first reference image. Once an image with sufficient translation is detected, the image can be assigned as a second reference image to be used for triangulation or further refinement of the map, target and camera pose.

[0031] A Figura 2 ilustra um fluxograma de uma modalidade de criação de alvo in situ. No bloco 205, o ITC pode inicializar um alvo plano a partir de uma imagem capturada (por exemplo, como uma única imagem de referência) e anterior ao processamento de quaisquer outras/subsequentes imagens. Em algumas modalidades, a inicialização pode ocorrer imediatamente, em tempo real, próximo a tempo real ou dentro de uma janela de curto período de tempo da captura de imagem de referência. O ITC pode criar o alvo plano com base no processamento da única imagem de referência. Conforme usado no presente documento, plano é usado para descrever objetos aproximadamente achatados com uma superfície bidimensional. Por exemplo, processar uma imagem capturada (por exemplo, uma imagem de inicialização capturada a partir da câmera 114) pode incluir calcular um conjunto de recursos ou pontos de recurso extraídos e tratar a única imagem de referência como uma vista paralela frontal de um alvo. A inicialização do alvo plano é descrita em maiores detalhes abaixo.[0031] Figure 2 illustrates a flowchart of an in situ targeting modality. At block 205, the ITC may initialize a flat target from a captured image (e.g., as a single reference image) and prior to processing any other/subsequent images. In some embodiments, initialization can occur immediately, in real-time, close to real-time, or within a short time window of the reference image capture. The ITC can create the flat target based on processing the single reference image. As used herein, plane is used to describe approximately flat objects with a two-dimensional surface. For example, processing a captured image (e.g. a boot image captured from camera 114) may include calculating a set of extracted features or feature points and treating the single reference image as a front parallel view of a target. Flat target initialization is described in more detail below.

[0032] No bloco 210, o ITC pode processar uma ou mais imagens subsequentes. O processamento pode incluir determinar um conjunto de recursos dentro da imagem subsequente. O conjunto de recursos pode ser os mesmos recursos determinados após o processamento da única imagem de referência, entretanto, a localização de recurso de referência para um ou mais recursos pode ser diferente na imagem subsequente se a pose da câmera tiver mudado desde o processamento da única imagem de referência.[0032] At block 210, the ITC may process one or more subsequent images. Processing may include determining a set of features within the subsequent image. The feature set may be the same features determined after processing the single reference image, however, the reference feature location for one or more features may be different in the subsequent image if the camera pose has changed since processing the single reference image.

[0033] No bloco 215, o ITC pode rastrear o alvo plano (por exemplo, um recurso natural alvo plano) em seis graus de liberdade mediante o processamento das uma ou mais imagens subsequentes. Em algumas modalidades, o rastreamento de ITC pode ocorrer imediatamente, instantaneamente, em tempo real, próximo a tempo real, ou dentro de um curto período de tempo que segue o recebimento pelo ITC da única imagem de referência. O rastreamento do alvo pode incluir comparar localizações de cada ponto de recurso a partir da única imagem de referência com recursos correspondentes em imagem(ns) subsequente(s) e determinar uma mudança na localização de um ou mais dentre os mesmos pontos de recurso encontrados em ambas as imagens. Para cada imagem subsequente (por exemplo, uma imagem capturada e processada após a imagem de referência inicial) o ITC pode atualizar as localizações de recurso de referência para fornecer uma pose de câmera atualizada.[0033] At block 215, the ITC can track the flat target (eg, a flat target natural feature) in six degrees of freedom by processing the one or more subsequent images. In some embodiments, ITC tracking can occur immediately, instantaneously, in real-time, near real-time, or within a short period of time following the ITC's receipt of the single reference image. Target tracking may include comparing locations of each feature point from the single reference image to corresponding features in subsequent image(s) and determining a change in the location of one or more of the same feature points found in both images. For each subsequent image (for example, an image captured and processed after the initial reference image) the ITC can update the reference feature locations to provide an updated camera pose.

[0034] O ITC pode continuar o rastreamento de um alvo (por exemplo, cena, objeto ou mapa) com base em processamento de uma ou mais imagens subsequentes (por exemplo, uma ou mais imagens capturadas em um ponto mais à frente no tempo a partir da captura da única imagem de referência). Em algumas modalidades, o ITC também pode fazer com que o visor de dispositivo emita uma representação em realidade aumentada do alvo imediatamente, em tempo real, próximo a tempo real ou dentro de uma janela de curto período de tempo da inicialização do alvo plano.[0034] The ITC may continue tracking a target (e.g. scene, object or map) based on processing one or more subsequent images (e.g. one or more images captured at a point further in time than from capturing the single reference image). In some embodiments, the ITC can also cause the device display to emit an augmented reality representation of the target immediately, in real-time, close to real-time, or within a short time window of flat target initialization.

[0035] No bloco 216, o ITC pode selecionar uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes. Por exemplo, uma segunda imagem de referência pode ser selecionada mediante a determinação do ITC de que a translação da segunda imagem de referência em relação à primeira imagem de referência atende um limiar de translação.[0035] At block 216, the ITC may select a second reference image from the one or more subsequent processed images. For example, a second reference image can be selected by determining the ITC that the translation of the second reference image relative to the first reference image meets a translation threshold.

[0036] No bloco 220, o ITC pode adicionalmente refinar o alvo plano para um alvo plano mais preciso. Por exemplo, o ITC pode otimizar a câmera e modelo (alvo) com base no(s) recurso(s) acumulado(s) a partir de uma imagem subsequente que atende(m) um limiar de translação. Detalhes adicionais sobre o refinamento do alvo plano são descritos abaixo.[0036] In block 220, the ITC can further refine the flat target to a more accurate flat target. For example, the ITC can optimize the camera and model (target) based on the resource(s) accumulated from a subsequent image that meets a translation threshold. Additional details on flat target refinement are described below.

[0037] Em algumas modalidades, o ITC pode inicializar um alvo plano imediatamente, em tempo real, próximo a tempo real ou dentro de uma janela de curto período de tempo de recebimento de uma imagem capturada (isto é, única imagem de referência) e anterior ao processamento de quaisquer imagens subsequentes. Em algumas modalidades, o ITC pode criar um alvo completamente plano com base inteiramente no processamento da única imagem de referência.[0037] In some embodiments, the ITC can initialize a flat target immediately, in real-time, close to real-time, or within a short time window of receiving a captured image (i.e., single reference image) and prior to processing any subsequent images. In some embodiments, the ITC can create a completely flat target based entirely on processing the single reference image.

[0038] Adicionalmente, em algumas modalidades, o ITC pode não ter acesso a e pode não solicitar entrada pertencente a informações predeterminadas sobre um alvo tal como objeto ou marcadores de cena, mapa, medidas de dados de sensor alternado ou outras informações de alvo coletadas antes de uma imagem capturada inicial.[0038] Additionally, in some embodiments, the ITC may not have access to and may not request input pertaining to predetermined information about a target such as object or scene markers, map, alternate sensor data measurements, or other target information collected beforehand. of an initial captured image.

[0039] Em algumas modalidades, um dispositivo (por exemplo, o dispositivo 100) pode automaticamente iniciar, executar ou rodar o ITC (por exemplo, através do uso do processador 161) sem qualquer interação de usuário direta ou manual. Em algumas modalidades, o dispositivo pode capturar uma primeira imagem a partir de uma câmera (por exemplo, câmera 114) e enviar a imagem para o ITC para inicialização de alvo plano, rastreamento e/ou processamento de realidade aumentada. Alternativamente, em algumas modalidades, o ITC pode fazer com que o dispositivo solicite que um usuário comece a inicialização e rastreamento de um alvo através do toque em uma tela sensível ao toque, pressionando-se um botão ou entrada similar. O ITC também pode ser integrado em uma aplicação ou programa, e a aplicação ou programa pode capturar a única imagem de referência e acionar o ITC.[0039] In some embodiments, a device (eg, device 100) may automatically start, run, or run the ITC (eg, through the use of processor 161) without any direct or manual user interaction. In some embodiments, the device may capture a first image from a camera (eg, camera 114) and send the image to the ITC for flat target initialization, tracking, and/or augmented reality processing. Alternatively, in some embodiments, the ITC may have the device prompt a user to begin booting and tracking a target by touching a touchscreen, pressing a button, or similar input. The ITC can also be integrated into an application or program, and the application or program can capture the single reference image and trigger the ITC.

[0040] Em algumas modalidades, a imagem capturada pode ser recebida a partir de uma alimentação de imagem no dispositivo ou um usuário pode iniciar a captura da imagem capturada. A única imagem de referência pode ser automaticamente capturada pela câmera 114 quando uma movimentação ou movimento da câmera é detectado. As imagens capturadas podem ser imagens estáticas da câmera ou quadros a partir de uma alimentação de vídeo.[0040] In some embodiments, the captured image can be received from an image feed on the device or a user can initiate capture of the captured image. The single reference image can be automatically captured by camera 114 when motion or camera movement is detected. Captured images can be still images from the camera or frames from a video feed.

[0041] Um recurso (por exemplo, ponto de recurso ou ponto de interesse) conforme usado no presente documento é como uma parte interessante ou notável de uma imagem. Os recursos extraídos a partir da imagem podem representar pontos distintos ao longo de espaço tridimensional (por exemplo, coordenadas em eixos X, Y e Z) e todo ponto de recurso pode ter uma localização de recurso associada. A única imagem de referência pode ter recursos de referência que são usadas para comparação para recursos encontrados em imagens subsequentes. Os recursos em imagens subsequentes tanto se correlacionam como falham em se correlacionar (isto é, são iguais) como os recursos de referência da única imagem de referência. A detecção de recurso pode ser uma operação de processamento de imagem para examinar todo pixel para determinar se um recurso existe em um pixel em particular. A detecção de recurso pode processar uma imagem inteira ou, alternativamente certas porções ou partes da imagem.[0041] A feature (eg feature point or point of interest) as used in this document is like an interesting or notable part of an image. Features extracted from the image can represent distinct points along three-dimensional space (eg coordinates in X, Y and Z axes) and every feature point can have an associated feature location. The single reference image can have reference features that are used for comparison to features found in subsequent images. Features in subsequent images either correlate or fail to correlate (ie, are the same) as the reference features of the single reference image. Feature detection can be an image processing operation to examine every pixel to determine if a feature exists in a particular pixel. Feature detection can process an entire image or alternatively certain portions or parts of the image.

[0042] Para cada imagem capturada ou quadro de vídeo, uma vez que recursos tenham sido detectados, um patch de imagem local ao redor do recurso pode ser extraído. Os recursos podem ser extraídos através do uso de uma técnica bem conhecida, tal como Transformação de Recurso Invariável em Escala (SIFT), que localiza recursos e gera as descrições dos mesmos. Caso seja desejado, outras técnicas, tal como Recursos Robustos de Aumento de Velocidade (SURF), histograma de Orientação de Localização Gradiente (GLOH), Correlação Cruzada Normalizada (NCC) ou outras técnicas comparáveis podem ser usadas. Quando o número de recursos extraídos para uma imagem é determinado como excedendo um limiar (por exemplo, recursos de 100 pontos ou outro número de pontos) a imagem pode ser salva como a única imagem de referência e os recursos extraídos podem ser definidos como recursos/pontos de referência (ou pontos de recurso extraídos) de um alvo.[0042] For each captured image or video frame, once features have been detected, a local image patch around the feature can be extracted. Features can be extracted using a well-known technique such as Scale Invariant Feature Transformation (SIFT), which locates features and generates descriptions of them. If desired, other techniques, such as Robust Speed Increase Features (SURF), Gradient Location Guidance Histogram (GLOH), Normalized Cross Correlation (NCC) or other comparable techniques can be used. When the number of features extracted for an image is determined to exceed a threshold (e.g. 100-point features or other number of points) the image can be saved as the only reference image and the extracted features can be defined as features/ landmarks (or extracted feature points) of a target.

[0043] Um alvo, conforme usado no presente documento, pode incluir recursos extraídos a partir de um único objeto isolado dentro de uma imagem, ou múltiplos objetos. Por exemplo, toda uma cena capturada em uma imagem pode incluir múltiplos objetos e cada objeto pode ter um ou mais recursos extraídos. Um grupo de objetos dentro de uma imagem ou cena também pode ter um conjunto de recursos coletivos combinados associado a todo o grupo.[0043] A target, as used herein, may include features extracted from a single isolated object within an image, or multiple objects. For example, an entire scene captured in an image can include multiple objects and each object can have one or more extracted features. A group of objects within an image or scene can also have a combined collective resource set associated with the entire group.

[0044] O ITC pode usar recursos a partir de toda a imagem de referência única para criar o alvo plano. Para determinar o alvo, o ITC pode fazer uma pressuposição inicial de que todos os recursos se encontram em um plano paralelo ao plano de câmera (recursos de referência podem ser inicializados em uma mesma distância/profundidade a partir da câmera perpendicular para a direção de observação).[0044] ITC can use resources from the entire single reference image to create the flat target. To determine the target, the ITC can make an initial assumption that all features lie in a plane parallel to the camera plane (reference features can be initialized at the same distance/depth from the camera perpendicular to the observation direction ).

[0045] O alvo plano inicializado pode ser armazenado em memória (por exemplo, na memória 164) e associado a um ou mais recursos extraídos ou calculados a partir da única imagem de referência.[0045] The initialized flat target may be stored in memory (eg in memory 164) and associated with one or more features extracted or calculated from the single reference image.

[0046] Em uma modalidade, o ITC pode habilitar rastreamento de alvo imediatamente, em tempo real, próximo a tempo real ou dentro de uma janela de curto período de tempo de inicialização do alvo plano. Em algumas modalidades, o ITC pode fornecer o rastreamento de câmera imediato, em tempo real, ou próximo a tempo real a partir da única imagem de referência para imagens capturadas subsequentemente. Em algumas modalidades, os métodos de rastreamento delineados no presente documento podem facilitar o rastreamento de ITC de alvos parcialmente oclusos. Além disso, os métodos revelados podem facilitar o rastreamento de ITC de alvos independentes de uma rotação em particular do objeto (por exemplo, objetos horizontal ou verticalmente alinhados são igualmente viáveis para o rastreamento de ITC).[0046] In one embodiment, the ITC can enable target tracking immediately, in real-time, close to real-time or within a short time window of flat target initialization. In some embodiments, the ITC can provide immediate, real-time, or near real-time camera tracking from the single reference image to subsequently captured images. In some embodiments, the tracking methods outlined in this document may facilitate ITC tracking of partially occluded targets. Furthermore, the disclosed methods may facilitate ITC tracking of targets independent of a particular rotation of the object (eg horizontally or vertically aligned objects are equally viable for ITC tracking).

[0047] Em uma modalidade, conforme o dispositivo se move em relação ao alvo (por exemplo, um ou mais objetos ou a cena dentro da imagem de referência), a câmera pode continuar para capturar e processar imagens adicionais subsequentes do alvo a partir dos pontos de vista diferentes. O ITC pode emitir uma representação de AR associada às imagens processadas para o visor de dispositivo (por exemplo, o visor 112). Em uma modalidade, a criação de alvo in situ fornece retroalimentação em tempo real e pode fornecer exibição instantânea, em tempo real ou próximo a tempo real de quaisquer erros de rastreamento de tal modo que um usuário seja encorajado a fornecer movimento adicional de câmera. O movimento de câmera adicional pode fornecer referências de imagem adicionais úteis para refinar adicionalmente o alvo. Por exemplo, mesmo com erros de rastreamento iniciais, o ITC pode fornecer uma representação de alvo precisa o suficiente para promover a exploração de cena adicional pelo usuário até que uma segunda imagem de referência seja descoberta. Uma segunda imagem de referência pode ser usada para reduzir adicionalmente quaisquer erros e refinar o alvo. Em uma modalidade, erros de rastreamento de alvo preliminarmente iniciais são reduzidos quando a primeira imagem de referência está próxima/aproximada de uma vista paralela frontal em relação ao alvo que é rastreado.[0047] In one embodiment, as the device moves relative to the target (e.g., one or more objects or the scene within the reference image), the camera may proceed to capture and process additional subsequent images of the target from the different points of view. The ITC may output an AR representation associated with the processed images to the device display (e.g., display 112). In one embodiment, in-situ targeting provides real-time feedback and can provide instant, real-time, or near-real-time display of any tracking errors such that a user is encouraged to provide additional camera movement. Additional camera movement can provide additional image references useful to further refine the target. For example, even with initial tracking errors, ITC can provide a target representation accurate enough to promote further scene exploration by the user until a second reference image is discovered. A second reference image can be used to further reduce any errors and refine the target. In one embodiment, preliminarily initial target tracking errors are reduced when the first reference image is close/close to a parallel front view of the target being tracked.

[0048] A Figura 3 ilustra um alvo que está paralelo frontal ao plano de câmera. A Figura 3 ilustra quatro objetos circulares 360, 365, 360 e 375 em um alvo plano 310. Os quatro objetos se encontram ao longo do mesmo plano de tal modo que cada objeto tenha a mesma coordenada Z e profundidade igual a partir do plano de câmera/dispositivo. O dispositivo 100 pode exibir (por exemplo, através do visor de dispositivo 112) uma representação 330 do objeto de mundo real 310. A representação 330 do objeto de mundo real 310 pode incluir realidade aumentada conforme descrito em maiores detalhes abaixo.[0048] Figure 3 illustrates a target that is frontally parallel to the camera plane. Figure 3 illustrates four circular objects 360, 365, 360, and 375 on a flat target 310. The four objects lie along the same plane such that each object has the same Z coordinate and equal depth from the camera plane. /device. Device 100 may display (e.g., through device display 112) a representation 330 of real world object 310. Representation 330 of real world object 310 may include augmented reality as described in greater detail below.

[0049] Em geral, o ITC pode operar em imagens que estão aproximadamente paralelas frontais para obter uma imagem de referência e não é limitado para captura e processamento de alvo exatamente paralelo frontal. O ITC pode atribuir toda a primeira imagem de referência 430 como o alvo e pressupor uma vista paralela frontal em casos onde o plano de câmera não está exatamente paralelo frontal ao alvo.[0049] In general, the ITC can operate on images that are approximately frontal parallel to obtain a reference image and is not limited to capture and processing of exactly frontal parallel target. The ITC can assign the entire first 430 reference image as the target and assume a front parallel view in cases where the camera plane is not exactly front parallel to the target.

[0050] A Figura 4 ilustra um primeiro ponto de vista a partir de um dispositivo posicionado aproximadamente em frente a um alvo plano, em uma modalidade. A Figura 4 ilustra um ponto de vista aproximadamente paralelo frontal de um alvo 405 (por exemplo, uma pintura) a partir da perspectiva do dispositivo 100. O dispositivo 100 pode exibir (por exemplo, através do visor de dispositivo 112) uma representação 425 do objeto de mundo real 405. A representação 425 do objeto de mundo real 405 pode incluir realidade aumentada conforme descrito em maiores detalhes abaixo. O primeiro ponto de vista exemplificador 400 ilustra a criação de um alvo 430 com base em toda a imagem no visor 112. A Figura 4 ilustra que os cantos 410 e 415 (recursos) podem se encontrar em uma coordenada Z diferente e podem ter diferentes profundidades em relação ao plano da câmera 114.[0050] Figure 4 illustrates a first point of view from a device positioned approximately in front of a flat target, in one embodiment. Figure 4 illustrates an approximately parallel front view of a target 405 (e.g., a painting) from the perspective of device 100. Device 100 may display (e.g., through device display 112) a representation 425 of the real world object 405. Representation 425 of real world object 405 may include augmented reality as described in greater detail below. The first example view 400 illustrates the creation of a target 430 based on the entire image on the display 112. Figure 4 illustrates that the corners 410 and 415 (features) may meet at a different Z coordinate and may have different depths. relative to the camera plane 114.

[0051] A Figura 5 ilustra um segundo ponto de vista a partir do dispositivo 100 posicionado aproximadamente em frente a um alvo plano, em uma modalidade. A Figura 5 ilustra uma forte distorção 515 devido ao alvo de rastreamento (isto é, toda a primeira imagem de referência 430) a partir do primeiro ponto de vista. A distorção 515 da imagem de referência 430 também pode gerar uma representação A distorcida. Por exemplo, embora a pressuposição inicial de uso de toda a imagem de referência 420 possa ser aproximada, o rastreamento pode ser preciso o suficiente para encorajar uma interação de usuário adicional. O usuário, mediante a visualização da representação do alvo (por exemplo, o AR distorcido exibido no visor de dispositivo 112) pode naturalmente tentar reposicionar o dispositivo 100 e capturar um ângulo alternativo do alvo. Após as imagens de referência subsequentes serem processadas (por exemplo, uma segunda imagem de referência é determinada para ter translação suficiente) o ITC pode triangular precisamente os recursos de alvo para calcular a área coberta pelo alvo plano na primeira e na segunda imagem de referência e o verdadeiro plano normal do alvo plano na primeira e na segunda imagem de referência.[0051] Figure 5 illustrates a second point of view from device 100 positioned approximately in front of a flat target, in one embodiment. Figure 5 illustrates a strong distortion 515 due to the tracking target (i.e., the entire first reference image 430) from the first viewpoint. The distortion 515 of the reference image 430 can also generate a distorted representation A. For example, while the initial assumption of using the entire 420 reference image may be approximate, the tracking may be accurate enough to encourage further user interaction. The user, upon viewing the representation of the target (e.g., the distorted AR displayed on the device display 112) can naturally attempt to reposition the device 100 and capture an alternate angle of the target. After the subsequent reference images are processed (e.g. a second reference image is determined to have sufficient translation) the ITC can precisely triangulate the target features to calculate the area covered by the flat target in the first and second reference images and the true plane normal of the flat target in the first and second reference images.

[0052] A Figura 6 e a Figura 7 ilustram os mesmos pontos de vista do dispositivo da Figura 4 e da Figura 5, respectivamente, exceto com as representações de alvo respectivas 610 e 710 que têm planos alvo estimados corretamente, em uma modalidade. Por exemplo, o ITC inicializa com toda a primeira imagem de referência como o alvo plano na Figura 4, e mediante a determinação de uma segunda imagem de referência com suficiente linha de base ou translação, o ITC pode corretamente estimar o alvo conforme ilustrado na Figura 6 e na Figura 7.[0052] Figure 6 and Figure 7 illustrate the same device views of Figure 4 and Figure 5, respectively, except with the respective target representations 610 and 710 that have correctly estimated target planes, in one embodiment. For example, the ITC initializes with the entire first reference image as the flat target in Figure 4, and upon determining a second reference image with sufficient baseline or translation, the ITC can correctly estimate the target as illustrated in Figure 4. 6 and in Figure 7.

[0053] A Figura 6 e a Figura 7 têm um arqueamento correto (por exemplo, após a triangulação do primeiro e do segundo quadro de referência) e pode precisamente aumentar uma representação do objeto de mundo real quando usado em um sistema de AR. Por exemplo, as áreas sombreadas da Figura 6 e da Figura 7 podem ser substituídas ou sobrepostas por um objeto diferente que não a pintura original 405 (por exemplo, inserir uma nova pintura, anúncio comercial, imagem selecionada por usuário, vídeo ou algum outro objeto de AR como uma substituição).[0053] Figure 6 and Figure 7 have correct camber (eg after triangulating the first and second frames of reference) and can accurately augment a representation of the real world object when used in an AR system. For example, the shaded areas in Figure 6 and Figure 7 can be replaced or superimposed by a different object than the original 405 painting (e.g. inserting a new painting, commercial, user-selected image, video, or some other object of AR as a replacement).

[0054] Em uma modalidade, o ITC identifica o alvo em uma imagem e determina a posição e orientação do alvo em relação a um sistema de coordenada e/ou em relação a um plano de câmera. Essas informações podem ser usadas, por exemplo, para permitir que um usuário use um dispositivo como um sistema de AR ou podem ser usadas por um robô para navegar por um ambiente desconhecido. A posição e a orientação (pose) de câmera podem ser descritas por meio de uma transformação de rotação e translação, que traz o objeto a partir de uma pose de referência para a pose observada. Essa transformação de rotação pode ser representada em modos diferentes (por exemplo, como uma matriz de rotação, um quaternião ou outra representação).[0054] In one embodiment, the ITC identifies the target in an image and determines the position and orientation of the target in relation to a coordinate system and/or in relation to a camera plane. This information can be used, for example, to allow a user to use a device such as an AR system, or it can be used by a robot to navigate an unfamiliar environment. Camera position and orientation (pose) can be described through a rotation and translation transformation, which brings the object from a reference pose to the observed pose. This rotation transformation can be represented in different ways (for example, as a rotation matrix, a quaternion, or other representation).

[0055] Em uma modalidade, o ITC seleciona automaticamente as partes (por exemplo, pontos de recurso extraídos) de uma cena que podem ser atualizadas dado o movimento da câmera 114 observado. Em uma modalidade, o ITC pode automaticamente selecionar, a partir de imagens capturadas enquanto a câmera 114 está em movimento e registrando imagens, uma segunda imagem de referência para usar para uma inicialização completa de mapa em 3D. Além disso, o ITC pode estimar o movimento da câmera 114 a partir do alvo plano inicial e fornecer rastreamento de câmera instantâneo antes de um segundo quadro de imagem ser recebido ou processado. Em uma modalidade, o ITC pode operar sem entrada de usuário, e sem depender de quaisquer outros métodos de rastreamento externos.[0055] In one embodiment, the ITC automatically selects the parts (eg extracted feature points) of a scene that can be updated given observed camera movement 114. In one embodiment, the ITC may automatically select, from images captured while camera 114 is moving and recording images, a second reference image to use for a full 3D map initialization. In addition, the ITC can estimate camera movement 114 from the initial plane target and provide instant camera tracking before a second image frame is received or processed. In one embodiment, the ITC can operate without user input, and without relying on any other external tracking methods.

[0056] Conforme descrito acima, o dispositivo 100 pode ser um dispositivo eletrônico portátil (por exemplo, telefone inteligente, dispositivo de realidade aumentada (AR) dedicado, dispositivo de jogo, dispositivo do tipo para vestir tal como óculos, ou outro dispositivo com processamento de AR e capacidades de exibição). O dispositivo que implanta o sistema de AR descrito no presente documento pode ser usado em uma variedade de ambientes, tais como centros de compras, ruas, ambientes fechados, ou em qualquer lugar que um usuário possa levar um dispositivo portátil. Em um contexto de AR, um usuário pode usar o dispositivo 100 para visualizar uma representação do mundo real através do visor do dispositivo dos mesmos. Um usuário pode interagir com o dispositivo com capacidade de AR do mesmo através do uso da câmera do dispositivo dos mesmos para receber imagens/vídeo do mundo real e aplicar ou sobrepor informações adicionais ou alternativas nas imagens/vídeo do mundo real exibidas no dispositivo. Conforme um usuário visualiza uma implantação de AR no dispositivo do mesmo, os objetos ou cenas do mundo real podem ser substituídos ou alterados em tempo real no visor de dispositivo. Os objetos virtuais (por exemplo, texto, imagens, vídeo) podem ser inseridos na representação de uma cena retratada em um visor de dispositivo.[0056] As described above, device 100 may be a portable electronic device (e.g., smart phone, dedicated augmented reality (AR) device, gaming device, wearable device such as eyeglasses, or other device with of AR and display capabilities). The device that deploys the AR system described in this document can be used in a variety of environments, such as shopping centers, streets, indoors, or anywhere a user can carry a handheld device. In an AR context, a user may use device 100 to view a representation of the real world through the device's display thereof. A user may interact with the AR-capable device thereof by using the device's camera to receive real-world images/video and apply or overlay additional or alternate information on the real-world images/video displayed on the device. As a user views an AR deployment on their device, real-world objects or scenes can be replaced or changed in real-time on the device's display. Virtual objects (eg text, images, video) can be inserted into the representation of a scene depicted on a device viewer.

[0057] Em uma modalidade, a experiência de usuário de um dispositivo de AR pode ser altamente aprimorada através da atualização automática da AR exibida no dispositivo conforme o usuário move o dispositivo e sem conhecimento anterior do ambiente do usuário. Por exemplo, em algumas modalidades, o ITC pode operar sem um mapa, modelo de CAD, marcadores na cena ou similar. O ITC também pode aprimorar a experiência do usuário através do fornecimento de retroalimentação visual (por exemplo, atualizações de AR para o alvo representado no visor 112) sem múltiplas capturas de imagem diferentes e precisas. Em algumas modalidades, as atualizações visuais para o sistema de AR podem ser fornecidas para o visor e o usuário em tempo real, próximo a tempo real, quase que instantaneamente ou dentro de uma janela de curto período de tempo de captura da primeira imagem de referência.[0057] In one embodiment, the user experience of an AR device can be highly enhanced by automatically updating the AR displayed on the device as the user moves the device and without prior knowledge of the user's environment. For example, in some embodiments, ITC can operate without a map, CAD model, scene markers, or similar. The ITC can also enhance the user experience by providing visual feedback (eg AR updates for the target represented in the display 112) without multiple different and accurate image captures. In some embodiments, visual updates to the AR system can be provided to the viewer and user in real-time, near real-time, near-instantaneously, or within a short time window of capturing the first reference image. .

[0058] O movimento do dispositivo 100 e/ou da câmera 114 pode fazer com que o visor atualize, em tempo real, ou próximo a tempo real, um aumento do alvo (por exemplo, um ou mais objetos ou cenas) que está sendo rastreado. Com o movimento do dispositivo para longe de uma posição de imagem de referência inicial, o dispositivo pode capturar imagens adicionais a partir de vistas alternativas. Conforme as vistas alternativas são exibidas, o aumento de cena pode se tornar mais preciso enquanto o ITC processa as imagens adicionais. Em uma modalidade, quando a câmera 114 move e a pose de câmera muda (por exemplo, através de movimento iniciado por usuário ou robô) o ITC pode selecionar uma imagem apropriada para ser usada como uma segunda imagem de referência. A segunda imagem de referência pode ser selecionada a partir de uma alimentação ou transmissão de imagem. Em uma modalidade, mediante a constatação de uma imagem com translação suficiente a partir de uma imagem de referência inicial, a imagem constatada pode ser automaticamente atribuída como uma segunda imagem de referência. Os recursos a partir da segunda imagem de referência podem ser extraídos e triangulados com recursos a partir do primeiro quadro de imagem para refinar o alvo e aumentar a precisão de rastreamento. Após extrair recursos e triangular a partir da segunda imagem de referência, uma precisão elevada do aumento pode ser alcançada (por exemplo, bordas ao redor de um objeto podem se encaixar de forma mais precisa, a representação do objeto na cena aparecerá mais realística, e a alocação de alvo pode ser mais precisa em relação à pose da câmera 114).[0058] Movement of device 100 and/or camera 114 may cause the viewfinder to update, in real-time, or near real-time, an enlargement of the target (e.g., one or more objects or scenes) being tracked. By moving the device away from an initial reference image position, the device can capture additional images from alternate views. As the alternate views are displayed, the scene enlargement can become more accurate as the ITC processes the additional images. In one embodiment, when the camera 114 moves and the camera pose changes (e.g., through user-initiated or robot-initiated movement) the ITC may select an appropriate image to use as a second reference image. The second reference image can be selected from an image feed or transmission. In one embodiment, upon finding an image with sufficient translation from an initial reference image, the found image can be automatically assigned as a second reference image. Features from the second reference image can be extracted and triangulated with features from the first image frame to refine the target and increase tracking accuracy. After extracting features and triangulating from the second reference image, high magnification precision can be achieved (e.g. edges around an object can fit more precisely, the representation of the object in the scene will appear more realistic, and target allocation can be more accurate in relation to camera pose 114).

[0059] Em uma modalidade, um objeto ou gráfico pode ser inserido ou integrado em uma transmissão de vídeo (ou imagem) capturada pela câmera 114 e exibida no visor 112. Em algumas modalidades, o ITC pode opcionalmente solicitar ao usuário informações adicionais para aumentar o alvo. Por exemplo, o usuário pode ter a possibilidade de adicionar conteúdo de usuário para aumentar a representação do alvo. O conteúdo de usuário pode ser uma imagem, objeto em 3D, vídeo, texto ou outro tipo de conteúdo que pode ser integrado com, ou sobreposto com, ou substituir uma representação do alvo.[0059] In one embodiment, an object or graphic may be inserted into or integrated into a video stream (or image) captured by camera 114 and displayed on viewfinder 112. In some embodiments, the ITC may optionally prompt the user for additional information to enhance the target. For example, the user may be able to add user content to increase the representation of the target. User content can be an image, 3D object, video, text, or other type of content that can be integrated with, or overlaid with, or replace a representation of the target.

[0060] O visor pode atualizar em tempo real com rastreamento direto a partir da cena original. Por exemplo, o texto em uma placa pode ser substituído com um texto alternativo, ou um objeto em 3D pode ser estrategicamente posto na cena e exibido no dispositivo 100. Quando o usuário muda a posição e orientação da câmera 114, o gráfico ou objeto pode ser ajustado ou aumentado para correlacionar o movimento relativo da câmera 114. Por exemplo, se um objeto virtual é inserido em um visor de realidade aumentada, o movimento de câmera para longe do objeto virtual pode reduzir o tamanho do objeto virtual em relação à distância percorrida pela câmera 114. Por exemplo, dar quatro passos para trás a partir de um objeto virtual deveria causar uma redução maior em tamanho do objeto virtual em comparação a dar meio passo para trás a partir do objeto virtual, todas as outras variáveis sendo iguais. Os gráficos de movimento ou animações podem ser animados dentro da cena representada pelo ITC. Por exemplo, um objeto animado pode “se mover” dentro de uma cena retratada no visor de realidade aumentada.[0060] The viewfinder can update in real-time with direct tracking from the original scene. For example, text on a sign can be replaced with alternative text, or a 3D object can be strategically placed in the scene and displayed on device 100. When the user changes the position and orientation of camera 114, the graphic or object can be adjusted or enlarged to correlate relative camera movement 114. For example, if a virtual object is inserted into an augmented reality display, camera movement away from the virtual object may reduce the size of the virtual object relative to the distance traveled by camera 114. For example, taking four steps back from a virtual object should cause a greater reduction in size of the virtual object compared to taking half a step back from the virtual object, all other variables being equal. Motion graphics or animations can be animated within the scene represented by the ITC. For example, an animated object can “move” within a scene depicted in the augmented reality viewer.

[0061] Um indivíduo versado na técnica reconhecerá que as modalidades descritas no presente documento podem ser implantadas em modos diferentes do AR (por exemplo, posicionamento por robô ou outra implantação para utilizar a criação in situ de alvos planos de recurso natural).[0061] One skilled in the art will recognize that the modalities described herein may be deployed in modes other than AR (eg robot positioning or other deployment to utilize in situ creation of flat natural resource targets).

[0062] A Figura 8 é um fluxograma que ilustra uma modalidade de criação de alvo in situ. No bloco 810, o ITC pode criar ou inicializar um alvo plano a partir de uma primeira imagem de referência conforme descrito acima.[0062] Figure 8 is a flowchart illustrating an in situ targeting modality. At block 810, the ITC may create or initialize a flat target from a first reference image as described above.

[0063] No bloco 815, o ITC pode iniciar o rastreamento do alvo. Em uma modalidade, o rastreamento de alvo inicial é iniciado quando a câmera 114 se move (por exemplo, em 6DoF) em qualquer direção. Em uma modalidade, o ITC rastreia o alvo em 6D0F enquanto a câmera ou sensor de imagem mantém o ponto de vista menos parcial (isto é, não inteiramente ocluso) para o alvo.[0063] At block 815, the ITC can start tracking the target. In one embodiment, initial target tracking is initiated when camera 114 moves (eg, at 6DoF) in either direction. In one embodiment, the ITC tracks the target at 6D0F while the camera or image sensor maintains the least partial (ie, not entirely occluded) viewpoint to the target.

[0064] No bloco 820, o ITC pode determinar se um limiar de translação ou linha de base é atendido antes da seleção da imagem capturada atual como a segunda imagem de referência a ser usada para o refinamento do alvo. Por exemplo, o limiar de translação pode ser com base na quantidade de movimento ou mudança em pose de câmera a partir de uma primeira pose de câmera da primeira imagem de referência (por exemplo, a pose de câmera no momento em que primeira imagem de referência foi capturada), para a segunda pose de câmera da segunda imagem de referência (por exemplo, a pose de câmera no momento em que a segunda imagem de referência foi capturada). O movimento de câmera resulta na formação de um ângulo entre a direção de observação a partir da primeira posição de câmera para a segunda (isto é, atual) posição de câmera. Quando o ângulo é grande o suficiente (isto é, um valor de limiar predeterminado é alcançado) para um número suficiente de recursos, o ITC pode executar a triangulação robusta através do uso da primeira imagem de referência e da segunda imagem de referência.[0064] At block 820, the ITC can determine whether a translation threshold or baseline is met prior to selecting the current captured image as the second reference image to use for target refinement. For example, the translation threshold can be based on the amount of movement or change in camera pose from a first camera pose of the first reference image (e.g. the camera pose at the time when the first reference image is taken). was captured), for the second camera pose of the second reference image (for example, the camera pose at the time the second reference image was captured). Camera movement results in the formation of an angle between the observation direction from the first camera position to the second (ie current) camera position. When the angle is large enough (that is, a predetermined threshold value is reached) for a sufficient number of features, the ITC can perform robust triangulation using the first reference image and the second reference image.

[0065] Em uma modalidade, quando uma translação de limiar ocorre, o ITC pode atribuir a imagem associada a atender o limiar de translação (por exemplo, uma imagem capturada/subsequente) como uma segunda imagem de referência e continuar para o bloco 825. De outro modo, o ITC pode continuar a rastrear o alvo plano inicial no bloco 815. Em uma modalidade, o ITC pode iterar através de múltiplas imagens (por exemplo, a partir de uma série de quadros capturados a partir da câmera 114) o processamento de cada imagem para determinar se o limiar de translação é atendido.[0065] In one embodiment, when a threshold translation occurs, the ITC may assign the image associated with meeting the translation threshold (e.g. a captured/subsequent image) as a second reference image and proceed to block 825. Otherwise, the ITC may continue to track the initial flat target at block 815. In one embodiment, the ITC may iterate through multiple images (e.g., from a series of frames captured from camera 114) processing of each image to determine if the translation threshold is met.

[0066] No bloco 825, o ITC pode correlacionar um ou mais recursos extraídos/calculados (por exemplo, pontos de recurso, ou recursos de referência) a partir da primeira imagem de referência com a segunda imagem de referência.[0066] At block 825, the ITC may correlate one or more extracted/calculated features (eg, feature points, or reference features) from the first reference image with the second reference image.

[0067] No bloco 830, o ITC pode triangular recursos correlacionados com base na primeira e na segunda imagem de referência e os recursos respectivos das mesmas. O ITC pode processar duas imagens que retratam a mesma seção de um objeto ou cena a partir de diferentes direções de observação. O ITC pode encontrar correspondências (isto é, pontos de recurso da mesma cena encontrados tanto na primeira quanto na segunda imagens). O ITC pode calcular a estrutura em 3D desses pontos de recurso correspondentes em conjunto com o movimento que moveu a câmera a partir da primeira imagem de referência para a segunda imagem de referência.[0067] At block 830, the ITC may triangulate correlated features based on the first and second reference images and the respective features thereof. The ITC can process two images that depict the same section of an object or scene from different observation directions. The ITC can find matches (ie, feature points from the same scene found in both the first and second images). The ITC can calculate the 3D structure of these corresponding feature points together with the motion that moved the camera from the first reference image to the second reference image.

[0068] No bloco 835, o ITC pode realizar um ajuste de agrupamento para estimar mais precisamente os pontos de recurso e pose de câmera relativos (por exemplo, coordenadas de recurso 3D). Os pontos de recurso podem representar uma posição de um ou mais pontos em espaço tridimensional, cada ponto descrito por três coordenadas Cartesianas. Dado um conjunto de imagens que retrata um número de pontos de recurso a partir de pontos de vista diferentes, o ajuste de agrupamento pode ser definido como refinando simultaneamente as coordenadas 3D que descrevem a geometria da cena assim como os parâmetros do movimento relativo e características ópticas da câmera empregada para adquirir a imagem. Em algumas modalidades, o ajuste de agrupamento pode ajudar a minimizar o erro de reprojeção entre localizações de imagem observadas e pontos de imagem previstos. O ajuste de agrupamento pode levar em consideração os parâmetros de visualização (por exemplo, pose de câmera, calibragem intrínseca e distorção radial) de modo a obter uma reconstrução ideal em relação ao ruído relacionado aos recursos de imagem observados.[0068] In block 835, ITC can perform a cluster adjustment to more accurately estimate relative feature points and camera pose (eg 3D feature coordinates). Feature points can represent a position of one or more points in three-dimensional space, each point described by three Cartesian coordinates. Given a set of images that depict a number of feature points from different viewpoints, cluster adjustment can be defined as simultaneously refining the 3D coordinates that describe the scene's geometry as well as relative motion parameters and optical features. of the camera used to acquire the image. In some embodiments, grouping adjustment can help minimize reprojection error between observed image locations and predicted image points. Grouping adjustment can take into account viewing parameters (eg camera pose, intrinsic calibration and radial distortion) in order to obtain an optimal reconstruction with respect to noise related to the observed image features.

[0069] No bloco 840, o ITC pode reter os recursos em plano. Em uma modalidade, o ITC pode reduzir o conjunto de todos os recursos àqueles que se encontram em um plano e criar um novo conjunto de dados alvo através do uso (por exemplo, seleção) tanto da única imagem de referência (isto é, a primeira imagem de referência) como da segunda imagem de referência, dependendo de qual imagem de referência é mais adequada para representar o plano estimado. Em uma modalidade, o ITC pode destorcer a primeira ou a segunda imagem de referência para criar um alvo a partir de uma vista retificada caso nem a primeira nem a segunda imagem de referência estejam próximas o suficiente de um limiar paralelo frontal.[0069] At block 840, the ITC can withhold resources in plan. In one embodiment, the ITC can reduce the set of all features to those in a plane and create a new target dataset through the use (e.g. selection) of either the single reference image (i.e. the first reference image) or the second reference image, depending on which reference image is best suited to represent the estimated plane. In one embodiment, the ITC can distort the first or second reference image to create a target from a rectified view if neither the first nor the second reference image is close enough to a frontal parallel threshold.

[0070] No bloco 845, o ITC pode adicionalmente otimizar a câmera e o modelo (alvo) com base em recurso(s) acumulado(s) a partir de imagens adicionais de referência. Em uma modalidade, o ITC otimiza a câmera e o modelo com base em movimentos registrados (por exemplo, movimento subsequente à imagem de referência inicial) da câmera. Conforme a câmera se move (por exemplo, movimento iniciado por usuário ou movimento robótico), o visor pode atualizar em tempo real. Receber retroalimentação em tempo real pode encorajar um usuário a continuar a mover a câmera. Um movimento de câmera adicional pode fornecer refinamento adicional do modelo e maior precisão em rastreamento. Por exemplo, em um contexto de realidade aumentada, o dispositivo exibe um gráfico integrado ou objeto na cena e o gráfico ou objeto é posicionado na cena de tal modo que quando a câmera é movida (por exemplo, o movimento em um ou mais 6DoF) o gráfico ou objeto mantenha a posição relativa do mesmo em relação a outros objetos ou ao ambiente (em relação à posição e orientação determinada a partir da primeira imagem de referência).[0070] In block 845, ITC can further optimize the camera and model (target) based on accumulated resource(s) from additional reference images. In one embodiment, the ITC optimizes the camera and model based on recorded movement (eg, subsequent movement to the initial reference image) of the camera. As the camera moves (eg user-initiated movement or robotic movement), the viewfinder can update in real time. Receiving real-time feedback can encourage a user to continue moving the camera. Additional camera movement can provide additional model refinement and greater tracking accuracy. For example, in an augmented reality context, the device displays an embedded graphic or object in the scene and the graphic or object is positioned in the scene in such a way that when the camera is moved (e.g. movement in one or more 6DoF) the graphic or object maintains its relative position in relation to other objects or the environment (in relation to the position and orientation determined from the first reference image).

[0071] No bloco 850, o ITC pode continuar a rastrear o alvo refinado e opcionalmente fornecer uma representação aumentada do alvo para o visor. O ITC pode emitir o alvo refinado para um outro módulo para rastreamento continuado e visor de AR.[0071] At block 850, the ITC may continue to track the refined target and optionally provide an augmented representation of the target to the display. The ITC can output the refined target to another module for continued tracking and AR display.

[0072] Os ensinamentos no presente documento podem ser incorporados em (por exemplo, implantado dentro de ou realizado por) uma variedade de aparelhos (por exemplo, dispositivos). Em uma modalidade, o ITC pode ser implantado como um mecanismo executado por um processador para receber imagens ou vídeo como entrada. Um ou mais aspectos ensinados no presente documento podem ser incorporados em um telefone (por exemplo, um telefone celular), um assistente de dados pessoais (“PDA”), um computador do tipo tablet, um computador móvel, um computador do tipo laptop, um computador do tipo tablet, um dispositivo de entretenimento (por exemplo, um dispositivo de música ou vídeo), um conjunto de cabeça (por exemplo, fones de ouvido, um fone auricular, etc.), um dispositivo medico (por exemplo, um sensor biométrico, um monitor de frequência cardíaca, um pedômetro, um dispositivo de EKG, etc.), um dispositivo de I/O de usuário, um computador, um servidor, um dispositivo de ponto de venda, um dispositivo de entretenimento, um decodificador, ou qualquer outro dispositivo adequado. Esses dispositivos podem ter exigências de dados e potência diferentes e podem resultar em perfis de potência diferentes gerados para cada recurso ou conjunto de recursos.[0072] The teachings herein may be incorporated into (eg, implanted within or carried by) a variety of apparatus (eg, devices). In one embodiment, the ITC may be deployed as a mechanism executed by a processor to receive images or video as input. One or more aspects taught herein may be incorporated into a telephone (e.g., a cell phone), a personal data assistant (“PDA”), a tablet-type computer, a mobile computer, a laptop-type computer, a tablet computer, an entertainment device (e.g. a music or video device), a headset (e.g. headphones, a headset, etc.), a medical device (e.g. a biometric sensor, a heart rate monitor, a pedometer, an EKG device, etc.), a user I/O device, a computer, a server, a point-of-sale device, an entertainment device, a set-top box , or any other suitable device. These devices may have different data and power requirements and may result in different power profiles generated for each resource or set of resources.

[0073] Em alguns aspectos, um dispositivo sem fio pode compreender um dispositivo de acesso (por exemplo, um ponto de acesso Wi-Fi) para um sistema de comunicação. Tal dispositivo de acesso pode fornecer, por exemplo, conectividade a outra rede através do transceptor 140 (por exemplo, uma rede de área ampla tal como a Internet ou uma rede de celular) através de um enlace de comunicação com ou sem fio. Consequentemente, o dispositivo de acesso pode habilitar um outro dispositivo (por exemplo, uma estação Wi-Fi) para acessar a outra rede ou alguma outra funcionalidade. Além disso, deve-se compreender que um ou ambos os dispositivos podem ser portáteis ou, em alguns casos, relativamente não portáteis.[0073] In some aspects, a wireless device may comprise an access device (eg, a Wi-Fi access point) to a communication system. Such an access device may provide, for example, connectivity to another network through transceiver 140 (e.g., a wide area network such as the Internet or a cellular network) over a wired or wireless communication link. Consequently, the access device may enable another device (eg, a Wi-Fi station) to access the other network or some other functionality. In addition, it should be understood that one or both of these devices may be portable or, in some cases, relatively non-portable.

[0074] Um indivíduo de habilidade comum na técnica compreenderia que informações e sinais podem ser representados através do uso de qualquer de uma variedade de diferentes tecnologias e técnicas. Por exemplo, dados, instruções, comandos, informações, sinais, bits, símbolos e circuitos integrados que podem ser referenciados por toda a descrição acima podem ser representados por tensões, correntes, ondas eletromagnéticas, partículas ou campos magnéticos, partículas ou campos ópticos ou qualquer combinação dos mesmos.[0074] An individual of ordinary skill in the art would understand that information and signals can be represented through the use of any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols and integrated circuits that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, particles or magnetic fields, particles or optical fields, or any combination thereof.

[0075] Aqueles versados na técnica iriam adicionalmente compreender que os vários blocos lógicos ilustrativos, módulos, mecanismos, circuitos e etapas de algoritmos descritos em conexão com as modalidades reveladas no presente documento podem ser implantados como hardware eletrônico, software de computador ou combinações de ambos. Para ilustrar claramente essa intercambialidade de hardware e software, vários componentes, blocos, módulos, mecanismos, circuitos e etapas ilustrativos foram descritos acima geralmente em termos de funcionalidade dos mesmos. Se tal funcionalidade é implantada como hardware ou software depende das restrições de projeto e aplicação particular impostas ao sistema geral. Versados na técnica podem implantar a funcionalidade descrita em modos variáveis para cada aplicação em particular, porém tais decisões de implantação não deveriam ser interpretadas como se afastando do escopo da presente invenção.[0075] Those skilled in the art would further understand that the various illustrative logic blocks, modules, mechanisms, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. . To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, mechanisms, circuits and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular design and application constraints imposed on the overall system. Those skilled in the art can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as departing from the scope of the present invention.

[0076] Os vários circuitos, módulos e blocos lógicos ilustrativos descritos em conexão com as modalidades reveladas no presente documento podem ser implantados ou realizados com um processador de uso geral, um processador de sinal digital (DSP), um circuito integrado de aplicação específica (ASIC), uma arranjo de portas programável em campo (FPGA) ou outro dispositivo de lógica programável, lógica de transistor ou porta discreta, componentes de hardware discretos ou qualquer combinação dos mesmos projetada para realizar as funções descritas no presente documento. Um processador de uso geral pode ser um microprocessador, porém na alternativa, o processador pode ser qualquer processador, controlador, microcontrolador ou máquina de estado convencional. Um processador também pode ser implantado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um DSP núcleo ou qualquer outra tal configuração.[0076] The various illustrative circuits, modules and logic blocks described in connection with the embodiments disclosed herein may be implemented or realized with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit ( ASIC), a field programmable gate array (FPGA) or other programmable logic device, transistor or discrete gate logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, but alternatively, the processor can be any processor, controller, microcontroller, or conventional state machine. A processor may also be deployed as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors together with a core DSP, or any other such configuration.

[0077] As etapas de um método descritas em conexão com as modalidades presente documento podem ser incorporadas diretamente em hardware, em um módulo de software executado por um processador, ou em uma combinação dos dois. Um módulo de software pode residir em memória RAM, memória flash, memória ROM, memória EPROM, memória EEPROM, registros, disco rígido, um disco removível, um CD-ROM, ou qualquer outra forma de meio de armazenamento conhecida na técnica. Um meio de armazenamento exemplificador é acoplado ao processador de modo que o processador possa ler informações a partir do meio de armazenamento e gravar informações ao mesmo. Na alternativa, o meio de armazenamento pode ser integral com o processador. O processador e o meio de armazenamento podem residir em um ASIC. O ASIC pode residir em um terminal de usuário. Na alternativa, o processador e o meio de armazenamento podem residir como componentes discretos em um terminal de usuário.[0077] The steps of a method described in connection with the modalities in this document may be incorporated directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An example storage medium is coupled to the processor so that the processor can read information from the storage medium and write information thereto. Alternatively, the storage medium may be integral with the processor. The processor and storage medium can reside in an ASIC. The ASIC can reside on a user terminal. In the alternative, the processor and storage medium may reside as discrete components on a user terminal.

[0078] Em uma ou mais modalidades exemplificadoras, as funções ou módulos descritos podem ser implantados em hardware (por exemplo, no hardware 162), em software (por exemplo, no software 165), em firmware (por exemplo, no firmware 163) ou em qualquer combinação dos mesmos. Caso implantado em software como um produto de programa de computador, as funções ou módulos podem ser armazenadas em, ou transmitidas como, uma ou mais instruções ou código em um meio legível por computador não transitório. Meios legíveis por computador podem incluir tanto o meio de armazenamento de computador como o meio de comunicação que inclui qualquer meio que facilita a transferência de um programa de computador a partir de um local para outro. Um meio de armazenamento pode ser qualquer meio disponível que pode ser acessado por um computador. A título de exemplo e sem limitação, tais meios legíveis por computador não transitórios podem compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético ou qualquer outro meio que pode ser usado para carregar ou armazenar código de programa desejado na forma de instruções ou estruturas de dados e que pode ser acessado por um computador ou processador. Além disso, qualquer conexão é propriamente denominada um meio legível por computador. Por exemplo, se o software for transmitido a partir de um site da web, servidor ou outra fonte remota com o uso de um cabo coaxial, cabo de fibra óptica, par trançado, linha de inscrição digital (DSL) ou tecnologias sem fio como infravermelho, rádio e micro-onda, então, o cabo coaxial, o cabo de fibra óptica, o par trançado, a DSL ou as tecnologias sem fio como infravermelho, rádio e micro-onda estão incluídos na definição de mídia. Disco magnético e disco óptico, conforme usado no presente documento, incluem disco compacto (CD), disco laser, disco óptico, disco versátil digital (DVD), disquete e disco blu-ray em que discos magnéticos normalmente reproduzem dados magneticamente, enquanto discos ópticos reproduzem dados opticamente com lasers. As combinações dos supracitados também devem ser abrangidas pelo escopo de meios legíveis por computador não transitórios.[0078] In one or more exemplifying modalities, the functions or modules described can be implemented in hardware (for example, in hardware 162), in software (for example, in software 165), in firmware (for example, in firmware 163) or any combination thereof. If implemented in software such as a computer program product, the functions or modules may be stored in, or transmitted as, one or more instructions or code on a non-transient computer-readable medium. Computer readable media may include both the computer storage medium and the communication medium which includes any medium that facilitates the transfer of a computer program from one location to another. A storage medium can be any available medium that can be accessed by a computer. By way of example and without limitation, such non-transient computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices or any other media that may be used to load or store desired program code in the form of instructions or data structures that can be accessed by a computer or processor. Furthermore, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscription line (DSL), or wireless technologies such as infrared , radio and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of media. Magnetic disc and optical disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disc and blu-ray disc where magnetic discs normally reproduce data magnetically, while optical discs reproduce data optically with lasers. Combinations of the above should also fall within the scope of non-transient computer-readable media.

[0079] A descrição anterior das modalidades reveladas é fornecida para possibilitar que qualquer indivíduo versado na técnica produza ou use a presente invenção. Diversas modificações em tais modalidades ficarão prontamente evidentes para os elementos versados na técnica e os princípios genéricos definidos neste documento podem ser aplicados a outras modalidades sem que se afaste do espírito ou escopo da invenção. Desse modo, a presente invenção não se destina a ser limitada às modalidades mostradas neste documento, mas deve ser compatível com o mais amplo escopo consistente com os princípios e recursos inovadores revelados neste documento.[0079] The foregoing description of the disclosed embodiments is provided to enable any person skilled in the art to produce or use the present invention. Various modifications to such embodiments will be readily apparent to those skilled in the art and the generic principles defined herein can be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein, but should be compatible with the broadest scope consistent with the innovative principles and features disclosed herein.

Claims (12)

1. Método implementado por processador para criação e rastreamento de alvo plano, o método caracterizado por compreender: inicializar (205) um alvo plano a partir de uma primeira imagem de referência única (430) e anterior ao processamento de uma imagem subsequente; processar (210) uma ou mais imagens subsequentes; rastrear (215) o alvo plano em seis graus de liberdade mediante o processamento das uma ou mais imagens subsequentes; selecionar (216) uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes; e refinar (220), mediante a seleção da segunda imagem de referência, o alvo plano para um alvo plano mais preciso; em que a inicialização (205) do alvo plano a partir da primeira imagem de referência única (430) compreende adicionalmente: extrair uma pluralidade de recursos de referência (405, 410) a partir da primeira imagem de referência única (430); e determinar, para cada recurso de referência (405, 410) extraído, uma localização de recurso de referência respectiva dentro do alvo plano; em que refinar (220) o alvo plano para o alvo plano mais preciso compreende adicionalmente: determinar, com base no processamento de cada uma dentre as imagens subsequentes, uma localização de recurso de referência atualizada para uma ou mais dentre as localizações de recurso de referência; medir as translações entre uma vista de câmera de referência associada à primeira imagem de referência única e uma pluralidade de vistas de câmera subsequentes, em que cada uma dentre as vistas de câmera subsequentes é associada a uma das imagens subsequentes; determinar, para uma imagem subsequente respectiva, que uma translação medida correspondente atende um limiar de translação; atribuir a imagem subsequente respectiva como a segunda imagem de referência; triangular os recursos de referência (405, 410) a partir da primeira imagem de referência única (430) com os recursos correspondentes a partir da segunda imagem de referência, em que a triangulação compreende adicionalmente: calcular uma área coberta pelo alvo plano na primeira imagem de referência única (430) e a segunda imagem de referência; e calcular um verdadeiro plano normal do alvo plano na primeira imagem de referência única (430) e na segunda imagem de referência; em que o método implementado por processador compreende adicionalmente: exibir uma representação em realidade aumentada do alvo plano mediante a inicialização do alvo plano e anterior ao processamento da imagem subsequente; e atualizar a representação em realidade aumentada com base no rastreamento do alvo plano em seis graus de liberdade.1. Processor-implemented method for creating and tracking a flat target, the method comprising: initializing (205) a flat target from a first single reference image (430) and prior to processing a subsequent image; processing (210) one or more subsequent images; tracking (215) the flat target in six degrees of freedom by processing the one or more subsequent images; selecting (216) a second reference image from the one or more subsequent processed images; and refining (220), by selecting the second reference image, the flat target to a more accurate flat target; wherein initializing (205) the flat target from the first unique reference image (430) further comprises: extracting a plurality of reference features (405, 410) from the first unique reference image (430); and determining, for each extracted reference feature (405, 410), a respective reference feature location within the flat target; wherein refining (220) the flat target to the most accurate flat target further comprises: determining, based on the processing of each of the subsequent images, an updated reference feature location for one or more of the reference feature locations ; measuring translations between a reference camera view associated with the first single reference image and a plurality of subsequent camera views, wherein each of the subsequent camera views is associated with one of the subsequent images; determining, for a respective subsequent image, that a corresponding measured translation meets a translation threshold; assigning the respective subsequent image as the second reference image; triangulating the reference features (405, 410) from the first single reference image (430) with the corresponding features from the second reference image, wherein the triangulation additionally comprises: calculating an area covered by the flat target in the first image single reference image (430) and the second reference image; and calculating a true plane normal of the flat target in the first single reference image (430) and the second reference image; wherein the processor-implemented method further comprises: displaying an augmented reality representation of the flat target upon initialization of the flat target and prior to subsequent image processing; and update the augmented reality representation based on tracking the flat target in six degrees of freedom. 2. Método implementado por processador, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente: assumir uma vista paralela frontal do alvo plano como um parâmetro para inicializar (205) o alvo plano.A processor-implemented method according to claim 1, characterized in that it further comprises: taking a front parallel view of the flat target as a parameter to initialize (205) the flat target. 3. Método implementado por processador, de acordo com a reivindicação 2, caracterizado por compreender adicionalmente: criar uma vista retificada do alvo plano a partir da primeira imagem de referência única (430) ou da segunda imagem de referência se nem a primeira imagem de referência única (430) nem a segunda imagem de referência forem vistas paralelas frontais reais do alvo plano.A processor-implemented method according to claim 2, further comprising: creating a ground view of the flat target from the first single reference image (430) or the second reference image if neither the first reference image (430) nor the second reference image are actual frontal parallel views of the flat target. 4. Método implementado por processador, de acordo com a reivindicação 1, caracterizado por processar (210) as uma ou mais imagens subsequentes compreender adicionalmente extrair uma pluralidade de recursos (405, 410) a partir de cada uma dentre as uma ou mais imagens subsequentes.A processor-implemented method according to claim 1, characterized in that processing (210) the one or more subsequent images further comprises extracting a plurality of resources (405, 410) from each of the one or more subsequent images . 5. Método implementado por processador, de acordo com a reivindicação 1, caracterizado pela inicialização (205) do alvo plano a partir da primeira imagem de referência única (430) compreender adicionalmente atribuir toda a primeira imagem de referência única como o alvo plano.A processor-implemented method according to claim 1, characterized in that initialization (205) of the flat target from the first single reference image (430) further comprises assigning the entire first single reference image as the flat target. 6. Método implementado por processador, de acordo com a reivindicação 1, caracterizado pelo alvo plano ser um ou mais dentre: parcialmente ocluso na primeira imagem de referência única (430), de qualquer formato plano ou em qualquer orientação em relação à gravidade.A processor-implemented method according to claim 1, characterized in that the flat target is one or more of: partially occluded in the first single reference image (430), of any flat shape or in any orientation with respect to gravity. 7. Memória caracterizada por compreender instruções para fazer com que um dispositivo de processamento de dados realize um método conforme definido em qualquer uma das reivindicações 1 a 6.7. Memory characterized by comprising instructions for causing a data processing device to perform a method as defined in any one of claims 1 to 6. 8. Aparelho para criação e rastreamento de alvo plano, caracterizado por compreender: meios para inicializar um alvo plano a partir de uma primeira imagem de referência única (430) e anterior ao processamento de uma imagem subsequente; meios para processar uma ou mais imagens subsequentes; meios para rastrear o alvo plano em seis graus de liberdade mediante o processamento das uma ou mais imagens subsequentes; meios para selecionar uma segunda imagem de referência a partir das uma ou mais imagens processadas subsequentes; e meios para refinar, mediante a seleção da segunda imagem de referência, o alvo plano para um alvo plano mais preciso; em que os meios para a inicialização do alvo plano a partir da primeira imagem de referência única (430) compreendem adicionalmente: meios para extrair uma pluralidade de recursos de referência (405, 410) a partir da primeira imagem de referência única (430); e meios para determinar, para cada recurso de referência extraído (405, 410), uma localização de recurso de referência respectiva dentro do alvo plano; em que os meios para refinar o alvo plano para o alvo plano mais preciso compreendem adicionalmente: meios para determinar, com base no processamento de cada uma dentre as imagens subsequentes, uma localização de recurso de referência atualizada para uma ou mais dentre as localizações de recurso de referência; medir as translações entre uma vista de câmera de referência associada à primeira imagem de referência única (430) e uma pluralidade de vistas de câmera subsequentes, em que cada uma dentre as vistas de câmera subsequentes é associada a uma das imagens subsequentes; meios para determinar, para uma imagem subsequente respectiva, que uma translação medida correspondente atende um limiar de translação; meios para atribuir a imagem subsequente respectiva como a segunda imagem de referência; meios para triangular os recursos de referência (405, 410) a partir da primeira imagem de referência única com os recursos correspondentes a partir da segunda imagem de referência, em que a triangulação compreende adicionalmente: meios para calcular uma área coberta pelo alvo plano na primeira imagem de referência única e a segunda imagem de referência; e meios para calcular um verdadeiro plano normal do alvo plano na primeira imagem de referência única (430) e na segunda imagem de referência; em que o aparelho para criação e rastreamento de alvo plano compreende adicionalmente: meios para exibir uma representação em realidade aumentada do alvo plano mediante a inicialização do alvo plano e anterior ao processamento da imagem subsequente; e meios para atualizar a representação em realidade aumentada com base no rastreamento do alvo plano em seis graus de liberdade.8. Apparatus for creating and tracking a flat target, characterized in that it comprises: means for initializing a flat target from a first single reference image (430) and prior to processing a subsequent image; means for processing one or more subsequent images; means for tracking the flat target in six degrees of freedom by processing the one or more subsequent images; means for selecting a second reference image from the one or more subsequent processed images; and means for refining, upon selection of the second reference image, the flat target to a more accurate flat target; wherein the means for initializing the flat target from the first unique reference image (430) further comprises: means for extracting a plurality of reference features (405, 410) from the first unique reference image (430); and means for determining, for each extracted reference feature (405, 410), a respective reference feature location within the planar target; wherein the means for refining the flat target to the most accurate flat target further comprises: means for determining, based on the processing of each of the subsequent images, an updated reference feature location for one or more of the feature locations of reference; measuring translations between a reference camera view associated with the first single reference image (430) and a plurality of subsequent camera views, wherein each of the subsequent camera views is associated with one of the subsequent images; means for determining, for a respective subsequent image, that a corresponding measured translation meets a translation threshold; means for assigning the respective subsequent image as the second reference image; means for triangulating reference features (405, 410) from the first single reference image with corresponding features from the second reference image, wherein the triangulation further comprises: means for calculating an area covered by the flat target in the first single reference image and the second reference image; and means for calculating a true plane normal of the flat target in the first single reference image (430) and the second reference image; wherein the apparatus for creating and tracking a flat target further comprises: means for displaying an augmented reality representation of the flat target upon initialization of the flat target and prior to subsequent image processing; and means to update the augmented reality representation based on tracking the flat target in six degrees of freedom. 9. Aparelho, de acordo com a reivindicação 8, caracterizado por compreender adicionalmente: meios para assumir uma vista paralela frontal do alvo plano como um parâmetro para inicializar o alvo plano.Apparatus according to claim 8, characterized in that it further comprises: means for taking a parallel front view of the flat target as a parameter for initializing the flat target. 10. Aparelho, de acordo com a reivindicação 9, caracterizado por compreender adicionalmente: meios para criar uma vista retificada do alvo plano a partir da primeira imagem de referência única (430) ou da segunda imagem de referência se nem a primeira imagem de referência única (430) nem a segunda imagem de referência forem vistas paralelas frontais reais do alvo plano.Apparatus as claimed in claim 9, further comprising: means for creating a ground view of the flat target from the first unique reference image (430) or the second reference image if neither the first unique reference image (430) nor the second reference image are actual frontal parallel views of the flat target. 11. Aparelho, de acordo com a reivindicação 8, caracterizado por processar as uma ou mais imagens subsequentes compreender adicionalmente meios para extrair uma pluralidade de recursos (405, 410) a partir de cada uma dentre as uma ou mais imagens subsequentes.An apparatus according to claim 8, characterized in that processing the one or more subsequent images further comprises means for extracting a plurality of features (405, 410) from each of the one or more subsequent images. 12. Aparelho, de acordo com a reivindicação 8, caracterizado pela inicialização do alvo plano a partir da primeira imagem de referência única (430) compreender adicionalmente meios para atribuir toda a primeira imagem de referência única (430) como o alvo plano.Apparatus as claimed in claim 8, characterized in that initializing the flat target from the first single reference image (430) further comprises means for assigning the entire first single reference image (430) as the flat target.
BR112015023345-7A 2013-03-14 2014-02-26 IN SITU CREATION OF TARGETED NATURAL RESOURCE PLANS BR112015023345B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/802,834 US10733798B2 (en) 2013-03-14 2013-03-14 In situ creation of planar natural feature targets
US13/802,834 2013-03-14
PCT/US2014/018787 WO2014158620A1 (en) 2013-03-14 2014-02-26 In situ creation of planar natural feature targets

Publications (2)

Publication Number Publication Date
BR112015023345A2 BR112015023345A2 (en) 2017-07-18
BR112015023345B1 true BR112015023345B1 (en) 2022-08-09

Family

ID=50382554

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015023345-7A BR112015023345B1 (en) 2013-03-14 2014-02-26 IN SITU CREATION OF TARGETED NATURAL RESOURCE PLANS

Country Status (7)

Country Link
US (2) US10733798B2 (en)
EP (2) EP3640889A1 (en)
JP (1) JP6456347B2 (en)
KR (1) KR102169492B1 (en)
CN (2) CN105074776B (en)
BR (1) BR112015023345B1 (en)
WO (1) WO2014158620A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270477A1 (en) * 2013-03-14 2014-09-18 Jonathan Coon Systems and methods for displaying a three-dimensional model from a photogrammetric scan
US10733798B2 (en) * 2013-03-14 2020-08-04 Qualcomm Incorporated In situ creation of planar natural feature targets
US9595125B2 (en) * 2013-08-30 2017-03-14 Qualcomm Incorporated Expanding a digital representation of a physical plane
US20150206343A1 (en) * 2014-01-17 2015-07-23 Nokia Corporation Method and apparatus for evaluating environmental structures for in-situ content augmentation
JP6476657B2 (en) * 2014-08-27 2019-03-06 株式会社リコー Image processing apparatus, image processing method, and program
US9754416B2 (en) * 2014-12-23 2017-09-05 Intel Corporation Systems and methods for contextually augmented video creation and sharing
US10152825B2 (en) 2015-10-16 2018-12-11 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
RU2613734C1 (en) * 2015-10-22 2017-03-21 Общество с ограниченной ответственностью "Аби Девелопмент" Video capture in data input scenario
US10796477B2 (en) * 2017-06-20 2020-10-06 Edx Technologies, Inc. Methods, devices, and systems for determining field of view and producing augmented reality
WO2019045728A1 (en) * 2017-08-31 2019-03-07 Sony Mobile Communications Inc. Electronic devices, methods, and computer program products for controlling 3d modeling operations based on pose metrics
US10706561B2 (en) * 2017-12-21 2020-07-07 612 Authentic Media Systems and methods to track objects in video
CN113498530A (en) * 2018-12-20 2021-10-12 艾奎菲股份有限公司 Object size marking system and method based on local visual information
US11532093B2 (en) 2019-10-10 2022-12-20 Intermap Technologies, Inc. First floor height estimation from optical images
US11370124B2 (en) * 2020-04-23 2022-06-28 Abb Schweiz Ag Method and system for object tracking in robotic vision guidance
US11551366B2 (en) * 2021-03-05 2023-01-10 Intermap Technologies, Inc. System and methods for correcting terrain elevations under forest canopy

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2411532B (en) * 2004-02-11 2010-04-28 British Broadcasting Corp Position determination
US7356165B2 (en) * 2004-03-09 2008-04-08 Matsushita Electric Industrial Co., Ltd. Imaging apparatus performing a high reliability data analysis
CN1957373A (en) 2004-03-12 2007-05-02 布拉科成像S.P.A.公司 Accuracy evaluation of video-based augmented reality enhanced surgical navigation systems
CN100397411C (en) * 2006-08-21 2008-06-25 北京中星微电子有限公司 People face track display method and system for real-time robust
WO2008032375A1 (en) * 2006-09-13 2008-03-20 Pioneer Corporation Image correcting device and method, and computer program
FR2911707B1 (en) * 2007-01-22 2009-07-10 Total Immersion Sa METHOD AND DEVICES FOR INCREASED REALITY USING REAL - TIME AUTOMATIC TRACKING OF TEXTURED, MARKER - FREE PLANAR GEOMETRIC OBJECTS IN A VIDEO STREAM.
US8126260B2 (en) * 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
US8446468B1 (en) * 2007-06-19 2013-05-21 University Of Southern California Moving object detection using a mobile infrared camera
US8401276B1 (en) * 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US8970690B2 (en) * 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
US8379130B2 (en) * 2009-08-07 2013-02-19 Qualcomm Incorporated Apparatus and method of processing images based on an adjusted value of an image processing parameter
FR2951565B1 (en) * 2009-10-20 2016-01-01 Total Immersion METHOD, COMPUTER PROGRAM AND REAL-TIME OBJECT REPRESENTATION HYBRID TRACKING DEVICE IN IMAGE SEQUENCE
KR101100784B1 (en) * 2009-11-10 2012-01-02 광운대학교 산학협력단 Method and apparatus for recognizing object
US8509482B2 (en) 2009-12-21 2013-08-13 Canon Kabushiki Kaisha Subject tracking apparatus, subject region extraction apparatus, and control methods therefor
EP2339537B1 (en) * 2009-12-23 2016-02-24 Metaio GmbH Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
KR101080375B1 (en) 2010-04-23 2011-11-04 광주과학기술원 Method for learning object, and method for tracking object using method for tracking object, and system for learning and tracking object
KR101657120B1 (en) * 2010-05-06 2016-09-13 엘지전자 주식회사 Mobile terminal and Method for displaying image thereof
EP2395478A1 (en) 2010-06-12 2011-12-14 Toyota Motor Europe NV/SA Monocular 3D pose estimation and tracking by detection
US9013550B2 (en) 2010-09-09 2015-04-21 Qualcomm Incorporated Online reference generation and tracking for multi-user augmented reality
US9262002B2 (en) 2010-11-03 2016-02-16 Qualcomm Incorporated Force sensing touch screen
US20120120113A1 (en) 2010-11-15 2012-05-17 Eduardo Hueso Method and apparatus for visualizing 2D product images integrated in a real-world environment
JP5781682B2 (en) * 2011-03-23 2015-09-24 メタイオ ゲゼルシャフト ミット ベシュレンクテル ハフツングmetaio GmbH Method for aligning at least a portion of a first image and at least a portion of a second image using a collinear transform warp function
US8638986B2 (en) 2011-04-20 2014-01-28 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
US9020187B2 (en) 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
US9342610B2 (en) * 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays
US9305361B2 (en) * 2011-09-12 2016-04-05 Qualcomm Incorporated Resolving homography decomposition ambiguity based on orientation sensors
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
US10733798B2 (en) * 2013-03-14 2020-08-04 Qualcomm Incorporated In situ creation of planar natural feature targets

Also Published As

Publication number Publication date
KR20150130483A (en) 2015-11-23
CN110458865B (en) 2023-08-29
JP2016530581A (en) 2016-09-29
US20140267397A1 (en) 2014-09-18
CN105074776B (en) 2019-08-16
BR112015023345A2 (en) 2017-07-18
JP6456347B2 (en) 2019-01-23
US20200334913A1 (en) 2020-10-22
CN110458865A (en) 2019-11-15
EP2973395A1 (en) 2016-01-20
EP3640889A1 (en) 2020-04-22
US11481982B2 (en) 2022-10-25
KR102169492B1 (en) 2020-10-23
CN105074776A (en) 2015-11-18
WO2014158620A1 (en) 2014-10-02
US10733798B2 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
US11481982B2 (en) In situ creation of planar natural feature targets
JP6258953B2 (en) Fast initialization for monocular visual SLAM
JP6348574B2 (en) Monocular visual SLAM using global camera movement and panoramic camera movement
JP6228320B2 (en) Sensor-based camera motion detection for unconstrained SLAM
US9667873B2 (en) Methods for facilitating computer vision application initialization
EP3095092B1 (en) Method and apparatus for visualization of geo-located media contents in 3d rendering applications
JP7355821B2 (en) System and method for presenting digital assets within a synthetic environment via loosely coupled relocalization and asset management services
US20130293686A1 (en) 3d reconstruction of human subject using a mobile device
US20140369557A1 (en) Systems and Methods for Feature-Based Tracking
KR20150013709A (en) A system for mixing or compositing in real-time, computer generated 3d objects and a video feed from a film camera
JP6393000B2 (en) Hypothetical line mapping and validation for 3D maps

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/02/2014, OBSERVADAS AS CONDICOES LEGAIS