BR102013028714B1 - Aparelho e método para aumentar um número de pontos em uma nuvem de pontos - Google Patents

Aparelho e método para aumentar um número de pontos em uma nuvem de pontos Download PDF

Info

Publication number
BR102013028714B1
BR102013028714B1 BR102013028714-8A BR102013028714A BR102013028714B1 BR 102013028714 B1 BR102013028714 B1 BR 102013028714B1 BR 102013028714 A BR102013028714 A BR 102013028714A BR 102013028714 B1 BR102013028714 B1 BR 102013028714B1
Authority
BR
Brazil
Prior art keywords
points
point cloud
data network
matched
new
Prior art date
Application number
BR102013028714-8A
Other languages
English (en)
Other versions
BR102013028714A2 (pt
Inventor
Terrell Nathan Mundhenk
Yuri Owechko
Kyungnam Kim
Original Assignee
The Boeing Company
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 The Boeing Company filed Critical The Boeing Company
Publication of BR102013028714A2 publication Critical patent/BR102013028714A2/pt
Publication of BR102013028714B1 publication Critical patent/BR102013028714B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • G06T5/70
    • 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/128Adjusting depth or disparity
    • 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/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Abstract

PONTOS DE PREENCHIMENTO EM UMA NUVEM DE PONTOS. A presente invenção refere-se a um aparelho, sistema, e método para aumentar os pontos em uma nuvem de pontos (132). Em uma modalidade ilustrativa, uma imagem bidimensional (121) de uma cena (110) e a nuvem de pontos (132) da cena (110) são recebidas. Pelo menos uma porção dos pontos na nuvem de pontos (132) é mapeada para a imagem bidimensional (121) para formar pontos transformados (146). Uma rede de dados fundidos (150) é criada utilizando a imagem bidimensional (121) e os pontos transformados (146). Os novos pontos (164) para a nuvem de pontos (132) são identificados utilizando a rede de dados fundidos (150). Os novos pontos (164) são adicionados à nuvem de pontos (132) para formar uma nova nuvem de pontos (162).

Description

INFORMAÇÕES FUNDAMENTAISCAMPO
[0001] A presente descrição refere-se genericamente a nuvenspontuais e, especificamente, a aumentar a resolução de nuvens pontuais. Ainda mais especificamente, a presente descrição refere-se a um sistema e método para aumentar o número de pontos em uma nuvem de pontos para aumentar a resolução da nuvem de pontos.
ANTECEDENTES
[0002] Uma nuvem de pontos é uma coleção de pontos em um sistema de coordenadas tridimensional (3D) que descreve uma cena tridi-mensional. Tipicamente, os pontos em uma nuvem de pontos representam a superfície externa de objetos. Um sistema de detecção e alcance de luz (LIDAR) é um exemplo de um tipo de sistema de sensor capaz de gerar uma nuvem de pontos. As nuvens de pontos podem também ser geradas utilizando, por exemplo, sistemas de câmeras estéreo, sistemas de formação de imagem de laser móvel, e outros tipos de sistemas de sensor.
[0003] As nuvens de pontos podem ser utilizadas para executarvárias operações tal como, por exemplo, identificação de objeto, classificação de objeto, visualização de cena, segmentação, melhoramento de dados de imagem bidimensional, e/ou outros tipos de operações. O nível de desempenho com o qual estas operações são executadas utilizando uma nuvem de pontos pode depender da resolução daquela nuvem de pontos.
[0004] Como aqui utilizada, a "resolução" de uma nuvem de pontospode ser o nível de detalhes com o qual as características na cena capturada pela nuvem de pontos podem ser discerníveis dentro da nuvem de pontos. A resolução de uma nuvem de pontos pode depender do número de pontos na nuvem de pontos e/ou da densidade de pontos dos pontos em uma ou mais porções da nuvem de pontos. Como aqui utilizada, "densidade de pontos" é uma medida do número de pontos por volume unitário. Uma porção de uma nuvem de pontos que tem uma densidade mais alta do que outra porção da nuvem de pontos pode ser menos esparsa do que a outra porção.
[0005] Em algumas situações, uma identificação de objeto, classificação de objeto, segmentação, e/ou visualização de uma cena utilizando uma nuvem de pontos esparsos podem gerar resultados imprecisos. Por exemplo, uma nuvem de pontos pode ser insuficientemente densa para corretamente identificar ou classificar um objeto.
[0006] Algumas soluções correntemente disponíveis para aumentaro número de pontos em uma nuvem de pontos incluem fazer suposições sobre os objetos na cena. Por exemplo, suposições podem ser feitas sobre a forma de um objeto na cena e novos pontos podem ser adicionados à nuvem de pontos com base nestas suposições. No entanto, com estes tipos de soluções, as localizações no sistema de coordenadas de referência tridimensionais no qual os novos pontos são adicionados podem ser menos precisas do que desejado.
[0007] Ainda, algumas soluções correntemente disponíveis podemser incapazes de levar em conta furos ou folgas reais em uma cena. Por exemplo, com as mesmas soluções correntemente disponíveis, novos pontos podem ser adicionados a uma nuvem de pontos em localizações que representam furos ou folgas reais na cena. Mais ainda, algumas soluções correntemente disponíveis podem adicionar pontos a uma nuvem de pontos que conectam objetos que não são conectados na cena, tal como, por exemplo, um topo de árvore e o chão. Portanto, seria desejável ter um método e aparelho que levassem em conta pelo menos alguns dos problemas acima discutidos, assim como outros possíveis problemas.
SUMÁRIO
[0008] Em uma modalidade ilustrativa, um aparelho compreendeum sistema de processamento de imagem. O sistema de processamento de imagem está configurado para mapear pelo menos uma porção de pontos em uma nuvem de pontos de uma cena para uma imagem bidimensional da cena para formar pontos transformados. O sistema de processamento de imagem está configurado para criar uma rede de dados fundidos utilizando a imagem bidimensional e os pontos transformados. Ainda, o sistema de processamento de imagem está configurado para identificar novos pontos para a nuvem de pontos utilizando a rede de dados fundidos e adicionar os novos pontos à nuvem de pontos para formar uma nova nuvem de pontos.
[0009] Em outra modalidade ilustrativa, um sistema de processamento de imagem compreende um gerenciador de fusão, um gerador de valor de profundidade e um gerenciador de nuvem de pontos. O gerenciador de fusão está configurado para mapear pelo menos uma porção de pontos em uma nuvem de pontos de uma cena para uma imagem bidimensional da cena para formar pontos transformados e configurado para criar uma rede de dados fundidos utilizando a imagem bidimensional e os pontos transformados. A rede de dados fundidos inclui elementos casados associados com vetores de dados preenchidos que compreendem valores de profundidade não nulos e elementos não casados associados com os vetores de dados não preenchidos que compreendem valores de profundidade nulos. O gerador de valor de profundidade está configurado para identificar novos valore de profundidade para substituir pelo menos uma porção dos valores de profundidade nulos. O gerenciador de nuvem de pontos está configurado para identificar novos pontos para a nuvem de pontos utilizando os novos valores de profundidade e adicionar os novos pontos à nuvem de pontos para formar uma nova nuvem de pontos.
[00010] Em ainda outra modalidade ilustrativa, um método implementado por computador para aumentar o número de pontos em uma nuvem de pontos está provido. Uma imagem bidimensional de uma cena e a nuvem de pontos da cena são recebidas. Pelo menos uma porção dos pontos na nuvem de pontos é mapeada para a imagem bidimensional para formar pontos transformados. Uma rede de dados fundidos é criada utilizando a imagem bidimensional e os pontos transformados. Novos pontos para a nuvem de pontos são identificados utilizando a rede de dados fundidos. Os novos pontos são adicionados à nuvem de pontos para formar uma nova nuvem de pontos.
[00011] Qualquer uma das modalidades precedentes aqui descritas, pode também contemplar o seguinte método implementado por computador como descrito nas cláusulas abaixo.
[00012] Cláusula 12. Um método implementado por computador para aumentar um número de pontos em uma nuvem de pontos (132), o método implementado por computador compreendendo:receber uma imagem bidimensional (121) de uma cena (110) e a nuvem de pontos (132) da cena (110);mapear pelo menos uma porção de pontos na nuvem de pontos (132) para a imagem bidimensional (121) para formar pontos transformados (146);criar uma rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146);identificar novos pontos (164) para a nuvem de pontos (132) utilizando a rede de dados fundidos (150); eadicionar os novos pontos (164) à nuvem de pontos (132) para formar uma nova nuvem de pontos (162).
[00013] Cláusula 13. O método implementado por computador da Cláusula 12, em que mapear a pelo menos uma porção de pontos na nuvem de pontos (132) para a imagem bidimensional (121) para formar os pontos transformados (146) compreende:identificar as informações de pose para um sistema de câmera;transformar um sistema de coordenadas de referência tridimensionais para a nuvem de pontos (132) para um sistema de coordenadas cítrico de câmera tridimensionais utilizado as informações de pose para identificar as coordenadas cêntricas de câmera para os pontos na nuvem de pontos (132); emapear a pelo menos uma porção dos pontos na nuvem de pontos (132) que tem as coordenadas cêntricas de câmera para as localizações de pixel (124) na imagem bidimensional (121).
[00014] Cláusula 14. O método implementado por computador da Cláusula 12 ou 13, em que criar a rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146) compreende:formar uma a rede de dados fundidos (150), em que a rede de dados fundidos (150) está compreendida de elementos (152) que têm uma correspondência de um para um com pixels na imagem bidimensional (121); eassociar os vetores de dados (154) com os elementos (152) na rede de dados fundidos (150), em que os vetores de dados (154) incluem vetores de dados preenchidos (154) que compreendem valores de profundidade não nulos e vetores de dados não preenchidos (154) que compreendem valores de profundidade nulos.
[00015] Cláusula 15. O método implementado por computador da Cláusula 14, em que identifica os novos pontos (164) para a nuvem de pontos (132) utilizando a rede de dados fundidos (150) compreende:gerar novos valores de profundidade (158) para substituir pelo menos uma porção dos valores de profundidade nulos; e identificar os novos pontos (164) para a nuvem de pontos (132) utilizando os novos valores de profundidade (158).
[00016] Cláusula 16. O método implementado por computador da Cláusula 15, em que gerar os novos valores de profundidade (158) para substituir pelo menos uma porção dos valores de profundidade nulos compreende:centrar uma janela em uma localização de um elemento na rede de dados fundidos (150), em que o elemento está associado com um vetor de dados não preenchidos (154) que compreende um valor de profundidade nulo;identificar elementos de suporte (500) em uma porção da rede de dados fundidos (150) sobrepostos pela janela; egerar um novo valor de profundidade (156) para substituir o valor de profundidade nulo utilizando os elementos de suporte (500) e um algoritmo de estimativa linear.
[00017] Cláusula 17. O método implementado por computador da Cláusula 16, em que identificar os elementos de suporte (500) na porção da rede de dados fundidos (150) sobrepostos pela janela compreende: determinar se os elementos casados (304, 306, 308, 310, 312, 314, 316) na porção da rede de dados fundidos (150) sobrepostos pela janela atendem critérios selecionados;responsivo aos elementos casados (304, 306, 308, 310, 312, 314, 316) atendendo aos critérios selecionados, pontuar cada um dos elementos casados (304, 306, 308, 310, 312, 314, 316) com uma pontuação de boa qualidade;classificar os elementos casados (304, 306, 308, 310, 312, 314, 316) pela pontuação de boa qualidade; eselecionar uma porção dos elementos casados (304, 306, 308, 310, 312, 314, 316) como os elementos de suporte (500).
[00018] Cláusula 18. O método implementado por computador da Cláusula 16 ou 16, ainda compreendendo:repetir as etapas de centrar a janela na localização do elemento na rede de dados fundidos (150), identificar os elementos de suporte (500) na porção da rede de dados fundidos (150) sobrepostos pela janela, e gerar o novo valor de profundidade (156) para substituir o valor de profundidade nulo utilizando os elementos de suporte (500) e o algoritmo de estimativa linear para cada localização na rede de dados fundidos (150).
[00019] Cláusula 19. O método implementado por computador de qualquer uma das cláusulas 15 a 18, em que identificar os novos pontos (164) para a nuvem de pontos (132) utilizando os novos valores de profundidade (158) compreende:identificar as coordenadas cêntricas de câmera dentro de um sistema de coordenadas cêntricas de câmera tridimensionais para os novos pontos (164) utilizando os novos valores de profundidade (158); etransformar as coordenadas cêntricas de câmera para localizações de pontos dentro de um sistema de coordenadas de referência tridimensionais para a nuvem de pontos (132) para formar os novos pontos (164).
[00020] Cláusula 20. O método implementado por computador de qualquer uma das cláusulas 15 a 19, em que gerar os novos valores de profundidade (158) para substituir a pelo menos uma porção dos valores de profundidade nulos compreende:processar a rede de dados fundidos (150) utilizando janelas para gerar os novos valores de profundidade (158).
[00021] As características e funções podem ser conseguidas inde-pendentemente em várias modalidades da presente descrição ou podem ser combinadas em ainda outras modalidades nas quais detalhes adicionais podem ser vistos com referência à descrição e aos desenhos seguintes.
BREVE DESCRIÇÃO DOS DESENHOS
[00022] Os novos aspectos acreditados característicos das modalidades ilustrativas estão apresentados nas reivindicações anexas. As modalidades ilustrativas, no entanto, assim como um modo de utilização preferido, seus objetivos e características adicionais, serão melhor compreendidos por referência à descrição detalhada seguinte e uma modalidade ilustrativa da presente descrição quando lida em conjunto com os desenhos acompanhantes, em que:
[00023] Figura 1 é um exemplo de um ambiente no qual um sistema de processamento de imagem pode ser utilizado para processar imagens e nuvem de pontos na forma de um diagrama de blocos de acordo com uma modalidade ilustrativa;
[00024] Figura 2 é uma ilustração de uma rede de dados fundidos de acordo com uma modalidade ilustrativa;
[00025] Figura 3 é uma ilustração de uma porção de uma rede de dados fundidos sobreposta por uma janela de acordo com uma modalidade ilustrativa;
[00026] Figura 4 é uma ilustração de um processo para gerar pontuações para cada um de um grupo de elementos casados de acordo com uma modalidade ilustrativa;
[00027] Figura 5 é uma ilustração de uma seleção de elementos de suporte de acordo com uma modalidade ilustrativa;
[00028] Figura 6 é uma ilustração da geração de um novo valor de profundidade de acordo com uma modalidade ilustrativa;
[00029] Figura 7 é uma ilustração de uma imagem fundida de acordo com uma modalidade ilustrativa;
[00030] Figura 8 é uma ilustração de uma comparação entre duas imagens fundidas de acordo com uma modalidade ilustrativa;
[00031] Figura 9 é uma ilustração de uma comparação de uma imagem fundida final de acordo com uma modalidade ilustrativa;
[00032] Figura 10 é uma ilustração de uma tabela de imagens fundidas finais de acordo com uma modalidade ilustrativa;
[00033] Figura 11 é uma ilustração de um processo para aumentar o número de pontos em uma nuvem de pontos na forma de um fluxograma de acordo com uma modalidade ilustrativa;
[00034] Figura 12 é uma ilustração de um processo para mapear pontos em uma nuvem de pontos para uma imagem bidimensional para formar pontos transformados na forma de um fluxograma de acordo com uma modalidade ilustrativa;
[00035] Figura 13 é uma ilustração de um processo para criar uma rede de dados fundidos na forma de um fluxograma de acordo com uma modalidade ilustrativa;
[00036] Figura 14 é uma ilustração de um processo para gerar novos valores de profundidade na forma de um fluxograma de acordo com uma modalidade ilustrativa;
[00037] Figura 15 é uma ilustração de um processo para gerar novos pontos para uma nuvem de pontos na forma de um fluxograma de acordo com uma modalidade ilustrativa; e
[00038] Figura 16 é uma ilustração de um sistema de processamento de dados na forma de um diagrama de blocos de acordo com uma modalidade ilustrativa.
DESCRIÇÃO DETALHADA
[00039] As diferentes modalidades ilustrativas reconhecem e levam em conta diferentes considerações. Por exemplo, as modalidades ilustrativas reconhecem e levam em conta que pode ser desejável ter um método para aumentar o número de pontos em uma nuvem de pontos adicionando novos pontos a localizações no sistema de coordenadas de referência tridimensionais para a nuvem de pontos que tenha um nível de precisão desejado.
[00040] Ainda, as modalidades ilustrativas reconhecem e levam em conta que uma imagem bidimensional da mesma cena capturada por uma nuvem de pontos pode ser utilizada para aumentar o número de pontos em uma nuvem de pontos. No entanto, as modalidades ilustrativas reconhecem e levam em conta que pode ser desejável processar a imagem bidimensional para aumentar o número de pontos na nuvem de pontos sem fazer suposições sobre a cena e/ou as formas de objetos na cena capturada na imagem bidimensional.
[00041] Assim, as modalidades ilustrativas proveem um sistema e método para aumentar o número de pontos em uma nuvem de pontos de uma cena utilizando uma imagem bidimensional da cena. Ainda, este sistema e método pode aumentar o número de pontos na nuvem de pontos sem fazer quaisquer suposições sobre a cena.
[00042] Com referência à Figura 1, uma ilustração de um ambiente de processamento de imagem na forma de um diagrama de blocos está apresentada de acordo com uma modalidade ilustrativa. Na Figura 1, o ambiente de processamento de imagem 100 é um exemplo de um ambiente no qual o sistema de processamento de imagem 102 pode ser utilizado para processar imagens e nuvens de pontos.
[00043] Como apresentado, o sistema de processamento de imagem 102 pode ser implementado no sistema de computador 104. O sistema de computador 104 pode estar compreendido em um ou mais computadores e/ou outros tipos de hardware. Quando mais de um computador está presente no sistema de computador 104, estes computadores podem estar em comunicação uns com os outros.
[00044] O sistema de processamento de imagem 102 pode estar configurado para receber dados de um primeiro sistema de sensor 106 e um segundo sistema de sensor 108. O primeiro sistema de sensor 106 e o segundo sistema de sensor 108 estão configurados para gerar dados sobre uma cena 110. A cena 110 pode incluir as características 111. As características 111 podem incluir, por exemplo, sem limitação, objetos 112. Os objetos 112 podem incluir, por exemplo, sem limitação, qualquer número de veículos, prédios, estruturas feitas pelo homem, pessoas, animais, características de paisagem, e/ou outros tipos de objetos. Ainda, as características 111 podem também incluir, por exemplo, um fundo da cena 110.
[00045] Nestes exemplos ilustrativos, o primeiro sistema de sensor 106 pode tomar a forma do primeiro sistema de formação de imagem 114. O primeiro sistema de formação de imagem 114 pode ser qualquer sistema configurado para gerar dados de formação de imagem 116 para a cena 110. Em um exemplo ilustrativo, o primeiro sistema de formação de imagem 114 toma a forma do sistema de câmera 118. Ainda, o sistema de câmera 118 pode tomar a forma de um sistema de câmera eletro-ótica.
[00046] Os dados de formação de imagem 116 podem incluir, por exemplo, sem limitação, a imagem 120. Especificamente, a imagem 120 pode ser uma imagem bidimensional 121. Quando gerada por um sistema de câmera eletro-ótica, a imagem 120 pode ser referida como uma imagem eletro-ótica.
[00047] Como apresentado, a imagem 120 pode estar compreendida de pixels 122. Os pixels 122 podem estar dispostos em uma rede bidimensional compreendida de filas e colunas. Neste exemplo ilustrativo, as localizações de pixel 124 podem identificar as localizações de pixels 122 dentro desta rede. Como um exemplo ilustrativo, cada uma das localizações de pixel 124 pode identificar uma fila e uma coluna para um pixel correspondente.
[00048] Além disso, cada um dos pixels 122 pode estar associado com dados de pixel. Os dados de pixel para um pixel podem incluir, por exemplo, sem limitação um número de valores de cor, um valor de intensidade, e/ou outros valores. O número de valores de cor pode incluir, por exemplo, um valor de vermelho, um valor de verde, e um valor de azul com base no modelo de cores RGB.
[00049] Nestes exemplos ilustrativos, o segundo sistema de sensor 108 pode tomar a forma do segundo sistema de formação de imagem 126. O sistema de formação de imagem 126 pode ser qualquer sistema configurado para gerar dados de ponto 128 para a cena 110. Em um exemplo ilustrativo, o sistema de formação de imagem 126 toma a forma do sistema de detecção e alcance de luz 130.
[00050] Os dados de ponto 128 podem incluir a nuvem de pontos 132. A nuvem de pontos 132 pode tomar a forma de uma nuvem de pontos tridimensional 133 nestes exemplos ilustrativos. A nuvem de pontos 132 da cena 110 pode ser gerada de uma diferente perspectiva do que a imagem 120 da cena 110 em alguns exemplos ilustrativos.
[00051] A nuvem de pontos 132 está compreendida de pontos 134 em um sistema de coordenadas de referência tridimensionais. Nestes exemplos ilustrativos, cada uma das localizações de ponto 136 pode identificar as coordenadas para um ponto correspondente neste sistema de coordenadas de referência tridimensionais. Em um exemplo ilustrativo, o sistema de coordenadas de referência pode ser um sistema de coordenadas do mundo real tal como, por exemplo, um sistema de coordenadas geográficas.
[00052] A resolução 140 da nuvem de pontos 132 pode ser identificação do nível de detalhes com os quais as características 111 na cena 110 capturadas pela nuvem de pontos 132 podem ser discerníveis dentro da nuvem de pontos 132. Em alguns casos, a resolução 140 da nuvem de pontos 132 pode depender do número 138 de pontos 134 na nuvem de pontos 132. Por exemplo, conforme o número 138 de pontos 134 na nuvem de pontos 132 aumenta, a resolução 140 da nuvem de pontos 132 pode também aumentar.
[00053] O sistema de processamento de imagem 102 está configurado para receber a imagem 120 gerada pelo sistema de câmera 118 e a nuvem de pontos 132 gerada pelo sistema de detecção e alcance de luz 130. O sistema de processamento de imagem 102 utiliza a imagem 120 para aumentar o número 138 da nuvem de pontos 132, e por meio disto a resolução 140 da nuvem de pontos 132. Mais especificamente, o sistema de processamento de imagem 102 pode estar configurado para gerar novos pontos que podem ser adicionados à nuvem de pontos 132.
[00054] Como apresentado, o sistema de processamento de imagem 102 pode incluir um gerenciador de fusão 142, um gerador de valor de profundidade 144, e um gerenciador de nuvem de pontos 145. O gerenciador de fusão 142 está configurado para mapear pelo menos uma porção de pontos 134 na nuvem de pontos 132 para a imagem 120 para formar pontos transformados 146. Mais especificamente, o gerenciador de fusão 142 está configurado para mapear as localizações de pontos para pelo menos uma porção de pontos 134 na nuvem de pontos 132 para as localizações de pixel no plano de imagem da imagem 120. O plano de imagem da imagem 120 pode ser o plano que fica dentro da rede de pixels bidimensional 122.
[00055] Os pontos transformados 146 podem ser formados utilizando, por exemplo, um algoritmo de transformação 148. O algoritmo de transformação 148 pode incluir qualquer número de processos, equações, e/ou algoritmos para mapear pelo menos uma porção de pontos 134 para as localizações de pixel no plano de imagem da imagem 120. Em um exemplo ilustrativo, o algoritmo de transformação 148 pode incluir um algoritmo de estimativa de pose de câmera tal como, por exemplo, um algoritmo de estimativa de pose de câmera de ponto n de perspectiva eficiente (EPnP).
[00056] O algoritmo de estimativa de pose de câmera pode prover informações de pose para uma pose de um sistema de câmera 118. A pose do sistema de câmera 118 pode estar compreendida de pelo menos uma de uma orientação e posição do sistema de câmera 118.
[00057] O gerenciador de fusão 142 utiliza o algoritmo de transformação 148 para transformar o sistema de coordenadas de referência tridimensionais para a nuvem de pontos 132 em um sistema de coordenadas cêntricas de câmera tridimensionais. Especificamente, o gerenciador de fusão 142 pode utilizar as informações de pose para o sistema de câmera 118 provido pelo algoritmo de estimativa de pose de câmera para transformar o sistema de coordenadas de referência tridimensionais no sistema de coordenadas cêntricas de câmera tridimensionais.
[00058] Com esta transformação, a origem do sistema de coordenadas de referência tridimensionais pode ser movida para a localização do sistema de câmera 118. O gerenciador de fusão 142 então identifica as coordenadas cêntricas de câmera para os pontos 134 no sistema de coordenadas cêntricas de câmera tridimensionais.
[00059] Posteriormente, o gerenciador de fusão 142 está configurado para mapear as coordenadas cêntricas de câmera para os pontos 134 para as localizações de pixel correspondentes no plano de imagem da imagem 120 para formar os pontos transformados 146. Neste modo, as coordenadas cêntricas de câmera para um ponto na nuvem de pontos 132 podem ser mapeados para uma localização de pixel que fica dentro da imagem 120 ou fora da imagem 120 mas no mesmo plano de imagem que a imagem 120. Os pontos transformados 146 podem incluir somente aqueles pontos que estão mapeados para as localizações de pixel dentro da imagem 120.
[00060] O gerenciador de fusão 142 está configurado para criar uma rede de dados fundidos 150 utilizando a imagem 120 e os pontos transformados 146. A rede de dados fundidos 150 inclui dados que foram fundidos juntos com base na imagem 120 e na nuvem de pontos 132.
[00061] Como apresentado, a rede de dados fundidos 150 pode incluir os elementos 152. Cada um dos elementos 152 pode corresponder a um dos pixels 122 na imagem 120, e cada um dos pixels 122 pode corresponder a um dos elementos 152. Especificamente, os elementos 152 podem ter uma correspondência de um para um com os pixels 122 na imagem 120. Deste modo, a rede de dados fundidos 150 pode ter um mesmo tamanho que a rede de pixels 122 da imagem 120.
[00062] Ainda, como cada um dos pontos transformados 146 corresponde a um pixel na imagem 120, cada um dos pontos transformados 146 pode também corresponder ao elemento na rede de dados fundidos 150 que corresponde àquele pixel. Cada um dos pontos transformados 146 pode ser descrito como mapeando para um correspondente dos elementos 152.
[00063] Por exemplo, os pontos transformados 146 podem mapear para uma primeira porção de elementos 152. Esta primeira porção de elementos pode ser referida como elementos casados. No entanto, uma segunda porção dos elementos 152 pode não ter nenhum ponto transformado que mapeie para estes elementos. A segunda porção de elementos 152 pode ser referida como elementos não casados.
[00064] Nestes exemplos ilustrativos, cada um dos elementos 152 pode estar associado com um vetor de dados, tal como, por exemplo, o vetor de dados 154. Como apresentado, o vetor de dados 154 pode incluir um valor de profundidade 156. O valor de profundidade 156 pode ser uma distância entre o ponto transformado que corresponde ao elemento associado com o vetor de dados 154 e o sistema de câmera 118 dentro do sistema de coordenadas cêntricas de câmera tridimensionais.
[00065] Quando o elemento associado com o vetor de dados 154 é um elemento não casado, o valor de profundidade 156 pode ser um valor nulo ou zero. Quando o elemento associado com o vetor de dados 154 é um elemento casado, o valor de profundidade 156 pode ser um valor não nulo ou não zero. O vetor de dados 154 pode ser referido como um vetor de dados não preenchidos quando o valor de profundidade 156 for um valor nulo ou zero e um vetor de dados preenchidos quando o valor de profundidade 156 for um valor não nulo ou não zero. Deste modo, os elementos não casados na rede de dados fundidos 150 podem estar associados com os vetores de dados não preenchidos e os elementos casados na rede de dados fundidos 150 podem estar associados com os vetores de dados preenchidos.
[00066] Além disso, dependendo da implementação, o vetor de dados 154 pode também incluir outros dados tais como, por exemplo, a localização de pixel 157, dados de pixel original 159, e/ou outros tipos de dados. A localização de pixel 157 pode ser a localização de pixel para o pixel que corresponde ao elemento associado com o vetor de dados 154. Os dados de pixel original 159 podem ser os dados de pixel na imagem 120 para o pixel que corresponde ao elemento associado com o vetor de dados 154.
[00067] Nestes exemplos ilustrativos, o gerador de valor de profundidade 144 está configurado para gerar novos valores de profundidade 158 para pelo menos uma porção dos vetores de dados não preenchidos associados com os elementos não casados na rede de dados fundidos 150. Deste modo, o gerador de valor de profundidade 144 pode identificar novos valores de profundidade 158 para substituir pelo menos uma porção dos valores de profundidade nulos. Os vetores de dados não preenchidos podem então ser preenchidos, pelo gerenciador de fusão 142, com novos valores de profundidade 158 para formar a rede de dados fundidos modificados 160.
[00068] Os novos valores de profundidade 158 podem ser gerados utilizando a rede de dados fundidos modificados 160. Especificamente, o gerador de valor de profundidade 144 pode utilizar janelas de tamanhos selecionados para escanear e processar a rede de dados fundidos 150. Ainda, técnicas de estimativa, tal como as técnicas de estimativa linear, podem ser utilizadas para gerar novos valores de profundidade 158. Um exemplo de uma implementação para o processo de gerar novos valores de profundidade 158 está descrito abaixo nas Figuras 2-6.
[00069] O gerenciador de nuvem de pontos 145 está configurado para utilizar a rede de dados fundidos modificados 160 para criar uma nova nuvem de pontos 162. Especificamente, o gerenciador de nuvem de pontos 145 pode utilizar a porção de elementos na rede de dados fundidos 150 que tem vetores de dados preenchidos com novos valores de profundidade 158 para identificar novos pontos 164 para a nuvem de pontos 132.
[00070] Como um exemplo ilustrativo, o gerenciador de nuvem de pontos 145 pode mapear cada uma das localizações de pixel para os pixels que correspondem à porção de elementos na rede de dados fundidos 150 que tem vetores de dados preenchidos com novos valores de profundidade 158 para as coordenadas cêntricas de câmera no sistema de coordenadas cêntricas de câmera tridimensionais. Estas coordenadas cêntricas de câmera podem então ser transformadas no sistema de coordenadas de referência tridimensionais para a nuvem de pontos original, a nuvem de pontos 132, para formar novos pontos 164.
[00071] Esta transformação pode ser executada utilizando, por exemplo, sem limitação, um algoritmo de transformação inverso 166. O algoritmo de transformação inverso 166 pode ser o inverso do algoritmo de transformação 148 utilizado pelo gerenciador de fusão 142.
[00072] O gerenciador de nuvem de pontos 145 adiciona novos pontos 164 à nuvem de pontos 132 para formar a nova nuvem de pontos 162. Este processo de adicionar novos pontos 164 para a nuvem de pontos 132 pode ser referido como "preenchendo" a nuvem de pontos 132. A nova nuvem de pontos 132 pode ter um número maior de pontos do que o número 138 de pontos 134 na nuvem de pontos 132. Novos pontos 164 podem prover a nova nuvem de pontos 162 com uma resolução aumentada se comparada com a resolução 140 da nuvem de pontos 132. Os novos pontos 164 podem capturar as características 111 na cena 110 com um nível desejado de precisão.
[00073] Consequentemente, a nova nuvem de pontos 162 pode ser utilizada no lugar da nuvem de pontos 132 para executar qualquer número de operações. Por exemplo, sem limitação, os novos pontos 164 podem melhorar a visualização da cena 110 na nova nuvem de pontos 162 se comparada com a nuvem de pontos 132. Ainda, os novos pontos 164 podem permitir que um ou mais dos objetos 112 na cena 110 sejam identificados e/ou classificados utilizando a nova nuvem de pontos 162 com um nível de precisão mais alto se comparado com a utilização da nuvem de pontos 132.
[00074] Por exemplo, a imagem fundida inicial 168 pode ser gerada pelo gerenciador de fusão 142 utilizando a imagem 120 e a nuvem de pontos 132. Pelo menos uma porção dos pontos na nuvem de pontos 132 pode ser mapeada para localizações de pixel na imagem 120 e sobreposta à imagem 120 para criar uma imagem fundida inicial 168. A imagem fundida final 170 pode ser gerada pelo gerenciador de fusão 142 utilizando a imagem 120 e a nova nuvem de pontos 162. Pelo menos uma porção dos pontos na nova nuvem de pontos 162 pode ser mapeada para localizações de pixel na imagem 120 e sobreposta à imagem 120 para criar a imagem fundida final 170.
[00075] A visualização da cena 110 na imagem fundida final 170 pode ser melhorada se comparada com a visualização da cena 110 na imagem fundida inicial 168. Especificamente, o maior número de pontos na imagem fundida final 170 se comparada com a imagem fundida inicial 168 pode melhorar a visualização da cena 110 na imagem fundida final 170.
[00076] A ilustração do ambiente de processamento de imagem 100 na Figura 1 não pretende implicar limitações físicas ou arquiteturais ao modo no qual uma modalidade ilustrativa pode ser implementada. Outros componentes além de ou no lugar daqueles ilustrados podem ser utilizados. Alguns componentes podem ser opcionais. Também, os blocos estão apresentados para ilustrar alguns componentes funcionais. Um ou mais destes blocos podem ser combinados, divididos, ou combinados e divididos em diferentes blocos quando implementados em uma modalidade ilustrativa.
[00077] Por exemplo, em alguns exemplos ilustrativos, o gerador de valor de profundidade 144 pode ser considerado parte do gerenciador de fusão 142. Em outros exemplos ilustrativos, o gerenciador de fusão 142 e/ou o gerador de valor de profundidade 144 podem ser considerados parte do gerenciador de nuvem de pontos 145.
[00078] Em outros exemplos ilustrativos, algum outro módulo no sistema de processamento de imagem 102 pode ser utilizado para formar a imagem fundida inicial 168 e/ou a imagem fundida final 170. Em ainda outros casos, algum outro sistema de processamento de dados ou unidade de processador pode estar configurado para processar a imagem 120 e a nova nuvem de pontos 162 para formar imagem fundida final 170.
[00079] Observando agora as Figuras 2-6, ilustrações de um processo para gerar novos valores de profundidade para os vetores de dados não preenchidos associados com os elementos não casados em uma rede de dados fundida são apresentadas de acordo com uma modalidade ilustrativa. O processo ilustrado nas Figuras 2-6 pode ser um exemplo de um modo no qual os novos valores de profundidade 158 na Figura 1 podem ser gerados. Ainda, este processo pode ser executado utilizando, por exemplo, o gerador de valor de profundidade 144 na Figura 1.
[00080] Com referência agora à Figura 2, uma ilustração de uma rede de dados fundidos está apresentada de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, a rede de dados fundidos 200 pode ser um exemplo de uma implementação para a rede de dados fundidos 150 na Figura 1.
[00081] Na Figura 2, a rede de dados fundidos 200 pode ser a fusão de imagem 202 e pontos transformados 206. A imagem 202 pode ser uma imagem gerada, por exemplo, pelo sistema de câmera 204. Os pontos transformados 206 podem incluir uma porção dos pontos em uma nuvem de pontos mapeada para localizações de pixel na imagem 202, e por meio disto, os elementos na rede de dados fundidos 200. A rede de dados fundidos 200 pode ter sido gerada, por exemplo, pelo gerenciador de fusão 142 na Figura 1.
[00082] Como apresentado, o gerador de valor de profundidade 144 pode mover a janela 108 ao longo da rede de dados fundidos 200 na direção da seta 210 e da seta 212 para processar a rede de dados fundidos 200. Por exemplo, a janela 208 pode ser movida para a localização de cada elemento dentro da rede de dados fundidos 200. Neste exemplo ilustrativo, a janela 208 pode ter um de um grupo de tamanhos selecionados. Como aqui utilizado, um "grupo de" itens pode incluir um ou mais itens. Deste modo, um grupo de tamanhos selecionados pode incluir um ou mais tamanhos selecionados.
[00083] A rede de dados fundidos 200 pode ser totalmente escane- ada e processada utilizando uma janela que tem cada tamanho no grupo de tamanhos selecionados. Mover a janela 208 para a localização de um elemento na rede de dados fundidos 200 significa centrar a janela 208 naquele elemento neste exemplo ilustrativo. Quando o elemento no qual cada janela 208 está centrada é um elemento não casado, a porção da rede de dados fundidos 200 sobreposta pela janela 208 pode ser processada pelo gerador de valor de profundidade 144 para identificar um novo valor de profundidade para o vetor de dados não preenchidos associado com este elemento não casado.
[00084] Com referência agora à Figura 3 uma ilustração de uma porção da rede de dados fundidos 200 sobreposta pela janela 208 da Figura 2 está apresentada de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, a porção 300 da rede de dados fundidos 200 da Figura 2 está sobreposta pela janela 208.
[00085] Na Figura 3, o grupo de elementos casados 302 identifica os elementos na porção 300 da rede de dados fundidos 200 ao qual uma porção de pontos transformados 206 na Figura 2 foi mapeada. Todos os outros elementos (não mostrados nesta vista) na porção 300 da rede de dados fundidos 200 podem ser elementos não casados para os quais pontos transformados não foram mapeados. Como apresentado, o grupo de elementos casados 302 inclui os elementos casados 304, 306, 308, 310, 312, 314, e 316.
[00086] O gerador de valor de profundidade 144 primeiro confirma que o valor de profundidade no vetor de dados associado com o elemento no qual a janela 208 está centrada é um valor de profundidade nulo. Se o valor de profundidade for um valor de profundidade não nulo, o gerador de valor de profundidade 144 move a janela 208 para outra localização. Se o valor de profundidade for um valor de profundidade nulo, o gerador de valor de profundidade 144 continua processando a porção 300 da rede de dados fundidos 200.
[00087] Neste exemplo ilustrativo, a porção 300 da rede de dados fundidos 200 está apresentada dividida em quadrantes 320, 322, 324, e 326. O gerador de valor de profundidade 144 está configurado para confirmar que um número suficiente de elementos casados está presente na porção 300 da rede de dados fundidos 200. Ainda, o gerador de valor de profundidade 144 está configurado para confirmar que pelo menos um elemento casado está presente em cada um dos quadrantes 320, 322, 324, e 326.
[00088] Uma vez que o gerador de valor de profundidade 144 confirma que um número suficiente de elementos casados está presente na porção de 300 da rede de dados fundidos 200 e que pelo menos um elemento casado está presente em cada um dos quadrantes 322, 324, e 326, o gerador de valor de profundidade 144 pode continuar processando a porção 300 rede de dados fundidos 200. Quando um número suficiente de elementos casados não está presente na porção 300 ou quando um dos quadrantes 320, 322, 324, e 326 não inclui um elemento casado, o gerador de valor de profundidade 144 pode mover a janela 208 para uma próxima localização ao longo da rede de dados fundidos 200.
[00089] Observando agora a Figura 4, uma ilustração de um processo para gerar pontuações para cada um do grupo de elementos casados 302 da Figura 3 está apresentada de acordo com uma modalidade ilustrativa. Na Figura 4, o gerador de valor de profundidade 144 está configurado para gerar uma pontuação para cada elemento casado no grupo de elementos casados 302. A pontuação para um elemento casado pode estar baseada no valor de profundidade no vetor de dados preenchidos associado com o elemento casado e uma similaridade do elemento casado com os outros elementos casados no grupo de elementos casados 302.
[00090] O valor de profundidade do vetor de dados preenchidos associado com o elemento casado pode ser a distância entre o sistema de câmera 204 e a localização do ponto transformado, o qual foi mapeado para o elemento casado, dentro do sistema de coordenadas cêntricas de câmera tridimensionais. Os valores de profundidade para o grupo de elementos casados 302 podem ser as distâncias 402, 404, 406, 408, 410, 412, e 414 entre os elementos casados 304, 306, 308, 310, 312, 314, e 316, respectivamente, e o sistema de câmera 204.
[00091] A similaridade do elemento casado com os outros elementos casados no grupo de elementos casados 302 pode estar baseada em qualquer número de características. Estas características podem incluir, por exemplo, sem limitação, localização de pixel, cor, intensidade, e/ou outros tipos de características ou dados dentro de um vetor de dados. Neste exemplo ilustrativo, a similaridade do elemento casado com os outros elementos casados pode estar baseada na distância entre a localização de pixel identificada no vetor de dados associado com o elemento casado e a localização de pixel ideal 400. A localização de pixel pode ser a mesma que a localização para o elemento casado dentro da rede de dados fundidos 200.
[00092] Com referência agora à Figura 5, uma ilustração de uma seleção de elementos de suporte está apresenta de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, as pontuações geradas para o grupo de elementos casados 302, como descrito na Figura 4, podem ser classificadas, ou ordenadas.
[00093] O número desejado de elementos de suporte pode ser cinco elementos de suporte neste exemplo ilustrativo. Os cinco elementos casados que têm as cinco pontuações mais baixas são selecionados como elementos de suporte 500. Os elementos de suporte 500 incluem os elementos casados 306, 308, 310, 312, e 314.
[00094] Neste exemplo ilustrativo, os elementos de suporte 500 podem ser selecionados de modo que o número de novos pontos criados para furos e/ou folgas reais na cena capturada pela imagem 202 seja reduzido. Ainda, os elementos de suporte 500 podem ser selecionados de modo que os novos pontos criados realmente representem uma superfície externa de um objeto.
[00095] Observando agora a Figura 6, uma ilustração da geração de um novo valor de profundidade está apresentada de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, os elementos de suporte 500 da Figura 5 podem ser utilizados para gerar um novo valor de profundidade para o elemento 600 no qual a janela 208 foi centrada. O elemento 600 está na localização 602 na rede de dados fundidos 200, a qual pode ser a localização central da porção 300 da rede de dados fundidos 200.
[00096] O novo valor de profundidade para o elemento 600 pode ser gerado utilizando, por exemplo, uma estimativa linear. Especificamente, um algoritmo de estimativa linear pode utilizar o valor de profundidade no vetor de dados preenchidos associado com cada um dos elementos de suporte 500 para estimar novo valor de profundidade para o elemento 600. Este novo valor de profundidade pode ser utilizado para preencher o vetor de dados associado com o elemento 600.
[00097] O processo descrito nas Figuras 3-6 pode ser repetido para cada localização na rede de dados fundidos 200 para a qual a janela 208 da Figura 2 é movida. Ainda, o processo inteiro descrito nas Figuras 2-6 pode ser repetido utilizando janelas de diferentes tamanhos selecionados.
[00098] Deste modo, a rede de dados fundidos 200 inteira pode ser escaneada e processada com uma janela que tem cada um de um grupo de tamanhos selecionados. Mais ainda, este processo inteiro de utilizar as janelas que tem o grupo de tamanhos selecionados pode ser iterado qualquer número de vezes para preencher pelo menos uma porção dos vetores de dados não preenchidos associados com os elementos não casados na rede de dados fundidos 200.
[00099] As ilustrações nas Figuras 2-6 não pretendem implicar limitações físicas ou arquiteturais ao modo no qual uma modalidade ilustrativa pode ser implementada. Estas ilustrações estão apresentadas para descrever o conceito de gerar novos valores de profundidade em um modo abstrato.
[000100] Com referência agora à Figura 7, uma ilustração de uma imagem fundida está apresentada de acordo com uma modalidade ilustrativa. A imagem fundida 700 pode ser um exemplo de uma implementação para a rede de dados fundidos 150 na Figura 1. A imagem fundida 700 pode ser uma combinação da imagem 702 e pontos transformados 704. Neste exemplo ilustrativo, cada pixel na imagem fundida 700 pode estar associado com um vetor de dados tal como o vetor de dados 154 na Figura 1.
[000101] Observando agora a Figura 8, uma ilustração de uma comparação entre duas imagens fundidas está apresentada de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, a imagem fundida inicial 800 é um exemplo de uma implementação para a imagem fundida inicial 168 na Figura 1. Ainda, a imagem fundida final 802 é um exemplo de uma implementação para imagem fundida final 170 na Figura 1.
[000102] Como apresentado, a imagem fundida inicial 800 é uma fusão da imagem 804 e dos pontos transformados 806. Os pontos transformados 806 podem incluir pontos mapeados de uma nuvem de pontos original, tal como, por exemplo, a nuvem de pontos 132 na Figura 1. A imagem fundida final 802 é uma fusão da mesma imagem 804 e pontos transformados 808. Os pontos transformados 808 podem incluir pontos mapeados de uma nova nuvem de pontos, tal como, por exemplo, a nova nuvem de pontos 162 na Figura 1. A cena capturada na imagem 804 pode ser melhor realizada por pontos transformados 808 na imagem fundida final 802 se comparado com os pontos transformados 806 na imagem fundida inicial 800.
[000103] Com referência agora à Figura 9, uma ilustração de uma comparação de uma imagem fundida final gerada quando os elementos de suporte são utilizados e uma imagem fundida final gerada quando os elementos de suporte não são utilizados está apresentada de acordo com uma modalidade ilustrativa. Neste exemplo ilustrativo, uma comparação de imagem fundida final 900 e uma imagem fundida final 902 estão apresentadas. Estas imagens fundidas finais são exemplos de implementações para a imagem fundida final 170 na Figura 1.
[000104] A imagem fundida final 900 é uma fusão da imagem 904 e dos pontos transformados 906. A imagem fundida final 902 é uma fusão da mesma imagem 904 e dos pontos transformados 908. Os pontos transformados 906 e os pontos transformados 908 podem ambos incluir pontos mapeados de uma nova nuvem de pontos correspondente à qual novos pontos foram adicionados.
[000105] No entanto, os pontos transformados 906 podem incluirpontos de uma nova nuvem de pontos geradas sem a utilização de elementos de suporte. Os pontos transformados 908 podem incluirpontos de uma nova nuvem de pontos geradas com a utilização de elementos de suporte. Como apresentado, a superfície que forma do topo do prédio apresentadas na porção 912 da imagem fundida final 900 podem ser menos claramente definidas e menos precisas do que a superfície que forma do topo do prédio apresentadas na porção 914 da imagem fundida final 902.
[000106] Com referência agora à Figura 10, uma ilustração de uma tabela de imagens fundidas finais está apresentada de acordo com uma modalidade ilustrativa. Na Figura 10, a tabela 1000 inclui uma coluna 1002, uma coluna 1004, uma fila 1006 e uma fila 1008.
[000107] A coluna 1002 inclui a imagem fundida final 1010 e a imagem fundida final 1014 geradas utilizando duas iterações de janelas de escaneamento que têm um grupo de tamanhos selecionados através de uma rede de dados fundidos. A coluna 1004 inclui a imagem fundida final 1012 e a imagem fundida final 1016 geradas utilizando dez iterações de janelas de escaneamento que têm um grupo de tamanhos selecionados através de uma rede de dados fundidos.
[000108] A fila 1006 inclui a imagem fundida final 1010 e a imagem fundida final 1012 geradas utilizando oitos tamanhos de janelas por iteração. Ainda, a fila 1008 inclui a imagem fundida final 1014 e a imagem fundida final 1016 geradas utilizando dezesseis tamanhos de janelas por iteração.
[000109] Como apresentado, o número de pontos incluídos em uma imagem fundida final aumenta conforme o número de iterações e o número de tamanhos para as janelas por iteração aumentam. Como o número de pontos em uma imagem fundida final aumenta, a visualização da cena dentro da imagem fundida final pode ser melhorada.
[000110] As ilustrações de imagens fundidas nas Figuras 7-10 não pretendem implicar limitações físicas ou arquiteturais ao modo no qual uma modalidade ilustrativa pode ser implementada. Estas imagens fundidas são exemplos de como as imagens fundidas, tais como a imagem fundida inicial 168 e imagem fundida final 170 da Figura 1, podem ser implementadas.
[000111] Com referência agora à Figura 11, uma ilustração de um processo para aumentar um número de pontos em uma nuvem de pontos na forma de um fluxograma está apresentada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 11 pode ser implementado utilizando o sistema de processamento de imagem 102 na Figura 1.
[000112] O processo começa recebendo uma imagem bidimensional de um primeiro sistema de sensor e uma nuvem de pontos de um segundo sistema de sensor (operação 1100). Na operação 1100, a imagem bidimensional pode ser recebida de um primeiro sistema de sensor na forma de um sistema de câmera, tal como o sistema de câmera 118 na Figura 1. Neste exemplo ilustrativo, a imagem bidimensional pode ser uma imagem colorida. Ainda, a nuvem de pontos pode ser recebida de um segundo sistema de sensor na forma de um sistema de detecção e alcance de luz, tal como o sistema de detecção e alcance de luz 130 na Figura 1.
[000113] Tanto a imagem bidimensional quando a nuvem de pontos podem ser da mesma cena. No entanto, dependendo da implementação, a imagem bidimensional e a nuvem de pontos podem capturar a mesma cena da mesma ou diferentes perspectivas.
[000114] A seguir, pelo menos uma porção dos pontos na nuvem de pontos pode ser mapeada para a imagem bidimensional para formar os pontos transformados (operação 1102). A seguir, uma rede de dados fundidos é criada utilizando a imagem bidimensional e os pontos transformados (operação 1104).
[000115] Posteriormente, novos pontos para a nuvem de pontos são identificados utilizando a rede de dados fundidos (operação 1106). Os novos pontos são adicionados à nuvem de pontos para formar uma nova nuvem de pontos (operação 1108), com o processo terminando após isto. O número de pontos aumentado na nova nuvem de pontos se comparada com a nuvem de pontos original pode prover a nova nuvem de pontos com uma resolução aumentada se comparada com a nuvem de pontos original.
[000116] Em outras palavras, a nova nuvem de pontos pode capturar características na cena mais precisamente do que a nuvem de pontos original. A nova nuvem de pontos pode ser utilizada para executar um número de diferentes operações tal como, por exemplo, sem limitação identificação de objeto, classificação de objeto, segmentação, visualização de cena, e/ou outros tipos de operações.
[000117] Com referência gora à Figura 12, uma ilustração de um processo para mapear os pontos em uma nuvem de pontos para uma imagem bidimensional para formar pontos transformados na forma de um fluxograma está apresentada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 12 pode ser utilizado para implementar a operação 1102 na Figura 11. Ainda, este processo pode ser executado utilizando o gerenciador de fusão 142 no sistema de processamento de imagem 102 na Figura 1.
[000118] O processo começa transformando o sistema de coordenadas de referência tridimensionais para a nuvem de pontos em um sistema de coordenadas cêntricas de câmera tridimensionais para identificar as coordenadas cêntricas de câmera para os pontos na nuvem de pontos (operação 1200). O sistema de coordenadas de referência tridimensionais pode ser, por exemplo, um sistema de coordenadas geográficas ou algum outro tipo de sistema de coordenadas do mundo real. A origem de sistema de coordenadas cêntricas de câmera tridimensionais é a localização do sistema de câmera que gerou a imagem bidimensional.
[000119] Por exemplo, para cada ponto de uma dada localização, Xp, , , no sistema de coordenadas de referência tridimensionais, ascoordenadas cêntricas de câmera estão identificadas como segue:
Figure img0001
onde Xp, Yp, Zp são as coordenadas para o ponto no sistema de coordenadas de referência tridimensionais; Xc, Yc, Zc são as coordenadas cêntricas de câmera para o ponto no sistema de coordenadas cêntricas de câmera tridimensionais; R é uma rotação; e T é uma translação.
[000120] A rotação, R, e a translação, T, podem ser identificadas utilizando um algoritmo de transformação que inclui um algoritmo de estimativa de pose de câmera tal como um algoritmo de estimativa de pose de câmera de ponto n de perspectiva eficiente. Este algoritmo de estimativa de pose de câmera tal como um algoritmo de estimativa de pose de câmera de ponto n de perspectiva eficiente identifica as informações de pose para uma pose do sistema de câmera que gerou a imagem bidimensional. A pose do sistema de câmera pode ser compreendida de pelo menos uma de uma orientação e posição do sistema de câmera. O algoritmo de transformação utiliza as informações de pose do sistema de câmera para gerar as coordenadas cêntricas de câmera para o ponto.
[000121] A seguir, os pontos que têm as coordenadas cêntricas de câmera são mapeados para localizações de pixel em um plano de imagem para a imagem bidimensional para formar os pontos transformas iniciais (operação 1202). Cada um dos pontos transformados iniciais pode ser um ponto que corresponde a um pixel em uma localização de pixel específica dentro do plano de imagem da imagem bidimensional. Por exemplo, cada ponto pode ser mapeado para uma localização de pixel, u, v, como segue:
Figure img0002
onde u é a fila para a localização de pixel e v é a coluna para a localização de pixel.
[000122] Após isto, uma porção dos pontos transformados iniciais é selecionada com base em critérios selecionados para formar os pontos transformados (operação 1204), com o processo terminando após isto. Na operação 1204, a porção dos pontos transformados iniciais selecionadas pode incluir pontos que têm uma fila, u, que é maior do que zero e menor do que ou igual ao número máximo de filas na imagem bidimensional e que tem uma coluna, v, que é maior do que zero e menor do que ou igual ao número máximo de colunas na imagem bidimensional. Deste modo, os pontos transformados podem somente incluir as localizações de pixel que estão dentro da imagem bidimensional e não fora da imagem bidimensional.
[000123] Com referência agora à Figura 13, uma ilustração de um processo para criar uma rede de dados fundidos na forma de um fluxograma está apresentada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 13 pode ser utilizado para implementar a operação 1104 na Figura 11.
[000124] O processo começa identificando uma distância para cada um dos pontos transformados (operação 1300). Esta distância pode ser a distância entre as coordenadas cêntricas de câmera para o ponto transformado e o sistema de câmera. A distância pode ser identificada como segue:
Figure img0003
onde dc é a distância.
[000125] Após isto, uma determinação é feita quanto a se qualquer um dos pontos transformados foi mapeado para uma mesma localização de pixel (operação 1302). Se qualquer dos pontos transformados foi mapeado para a mesma localização de pixel, então para cada localização de pixel para a qual múltiplos pontos transformados foram mapeados, o ponto transformado que está mais próximo do sistema de câmera é mantido e os outros pontos transformados são descartados (operação 1304).
[000126] A seguir, o processo normaliza os valores de profundidade para cada um dos pontos transformados restantes para formar valores de profundidade normalizados (operação 1306). Por exemplo, para cada ponto transformado restante, i, a distância normalizada é identificada como segue:
Figure img0004
onde é a distância normalizada para o ponto transformado; é a distância identificada par o ponto transformado na operação 1300;é uma distância mínima predeterminada e é uma distância máximapredeterminada. A distância mínima predeterminada e a distância máxi- ma predeterminada podem ser computadas automaticamente utilizando, por exemplo, um sistema de computador.
[000127] Após isto, a rede de dados fundidos é criada na qual cada elemento da rede de dados fundidos está associado com um vetor de dados que compreende uma localização de pixel, um valor de profun-didade, e dados de pixel originais (operação 1308). Os elementos na rede de dados fundidos podem ter uma correspondência de um para um como os pixels na imagem bidimensional. A localização de pixel no vetor de dados associado com um elemento na rede de dados fundidos pode incluir a fila e a coluna para o pixel que corresponde ao elemento. O valor de profundidade no vetor de dados associado com o elemento pode ser a distância normalizada identificada para o ponto transformado que foi mapeado para o pixel que corresponde ao elemento. Se nenhum ponto transformado foi mapeado para o pixel que corresponde ao elemento, o valor de profundidade pode ser nulo. Os dados de pixel originais no vetor de dados associado com o elemento podem incluir, por exemplo, o valor de vermelho, o valor de verde, e o valor de azul para o pixel que corresponde ao elemento.
[000128] Deste modo, o vetor de dados associado com um elemento na rede de dados fundidos pode ser representado como segue:
Figure img0005
onde qi é o vetor de dados associado com o ith elemento na rede de dados fundidos; ui é a fila para o pixel que corresponde ao ith elemento; vi é a coluna par o pixel que corresponde ao ith elemento; di é o valor de profundidade para um ponto transformado mapeado para o pixel que corresponde ao ith elemento; e ri,gi,bi são o valor de vermelho, o valor de verde, e o valor de azul para o pixel que corresponde ao io elemento. Quando um ponto transformado não foi mapeado para o pixel que corresponde ao elemento na rede de dados fundidos, o vetor de dados associado com um elemento na rede de dados fundidos pode ser representado como segue:
Figure img0006
[000129] A seguir, cada um dos elementos na rede de dados fundidos pode ser indexado de modo que cada um dos elementos possa ser capaz de ser unicamente referenciado (operação 1310), com o processo terminando após isto. Por exemplo, cada elemento pode ser indexado como segue:
Figure img0007
onde l é o índice para o elemento e C, é o número de colunas na imagem bidimensional.
[000130] Os elementos na rede de dados fundidos que correspondem a pixels para os quais os pontos transformados foram mapeados são elementos casados. Os elementos na rede de dados fundidos que correspondem a pixels para os quais nenhum ponto transformado foi mapeado são elementos não casados.
[000131] Com referência novamente à operação 1302, se nenhum dos pontos transformados foi mapeado para a mesma localização de pixel, o processo prossegue para a operação 1306 como acima descrito. Deste modo, o processo descrito na Figura 13 pode ser utilizado para criar uma rede de dados fundidos, tal como a rede de dados fundidos 150 na Figura 1.
[000132] Com referência agora à Figura 14, uma ilustração de um processo para gerar novos valores de profundidade na forma de um fluxograma está apresentada de acordo com uma modalidade ilustrativa. O processo ilustrado na Figura 14 pode ser utilizado para implementar a operação 1106 na Figura 11.
[000133] O processo começa identificando um número máximo de iterações para o processamento da rede de dados fundidos (operação 1400). A seguir, um grupo de tamanhos selecionados para uma janela é identificado para utilização no processamento da rede de dados fundidos (operação 1402). Após isto, um tamanho para a janela é selecionado do grupo de tamanhos selecionados (operação 1404). Cada um dos tamanhos no grupo de tamanhos selecionados pode ser um tamanho de por . Deste modo, cada janela pode ter um comprimento e uma largura que são iguais. Neste exemplo ilustrativo, cada pode ser um número ímpar.
[000134] A janela é movida para a localização de um elemento na rede de dados fundidos (operação 1406). Uma determinação é feita quanto a se o elemento é um elemento casado ou um elemento não casado (operação 1408). Um elemento casado tem um vetor de dados com um valor de profundidade não nulo. Um elemento não casado tem um vetor de dados com um valor de profundidade nulo. Se o elemento for um elemento casado, uma determinação é feita quanto a se quaisquer localizações não processadas estão presentes na rede de dados fundidos (operação 1410).
[000135] Se quaisquer localizações não processadas estiverem pre-sentes na rede de dados fundidos, o processo retorna para a operação 1406 como acima descrito. De outro modo, uma determinação é feita quanto a se quaisquer tamanhos no grupo de tamanhos selecionados para a janela estão ainda presentes (operação 1412). Se quaisquer tamanhos no grupo de tamanhos selecionados para a janela estiverem ainda presentes, o processo retorna para a operação 1404 como acima descrito. De outro modo, uma iteração é agora considerada como sendo completa e uma determinação é feita quanto a se o número máximo de iterações foi atingido (operação 1414). Se o número máximo de iterações não tiver sido atingido, o processo retorna para a operação 1402 como acima descrito. De outro modo, o processo cria novos pontos para uma nuvem de pontos utilizando novos valores de profundidade gerados para pelo menos uma porção dos elementos não casados na rede de dados fundidos (operação 1416), com o processo terminando após isto.
[000136] Com referência novamente à operação 1408, se o elemento for um elemento não casado, uma determinação é feita quanto a se os elementos casados na porção de uma rede de dados fundidos sobreposta pela janela atende a critérios selecionados (operação 1418). Os elementos casados na porção da rede de dados fundidos sobreposta pela janela atendem aos critérios selecionados se o número de elementos casados for maior do que um limite selecionado e se pelo menos um elemento casado estiver presente em cada quadrante da porção da rede de dados fundidos sobreposta pela janela.
[000137] Se os elementos casados não atenderem aos critérios selecionados, o processo prossegue para a operação 1410 como acima descrito. De outro modo, uma pontuação é gerada para cada um dos elementos casados na porção da rede de dados fundidos sobreposta pela janela (operação 1420). Por exemplo, a pontuação pode ser uma pontuação de boa qualidade para o elemento casado. A pontuação de boa qualidade pode estar baseada em uma combinação da distância do ponto transformado mapeado para o pixel que corresponde ao elemento do sistema de câmera e uma dissimilaridade do elemento casado com os outros elementos casados.
[000138] Com elementos casados na porção da rede de dados fundidos sobreposta pela janela, a pontuação de boa qualidade pode ser gerada como segue:
Figure img0008
onde Gt é a pontuação de boa qualidade do ith elemento casado; Mt é uma pontuação de dissimilaridade para o ith elemento casado; Δt é uma medição de distância para o ith elemento casado; j é um índice para os n elementos casados; F é uma resposta a uma característica; m é o número de características; i. é o valor de profundidade no vetor de dados associado com o ith elemento casado; e y é uma constante de normalização. Se tanto as respostas de característica quanto os valores de profundidade forem normalizados entre 0 e 1, a constante de normalização, y, pode ser ajustada para Vm
[000139] Neste exemplo ilustrativo, uma característica pode ser, por exemplo, localização de pixel, intensidade, cor, ou algum outro tipo de característica. A resposta para esta característica pode ser um valor para esta característica.
[000140] A seguir, os elementos casados que têm um número pré- selecionado das pontuações mais baixas são selecionados como elementos de suporte (operação 1422). Por exemplo, um número pode ser pré-selecionado para o número desejado de elementos de suporte. Este número pré-selecionado pode ser quanto, cinco, oito, dez, ou algum outro número. Na operação 1422, as pontuações geradas na operação 1420 podem ser classificadas. Se o número pré-selecionado for cinco, os elementos casados que têm as cinco pontuações mais baixas são selecionados como os elementos de suporte.
[000141] Uma determinação é então feita quanto a se um elemento de suporte está presente em cada quadrante (operação 1424). Se um elemento de suporte não estiver presente em cada quadrante, o processo prossegue para a operação 1410 como acima descrito. De outro modo, um novo valor de profundidade é gerado para o elemento no qual a janela está centrada utilizando um algoritmo de estimativa linear os elementos de suporte (operação 1426).
[000142] Na operação 1426, o novo valor de profundidade pode ser identificado utilizando um sistema linear tal como, por exemplo: 77,
Figure img0009
onde d° é o novo valor de profundidade e w0, ^ e M2 são pesos. É claro, qualquer tipo de algoritmo de aproximação polinomial pode ser utilizado para resolver o novo valor de profundidade utilizando os valores de profundidade para os elementos de suporte.
[000143] Após isto, uma determinação é feita quanto a se o novo valor de profundidade está dentro de uma faixa selecionada (operação 1428). O novo o valor de profundidade pode estar dentro da faixa selecionada ■'"VTí <-» ■
Figure img0010
onde d° é a menor distância de um ponto transformado mapeado para um pixel que corresponde a um elemento de suporte do sistema de câmera; wx é uma largura da janela; e a é um peso de ajuste de perspectiva constante.
[000144] Se o novo valor de profundidade não estiver dentro da faixa selecionada, o processo prossegue para a operação 1410 como acima descrito. Deste modo, o novo valor de profundidade não é adicionado ao vetor de dados que corresponde ao elemento no qual a janela está centrada. Ao invés, o valor de profundidade neste vetor de dados permanece nulo. No entanto, se o novo valor de profundidade estiver dentro da faixa selecionada, o novo valor de profundidade é adicionado ao vetor de dados associado com o elemento no qual a janela está centrada (operação 1430). O processo então prossegue para a operação 1410 como acima descrito.
[000145] Com referência à Figura 15, uma ilustração de um processo para gerar novos pontos para uma nuvem de pontos na forma de um fluxograma está apresentada de acordo com um exemplo ilustrativo. O processo ilustrado na Figura 15 pode ser utilizado para implementar a operação 1416 na Figura 14.
[000146] O processo começa desnormalizando os novos valores de profundidade gerados para pelo menos uma porção dos elementos não casados na rede de dados fundidos (operação 1500). Cada um destes novos valores de profundidade é utilizado para criar um novo ponto para a nuvem de pontos. Os novos valores de profundidade podem ser desnormalizados como segue:
Figure img0011
onde é um valor de profundidade desnormalizado.
[000147] As coordenadas cêntricas de câmera são geradas para os novos pontos para as nuvens de pontos utilizando os valores de profundidade desnormalizados e as localizações de pixel nos vetores de dados para os quais os novos valores de profundidade foram gerados (operação 1502). As coordenadas cêntricas de câmera são geradas como segue:
Figure img0012
[000148] Após isto, as localizações de ponto para os novos pontos no sistema de coordenadas de referência tridimensionais na nuvem de pontos original são identificadas utilizando as coordenadas cêntricas de câmera (operação 1504), com o processo terminando após isto. As localizações de ponto no sistema de coordenadas de referência tridimensionais são identificadas utilizando um inverso do algoritmo de transformação utilizado na operação 1200. Por exemplo, as localizações de ponto podem identificadas como segue:
Figure img0013
onde Xp, Yp, Zp são as coordenadas para o novo ponto a ser adicionado à nuvem de pontos no sistema de coordenadas de referência tridimensionais e Xc, Yc, Zc são as coordenadas cêntricas de câmera para o novo ponto no sistema de coordenadas cêntricas de câmera tridimensionais.
[000149] Os fluxogramas nas diferentes modalidades apresentadas ilustram a arquitetura, funcionalidade, e operação de algumas possíveis implementações do sistema e método descritos nas modalidades ilustrativas. Neste aspecto, cada bloco nos fluxogramas pode representar um módulo, um segmento, uma função, e/ou uma porção de uma operação ou etapa. Por exemplo, um ou mais dos blocos podem ser implementados utilizando software, hardware, ou uma combinação dos dois. O hardware pode, por exemplo, tomar a forma de circuitos integrados que são fabricados ou configurados para executar uma ou mais operações nos fluxogramas.
[000150] Em algumas implementações alternativas de uma modalidade ilustrativa, a função ou funções notadas nos blocos podem ocorrer fora da ordem notada nas figuras. Por exemplo, em alguns casos, dois blocos mostrados em sucessão podem ser executados substancialmente concorrentemente, ou executados na ordem inversa, dependendo da implementação específica. Também outros blocos podem ser adicionados aos blocos ilustrados em um fluxograma.
[000151] Observando agora a Figura 16, uma ilustração de um sistema de processamento de dados na forma de um diagrama de blocos está apresentada de acordo com uma modalidade ilustrativa. O sistema de processamento de dados 1600 pode ser utilizado para implementar um ou mais computadores no sistema de computador 104 na Figura 1. Ainda, o gerenciador de fusão 142, o gerador de valor de profundidade 144 e/ou o gerenciador de nuvem de pontos 145 na Figura 1 podem ser implementados utilizando o sistema de processamento de dados 1600. Mais ainda, um sistema de processamento de dados similar ao sistema de processamento de dados 1600 pode ser implementado dentro do primeiro sistema de sensor 106 e/ou segundo sistema de sensor 108 na Figura 1.
[000152] Como apresentado o sistema de processamento de dados 1600 inclui uma estrutura de comunicações 1602, a qual provê comunicações entre a unidade de processador 1604, os dispositivos de armazenamento 1606, a unidade de comunicações 1608, a unidade de entrada / saída 1610 e a unidade de display 1612. Em alguns casos, a estrutura de comunicações 1602 pode ser implementada como um sistema de barramento.
[000153] A unidade de processador 1604 está configurada para executar instruções para o software executar um número de operações. A unidade de processador 1604 pode compreender um número de processadores, um núcleo de multiprocessador, e/ou algum outro tipo de processador, dependendo da implementação. Em alguns casos, a unidade de processador 1604 pode tomar a forma de uma unidade de hardware, tal como um sistema de circuito, um circuito integrado de aplicação específica (ASIC), um dispositivo lógico programável, ou algum outro tipo adequado de unidade de hardware.
[000154] As instruções para o sistema de operação, aplicações, e/ou programas executados pela unidade de processador 1604 podem estar localizadas em dispositivos de armazenamento 1606. Os dispositivos de armazenamento 1606 podem estar em comunicação com a unidade de processador 1604 através da estrutura de comunicações 1602. Como aqui utilizado, um dispositivo de armazenamento, também referido como um dispositivo de armazenamento legível por computador é qualquer porção de hardware capaz de armazenar informações em uma base temporária e/ou permanente. Estas informações podem incluir, mas não estão limitadas a, dados, código de programa, e/ou outras informações.
[000155] A memória 1614 e o armazenamento persistente 1616 são exemplos de dispositivos de armazenamento 1606. A memória 1614 pode tomar a forma de, por exemplo, uma memória de acesso randô- mico ou algum tipo de dispositivo de armazenamento volátil ou não volátil. O armazenamento persistente 1616 pode compreender qualquer número de componentes ou dispositivos. Por exemplo, o armazenamento persistente 1616 pode compreender um disco rígido, uma memória instantânea, um disco ótico reescrevível, uma fita magnética reescrevível ou alguma combinação dos acima. A mídia utilizada pelo armazenamento persistente 1616 pode ou não ser removível.
[000156] A unidade de comunicações 1608 permite que o sistema de processamento de dados 1600 comunique com outros sistemas e/ou dispositivos de processamento de dados. A unidade de comunicações 1608 pode prover comunicações utilizando conexões de comunicações físicas e/ou sem fio.
[000157] A unidade de entrada / saída 1610 permite que uma entrada seja recebida de e uma saída seja enviada para outros dispositivos conectados no sistema de processamento de dados 1600. Por exemplo, a unidade de entrada / saída 1610 pode permitir que uma entrada de usuário seja recebida através de um teclado, um mouse e/ou algum outro tipo de dispositivo de entrada. Como outro exemplo, a unidade de entrada / saída 1610 pode permitir que uma saída seja enviada para uma impressora conectada no sistema de processamento de dados 1600.
[000158] O display 1612 está configurado para exibir informações para um usuário. O display 1612 pode compreender, por exemplo, sem limitação, um monitor, uma tela de toque, um display de laser, um display holográfico, um dispositivo de display virtual, e/ou algum outro tipo de dispositivo de display.
[000159] Neste exemplo ilustrativo, os processos das diferentes modalidades ilustrativas podem ser executados pela unidade de processador 1604 utilizando instruções implementadas por computador. Estas instruções podem ser referidas como código de programa, código de programa utilizável por computador, ou código de programa legível por computador e podem ser lidas e executadas por um ou mais processadores na unidade de processador 1604.
[000160] Nestes exemplos, o código de programa 1618 está localizado em uma forma funcional sobre a mídia legível por computador 1620, a qual é seletivamente removível, e pode ser carregada sobre ou transferida para o sistema de processamento de dados 1600 para execução pela unidade de processador 1604. O código de programa 1618 e o meio legível por computador 1620 juntos formam um produto de programa de computador 1622. Neste exemplo ilustrativo, o meio legível por computador 1620 pode ser um meio de armazenamento legível por computador 1624 ou um meio de sinal legível por computador 1626.
[000161] O meio de armazenamento legível por computador 1624 é um dispositivo armazenamento físico ou tangível utilizado para armazenar o código de programa 1618 ao invés de um meio que propaga ou transmite o código de programa 1618. O meio de armazenamento legível por computador 1624 pode ser, por exemplo, sem limitação, um disco ótico ou magnético ou um dispositivo de armazenamento persistente que está conectado no sistema de processamento de dados 1600.
[000162] Alternativamente, o código de programa 1618 pode ser transferido para o sistema de processamento de dados 1600 utilizando o meio de sinal legível por computador 1626. O meio de sinal legível por computador 1626 pode ser, por exemplo, um sinal de dados propagado que contém o código de programa 1618. Este sinal de dados pode ser um sinal eletromagnético, um sinal ótico, e/ou algum outro tipo de sinal que possa ser transmitido sobre conexões de comunicações físicas e/ou sem fio.
[000163] A ilustração do sistema de processamento de dados 1600 na Figura 16 não pretende prover limitações arquiteturais ao modo no qual as modalidades ilustrativas podem ser implementadas. As diferentes modalidades ilustrativas podem ser implementadas em um sistema de processamento de dados que inclui componentes além de ou no lugar daqueles ilustrados para o sistema de processamento de dados 1600. Ainda, os componentes mostrados na Figura 16 podem ser variados dos exemplos ilustrativos mostrados.
[000164] As modalidades ilustrativas podem ser implementadas utilizando qualquer dispositivo ou sistema de hardware capaz de executar um código de programa. Como um exemplo ilustrativo, o sistema de processamento de dados pode incluir componentes orgânicos integrados com componentes inorgânicos e/ou pode ser compreendido inteiramente de componentes orgânicos excluindo um ser humano. Por exemplo, um dispositivo de armazenamento pode ser compreendido de um semicondutor orgânico.
[000165] Assim, as modalidades ilustrativas proveem um sistema e método para aumentar o número de pontos em uma nuvem de pontos. Em uma modalidade ilustrativa, uma imagem bidimensional e uma nuvem de pontos de uma mesma cena são recebidas. Pelo menos uma porção dos pontos na nuvem de pontos é mapeada para a imagem bidimensional para formar pontos transformados. Uma rede de dados fundidos é criada utilizando a imagem bidimensional e os pontos transformados. Os novos pontos para a nuvem de pontos são identificados utilizando a rede de dados fundidos. Os novos pontos são adicionados à nuvem de pontos para formar uma nova nuvem de pontos.
[000166] A nova nuvem de pontos formada utilizando o sistema de processamento de imagem descrito pelas modalidades ilustrativas pode permitir que um número de operações seja executada com um nível mais alto de precisão e/ou eficiência se comparada com a nuvem de pontos original. Por exemplo, a identificação de objeto, classificação de objeto, segmentação, e/ou outras operações de processamento de imagem podem ser executadas mais precisamente utilizando a nova nuvem de pontos se comparada com a nuvem de pontos original.
[000167] Ainda, o número aumentado de novos pontos na nova nuvem de pontos pode prover uma melhor visualização da cena se comparada com a nuvem de pontos original. Mais ainda, a nova nuvem de pontos pode ser utilizada para melhorar melhor a imagem bidimensional se comparada com a nuvem de pontos original.
[000168] O sistema de processamento de imagem descrito pelas diferentes modalidades ilustrativas permite que esta nova nuvem de pontos que tem um número aumentado de pontos seja formada sem fazer nenhuma suposição sobre os tipos de objetos na cena, sobre as formas de objetos na cena, e/ou sobre o fundo da cena. Deste modo, o processo provido pelas modalidades ilustrativas pode formar uma nova nuvem de pontos que representa mais precisamente a cena se comparado com um processo que faz suposições sobre a cena para aumentar o número de pontos na nuvem de pontos.
[000169] A descrição das diferentes modalidades ilustrativas foi apresentada para propósitos de ilustração e descrição, e não pretende ser exaustiva ou limitada às modalidades na forma descrita. Muitas modificações e variações serão aparentes para aqueles versados na técnica. Ainda, diferentes modalidades ilustrativas podem prover dife-rentes características se comparadas com outras modalidades ilustra-tivas. A modalidade ou modalidades selecionadas são escolhidas e descritas de modo a melhor explicar os princípios das modalidades, a aplicação prática, e permitir que outros versados na técnica compre-endam a descrição para várias modalidades com várias modificações como são adequadas para a utilização específica contemplada.

