BR112020002452B1 - Método e apraelho para gerar uma representação - Google Patents

Método e apraelho para gerar uma representação Download PDF

Info

Publication number
BR112020002452B1
BR112020002452B1 BR112020002452-0A BR112020002452A BR112020002452B1 BR 112020002452 B1 BR112020002452 B1 BR 112020002452B1 BR 112020002452 A BR112020002452 A BR 112020002452A BR 112020002452 B1 BR112020002452 B1 BR 112020002452B1
Authority
BR
Brazil
Prior art keywords
depth
image
camera
positioning
scene
Prior art date
Application number
BR112020002452-0A
Other languages
English (en)
Other versions
BR112020002452A2 (pt
Inventor
Christiaan Varekamp
Bart Kroon
Original Assignee
Koninklijke Philips N.V.
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 Koninklijke Philips N.V. filed Critical Koninklijke Philips N.V.
Publication of BR112020002452A2 publication Critical patent/BR112020002452A2/pt
Publication of BR112020002452B1 publication Critical patent/BR112020002452B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • 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
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • 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/30168Image quality inspection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

a presente invenção refere-se a um aparelho que compreende um receptor (401) que recebe uma primeira imagem e é associado aos primeiros dados de profundidade capturados por uma câmera de detecção de profundidade. um detector (405) detecta uma propriedade de posição de imagem para um marcador fiducial na primeira imagem, sendo que o marcador fiducial representa um posicionamento de uma segunda câmera de imagem de detecção de profundidade. um processador de posicionamento (407) determina um vetor de posicionamento relativo que indica um posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade em resposta à propriedade de posição de imagem e aos dados de profundidade dos primeiros dados de propriedade para uma posição de imagem do marcador fiducial. um segundo receptor (403) recebe uma segunda imagem e os segundos dados de profundidade capturados pela segunda câmera de imagem de detecção de profundidade. um gerador (409) gera a representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo.

Description

CAMPO DA INVENÇÃO
[001] A presente invenção se refere a um aparelho e a um método para gerar uma representação de uma cena a partir de dados capturados por uma pluralidade de câmeras de detecção de profundidade e, em particular, mas não exclusivamente, à geração de uma imagem para uma aplicação de realidade virtual a partir dessa representação.
ANTECEDENTES DA INVENÇÃO
[002] Tradicionalmente, o uso e o processamento técnico de imagens têm sido baseados em imageamento bidimensional mas, cada vez mais, a terceira dimensão está sendo explicitamente considerada no processamento de imagens.
[003] Por exemplo, foram desenvolvidas telas tridimensionais (3D) que acrescentam uma terceira dimensão à experiência de visão mediante o fornecimento, aos dois olhos de um observador, de diferentes vistas da cena sendo observada. Isso pode ser obtido fazendo com que o usuário use óculos para separar duas vistas que são mostradas. Entretanto, como isso pode ser considerado inconveniente para o usuário, em muitos cenários é preferencial o uso de telas autoestereoscópicas que usam meios na tela (como lentes lenticulares ou barreiras) para separar vistas e para enviá- las em diferentes direções onde podem individualmente chegar aos olhos do usuário. Para telas estereoscópicas são exigidas duas vistas, enquanto as telas autoestereoscópicas geralmente exigem mais vistas (como, por exemplo, nove vistas).
[004] Em muitas modalidades, pode ser desejável gerar imagens de vista para novas direções de observação. Embora sejam conhecidos vários algoritmos que geram essas novas imagens com base em informações de imagem e de profundidade, eles tendem a ser altamente dependentes da precisão da informação de profundidade fornecida (ou derivada).
[005] De fato, as informações de imagem tridimensional são frequentemente fornecidas por uma pluralidade de imagens correspondendo a diferentes direções de observação para uma cena. Especificamente, conteúdos de vídeo, como filmes ou programas de televisão, são cada vez mais gerados de modo a incluir algumas informações de 3D. Essas informações podem ser capturadas com o uso de câmeras 3D ou de detecção de profundidade dedicadas, como as câmeras que capturam duas imagens simultâneas provenientes de posições de câmera ligeiramente deslocadas.
[006] Em muitas aplicações, porém, as imagens fornecidas podem não corresponder diretamente às direções desejadas, ou mais imagens podem ser necessárias. Por exemplo, para telas autoestereoscópicas, mais de duas imagens são necessárias e, de fato, frequentemente são usadas de 9 a 26 imagens de vista.
[007] A fim de gerar imagens correspondendo a diferentes direções de observação, pode ser usado um processamento de deslocamento de ponto de vista. Isso é tipicamente executado por um algoritmo de deslocamento de vista que usa uma imagem para uma única direção de observação juntamente com informações de profundidade associadas.
[008] Um exemplo específico de uma aplicação que é baseada em processamento de imagens tridimensionais é uma aplicação de realidade virtual. Em experiências típicas de realidade virtual, a imagem de vista do olho direito e a imagem de vista do olho esquerdo podem ser geradas continuamente, por exemplo, para um headset de realidade virtual para haver a correspondência do movimento e da mudança de orientação por parte do usuário. Essa geração de vistas dinâmicas de realidade virtual baseia-se, tipicamente, no processamento dos dados da imagem 3D que representam uma dada cena correspondente ao ambiente de realidade virtual. Por exemplo, um servidor de realidade virtual pode gerar imagens de vista para visualizações específicas com base em um modelo tridimensional ou em imagens tridimensionais, como imagens representadas por imagens de intensidade de luz e mapas de profundidade, ou mapas de textura e malhas de profundidade.
[009] Para aplicações como aplicações de realidade virtual, uma sequência de imagens pode ser gerada, por exemplo, para refletir as visões de um usuário à medida que estas mudam quando o usuário se move virtualmente ou muda de orientação/direção de observação no ambiente virtual. Em algumas aplicações, as imagens podem ser geradas para refletir alterações na orientação do observador mas sem refletir a movimentação pelo ambiente. Um vídeo que reflita tal cenário é chamado, com frequência, de vídeo omnidirecional. Em outras aplicações, uma posição de visualização em movimento pode também ser suportada para refletir o movimento virtual de um usuário no ambiente de realidade virtual. Um vídeo que reflita tal cenário é chamado, com frequência, de vídeo imersivo. A vista atual de um usuário pode ser representada por um vetor de vista que descreve parâmetros relevantes de posição e de direção para um ponto de vista.
[0010] Para um vídeo omnidirecional, um vetor de vista descreve tipicamente uma orientação de acordo com três graus de liberdade (3DoF - “3 Degrees of Freedom”), tipicamente mediante o fornecimento de valores de guinada, inclinação e rotação (ou azimute, elevação e basculamento) ou uma representação de quatêrnio.
[0011] Para vídeo imersivo, um vetor tipicamente descreve tanto uma orientação quanto uma posição, de acordo com seis graus de liberdade (6DoF), tipicamente ao fornecer valores de guinada, inclinação, rotação e para três dimensões espaciais.
[0012] No entanto, um desafio particular ao tentar desenvolver e dar suporte a aplicações flexíveis de vídeo e imagem que suportem posições e/ou direções de vista variáveis é que, de preferência, as mesmas não se limitem a um subconjunto de posições e/ou direções, mas que todas as posições e/ou direções sejam idealmente suportadas. Por exemplo, para vídeo imersivo com 6DoF, um observador pode estar visualizando a cena a partir de qualquer posição e em qualquer direção. Isso requer que informações 3D estejam disponíveis para todas as partes da cena e a partir de todas as posições e para todas as direções. Esse requisito é difícil ou impossível de se atender em muitas aplicações práticas, como aplicações específicas nas quais os dados 3D são baseados em capturas de uma cena do mundo real.
[0013] A combinação da posição e a direção/orientação de um objeto é, no campo, geralmente chamada de um posicionamento ou uma pose. Dessa forma, um vetor de posicionamento ou pose pode compreender seis valores/componentes com cada valor/componente descrevendo uma propriedade individual da posição/localização ou da orientação/direção do objeto correspondente. É claro que, em muitas situações, os vetores de posicionamento ou pose podem ter um menor número de componentes para representar a posição e a orientação, por exemplo se um ou mais componentes forem considerados fixos (por exemplo se todos os objetos forem considerados estarem na mesma altura e nivelados, quatro componentes podem fornecer uma representação completa da pose de um objeto).
[0014] Um dos desafios mais difíceis de se superar é como capturar uma cena de modo eficaz, de modo que a representação da cena possa ser gerada, o que fornece informações suficientes para possibilitar que imagens de pontos de vista adequados de qualidade suficientemente alta sejam geradas, possibilitando, ainda, que a representação seja facilmente comunicada, armazenada, adaptada e/ou processada.
[0015] Muitas aplicações se baseiam na captura de uma cena ou de um ambiente do mundo real com o uso de câmeras de detecção de profundidade. Possibilita-se, com isso, que as propriedades visuais sejam capturadas juntamente com informações tridimensionais. Para capturar uma cena de modo suficientemente preciso e completo, o uso de uma pluralidade; e muitas vezes um elevado número, de câmeras é frequentemente adotado. Em algumas aplicações, são usadas 10, 20 ou mesmo mais câmeras para fornecer uma captura satisfatória.
[0016] O uso das informações capturadas pode ser diferente em diferentes aplicações. Por exemplo, em algumas modalidades, os dados capturados podem ser usados para desenvolver um modelo tridimensional da cena do mundo real. As imagens de vista para um usuário ao qual é fornecida uma experiência de realidade virtual tridimensional podem, então, ser geradas mediante a avaliação do modelo a partir de um ponto de vista específico. Em outras aplicações, as imagens para janelas de visão ou pontos de vista específicos podem ser diretamente geradas a partir das imagens capturadas e das informações de profundidade, por exemplo mediante a seleção de uma ou mais dentre as imagens capturadas mais próximas e a execução de um deslocamento do ponto de vista para que corresponda ao ponto de vista desejado.
[0017] Tipicamente, a calibração para sistemas de captura de câmera de múltiplas vistas inclui diferentes aspectos: 1. Calibração dos parâmetros que são intrínsecos a cada um dos sensores de câmera: a) Comprimento focal da lente e modelo de distorção, b) Tamanho, resolução, posição e orientação do sensor 2. Calibração dos parâmetros que são extrínsecos a cada câmera, isto é, a orientação e a posição dos nós de câmera um em relação ao outro.
[0018] Em particular, o segundo ponto é frequentemente difícil e de importância crítica. Para processar de forma exata os dados capturados, por exemplo para gerar as imagens para os pontos de vista desejados, é importante que os posicionamentos das câmeras de detecção de profundidade que capturam a cena sejam conhecidos com exatidão e confiabilidade elevadas. Em particular, é geralmente necessário que os posicionamentos relativos das câmeras de detecção de profundidade uma em relação à outra sejam conhecidos de maneira exata, de modo que os dados de captura provenientes das diferentes câmeras de detecção de profundidade possam ser combinados de maneira confiável e exata, seja pela geração de um modelo intermediário ou pela geração direta de imagens a partir de uma pluralidade das imagens capturadas. Em muitas aplicações, os requisitos para a determinação de posicionamento são muito exigentes e difíceis de alcançar. Por exemplo, em muitas aplicações práticas, é necessário que a exatidão dos parâmetros de azimute esteja em torno de 1° ou, de preferência, que ela seja até mesmo substancialmente menor.
[0019] Em algumas aplicações, as informações de posicionamento precisas podem ser asseguradas por um posicionamento e uma orientação cuidadosos, exatos e altamente controlados das câmeras com parâmetros de posicionamento conhecidos. Por exemplo, um equipamento fixo de câmeras de detecção de profundidade, em que cada câmera é fixada em uma posição conhecida e com uma orientação fixa em relação às outras câmeras, pode ser usado. Entretanto, essa abordagem não é prática ou é mesmo impossível em muitas aplicações. Por exemplo, se um grande número de câmeras for usado e/ou se as câmeras estiverem longe umas das outras, não é prático, em geral, medir ou restringir de forma manual as posições e orientações a um alto grau de exatidão. Além disso, a abordagem não é adequada para aplicações de captura dinâmica, como quando as câmeras podem ser dinamicamente adicionadas ou removidas do sistema de captura, ou quando uma ou mais câmeras podem ser uma câmera móvel.
[0020] Para resolver essas questões, propôs-se a introdução de uma determinação automática das posições das câmeras de detecção de profundidade individuais. Isso pode ser obtido, por exemplo, mediante o uso da funcionalidade de determinação de posição específica que é incluída nas câmeras de detecção de profundidade, como, por exemplo, a funcionalidade de GPS. No entanto, isso não apenas requer que os sensores de câmera de profundidade incluam essa funcionalidade, que pode frequentemente não ser o caso na prática, como também tende a fornecer resultados distantes de uma precisão suficiente para assegurar a determinação exata entre câmeras diferentes, especialmente para valores de orientação.
[0021] Sugeriu-se, além disso, que as informações de posicionamento possam ser derivadas das informações capturadas. Especificamente, propôs-se que o correlacionamento de imagens pode ser usado para a localização de áreas de imagens sobrepostas provenientes de câmeras diferentes e que isso pode ser usado para derivar informações quanto aos posicionamentos relativos das câmeras. No entanto, essa abordagem tende a ser computacionalmente muito intensa, visto que o correlacionamento de imagens precisa, em princípio, considerar todas as regiões de uma imagem em relação a todas as outras regiões em todas as outras imagens capturadas. Além disso, descobriu-se que essa abordagem tende a gerar resultados abaixo do ideal e, em geral, relativamente imprecisos. Por exemplo, é difícil evitar o correlacionamento acidental entre regiões de imagem que não representam o mesmo objeto, mas, em vez disso, diferentes objetos que podem ter propriedades visuais semelhantes (ou o mesmo objeto a partir de direções muito diferentes). Estas discrepâncias podem resultar em determinação de posicionamento equivocada, o que pode resultar em erros significativos durante o uso dessas informações de posicionamento para a combinação dos dados provenientes de diferentes câmeras.
[0022] Portanto, uma abordagem melhorada para a captura de cenas e, especificamente, para a determinação de informações de posicionamento para captura com câmeras de detecção de profundidade seria vantajosa. Em particular, seria vantajosa uma abordagem que possibilite uma operação melhor, uma flexibilidade maior, uma implementação mais fácil, uma operação mais fácil, uma complexidade menor, uma demanda de recursos menor, uma melhor exatidão, uma determinação de posição melhor e/ou um desempenho melhor.
SUMÁRIO DA INVENÇÃO
[0023] Consequentemente, a invenção busca, de preferência, mitigar, aliviar ou eliminar uma ou mais das desvantagens mencionadas acima, individualmente ou em qualquer combinação.
[0024] De acordo com um aspecto da invenção, é fornecido um aparelho para gerar uma representação de pelo menos parte de uma cena a partir de imagens de uma cena capturada por uma pluralidade de câmeras de detecção de profundidade distribuídas, sendo que o aparelho compreende: um primeiro receptor para receber uma primeira imagem capturada por uma primeira câmera de detecção de profundidade e primeiros dados de profundidade capturados pela primeira câmera de detecção de profundidade; um detector para detectar uma propriedade de posição de imagem para um marcador fiducial na primeira imagem, sendo que a propriedade de posição de imagem indica uma posição do marcador fiducial na primeira imagem e o marcador fiducial representa um posicionamento de uma segunda câmera de imagem de detecção de profundidade por uma diferença de posicionamento predeterminada em relação à segunda câmera de detecção de profundidade; um processador de posicionamento para determinar um vetor de posicionamento relativo que indica um posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade em resposta à propriedade de posição de imagem, e os dados de profundidade dos primeiros dados de profundidade para uma posição de imagem do marcador fiducial, e a diferença de posicionamento predeterminada, sendo que o vetor de posicionamento relativo é pelo menos tridimensional; um segundo receptor para receber uma segunda imagem capturada pela segunda câmera de imagem de detecção de profundidade e os segundos dados de profundidade capturados pela segunda câmera de imagem de detecção de profundidade; um gerador para gerar a representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo.
[0025] A invenção pode possibilitar uma determinação melhor e/ou mais fácil de posicionamentos de câmeras de detecção de profundidade que capturam uma cena, possibilitando assim uma melhor representação da cena a ser gerada. Em muitas modalidades e cenários, uma determinação de posicionamento muito exata pode ser realizada.
[0026] Essa abordagem pode facilitar, em modalidades, o posicionamento de câmeras e, de fato, em muitas aplicações, nenhum controle ou restrição estritos serão necessários quanto ao posicionamento. O sistema pode, em muitas aplicações, ser capaz de se adaptar automatica ou semiautomaticamente aos posicionamentos das câmeras. Uma configuração substancialmente facilitada de um sistema de captura pode, frequentemente, ser obtida.
[0027] Essa abordagem pode possibilitar que uma configuração de captura dinamicamente variável seja suportada, por exemplo, com câmeras que são introduzidas e/ou removidas dinamicamente, e ou com câmeras que se movem no ambiente.
[0028] Essa abordagem pode, em muitas modalidades e cenários, possibilitar uma captura e uma representação mais precisa e/ou completa da cena. Com frequência, uma combinação mais precisa de informações de diferentes câmeras com diferentes posicionamentos pode ser alcançada.
[0029] A representação pode ser uma representação de dados que descrevem propriedades visuais de pelo menos parte da cena. Tipicamente, a representação de dados pode incluir dados tridimensionais para a cena, como por exemplo, as informações de profundidade.
[0030] A representação da cena pode ser pelo menos um dentre um modelo tridimensional da cena e um conjunto de uma ou mais imagens da cena. O conjunto de imagens pode corresponder a uma ou mais imagens que correspondem a janelas de visão de diferentes pontos de vista. As representações podem ser geradas, por exemplo, como mapas de textura e mapas associados, imagens e mapas de profundidade potencialmente associados, uma estrutura tridimensional e dados de iluminação etc.
[0031] O posicionamento pode se referir a posição e/ou a orientação. O vetor de posicionamento relativo pode compreender um ou mais valores de posição e/ou um ou mais valores de orientação. Em muitas modalidades, um vetor de posicionamento pode fornecer uma posição tridimensional e/ou uma indicação de direção tridimensional.
[0032] Em muitas modalidades, o vetor de posicionamento relativo compreende pelo menos três componentes, e/ou pode indicar tipicamente tanto uma posição relativa e uma orientação relativa entre a primeira e a segunda câmeras de detecção de profundidade.
[0033] Uma orientação pode ser dada por um ou mais componentes selecionados a partir de um componente de inclinação, guinada, rotação ou componentes de azimute, elevação e basculamento.
[0034] O vetor de posicionamento relativo pode indicar uma translação entre uma posição da primeira câmera de detecção de profundidade e uma posição da segunda câmera de detecção de profundidade. O vetor de posicionamento relativo pode indicar uma direção da primeira câmera de detecção de profundidade para a segunda câmera de detecção de profundidade.
[0035] O processador de posicionamento pode ser disposto para gerar o vetor de posicionamento relativo com base em uma suposição de uma relação conhecida entre o marcador fiducial e a segunda câmera de detecção de profundidade. Ele pode gerar especificamente o vetor de posicionamento relativo com base em uma relação presumida entre um posicionamento do marcador fiducial e um posicionamento da segunda câmera de detecção de profundidade. O processador de posicionamento pode ser disposto para gerar o vetor de posicionamento relativo com base em uma relação presumida entre uma posição do marcador fiducial e uma posição da segunda câmera de detecção de profundidade. O processador de posicionamento pode ser disposto para gerar o vetor de posicionamento relativo com base em uma relação presumida entre uma orientação do marcador fiducial e uma orientação da segunda câmera de detecção de profundidade.
[0036] A primeira e a segunda câmeras de detecção de profundidade podem ser dispostas para ter uma sobreposição das janelas de visão correspondentes à primeira imagem e à segunda imagem.
[0037] A primeira e a segunda câmeras de detecção de profundidade podem ser parte de um sistema de captura que compreende uma pluralidade de câmeras de detecção de profundidade espacialmente distribuídas, sendo que as câmeras têm diferentes posicionamentos, como posições e/ou orientações diferentes.
[0038] O vetor de posicionamento relativo pode indicar os deslocamentos de posição e/ou orientação ou as diferenças entre a primeira e a segunda câmeras de detecção de profundidade. A diferença de posicionamento predeterminado indica uma diferença nos posicionamentos do marcador fiducial e no posicionamento da segunda câmera de detecção de profundidade.
[0039] De acordo com um recurso opcional da invenção, o gerador é disposto para gerar a representação como uma imagem da cena a partir de um ponto de vista diferente dos pontos de vista da primeira câmera de detecção de profundidade e da segunda câmera de detecção de profundidade.
[0040] Essa abordagem pode fornecer uma melhor geração de imagens da cena e pode, em particular, muitas vezes fornecer uma qualidade mais alta e/ou melhor cobertura da cena. Os diferentes pontos de vista podem ter uma posição e/ou orientação diferentes.
[0041] De acordo com um recurso opcional da invenção, o gerador está disposto de modo a combinar pelo menos a primeira imagem e a segunda imagem com base nos primeiros dados de profundidade e nos segundos dados de profundidade.
[0042] Isso pode fornecer um melhor desempenho em muitas modalidades, e pode, por exemplo, possibilitar, melhorar e/ou facilitar o deslocamento de ponto de vista para gerar imagens de diferentes pontos de vista.
[0043] De acordo com um recurso opcional da invenção, o gerador compreende um receptor para receber os vetores de posicionamento relativo para uma pluralidade de pares de câmeras de detecção de profundidade; um processador de coordenadas para determinar os posicionamentos da câmera de detecção de profundidade em um sistema de coordenadas comuns para cada uma dentre a pluralidade de câmaras em resposta aos vetores de posicionamento relativo, sendo que o gerador é disposto de modo a gerar a imagem em resposta aos posicionamentos de câmera determinados no mesmo sistema de coordenadas.
[0044] Essa abordagem pode possibilitar que um sistema de captura de cena flexível, porém exato, seja desenvolvido. Em particular, isso pode possibilitar que muitas câmeras sejam eficazmente combinadas em um sistema de captura coerente que fornece melhor cobertura e/ou melhor qualidade. Essa abordagem pode, em particular, facilitar ou possibilitar a interoperabilidade entre um grande número de câmeras e, além disso, pode suportar uma configuração mutável de maneira eficaz, por exemplo, devido à adição ou remoção das câmeras ou devido ao movimento das câmeras.
[0045] De acordo com um recurso opcional da invenção, o processador de coordenadas é disposto para determinar os posicionamentos da câmera de detecção de profundidade em resposta a uma minimização de uma função de custo, sendo que a função de custo depende de uma diferença entre os vetores de posicionamento relativo e os vetores de posicionamento correspondentes determinados a partir dos posicionamentos da câmera de detecção de profundidade determinada no sistema de coordenadas comuns.
[0046] Isso pode possibilitar uma abordagem particularmente eficiente e pode possibilitar uma combinação eficiente informações de posicionamento relativo provenientes de um grande número de câmeras para gerar uma representação de posicionamento coerente para o sistema de captura.
[0047] Em algumas modalidades, os posicionamentos iniciais de câmera estimados podem ser determinados pelos dados de posicionamento determinados sem depender da primeira imagem, como, por exemplo, uma funcionalidade de posição de GPS.
[0048] De acordo com um recurso opcional da invenção, o aparelho compreende adicionalmente: um segundo detector para detectar uma segunda propriedade de posição de imagem para um segundo marcador fiducial na segunda imagem, sendo que a segunda propriedade de posição de imagem indica uma posição do segundo marcador fiducial na segunda imagem, sendo que o segundo marcador fiducial representa um posicionamento da primeira câmera de imagem de detecção de profundidade que tem uma segunda diferença de posicionamento predeterminada em relação à primeira câmera de detecção de profundidade; e um segundo processador de posicionamento para determinar um segundo vetor de posicionamento relativo que indica uma posição da primeira câmera de imagem de detecção de profundidade em relação à segunda câmera de detecção de profundidade em resposta à segunda propriedade de posição de imagem e aos dados de profundidade dos segundos dados de profundidade para uma posição de imagem do segundo marcador fiducial, e a segunda diferença de posicionamento predeterminada, sendo que o segundo vetor de posicionamento relativo é pelo menos tridimensional; sendo que o gerador é adicionalmente disposto para gerar a representação em resposta ao segundo vetor de posicionamento relativo.
[0049] Isso pode facilitar e/ou melhorar a geração da representação da cena.
[0050] De acordo com um recurso opcional da invenção, uma propriedade visual do marcador fiducial indica uma identidade da segunda câmera de detecção de profundidade, e o detector é disposto para determinar a identidade da segunda câmera de detecção de profundidade em resposta à propriedade visual.
[0051] Isso pode facilitar e/ou melhorar a geração da representação da cena. Em particular, isso pode facilitar uma determinação de configuração de posicionamento automatizado para sistemas de captura que compreendem um grande número de câmeras.
[0052] O gerador pode ser disposto para associar a segunda imagem e o vetor de posicionamento relativo em resposta à identidade detectada. O detector pode ser disposto para associar a segunda imagem e o vetor de posicionamento relativo em resposta à identidade detectada mediante a seleção da segunda imagem a partir de uma pluralidade de imagens recebidas com base na determinação da identidade.
[0053] De acordo com um recurso opcional da invenção, o vetor de posicionamento relativo compreende ao menos um valor de orientação.
[0054] Isso pode proporcionar um desempenho aprimorado em muitos cenários. O pelo menos um valor de orientação pode ser pelo menos um dentre um valor de rotação, inclinação, guinada, azimute, elevação e basculamento.
[0055] De acordo com um recurso opcional da invenção, o processador de posicionamento é disposto para determinar o pelo menos um valor de orientação em resposta a uma propriedade visual da variante rotacional do marcador fiducial.
[0056] Isso pode, em muitos cenários, fornecer uma determinação de complexidade confiável e baixa do valor de orientação, enquanto possibilita, em geral, que marcadores fiduciais de complexidade relativamente baixa sejam usados.
[0057] De acordo com um recurso opcional da invenção, o processador de posicionamento é disposto para determinar o vetor de posicionamento relativo com base em uma suposição predeterminada de que pelo menos um parâmetro de orientação é idêntico para a primeira câmera de imagem de detecção de profundidade e a segunda câmera de imagem de detecção de profundidade.
[0058] Isso pode fornecer um melhor desempenho em muitos cenários e pode facilitar que a operação reduza substancialmente os graus de incerteza. O processador de posicionamento pode estar especificamente disposto de modo a determinar o vetor de posicionamento relativo com base em uma suposição predeterminada de que a primeira câmera de imagem de detecção de profundidade e a segunda câmera de imagem de detecção de profundidade estão niveladas/na posição horizontal.
[0059] De acordo com um recurso opcional da invenção, o aparelho compreende adicionalmente um processador de captura para determinar uma propriedade de captura da cena em resposta ao vetor de posicionamento relativo, sendo que a propriedade de captura indica como a cena é coberta pelas imagens capturadas pela pluralidade de câmeras de detecção de profundidade; e uma interface de usuário para gerar uma saída de dados de usuário indicativos da propriedade de captura.
[0060] O aparelho pode fornecer retroinformação de dados de usuário indicativa da cobertura da cena, auxiliando assim, por exemplo, um usuário no ajuste da configuração de captura.
[0061] De acordo com um recurso opcional da invenção, o processador de captura é disposto para determinar ao menos uma parte da cena para a qual uma indicação de qualidade indica uma redução da qualidade, e para gerar uma saída de dados de usuário que indica um posicionamento para que uma câmera de imagem de detecção de profundidade capture pelo menos parte da cena.
[0062] O aparelho pode fornecer retroinformação de dados de usuário indicativa da cobertura da cena, auxiliando assim, por exemplo, um usuário no ajuste da configuração de captura por meio da indicação de posições vantajosas para configuração da câmera.
[0063] A indicação da qualidade de captura pode indicar especificamente um número de câmeras que capturam diferentes partes da cena. Uma indicação de um número crescente de câmeras de captura pode indicar uma qualidade crescente. O processador de captura pode ser especificamente disposto para determinar pelo menos uma parte da cena para a qual a indicação da qualidade de captura indica que o número de câmeras que capturam a cena está abaixo de um limite. A saída de dados de usuário pode indicar um posicionamento da câmera de imagem de detecção de profundidade, de modo que essa imagem capture a parte da cena atualmente capturada por menos que o limite de câmeras. Em algumas modalidades, o limite pode ser uma câmera.
[0064] De acordo com uma característica opcional da invenção, o gerador está disposto para modificar o vetor de posicionamento relativo em resposta a um correlacionamento de imagens da primeira imagem e da segunda imagem.
[0065] Isso pode melhorar a exatidão da representação resultante, e pode melhorar e/ou facilitar a combinação da primeira imagem e da segunda imagem.
[0066] De acordo com um recurso opcional da invenção, o gerador está disposto para gerar um modelo tridimensional da cena em resposta ao vetor de posicionamento relativo, à primeira imagem e à segunda imagem.
[0067] Isso pode fornecer uma operação e/ou desempenho melhor e/ou mais fácil. O gerador pode ser disposto de modo a gerar a imagem em resposta a uma avaliação do modelo tridimensional.
[0068] De acordo com um aspecto da invenção, é fornecido um método para gerar uma representação de pelo menos parte de uma cena a partir de imagens de uma cena capturada por várias câmeras de detecção de profundidade distribuídas, sendo que o método compreende: receber uma primeira imagem capturada por um primeira câmera de detecção de profundidade e primeiros dados de profundidade capturados pela primeira câmera de detecção de profundidade; detectar uma propriedade de posição de imagem para um marcador fiducial na primeira imagem, sendo que a propriedade de posição indica uma posição do marcador fiducial na primeira imagem e o marcador fiducial representa um posicionamento de uma segunda câmera de imagem de detecção de profundidade por uma diferença de posicionamento predeterminada em relação à segunda câmera de detecção de profundidade; determinar uma vetor de posicionamento relativo que indica um posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade em resposta à propriedade de posição de imagem e aos dados de profundidade de propriedade dos primeiros dados de profundidade para uma posição de imagem do marcador fiducial e à diferença de posicionamento predeterminada, sendo que o vetor de posicionamento relativo é pelo menos tridimensional; receber uma segunda imagem capturada pela segunda câmera de imagem de detecção de profundidade e os segundos dados de profundidade capturados pela segunda câmera de imagem de detecção de profundidade; e gerar a representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo.
[0069] Esses e outros aspectos, recursos e vantagens da invenção ficarão evidentes e serão elucidados com referência às uma ou mais modalidades descritas a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
[0070] As modalidades da invenção serão descritas, apenas a título de exemplo, com referência aos desenhos, nos quais:
[0071] a Figura 1 ilustra um exemplo de configuração de captura que compreende uma pluralidade de câmeras de detecção de profundidade;
[0072] a Figura 2 ilustra um exemplo de elementos de uma configuração de captura que compreende uma pluralidade de câmeras de detecção de profundidade;
[0073] a Figura 3 ilustra um exemplo de elementos de uma configuração de captura que compreende uma pluralidade de câmeras de detecção de profundidade;
[0074] A Figura 4 ilustra um exemplo de um aparelho de acordo com algumas modalidades da invenção;
[0075] a Figura 5 ilustra um exemplo de um aparelho de áudio de acordo com algumas modalidades da invenção;
[0076] a Figura 6 ilustra um exemplo de elementos de uma configuração de captura que compreende uma pluralidade de câmeras de detecção de profundidade; e
[0077] a Figura 7 ilustra um exemplo de um aparelho de acordo com algumas modalidades da invenção;
DESCRIÇÃO DETALHADA DAS MODALIDADES
[0078] A descrição a seguir enfoca as modalidades da invenção aplicáveis à geração de uma representação de dados de uma cena com base em capturas de imagem (incluindo vídeo) a partir de uma pluralidade de câmeras de detecção de profundidade distribuídas, como um sistema de captura que compreende tipicamente 10, 20 ou mesmo mais câmeras. Entretanto, deve-se considerar que a invenção é aplicável a muitos sistemas de captura, incluindo sistemas com apenas algumas câmeras de detecção de profundidade que capturam a cena.
[0079] A Figura 1 ilustra um exemplo de um sistema de captura em que um número relativamente grande de câmeras de detecção de profundidade capturam uma cena que, no exemplo, é representada por três objetos centrais O1-O3. Cada câmera de detecção de profundidade N1-N7 é representada por um triângulo preto que também indica a janela de visão/ângulo de visão da câmera. Deve-se notar que, embora a Figura 1 ilustre o uso de oito câmeras, um número substancialmente maior pode ser usado em muitos sistemas práticos e, de fato, as oito câmeras ilustradas podem ser vistas como representando um número substancialmente maior de câmeras.
[0080] As câmeras de detecção de profundidade na configuração de captura também são chamadas de nós da configuração, e a determinação das informações de posicionamento (tipicamente com referência a um sistema de coordenadas comuns) é conhecida como registro das câmeras/nós. Tipicamente, o registro de nós pode ser realizado em um servidor central ou em uma unidade de registro que pode reunir as informações de posicionamento para todos os nós/câmeras na configuração.
[0081] No campo, os termos “posicionamento” e “pose” são usados como um termo comum para posição e/ou direção/orientação. A combinação da posição e da direção/orientação, por exemplo de um objeto, uma câmera, uma cabeça ou uma vista, pode ser chamada de uma pose ou posicionamento. Dessa forma, uma indicação de posicionamento ou pose pode compreender seis valores/componentes/graus de liberdade com cada valor/componente descrevendo tipicamente uma propriedade individual da posição/localização ou da orientação/direção do objeto correspondente. Naturalmente, em muitas situações, um posicionamento ou uma pose podem ser considerados ou representados com menos componentes, por exemplo se um ou mais componentes forem considerados fixos ou irrelevantes (por exemplo se todos os objetos forem considerados como estando na mesma altura e tiverem uma orientação horizontal, quatro componentes podem fornecer uma representação completa da pose de um objeto). No texto a seguir, o termo “pose” é usado para se referir a uma posição e/ou orientação que pode ser representada por um a seis valores (correspondentes ao número máximo de graus de liberdade possíveis).
[0082] O uso de um grande número de câmeras pode melhorar substancialmente a captura da cena e pode especificamente fornecer informações adicionais, aumento da cobertura etc. Isso pode possibilitar uma melhor geração de uma representação de dados da cena, por exemplo como um conjunto de imagens ou como um modelo tridimensional. No entanto, para combinar de modo eficaz as informações fornecidas pela câmera individual, é importante que o posicionamento específico de cada câmera seja determinado com exatidão. Dessa forma, os dados de registro para cada nó deve ser exato. Em muitas modalidades, a exatidão da orientação das câmeras precisa ser, por exemplo, da ordem de apenas 1° ou, de preferência, ainda menor. No entanto, essa determinação e esse registro de posicionamento para muitas câmeras e alta precisão são frequentemente muito difíceis de serem alcançados na prática.
[0083] Por exemplo, embora as informações de estrutura de cena tridimensional, como, por exemplo, medidas por um nó de câmera de tempo de voo ou estéreo, possam ser usadas para registrar múltiplos nós, é tipicamente muito difícil se obter resultados precisos na prática. Por exemplo, no exemplo da Figura 1, existe um cenário em que uma câmera de detecção de profundidade correspondente ao nó 1 (N1) e uma câmera de detecção de profundidade correspondente ao nó 2 (N2) podem capturar informações tridimensionais da cena. Para as câmeras no nó 1 e no nó 2, uma calibração com base apenas em geometria de cena pode ser possível com o uso, por exemplo, de um método de registro de ponto que seja robusto para resultados fora dos limites (por exemplo devido à oclusão). Esse método de calibração pode ser usado para determinar uma matriz de rotação e um vetor de translação que transforma o sistema de coordenadas de nó 2 no sistema de coordenadas de nó 1.
[0084] No entanto, essa abordagem com base em cena é difícil quando se está tentando registrar o nó 1 com, por exemplo, o nó 3 uma vez que as câmeras para estes nós veem diferentes lados de objetos 1, 2 e 3, o que significa que haverá uma correspondência de recursos muito limitada. Portanto, o posicionamento relativo do nó 1 e do nó 3 não é factível na prática, com base na captura da cena, visto que os recursos correspondentes da cena são capturados de forma muito diferente pelas duas câmeras, ou podem, de fato, não ser capturados por uma das câmeras.
[0085] Uma possível solução pode ser experimentar todos os pares de nós e ver o quão bem sucedido o processo de registro é para cada par, e então usar somente pares para os quais um registro bem sucedido é alcançado. Na prática, isso tenderá a resultar em vários problemas diferentes, incluindo a dificuldade de avaliar a qualidade do processo de registro com base apenas em pontos de cena.
[0086] Outra desvantagem de depender da estrutura de cena é que a estrutura de cena em 3D pode não ser muito informativa para o processo de registro e pode não fornecer informações adequadas para o correlacionamento de diferentes câmeras/nós. Por exemplo, se tudo o que é visível em cada janela de visão para uma câmera é uma superfície de terreno plano ou outras superfícies refletoras, então não há nenhuma estrutura de cena para possibilitar a determinação de posicionamento. Embora isso possa ser mitigado também com o uso de textura de imagem para determinar parâmetros de registro, ainda tende a levar a um registro impreciso e/ou não confiável.
[0087] Além disso, essas abordagens tendem a ser complexas e demandam recursos, e tendem a ser inadequadas para alterar dinamicamente as configurações de captura, como onde as câmeras são adicionadas e removidas. Em particular, isso tende a ser inadequado para cenários de captura em que câmeras móveis são usadas, como configurações com o uso de uma ou mais câmeras em um drone. Para muitos desses sistemas, o registro/a calibração precisam ser realizados não apenas em tempo real, mas também com baixa latência (normalmente dentro de 20 milissegundos).
[0088] Uma abordagem que pode facilitar a determinação do registro/posicionamento é a adição de marcadores em várias posições na cena, de modo que esses marcadores possam ser capturados pelas câmeras. Um exemplo disso é ilustrado na Figura 2, a qual pode representar um exemplo simples de um sistema de câmera de detecção de alcance com dois nós de câmera que observam uma cena que compreende um único marcador. Ambos os nós observam uma cena comum, incluindo um marcador, mas não um ao outro. No entanto, com base apenas na medição da profundidade do marcador e no conhecimento dos parâmetros intrínsecos de cada câmera, as câmeras não podem ser posicionadas em um sistema de coordenadas comuns, porque (1) as rotações ao redor dos vetores de translação são desconhecidas e (2) o ângulo entre os vetores de translação é desconhecido. Portanto, é impossível mesclar imagens em 3D capturadas das duas câmeras.
[0089] Para realizar um registro entre os nós 1 e 2, pelo menos três marcadores fiduciais devem estar visíveis para os dois nós, pois existem três parâmetros desconhecidos. Entretanto, isso pode não apenas tornar a operação de captura mais difícil e complicada, exigindo a adição de um grande número de marcadores, mas também tende a torná-la mais intrusiva e visível.
[0090] A seguir, será utilizada uma abordagem específica que pode fornecer melhor desempenho em muitas modalidades. Nesse exemplo, a abordagem não depende da estrutura da cena apenas, mas se baseia no uso de marcadores fiduciais que estão especificamente vinculados aos posicionamentos das câmeras de detecção de profundidade. Um marcador fiducial pode ser um objeto posicionado no campo de visão de um sistema de imagem de modo que possa aparecer em uma ou mais das imagens produzidas. O marcador fiducial pode ser usado pelo sistema como um ponto de referência.
[0091] Nessa abordagem, os marcadores fiduciais não são meramente marcadores que podem ser detectados e referenciados em imagens diferentes, mas representam as posições das câmeras de detecção de profundidade.
[0092] Na maioria das modalidades, os marcadores fiduciais podem ser colocalizados com as câmeras de detecção de profundidade e, especificamente, cada câmera pode ser dotada de um marcador fiducial. Um marcador fiducial pode, portanto, ser especificamente posicionado essencialmente na mesma posição de uma câmera de detecção de profundidade e com uma orientação que reflete diretamente a orientação da câmera de detecção de profundidade.
[0093] O marcador fiducial tem uma diferença de posicionamento predeterminada em relação à câmera de detecção de profundidade correspondente. A diferença de posicionamento predeterminada é, portanto, uma diferença conhecida/predeterminada entre o posicionamento do marcador fiducial e o posicionamento da câmera de detecção de profundidade. A diferença de posicionamento predeterminada pode ser um deslocamento de posicionamento. A diferença de posicionamento predeterminada pode ser especificamente um deslocamento de posição predeterminado (normalmente em duas ou três dimensões, mas, em algumas modalidades, o deslocamento de posição pode estar em apenas uma dimensão). A diferença de posicionamento predeterminada pode ser especificamente um deslocamento de orientação predeterminado (normalmente em uma, duas ou três dimensões).
[0094] Em muitas modalidades, o marcador fiducial pode ser colocado diretamente na câmera de detecção de profundidade e a diferença de posicionamento predeterminada pode ser frequentemente zero, isto é, o posicionamento do marcador fiducial é igual ao posicionamento da câmera de detecção de profundidade. Em outras modalidades, o marcador fiducial pode, por exemplo, ser afixado a um tripé que segura uma câmera e a diferença de posicionamento predeterminada reflete o deslocamento posicional e/ou rotacional/de orientação entre o marcador fiducial e a câmera de detecção de profundidade.
[0095] Em muitas modalidades, a diferença de posicionamento predeterminada pode ser, por exemplo, uma abordagem padronizada ou geralmente aceita para posicionar marcadores fiduciais em relação a câmeras de detecção de profundidade, por exemplo ela pode prescrever que marcadores fiduciais sejam posicionados na câmera com a mesma orientação que a câmera (por exemplo, afixada nas superfícies que também têm a lente câmera de detecção de profundidade.
[0096] Em outras modalidades, a diferença de posicionamento predeterminada pode ser determinada durante a instalação e o posicionamento dos marcadores fiduciais. Por exemplo, em um determinado cenário, um usuário pode decidir que os marcadores fiduciais são afixados no tripé abaixo da câmera e pode, por exemplo, inserir um valor correspondente para a diferença de posicionamento predeterminada no sistema para uso no processo de calibração subsequente (por exemplo, pode-se introduzir que os marcadores fiduciais são afixados 20 cm abaixo da câmera de detecção de profundidade (lente)).
[0097] Em muitas modalidades, o marcador fiducial pode estar em um alinhamento rígido com a câmera de detecção de profundidade correspondente. O marcador fiducial pode se mover com a câmera de detecção de profundidade, isto é, uma alteração no posicionamento da câmera de detecção de profundidade resultará em uma alteração correspondente no posicionamento do marcador de fiducial (e vice-versa). O marcador fiducial pode ter uma posição e/ou orientação fixa em relação/com respeito à câmera de detecção de profundidade correspondente. A diferença de posicionamento predeterminada pode, em algumas modalidades, mudar entre as sessões de calibração, mas será conhecida (ou assumida como sendo conhecida) antes do início do processo de calibração que determina o posicionamento relativo da câmera de detecção de profundidade correspondente com base no marcador fiducial.
[0098] A diferença de posicionamento predeterminada pode ser especificamente uma diferença de posicionamento predeterminada presumida. Por exemplo, pode ser prescrito que os marcadores fiduciais devem ser posicionados nas câmeras de detecção de profundidade e, portanto, a diferença de posicionamento predeterminada será indicativa disso, isto é, pode ser especificamente zero. É possível, naturalmente, que um usuário (por exemplo, um assistente não informado) cometa um erro e, por exemplo, coloque o marcador fiducial no tripé que segura a câmera. A diferença de posicionamento predeterminada ainda refletirá o posicionamento correto presumido do marcador fiducial, isto é, a diferença de posicionamento predeterminada ainda pode ser zero e a calibração será realizada com o uso da diferença de posicionamento predeterminada (presumida). Nesse caso, a diferença de posicionamento predeterminada reflete, assim, a diferença de posicionamento correta entre o marcador fiducial e a câmera de detecção de profundidade, embora a diferença real possa ser diferente. Isso pode resultar na determinação, pelo processo de calibração, das posições das câmeras (provavelmente) que geram posicionamentos estimados incorretos ou pelo menos imprecisos das câmeras de detecção de profundidade. No entanto, não é inesperado, naturalmente, que os resultados errôneos possam resultar em um cenário específico em que um erro é cometido e as suposições e premissas nas quais o processo se baseia não sejam atendidas.
[0099] A diferença de posicionamento predeterminada pode ser especificamente, em algumas modalidades, um vetor de diferença de posicionamento que indica um deslocamento entre o posicionamento do marcador fiducial e da câmera de detecção de profundidade correspondente. Por exemplo, a diferença de posicionamento predeterminada pode ser representada por um vetor de seis valores que indica o deslocamento em três dimensões posicionais e três dimensões de orientação.
[00100] Desse modo, a determinação de um posicionamento de um determinado marcador fiducial é, portanto, também uma determinação do posicionamento da câmera de detecção de profundidade correspondente.
[00101] Como será descrito em mais detalhes posteriormente, o marcador fiducial pode, em muitas modalidades, ser projetado de modo que possa ser usado tanto para a identificação de cada nó da câmera de detecção de profundidade quanto para o registro preciso de cada nó em um único sistema de coordenadas comuns.
[00102] Assim, um marcador fiducial pode ser especificamente posicionado sobre ou imediatamente adjacente a cada câmera para identificar a câmera e o posicionamento da câmera. O marcador fiducial representa, portanto, o posicionamento da câmera de detecção de profundidade ligada ao marcador fiducial por causa de uma diferença de posicionamento predeterminada em relação à câmera de detecção de profundidade. Em algumas modalidades, pode haver uma diferença entre o posicionamento do marcador fiducial e o posicionamento da câmera de detecção de profundidade, mas essa diferença pode ser conhecida pelo sistema, visto que é uma diferença predeterminada. Consequentemente, se a diferença entre o posicionamento do marcador fiducial e o posicionamento da câmera de detecção de profundidade for conhecida, a determinação do posicionamento do marcador fiducial também determina inerentemente o posicionamento da câmera de detecção de profundidade associada.
[00103] Diferentes marcadores fiduciais com diferentes propriedades podem ser usados em diferentes modalidades, e os marcadores fiduciais podem ter vários formatos para a detecção de posicionamento e a identificação de nós, incluindo, por exemplo: • Uma combinação de uma esfera para posicionamento co-alocada com um código (simples) semelhante a QR para identificação. • Esferas de tamanho variável, em que o tamanho é usado como um identificador. A média temporal melhora a precisão da estimativa do tamanho da esfera. • Esferas de tamanho, cor e/ou padrão variados, em que essas variações de aparência são usadas como um identificador. A agregação temporal das probabilidades de identificação da esfera pode melhorar a precisão da estimativa do tamanho da esfera. • Um conjunto de marcadores fiduciais, conforme descrito acima, em que a combinação de marcadores identifica exclusivamente um nó da câmera e fornece uma primeira orientação relativa. • Um diodo emissor de luz (LED) com um código de tempo exclusivo para identificação. O LED pode ser branco, RGB ou IV, dependendo do tipo de sensor da câmera no sistema da câmera.
[00104] Essa abordagem pode ser usada especificamente para encontrar posicionamentos relativos entre pares de câmeras de detecção de profundidade e, em modalidades com maior número de câmeras, esses posicionamentos relativos podem ser gerados para vários pares, sendo que os posicionamentos relativos resultantes são subsequentemente usados para posicionar todas as câmeras de detecção de profundidade em um sistema de coordenadas comuns.
[00105] Essa abordagem para um par de câmeras/nós de detecção de profundidade pode ser ilustrada pela Figura 3. O exemplo ilustra uma configuração de captura que consiste em dois nós, cada um com um marcador fiducial para fins de identificação e registro. As duas câmeras de detecção de profundidade estão posicionadas de modo que os nós fiquem na linha de visão um do outro. Visto que os sensores das câmeras de detecção de profundidade observam um ao outro, o seu posicionamento relativo pode ser determinado sem a necessidade de outros marcadores externos. Se o marcador fiducial indica a orientação da câmera, a orientação relativa de uma câmera de detecção de profundidade em relação à outra pode ser determinada. Por exemplo, tomando como orientação inicial, por exemplo, um vetor de unidade 3D para o nó 1, a orientação da linha que conecta os dois nós em relação a esse vetor (α1) pode ser determinada com o uso dos parâmetros intrínsecos para o nó 1. Finalmente, a orientação do nó 2 pode ser determinada em relação à linha de conexão (α2) com o uso dos parâmetros intrínsecos para o nó 2.
[00106] A única incógnita restante é a rotação comum das câmeras em relação ao vetor de translação, isto é, a orientação da configuração do par de câmeras em relação ao ambiente externo/ao sistema de coordenadas comuns. Entretanto, nivelando-se com precisão os nós da câmera ou adicionando-se um marcador fiducial externo, isso também pode ser determinado e os posicionamentos de ambas as câmeras de detecção de profundidade também podem ser determinados.
[00107] A Figura 4 ilustra um exemplo de um aparelho para gerar uma representação de pelo menos parte de uma cena a partir de imagens da cena capturadas por uma pluralidade de câmeras de detecção de profundidade distribuídas com o uso da abordagem descrita acima.
[00108] O aparelho compreende um primeiro receptor 401 que está disposto para receber uma primeira imagem e os primeiros dados de profundidade associados capturados por uma primeira câmera de detecção de profundidade. O primeiro receptor 401 pode, portanto, ser disposto de modo a receber uma primeira imagem capturada por uma primeira câmera de detecção de profundidade e os primeiros dados de profundidade capturados pela primeira câmera de detecção de profundidade. Por exemplo, uma imagem e um mapa de profundidade associado podem ser recebidos de uma câmera estéreo (após estimativa de disparidade) ou de uma câmera de detecção de alcance de profundidade. A primeira câmera de detecção de profundidade pode corresponder especificamente ao nó N1 da Figura 3. Os primeiros dados de profundidade podem ser quaisquer dados que indicam a profundidade para a primeira imagem. Os primeiros dados de profundidade podem ser um mapa de profundidade, mas também podem ser outros dados de profundidade, incluindo, por exemplo, um modelo com base em malha ou informações de paralaxe indicadas por outra imagem.
[00109] De modo similar, o aparelho compreende um segundo receptor 403 que está disposto para receber uma segunda imagem e os segundos dados de profundidade associados capturados por uma segunda câmera de detecção de profundidade. O segundo receptor 403 pode, portanto, ser disposto de modo a receber uma segunda imagem capturada pela segunda câmera de imagem de detecção de profundidade e um segundo dado de profundidade capturado pela segunda câmera de imagem de detecção de profundidade. Por exemplo, uma imagem e um mapa de profundidade associado podem ser recebidos de uma câmera estéreo (após estimativa de disparidade) ou de uma câmera de detecção de alcance de profundidade. A segunda câmera de detecção de profundidade pode corresponder especificamente ao nó N2 da Figura 3. Os segundos dados de profundidade podem ser quaisquer dados que indicam a profundidade para a segunda imagem. Os segundos dados de profundidade podem ser um mapa de profundidade, mas também podem ser outros dados de profundidade, incluindo, por exemplo, um modelo com base em malha ou informações de paralaxe indicadas por outra imagem.
[00110] O aparelho pode ser disposto para determinar um vetor de posicionamento relativo que indica o posicionamento da segunda câmera de detecção de profundidade com base na imagem capturada pela primeira câmera de detecção de profundidade e, especificamente, com base na detecção do marcador fiducial da segunda câmera de detecção de profundidade na imagem capturada pela primeira câmera de detecção de profundidade e nos dados de profundidade associados. O vetor de parâmetro de posição de referência é ainda baseado na diferença de posicionamento predeterminada, isto é, a determinação é baseada no conhecimento predeterminado do posicionamento do marcador fiducial em relação à segunda câmera de detecção de profundidade. Em muitas modalidades, a diferença de posicionamento predeterminada pode ser zero e, portanto, o vetor de parâmetro de posição de referência pode ser determinado com base no posicionamento do marcador fiducial, visto que o posicionamento do marcador fiducial e o posicionamento da câmera de detecção de profundidade são os mesmos.
[00111] O primeiro receptor 401 é acoplado a um detector 405 que está disposto para detectar uma propriedade de posição da imagem para um marcador fiducial na primeira imagem. A propriedade de posição da imagem indica uma posição do marcador fiducial na primeira imagem.
[00112] O detector pode ter informações relacionadas às propriedades visuais (e possivelmente em profundidade) do marcador fiducial e pode procurar na imagem um objeto que corresponda às propriedades visuais (e possivelmente em profundidade) do marcador fiducial. Em muitas modalidades, o detector 405 pode ter informações a priori de propriedades visuais gerais de potenciais marcadores fiduciais e pode especificamente ter informações de parâmetros comuns para todos os marcadores fiduciais. Em seguida, ele pode procurar na imagem um objeto que tenha essas propriedades e, caso encontre, determina a posição da imagem correspondente. Ele pode ainda continuar a analisar as propriedades específicas do marcador fiducial para identificar, por exemplo, uma orientação do marcador fiducial, bem como uma propriedade que indica a identidade da câmera à qual o marcador fiducial está associado, isto é, no exemplo específico, a segunda câmera de detecção de profundidade.
[00113] Em algumas modalidades, o detector 405 pode considerar adicionalmente os valores de profundidade do mapa de profundidade correspondente. Por exemplo, o marcador fiducial pode ter uma geometria/tamanho 3D conhecido e a detecção do marcador fiducial pode ser facilitada e/ou tornar-se mais precisa e/ou confiável considerando-se também o mapa de profundidade e, especificamente, se ele exibe características que correspondem o que é esperado para um marcador fiducial.
[00114] O detector 405 pode ser considerado para detectar a propriedade de posição da imagem com base em quaisquer informações fornecidas pela primeira câmera de detecção de profundidade. Em muitas modalidades, ele pode se basear apenas na primeira imagem, porém mais comumente também pode considerar as informações de profundidade, que, por exemplo, podem ser representadas por uma disparidade entre diferentes câmeras. Como um exemplo específico, com base em uma saída de uma câmera estéreo, o detector 405 pode detector o marcador na imagem esquerda e direita com o uso apenas da textura e usar a estimativa de disparidade no nível de marcador por marcador para reduzir alarmes falsos (correlacionando-se a escala do marcador com a disparidade).Uma razão para fazer isso pode ser que o algoritmo de estimativa de disparidade densa de imagem completa, que pode ser usado para a representação da cena final, seja muito intenso em termos computacionais para executar em tempo real.
[00115] O detector 405 é acoplado a um processador de posicionamento 407 que está disposto para determinar um vetor de posicionamento relativo que indica o posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade. O processador de posicionamento 407 determina ainda o vetor de posicionamento relativo com base nos primeiros dados de profundidade.
[00116] A determinação é baseada ainda na diferença de posicionamento predeterminada. Isso pode ser uma consideração direta da diferença de posicionamento predeterminada, por exemplo pela avaliação de valores de um vetor de diferença de posicionamento predeterminado. Em outras modalidades, a diferença de posicionamento predeterminada pode ser incluída de forma fixa no método de determinação, por exemplo por todas as posições determinadas de um marcador fiducial que são compensadas por um determinado valor antes de serem usadas novamente. Em algumas modalidades, a diferença de posicionamento predeterminada é conhecida por ser zero e corresponder aos posicionamentos do marcador fiducial, sendo que a câmera de detecção de profundidade é a mesma. Nesse caso, a diferença de posicionamento predeterminada pode inerentemente ser incluída na determinação do vetor de posicionamento relativo pelo vetor de posicionamento relativo que é determinado para o marcador fiducial e depois também usado para a câmera de detecção de profundidade.
[00117] Como um exemplo, analisando-se a posição da imagem do marcador fiducial, o processador de posicionamento 407 pode determinar a direção na qual o marcador fiducial é encontrado em relação à posição da câmera, visto que isso depende do mapeamento entre as direções da câmera e as posições da imagem correspondentes para essas câmeras. Consequentemente, a posição da imagem pode possibilitar que o processador de posicionamento 407 calcule a direção relativa da primeira câmera de detecção de profundidade em direção ao marcador fiducial e, portanto, da segunda câmera de detecção de profundidade.
[00118] Além disso, com base nos primeiros dados de profundidade, a profundidade estimada do objeto de imagem correspondente ao marcador fiducial pode ser determinada e, a partir disso, a distância correspondente ao marcador fiducial e, portanto, a segunda câmera de detecção de profundidade. Dessa maneira, a direção e a distância relativas da primeira câmera de detecção de profundidade até a segunda câmera de detecção de profundidade podem ser determinadas.
[00119] Além disso, se o marcador fiducial for uma variante rotacional, isto é, uma rotação em torno da direção determinada resulta em uma aparência diferente do marcador fiducial para a primeira câmera de detecção de profundidade, o processador de posicionamento 407 pode detectar a rotação do marcador fiducial na imagem. Consequentemente, pode-se determinar a orientação da segunda câmera de detecção de profundidade em relação à primeira câmera de detecção de profundidade e, especificamente, a rotação da segunda câmera de detecção de profundidade em torno da linha de interconexão.
[00120] Assim, em algumas modalidades, o processador de posicionamento 407 pode ser disposto para determinar o pelo menos um valor de orientação em resposta a uma propriedade visual de variante de rotação do marcador fiducial. A propriedade visual de variação de rotação pode, por exemplo, ser fornecida como um padrão de variação de rotação em um marcador fiducial que tem uma forma de rotação invariante.
[00121] O processador de posicionamento 407 pode, assim, determinar especificamente um vetor de posicionamento relativo que define a posição relativa e a orientação relativa da segunda câmera de detecção de profundidade em relação à primeira câmera de detecção de profundidade. O vetor de posicionamento relativo pode compreender especificamente três valores que indicam a posição relativa e um ou mais valores que indicam a orientação relativa. A orientação pode, por exemplo, em algumas modalidades, ser fornecida como um valor único, que indica a rotação relativa da segunda câmera de detecção de profundidade em relação à primeira câmera de detecção de profundidade em um plano predefinido.
[00122] O vetor de posicionamento relativo fornece, portanto, pelo menos uma diferença de posição tridimensional entre a primeira e a segunda câmeras de detecção de profundidade. Além disso, ele normalmente compreende pelo menos um valor de orientação para a segunda câmera.
[00123] O processador de posicionamento 407 pode, por exemplo, ser disposto para determinar uma posição espacial para o marcador fiducial em resposta a uma colocação da primeira câmera de detecção de profundidade e um valor de profundidade da primeira posição do marcador fiducial na primeira imagem. Por exemplo, a posição espacial do marcador fiducial pode ser determinada como a posição da primeira câmera de detecção de profundidade deslocada pelo valor de profundidade na direção/orientação da vista da primeira câmera de profundidade. O vetor de posicionamento relativo pode então ser determinado pelo deslocamento da posição espacial do marcador fiducial pela diferença de posicionamento predeterminada.
[00124] O processador de posicionamento 407 é acoplado a um gerador 409 que é ainda acoplado ao primeiro receptor 401 e ao segundo receptor 403. O gerador 409 é alimentado com o vetor de posicionamento relativo, bem como a primeira e a segunda imagens e, tipicamente, também o primeiro e o segundo mapas de profundidade.
[00125] O gerador 409 está disposto para gerar uma representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo, e tipicamente também com base no primeiro e no segundo mapas de profundidade.
[00126] Em muitas modalidades, a representação da (parte da) cena pode ser uma representação de imagem e pode ser especificamente uma ou mais imagens correspondentes a uma janela de visão para um determinado ponto de vista (ou pontos de vista). Por exemplo, com base na primeira e na segunda imagens recebidas e no vetor de posicionamento relativo, o gerador de imagem 105 pode gerar uma imagem que mostra a cena a partir de um ponto de vista entre as duas câmeras. Nesse caso, as duas imagens podem, por exemplo, se complementar por uma imagem, fornecendo informações para áreas que estão ocluídas na outra imagem.
[00127] De modo mais genérico, o vetor de posicionamento relativo pode ser usado para posicionar a primeira e a segunda câmeras de detecção de profundidade em um sistema de coordenadas no qual o ponto de vista também é fornecido. O gerador 409 pode, então, gerar a imagem para a janela de visão do ponto de vista ao deslocar a vista com base na primeira e na segunda imagens e com base no primeiro e no segundo mapas de profundidade.
[00128] Como um exemplo específico da determinação do vetor de posicionamento relativo e da geração subsequente de uma imagem, ambos os mapas de profundidade podem primeiro ser convertidos em uma malha, por exemplo, criando-se dois triângulos por quadrado de 2x2 pixels do mapa de profundidade. As imagens de cada câmera agora podem servir diretamente como textura para sintetizar a imagem de um novo ponto de vista virtual entre as duas câmeras de captura. O resultado são duas imagens sintetizadas, cada uma delas distorcida a partir de uma câmera de captura diferente. As duas imagens sintetizadas podem ser integradas em uma imagem final pela análise dos buffers de profundidade resultantes que estão presentes em um mecanismo gráfico, como OpenGL ou Vulkan. A análise dos buffers de profundidade após a distorção indica qual das duas vistas sintetizadas deve ser usada. Por exemplo, se o buffer de profundidade da primeira imagem sintética estiver mais próximo da câmera do que a segunda imagem sintética, a segunda imagem sintética precisará ser usada nesse pixel, visto que ela aparentemente fez o imageamento da textura de plano de fundo não ocluída.
[00129] Em muitas modalidades, o aparelho pode ainda ser disposto para executar também a operação recíproca, isto é, pode determinar um segundo vetor de posicionamento relativo que indica o posicionamento relativo da primeira câmera de detecção de profundidade, como pode ser visto a partir da segunda câmera de detecção de profundidade. Nesse caso, o aparelho pode, consequentemente, compreender um segundo detector que repete a operação do detector 405, mas, em vez disso, procura detectar um segundo marcador fiducial que representa a posição da primeira câmera de detecção de profundidade na segunda imagem. Ele pode ainda compreender um segundo processador de posicionamento que repete a operação do processador de posicionamento 407 para determinar o segundo vetor de posicionamento relativo a partir das imagens, os dados de profundidade, uma diferença de posicionamento predeterminada para o segundo marcador fiducial em relação à primeira câmera de detecção de profundidade, uma segunda posição de imagem predeterminada e detectada na segunda imagem. Deve-se considerar que o segundo detector e o segundo processador de posicionamento podem ser implementados pelo detector 405 e pelo processador de posicionamento 407 da Figura 4, respectivamente, repetindo-se a mesma operação da determinação do primeiro vetor de posicionamento relativo, mas trocando-se a primeira e a segunda imagens, bem como o primeiro e o segundo mapas de profundidade, e detectando-se o segundo marcador fiducial em vez do primeiro marcador fiducial (no caso de buscas por marcadores fiduciais individuais serem realizadas).
[00130] Nesse caso, a operação recíproca é, portanto, executada com os posicionamentos relativos da primeira e da segunda câmeras de detecção de profundidade que são determinados tanto do ponto de vista da primeira câmera de detecção de profundidade quanto do ponto de vista da segunda câmera de detecção de profundidade.
[00131] O gerador 409 pode, nessa modalidade, continuar a usar o primeiro e o segundo vetores de posicionamento relativo determinados para gerar a representação e especificamente a imagem para um ponto de vista diferente. Como um exemplo, o gerador 409 pode prosseguir para determinar um vetor de posicionamento relativo médio do primeiro e segundo vetores de posicionamento relativo e o gerador 409 pode então usar esse vetor de posicionamento relativo médio para a geração de imagens.
[00132] Como mencionado anteriormente, uma configuração de captura pode, em muitas modalidades, incluir um grande número de câmeras, como, por exemplo, 10, 20 ou até mais de 50 câmeras. Nesse cenário, a abordagem descrita acima para um par de câmeras pode ser repetida para uma pluralidade de pares de câmeras com uma pluralidade de vetores de posicionamento relativos interrelacionados que gerados em conformidade. Esses vetores de posicionamento relativo interrelacionados podem, então, ser processados para gerar uma representação da cena, como, por exemplo, um conjunto de imagens ou, em muitas modalidades, um modelo da cena.
[00133] Nesse sistema, o aparelho pode, por exemplo, receber imagens e mapas de profundidade de todas as câmeras com detecção de profundidade. Em seguida, ele pode executar o processo descrito acima para todos os pares de câmeras. Ele pode gerar especificamente dois vetores de posicionamento relativos para cada par, um com base em cada câmera do par (ou, equivalentemente, as diferentes direções podem ser tratadas como pares diferentes, cada uma resultando em um vetor de posicionamento relativo).
[00134] Nesse sistema, é tipicamente desconhecido quais câmeras são visíveis para outras câmeras e o detector 405 pode ser disposto de modo a executar o processamento para lidar com essa incerteza. Por exemplo, para uma determinada primeira câmera com detecção de profundidade, a primeira imagem recebida pode ser processada para cada uma das outras possíveis câmeras. Por exemplo, cada câmera que faz upload de uma imagem e um mapa de profundidade também pode fazer upload de uma descrição do marcador fiducial fixado a essa câmera. Para uma primeira câmera, o detector 405 pode então processar sequencialmente a primeira imagem para todas as outras câmeras. Ele pode, especificamente para uma determinada câmera, procurar na imagem um marcador fiducial com propriedades correspondentes às relatadas pela câmera especificada. Se nenhuma correlação for encontrada, o detector 405 prossegue para a próxima câmera. No entanto, se for encontrada uma correlação, a primeira câmera prossegue para gerar um vetor de posicionamento relativo conforme descrito acima. Depois que todas as câmeras em potencial forem processadas, o aparelho prossegue para a próxima câmera e repete o processo.
[00135] Em muitas modalidades, o detector 405 pode, em vez disso, procurar a imagem para encontrar quaisquer objetos de imagem que possam corresponder a um marcador fiducial, por exemplo, com base em propriedades visuais genéricas (e/ou profundidade) para marcadores fiduciais. Para cada marcador fiducial potencial detectado, o detector 405 pode, então, prosseguir para avaliar propriedades específicas do marcador fiducial que podem identificar a câmera associada ao marcador fiducial. Por exemplo, um padrão específico (por exemplo, um código QR) pode identificar exclusivamente o marcador fiducial/câmera detectados. Com base nessa detecção, o aparelho pode prosseguir para identificar a imagem recebida e os mapas de profundidade da câmera detectada.
[00136] A identificação pode, por exemplo, ser ativada, dando a cada marcador fiducial uma aparência única (forma, cor, padrão etc.) ou usando marcadores ativos (por exemplo LED) que enviam códigos de identificação.
[00137] Dessa maneira, para cada nó/câmera, um subconjunto dos outros nós visíveis a partir da câmera pode ser detectado e, em seguida, ser identificado e localizado. Assim, para cada nó, é gerado um conjunto de vetores de posicionamento relativo, que faz o mapeamento a partir dessa câmera para outras câmeras. Especificamente, o vetor de posicionamento relativo pode incluir um vetor de translação que indica a diferença de posição e, além disso, pelo menos um parâmetro de orientação/direção pode ser incluído.
[00138] O processo resulta na geração de um número tipicamente grande de vetores de posicionamento relativo que refletem os posicionamentos relativos das câmeras. Com base nesses vetores de posicionamento relativo, o gerador 409 pode registrar as câmeras em um sistema de coordenadas comuns. O processo de registro pode, para cada nó, determinar especificamente uma matriz de rotação e um vetor de conversão que coloca os nós em um sistema de coordenadas comum.
[00139] Conforme ilustrado na Figura 5, o gerador 409 pode compreender um receptor 501 que recebe todos os vetores de posicionamento relativo gerados. O receptor 501 é acoplado a um processador de coordenadas 503, que está disposto de modo a determinar os posicionamentos da câmera em um sistema de coordenadas comuns com base nos vetores de posicionamento relativo. O gerador 409 pode, então, gerar a representação da cena a partir dessa configuração. Por exemplo, a representação pode ser fornecida como a combinação dos dados de registro, isto é, os dados que descrevem a posição de todas as câmeras em um único sistema de coordenadas, juntamente com as imagens recebidas e os mapas de profundidade.
[00140] A Figura 6 ilustra um exemplo de como uma terceira câmera pode ser registrada. No exemplo, os nós 2 e 3 (N2, N3) já podem estar registrados, isto é, seus posicionamentos podem ser conhecidos. Além disso, o gerador 409 pode conhecer os vetores de posicionamento relativo do nó 1 (N1) em relação aos nós 2 e 3. Consequentemente, o gerador 409 conhece a posição do nó 1 a partir do nó 2 ou do nó 3, e a orientação 3D do nó 1, visto que o nó 1 observou os nós 2 e 3. Assim, o exemplo mostra uma configuração de três nós, em que o nó 1 vê dois outros nós 2, 3, sendo que cada deles tem um marcador fiducial para fins de identificação e registro. Visto que os nós 2 e 3 podem determinar seu posicionamento relativo ao nó 1, os dados 3D provenientes dos três nós podem ser posicionados em um sistema de coordenadas comuns. Visto que o nó 1 observa a distância para os nós 2 e 3, é possível uma operação extra de verificação/filtro na determinação da posição relativa dos nós 2 e 3.
[00141] Diferentes abordagens e algoritmos podem ser usados para determinar os posicionamentos das câmeras de detecção de profundidade no sistema de coordenadas comuns. Em muitas modalidades, o processador de coordenadas 503 pode ser disposto para executar um processo de otimização conjunto, levando em consideração todos os vetores de posicionamento relativo.
[00142] Especificamente, pode ser definida uma função de custo que depende das diferenças entre os vetores de posicionamento relativo (medidos) e os vetores de posicionamento relativo (ajustados) correspondentes que resultam dos posicionamentos dos nós no sistema de coordenadas comuns.
[00143] Especificamente, no sistema de coordenadas comuns, um vetor de posicionamento relativo ajustado entre dois nós resulta dos posicionamentos alocadas desses dois nós. À medida que os posicionamentos mudam, também mudam os vetores de posicionamento relativo ajustados que indicam a diferença entre os posicionamentos alocados.
[00144] A função de custo pode incluir uma comparação desse vetor de posicionamento relativo ajustado ao vetor de posicionamento relativo medido correspondente determinado pelas medições, conforme descrito anteriormente. Assim, o vetor de posicionamento relativo ajustado resultante dos posicionamentos alocados de duas câmeras é comparado ao vetor de posicionamento relativo medido para as duas câmeras, e quanto maior a diferença, maior o valor da função de custo. A função de custo pode incluir uma comparação para cada um dos vetores de posicionamento relativo medidos para todos os pares de câmeras.
[00145] O processador de coordenadas 503 pode então variar os posicionamentos alocados para encontrar uma alocação otimizada para a qual a função de custo é minimizada e a configuração correspondente pode ser registrada.
[00146] Deve-se considerar que várias técnicas e algoritmos para essa operação de otimização serão conhecidos pelo versado na técnica e, portanto, por questões de brevidade, não serão descritas a seguir aqui.
[00147] Em muitos cenários, a otimização pode ser auxiliada por outras informações. Por exemplo, as posições iniciais dos nós/câmeras podem ser alocadas com base em outras funcionalidades, como, por exemplo, com base nas informações de posição das estimativas de posição de GPS incluídas em cada câmera.
[00148] Em algumas modalidades, o processador de posicionamento 407 pode ser disposto para determinar o vetor de posicionamento relativo com base em uma suposição predeterminada de que pelo menos um parâmetro de orientação é idêntico para a primeira câmera de imagem de detecção de profundidade e a segunda câmera de imagem de detecção de profundidade. Por exemplo, em muitas modalidades, o processador de posicionamento 407 pode se basear no pressuposto de que a primeira e a segunda câmeras estão ambas posicionadas de modo que estejam niveladas e totalmente horizontais.
[00149] Essa abordagem pode possibilitar que o processador de posicionamento 407 reduza o número de variáveis desconhecidas e, portanto, pode facilitar a determinação do vetor de posicionamento relativo. Mais significativamente, em muitas modalidades, ela pode facilitar o registro dos nós em um sistema de coordenadas comuns. Especificamente, ela pode possibilitar um processo de otimização mais eficiente, em que, por exemplo, uma função de custo mais simples pode ser usada.
[00150] Como exemplo específico, supõe-se que cada câmera de detecção de profundidade esteja posicionada em um tripé com uma altura fixa/nominal e aproximadamente nivelada (por exemplo, aproximadamente nivelada conforme medido durante o posicionamento com uso de uma bolha de ar tradicional em uma abordagem fluida). Visto que todas as câmeras estão aproximadamente na mesma altura (conhecida) acima da superfície do solo e aproximadamente niveladas, pode-se iniciar um algoritmo de busca iterativo com dois dos três ângulos de orientação inicializados em zero grau para cada câmera e também na altura especificada. O algoritmo iterativo de minimização de custos estará, portanto, mais próximo do mínimo, e há menos incógnitas a serem determinadas. Isso significa que a convergência será mais rápida. Além disso, podemos restringir a solução a não ficar muito longe das orientações e altura conhecidas a priori.
[00151] Conforme descrito anteriormente, em muitas modalidades, o sistema pode gerar uma representação de parte da cena por uma ou mais imagens que são geradas especificamente a partir das imagens capturadas e das informações de profundidade. De fato, em algumas modalidades, a representação pode ser simplesmente uma imagem única da cena gerada a partir das imagens capturadas e dos mapas de profundidade e com base em combinações que usam as informações de registro. Por exemplo, um algoritmo de mudança de vista pode ser aplicado a uma imagem, sendo que áreas excluídas são preenchidas a partir de imagens de outras câmeras selecionadas com base nas informações de posicionamento. Dessa maneira, uma imagem de outros pontos de vista além dos pontos de vista da câmera pode ser gerada.
[00152] Como outro exemplo, em algumas modalidades, o gerador 409 pode ser disposto para gerar um modelo tridimensional da cena com base nos vetores de posicionamento relativo e, especificamente, com base na configuração de todas as câmeras no sistema de coordenadas comuns.
[00153] Por exemplo, cada medição de profundidade de cada câmera pode ser usada para preencher um volume/matriz 3D predefinido. Após essa operação de preenchimento, a coleção de pixels não vazios forma a representação volumétrica 3D. As posições na superfície externa do volume podem ser convertidas em uma malha para representar o modelo 3D.
[00154] A distribuição da funcionalidade do aparelho descrito pode ser diferente em diferentes modalidades, dependendo das preferências e requisitos da modalidade e aplicação individuais.
[00155] Em algumas modalidades, o aparelho pode ser implementado como um dispositivo ou servidor central independente para o qual todas as câmeras transmitem imagens capturadas e informações de profundidade. Em outras modalidades, a funcionalidade pode ser distribuída no sistema de captura. Por exemplo, um detector 405 pode ser implementado em cada câmera e a posição da imagem detectada pode ser comunicada a um dispositivo central que implementa o processador de posicionamento 407 e o gerador 409, e que consequentemente procede para gerar os valores de probabilidade e a representação. Em ainda outras modalidades, um detector 405 e um processador de posicionamento 407 podem ser implementados em cada câmera de detecção de profundidade, e os vetores de posicionamento relativo resultantes podem ser transmitidos a um gerador central 409.
[00156] Assim, a descrição principal se concentrou em uma topologia de rede com base em um dispositivo mestre que coleta todos os dados e registra as câmeras. Entretanto, outras alternativas podem incluir, por exemplo: • Cada câmera tem armazenamento para vídeo e todo o processamento, incluindo calibração, é realizado offline (após a gravação). • As câmeras se comunicam por RF (por exemplo, Wi-Fi ou Bluetooth) sobre seus marcadores fiduciais e os marcadores fiduciais observados com posições. Em conjunto, as câmeras formam um sistema de coordenadas comuns, • Câmeras móveis (drones) transmitem alterações de posição.
[00157] Conforme ilustrado na Figura 7, o aparelho pode, em algumas modalidades, compreender um processador de captura 701 para determinar uma propriedade de captura da cena, sendo que a propriedade de captura indica uma cobertura da cena pelas imagens capturadas pela pluralidade de câmeras de detecção de profundidade. A propriedade de captura pode indicar especificamente uma qualidade de captura.
[00158] Deve-se considerar que a indicação de qualidade de captura pode ser diferente em diferentes modalidades e que diferentes medidas ou parâmetros para avaliar a qualidade podem ser utilizados em diferentes modalidades. Especificamente, em algumas modalidades, a indicação de qualidade de captura pode ser uma indicação do número de câmeras da configuração que capturam as partes específicas da cena. Por exemplo, se mais de cinco câmeras capturarem uma parte específica de uma cena, a indicação da qualidade de captura poderá indicar que a qualidade da captura para essa parte da cena é máxima. Se nenhuma câmera capturar uma parte específica de uma cena, a indicação da qualidade de captura pode indicar que a qualidade da captura para essa parte da cena é mínima. Para 1 a 4 câmeras que capturam a parte da cena, a indicação da qualidade da captura pode indicar níveis intermediários de qualidade. Assim, a indicação da qualidade de captura pode refletir o número de câmeras que capturam partes diferentes da cena e, portanto, pode refletir que quanto mais câmeras capturam parte da cena, melhor é a qualidade da captura, por exemplo, menor é o risco de haver elementos ocluídos.
[00159] Em algumas modalidades, a indicação da qualidade de captura pode variar para diferentes partes da cena. Em algumas modalidades, um único valor de indicação de qualidade de captura pode ser gerado para a cena como um todo, por exemplo, como um número médio de câmeras que capturam parte da cena ou como uma proporção da cena coberta por menos de um determinado número de câmeras.
[00160] O processador de captura 701 é acoplado a uma interface de usuário 703 que pode gerar uma saída de dados do usuário que indica a propriedade de captura determinada e, especificamente, da indicação de qualidade de captura.
[00161] Como um exemplo de baixa complexidade, o aparelho pode compreender uma tela na qual a interface do usuário 703 pode apresentar uma indicação simples sobre a possibilidade de a qualidade geral da captura ser aceitável ou não.
[00162] Em algumas modalidades, o processador de captura 701 pode identificar especificamente partes da cena para as quais a indicação de qualidade de captura indica uma qualidade reduzida da captura. Por exemplo, ele pode identificar as partes da cena para as quais nenhuma ou apenas uma câmera capturou a cena. Ele pode, então, exibir essas partes e indicar um local para uma nova câmera de detecção de profundidade, de modo que essa qualidade possa ser melhorada para aquela parte da cena.
[00163] Em muitas modalidades, a interface de usuário 703 pode mostrar adicional ou alternativamente as informações de registro, como especificamente as posições e orientações das câmeras de detecção de profundidade no sistema de coordenadas comuns.
[00164] Assim, em muitas modalidades, as informações sobre o processo de identificação e registro podem ser disponibilizadas ao usuário, possibilitando o ajuste na posição dos nós, ou adições de nós, para melhorar a configuração de captura.
[00165] Essa abordagem pode ser usada especificamente para verificar a validade/desempenho de uma determinada configuração da câmera.
[00166] Por exemplo, durante a instalação do sistema de câmera, os objetos na cena podem obstruir o marcador fiducial de outra câmera. Isso pode ser detectado automaticamente. Também é possível aconselhar a pessoa que instala o sistema sobre onde posicionar uma próxima câmera, de modo que todas as câmeras possam ser encadeadas. Mediante esse procedimento, é possível detectar automaticamente se uma determinada configuração do nó da câmera pode ou não ser adequada. A base para essa detecção pode ser determinar se a posição e o posicionamento das câmeras possibilitam cobertura total da cena. Ela também pode ser baseada em uma detecção da possibilidade de todas as câmeras poderem ser registradas, ou seja, se os canais podem ou não ser determinados para todas as câmeras.
[00167] Para um operador configurar rapidamente um sistema de câmera, é muito útil visualizar quaisquer problemas com o processo de calibração e oportunidades para melhorar a qualidade ao se mover ou adicionar os nós de câmera.
[00168] Para os nós de câmera registrados com sucesso, é possível renderizá-los com o uso de gráficos de computador. As incertezas no registro podem ser visualizadas com o uso de blobs ou linhas ou outros gráficos que indiquem a(s) direções(s) de incerteza. Uma visualização adequada pode atrair o tronco da câmera. Isso pode ser muito útil, visto que fornece ao operador informações sobre a quantidade de sobreposição da câmera. A incerteza pode ser indicada ao se desfocar a renderização nessa direção específica.
[00169] Essa visualização é mais intuitiva quando renderizada em um dispositivo que também é registrado, de preferência grandes óculos de realidade aumentada com campo de visão grande. Um dispositivo montado na cabeça (HMD) pode, por exemplo, ser equipado com sensores de câmera para capturar os marcadores fiduciais das câmeras. Com o registro on-line, o impacto das alterações nos sistemas de câmeras pode ser diretamente visível.
[00170] Uma interface de usuário mais avançada com base em realidade virtual ou óculos de realidade aumentada pode visualizar o quão bem cada parte da cena é capturada. Isso pode envolver a geração de uma renderização da cena 3D capturada em alinhamento com a cena real. Essa renderização pode ser aumentada com informações úteis, como: • Sombras para indicar a falta de captura, • O número de sensores que captam um elemento de cena elemento (se houver), • Mediante as propriedades da superfície do objeto, se sensores suficientes capturam esse objeto.
[00171] Em algumas modalidades, o gerador 409 pode ainda ser disposto para modificar o vetor de posicionamento relativo e, mais especificamente, uma coordenada no sistema de coordenadas comuns, após a determinação com base em marcadores fiduciais. Em particular, pode-se aplicar um ajuste fino com base na correspondência de imagens entre as imagens capturadas.
[00172] Por exemplo, para a primeira e a segunda câmeras de detecção de profundidade, o registro fiducial com base em marcador pode resultar no posicionamento da primeira e da segunda câmeras. Pode-se prosseguir, então, para a combinação da primeira e da segunda imagens, levando em consideração a diferença de posições. Por exemplo, o deslocamento da imagem de ambas as imagens para um ponto de vista central comum pode ser realizado. Idealmente, essas duas imagens devem, agora, se correlacionar. No entanto, na prática, esse não será exatamente o caso, e o gerador 409 pode, em alguns casos, tentar ver se a correlação é melhor para pequenas alterações nos vetores de posicionamento. Nesse caso, os posicionamentos modificados que resultam na melhor correlação de imagem podem substituir os posicionamentos originais determinados a partir da consideração dos marcadores fiduciais.
[00173] Em muitas modalidades, a abordagem pode ser vantajosamente usada em um sistema de captura dinâmica, como, por exemplo, em um sistema de captura de vídeo em que, por exemplo, câmeras de vídeo móveis são usadas. Em tais sistemas, a sincronização de tempo entre diferentes câmeras e imagens também pode ser necessária. Isso pode ser alcançado, por exemplo, com dados de posicionamento, imagens etc. que têm códigos de tempo associados. Em muitos sistemas, todas as câmeras podem, por exemplo, ser sincronizadas no tempo com uma base de tempo comum, por exemplo, com base em GPS ou sincronização de tempo similar. Nesses sistemas, os códigos de tempo podem, por exemplo, ser usados para coordenar quais imagens são usadas para dados de posicionamento por um instante de tempo específico etc.
[00174] A invenção pode ser implementada em qualquer forma adequada, incluindo hardware, software, firmware ou qualquer combinação dos mesmos. A invenção pode, opcionalmente, ser implementada ao menos parcialmente como software de computador que é executado em um ou mais processadores de dados e/ou processadores de sinal digital. Os elementos e componentes de uma modalidade da invenção podem ser física, funcional e logicamente implementados de qualquer forma adequada. De fato, a funcionalidade pode ser implementada em uma unidade única, em uma pluralidade de unidades ou como parte de outras unidades funcionais. Assim, a invenção pode ser implementada em uma unidade única ou pode ser distribuída física e funcionalmente entre diferentes unidades, circuitos e processadores.
[00175] Embora a presente invenção tenha sido descrita em conexão com algumas modalidades, não se pretende limitá-la à forma específica aqui apresentada. Adicionalmente, embora possa parecer que um recurso é descrito em conexão com modalidades específicas, o versado na técnica reconhecerá que vários recursos das modalidades descritas podem ser combinados de acordo com a invenção. Nas reivindicações, o termo “que compreende” não exclui a presença de outros elementos ou outras etapas.
[00176] Além disso, embora individualmente mencionados, uma pluralidade de meios, elementos, circuitos ou etapas de métodos podem ser implementados, por exemplo, por meio de um único circuito, uma única unidade ou um único processador. Adicionalmente, embora recursos individuais possam estar incluídos em reivindicações diferentes, eles podem ser vantajosamente combinados, e sua inclusão em reivindicações diferentes não implica que uma combinação de recursos não seja viável e/ou vantajosa. Além disso, a inclusão de um recurso em uma categoria de reivindicações não implica na limitação a tal categoria, mas, ao invés disso, indica que o recurso é igualmente aplicável a outras categorias das reivindicações, conforme for adequado. Além disso, a ordem dos recursos nas reivindicações não implica em nenhuma ordem específica na qual os recursos precisam ser trabalhados e, em particular, a ordem das etapas individuais em uma reivindicação de método não implica que as etapas precisam ser executadas nessa ordem. As etapas podem, na verdade, ser executadas em qualquer ordem adequada. Além disso, referências no singular não excluem uma pluralidade. Dessa forma, as referências a “um(a)”, “uns/umas”, “primeiro(a)”, “segundo(a)” etc., não excluem uma pluralidade. Os sinais de referência nas reivindicações são fornecidos meramente como exemplos esclarecedores e não devem ser interpretados como limitadores do escopo das reivindicações de forma alguma.

Claims (15)

1. APARELHO PARA GERAR UMA REPRESENTAÇÃO, de pelo menos parte de uma cena a partir de imagens de uma cena capturada por uma pluralidade de câmeras de detecção de profundidade distribuídas, o aparelho compreende: um primeiro receptor (401) para receber uma primeira imagem capturada por uma primeira câmera de detecção de profundidade e os primeiros dados de profundidade capturados pela primeira câmera de detecção de profundidade; e caracterizado por compreender adicionalmente: um detector (405) para detectar uma propriedade de posição de imagem para um marcador fiducial na primeira imagem, sendo que a propriedade de posição de imagem indica uma posição do marcador fiducial na primeira imagem e o marcador fiducial representa um posicionamento de uma segunda câmera de imagem de detecção de profundidade por uma diferença de posicionamento predeterminada em relação à segunda câmera de detecção de profundidade; um processador de posicionamento (407) para determinar um vetor de posicionamento relativo que indica um posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade em resposta à propriedade de posição de imagem, e os dados de profundidade dos primeiros dados de profundidade para uma posição de imagem do marcador fiducial, e a diferença de posicionamento predeterminada, sendo que o vetor de posicionamento relativo é pelo menos tridimensional; um segundo receptor (403) para receber uma segunda imagem capturada pela segunda câmera de imagem de detecção de profundidade e os segundos dados de profundidade capturados pela segunda câmera de imagem de detecção de profundidade; um gerador (409) para gerar a representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo.
2. APARELHO, de acordo com a reivindicação 1, caracterizado pelo gerador (409) ser disposto para gerar a representação para compreender uma imagem da cena a partir de um ponto de vista diferente dos pontos de vista da primeira câmera de detecção de profundidade e da segunda câmera de detecção de profundidade.
3. APARELHO, de acordo com a reivindicação 1, caracterizado pelo gerador (409) ser disposto para combinar pelo menos a primeira imagem e a segunda imagem com base nos primeiros dados de profundidade e nos segundos dados de profundidade.
4. APARELHO, de acordo com a reivindicação 1, caracterizado pelo gerador (409) compreender um receptor (501) para receber vetores de posicionamento relativo para uma pluralidade de pares de câmeras de detecção de profundidade; um processador de coordenadas (503) para determinar os posicionamentos da câmera de detecção de profundidade em um sistema de coordenadas comuns para cada uma dentre a pluralidade de câmaras de detecção de profundidade em resposta aos vetores de posicionamento relativo, sendo que o gerador (409) é disposto de modo a gerar a imagem em resposta aos posicionamentos de câmera determinados no mesmo sistema de coordenadas.
5. APARELHO, de acordo com a reivindicação 4, caracterizado pelo processador de coordenadas (503) ser disposto de modo a determinar os posicionamentos da câmera de detecção de profundidade em resposta a uma minimização de uma função de custo, sendo que a função de custo depende de uma diferença entre os vetores de posicionamento relativo e os vetores de posicionamento correspondentes determinados a partir de posicionamentos determinados da câmera de detecção de profundidade no sistema de coordenadas comuns.
6. APARELHO, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado por compreender adicionalmente:um segundo detector para detectar uma segunda propriedade de posição de imagem para um segundo marcador fiducial na segunda imagem, sendo que a segunda propriedade de posição de imagem indica uma posição do segundo marcador fiducial na segunda imagem, sendo que o segundo marcador fiducial representa um posicionamento da primeira câmera de imagem de detecção de profundidade que tem uma segunda diferença de posicionamento predeterminada em relação à primeira câmera de detecção de profundidade; e um segundo processador de posicionamento para determinar um segundo vetor de posicionamento relativo que indica uma posição da primeira câmera de imagem de detecção de profundidade em relação à segunda câmera de detecção de profundidade em resposta à segunda propriedade de posição de imagem e de profundidade e os segundos dados de propriedade dos segundos dados de profundidade para uma posição de imagem do segundo marcador fiducial, e a segunda diferença de posicionamento predeterminado, sendo que o segundo vetor de posicionamento relativo é pelo menos tridimensional; sendo que o gerador (409) é adicionalmente disposto para gerar a representação em resposta ao segundo vetor de posicionamento relativo.
7. APARELHO, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por uma propriedade visual do marcador fiducial indicar identidade da segunda câmera de detecção de profundidade, e o detector (405) ser disposto para determinar a identidade da segunda câmera de detecção de profundidade em resposta à propriedade visual.
8. APARELHO, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo vetor de posicionamento relativo compreender pelo menos um valor de orientação.
9. APARELHO, de acordo com a reivindicação 8, caracterizado pelo processador de posicionamento (407) ser disposto para determinar o pelo menos um valor de orientação em resposta a uma propriedade visual da variante rotacional do marcador fiducial.
10. APARELHO, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo processador de posicionamento (407) ser disposto para determinar o vetor de posicionamento relativo com base em uma suposição predeterminada de que pelo menos um parâmetro de orientação é idêntico para a primeira câmera de imagem de detecção de profundidade e a segunda câmera de imagem de detecção de profundidade.
11. APARELHO, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado por compreender um processador de captura (701) para determinar uma propriedade de captura da cena em resposta ao vetor de posicionamento relativo, sendo que a propriedade de captura indica como a cena é coberta pelas imagens capturadas pela pluralidade de câmeras de detecção de profundidade; e uma interface de usuário (703) para gerar uma saída de dados do usuário que indica a propriedade de captura.
12. APARELHO, de acordo com a reivindicação 11, caracterizado pelo processador de captura (701) ser disposto para determinar pelo menos uma parte da cena para a qual uma indicação de qualidade de captura indica uma redução da qualidade, e para gerar uma saída de dados de usuário que indica um posicionamento para que uma câmera de detecção de profundidade capture a imagem de pelo menos parte da cena.
13. APARELHO, de acordo com qualquer uma das reivindicações 1 a 12, caracterizado pelo gerador (409) ser disposto para modificar o vetor de posicionamento relativo em resposta a um correlacionamento de imagem da primeira imagem e da segunda imagem.
14. APARELHO, de acordo com qualquer uma das reivindicações 1 a 13, caracterizado pelo gerador (409) ser disposto de modo a gerar um modelo tridimensional da cena em resposta ao vetor de posicionamento relativo, à primeira imagem e à segunda imagem.
15. MÉTODO PARA GERAR UMA REPRESENTAÇÃO, de pelo menos parte de uma cena a partir de imagens de uma cena capturada por uma pluralidade de câmeras de detecção de profundidade distribuídas, o método compreende: receber uma primeira imagem capturada por uma primeira câmera de detecção de profundidade e os primeiros dados de profundidade capturados pela primeira câmera de detecção de profundidade; e caracterizado por compreender ainda: detectar uma propriedade de posição de imagem para um marcador fiducial na primeira imagem, sendo que a propriedade de posição indica uma posição do marcador fiducial na primeira imagem e o marcador fiducial representa um posicionamento de uma segunda câmera de imagem de detecção de profundidade por uma diferença de posicionamento predeterminada em relação à segunda câmera de detecção de profundidade; determinar um vetor de posicionamento relativo que indica um posicionamento da segunda câmera de imagem de detecção de profundidade em relação à primeira câmera de detecção de profundidade em resposta à propriedade de posição de imagem e aos dados de profundidade de propriedade dos primeiros dados de profundidade para uma posição de imagem do marcador fiducial e à diferença de posicionamento predeterminada, sendo que o vetor de posicionamento relativo é pelo menos tridimensional; receber uma segunda imagem capturada pela segunda câmera de imagem de detecção de profundidade e os segundos dados de profundidade capturados pela segunda câmera de imagem de detecção de profundidade; e gerar a representação de pelo menos parte da cena em resposta a uma combinação de pelo menos a primeira imagem e a segunda imagem com base no vetor de posicionamento relativo.
BR112020002452-0A 2017-08-08 2018-08-07 Método e apraelho para gerar uma representação BR112020002452B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17185271.8A EP3441788A1 (en) 2017-08-08 2017-08-08 Apparatus and method for generating a representation of a scene
EP17185271.8 2017-08-08
PCT/EP2018/071417 WO2019030235A1 (en) 2017-08-08 2018-08-07 APPARATUS AND METHOD FOR GENERATING A REPRESENTATION OF A SCENE

Publications (2)

Publication Number Publication Date
BR112020002452A2 BR112020002452A2 (pt) 2020-07-28
BR112020002452B1 true BR112020002452B1 (pt) 2024-03-05

Family

ID=59569191

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020002452-0A BR112020002452B1 (pt) 2017-08-08 2018-08-07 Método e apraelho para gerar uma representação

Country Status (9)

Country Link
US (1) US11218687B2 (pt)
EP (2) EP3441788A1 (pt)
JP (1) JP7059355B6 (pt)
KR (1) KR102535945B1 (pt)
CN (1) CN111194416B (pt)
BR (1) BR112020002452B1 (pt)
RU (1) RU2769303C2 (pt)
TW (1) TWI795425B (pt)
WO (1) WO2019030235A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470323B (zh) * 2018-03-13 2020-07-31 京东方科技集团股份有限公司 一种图像拼接方法、计算机设备及显示装置
EP3703378A1 (en) * 2019-03-01 2020-09-02 Koninklijke Philips N.V. Apparatus and method of generating an image signal
EP3712843A1 (en) * 2019-03-19 2020-09-23 Koninklijke Philips N.V. Image signal representing a scene
GB2584122B (en) * 2019-05-22 2024-01-10 Sony Interactive Entertainment Inc Data processing
US10510155B1 (en) * 2019-06-11 2019-12-17 Mujin, Inc. Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera
EP3848899B1 (en) * 2020-01-09 2023-01-25 Stryker European Operations Limited Technique of determining a pose of a surgical registration device
TWI784482B (zh) * 2020-04-16 2022-11-21 鈺立微電子股份有限公司 多深度資訊之處理方法與處理系統
WO2021234890A1 (ja) * 2020-05-21 2021-11-25 日本電気株式会社 設置支援装置、設置支援方法、およびプログラム
JP2022089269A (ja) * 2020-12-04 2022-06-16 株式会社日立製作所 キャリブレーション装置およびキャリブレーション方法
DE102021119481A1 (de) 2021-07-27 2023-02-02 Karl Storz Se & Co. Kg Messverfahren und eine Messvorrichtung
US20230095002A1 (en) * 2021-09-29 2023-03-30 Cilag Gmbh International Surgical methods using fiducial identification and tracking
CN116468206A (zh) * 2022-01-11 2023-07-21 大金工业株式会社 设备的维护方法、装置及系统
US20230419635A1 (en) * 2022-06-27 2023-12-28 Shopify Inc. Volumetric permissioning

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319479B1 (en) * 2000-09-22 2008-01-15 Brickstream Corporation System and method for multi-camera linking and analysis
GB2372656A (en) * 2001-02-23 2002-08-28 Ind Control Systems Ltd Optical position determination
US8223192B2 (en) * 2007-10-31 2012-07-17 Technion Research And Development Foundation Ltd. Free viewpoint video
US20110304706A1 (en) * 2010-06-09 2011-12-15 Border John N Video camera providing videos with perceived depth
EP2405236B1 (de) * 2010-07-07 2012-10-31 Leica Geosystems AG Geodätisches Vermessungsgerät mit automatischer hochpräziser Zielpunkt-Anzielfunktionalität
US9686532B2 (en) * 2011-04-15 2017-06-20 Faro Technologies, Inc. System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices
EP2761251B1 (de) * 2011-09-27 2018-05-09 Leica Geosystems AG Vermessungssystem und verfahren zur absteckung eines in einem koordinatensystem bekannten zielpunkts
JP5804892B2 (ja) 2011-10-25 2015-11-04 セコム株式会社 カメラ姿勢算出装置
EP2587450B1 (en) * 2011-10-27 2016-08-31 Nordson Corporation Method and apparatus for generating a three-dimensional model of a region of interest using an imaging system
GB2496591B (en) * 2011-11-11 2017-12-27 Sony Corp Camera Movement Correction
GB2497119B (en) * 2011-12-01 2013-12-25 Sony Corp Image processing system and method
DE102012207931A1 (de) * 2012-01-07 2013-07-11 Johnson Controls Gmbh Kameraanordnung zur Distanzmessung
EP2615580B1 (en) * 2012-01-13 2016-08-17 Softkinetic Software Automatic scene calibration
US9083960B2 (en) * 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
US8773562B1 (en) * 2013-01-31 2014-07-08 Apple Inc. Vertically stacked image sensor
US10122993B2 (en) * 2013-03-15 2018-11-06 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
JP6171671B2 (ja) * 2013-07-24 2017-08-02 富士通株式会社 情報処理装置、位置指定方法および位置指定プログラム
JP2015168936A (ja) * 2014-03-05 2015-09-28 キャタピラー エス エー アール エル 作業機械におけるキャブ保護構造
EP3120325B1 (en) 2014-03-21 2018-06-06 Omron Corporation Method and apparatus for detecting and mitigating optical impairments in an optical system
JP2016017913A (ja) * 2014-07-10 2016-02-01 国立大学法人鳥取大学 姿勢情報作成システム、姿勢情報作成方法及び姿勢情報作成プログラム
US20160044301A1 (en) * 2014-08-06 2016-02-11 Dejan JOVANOVICH 3d modeling of imaged objects using camera position and pose to obtain accuracy with reduced processing requirements
WO2016029939A1 (en) * 2014-08-27 2016-03-03 Metaio Gmbh Method and system for determining at least one image feature in at least one image
TWI564841B (zh) * 2014-10-20 2017-01-01 陳金仁 即時影像合成裝置、方法與電腦程式產品
RU2721177C2 (ru) * 2015-07-13 2020-05-18 Конинклейке Филипс Н.В. Способ и устройство для определения карты глубины для изображения
KR101629610B1 (ko) * 2015-07-27 2016-06-13 주식회사 앤비젼 고해상도 영상 추출을 위한 광경로 변환 유닛, 광경로 변환 모듈, 광경로 변환 방법 및 이 방법을 수행하기 위한 프로그램을 기록한 기록매체, 반도체 기판 패턴 검사 장치
GB2541884A (en) * 2015-08-28 2017-03-08 Imp College Of Science Tech And Medicine Mapping a space using a multi-directional camera
US20170094251A1 (en) * 2015-09-30 2017-03-30 Faro Technologies, Inc. Three-dimensional imager that includes a dichroic camera
CN106056664B (zh) * 2016-05-23 2018-09-21 武汉盈力科技有限公司 一种基于惯性和深度视觉的实时三维场景重构系统及方法
US11073373B2 (en) * 2018-08-22 2021-07-27 Government Of The United States Of America, As Represented By The Secretary Of Commerce Non-contact coordinate measuring machine using a noncontact metrology probe

Also Published As

Publication number Publication date
CN111194416B (zh) 2024-01-23
KR102535945B1 (ko) 2023-05-26
RU2020109861A3 (pt) 2022-01-28
EP3441788A1 (en) 2019-02-13
CN111194416A (zh) 2020-05-22
WO2019030235A1 (en) 2019-02-14
EP3665506A1 (en) 2020-06-17
US11218687B2 (en) 2022-01-04
EP3665506B1 (en) 2022-03-09
RU2769303C2 (ru) 2022-03-30
JP2020529685A (ja) 2020-10-08
US20210152802A1 (en) 2021-05-20
TWI795425B (zh) 2023-03-11
BR112020002452A2 (pt) 2020-07-28
JP7059355B2 (ja) 2022-04-25
RU2020109861A (ru) 2021-09-10
TW201920985A (zh) 2019-06-01
JP7059355B6 (ja) 2022-06-03
KR20200035297A (ko) 2020-04-02

Similar Documents

Publication Publication Date Title
BR112020002452B1 (pt) Método e apraelho para gerar uma representação
US11948332B2 (en) Method and an apparatus for determining a gaze point on a three-dimensional object
JP2014529727A (ja) 自動シーン較正
US20110187827A1 (en) Method and apparatus for creating a stereoscopic image
JP6599685B2 (ja) 画像処理装置および誤差判定方法
JP2017129567A (ja) 情報処理装置、情報処理方法、プログラム
BR112020001453A2 (pt) aparelho e método para gerar uma representação de uma cena em imagem tridimensional em mosaico e produto de programa de computador
JP2018195241A (ja) 情報処理装置、情報処理方法、及びプログラム
KR20190130407A (ko) 전방위 카메라의 캘리브레이션을 위한 장치 및 방법
JP4764896B2 (ja) カメラ校正装置、カメラ校正方法、カメラ校正プログラムおよびそのプログラムを記録した記録媒体
WO2019087253A1 (ja) ステレオカメラのキャリブレーション方法
KR102298047B1 (ko) 디지털 콘텐츠를 녹화하여 3d 영상을 생성하는 방법 및 장치
BR112021014724A2 (pt) Aparelho para renderizar imagens, aparelho para gerar um sinal de imagem, método para renderizar imagens, método para gerar um sinal de imagem e produto de programa de computador
BR112021014627A2 (pt) Aparelho e método para renderizar imagens a partir de um sinal de imagem que representa uma cena, aparelho e método para gerar um sinal de imagem que representa uma cena, produto de programa de computador, e sinal de imagem
Liu et al. Fusion of depth maps based on confidence
CN118115586A (zh) 一种位姿标注方法、位姿估计方法、装置及电子设备
Baker et al. Projective Epipolar Rectification for a Linear Multi-imager Array
KR20140030071A (ko) 뷰 포인트에 따른 입체화 방법

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 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 07/08/2018, OBSERVADAS AS CONDICOES LEGAIS