BR102013027358A2 - Estrutura automatizada de calibração de referência para realidade aumentada - Google Patents

Estrutura automatizada de calibração de referência para realidade aumentada Download PDF

Info

Publication number
BR102013027358A2
BR102013027358A2 BRBR102013027358-9A BR102013027358A BR102013027358A2 BR 102013027358 A2 BR102013027358 A2 BR 102013027358A2 BR 102013027358 A BR102013027358 A BR 102013027358A BR 102013027358 A2 BR102013027358 A2 BR 102013027358A2
Authority
BR
Brazil
Prior art keywords
virtual
tracking system
camera
real
orientation
Prior art date
Application number
BRBR102013027358-9A
Other languages
English (en)
Other versions
BR102013027358B1 (pt
Inventor
Paul R Davies
David K Lee
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of BR102013027358A2 publication Critical patent/BR102013027358A2/pt
Publication of BR102013027358B1 publication Critical patent/BR102013027358B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/30204Marker
    • 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 Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

RESUMO Patente de Invenção: "ESTRUTURA AUTOMATIZADA DE CALIBRAÇÃO DE REFERÊNCIA PARA REALIDADE AUMENTADA". A presente invenção refere-se a um ou mais sistemas, métodos, rotinas e/ou técnicas para estrutura automatizada de calibração de referência para realidade aumentada (100). Um ou mais sistemas, métodos, rotinas e/ou técnicas podem permitir a calibração de um sistema de Realidade Aumentada (AR) (100), por exemplo, automaticamente calibrando as estruturas de referência de objetos virtuais e/ou uma câmera (102). Um exemplo de rotina e/ou técnica de calibração pode determinar e/ou calcular um mapeamento ou transformação de uma estrutura de referência de um objeto virtual (112) (por exemplo, um modelo CAD) para uma estrutura de câmera (204) associada com o sistema de rastreamento (108). Um outro exemplo de rotina e/ou técnica de calibração pode determinar e/ou calcular um mapeamento ou transformação de uma estrutura de referência de lente de câmera (102) para uma estrutura de referência da câmera (102) toda como determinado por um sistema de rastreamento (108). Essas rotinas ou técnicas podem calibrar um sistema de AR (100) para fornecer alinhamento rápido e preciso entre o conteúdo virtual e uma visão na câmera (102) ao vivo de uma cena real.

Description

Relatório Descritivo da Patente de Invenção para "ESTRUTURA AUTOMATIZADA DE CALIBRAÇÃO DE REFERÊNCIA PARA REALIDADE AUMENTADA".
CAMPO
A presente descrição refere-se à realidade aumentada e, mais
particularmente, a um ou mais sistemas, métodos, rotinas e/ou técnicas para estrutura aumentada de calibração de referência para realidade aumentada.
ANTECEDENTES
Aumentos ou adições para Realidade Aumentada (AR) para a 10 percepção de uma visão do mundo real, por exemplo, uma alimentação de vídeo ao vivo, sobrepondo objetos virtuais ou meios na visão do mundo real. A Realidade Aumentada possibilita informação artificial ou simulada relacionada ao mundo real e seus objetivos a serem sobrepostos na visão do mundo real. A realidade aumentada é relacionada a, mas diferente da, realidade 15 virtual (VR), que substitui uma visão do mundo real com uma visão artificial ou simulada. A Realidade Aumentada foi usada em aplicações tais como entretenimentos, vídeo games, esportes e aplicações em telefone celular.
Adicionais limitações e desvantagens de abordagens convencionais e tradicionais se tornarão aparente para alguém versado na técnica, através de comparação de tais sistemas com alguns aspectos da presente invenção como estabelecido no restante do presente pedido e com referência aos desenhos.
SUMÁRIO
A presente descrição apresenta um ou mais sistemas, métodos, 25 rotinas e/ou técnicas para estrutura automatizada de calibração de referência para realidade aumentada. Um ou mais sistemas, métodos, rotinas e/ou técnicas podem possibilitar uma calibração simples e rápida de um sistema de Realidade Aumentada (AR), por exemplo, automaticamente calibrando as estruturas de referência de objetos virtuais e/ou uma câmera.
Uma ou mais modalidades da presente descrição descrevem um
método para realidade aumentada, por exemplo, executada por um sistema de processamento de dados tendo pelo menos um processador. O método pode incluir receber ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastreamento do objeto. A estrutura coordenada do sistema de rastreamento pode ser alinhada com um espaço real em 3D. O sistema de rastreamento pode rastrear a posição e ori5 entação em um espaço real em 3D de um objeto real e de uma câmera. O método pode incluir receber do sistema de rastreamento uma primeira estrutura de referência de objeto real para o objeto real. A primeira estrutura de referência de objeto real pode indicar uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento. O mé10 todo pode incluir determinar uma segunda estrutura de referência de objeto real para o objeto real. A segunda estrutura de referência de objeto real pode indicar uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento. O método pode incluir receber uma primeira estrutura de referência de objeto virtual para um objeto virtual. O 15 objeto virtual pode ser modelado depois do objeto real. A primeira estrutura de referência de objeto virtual pode ser não relacionada à estrutura coordenada do sistema de rastreamento. O método pode incluir determinar uma segunda estrutura de referência de objeto virtual para o objeto virtual. A segunda estrutura de referência de objeto virtual pode indicar uma posição e 20 orientação do objeto virtual com relação à estrutura coordenada do sistema de rastreamento. O método pode incluir determinar um mapeamento do objeto virtual entre a primeira estrutura de referência de objeto virtual e a estrutura coordenada do sistema de rastreamento. O método pode incluir mostrar uma cena aumentada incluindo uma visão do espaço real em 3D, uma visão 25 do objeto real e um ou mais itens virtuais sobrepostos. O mapeamento do objeto virtual pode ser usado para colocar o um ou mais itens virtuais sobrepostos na cena aumentada de modo que o um ou mais itens virtuais sejam alinhados com o objeto real.
Uma ou mais modalidades da presente descrição descrevem um método para a realidade aumentada, por exemplo, executada por um sistema de processamento de dados tendo pelo menos um processador. O método pode incluir ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastreamento de objeto. A estrutura coordenada do sistema de rastreamento pode rastrear a posição e orientação em um espaço real em 3D de uma câmera que capture o espaço real em 3D e um marcador impresso. O método pode incluir receber do sis5 tema de rastreamento uma estrutura de referência da câmera para a câmera. A estrutura de referência da câmera pode indicar uma porção e orientação da câmara com relação à estrutura coordenada do sistema de rastreamento. O método pode incluir receber ou estabelecer uma estrutura coordenada de marcador impresso associada com o marcador impresso. A estrutu10 ra coordenada de marcador impresso pode ser alinhada com o espaço real em 3D. A estrutura coordenada de marcador impresso pode ser alinhada com a estrutura coordenada do sistema de rastreamento. O método pode incluir determinar uma estrutura de referência de lente da câmera para a lente da câmera. A estrutura de referência de lente da câmera pode indicar uma 15 posição e orientação da câmera com relação à estrutura coordenada de marcador impresso. O método pode incluir determinar um mapeamento de lente da câmera entre a estrutura de referência da câmera e a estrutura de referência da câmera. O método pode incluir mostrar uma cena aumentada incluindo uma visão do espaço real em 3D e um ou mais itens virtuais. O 20 mapeamento de lente da câmera pode ser usado para alterar ou distorcer um ou mais itens virtuais na cena aumentada.
Uma ou mais modalidades da presente descrição descrevem um sistema. O sistema pode incluir uma câmera que captura uma visão de um espaço real em 3D incluindo um objeto real. O sistema pode incluir um sis25 tema de rastreamento que rastreia a posição e orientação em um espaço real em 3D do objeto real e da câmera. O sistema de rastreamento pode ser configurado para estabelecer uma estrutura coordenada do sistema de rastreamento associada com o sistema de rastreamento, e a estrutura coordenada do sistema de rastreamento pode ser alinhada com o espaço real em 30 3D. O sistema pode incluir um computador acoplado à câmera e ao sistema de rastreamento, e o computador pode incluir uma ou mais unidades de memória. O computador pode ser configurado com um modelador virtual. O modelador virtual pode ser configurado para receber do sistema de rastreamento uma primeira estrutura de referência de objeto real para o objeto real, onde a primeira estrutura de referência de objeto real pode indicar uma posição e orientação do objeto real com relação à estrutura coordenada do sis5 tema de rastreamento. O modelador virtual pode ser adicionalmente configurado para computar uma segunda estrutura de referência de objeto real para o objeto real, onde a segunda estrutura de referência de objeto real pode indicar uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento. O modelador virtual pode ser ainda 10 configurado para receber de uma ou mais unidades de memória uma primeira estrutura de referência de objeto virtual de um objeto virtual, onde o objeto virtual pode ser modelado depois do objeto real, e onde a primeira estrutura de referência de objeto virtual pode não ser relacionada à estrutura coordenada do sistema de rastreamento. O modelador virtual pode adicionalmente 15 configurar para computar uma segunda estrutura de referência de objeto virtual para o objeto virtual, onde a segunda estrutura de referência de objeto virtual pode indicar uma posição e orientação do objeto virtual com relação à estrutura coordenada do sistema de rastreamento. O modelador virtual pode ser adicionalmente configurado para computar um mapeamento do objeto 20 virtual entre a primeira estrutura de referência de objeto virtual e a estrutura coordenada do sistema de rastreamento. O modelador virtual pode ser ainda configurado para gerar e armazenar em uma ou mais unidades de memória uma cena aumentada incluindo uma visão do espaço real em 3D, uma visão do objeto real e um ou mais itens virtuais sobrepostos. O mapeamento do 25 objeto virtual pode ser usado para colocar o um ou mais itens virtuais sobrepostos na cena aumentada de modo que o um ou mais itens virtuais estejam alinhados com o objeto real.
Uma ou mais modalidades da presente descrição descrevem um sistema de processamento de dados que inclui uma ou mais unidades de memória que armazenam código do computador e uma ou mais unidades do processador acopladas a uma ou mais unidades de memória. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma ou mais unidades de memória para receber ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastreamento de objeto. A estrutura coordenada do sistema de rastreamento pode ser alinhada com um espaço real em 3D. O sistema 5 de rastreamento pode rastrear a posição e orientação em um espaço real em 3D de uma câmera que captura o espaço real em 3D e um marcador impresso. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma ou mais unidades de memória para receber do sistema de rastreamento uma estrutura de referência da câmera 10 para a câmera. A estrutura de referência da câmera pode indicar uma posição e orientação da câmera com relação à estrutura coordenada do sistema de rastreamento. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma ou mais unidades de memória para receber ou estabelecer uma estrutura coordenada de marcador impres15 so associada com o marcador impresso. A estrutura coordenada de marcador impresso pode ser alinhada com o espaço real em 3D, e a estrutura coordenada de marcador impresso pode ser alinhada com a estrutura coordenada do sistema de rastreamento. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma ou mais uni20 dades de memória para determinar uma estrutura de referência de lente da câmera para a lente da câmera. A estrutura de referência de lente da câmera pode indicar uma posição e orientação da lente da câmera com relação à estrutura coordenada de marcador impresso. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma 25 ou mais unidades de memória para determinar um mapeamento de lente da câmera entre a estrutura de referência da câmera e a estrutura de referência de lente da câmera. A uma ou mais unidades do processador podem executar o código do computador armazenado na uma ou mais unidades de memória para mostrar uma cena aumentada incluindo uma visão do espaço 30 real em 3D e um ou mais itens virtuais. O mapeamento de lente da câmera pode ser usado para alterar ou distorcer o um ou mais itens virtuais na cena aumentada. Essas e outras vantagens, aspectos e novas características da presente descrição, bem como detalhes de uma modalidade ilustrada dela, serão mais completamente compreendidos a partir da seguinte descrição e desenhos. É para ser entendido que as já mencionadas descrições gerais 5 são somente exemplares e explanatórias e não são restritivas da descrição como reivindicado.
BREVE DESCRIÇÃO DOS DESENHOS
Diversas características e vantagens são descritas na seguinte descrição, em que diversas modalidades são explicadas, usando os seguintes desenhos como exemplos.
A FIG. 1 descreve um diagrama em bloco mostrando exemplo de dispositivos, componentes, software e interações de um sistema de realidade aumentada (AR), de acordo com uma ou mais modalidades da presente descrição, onde a estrutura automatizada de técnicas de calibração de referência discutidas aqui pode ser útil em tal sistema de AR.
A FIG. 2 descreve um diagrama em bloco mostrando um exemplo de técnica de calibração, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 3 descreve uma ilustração de uma ferramenta ou vara usada por várias razões por um sistema de rastreamento, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 4A descreve uma ilustração de um exemplo de objeto real com um número de marcadores de rastreamento anexado a ou colocado no objeto real, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 4B descreve uma ilustração de como um sistema de rastreamento pode criar e colocar uma representação de um objeto real, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 5 descreve uma ilustração de como um software de modelagem virtual pode estabelecer uma nova estrutura de referência para um objeto real, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 6 descreve uma ilustração de como um software de modelagem virtual pode estabelecer uma nova estrutura de referência para um objeto virtual, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 7 descreve um diagrama em bloco mostrando um exempio de técnica de calibração, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 8A descreve uma ilustração de um exemplo da câmera e estrutura da câmera, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 8B descreve uma ilustração de como um sistema de ras
treamento pode criar e colocar uma representação de uma câmera, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 8C descreve uma ilustração de um computador pessoal com uma câmera integrada, de acordo com uma ou mais modalidades da presente descrição.
As FIGURAS 9A e 9B descrevem ilustrações de como um marcador impresso pode possibilitar a determinação de uma estrutura de referência de uma lente da câmera.
A FIG. 10A descreve uma ilustração de um exemplo de cena aumentada que pode ser produzida de acordo com uma ou mais modalidades da presente descrição.
A FIG. 10B descreve uma ilustração de um exemplo de cena aumentada que pode ser produzida de acordo com uma ou mais modalidades da presente descrição.
A FIG. 11 descreve um fluxograma que mostra exemplo de eta
pas em um método para estrutura automatizada de calibração de referência para realidade aumentada, de acordo com uma ou mais modalidades da presente descrição.
A FIG. 12 descreve um fluxograma que mostra exemplo de etapas em um método para estrutura automatizada de calibração de referência para realidade aumentada, de acordo com uma ou mais modalidades da presente descrição. A FIG. 13 descreve um diagrama em bloco de um exemplo de sistema de processamento de dados que pode ser usado para implementar uma ou mais modalidades da presente descrição.
DESCRIÇÃO DETALHADA Em vários sistemas de AR um sistema de rastreamento pode ser
usado para rastrear a posição e orientação de uma câmera e vários objetos do mundo real em um espaço em 3D. Por exemplo, um sistema de rastreamento pode rastrear uma câmera e uma peça de maquinário que a câmara está visualizando/capturando. Vários sistemas de AR podem tentar criar uma 10 cena aumentada que inclua uma cena do mundo real como capturado pela câmera (incluindo vários objetos do mundo real) e meios e/ou objetos virtuais sobrepostos. Para criar a cena aumentada, o sistema de rastreamento pode estabelecer uma estrutura coordenada virtual e pode rastrear ou "colocar" representações dos objetos do mundo real nessa estrutura coordenada. 15 Vários sistemas de AR podem tentar "colocar" vários objetos virtuais (por exemplo, modelos/objetos CAD) na estrutura coordenada de modo a criar uma cena aumentada. Os objetos/modelos virtuais podem ter sua própria estrutura de referência padrão ou arbitrária (por exemplo, posição e orientação 3D) e, por conseguinte, colocar um objeto virtual na estrutura coordena20 da do sistema de rastreamento, um mapeamento ou transformação deve ser determinado entre a estrutura coordenada do sistema de rastreamento e a estrutura de referência do objeto virtual. Adicionalmente, se a câmera (por exemplo, a câmera capturar a cena do mundo real) se move, um sistema de AR pode tentar alterar a visão dos objetos virtuais. De modo a fazer isso 25 com precisão, um sistema de AR pode necessitar rastrear a posição e a orientação da lente da câmera. No entanto, um sistema de rastreamento pode somente rastrear a posição e orientação da câmera toda. Vários programas de software (por exemplo, em conjunção com outras partes) podem ser usados para determinar uma estrutura de referência para a lente da câmera em 30 uma estrutura coordenada, mas esses programas de software de lente podem rastrear a lente em uma estrutura coordenada estabelecida pelo programa de software de lente. Por isso, para colocar a lente da câmera na estrutura coordenada do sistema de rastreamento, um mapeamento ou transformação deve ser determinado entre a estrutura coordenada do sistema de rastreamento e a estrutura de referência da lente. Determinar esses mapeamentos e/ou transformações (por exemplo, para os objetos virtuais e/ou 5 para a lente da câmera) pode ser referido como sistema de calibração de AR ou estruturas de referência de calibração.
Deve ser entendido que os termos "estrutura coordenada", "estrutura de referência" e "pose" podem ser usados por toda essa descrição e podem ser estreitamente relacionados. O termo "estrutura coordenada" pode se referir a uma representação em 3D de um espaço 3D, onde a estrutura coordenada inclui três planos ou eixos (por exemplo, um eixo X, um eixo Y, um eixo Z) e uma origem (por exemplo, um ponto onde os três eixos intersectam). O termo "estrutura de referência" pode se referir a uma localização em 3D e orientação em 3D de um objeto ou ponto, por exemplo, em uma estrutura coordenada. A estrutura de referência de um objeto pode incluir uma origem (por exemplo, um centro aproximado de massa) para o objeto e uma orientação do objeto (por exemplo, 3 eixos estabelecidos com relação ao objeto). O termo "pose" é abreviação de "posição e orientação" e pode se referir a uma posição em 3D (por exemplo, coordenadas X, Y, Z) e uma orientação em 3D (por exemplo, cilindro, passo, guinada) de um objeto em espaço em 3D.
Vários sistemas de AR podem executar calibração do sistema de AR através de um processo manual ou de ensaio e erro, por exemplo, aproximando a estrutura de referência do modelo virtual e/ou a lente da câmera 25 com relação à estrutura coordenada do sistema de rastreamento e então testando a cena aumentada para determinar se a aproximação foi uma aproximação boa. Por exemplo, um técnico pode simplesmente olhar nos objetos virtuais sobrepostos na cena aumentada e fazer uma determinação com respeito a se eles parecem estar na sua localização correta de várias Iocali30 zações e orientações da câmera. Esse processo de calibração manual pode exigir manipulação de doze parâmetros, por exemplo, seis parâmetros para um objeto virtual (por exemplo, coordenadas X, Y, Z e cilindro, passo, guinada) e seis parâmetros para uma lente de câmera (por exemplo, coordenadas X, Y, Z e cilindro, passo, guinada). Esse processo pode ser caro e/ou intensivo em tempo, por exemplo, tomando muitas horas (por exemplo, mais do que 8 horas) para completar. Mesmo quando o processo de calibração ma5 nual está completo, ainda pode não resultar em uma solução/calibração precisa. Por exemplo, um objeto virtual que parece ser apropriadamente de uma pose da câmera pode não parecer ser apropriadamente colocado de diferentes poses. Pequenos erros na colocação de objeto virtual podem levar a grandes erros em objetos do mundo real maiores. Adicionalmente, cada 10 momento do sistema de AR é ajustado em um novo ambiente ou por um novo objeto ou câmera real, o sistema de AR deve ser manualmente calibrado.
A presente descrição descreve um ou mais sistemas, métodos, rotinas e/ou técnicas para estrutura automatizada de calibração de referência para realidade aumentada. Um ou mais sistemas, métodos, rotinas e/ou 15 técnicas podem possibilitar calibração simples e rápida de um sistema de Realidade Aumentada (AR), por exemplo, através de automaticamente calibrar as estruturas de referência de objetos virtuais e/ou de uma câmera. Um ou mais sistemas, métodos, rotinas e/ou técnicas podem possibilitar ajuste do sistema de AR em um novo ambiente ou em um novo objeto real (por 20 exemplo, uma peça de maquinário) em uma quantidade de tempo relativamente curto (por exemplo, menos de 15 minutos) e podem possibilitar alinhamento preciso de conteúdo virtual sobreposto com uma cena do mundo real. O alinhamento preciso de conteúdo virtual pode ser crítico se o sistema de AR está sendo usado para instruir um técnico a executar uma tarefa pre25 cisa, por exemplo, perfurar um pequeno orifício em um local preciso. Um ou mais sistemas, métodos, rotinas e/ou técnicas podem determinar e/ou computar mapeamentos ou transformações entre várias estruturas de referência (por exemplo, a estrutura coordenada do sistema de rastreamento, a estrutura de referência de um objeto virtual e a estrutura de referência de uma lente 30 da câmera). A presente descrição pode descrever duas ou mais rotinas de calibração e/ou técnicas. A primeira rotina e/ou técnica de calibração pode determinar e/ou calcular um mapeamento ou transformação entre uma estrutura de referência de um objeto virtual (por exemplo, um modelo CAD) e uma estrutura coordenada associada com o sistema de rastreamento. A segunda rotina e/ou técnica de calibração pode determinar e/ou calcular um mapeamento ou transformação entre uma estrutura de referência de lente da câme5 ra e uma estrutura de referência da câmera toda por um sistema de rastreamento. Essas rotinas e/ou técnicas podem calibrar um sistema de AR para fornecer alinhamento rápido, preciso, entre conteúdo virtual e uma visão da câmera ao vivo de uma cena real.
A FIG. 1 descreve um diagrama em bloco mostrando exemplo de dispositivos, componentes, software e interações de um sistema de realidade aumentada (AR) 100, de acordo com uma ou mais modalidades da presente descrição, onde a estrutura automatizada de técnicas de calibração de referência discutidas aqui pode ser útil em tal sistema de AR. O sistema de AR 100 pode incluir uma câmera 102 que pode capturar e/ou transmitir uma alimentação de vídeo ao vivo de uma cena do mundo real. A cena do mundo real pode incluir um ou mais objetos reais, por exemplo, objeto real (RO) 104. O RO 104 pode ser um de vários objetos, por exemplo, uma ferramenta, uma peça de maquinário, um grande satélite, uma caixa de controle, um painel de controle ou vários outros objetos. A câmera 102 pode estar em comunicação com um computador 106, onde o computador pode interpretar e/ou processar informação (por exemplo, vídeo de transmissão ao vivo) enviado da câmera relacionada a cenas do mundo real e/ou objetos capturados pela câmera.
O sistema de AR 100 pode incluir um sistema de rastreamento 25 108. O sistema de rastreamento 108 pode rastrear a "pose" (posição e orientação em espaço em 3D) do objeto real 104 e da câmera 102, e pode transmitir esta informação (por exemplo, em tempo real) para um computador (por exemplo, computador 106) ou outro componente. O sistema de rastreamento 108 pode incluir vários componentes, por exemplo, um número de marcado30 res de rastreamento, um número de dispositivos de detecção para detectar os marcadores de rastreamento e um dispositivo de computação de base que pode operar associado ao software do sistema de rastreamento. Em um exemplo, cada marcador pode ser uma esfera pequena (por exemplo, uma esfera de 10 mm) com um revestimento refletivo que é projetado para refletir certos comprimentos de onda de luz. Nesse exemplo, os marcadores podem ser colocados em vários lugares e/ou em vários objetos no espaço do mun5 do real de modo que o sistema de rastreamento 108 possa rastrear a posição e/ou orientação de certos pontos e/ou objetos em espaço em 3D. Por exemplo, um número (por exemplo, três ou mais) de marcadores de rastreamento podem ser colocados no objeto real 104, e um número (por exemplo, três ou mais) de marcadores de rastreamento pode ser colocado na câmera 10 102.
Os dispositivos de detecção do sistema de rastreamento 108 podem ser câmeras que são projetadas para detectar a localização em espaço em 3D dos marcadores de rastreamento. Por exemplo, cada câmera pode ser uma câmera com infravermelho que é projetada para detectar re15 flexões de vários marcadores de rastreamento (por exemplo, marcadores de rastreamento colocados na câmera 102 e no objeto real 104). Os vários dispositivos de detecção (por exemplo, câmeras com infravermelho) podem ser colocados e/ou montados em vários locais em torno do espaço em 3D, por exemplo, um número (por exemplo, oito ou mais) de câmeras pode ser mon20 tado em paredes de uma área ou laboratório, por exemplo, montado em um arranjo de modo que o espaço em 3D de interesse seja amplamente coberto por faixas de visão das várias câmeras. Os vários dispositivos de detecção do sistema de rastreamento 108 podem estar em comunicação (por exemplo, por um link de comunicação em tempo real tal como Ethernet, Wi-Fi ou o 25 similar) com um dispositivo de computação de base, onde o dispositivo de computação de base pode operar associado ao software do sistema de rastreamento. O software do sistema de rastreamento pode processar dados dos vários dispositivos de detecção. O sistema de rastreamento 108 pode estar em comunicação (por exemplo, por um link de comunicação em tempo 30 real tal como Ethernet, Wi-Fi ou o similar) com um computador 106. O computador pode ser o computador que está em comunicação com a câmera 102. Em algumas modalidades, o dispositivo de computação de base do sistema de rastreamento 108 pode ser o mesmo dispositivo de computação que o computador 106.
Em algumas modalidades, a câmera 102 pode ser integrada no computador 106. Em alguns exemplos, o computador 106 pode ser um dispositivo móvel, por exemplo, um computador pessoal, smartphone, PDA ou o similar. Como um exemplo específico, um computador 106 pode ser um computador pessoal (vide FIG. 7C, por um exemplo) com uma câmera integrada. Um dispositivo móvel com uma câmera integrada pode fornecer flexibilidade e liberdade de movimento a um usuário. Por exemplo, um usuário poderia ver uma cena aumentada que inclui um objeto real (por exemplo, uma peça de maquinário real), e o usuário poderia caminhar em torno do objeto real, visualizando diferentes partes ou ângulos do objeto real. Adicionalmente, o usuário pode ver o conteúdo virtual na tela da mesa que auxilia o usuário a executar uma tarefa, por exemplo, o conteúdo virtual pode incluir instruções, setas, hardware, ferramentas ou o similar que pode instruir o usuário como trabalhar no ou com o objeto real. O computador pessoal nesse exemplo (por exemplo, um computador 106) pode incluir o software de modelagem virtual 110. O calibração de referência nesse exemplo, pode estar em comunicação (por exemplo, por um link de comunicação em tempo real tal como Ethernet, Wi-Fi ou o similar) com o sistema de rastreamento 108 (por exemplo, o dispositivo de computação de base do sistema de rastreamento).
O computador 106 pode incluir um software de modelagem virtual 110. O software de modelagem virtual pode acessar ou carregar vários 25 objetos virtuais, por exemplo, o objeto virtual (VO) 112. Os objetos virtuais (por exemplo, VO 112) podem ser projetados em uma de várias maneiras conhecidas para criar objetos virtuais e/ou projeto auxiliado por computador (CAD) e/ou modelos. Os objetos virtuais/CAD/modelos podem ser criados usando o software CAD, por exemplo, o software que usa vetor com base 30 em gráficos ou o similar para descrever um objeto, por exemplo, um objeto modelado depois de um objeto do mundo real. Os objetos virtuais/CAD/modelos podem ser objetos em 3D que são responsáveis por, em detalhes, as várias características em 3D do objeto do mundo real. O objeto virtual 112 pode ser uma representação virtual do objeto real 104. O computador 106 pode acessar ou carregar vários outros objetos virtuais além de exatamente objetos virtuais que representam objetos reais no espaço do 5 mundo real. Como um exemplo, o objeto real 104 pode ser uma peça de maquinário, e o objeto virtual 112 pode ser uma representação virtual da mesma peça de maquinário. Adicionalmente, outros objetos virtuais não podem ter contraparte no espaço do mundo real, por exemplo, os objetos virtuais poderiam representar parafusos hipotéticos, ferramentas, fios e o similar 10 que mostram a um técnico como interagir com o objeto real 104.
O software de modelagem virtual 110 pode receber dados (por exemplo, dados de tempo real simultâneos) do sistema de rastreamento 108, por exemplo, o sistema coordenado estabelecido pelo sistema de rastreamento, a estrutura de referência da câmera 102 e a estrutura de referên15 cia de um objeto real 104. O software de modelagem virtual 110 pode executar várias rotinas, técnicas e o similar descritos aqui para criar uma cena aumentada (por exemplo, cena aumentada 114), por exemplo, uma visão em tempo real do espaço do mundo real como capturado pela câmera 102 aumentada e/ou sobreposta com objetos virtuais. O software de modelagem 20 virtual 110 pode executar várias rotinas e/ou técnicas de calibração como descrito aqui para alinhar as estruturas coordenadas e uma lente da câmera com a estrutura coordenada associada com o sistema de rastreamento. Uma vez a calibração seja alcançada, o software de modelagem virtual 110 pode manter correlação e/ou alinhamento entre vários objetos virtuais e uma cena 25 do mundo real ao vivo. O computador 106 pode incluir ou estar em comunicação com um mostrador 116 que pode mostrar a cena aumentada 114 a um usuário. O software de modelagem virtual 110 pode produzir uma cena aumentada 114 (mostrada no mostrador 116) que mostra objetos virtuais colocados em uma alimentação de vídeo ao vivo. O software de modelagem 30 virtual 110 pode, apropriadamente, deformar (por exemplo, alterar localização em 3D, orientação em 3D e/ou tamanho em 3D) objetos virtuais na cena aumentada, por exemplo, dependendo da pose da câmera 102 relativa e/ou a pose do objeto real 104. Por exemplo, se a câmera 102 se move adicionalmente para longe do objeto real 104, um ou mais objetos virtuais na cena aumentada podem encolher. Como um outro exemplo, se a câmera 102 se move mais perto do objeto real 104, um ou mais objetos virtuais podem alar5 gar. Como um outro exemplo, se a câmera 102 se move em um ângulo relativo ao objeto real 104, um ou mais objetos virtuais girariam apropriadamente.
A FIG. 2 descreve um diagrama em bloco mostrando um exemplo de técnica de calibração, de acordo com uma ou mais modalidades da presente descrição. Mais especificamente, a FIG. 2 mostra uma estrutura de referência automatizada de técnica de calibração que pode ser usada para determinar e/ou calcular um mapeamento ou transformar entre a estruturas de referência de objetos virtuais (por exemplo, objetos virtuais adicionados a uma cena aumentada) e a estrutura de referência associada com o sistema de rastreamento. Como pode ser visto na FIG. 2, um sistema de rastreamento 202 (por exemplo, similar ao sistema de rastreamento 108 da FIG. 1) pode estabelecer uma estrutura coordenada 204, por exemplo, como parte de um ajuste de sistema de rastreamento executado por um técnico. A estrutura coordenada do sistema de rastreamento pode incluir três eixos (por exempio, eixo X, eixo Y, eixo Z) e uma origem onde os três eixos intersectam. O sistema de rastreamento pode "colocar" ou associar a origem da estrutura coordenada com um ponto particular em um espaço do mundo real em 3D e pode orientar a estrutura coordenada com relação ao espaço do mundo real. O sistema de rastreamento pode utilizar uma ferramenta ou vara para estabelecer sua estrutura coordenada, por exemplo, uma vara similar à vara 300 mostrada na FIG. 3. Com referência à FIG. 3, a vara 300 pode assemelharse com a letra "T" e pode incluir um primeiro membro estendido (por exemplo, membro 302) que pode designar um primeiro eixo (por exemplo, eixo X) e pode incluir um segundo membro estendido (por exemplo, membro 304) que pode designar um segundo eixo (por exemplo, eixo Z). A vara 300 pode também designar uma origem no ponto 306 onde o primeiro membro 302/eixo e o segundo membro 304/eixo intersectam. Um terceiro eixo imaginário (por exemplo, eixo Y) pode operar através do ponto de origem 300. Como um exemplo, a vara 300 pode ser colocada no piso de uma área ou laboratório, e a máquina de rastreamento pode estabelecer sua estrutura coordenada detectando a vara e/ou marcadores de rastreamento (por exem5 pio, marcadores de rastreamento 308, 310, 312, 314, 316) anexados à vara. O sistema de rastreamento pode estabelecer uma origem virtual e três eixos virtuais que se associam com a origem e eixos como designado pela vara 300. Uma vez que o sistema coordenado do sistema de rastreamento é estabelecido, o sistema de rastreamento pode rastrear um objeto real (por e10 xemplo, equipado com três ou mais marcadores de rastreamento) na área ou laboratório e determinar sua pose dentro da estrutura coordenada e determinar a orientação do objeto com respeito aos três eixos.
Com referência outra vez à FIG. 2, o sistema de rastreamento 202 pode determinar uma estrutura de referência 206 para um objeto real. Em outras palavras, o sistema de rastreamento 202 pode rastrear o objeto real. O objeto real pode ser similar ao objeto real 104 da FIG. 1, por exemplo. O objeto real (RO) pode ser um de vários objetos, por exemplo, uma ferramenta, uma peça de maquinário, um grande satélite, uma caixa de controle, um painel de controle ou vários outros objetos. A FIG. 4A mostra um exemplo de um objeto real 400 - uma ferramenta afiadora para perfurador. De modo ao sistema de rastreamento rastrear (isto é, determinar uma estrutura de referência) o objeto real 400, um número (por exemplo, três ou mais) de marcadores de rastreamento 402, 404, 406) pode ser anexado a ou colocado no objeto real 400. Para rastreamento apropriado, os marcadores de rastreamento podem ter que ser colocados apropriadamente no objeto real 400, por exemplo, em um arranjo não colinear, não simétrico. Três ou mais pontos são ditos serem colineares se eles estão em uma linha reta única. Por conseguinte, um arranjo não colinear de marcadores de rastreamento significa que os marcadores de rastreamento são arranjos de modo que os marcadores não estejam todos em uma linha reta. Para rastreamento apropriado, pelo menos três marcadores de rastreamento não colineares podem ser colocados no objeto real. Mais de três marcadores de rastreamento podem ser colocados no objeto real, por exemplo, para aperfeiçoar a confiabilidade e/ou precisão de cálculos, por exemplo, no caso da visão de um dos marcadores de rastreamento estar obstruída.
O sistema de rastreamento (por exemplo, incluindo um número da câmeras com infravermelho) pode detectar os marcadores de rastreamento e criar e colocar uma representação do objeto real na estrutura coordenada estabilizada pelo sistema de rastreamento. A FIG. 4B mostra uma ilustração de como um sistema de rastreamento pode criar e colocar uma representação de um objeto real. O sistema de rastreamento pode detectar a localização dos marcadores de rastreamento (por exemplo, marcadores 402, 404, 408 e talvez mais marcadores não mostrados na FIG. 4A) e pode criar e colocar pontos (por exemplo, pontos 452, 454, 456 e 458), respectivamente associados com os marcadores de rastreamento, na estrutura coordenada do sistema de rastreamento. Desses pontos (por exemplo, pontos 452, 454, 456 e 458), o sistema de rastreamento pode determinar uma origem (por exemplo, ponto 460) e uma orientação (vide linhas de cubo e de orientação que circundam o ponto 460) para a representação do objeto real. A origem pode ser determinada pelo cálculo de um centroide (por exemplo, um centro de massa) dos pontos 452, 454, 456 e 458. A orientação pode ser ajustada para corresponder (ou relacionada) à orientação do sistema coordenado do sistema de rastreamento. Uma vez que o sistema de rastreamento determina uma estrutura de referência (por exemplo, uma origem/localização e orientação associadas com a estrutura coordenada do sistema de rastreamento) para o objeto real (RO), o sistema de rastreamento pode transmitir informação sobre a pose do objeto real para o software de modelagem virtual. A transmissão de informação de pose sobre o objeto real pode atualizar em tempo real conforme o objeto real pode se mover e/ou girar.
Com referência outra vez à FIG. 2, o software de modelagem virtual 210 pode estabelecer uma nova estrutura de referência 212 para o objeto real (RO). O software de modelagem virtual 210 pode ser similar ao software de modelagem virtual 110 da FIG. 1, por exemplo. O software de modelagem virtual 210 pode usar a mesma estrutura coordenada que a uma associada com o sistema de rastreamento. A nova estrutura de referenciado RO 212 pode especificar diferentes (quando comparado à estrutura de referência de RO 206) pontos de referência no objeto real e pode determinar e/ou calcular uma diferente origem. Estabelecer uma nova estrutura de refe5 rência do RO pode permitir que o software de modelagem virtual escolha os pontos de referência no objeto real que são os mesmos (ou muito próximos a) pontos de referência em um objeto virtual (por exemplo, um modelo CAD) que é associado com o objeto real.
A FIG. 5 mostra uma ilustração de como o software de modelagem virtual pode estabelecer uma nova estrutura de referência para um objeto real, por exemplo, objeto real 500. Um número de pontos de referência (por exemplo, pontos 502, 504, 506) pode ser indicado no objeto real 500. Esses pontos de referência podem ser indicados, por exemplo, por um técnico usando uma ferramenta ou vara, por exemplo, uma vara similar à vara 300 da FIG. 3. A ferramenta ou vara pode ser rastreável pelo sistema de rastreamento, por exemplo, a posição entre os marcadores de rastreamento anexados à vara com relação um ao outro pode ser determinada pelo sistema de rastreamento, possibilitando coleta de ponto precisa. O software de modelagem virtual pode usar dados do sistema de rastreamento sobre a posição da vara para registrar pontos de referência no objeto real. Como um exemplo, o software de modelagem virtual pode reconhecer um ponto na vara como um "apontador" (por exemplo, uma ponta de um membro de extensão da vara). Um técnico pode tocar o apontador em vários pontos no objeto real (pontos 502, 504, 506), e via a vara e o sistema de rastreamento, o software de modelagem virtual pode capturar ou registrar esses pontos e colocá-los na estrutura coordenada associada com o sistema de rastreamento. Para determinar a nova estrutura de referência, os pontos de referência podem ter que ser colocados apropriadamente no objeto real 500, por exemplo, em um arranjo não colinear. Pelo menos três pontos de referência não colineares podem ser colocados no objeto real. Mais do que três pontos de referência podem ser colocados no objeto real, por exemplo, para aperfeiçoar a confiabilidade e/ou precisão dos cálculos. Desses pontos de referência (por exemplo, pontos 502, 504, 506), o software de modelagem virtual pode determinar uma origem (por exemplo, ponto 508) e uma orientação (vide linhas de eixo se estendendo do ponto 508) para o objeto real. A origem pode ser determinada pelo cálculo de um centroide (por exemplo, um 5 centro de massa) dos pontos 502, 504, 506. Uma orientação para o objeto real pode ser determinada pela colocação de dois eixos (por exemplo, eixo X, eixo Z) que se estendem da origem no plano criado pelos pontos 502, 504, 506.
Com referência outra vez à FIG. 2, uma vez que a nova estrutura de referência 212 do RO é estabelecida, o software de modelagem virtual 210 pode calcular diferenças translacionais e/ou rotacionais entre a nova estrutura de referência 212 do RO e a estrutura de referência 206 de RO determinadas pelo sistema de rastreamento.
Com referência à FIG. 2, o software de modelagem virtual 210 pode acessar ou carregar vários objetos virtuais, por exemplo, modelos CAD pré-designados. O software de modelagem virtual 210 pode colocar os objetos virtuais na estrutura coordenada associada com o sistema de rastreamento, mas o sistema de AR pode necessitar ser calibrado antes que uma colocação apropriada opere. Um objeto virtual (por exemplo, um modelo CAD) pode ter sua própria estrutura de referência (por exemplo, uma origem e três eixos de orientação), por exemplo, como especificado quando o objeto virtual foi designado. Pode ser o caso (por exemplo, para um ambiente particular) que todos os objetos virtuais referenciados pelo software de modelagem virtual possam compartilhar a mesma estrutura de referência (por exemplo, estrutura de referência de VO 214). Para colocar objetos virtuais na estrutura coordenada associada com o sistema de rastreamento, o software de modelagem virtual 210 pode determinar um mapeamento ou transformação entre a estrutura de referência de VO 214 dos objetos virtuais e a estrutura coordenada 204 associada com o sistema de rastreamento. Para calibrar o sistema de AR (por exemplo, determinar o mapeamento ou transformação), o software de modelagem virtual 210 pode usar um objeto virtual (por exemplo, objeto virtual 112 da FIG. 1) que corresponde a um objeto real (por exemplo, objeto real 104 da FIG. 1) que a câmera (por exemplo, câmera 102 da FIG. 1) do sistema de AR está capturando. Esse objeto virtual pode ter uma estrutura de referência de VO 214.
O software de modelagem virtual 210 pode estabelecer uma nova estrutura de referência de VO 216 para o objeto virtual real. O software de modelagem virtual 210 pode usar a mesma estrutura coordenada que a uma associada com o sistema de rastreamento. A nova estrutura de referência de VO 216 pode ter uma diferente origem e orientação, quando comparada à estrutura de referência de VO 214. Estabelecer uma nova estrutura de referência de VO pode permitir que o software de modelagem virtual escolha pontos de referência no objeto virtual que são os mesmos (ou muito próximos a) pontos de referência como foi indicado (como explicado acima) com respeito ao objeto real correspondente, e pode possibilitar alinhamento (vide geralmente o ponto 218) entre a nova estrutura de referência de RO 212 e a nova estrutura de referência de VO 216. O alinhamento entre a nova estrutura de referência de RO 212 (associada com o objeto real) e a nova estrutura de referência de VO 216 (associada com o objeto virtual) pode ser alcançado, por exemplo, escolhendo os mesmos pontos de referência tanto no objeto real quanto no objeto virtual e executando o mesmo cálculo de origem e orientação para cada.
A FIG. 6 mostra uma ilustração de como o software de modelagem virtual pode estabelecer uma nova estrutura de referência de VO para o objeto virtual, por exemplo, objeto virtual 600. Perceba que, para propósitos de calibração, o objeto virtual 600 pode ser um objeto virtual modelado de25 pois de um objeto real associado com a câmera do sistema de AR estar capturando, por exemplo, o objeto real 500 da FIG. 5. Um número de pontos de referência (por exemplo, pontos 602, 604, 606) pode ser selecionado no objeto virtual 600. Esses pontos de referência podem corresponder (por exemplo, estar na mesma posição relativa como) aos pontos de referência que 30 foram escolhidos, indicados e/ou registrados para criar a nova estrutura de referência de RO (vide FIG. 5 e discussão relacionada). Como com a determinação da estrutura de referência de RO, os pontos de referência para determinar a nova estrutura de referência de VO podem ser uns arranjos não colineares, e pelo menos três pontos de referência colineares podem ser selecionados no objeto virtual. A partir desses pontos de referência (por exemplo, pontos 602, 604, 606), o software de modelagem virtual pode de5 terminar uma origem (por exemplo, ponto 608) e uma orientação (vide linhas de eixos se estendendo do ponto 608) para o objeto virtual. A origem pode ser determinada calculando um centroide (por exemplo, um centro de massa) dos pontos 602, 604, 606. Uma orientação para o objeto virtual pode ser determinada colocando dois eixos (por exemplo, eixo X, eixo Z) que se es10 tendem da origem no plano criado pelos pontos 602, 604, 606.
Com referência outra vez à FIG. 2, uma vez que a nova estrutura de referência de VO 216 é estabelecida, o software de modelagem virtual 210 pode calcular diferenças translacionais e/ou rotacionais entre a nova estrutura de referência de VO 216 e a estrutura de referência de VO 214 associadas com o objeto virtual.
Como explicado acima, um objeto virtual, que é modelado depois de um objeto real associado no espaço em 3D, pode ser exigido para calibrar o sistema de AR, por exemplo, para determinar uma nova estrutura de referência de VO 216 que pode ser alinhada com a nova estrutura de re20 ferência de RO 212. No entanto, uma vez que a calibração está completa, deve ser entendido que vários outros objetos virtuais podem ser colocados (por exemplo, pelo software de modelagem virtual) na estrutura coordenada associada com o sistema de rastreamento. Com referência à FIG. 2, pode ser visto porque esse posicionamento funciona. Para colocar um objeto vir25 tual na estrutura da câmera associada com o sistema de rastreamento, um mapeamento ou transformação (por exemplo, a Transformação M4 mostrada na FIG. 2) deve ser determinado entre a estrutura de referência do objeto virtual 214 (por exemplo, uma origem e orientação) e a estrutura coordenada 204 associada com o sistema de rastreamento. A transformação M4 pode 30 não ser conhecida antes do processo de calibração estar completo. O processo de calibração, como explicado acima, pode determinar vários outros mapeamentos ou transformações que são relacionados à transformação M4. Como mostrado na FIG. 2, o processo de calibração pode determinar a Transformação M1 (isto é, onde o sistema de rastreamento coloca o objeto real rastreado na sua estrutura coordenada), a Transformação M2 (isto é, as diferenças translacionais e rotacionais entre a estrutura de referência de RO 5 206 e a nova estrutura de referência de RO 212) e a Transformação M3 (isto é, diferenças translacionais e rotacionais entre a estrutura de referência de VO 214 e a nova estrutura de referência de VO 216). Uma vez que as transformações M1, M2 e M3 são conhecidas, a transformação M4 pode ser calculada. Uma vez que a transformação M4 é conhecida, vários objetos virtu10 ais podem ser colocados na estrutura coordenada associada com o sistema de rastreamento. Adicionalmente, como a informação (por exemplo, pose do objeto real) do sistema de rastreamento é transmitida ao software de modelagem virtual, se a transformação M1 muda (isto é, a pose do objeto real no espaço 3D), a transformação M4 pode atualizar, por exemplo, em tempo re15 al. Nesse aspecto, os objetos virtuais podem se sobrepor em uma cena do mundo real, e a aparência dos objetos virtuais pode mudar apropriadamente, por exemplo, como um objeto real associado nos movimentos da cena.
transformação M4, como mostrado na FIG. 2. As várias transformações (M1, 20 M2, M3, M4) como mostrado na FIG. 2 podem, cada uma, ser representadas como uma matriz de transformação, por exemplo, uma matriz de transformação 4x4 como é comumente usada nos gráficos de computado em 3D. A transformação M1 pode ser representada como a transformação M4 mostrada na Eq. 1 abaixo. A transformação M2 pode ser representada como a ma25 triz de transformação mostrada na Eq. 2 abaixo. A transformação M3 pode ser representada como a matriz de transformação mostrada na Eq. 3 abaixo.
O seguinte explica um exemplo da técnica para computar a M. M.
DCBi1 V1]
. OOO li
'DCM^ v^}
, DO0~ 11
(Eq. 1)
(Eq. 2)
(Eq. 3) Cada matriz de transformação pode incluir um componente rotacional ou de orientação (DCMn ou "Matriz de Cosseno de Direção") e um componente translacional ou de locação (Vn). Por exemplo, o DCMn representa a matriz giratória para a transformação Mn, e Vn representa o vetor 5 translacional para a transformação Mn. O componente rotacional (DCMn) pode ser uma matriz 3x3 que representa uma mudança em orientação entre dois objetos. O componente DCMn pode representar três valores - uma mudança no cilindro (por exemplo, rotação em torno de um eixo Y), e uma mudança em guinada (por exemplo, rotação em torno do eixo Z). Esses três 10 valores podem ser expandidos em uma matriz de DCMn 3x3 para ajustar apropriadamente na matriz de transformação 4x4 Mn. Uma pessoa familiar com multiplicação de matrizes e matriz de transformação perceberá que uma matriz de transformação deve ser populosa em uma maneira apropriada de modo que a multiplicação de uma matriz pelas outras resulta na transforma15 ção desejada. O componente translacional (Vn) pode ser uma matriz 1x3 (isto é, 3 números em uma coluna vertical) que representa a mudança na localização de dois objetos (por exemplo, mudança na localização entre origens de dois objetos). O componente translacional (Vn) pode incluir três valores - uma mudança em localização em 3D com relação ao eixo X, uma 20 mudança em localização em 3D com relação ao eixo Z. Quando o componente rotacional (DCMn) e o componente translacional (Vn) são adicionados à matriz de transformação (Mn) e preenchidos com "0001" na série de fundo (para fazer o trabalho de multiplicação de matriz), a matriz de transformação está completa.
A transformação M4 pode então ser calculada como mostrado
na Eq. 4 abaixo, resultando na transformação M4 mostrada na Eq. 5 abaixo.
Em algumas modalidades, uma vez que a transformação M4 é
PCM1 V1
L õõo í
SCM4 v*
000 1
DCM2 ΐ?,] pCM3 v.
L 000 li i SOO Ü
(Eq. 4) (Eq. 5) calculada, permanece a mesma. Como pode ser visto na FIG. 2, uma vez que a transformação M4 é calculada, ela pode representar a transformação de uma estrutura de referência do objeto virtual para a Estrutura de Referência RO determinada por TS. A transformação M4 pode ser usada para colo5 car vários objetos virtuais em uma estrutura coordenada associada com o sistema de rastreamento, por exemplo, colocada com uma pose que é relacionada à Estrutura de Referência RO determinada por TS. Conforme a informação (por exemplo, pose do objeto real) do sistema de rastreamento é transmitida ao software de modelagem virtual, se a transformação M1 muda 10 (isto é, a pose do objeto real no espaço de 3D), a pose de vários objetos virtuais pode se atualizar, por exemplo, em tempo real.
Outra vez com referência à FIG. 1, a câmera 102 pode também necessitar ser calibrada antes do sistema de AR poder deformar com precisão, alterar ou alinhar objetos virtuais conforme a câmera 102 se move. Os desafios e soluções associados com a calibração da câmera 102 podem ser similares àqueles associados com calibração de objetos virtuais com relação à estrutura coordenada associada com o sistema de rastreamento, como descrito acima. Para alcançar o alinhamento preciso entre os objetos virtuais e uma cena do mundo real (como capturado pela câmera 102), o software de modelagem virtual pode necessitar rastrear a pose das lentes da câmera 102, não exatamente o corpo da câmera como um todo. Vários métodos para calibrar câmeras envolviam um processo de ensaio e erro prolongado (por exemplo, tomando diversas horas) para manualmente manipular seis parâmetros (por exemplo, X, Y, Z, cilindro, passo, guinada) associados com a lente da câmera. Com esses métodos manuais, uma colocação da câmera não é assegurada, mesmo depois da calibração estar completa.
A FIG. 7 descreve um diagrama em bloco mostrando um exemplo de técnica de calibração, de acordo com uma ou mais modalidades da presente descrição. Mais especificamente, a FIG. 7 mostra uma estrutura 30 automatizada de técnica de calibração de referência que pode ser usada para determinar e/ou calcular um mapeamento e/ou transformação entre a estrutura de referência de uma câmera conforme rastreada por um sistema de rastreamento e a estrutura de referência da lente da câmera. Como pode ser visto na FIG. 7, um sistema de rastreamento 702 (por exemplo, similar ao sistema de rastreamento sistema de rastreamento 108 da FIG. 1) pode estabelecer uma estrutura coordenada 704, por exemplo, como parte de um 5 ajuste do sistema de rastreamento executado por um técnico (explicado em detalhes acima). O sistema de rastreamento 702 pode determinar uma estrutura de referência 706 para uma câmera. Em outras palavras, o sistema de rastreamento 702 pode rastrear a câmera. A câmera pode ser similar à câmera 102 da FIG. 1, por exemplo. A câmera pode ser uma câmera indepen10 dente ou pode ser incorporada em um computador, por exemplo, o computador que opera o software de modelagem virtual. A FIG. 8A mostra uma ilustração de um exemplo da câmera 800. Para que o sistema de rastreamento rastreie (isto é, determine uma estrutura de referência para) a câmera 800, um número (por exemplo, três ou mais) de marcadores de rastreamento 15 (por exemplo, marcadores de rastreamento 802, 804, 806) pode ser anexado ou substituído na câmera 800. Em algumas modalidades, os marcadores de rastreamento podem ser anexados ao próprio corpo da câmera. Em outras modalidades, os marcadores de rastreamento podem ser anexados a uma estrutura 801 que contém ou suporta a câmera 800, como mostrado no e20 xemplo da FIG. 8A. Para rastreamento apropriado, os marcadores de rastreamento podem ter que ser colocados apropriadamente na câmera 800, por exemplo, em um arranjo não colinear. Para rastreamento apropriado, pelo menos três marcadores de rastreamento não colineares podem ser colocados na câmera (ou estrutura da câmera). Mais do que três marcadores de 25 rastreamento podem ser colocados na câmera, por exemplo, para aperfeiçoar a confiabilidade e/ou precisão de cálculos, por exemplo, no caso da visão de um dos marcadores de rastreamento estar obstruída.
O sistema de rastreamento (por exemplo, incluindo um número da câmeras com infravermelho) pode detectar os marcadores de rastreamento na câmera (ou estrutura da câmera) e pode criar e colocar uma representação da câmera na estrutura coordenada estabelecida pelo sistema de rastreamento. A FIG. 8B mostra uma ilustração de como um sistema de rastreamento pode criar e colocar uma representação de uma câmera. O sistema de rastreamento pode detectar a localização dos marcadores de rastreamento (por exemplo, marcadores 802, 804, 806 e talvez vários outros marcadores) e pode criar e colocar pontos (por exemplo, pontos 852, 854, 856 e talvez vários outros), respectivamente associados com os marcadores de rastreamento, na estrutura coordenada do sistema de rastreamento. A partir desses pontos (por exemplo, pontos 852, 854, 856 e talvez vários outros), o sistema de rastreamento pode determinar uma origem (por exemplo, ponto 860) e uma orientação (vide linhas de cubo e de orientação que circundam o ponto 860) para a representação do objeto real. A origem pode ser determinada calculando um centroide (por exemplo, um centro de massa) dos pontos 852, 854, 856 e talvez vários outros. A orientação pode ser determinada para corresponder (ou ser relacionada) à orientação do sistema coordenado do sistema de rastreamento. Uma vez que o sistema de rastreamento determina uma estrutura de referência (por exemplo, uma origem/localização e orientação associadas com a estrutura coordenada do sistema de rastreamento) para a câmera, o sistema de rastreamento pode transmitir informação sobre a pose da câmera do software de modelagem virtual. A informação de transmissão da pose sobre a câmera pode se atualizar em tempo real conforme a câmera pode se mover e/ou girar.
Em algumas modalidades da presente descrição, a câmera pode ser incorporada em um computador, por exemplo, o computador que opera o software de modelagem virtual. Como um exemplo específico, o computador pode ser um computador pessoal com uma câmera integrada. A FIG. 8C 25 mostra uma ilustração de um exemplo de computador pessoal 870 com uma câmera integrada. Por exemplo, um primeiro lado 874 do computador pessoal 870 pode facear um usuário 872, e um segundo lado 876 pode facear para longe do usuário 872. A câmera pode ser montada no segundo lado 876, de modo que a câmera possa capturar um objeto real (por exemplo, 30 objeto real 880). Se o sistema de AR é apropriadamente calibrado, o usuário 872 pode ver uma cena do mundo real (incluindo uma visão 881 do objeto real 880) na tela do computador pessoal 870. A tela pode também mostrar conteúdo virtual (por exemplo, conteúdo virtual 882), sobreposto no topo da cena do mundo real/objeto real. Para um sistema de rastreamento rastrear a câmera (por exemplo, incorporada no computador pessoal 870), um número de marcadores de rastreamento (por exemplo, marcadores de rastreamento 5 884, 886, 888) pode ser montado no computador pessoal 870. Então, o rastreamento da câmera pode ser feito em um método similar àquele explicado acima.
Com referência outra vez à FIG. 7, um software de modelagem virtual 710 pode receber informação de transmissão do sistema de rastrea10 mento 702 sobre a pose/estrutura de referência da câmera. No entanto, o software de modelagem virtual 710 pode necessitar rastrear a localização da lente da câmera, em vez do corpo da câmera (ou uma estrutura da câmera, ou um computador pessoal) como um todo. Para determinar uma estrutura de referência para a lente da câmera, um marcador impresso especial e 15 software relacionado podem ser usados. As FIGURAS 9A e 9B descrevem ilustrações que mostram como o marcador impresso pode permitir determinação da estrutura de referência da lente. Como mostrado na FIG. 9A, uma câmera 902 pode capturar ou registrar itens do mundo real no campo de visão 904 da câmera. Um marcador impresso especial 906 pode ser colocado 20 no campo de visão 904 da câmera. Deve ser entendido que o marcador impresso 906 somente pode ser usado para calibrar a câmera e o sistema de AR. Uma vez que o software de modelagem virtual é capaz de rastrear a lente da câmera, o marcador impresso 906 pode ser removido.
Para calibrar o sistema de AR, o marcador impresso 906 pode 25 ser colocado no campo de visão 904 da câmera, por exemplo, em algum lugar no espaço em 3D de uma área ou laboratório (por exemplo, no piso). O marcador impresso 906 pode incluir vários marcadores (por exemplo, marcadores 908) que podem incluir uma estrutura coordenada (por exemplo, uma origem e orientação) para o marcador impresso. A câmera 902 pode 30 então capturar o marcador impresso 906 (incluindo os vários marcadores) e pode transmitir essa informação a um computador 910 (por exemplo, similar ao computador 106 da FIG. 1). O computador 910 pode ser o mesmo computador que inclui o software de modelagem virtual. O computador 910 pode incluir um software 912 que é associado com o marcador impresso 906. O software do marcador impresso 912 pode receber informação da câmera 902, incluindo como a câmera "vê" o marcador impresso 906, por exemplo, 5 como o marcador impresso parece estar localizado e orientado no campo de visão da câmera. O software do marcador impresso 912 pode então processar essa informação para determinar uma estrutura de referência (por exemplo, uma origem e orientação) para a lente da câmera 902, por exemplo, como a lente é colocada na estrutura coordenada estabelecida pelo marca10 dor impresso 906 (e os vários marcadores 908). Como um exemplo e referência à FIG. 9B, para propósitos de calibração, a câmera 902 e o marcador impresso 906 podem ser orientados com relação um ao outro de modo que os eixos (por exemplo, X, Y, Z) sejam alinhados com os eixos vertical, horizontal e de profundidade da câmara, especificamente a lente da câmera.
Com referência outra vez à FIG. 7, o software de modelagem vir
tual (por exemplo, via o software relacionado a um marcador impresso especial) pode determinar uma estrutura de referência de lente da câmera 714, por exemplo, conforme ele se relaciona a uma estrutura coordenada 712 estabelecida pelo marcador impresso. De modo a relacionar a pose da lente 20 da câmera à pose de vários objetos virtuais, o software de modelagem virtual pode colocar a lente da câmera em uma estrutura coordenada associada com o sistema de rastreamento, por exemplo, relacionando a estrutura de referência 714 da lente da câmera à estrutura de referência 706 da câmera como um todo, conforme rastreado pelo sistema de rastreamento. No entan25 to, o software de modelagem virtual 710 pode não ser capaz de relacionar a estrutura de referência 714 da lente da câmera à estrutura de referência 706 da câmera como um todo até o sistema de AR ter sido calibrado, por exemplo, porque a estrutura coordenada 712 estabelecida pelo marcador impresso pode ser diferente da estrutura coordenada 704 estabelecida pelo siste30 ma de rastreamento. Por isso, o processo de calibração pode incluir alinhar (geralmente mostrado pelo número 716) a estrutura coordenada 712 estabelecida pelo marcador impresso e a estrutura coordenada 704 estabelecida pelo sistema de rastreamento. Esse alinhamento pode incluir colocar o marcador impresso (por exemplo, a origem do marcador impresso) na mesma localização (por exemplo, a mesma localização em espaço em 3D no piso de uma área ou laboratório) como a origem da estrutura coordenada do sistema 5 de rastreamento. O alinhamento pode também incluir alinhar os eixos (por exemplo, X, Y, Z) do marcador impresso com os eixos da estrutura coordenada do sistema de rastreamento. A esse respeito, uma vez que as duas estruturas coordenadas são alinhadas, o software de modelagem virtual 710 pode tratá-las como a mesma estrutura coordenada.
Para relacionar a estrutura de referência 714 da lente da câmera
à estrutura de referência 706 da câmera como um todo, o software de modelagem virtual 710 pode determinar/calcular um mapeamento ou transformação (por exemplo, a Transformação C3 mostrada na FIG. 7). A transformação C3 pode não ser conhecida antes do processo de calibração estar com15 pleto. O processo de calibração, como explicado acima, pode determinar vários outros mapeamentos ou transformações que são relacionados à transformação C3. Como mostrado na FIG. 7, o processo de calibração pode determinar a Transformação C1 (isto é, onde o sistema de rastreamento coloca a câmera rastreada na sua estrutura coordenada) e a Transformação 20 C2 (isto é, as diferenças translacionais e rotacionais entre a estrutura coordenada de marcador impresso 712 e a nova estrutura de referência de lente da câmera 714 como determinado pelo software associado com o marcador impresso). Uma vez que as transformações C1 e C2 são mostradas, a transformação C3 pode ser calculada. Uma vez que a transformação C3 é conhe25 cida, a câmera pode ser movida em torno, e o software de modelagem virtual pode rastrear a lente da câmera na estrutura coordenada do sistema de rastreamento, mesmo que o marcador impresso não mais apareça no campo de vista da câmera. Uma informação (por exemplo, pose da câmera) do sistema de rastreamento é transmitida ao software de modelagem virtual, se o 30 transformador C1 muda (isto é, a pose da câmera no espaço em 3D), o transformador C3 pode se atualizar, por exemplo, em tempo real. Nesse respeito, os objetos virtuais podem se sobrepor em uma cena do mundo real, e a aparência dos objetos virtuais pode mudar apropriadamente, por exemplo, conforme a câmera se move.
O que segue explica um exemplo de técnica para computar a transformação C3, como mostrado na FIG. 7. As várias transformações (C1, 5 C2, C3) como mostradas na FIG. 7 podem, cada uma, ser representada como uma matriz de transformação, por exemplo, uma matriz de transformação 4x4 como é comumente usada nos gráficos do computador em 3D. A transformação C1 pode ser representada como a matriz de transformação na Eq. 6 abaixo. A transformação C2 pode ser representada como a matriz 10 de transformação mostrada na Eq. 7 abaixo.
Cl =
c., =
'DCM2 . 000 i
(Eq. 7)
15
Similar às matrizes de transformação Mn descritas acima, cada matriz de transformação Cn pode incluir um componente rotacional e de orientação (DCMn) e um componente translacional ou de locação (Vn). A transformação C3 pode então ser calculada como mostrada na Eq. 8 abaixo, resultando na transformação C3 mostrada na Eq. 9 abaixo.
fnrsi? λ
^
I 000 Ii
v.
D00~ IJ
■2? CAf,
(Eq. 8) (Eq. 9)
Então, com referência outra vez à FIG. 7, a transformação C3 pode ser usada para colocar a lente da câmera em uma estrutura coordenada associada com o sistema de rastreamento, por exemplo, relacionando a pose da lente da câmera à pose da câmera conforme rastreada pelo sistema 20 de rastreamento. Como a informação (por exemplo, pose da câmera) do sistema de rastreamento é transferida ao software de modelagem virtual, se a transformação C1 muda (isto é, a pose da câmera no espaço em 3D), a transformação C3 pode se atualizar, por exemplo, em tempo real. Em operação, a atualização da transformação C3 pode operar como segue: O sistema de rastreamento 702 pode detectar uma mudança em pose de uma câmera (o sistema de rastreamento atualiza Cl). O sistema de rastreamento 702 5 pode transmitir informação da estrutura de referência 706 (por exemplo, na forma de uma matriz de transformação) da câmera ao software de modelagem virtual 710. O software de modelagem virtual pode multiplicar essa estrutura de referência/matriz de transformação pela matriz de transformação C3 para executar a transformação C3. O software de modelagem virtual po10 de então atualizar a pose de vários objetos virtuais na estrutura coordenada associada com o sistema de rastreamento com base na mudança da pose da câmera.
Com referência outra vez à FIG. 1, o software de modelagem virtual 110 pode executar várias rotinas, técnicas e o similar descritos aqui para criar uma cena dinamicamente aumentada (por exemplo, cena aumentada 114), por exemplo, uma visão em tempo real da cena do mundo real conforme capturada pela câmera 102 aumentada e/ou sobreposta com objetos virtuais dinamicamente mutáveis. Uma vez que a calibração do sistema de AR é alcançada, como descrito acima, o software de modelagem virtual 110 pode dinamicamente manter correlação e/ou alinhamento entre vários objetos virtuais e uma cena do mundo real ao vivo, incluindo um ou mais objetos reais (por exemplo, objeto real 104). O software de modelagem virtual 110 pode manter esse alinhamento mesmo que a câmera 102 possa ser movida e girada em torno de um objeto 104, e mesmo que o objeto real 104 possa ser movido e girado.
O software de modelagem virtual 110 pode produzir uma cena aumentada 114 dinamicamente (por exemplo, mostrada no mostrador 116) que mostra objetos virtuais colocados em uma alimentação de vídeo ao vivo. O software de modelagem virtual 110 pode apropriadamente deformar (por 30 exemplo, alterar localização em 3D, orientação em 3D e/ou tamanho em 3D) objetos virtuais na cena aumentada, por exemplo, dependendo da pose da câmera 102 e/ou da pose do objeto real 104. Por exemplo, se a câmera 102 se move adicionalmente para longe do objeto real 104, um ou mais objetos virtuais na cena aumentada podem encolher. Como um outro exemplo, se a câmera 102 se move mais perto do objeto real 104, um ou mais objetos virtuais alargariam. Como um outro exemplo, se a câmera 102 se move em um ângulo relativo ao objeto real 104, um ou mais objetos virtuais girariam apropriadamente. A cena aumentada 114 pode ser armazenada (por exemplo, momentaneamente) em memória (por exemplo, uma unidade de memória volátil ou não volátil) antes da cena aumentada ser mostrada no mostrador 116. O conteúdo aumentado ou virtual que é mostrado no mostrador 116 e/ou mantido na cena aumentada 114 pode ser útil a um usuário que está usando o sistema de AR. Por exemplo, um usuário pode interagir com o conteúdo virtual e/ou receber informação benéfica do conteúdo aumentado. Como um exemplo específico, objetos/conteúdos virtuais podem fornecer informação instrucional valiosa a um técnico com respeito a uma peça de maquinário durante um processo de fabricação.
A FIG. 10A descreve uma ilustração de um exemplo de cena aumentada que pode ser produzida de acordo com uma ou mais modalidades da presente descrição. A cena aumentada pode incluir uma cena/ambiente do mundo real conforme capturado por uma câmera, por exem20 pio, uma parte de uma área 1002, com uma mesa 1004 e um objeto real 1006 (por exemplo, uma peça de maquinário) na mesa. A cena aumentada pode incluir um ou mais objetos virtuais conforme adicionados pelo sistema de AR descrito aqui, por exemplo, um objeto virtual 1010 que é relacionado ao (por exemplo, um modelo CAD baseado fora de) objeto real 1006. A FIG. 25 10A mostra somente parte (por exemplo, um recorte) do objeto virtual 1010. Essa visão do recorte pode auxiliar em mostrar como o objeto virtual 1010 pode alinhar com o objeto real 1006. Deve ser entendido, no entanto, que em algumas modalidades, o objeto virtual completo pode ser mostrado na cena aumentada. Se a câmara se move, a cena do mundo real e os objetos 30 virtuais podem se mover de uma maneira similar. Se o objeto real se move, quaisquer objetos virtuais que são relacionados ao objeto real podem se mover de uma maneira similar. O exemplo de cena aumentada da FIG. 10A é um exemplo para mostrar como os objetos virtuais modelados fora do objeto real podem ser alinhados com o objeto real, por exemplo, para calibrar o sistema de AR. Em alguns exemplos, depois da calibração estar completa, o objeto virtual modelado fora do objeto real pode não aparecer na cena au5 mentada. Em vez disso, vários outros objetos virtuais podem aparecer, por exemplo, ferramentas, hardware (por exemplo, parafusos), fiação, instruções e o similar que são relacionados ao objeto real. Por exemplo, esses objetos virtuais podem fornecer informação instrucional valiosa a um técnico com respeito a uma peça de maquinário, por exemplo, instruções com respeito a 10 como instalar um item ou executar uma tarefa (por exemplo, tal como perfurar um poço).
A FIG. 10B descreve uma ilustração de um exemplo de cena aumentada que pode ser produzida de acordo com uma ou mais modalidades da presente descrição. A cena aumentada pode incluir uma cena/ambiente do mundo real conforme capturado por uma câmera, por exemplo, uma parte de uma área 1052, com um objeto real 1056 (por exemplo, um painel). A cena aumentada pode incluir um ou mais objetos virtuais conforme adicionados pelo sistema de AR descrito aqui, por exemplo, um objeto virtual 1060, que pode ser uma caixa ou unidade, e vários fios associados, conduítes e/ou redes de fios. Se a câmera se move, a cena do mundo real e os objetos virtuais podem se mover em uma maneira similar. Se o objeto real 1056 se move (por exemplo, o painel), quaisquer objetos virtuais (por exemplo, objeto virtual 1060) que são relacionados ao objeto real podem se mover em uma maneira similar. Por exemplo, o exemplo de cena aumentada da FIG. 10B pode instruir um técnico de como instalar um objeto virtual 1060 sobre um painel 1056.
Certas modalidades da presente descrição podem ser encontradas em um ou mais métodos para estrutura automatizada de calibração de referência para realidade aumentada. Com respeito a vários métodos descri30 tos aqui e retratados em figuras associadas, deve ser entendido que, em algumas modalidades, uma ou mais das etapas descritas e/ou retratadas podem ser executadas em uma ordem diferente. Adicionalmente, em algumas modalidades, um método pode incluir mais ou menos etapas do que são descritas e/ou retratadas.
A FIG. 11 descreve um fluxograma 1100 que mostra exemplo de etapas em um método para estrutura automatizada de calibração de refe5 rência para realidade aumentada, de acordo com uma ou mais modalidades da presente descrição. Mais especificamente, a FIG. 11 mostra exemplo de etapas em um método para estrutura automatizada de calibração de referência que podem ser usadas para determinar e/ou calcular um mapeamento ou transformação entre a estrutura de referência de objetos virtuais (por e10 xemplo, objetos virtuais adicionados a uma cena aumentada) e a estrutura de referência associada com um sistema de rastreamento. Na etapa 1102, um sistema coordenado para o sistema de rastreamento é estabelecido, por exemplo, durante um processo de ajuste para o sistema de rastreamento. Na etapa 1104, o sistema de rastreamento pode rastrear ou determinar uma 15 estrutura de referência para um objeto real (RO). O sistema de rastreamento pode também determinar a Transformação M1 na etapa 1104. Para que o sistema de rastreamento rastreie um objeto real, o objeto real pode necessitar ser equipado com um número de marcadores de rastreamento.
Na etapa 1106, um software de modelagem virtual pode determinar uma nova estrutura de referência para o objeto real, por exemplo, por indicação de um número de pontos de referência (por exemplo, usando uma vara) e computação de uma origem. Na etapa 1108, um software de modelagem virtual pode computar a Transformação M2 (por exemplo, a diferença em pose entre a nova estrutura de referência de RO e a estrutura de referência do objeto real como determinado pelo sistema de rastreamento). Na etapa 1110, um software de modelagem virtual pode acessar ou carregar um objeto virtual (por exemplo, um objeto virtual modelado fora do objeto real) e pode determinar a estrutura de referência do VO. Na etapa 1112, um software de modelagem virtual pode determinar uma nova estrutura de referência do VO, por exemplo, por indicação no modelo virtual dos mesmos pontos de referência que foram indicados no objeto real para criar uma nova estrutura de referência de RO. A origem dos pontos pode ser computada. Na etapa 1114, o software de modelagem virtual pode computar a Transformação M3 (por exemplo, a diferença em pose entre a nova estrutura de referência do VO e a estrutura de referência do VO original). Na etapa 1116, o software de modelagem virtual pode computar a Transformação M4 (por exemplo, por multiplicação junto às matrizes M1, M2 e M3).
A FIG. 12 descreve um fluxograma 1200 que mostra exemplo de etapas em um método para estrutura automatizada de calibração de referência para realidade aumentada, de acordo com uma ou mais modalidades da presente descrição. Mais especificamente, a FIG. 12 mostra exemplo de 10 etapas em um método para estrutura automatizada de calibração de referência que pode ser usado para determinar e/ou calcular um mapeamento ou transformação entre a estrutura de referência de uma câmera conforme rastreada pelo sistema de rastreamento e a estrutura de referência da lente da câmera. Na etapa 1202, um sistema coordenado para o sistema de ras15 treamento é estabelecido, por exemplo, durante um processo de ajuste para o sistema de rastreamento. Na etapa 1204, o sistema de rastreamento pode rastrear ou determinar uma estrutura de referência para uma câmera. O sistema de rastreamento pode também determinar a Transformação C1 na etapa 1204. Para o sistema de rastreamento rastrear uma câmera, a câmera 20 (ou estrutura da câmera, ou computador pessoal) pode necessitar ser equipada com um número de marcadores de rastreamento. Na etapa 1206, uma estrutura coordenada associada com um marcador impresso pode ser estabelecida, por exemplo, usando um marcador impresso e software relacionado. A estrutura coordenada associada com o marcador impresso pode ser 25 alinhada com a estrutura coordenada do sistema de rastreamento. Na etapa 1208, um software de modelagem virtual (por exemplo, via o software associado com o marcador impresso) pode determinar a estrutura de referência da lente da câmera, por exemplo, com relação à estrutura coordenada do marcador impresso. Na etapa 1210, o software de modelagem virtual pode 30 computar a Transformação C2 (por exemplo, a diferença em pose entre a estrutura de referência de lente da câmera e a estrutura coordenada de marcador impresso). Essa computação pode ser (pelo menos parcialmente) executada pelo software associado com o marcador impresso. Na etapa 1212, o software de modelagem virtual pode computar a Transformação C3 (por exemplo, dividindo a matriz da Transformação C1 pela matriz da transformação C2).
Quaisquer dos sistemas e métodos descritos aqui também con
templam variações que incluem um método para realidade aumentada 100 executado por um sistema de processamento de dados 100 tendo pelo menos um processador. O método alternativo pode incluir ou estabelecer uma estrutura coordenada do sistema de rastreamento 204 associada com um 10 sistema de rastreamento de objeto 108. A estrutura coordenada do sistema de rastreamento 204 é alinhada com um espaço real em 3D, e rastreia uma posição e orientação em um espaço real em 3D de um objeto real 104 e de uma câmera 102. Nesse arranjo, o sistema de processamento de dados 100 também recebe do sistema de rastreamento 108 uma primeira estrutura de 15 referência de objeto real 212 para o objeto real 104. A primeira estrutura de referência de objeto real 212 indica uma posição e orientação do objeto real 104 com relação à estrutura coordenada do sistema de rastreamento 204.
A seguir, o sistema de processamento de dados 100 determina uma segunda estrutura de referência de objeto real 212 para o objeto real 20 104, em que a segunda estrutura de referência de objeto real 212 indica uma posição e orientação do objeto real 104 com relação à estrutura coordenada do sistema de rastreamento 204. O sistema de processamento de dados 100 então recebe uma primeira estrutura de referência de objeto virtual 216 para um objeto virtual 112, em que o objeto virtual 112 é modelado depois do ob25 jeto real 104, e em que a primeira estrutura de referência de objeto virtual 216 não é relacionada à estrutura coordenada do sistema de rastreamento 204.
O sistema de processamento de dados 100 também determina uma segunda estrutura de referência de objeto virtual 216 para o objeto virtual 112, em que a segunda estrutura de referência de objeto virtual 216 indica uma posição e orientação do objeto virtual 112 com relação à estrutura coordenada do sistema de rastreamento 204. Um mapeamento de objeto virtual 112 é também determinado entre a primeira estrutura de referência de objeto virtual 216 e a estrutura coordenada do sistema de rastreamento 204.
Uma cena aumentada 114 é mostrada pelo sistema de processamento de dados 100 e inclui uma visão do espaço real em 3D, uma visão 5 do objeto real 104 e um ou mais itens virtuais sobrepostos. Aqui, o mapeamento do objeto virtual 112 é usado para colocar um ou mais itens virtuais sobrepostos na cena aumentada 114 de modo que um ou mais itens virtuais sejam alinhados com o objeto real 104.
Em adicionais arranjos opcionais, o sistema de processamento de dados 100 é configurado para também determinar a segunda estrutura de referência de objeto real 212, que pode receber ou detectar três ou mais pontos não colineares de objeto real no objeto real 104. A localização de três ou mais pontos não colineares de objeto real é definida com relação à estrutura coordenada do sistema de rastreamento 204. Uma origem do objeto real 104 é determinada pelo cálculo de um centroide de três ou mais pontos não colineares de objeto real. Uma orientação de objeto real é então determinada que é relacionada à orientação da primeira estrutura de referência de objeto real 212. Pode ser preferido que a segunda estrutura de referência de objeto virtual 216 seja determinada para receber ou indicar três ou mais pontos não colineares de objeto virtual no objeto virtual 112, em que a localização de três ou mais pontos não colineares de objeto virtual são definidos com relação à estrutura coordenada do sistema de rastreamento 204. Depois disso, uma origem de objeto virtual pode ser determinada por cálculo de um centroide dos três ou mais pontos não colineares de objeto virtual, que podem adicionalmente possibilitar a determinação de uma orientação de objeto virtual.
Em adicionais modificações para qualquer um dos arranjos descritos, a segunda estrutura de referência de objeto real 212 e a segunda estrutura de referência de objeto virtual 216 são alinhadas em que três ou mais 30 pontos não colineares de objeto virtual e os três ou mais pontos não colineares de objeto real são localizados aproximadamente na mesma localização com relação à estrutura coordenada do sistema de rastreamento 204. Adicionalmente, a orientação do objeto real 104 e a orientação do objeto virtual 112 são aproximadamente as mesmas uma vez que cada orientação referese à estrutura coordenada do sistema de rastreamento 204.
Ainda em outras configurações, a determinação do mapeamento do objeto virtual 112 pode incluir receber ou determinar uma primeira matriz de transformação que representa a primeira estrutura de referência de objeto real 212. A segunda matriz de transformação pode também ser determinada, a qual representa a diferença em localização e orientação entre a primeira estrutura de referência de objeto real 212 e a segunda estrutura de referência de objeto real 212. Adicionalmente, uma terceira matriz de transformação pode ser determinada que representa a diferença em localização e orientação entre a primeira estrutura de referência de objeto virtual 216 e a segunda estrutura de referência de objeto virtual 216. Uma quarta matriz de transformação pode também ser computada, a qual representa o mapeamento do objeto virtual 112. Aqui, a quarta matriz de transformação representa a diferença em localização e orientação entre a primeira estrutura de referência de objeto virtual 216 e a estrutura coordenada do sistema de rastreamento 204. A quarta matriz de transformação é também computada pela execução de multiplicação de matriz entre a primeira, segunda e terceira matrizes de transformação.
Em um outro arranjo, usar o mapeamento do objeto virtual 112 para colocar o um ou mais itens virtuais sobrepostos na cena aumentada 114 pode incluir receber uma primeira estrutura de referência de objeto virtual 216 para um primeiro item virtual sobreposto. Nessa variação, a primeira 25 estrutura de referência de objeto virtual 216 não é relacionada à estrutura coordenada do sistema de rastreamento 204. O mapeamento do objeto virtual 112 pode ser referido para transformar a primeira estrutura de referência de objeto virtual 216 para uma estrutura de referência transformada que se relaciona à estrutura coordenada do sistema de rastreamento 204. O primei30 ro item virtual sobreposto pode ser colocado na cena aumentada 114 usando a estrutura de referência de transformação.
O sistema de processamento de dados 100 pode ser ainda configurado para receber do sistema de rastreamento 108 informação em tempo real sobre a localização e orientação do objeto real 104. Nessa modificação, o mapeamento do objeto virtual 112 é atualizado com base na informação em tempo real e a cena aumentada 114 é atualizada através de atualização 5 da substituição do um ou mais itens virtuais sobrepostos de modo que o um ou mais itens virtuais permaneçam alinhados com o objeto real 104.
Os métodos, rotinas e técnicas da presente descrição, incluindo exemplo de métodos e rotinas ilustrados nos fluxogramas e diagramas em bloco das diferentes modalidades descritas podem ser implementados como software executado por um ou mais sistemas de processamento de dados que são programados de modo que os sistemas de processamento de dados sejam adaptados para efetuar e/ou executar parte ou total dos métodos, rotinas e/ou técnicas descritas aqui. Cada bloco ou símbolo em um diagrama em bloco ou diagrama em fluxograma referenciado aqui pode representar um módulo, segmento ou porção de código de programa usável ou legível por computador que compreende uma ou mais instruções executáveis para implementar, através de um ou mais sistemas de processamento de dados, a função ou funções especificadas. Em algumas implementações alternativas da presente descrição, a função ou funções ilustradas nos blocos ou símbolos de um diagrama em bloco ou fluxograma podem ocorrer fora de ordem percebido nas figuras. Por exemplo, em alguns casos, dois blocos ou símbolos mostrados em sucessão podem ser executados de maneira substancial e concorrente ou os blocos podem ser executados na ordem inversa dependendo da funcionalidade envolvida. Parte ou todo o código do computador pode ser carregado na memória de um sistema de processamento de dados antes do sistema de processamento de dados executar o código.
A FIG. 13 descreve um diagrama em bloco de um exemplo de sistema de processamento de dados 1300 que pode ser usado para implementar uma ou mais modalidades da presente descrição. Por exemplo, com 30 referência também à FIG. 1 momentaneamente, o computador 106 pode tomar a forma de um sistema de processamento de dados similar ao sistema de processamento de dados 1300 da FIG. 13. Como um outro exemplo, o software do sistema de rastreamento relacionado ao sistema de rastreamento 108 pode ser executado em um sistema de processamento de dados similar ao sistema de processamento de dados 1300 da FIG. 13. Com referência à FIG. 13, o sistema de processamento de dados 1300 pode ser usado para 5 executar, tanto parcialmente quanto totalmente, um ou mais de métodos, rotinas e/ou soluções da presente descrição. Em algumas modalidades da presente descrição, mais do que um sistema de processamento de dados pode ser usado para implementar os métodos, rotinas, técnicas e/ou soluções descritos aqui.
No exemplo da FIG. 13, o sistema de processamento de dados
1300 pode incluir uma trama de comunicações 1302 que fornece comunicações entre componentes, por exemplo, uma unidade de processador 1304, uma memória 1306, uma armazenagem persistente 1308, uma unidade de comunicações 1310, uma unidade de entrada/saída (l/O) 1312 e um mostra15 dor 1314. Um sistema de barramento pode ser usado para implementar uma trama de comunicações 1302 e pode ser compreendido de um ou mais barramentos tal como um barramento do sistema ou um barramento de entrada/saída. O sistema de barramento pode ser implementado usando qualquer tipo de arquitetura adequado que proporcione uma transferência de dados 20 entre diferentes componentes ou dispositivos anexados ao sistema de barramento.
A unidade de processador 1304 pode servir para executar instruções (por exemplo, um programa de software) que podem ser carregadas no sistema de processamento de dados 1300, por exemplo, na memória 25 1306. A unidade de processador 1304 pode ser um conjunto de um ou mais processadores ou pode ser um núcleo de multiprocessador dependendo da implementação particular. A unidade de processador 1304 pode ser implementada usando um ou mais sistemas de processador heterogêneo em que um processador principal está presente com processadores secundários em 30 um chip único. Como um outro exemplo ilustrativo, a unidade de processador 1304 pode ser um sistema multiprocessador simétrico contendo múltiplos processadores do mesmo tipo. A memória 1306 pode ser, por exemplo, uma memória de acesso aleatório ou qualquer outro dispositivo de armazenagem volátil ou não volátil adequada. A memória 1306 pode incluir uma ou mais camadas de memória cache. A armazenagem persistente 1308 pode tomar várias formas 5 dependendo de implementação particular. Por exemplo, a armazenagem persistente 1308 pode conter um ou mais componentes ou dispositivos. Por exemplo, a armazenagem persistente 1308 pode ser um disco rígido, uma unidade de estado sólido, uma memória flash ou alguma combinação do aci ma.
Instruções para um sistema de operação podem estar localiza
das em armazenagem persistente 1308. Em uma modalidade específica, o sistema de operação pode ser alguma versão de um número de sistemas de operação conhecido. Instruções para aplicações e/ou programas podem também estar localizadas na armazenagem persistente 1308. Essas instru15 ções podem ser carregadas em memória 1306 para execução pela unidade de processador 1304. Por exemplo, os métodos e/ou processos das diferentes modalidades descritas nessa descrição podem ser executados pela unidade de processador 1304 usando instruções implementadas por computador que podem ser carregadas em uma memória tal como a memória 1306. 20 Essas instruções são referidas como código de programa, código de programa usável por computador ou código de programa legível por computador que podem ser lidas e executadas por um processador na unidade de processador 1304.
O mostrador 1314 pode fornecer um mecanismo para mostrar in25 formação a um usuário, por exemplo, via uma tela ou monitor LCD ou LED ou outro tipo de mostrador. Deve ser entendido, através de toda essa descrição, que o termo "mostrador" pode ser usado em uma maneira flexível para se referir tanto a um mostrador físico tal como uma tela física, quanto à imagem que um usuário vê na tela de um dispositivo físico. A unidade de entra30 da/saída (l/O) 1312 proporciona entrada e saída de dados com outros dispositivos que podem estar conectados ao sistema de processamento de dados 1300. Os dispositivos de entrada/saída podem ser acoplados ao sistema tanto diretamente quanto através de controladores l/O de intervenção.
A unidade de comunicações 1310 pode proporcionar comunicações com outros sistemas ou dispositivos de processamento de dados, por exemplo, via uma ou mais redes. A unidade de comunicações 1310 pode ser 5 um cartão de interface de rede. A unidade de comunicações 1310 pode fornecer comunicações através do uso de links de comunicações com fio e/ou sem fio. Em algumas modalidades, a unidade de comunicações pode incluir circuitos que são projetados e/ou adaptados para se comunicar de acordo com vários padrões de comunicação sem fio, por exemplo, padrões Wi-Fi, 10 padrões Bluetooth e o similar.
Os diferentes componentes ilustrados para sistema de processamento de dados 1300 não significam fornecer limitações arquiteturais para a maneira em que diferentes modalidades podem ser implementadas. As diferentes modalidades ilustrativas podem ser implementadas em um siste15 ma de processamento de dados incluindo componentes além de ou no lugar daqueles ilustrados para o sistema de processamento de dados 1300. Outros componentes mostrados na FIG. 13 podem ser variados dos exemplos ilustrativos mostrados.
O sistema de processamento de dados 1300 também pode ser disposto com uma ou mais unidades de memória que armazenam código do computador, e uma ou mais unidades de processador 1304 acopladas a uma ou mais unidades de memória 1306, em que uma ou mais unidades de processador 1304 executam o código do computador armazenado na uma ou mais unidades de memória 1306. O código do computador em execução recebe ou estabelece uma estrutura coordenada do sistema de rastreamento 204 associada com um sistema de rastreamento do objeto 108, 202. A estrutura coordenada do sistema de rastreamento 204 é alinhada com um espaço real em 3D, e o sistema de rastreamento 108 rastreia a posição e orientação em um espaço real em 3D de uma câmera 102 que captura o espaço real em 3D e um marcador impresso 906.
O sistema de rastreamento 108 recebe uma estrutura de referência da câmera para a câmera 102, e a estrutura de referência da câmera indica uma posição e orientação da câmera 102 com relação à estrutura coordenada do sistema de rastreamento 204. Também recebida ou estabelecida é uma estrutura coordenada do marcador impresso 204 associada com o marcador impresso, em que a estrutura coordenada do marcador impresso 5 204 é alinhada com o espaço real em 3D. A estrutura coordenada do marcador impresso 204 é alinhada com a estrutura coordenada do sistema de rastreamento 204, e uma estrutura de referência de lente da câmera é determinada para a lente da câmera 102. A estrutura de referência de lente da câmera indica uma posição e orientação da lente da câmera 102 com relação à 10 estrutura coordenada do marcador impresso 204.
Um mapeamento da lente da câmera 102 é determinado entre a estrutura de referência da câmera 102 e a estrutura de referência da lente da câmera 102, e uma cena aumentada 114 é mostrada incluindo uma visão do espaço real em 3D e um ou mais itens virtuais, em que o mapeamento da 15 lente da câmera 102 é usado para alterar ou distorcer o um ou mais itens virtuais na cena aumentada 114.
Adicionalmente, a invenção pode compreender modalidades de acordo com as seguintes cláusulas:
Cláusula 1. Um método para realidade aumentada por um sistema de processamento de dados tendo pelo menos um processador, o método compreendendo: receber ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastreamento de objeto, em que a estrutura coordenada do sistema de rastreamento é alinhada com um espaço real em 3D, e em que o sistema de rastreamento rastreia a posição e orientação em um espaço real em 3D de um objeto real e de uma câmera; receber do sistema de rastreamento primeira estrutura de referência de objeto real para o objeto real, em que a primeira estrutura de referência de objeto real indica uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento; determinar uma segunda estrutura de referência de objeto real para o objeto real, em que a segunda estrutura de referência do objeto real indica uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento; receber uma primeira estrutura de referência de objeto virtual para um objeto virtual, em que o objeto virtual é modelado depois do objeto real, e em que a primeira estrutura de referência de objeto virtual não é relacionada à estrutura coordenada do sistema de rastreamento; determinar uma segun5 da estrutura de referência de objeto virtual para o objeto virtual, em que a segunda estrutura de referência de objeto virtual indica uma posição e orientação do objeto virtual com relação à estrutura coordenada do sistema de rastreamento; determinar um mapeamento do objeto virtual entre a primeira estrutura de referência de objeto virtual e a estrutura coordenada do sistema 10 de rastreamento; e mostrar uma cena aumentada incluindo uma visão do espaço real em 3D, uma visão do objeto real e um ou mais itens virtuais sobrepostos, em que o mapeamento do objeto virtual é usado para colocar o um ou mais itens virtuais sobrepostos na cena aumentada de modo que um ou mais itens virtuais estejam alinhados com o objeto real.
Cláusula 2. O método da cláusula 1, em que determinar a se
gunda estrutura de referência de objeto real inclui: receber ou detectar três ou mais pontos não colineares de objeto real no objeto real, em que a localização de três ou mais pontos não colineares de objeto real é definida com relação à estrutura coordenada do sistema de rastreamento; determinar uma 20 origem de objeto real calculando um centroide dos três ou mais pontos não colineares de objeto real; e determinar uma orientação do objeto real que é relacionada á orientação da primeira estrutura de referência de objeto real.
Cláusula 3. O método da cláusula 2, em que determinar a segunda estrutura de referência de objeto virtual inclui: receber ou indicar três 25 ou mais pontos não colineares de objeto virtual no objeto virtual, em que a localização de três ou mais pontos não colineares de objeto virtual é definida à estrutura coordenada do sistema de rastreamento; determinar uma origem do objeto virtual calculando um centroide de três ou mais pontos não colineares de objeto virtual e determinar uma orientação do objeto virtual.
Cláusula 4. O método da cláusula 3, em que a segunda estrutura
de referência de objeto real e a segunda estrutura de referência de objeto virtual são alinhadas assegurando que: os três ou mais pontos não colineares de objeto virtual e os três ou mais pontos não colineares de objeto real estão localizados aproximadamente na mesma localização com relação à estrutura coordenada do sistema de rastreamento; e a orientação do objeto real e a orientação do objeto virtual são aproximadamente as mesmas uma 5 vez que cada orientação refere-se à estrutura coordenada do sistema de rastreamento.
Cláusula 5. O método da cláusula 1, em que determinar o mapeamento do objeto virtual inclui: receber ou determinar uma primeira matriz de transformação que represente a primeira estrutura de referência de objeto real; determinar uma segunda matriz de transformação que represente a diferença em localização e orientação entre a primeira estrutura de referência de objeto real e a segunda estrutura de referência de objeto real; determinar uma terceira matriz de transformação que represente a diferença em localização e orientação entre a primeira estrutura de referência de objeto virtual e a segunda estrutura de referência de objeto virtual; e computar uma quarta matriz de transformação que representa o mapeamento do objeto virtual, em que a quarta matriz de transformação represente a diferença em localização e orientação entre a primeira estrutura de referência de objeto virtual e a estrutura coordenada do sistema de rastreamento e em que a quarta matriz de transformação é computada executando multiplicação de matriz entre a primeira, a segunda e a terceira matrizes.
Cláusula 6. O método da cláusula 1, em que usar o mapeamento do objeto virtual para colocar o um ou mais itens virtuais sobrepostos na cena aumentada inclui: receber uma primeira estrutura de referência de item 25 virtual para um primeiro item virtual sobreposto, em que a primeira estrutura de referência de item virtual não é relacionada à estrutura coordenada do sistema de rastreamento; referenciar o mapeamento do objeto virtual para transformar a primeira estrutura de referência de item virtual para uma estrutura de referência transformada que se refere à estrutura coordenada do sis30 tema de rastreamento; e colocar o primeiro item virtual sobreposto na cena aumentada usando a estrutura de referência de transformação.
Cláusula 7. O método da cláusula 1, adicionalmente compreendendo: receber do sistema de rastreamento informação em tempo real sobre a localização e orientação do objeto real; atualizar o mapeamento do objeto virtual com base na informação em tempo real; e atualizar a cena aumenta atualizando a colocação do um ou mais itens virtuais sobrepostos de modo que o um ou mais itens virtuais permanecem alinhados com o objeto real.
Cláusula 8. Um método para a realidade aumentada executada por um sistema de processamento de dados tendo pelo menos um processador, o método compreendendo: receber ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastre10 amento de objeto, em que a estrutura coordenada do sistema de rastreamento é alinhada com o espaço real em 3D, e em que o sistema de rastreamento rastreia a posição e orientação em um espaço real em 3D de uma câmera que captura o espaço real em 3D e um marcador impresso; receber do sistema de rastreamento uma estrutura de referência da câmera para a 15 câmera, em que a estrutura de referência da câmera indica uma posição e orientação da câmera com relação à estrutura coordenada do sistema de rastreamento; receber ou estabelecer uma estrutura coordenada de marcador impresso associada com o marcador impresso, em que a estrutura coordenada de marcador impresso é alinhada com o espaço real em 3D, e em 20 que a estrutura coordenada de marcador impresso é alinhada com a estrutura coordenada do sistema de rastreamento; determinar uma estrutura de referência de lente da câmera para a lente da câmera, em que a estrutura de referência de lente da câmera indica uma posição e orientação da lente da câmera com relação à estrutura coordenada de marcador impresso; deter25 minar um mapeamento de lente da câmera entre a estrutura de referência da câmera e a estrutura de referência de lente da câmera; e mostrar uma cena aumentada incluindo uma visão do espaço real em 3D e um ou mais itens virtuais, em que o mapeamento de lente da câmera é usado para alterar ou distorcer um ou mais itens virtuais na cena aumentada.
Cláusula 9. O método da cláusula 8, em que determinar a estru
tura de referência de lente da câmera inclui receber informação de posição e orientação da lente da câmera de programa de software associado com o marcador impresso.
Cláusula 10. O método da cláusula 8, em que alinhar a estrutura coordenada de marcador impresso com a estrutura coordenada do sistema de rastreamento inclui colocar o marcador impresso em uma localização e 5 orientação no espaço real em 3D de modo que: uma origem associada com o marcador impresso está localizada aproximadamente na mesma localização no espaço em 3D conforme uma origem associada com o sistema de rastreamento; e três eixos associados com o marcador impresso são aproximadamente alinhados no espaço em 3D com três eixos associados com o 10 sistema de rastreamento.
Cláusula 11.0 método da cláusula 8, em que determinar o mapeamento de lente da câmera inclui: receber ou determinar uma primeira matriz de transformação que representa a primeira estrutura de referência de objeto real; determinar uma segunda matriz de transformação que represen15 ta a diferença em localização e orientação entre a estrutura de referência de lente da câmera e a estrutura coordenada de marcador impresso; computar uma terceira matriz de transformação que representa o mapeamento de lente da câmera, em que a terceira matriz de transformação representa a diferença em localização e orientação entre a estrutura de referência da câmera 20 e a estrutura de referência de lente da câmera, e em que a terceira matriz de transformação é computada executando divisão de matriz tanto entre a primeira e a segunda matrizes de transformação quanto entre a segunda e a primeira matrizes de transformação.
Cláusula 12. O método da cláusula 8, em que usar o mapea25 mento de lente da câmera para alterar ou distorcer um ou mais itens virtuais sobrepostos na cena aumentada inclui: colocar um primeiro item virtual sobreposto na cena aumentada usando uma primeira estrutura de referência de item virtual, em que a primeira estrutura de referência de item virtual refere-se à estrutura coordenada do sistema de rastreamento; receber do siste30 ma de rastreamento informação em tempo real sobre a localização e orientação da câmera; referenciar o mapeamento do objeto virtual para transformação para atualizar a estrutura de referência de lente da câmera com base na informação em tempo real; e atualizar a cena aumentada alterando ou distorcendo o um ou mais itens virtuais sobrepostos com base na estrutura de referência de lente da câmera atualizada.
Cláusula 13. O método da cláusula 8, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada inclui encolher os itens virtuais sobrepostos em resposta ao movimento da câmera adicionalmente para longe de um objeto real no espaço em 3D.
Cláusula 14. O método da cláusula 8, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada inclui alargar os itens virtuais sobrepostos em resposta ao movimento da câmera mais perto de um objeto real no espaço em 3D.
Cláusula 15. O método da cláusula 8, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada inclui girar os itens virtuais sobrepostos em resposta ao movimento da câmera em um ânguio com relação a um objeto real no espaço em 3D.
Cláusula 16. Um sistema compreendendo: uma câmera que capture uma visão de um espaço real em 3D incluindo um objeto real; um sistema de rastreamento que rastreia a posição e orientação em um espaço real em 3D do objeto real e da câmera, em que o sistema de rastreamento é con20 figurado para estabelecer uma estrutura coordenada do sistema de rastreamento associada com o sistema de rastreamento, em que a estrutura coordenada do sistema de rastreamento está alinhada com o espaço real em 3D; e um computador acoplado à câmera e ao sistema de rastreamento, o computador tendo uma ou mais unidades de memória, o computador sendo con25 figurado com um modelador virtual, em que o modelador virtual é configurado para receber do sistema de rastreamento uma primeira estrutura de referência de objeto real para o objeto real, em que a primeira estrutura de referência de objeto real indica uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento; em que o mode30 Iador virtual é ainda configurado para computar uma segunda estrutura de referência de objeto real para o objeto real, em que a segunda estrutura de referência de objeto real indica uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento; em que o modelador virtual é ainda configurado para receber da uma ou mais unidades de memória uma primeira estrutura de referência de objeto virtual para um objeto virtual, em que o objeto virtual é modelado depois do objeto real, e em 5 que a primeira estrutura de referência de objeto virtual não é relacionada à estrutura coordenada do sistema de rastreamento; em que o modelador virtual é ainda configurado para computar uma segunda estrutura de referência de objeto virtual para o objeto virtual, em que a segunda estrutura de referência de objeto virtual indica uma posição e orientação do objeto virtual com 10 relação à estrutura coordenada do sistema de rastreamento; em que o modelador virtual é ainda configurado para computar um mapeamento do objeto virtual entre a primeira estrutura de referência de objeto virtual e a estrutura coordenada do sistema de rastreamento; e em que o modelador virtual é ainda configurado para gerar e armazenar na uma ou mais unidades de 15 memória uma cena aumentada incluindo uma visão do espaço real em 3D, uma visão do objeto real e um ou mais itens virtuais sobrepostos, em que o mapeamento do objeto virtual é usado para colocar o um ou mais itens virtuais sobrepostos na cena aumentada de modo que um ou mais itens virtuais são alinhados com o objeto real.
Cláusula 17. O sistema da cláusula 16, adicionalmente compre
endendo um mostrador acoplado ao computador, em que o modelador virtual é ainda configurado para comunicar a cena aumentada ao mostrador, e em que o mostrador é configurado para mostrar a cena aumentada a um usuário.
Cláusula 18. O sistema da cláusula 16, em que o mapeamento
do objeto virtual para colocar um ou mais itens virtuais sobrepostos na cena aumentada inclui: receber uma primeira estrutura de referência de item virtual para um primeiro item virtual sobreposto, em que a primeira estrutura de referência de item virtual não é relacionada à estrutura coordenada do sis30 tema de rastreamento; referenciar o mapeamento do objeto virtual para transformar a primeira estrutura de referência de item virtual a uma estrutura de referência transformada que se refere à estrutura coordenada do sistema de rastreamento; e colocar o primeiro item virtual sobreposto na cena aumentada usando a estrutura de referência de transformação.
Cláusula 19. O método da cláusula 16, em que o modelador virtual é ainda configurado para: receber do sistema de rastreamento informa5 ção em tempo real sobre a localização e orientação do objeto real; atualizar o mapeamento do objeto virtual com base na informação em tempo real; e atualizar a cena aumentada atualizando a colocação do um ou mais itens virtuais sobrepostos de modo que o um ou mais itens virtuais permaneçam alinhados com o objeto real.
Cláusula 20. Um sistema de processamento de dados, compre
endendo: uma ou mais unidades de memória que armazenam código do computador; e uma ou mais unidades de processador acopladas a uma ou mais unidades de memória, em que a uma ou mais unidades de processador executam o código do computador armazenado na uma ou mais unidades 15 de memória para: receber ou estabelecer uma estrutura coordenada do sistema de rastreamento associada com um sistema de rastreamento de objeto, em que a estrutura coordenada do sistema de rastreamento é alinhada com um espaço real em 3D, e em que o sistema de rastreamento rastreia a posição e orientação em um espaço real em 3D de uma câmera que captura 20 o espaço real em 3D e um marcador impresso; receber do sistema de rastreamento uma estrutura de referência da câmera para a câmera, em que a estrutura de referência da câmera indica uma posição e orientação da câmera com relação à estrutura coordenada do sistema de rastreamento; receber ou estabelecer uma estrutura coordenada de marcador impresso associada 25 com o marcador impresso, em que a estrutura coordenada de marcador impresso é alinhada com o espaço real em 3D, e em que a estrutura coordenada de marcador impresso é alinhada com a estrutura coordenada do sistema de rastreamento; determinar uma estrutura de referência de lente da câmera para a lente da câmera, em que a estrutura de referência de lente da 30 câmera indica uma posição e orientação da lente da câmera com relação à estrutura coordenada de marcador impresso; determinar um mapeamento de lente da câmera entre a estrutura de referência da câmera e a estrutura de referência de lente da câmera; e mostrar uma cena aumentada incluindo uma visão do espaço real em 3D e um ou mais itens virtuais, em que o mapeamento de lente da câmera é usado para alterar ou distorcer o um ou mais itens virtuais na cena aumentada.
A descrição das diferentes modalidades vantajosas foi apresen
tada para propósitos de ilustração e a descrição e não pretende ser exaustiva ou limitada às modalidades na forma exposta. Muitas modificações e variações estarão aparentes àqueles de ordinária versatilidade na técnica. Adicionais diferentes modalidades vantajosas podem fornecer diferentes vanta10 gens conforme comparado a outras modalidades vantajosas. A modalidade ou modalidades selecionadas são escolhidas e descritas de modo a melhor explicar os princípios das modalidades da aplicação prática e possibilitar outros de ordinária versatilidade na técnica a entenderem a descrição por várias modalidades com várias modificações como são adequadas ao particu15 Iar uso contemplado.