Claims (3)

1. Aparelho, que compreende:um sistema de processamento de imagem (102) configurado para mapear uma porção de pontos (134) em uma nuvem de pontos (132) de uma cena (110) para uma imagem bidimensional (121) da cena (110) para formar pontos transformados (146); criar uma rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146); em que cada um dos pontos transformados (146) corresponde a um pixel (122) na imagem (120) e cada um dos pontos transformados corresponde a um elemento (152) na rede de dados fundidos (150) que corresponde àquele pixel (122); identificar novos pontos (164) para a nuvem de pontos (132) utilizando a rede de dados fundidos (150); e adicionar os novos pontos (164) à nuvem de pontos (132) para formar uma nova nuvem de pontos (162);um primeiro sistema de sensor configurado para gerar a imagem bidimensional (121), em que o primeiro sistema de sensor é um sistema de câmera, eum segundo sistema de sensor configurado para gerar a nuvem de pontos (132), em que o segundo sistema de sensor é um sistema de detecção de luz e alcance,em que o sistema de processamento de imagem (102) compreende um gerenciador de fusão (142) configurado para mapear localizações de ponto (136) para a porção de pontos na nuvem de pontos (132) para as localizações de pixel (124) na imagem bidimensional (121) para formar pontos transformados (146) e configurado para criar a rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146),em que a rede de dados fundidos (150) compreende elementos casados (304, 306, 308, 310, 312, 314, 316) associados com vetores de dados preenchidos (154) que compreendem valores de profundidade não nulos e elementos não casados associados com os vetores de dados não preenchidos (154) que compreendem valores de profundidade nulos,caracterizado pelo fato de que o sistema de processamento de imagem (102) ainda compreende um gerador de valor de profundidade (144) configurado para identificar novos valore de profundidade (158) para substituir pelo menos uma porção dos valores de profundidade nulos através do uso de elementos de suporte (500) e um algoritmo de estimação linear, em que os elementos de suporte (500) são identificados através da triagem dos elementos casados (304, 306, 308, 310, 312, 314, 316) através de uma pontuação de boa qualidade, em que a pontuação de boa qualidade é baseada em uma combinação de uma distância do ponto transformado (152) mapeado para o pixel (122) que corresponde ao elemento (152) e uma disparidade do elemento casado aos outros elementos casados (304, 306, 308, 310, 312, 314, 316), e selecionando elementos casados que possuem um número pré-selecionado das pontuações mais baixas como elementos de suporte (500);em que o sistema de processamento de imagem (102) ainda compreende um gerenciador de nuvem de pontos (145) configurado para identificar novos pontos (164) para a nuvem de pontos (132) utilizando os novos valores de profundidade (158), em que o gerenciador de nuvem de pontos (145) está ainda configurado para adicionar novos pontos (164) à nuvem de pontos (132) para formar a nova nuvem de pontos (162),em que o sistema de processamento de imagem (102) está configurado para mapear a porção dos pontos na nuvem de pontos (132) para a imagem bidimensional (121) utilizando as informações de pose para o sistema de câmera,em que, com de elementos casados, a pontuação de boa qualidade é gerada conforme a seguir:
Figure img0014
e em que i é a pontuação de boa qualidade do elemento casado ith; Mi é uma pontuação de disparidade para o elemento casado ith; Δi é uma medida de distância para o elemento casado ith; j é um índice para os n de elementos casados; F é uma resposta a um recurso; m é o número de recursos; d° é o valor de profundidade no vetor de dados associado com o elemento casado ith e y é uma constante normalizadora, e em que as respostas de recurso e os valores de profundidade são normalizados entre 0 a 1, em que a constante normalizadora, y, é estabelecida a Vm, e em que um recurso é um dentre uma localização, intensidade e cor de pixel, e a resposta ao mesmo recurso é um valor para o recurso.
2. Método implementado por computador para aumentar um número de pontos em uma nuvem de pontos (132), o método implemen-tado por computador compreendendo:receber uma imagem bidimensional (121) de uma cena (110) e a nuvem de pontos (132) da cena (110);mapear pelo menos uma porção de pontos na nuvem de pontos (132) para a imagem bidimensional (121) para formar pontos transformados (146);criar uma rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146); em que cada um dos pontos transformados (146) corresponde a um pixel (122) na imagem (120) e cada um dos pontos transformados corresponde a um elemento (152) na rede de dados fundidos (150) que corresponde àquele pixel (122);identificar novos pontos (164) para a nuvem de pontos (132) utilizando a rede de dados fundidos (150); eadicionar os novos pontos (164) à nuvem de pontos (132) para formar uma nova nuvem de pontos (162),em que mapear a pelo menos uma porção dos pontos na nuvem de pontos (132) para a imagem bidimensional (121) para formar os pontos transformados (146) compreende:identificar as informações de pose para um sistema de câmera;transformar um sistema de coordenadas de referência tridimensionais para a nuvem de pontos (132) para um sistema de coordenadas cêntricas de câmera tridimensionais utilizado as informa-ções de pose para identificar as coordenadas cêntricas de câmera para os pontos na nuvem de pontos (132); emapear a pelo menos uma porção dos pontos na nuvem de pontos (132) que tem as coordenadas cêntricas de câmera para as localizações de pixel (124) na imagem bidimensional (121);em que criar a rede de dados fundidos (150) utilizando a imagem bidimensional (121) e os pontos transformados (146) compre-ende:formar uma a rede de dados fundidos (150), em que a rede de dados fundidos (150) está compreendida de elementos (152) que têm uma correspondência de um para um com pixels na imagem bidimensional (121); eassociar os vetores de dados (154) com os elementos (152) na rede de dados fundidos (150), em que os vetores de dados (154) incluem vetores de dados preenchidos (154) que compreendem valores de profundidade não nulos e vetores de dados não preenchidos (154) que compreendem valores de profundidade nulos, eem que identificar novos pontos (164) para a nuvem de pontos (132) usando a rede de dados fundidos (150) compreende:gerar novos valores de profundidade (158) para substituir pelo menos uma parte dos valores de profundidade nulos;em que identificar os novos pontos (164) para a nuvem de pontos (132) utilizando os novos valores de profundidade (158), e caracterizado pelo fato de quegerar novos valores de profundidade (158) para substituir pelo menos uma porção dos valores de profundidade nulos compreende:centralizar uma janela em uma localização de um elemento na rede de dados fundidos (150), em que o elemento é associado com um vetor de dados não preenchidos (154) que compreende um valor de profundidade nulo;identificar elementos de suporte (500) em uma porção da rede de dados fundidos (150) sobrepostos pela janela;gerar um novo valor de profundidade (156) para substituir o valor de profundidade nulo usando os elementos de suporte (500) e um algoritmo de estimação linear; eem que identificar os elementos de suporte (500) na porção da rede de dados fundidos (150) sobreposta pela janela compreende:determinar se os elementos casados (304, 306, 308, 310, 312, 314, 316) na porção da rede de dados fundidos (150) sobreposta pela janela cumprem o critério selecionado, em que os elementos casados na porção da rede de dados fundidos sobreposta pela janela cumprem o critério selecionado se o número de elementos casados for maior que um limite selecionado e se pelo menos um elemento casado estiver presente em cada quadrante da porção da rede de dados fundidos sobreposta pela janela;em resposta aos elementos casados (304, 306, 308, 310, 312, 314, 316) cumprindo o critério selecionado, pontuar cada um dos elementos casados (304, 306, 308, 310, 312, 314, 316) com uma pontuação de boa qualidade, em que a pontuação de qualidade é baseada em uma combinação de uma distância do ponto transformado (146) mapeado ao pixel (122) correspondendo ao elemento (152) e uma disparidade do elemento casado aos outros elementos casados (304, 306, 308, 310, 312, 314, 316);classificar os elementos casados (304, 306, 308, 310, 312, 314, 316) por meio da pontuação de boa qualidade;selecionar uma porção dos elementos casados (304, 306, 308, 310, 312, 314, 316) como os elementos de suporte (500), em que os elementos casados que possuem um número pré-selecionado das pontuações mais baixas são selecionados como elementos de suporte, eem que, com de elementos casados, a pontuação de boa qualidade é gerada conforme a seguir:
Figure img0015
e em que i é a pontuação de boa qualidade do elemento casado ith; Mi é uma pontuação de disparidade para o elemento casado ith; Δi é uma medida de distância para o elemento casado ith; j é um índice para os n de elementos casados; F é uma resposta a um recurso; m é o número de recursos; df. é o valor de profundidade no vetor de dados associado com o elemento casado ith e y é uma constante normalizadora, e em que as respostas de recurso e os valores de profundidade são normalizados entre 0 a 1, em que a constante normalizadora, y, é estabelecida a Vm, e em que um recurso é um dentre uma localização, intensidade e cor de pixel, e a resposta ao mesmo recurso é um valor para o recurso.
3. Método implementado por computador, de acordo com a reivindicação 2, caracterizado pelo fato de que compreende ainda:repetir as etapas de centralizar a janela na localização do elemento na rede de dados fundidos (150), identificar os elementos de suporte (500) na porção da rede de dados fundidos (150) sobreposta pela janela e gerar o novo valor de profundidade (156) para substituir o valor de profundidade nulo usando os elementos de suporte (500) e o algoritmo de estimação linear para cada localização na rede de dados fundidos (150).
BR102013028714-8A 2012-11-09 2013-11-07 Aparelho e método para aumentar um número de pontos em uma nuvem de pontos BR102013028714B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/673,429 US9811880B2 (en) 2012-11-09 2012-11-09 Backfilling points in a point cloud
US13/673,429 2012-11-09

Publications (2)

Publication Number Publication Date
BR102013028714A2 BR102013028714A2 (pt) 2014-10-07
BR102013028714B1 true BR102013028714B1 (pt) 2022-02-01

Family

ID=49554009

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013028714-8A BR102013028714B1 (pt) 2012-11-09 2013-11-07 Aparelho e método para aumentar um número de pontos em uma nuvem de pontos

Country Status (8)

Country Link
US (1) US9811880B2 (pt)
EP (1) EP2731075B1 (pt)
JP (1) JP5778237B2 (pt)
KR (1) KR102096673B1 (pt)
CN (1) CN103810744B (pt)
AU (1) AU2013227985B2 (pt)
BR (1) BR102013028714B1 (pt)
CA (1) CA2826534C (pt)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140363073A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation High-performance plane detection with depth camera data
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
CN105469447A (zh) * 2014-09-11 2016-04-06 富泰华工业(深圳)有限公司 点云边界直角边修补系统及方法
US10032311B1 (en) * 2014-09-29 2018-07-24 Rockwell Collins, Inc. Synthetic image enhancing system, device, and method
US9772405B2 (en) 2014-10-06 2017-09-26 The Boeing Company Backfilling clouds of 3D coordinates
FR3028988B1 (fr) * 2014-11-20 2018-01-19 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede et dispositif de filtrage adaptatif temps reel d'images de disparite ou de profondeur bruitees
CN105701861A (zh) * 2014-11-28 2016-06-22 富泰华工业(深圳)有限公司 点云采样方法及系统
CN104484895B (zh) * 2014-12-24 2018-11-20 天脉聚源(北京)科技有限公司 一种数据显示方法及装置
CN114119751A (zh) 2015-11-20 2022-03-01 奇跃公司 用于大规模确定rgbd相机姿势的方法和系统
CN105427239B (zh) * 2015-12-05 2018-05-22 刘忠艳 一种二维点云匹配方法
US9972067B2 (en) 2016-10-11 2018-05-15 The Boeing Company System and method for upsampling of sparse point cloud for 3D registration
US10176589B2 (en) 2017-01-31 2019-01-08 Mitsubishi Electric Research Labroatories, Inc. Method and system for completing point clouds using planar segments
US10444506B2 (en) * 2017-04-03 2019-10-15 Microsoft Technology Licensing, Llc Mixed reality measurement with peripheral tool
EP3467782A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing Method and device for generating points of a 3d scene
US10535138B2 (en) 2017-11-21 2020-01-14 Zoox, Inc. Sensor data segmentation
US10816334B2 (en) 2017-12-04 2020-10-27 Microsoft Technology Licensing, Llc Augmented reality measurement and schematic system including tool having relatively movable fiducial markers
CN109978984A (zh) * 2017-12-27 2019-07-05 Tcl集团股份有限公司 人脸三维重建方法及终端设备
CN111937402A (zh) * 2018-04-11 2020-11-13 索尼公司 图像处理装置和方法
KR102080997B1 (ko) * 2018-08-06 2020-02-24 현대건설주식회사 360카메라를 활용한 자동 실내진도점검시스템 및 점검방법
EP3623752A1 (de) * 2018-09-17 2020-03-18 Riegl Laser Measurement Systems GmbH Verfahren zum generieren einer orthogonalansicht eines objekts
US10614579B1 (en) 2018-10-10 2020-04-07 The Boeing Company Three dimensional model generation using heterogeneous 2D and 3D sensor fusion
KR102640235B1 (ko) * 2019-01-11 2024-02-23 삼성전자주식회사 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치
US10346998B1 (en) * 2019-02-25 2019-07-09 Nurulize, Inc. Method of merging point clouds that identifies and retains preferred points
KR102343123B1 (ko) * 2019-10-04 2021-12-27 현대건설 주식회사 건설현장용 사진기반 데이터 추적관리 시스템 및 추적관리방법
DE102019134324A1 (de) * 2019-12-13 2021-06-17 Connaught Electronics Ltd. Ein Verfahren zum Messen der Topografie einer Umgebung
CN111161338B (zh) * 2019-12-26 2022-05-17 浙江大学 一种基于二维图像灰度进行深度预测的点云密度提升方法
CN111223145A (zh) * 2020-01-03 2020-06-02 上海有个机器人有限公司 数据处理方法、系统、服务装置及其存储介质
CN111260781B (zh) * 2020-01-15 2024-04-19 北京云迹科技股份有限公司 一种生成图像信息的方法、装置和电子设备
CN113362236B (zh) * 2020-03-05 2024-03-05 北京京东乾石科技有限公司 点云增强方法、点云增强装置、存储介质与电子设备
CN111815707A (zh) * 2020-07-03 2020-10-23 北京爱笔科技有限公司 点云确定方法、点云筛选方法、装置、计算机设备
CN111950658B (zh) * 2020-08-28 2024-02-09 南京大学 一种基于深度学习的LiDAR点云与光学影像先验级耦合分类方法
CN113344789B (zh) * 2021-06-29 2023-03-21 Oppo广东移动通信有限公司 图像拼接方法及装置、电子设备、计算机可读存储介质
CN113409227B (zh) * 2021-08-19 2021-11-30 深圳市信润富联数字科技有限公司 点云图修补方法、装置、电子设备和存储介质
CN114004871B (zh) * 2022-01-04 2022-04-15 山东大学 一种基于点云补全的点云配准方法及系统
CN115760855B (zh) * 2023-01-09 2023-05-23 中建科技集团有限公司 工件检查方法及相关设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187809B2 (en) * 2004-06-10 2007-03-06 Sarnoff Corporation Method and apparatus for aligning video to three-dimensional point clouds
US7363157B1 (en) 2005-02-10 2008-04-22 Sarnoff Corporation Method and apparatus for performing wide area terrain mapping
US7586489B2 (en) 2005-08-01 2009-09-08 Nvidia Corporation Method of generating surface defined by boundary of three-dimensional point cloud
US7912257B2 (en) 2006-01-20 2011-03-22 3M Innovative Properties Company Real time display of acquired 3D dental data
US20080112610A1 (en) 2006-11-14 2008-05-15 S2, Inc. System and method for 3d model generation
CN101377404B (zh) 2008-07-11 2010-04-14 北京航空航天大学 一种基于角度约束的空间圆姿态识别二义性消除方法
US8588547B2 (en) * 2008-08-05 2013-11-19 Pictometry International Corp. Cut-line steering methods for forming a mosaic image of a geographical area
US9582889B2 (en) * 2009-07-30 2017-02-28 Apple Inc. Depth mapping based on pattern matching and stereoscopic information
US8885890B2 (en) * 2010-05-07 2014-11-11 Microsoft Corporation Depth map confidence filtering
US20120056982A1 (en) * 2010-09-08 2012-03-08 Microsoft Corporation Depth camera based on structured light and stereo vision
KR101030763B1 (ko) 2010-10-01 2011-04-26 위재영 이미지 획득 유닛, 방법 및 연관된 제어 유닛
CN102129708A (zh) 2010-12-10 2011-07-20 北京邮电大学 增强现实环境中快速多层次虚实遮挡处理方法
EP2686827A1 (en) 2011-03-18 2014-01-22 C3 Technologies AB 3d streets
US8629901B2 (en) * 2011-05-19 2014-01-14 National Taiwan University System and method of revising depth of a 3D image pair
US9111444B2 (en) * 2012-10-31 2015-08-18 Raytheon Company Video and lidar target detection and tracking system and method for segmenting moving targets