Claims (12)

REIVINDICAÇÕES
1. Método para realidade aumentada (100) executado por um sistema de processamento de dados tendo pelo menos um processador, o método compreendendo: receber ou estabelecer uma estrutura coordenada do sistema de rastreamento (204) associada com um sistema de rastreamento do objeto (108), em que a estrutura coordenada do sistema de rastreamento (204) está alinhada com o espaço real em 3D, e em que o sistema de rastreamento (108) rastreia a posição e orientação em um espaço real em 3D de uma câmera (102) que captura o espaço real em 3D e um marcador impresso (906); receber do sistema de rastreamento (108) uma estrutura de referência da câmera para a câmera (102), em que a estrutura de referência da câmera indica uma posição e orientação da câmera (102) com relação à estrutura coordenada do sistema de rastreamento (204); receber ou estabelecer uma estrutura coordenada de marcador impresso (204) associada com o marcador impresso (906), em que a estrutura coordenada de marcador impresso (204) é aIinhada com o espaço real em 3D, e em que a estrutura coordenada de marcador impresso (204) é aIinhada com a estrutura coordenada (204) do sistema de rastreamento (108); determinar uma estrutura de referência de lente da câmera (102) para a lente da câmera, em que a estrutura de referência de lente da câmera indica uma posição e orientação da lente da câmera (102) com relação à estrutura coordenada de marcador impresso (204); determinar um mapeamento de lente da câmera entre a estrutura de referência da câmera (102) e a estrutura de referência de lente da câmera (102); e mostrar uma cena aumentada (114) incluindo uma visão do espaço real em 3D e um ou mais itens virtuais, em que o mapeamento de lente da câmera (102) é usado para alterar ou distorcer um ou mais itens virtuais na cena aumentada (114).
2. Método, de acordo com a reivindicação 1, em que determinar a estrutura de referência de lente de câmera (102) inclui receber informação de posição e orientação da lente da câmera (102) de um programa de software associado com o marcador impresso (906).
3. Método, de acordo com a reivindicação 1 ou 2, em que alinhar a estrutura coordenada do marcador impresso (204) com a estrutura coordenada do sistema de rastreamento (204) inclui colocar o marcador impresso (906) em uma localização e orientação no espaço real em 3D de modo que: uma origem associada com o marcador impresso (906) está localizada aproximadamente na mesma localização que uma origem associada com o sistema de rastreamento (108); e três eixos associados com o marcador impresso (906) são aproximadamente alinhados no espaço em 3D com três eixos associados com o sistema de rastreamento (108).
4. Método, de acordo com qualquer das reivindicações 1 a 3, em que determinar o mapeamento de lente da câmera (102) inclui: receber ou determinar uma primeira matriz de transformação que representa a primeira estrutura de referência de objeto real (212); determinar uma segunda matriz de transformação que representa a diferença em localização e orientação entre a estrutura de referência de lente de câmera (102) e a estrutura coordenada de marcador impresso (204); computar uma terceira matriz de transformação que representa o mapeamento de lente da câmera (102), em que a terceira matriz de transformação representa a diferença em localização e orientação entre a estrutura de referência de câmera e a estrutura de referência de lente de câmera, e em que a terceira matriz de transformação seja computada executando divisão de matriz tanto entre a primeira e a segunda matrizes de transformação quanto entre a segunda e a primeira matrizes de transformação.
5. Método, de acordo com qualquer das reivindicações 1 a 4, em que usar o mapeamento de lente da câmera (102) para alterar ou distorcer um ou mais itens virtuais sobrepostos na cena aumentada (114) inclui: colocar um primeiro item virtual sobreposto na cena aumentada (114) usando uma primeira estrutura de referência de item virtual (216), em que a primeira estrutura de referência de item virtual (216) refere-se à estrutura coordenada do sistema de rastreamento (204); receber do sistema de rastreamento (108) informação em tempo real sobre a localização e orientação da câmera (102); referenciar o mapeamento do objeto virtual (112) para transformação para atualizar a estrutura de referência de lente de câmera (102) com base na informação em tempo real; e atualizar a cena aumentada (114) alterando ou distorcendo o um ou mais itens virtuais sobrepostos com base na estrutura de referência de lente de câmera atualizada (102).
6. Método, de acordo com qualquer das reivindicações 1 a 5, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada (114) inclui encolher os itens virtuais sobrepostos em resposta ao movimento da câmera (102) adicionalmente para longe de um objeto real (104) no espaço em 3D.
7. Método, de acordo com qualquer das reivindicações 1 a 6, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada (114) inclui alargar os itens virtuais sobrepostos em resposta ao movimento da câmera (102) mais perto de um objeto real (104) no espaço em 3D.
8. Método, de acordo com qualquer das reivindicações 1 a 7, em que alterar ou distorcer o um ou mais itens virtuais sobrepostos na cena aumentada (114) inclui girar os itens virtuais sobrepostos em resposta ao movimento da câmera (102) em um ângulo com relação a um objeto real (104) no espaço em 3D.
9. Sistema compreendendo: uma câmera (102) que captura uma visão de um espaço real em 3D incluindo um objeto real (104); sistema de rastreamento que rastreia a posição e orientação em um espaço real em 3D do objeto real (104) e da câmera (102), em que o sistema de rastreamento (108) é configurado para estabelecer uma estrutura coordenada do sistema de rastreamento (204) associada com o sistema de rastreamento (108), em que a estrutura coordenada do sistema de rastreamento (204) é alinhada com o espaço real em 3D; e um computador (106) acoplado à câmera (102) e ao sistema de rastreamento (108), o computador (106) tendo uma ou mais unidades de memória, o computador (106) sendo configurado com um modelador virtual, em que o modelador virtual é configurado para receber do sistema de rastreamento (108) uma primeira estrutura de referência de objeto real para o objeto real (104), em que a primeira estrutura de referência de objeto real (212) indica uma posição e orientação do objeto real (104) com relação à estrutura coordenada do sistema de rastreamento (204); em que o modelador virtual é ainda configurado para computar uma segunda estrutura de referência (212) de objeto real para o objeto real (104), em que a segunda estrutura de referência (212) de objeto real indica uma posição e orientação do objeto real com relação à estrutura coordenada do sistema de rastreamento (204); em que o modelador virtual é ainda configurado para receber de uma ou mais unidades de memória uma primeira estrutura de referência (216) de objeto virtual para um objeto virtual (112), em que o objeto virtual (112) é modelado depois do objeto real (104), e em que a primeira estrutura de referência de objeto virtual (216) não é relacionada à estrutura coordenada do sistema de rastreamento (204); em que o modelador virtual é ainda configurado para computar uma segunda estrutura de referência de objeto virtual (216) para o objeto virtual (112), em que a segunda estrutura de referência de objeto virtual (216) indica uma posição e orientação do objeto virtual (112) com relação à estrutura coordenada do sistema de rastreamento (204); em que o modelador virtual é ainda configurado para computar um mapeamento do objeto virtual (112) entre a primeira estrutura de referência de objeto virtual (216) e a estrutura coordenada do sistema de rastreamento (204); e em que o modelador virtual é ainda configurado para gerar e armazenar em uma ou mais unidades de memória uma cena aumentada (114) incluindo uma visão do espaço real em 3D, uma visão do objeto real (104) e um ou mais itens virtuais sobrepostos, em que o mapeamento do objeto virtual (112) é usado para colocar o um ou mais itens virtuais sobrepostos na cena aumentada (114) de modo que um ou mais itens virtuais são alinhados com o objeto real (114).
10. Sistema, de acordo com a reivindicação 9, adicionalmente compreendendo um mostrador acoplado ao computador (106), em que o modelador virtual é ainda configurado para comunicar a cena aumentada (114) ao mostrador, e em que o mostrador é configurado para mostrar a cena aumentada (114) a um usuário.
11. Sistema, de acordo com a reivindicação 9 ou 10, em que usar o mapeamento do objeto virtual (112) para colocar o um ou mais itens virtuais sobrepostos na cena aumentada (114) inclui: receber uma primeira estrutura de referência de objeto virtual (216) para um primeiro item virtual sobreposto, em que a primeira estrutura de referência de objeto virtual (216) não é relacionada à estrutura coordenada do sistema de rastreamento (204); referenciar o mapeamento do objeto virtual (112) para transformar a primeira estrutura de referência de item virtual (primeira estrutura de referência de objeto virtual 216) para uma estrutura de referência transformada que refere-se à estrutura coordenada do sistema de rastreamento (204); e colocar o primeiro item virtual sobreposto na cena aumentada (114) usando a estrutura de referência de transformação.
12. Sistema, de acordo com qualquer das reivindicações de 9 a 11, em que o modelador virtual é ainda configurado para: receber do sistema de rastreamento (108) informação em tempo real sobre a localização e orientação do objeto real (104); atualizar o mapeamento do objeto virtual (112) com base na informação em tempo real; e atualizar a cena aumentada (114) atualizando a colocação do um ou mais itens virtuais sobrepostos de modo que o um ou mais itens virtuais permaneçam alinhados com o objeto real.
BR102013027358-9A 2012-10-31 2013-10-24 Sistema e método para realidade aumentada executado por um sistema de processamento de dados tendo pelo menos um processador BR102013027358B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/665,837 US9508146B2 (en) 2012-10-31 2012-10-31 Automated frame of reference calibration for augmented reality
US13/665,837 2012-10-31