Also Published As

Publication number Publication date
CA2826534C (en) 2017-06-13
CN103810744B (zh) 2018-09-21
CN103810744A (zh) 2014-05-21
US9811880B2 (en) 2017-11-07
JP5778237B2 (ja) 2015-09-16
US20140132733A1 (en) 2014-05-15
KR102096673B1 (ko) 2020-04-03
EP2731075B1 (en) 2018-06-20
BR102013028714A2 (pt) 2014-10-07
JP2014096152A (ja) 2014-05-22
AU2013227985A1 (en) 2014-05-29
EP2731075A1 (en) 2014-05-14
KR20140060454A (ko) 2014-05-20
CA2826534A1 (en) 2014-05-09
AU2013227985B2 (en) 2019-01-24

Similar Documents

Publication Publication Date Title
BR102013028714B1 (pt) Aparelho e método para aumentar um número de pontos em uma nuvem de pontos
CN110276829B (zh) 通过多尺度体素哈希处理的三维表示
CN108871349B (zh) 一种深空探测器光学导航位姿加权确定方法
JP7115846B2 (ja) マルコフ・ランダム・フィールド最適化を使用するセグメント化された画像の生成
KR102318023B1 (ko) 에지를 이용한 3차원 모델 생성
US9213899B2 (en) Context-aware tracking of a video object using a sparse representation framework
Concha et al. Using superpixels in monocular SLAM
US20160379375A1 (en) Camera Tracking Method and Apparatus
US20160239976A1 (en) Photogrammetric methods and devices related thereto
US20150243080A1 (en) Visual localisation
CN107170042B (zh) 一种无序图像的多视立体匹配的三维重建方法
Sun et al. Line matching based on planar homography for stereo aerial images
Zhang et al. A new high resolution depth map estimation system using stereo vision and kinect depth sensing
CN106688012A (zh) 深度图增强
JP2021093117A (ja) 連帯的な検出と記述システムおよび方法
Gadasin et al. Reconstruction of a Three-Dimensional Scene from its Projections in Computer Vision Systems
El Hazzat et al. Fast 3D reconstruction and modeling method based on the good choice of image pairs for modified match propagation
Bajramovic et al. Global Uncertainty-based Selection of Relative Poses for Multi Camera Calibration.
McCann 3D Reconstruction from multiple images
JP2023056466A (ja) グローバル測位装置及び方法
Kim et al. Piecewise planar scene reconstruction and optimization for multi-view stereo
KR102455546B1 (ko) 색상을 반영한 포인트 클라우드의 재구성을 위한 반복 최근접 포인트 탐색 방법
Li et al. A point cloud registration method based on dual quaternion description with point-linear feature constraints
Ylimäki et al. Fast and accurate multi‐view reconstruction by multi‐stage prioritised matching
Hess-Flores et al. Ray divergence-based bundle adjustment conditioning for multi-view stereo

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09W Correction of the decision to grant [chapter 9.1.4 patent gazette]

Free format text: O PRESENTE PEDIDO TEVE UM PARECER DE DEFERIMENTO NOTIFICADO NA RPI NO 2656 DE30/11/2021. ATRAVES DA MENSAGEM FALE CONOSCO 988307, A REQUERENTE SOLICITA CORRIGIR O QUADRO1 DO PARECER DE DEFERIMENTO, UMA VEZ QUE NAO CONSTA A ANALISE DA PETICAO NO 870210115011 DE10/12/2021, ASSIM CONCLUO PELA RETIFICACAO DO PARECER DE DEFERIMENTO, DEVENDO INTEGRAR ACARTA PATENTE O QUE CONSTAM NO QUADRO 1 DESTE PARECER.

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/11/2013, OBSERVADAS AS CONDICOES LEGAIS.