Publications (2)

Publication Number Publication Date
BR102013027358A2 true BR102013027358A2 (pt) 2014-10-21
BR102013027358B1 BR102013027358B1 (pt) 2022-03-29

Family

ID=49518667

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013027358-9A BR102013027358B1 (pt) 2012-10-31 2013-10-24 Sistema e método para realidade aumentada executado por um sistema de processamento de dados tendo pelo menos um processador

Country Status (10)

Country Link
US (1) US9508146B2 (pt)
EP (1) EP2728548B1 (pt)
JP (1) JP6223122B2 (pt)
KR (1) KR102110123B1 (pt)
CN (1) CN103793936B (pt)
AU (1) AU2013224660B2 (pt)
BR (1) BR102013027358B1 (pt)
CA (1) CA2825834C (pt)
RU (1) RU2651239C9 (pt)
SG (1) SG2013068408A (pt)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104995666B (zh) * 2012-12-21 2019-04-23 苹果公司 用于在真实环境中表示虚拟信息的方法
US9058693B2 (en) * 2012-12-21 2015-06-16 Dassault Systemes Americas Corp. Location correction of virtual objects
EP3146466B1 (en) * 2014-05-21 2021-06-30 Tangible Play, Inc. Virtualization of tangible interface objects
US20150348322A1 (en) * 2014-06-02 2015-12-03 Dell Products L.P. Dynamically Composited Information Handling System Augmented Reality at a Primary Display
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US10345272B2 (en) * 2015-07-13 2019-07-09 The Boeing Company Automated calibration of non-destructive testing equipment
US9898869B2 (en) * 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
CN105491365A (zh) * 2015-11-25 2016-04-13 罗军 基于移动终端的图像处理方法、装置及系统
CN105469684A (zh) * 2015-11-26 2016-04-06 中国航空工业集团公司沈阳飞机设计研究所 一种适用于虚拟维修试验平台的模拟工具
US20210208763A1 (en) * 2016-01-19 2021-07-08 Tycoon Promotion Sagl Remote interactive system of augmented reality and associated method
DE102016205804A1 (de) * 2016-04-07 2017-10-12 Siemens Aktiengesellschaft Positionsbestimmungssystem
IL245339A (en) * 2016-04-21 2017-10-31 Rani Ben Yishai Method and system for verification of registration
US10008040B2 (en) * 2016-07-29 2018-06-26 OnePersonalization Limited Method and system for virtual shoes fitting
US10453232B2 (en) * 2016-08-29 2019-10-22 International Business Machines Corporation Product installation alignment assistance
MX2019005382A (es) * 2016-11-11 2019-08-12 Ericsson Telefon Ab L M Soporte de una aplicacion de software de realidad aumentada.
EP3563568A4 (en) * 2017-01-02 2020-11-11 Merge Labs, Inc. USER INTERFACE FUNCTIONS OF A THREE-DIMENSIONAL OBJECT OF EXTENDED REALITY
US10552981B2 (en) 2017-01-16 2020-02-04 Shapetrace Inc. Depth camera 3D pose estimation using 3D CAD models
US11521253B2 (en) 2017-02-03 2022-12-06 Columbia Insurance Company Autonomous system to assist consumers to select colors
CN106875493B (zh) * 2017-02-24 2018-03-09 广东电网有限责任公司教育培训评价中心 Ar眼镜中虚拟目标物的叠加方法
CN106878786B (zh) * 2017-03-07 2020-03-03 北京小米移动软件有限公司 Vr视频中弹幕的显示方法和装置
KR101941005B1 (ko) * 2017-04-05 2019-01-22 광주과학기술원 인카운터 타입 햅틱 시스템에서 임의의 툴에 대한 툴 캘리브레이션 방법
US10742940B2 (en) 2017-05-05 2020-08-11 VergeSense, Inc. Method for monitoring occupancy in a work area
US11044445B2 (en) 2017-05-05 2021-06-22 VergeSense, Inc. Method for monitoring occupancy in a work area
US10777018B2 (en) * 2017-05-17 2020-09-15 Bespoke, Inc. Systems and methods for determining the scale of human anatomy from images
CN108932051B (zh) * 2017-05-24 2022-12-16 腾讯科技(北京)有限公司 增强现实图像处理方法、装置及存储介质
WO2018236499A1 (en) 2017-06-19 2018-12-27 Apple Inc. AUGMENTED REALITY INTERFACE FOR INTERACTING WITH DISPLAYED CARDS
CN107564089B (zh) * 2017-08-10 2022-03-01 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备
CN108734786B (zh) * 2017-09-12 2021-07-27 武汉天际航信息科技股份有限公司 实景三维增强现实可视化系统及方法
EP3462411A1 (en) * 2017-09-27 2019-04-03 Arkite NV Configuration tool and method for a quality control system
US10777007B2 (en) 2017-09-29 2020-09-15 Apple Inc. Cooperative augmented reality map interface
US10573089B2 (en) * 2017-11-09 2020-02-25 The Boeing Company Systems, methods, and tools for spatially-registering virtual content with physical environment in augmented reality platforms
US10567746B2 (en) * 2017-11-14 2020-02-18 Caterpillar Inc. Calibration jig
US10235774B1 (en) 2017-11-14 2019-03-19 Caterpillar Inc. Method and system for calibration of an image capturing device mounted on a machine
US11039084B2 (en) 2017-11-14 2021-06-15 VergeSense, Inc. Method for commissioning a network of optical sensors across a floor space
FI129042B (en) * 2017-12-15 2021-05-31 Oy Mapvision Ltd Computer vision system with a computer-generated virtual reference object
CN108235778B (zh) * 2018-01-09 2021-09-10 达闼机器人有限公司 基于云端计算的标定方法、装置、电子设备和计算机程序产品
NO20180179A1 (en) * 2018-02-02 2019-04-08 Kitron Asa Method and system for augmented reality assembly guidance
WO2019152617A1 (en) 2018-02-03 2019-08-08 The Johns Hopkins University Calibration system and method to align a 3d virtual scene and 3d real world for a stereoscopic head-mounted display
CN108876900A (zh) * 2018-05-11 2018-11-23 重庆爱奇艺智能科技有限公司 一种与现实场景融合的虚拟目标投射方法和系统
US10977868B2 (en) * 2018-06-29 2021-04-13 Factualvr, Inc. Remote collaboration methods and systems
US10896546B2 (en) * 2018-07-11 2021-01-19 The Boeing Company Augmented reality system with an active portable anchor
US10839604B2 (en) * 2018-07-11 2020-11-17 The Boeing Company Augmented reality system with an active portable anchor
US10475250B1 (en) * 2018-08-30 2019-11-12 Houzz, Inc. Virtual item simulation using detected surfaces
US11396100B2 (en) * 2018-09-10 2022-07-26 Fanuc America Corporation Robot calibration for AR and digital twin
CN109345560B (zh) * 2018-09-20 2021-02-19 网易(杭州)网络有限公司 增强现实设备的运动跟踪精度测试方法及装置
CN109348209B (zh) * 2018-10-11 2021-03-16 北京灵犀微光科技有限公司 增强现实显示装置和视觉标定方法
US10740987B2 (en) 2018-10-12 2020-08-11 The Boeing Company Augmented reality system for visualizing nonconformance data for an object
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
WO2020092497A2 (en) * 2018-10-31 2020-05-07 Milwaukee Electric Tool Corporation Spatially-aware tool system
RU2713570C1 (ru) * 2018-12-20 2020-02-05 Анатолий Александрович Перепелица Способ формирования изображения дополненной реальности и робототехническая система для его осуществления
WO2020163218A1 (en) * 2019-02-04 2020-08-13 Beam Therapeutics Inc. Systems and methods for implemented mixed reality in laboratory automation
US10983672B2 (en) * 2019-02-12 2021-04-20 Caterpilar Inc. Augmented reality model alignment
RU2702495C1 (ru) * 2019-03-13 2019-10-08 Общество с ограниченной ответственностью "ТрансИнжКом" Способ и система сбора информации для устройства совмещенной реальности в режиме реального времени
CN109920064A (zh) * 2019-03-14 2019-06-21 烟台九田自动化科技有限公司 一种基于增强现实技术的模型空间位姿的精确调整方法
AU2020241843B2 (en) 2019-03-15 2023-09-28 VergeSense, Inc. Arrival detection for battery-powered optical sensors
CN110020649A (zh) * 2019-03-22 2019-07-16 联想(北京)有限公司 一种信息处理方法、装置、设备及存储介质
US20220168902A1 (en) * 2019-03-25 2022-06-02 Abb Schweiz Ag Method And Control Arrangement For Determining A Relation Between A Robot Coordinate System And A Movable Apparatus Coordinate System
US11538574B2 (en) * 2019-04-04 2022-12-27 Centerline Biomedical, Inc. Registration of spatial tracking system with augmented reality display
CN110322484B (zh) * 2019-05-29 2023-09-08 武汉幻石佳德数码科技有限公司 多设备共享的增强现实虚拟空间的校准方法及系统
CA3090634A1 (en) * 2019-08-20 2021-02-20 Lune Rouge Divertissement Inc. Machine vision system and method
US11620808B2 (en) 2019-09-25 2023-04-04 VergeSense, Inc. Method for detecting human occupancy and activity in a work area
CN110782499B (zh) * 2019-10-23 2023-01-06 Oppo广东移动通信有限公司 一种增强现实设备的标定方法、标定装置及终端设备
KR102314782B1 (ko) 2019-10-28 2021-10-19 네이버랩스 주식회사 3차원 증강현실 표시 방법
KR102199772B1 (ko) * 2019-11-12 2021-01-07 네이버랩스 주식회사 3차원 모델 데이터 생성 방법
CN112836558A (zh) * 2019-11-25 2021-05-25 杭州海康机器人技术有限公司 机械臂末端调整方法、装置、系统、设备及介质
CN111127661B (zh) * 2019-12-17 2023-08-29 北京超图软件股份有限公司 一种数据处理方法、装置及电子设备
JP7470511B2 (ja) 2019-12-17 2024-04-18 荏原環境プラント株式会社 情報処理システム、情報処理方法、情報処理プログラム
US11288792B2 (en) * 2020-02-19 2022-03-29 Palo Alto Research Center Incorporated Method and system for change detection using AR overlays
CN111432119B (zh) * 2020-03-27 2021-03-23 北京房江湖科技有限公司 图像拍摄方法、装置、计算机可读存储介质及电子设备
CN111162840B (zh) * 2020-04-02 2020-09-29 北京外号信息技术有限公司 用于设置光通信装置周围的虚拟对象的方法和系统
US11043039B1 (en) * 2020-04-22 2021-06-22 The Boeing Company 3D point cluster correlation for content alignment on augmented reality platforms
CN113674326B (zh) * 2020-05-14 2023-06-20 惟亚(上海)数字科技有限公司 一种基于增强现实的频域处理的跟踪方法
WO2021230884A1 (en) * 2020-05-15 2021-11-18 Zebra Technologies Corporation Calibration system and method for data capture system
US11557046B2 (en) * 2020-09-30 2023-01-17 Argyle Inc. Single-moment alignment of imprecise overlapping digital spatial datasets, maximizing local precision
KR102358950B1 (ko) * 2020-10-05 2022-02-07 홍준표 모바일 스캔 객체 모델 스케일링을 통한 증강현실 구현 장치 및 방법
KR20220059054A (ko) 2020-11-02 2022-05-10 한국전자통신연구원 특징점 지도 업데이트 기반의 증강현실 컨텐츠 제공 방법 및 이를 위한 장치
CN113112545B (zh) * 2021-04-15 2023-03-21 西安电子科技大学 基于计算机视觉的手持移动打印装置定位方法
CN113345105A (zh) * 2021-06-18 2021-09-03 北京爱奇艺科技有限公司 一种坐标系调整方法、装置、电子设备及存储介质
US11423576B1 (en) 2021-07-23 2022-08-23 Ford Global Technologies, Llc Infrastructure node localization with respect to alternative frame of reference
CN113920281A (zh) * 2021-10-11 2022-01-11 郭小川 一种虚拟现实环境中空间规划方法、系统及应用方法
KR102442637B1 (ko) 2021-11-23 2022-09-13 주식회사 버넥트 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
US11769293B2 (en) 2021-11-23 2023-09-26 Virnect Co., Ltd. Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR20230101463A (ko) 2021-12-29 2023-07-06 주식회사 버넥트 가상 뷰포인트 카메라를 활용하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체를 구현한 실물 객체에 가상 모델을 증강하는 방법
US11922691B2 (en) * 2022-04-20 2024-03-05 Adobe Inc. Augmented reality systems for comparing physical objects

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020094189A1 (en) * 2000-07-26 2002-07-18 Nassir Navab Method and system for E-commerce video editing
JP2003281504A (ja) * 2002-03-22 2003-10-03 Canon Inc 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
JP4401727B2 (ja) * 2003-09-30 2010-01-20 キヤノン株式会社 画像表示装置及び方法
JP2006012042A (ja) * 2004-06-29 2006-01-12 Canon Inc 画像生成方法及び装置
RU54233U1 (ru) * 2006-01-17 2006-06-10 Общество с ограниченной ответственностью "СИМТЕХ" Система виртуального окружения
US20070236514A1 (en) * 2006-03-29 2007-10-11 Bracco Imaging Spa Methods and Apparatuses for Stereoscopic Image Guided Surgical Navigation
CN100470452C (zh) * 2006-07-07 2009-03-18 华为技术有限公司 一种实现三维增强现实的方法及系统
EP2048599B1 (en) * 2007-10-11 2009-12-16 MVTec Software GmbH System and method for 3D object recognition
US7778794B2 (en) 2007-11-26 2010-08-17 The Boeing Company System and method for identifying an element of a structure in an engineered environment
US8482412B2 (en) 2008-10-16 2013-07-09 The Boeing Company Data interface process with RFID data reader glove
CN101520904B (zh) * 2009-03-24 2011-12-28 上海水晶石信息技术有限公司 带有现实环境估算的增强现实的方法及其系统
KR101335391B1 (ko) * 2010-04-12 2013-12-03 한국전자통신연구원 영상 합성 장치 및 그 방법
US8525830B2 (en) 2010-09-17 2013-09-03 The Boeing Company Point cloud generation system
US8423318B1 (en) 2010-09-17 2013-04-16 The Boeing Company Object management system
US9182487B2 (en) 2011-06-22 2015-11-10 The Boeing Company Advanced remote nondestructive inspection system and process
US9113050B2 (en) 2011-01-13 2015-08-18 The Boeing Company Augmented collaboration system

Also Published As

Publication number Publication date
CN103793936B (zh) 2018-12-14
US9508146B2 (en) 2016-11-29
EP2728548A2 (en) 2014-05-07
CN103793936A (zh) 2014-05-14
RU2013148372A (ru) 2015-05-10
AU2013224660B2 (en) 2019-03-07
RU2651239C2 (ru) 2018-04-18
SG2013068408A (en) 2014-05-29
CA2825834A1 (en) 2014-04-30
EP2728548A3 (en) 2017-11-08
KR102110123B1 (ko) 2020-05-14
AU2013224660A1 (en) 2014-05-15
KR20140055975A (ko) 2014-05-09
US20140118339A1 (en) 2014-05-01
EP2728548B1 (en) 2021-02-24
JP6223122B2 (ja) 2017-11-01
RU2651239C9 (ru) 2018-08-22
JP2014167786A (ja) 2014-09-11
CA2825834C (en) 2018-01-02
BR102013027358B1 (pt) 2022-03-29

Similar Documents

Publication Publication Date Title
BR102013027358A2 (pt) Estrutura automatizada de calibração de referência para realidade aumentada
CN110296691B (zh) 融合imu标定的双目立体视觉测量方法与系统
EP2747034B1 (en) Location correction of virtual objects
ES2399636T3 (es) Método para determinar la postura de una cámara con respecto a por lo menos un objeto real
Mariottini et al. EGT for multiple view geometry and visual servoing: robotics vision with pinhole and panoramic cameras
CN108062776A (zh) 相机姿态跟踪方法和装置
Xu et al. Automatic reconstruction method for large scene based on multi-site point cloud stitching
Zhang et al. A universal and flexible theodolite-camera system for making accurate measurements over large volumes
Klug et al. A complete workflow for automatic forward kinematics model extraction of robotic total stations using the Denavit-Hartenberg convention
TWI768776B (zh) 室內定位系統及室內定位方法
KR102152217B1 (ko) Vr 장비와 ar 장비간의 좌표계 일치용 지그 및 이를 이용한 물리 공간 공유 방법
CN109215128B (zh) 物体运动姿态图像的合成方法及系统
CN111161350B (zh) 位置信息及位置关系确定方法、位置信息获取装置
CN105574884A (zh) 一种医疗机器人dh参数标定方法
Zheng et al. A non-coplanar high-precision calibration method for cameras based on an affine coordinate correction model
CN109489658A (zh) 一种运动目标定位方法、装置及终端设备
CN114926542A (zh) 基于光学定位系统的混合现实固定参考系校准方法
Siltanen et al. Automatic marker field calibration
Wöldecke et al. Flexible registration of multiple displays
Samper et al. Metrovisionlab toolbox for camera calibration and simulation
Zhang Fpga soc fiducial system for unmanned aerial vehicles
CN117553697A (zh) 一种基于led的高速摄像测量方法及舱门形变测量系统
Klug Assistance for Measuring Human-Made Structures with Robotic Total Stations
JP2024518862A (ja) 施工検証システム、方法およびコンピュータプログラム製品
CN117495983A (zh) 一种基于立方体标志物的标定方法及装置

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
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 24/10/2013, OBSERVADAS AS CONDICOES LEGAIS.