BR112021008558A2 - aparelho, método de estimativa de disparidade, e produto de programa de computador - Google Patents

aparelho, método de estimativa de disparidade, e produto de programa de computador Download PDF

Info

Publication number
BR112021008558A2
BR112021008558A2 BR112021008558-0A BR112021008558A BR112021008558A2 BR 112021008558 A2 BR112021008558 A2 BR 112021008558A2 BR 112021008558 A BR112021008558 A BR 112021008558A BR 112021008558 A2 BR112021008558 A2 BR 112021008558A2
Authority
BR
Brazil
Prior art keywords
image
mapping
wide
projection
angle
Prior art date
Application number
BR112021008558-0A
Other languages
English (en)
Inventor
Christiaan Varekamp
Original Assignee
Koninklijke Philips N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips N.V. filed Critical Koninklijke Philips N.V.
Publication of BR112021008558A2 publication Critical patent/BR112021008558A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20068Projection on vertical or horizontal image axis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20228Disparity calculation for image-based rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Measurement Of Optical Distance (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)

Abstract

APARELHO, MÉTODO DE ESTIMATIVA DE DISPARIDADE, E PRODUTO DE PROGRAMA DE COMPUTADOR. A presente invenção se refere a um receptor (201) que recebe uma imagem grande angular com uma primeira projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição de cena até um eixo óptico para a imagem. Dessa forma, a posição de imagem vertical do ponto de cena pode depender da posição de imagem horizontal. Um mapeador (203) gera uma imagem modificada que tem uma projeção modificada mediante a aplicação de um mapeamento à primeira imagem grande angular correspondente a um mapeamento da primeira projeção para uma projeção em perspectiva, seguida de uma projeção vertical não linear mapeando da projeção em perspectiva para uma projeção vertical modificada da projeção modificada, e um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada. Um estimador de disparidade (205) que gera disparidades para a imagem modificada em relação a uma segunda imagem que representa um ponto de vista diferente daquele da primeira imagem grande angular.

Description

APARELHO, MÉTODO DE ESTIMATIVA DE DISPARIDADE, E
PRODUTO DE PROGRAMA DE COMPUTADOR Campo da invenção
[001] A invenção se refere à estimativa de disparidade baseada em uma, ou tipicamente em uma pluralidade de, imagens grande angular e, em particular, mas não exclusivamente, à estimativa de disparidade de imagens capturadas com o uso de uma lente de câmera olho de peixe. Antecedentes da invenção
[002] A variedade e o alcance de aplicações de imagem e vídeo aumentaram substancialmente nos últimos anos com novos serviços e maneiras de usar e consumir vídeo sendo continuamente desenvolvidos e introduzidos.
[003] Por exemplo, um serviço cada vez mais popular é o fornecimento de sequências de imagens de tal forma que o espectador seja capaz de interagir de maneira ativa e dinâmica com o sistema para alterar parâmetros da renderização. Um recurso muito interessante em muitas aplicações é a capacidade de se alterar a posição de visão e a direção de visão efetivas (a pose de visão) do espectador como, por exemplo, possibilitando que o espectador se mova e “olhe ao redor” na cena que é apresentada.
[004] Tal recurso pode, especificamente, possibilitar que uma experiência de realidade virtual seja fornecida a um usuário. Isso pode possibilitar que o usuário se mova de forma (relativamente) livre em um ambiente virtual e altere dinamicamente sua posição e a direção na qual ele está olhando. Geralmente, tais aplicações de realidade virtual são baseadas em um modelo tridimensional da cena, com o modelo sendo calculado dinamicamente para fornecer a visão específica solicitada. Essa abordagem é bem conhecida, por exemplo, a partir de aplicativos de jogos para computadores e consoles, como na categoria de jogos de tiro em primeira pessoa.
[005] É também desejável, em particular, para aplicações de realidade virtual, que a imagem que é apresentada seja uma imagem tridimensional. De fato, para otimizar a imersão do espectador, é geralmente preferencial que o usuário experimente a cena apresentada como uma cena tridimensional. De fato, uma experiência de realidade virtual deve, de preferência, possibilitar que um usuário selecione sua própria posição, ponto de visão da câmera e momento no tempo em relação a um mundo virtual.
[006] Uma grande questão no suporte de vários serviços com base, em particular, em representações tridimensionais de uma cena é que uma grande quantidade de dados é necessária. Isso resulta em altos requisitos de recursos, como uma necessidade de grandes recursos de armazenamento. Entretanto, em muitos cenários, a restrição maior não é os requisitos de processamento ou armazenamento, mas os requisitos de comunicação. Se for exigido que os dados que representam a cena precisam ser comunicados através de um canal de comunicação limitado por largura de banda (tanto externo como interno), é altamente desejável tentar reduzir a quantidade de dados que precisam ser comunicados.
[007] Uma questão específica para diversos novos serviços de conteúdo é que eles têm requisitos substancialmente aumentados para a captura da cena na qual o fornecimento de conteúdo se baseia. Por exemplo, para um serviço de realidade virtual, como especificamente um serviço de vídeo de ponto de vista livre, é necessário que a cena seja capturada a partir de posições e orientações diferentes a fim de gerar dados que possibilitam que imagens de visão sejam geradas para poses de visão diferentes que são tipicamente desconhecidas no momento da captura.
[008] Em muitos sistemas, isso é obtido com o uso de um número relativamente grande de câmeras em diferentes posições e apontadas em diferentes direções a fim de se obter uma captura mais completa da cena. Para reduzir o número de câmeras/capturas separadas e imagens necessárias, é frequentemente desejável capturar a cena com o uso de câmeras grande angular e, frequentemente, câmeras grande angular extremo, como câmeras que empregam lentes olho de peixe.
[009] O artigo “Using Fish-Eye Stereo Vision System for Autonomous Vehicles”, de Masoud et al, 2017, 11ª Asian Control Conference, IEEE, 17 de dezembro de 2017, páginas 1331a 1334, XP033314544 revela um método de navegação para veículos que emprega cálculos de disparidade no use de lentes olho de peixe. Os artigos “Depth Estimation Using Stereo Fish- Eye Lenses” da International Conference on Image Processing, Austin, 13 a 16 de novembro de 1994, e IEEE Comparator 313. Soc. Press, US, volume 2, de 13 de novembro de 1994, páginas 740 a 744, XP010146269 também revelam a estimativa de profundidade baseada em duas lentes olho de peixe. O documento US2010/119172 revela uma correção de olho de peixe com um método de redução de distorção de perspectiva. O artigo “Disparity Estimation Using Stereo Fish-Eye Images with an Application Intermediate View Synthesis” de Eichenseer et al, 2017 IEEE 19th Intnl. Workshop on Multimedia Signal Processing (MMSP), IEEE, 16 de outubro de 2017, páginas 1 a 6, XP033271583 revela uma outra abordagem para estimar a disparidade em imagens obtidas com lente olho de peixe.
[010] Entretanto, tais lentes grande angular tendem a introduzir distorção substancial e tendem a resultar em uma projeção distorcida da cena tridimensional real sobre a imagem. Isso complica ou degrada substancialmente muitas operações. Em particular, isso impede ou complica substancialmente a estimativa de disparidade e de profundidade baseada na comparação de duas imagens obtidas de diferentes pontos de vista.
[011] Portanto, uma abordagem aprimorada para determinar informações de disparidade seria vantajosa. Em particular, seria vantajosa uma abordagem que possibilita uma operação melhorada, uma operação facilitada, uma representação melhorada de uma cena, uma flexibilidade maior, uma implementação facilitada, uma estimativa de disparidade aprimorada e/ou facilitada especialmente para capturas em grande angular, e/ou desempenho aprimorado. Sumário da invenção
[012] Consequentemente, a invenção busca, de preferência, mitigar, aliviar ou eliminar uma ou mais das desvantagens mencionadas acima, individualmente ou em qualquer combinação.
[013] De acordo com um aspecto da invenção, é fornecido um aparelho que compreende: um receptor para receber uma primeira imagem grande angular, sendo que a primeira imagem grande angular tem um ângulo de visão de ao menos 90° e uma primeira projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição de cena até um eixo óptico para a imagem grande angular; um mapeador para aplicar um mapeamento à primeira imagem grande angular a fim de gerar uma imagem modificada que tem uma projeção modificada, sendo que o mapeamento fornece uma função de mapeamento vertical que corresponde a um mapeamento da primeira projeção para uma projeção em perspectiva seguido de um mapeamento vertical não linear da projeção em perspectiva para uma projeção vertical modificada da projeção modificada e uma função de mapeamento horizontal que corresponde a um mapeamento da primeira projeção para a projeção em perspectiva seguido de um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada; um estimador de disparidade para gerar um conjunto de disparidades para a imagem modificada em relação a uma segunda imagem que representa um ponto de vista diferente daquele da primeira imagem grande angular; e um mapeador de disparidade para gerar um conjunto adicional de disparidades para a primeira imagem grande angular, mediante o mapeamento do conjunto adicional de disparidades à primeira projeção, mediante a aplicação de um mapeamento inverso do mapeamento aplicado à primeira imagem grande angular; sendo que o mapeamento horizontal não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular e/ou o mapeamento horizontal não vertical tem um gradiente que diminui com o aumento da distância vertical até o centro da primeira imagem grande angular.
[014] A invenção pode fornecer uma estimativa de disparidade aprimorada e/ou facilitada para, e com base em, uma imagem grande angular em diversas modalidades e cenários. Isso pode, tipicamente, fornecer uma estimativa de disparidade aprimorada a partir de imagens grande angular sem exigir que as mesmas sejam convertidas em imagens grandes com resoluções muito altas (isto é, com contagens de pixels excessivamente grandes) e pode fornecer valores de disparidade que se relacionam diretamente às imagens grande angular. A abordagem pode permitir uma estimativa de disparidade aprimorada enquanto mantém uma resolução relativamente baixa para um ângulo de visão grande. A abordagem pode, tipicamente, fornecer uma estimativa de disparidade aprimorada sem exigir um algoritmo de busca de disparidade que explicitamente leva em consideração a projeção de imagem olho de peixe no procedimento de pesquisa. Isso exigiria uma reformulação da maioria dos muitos algoritmos de estimativa de disparidade que estão em uso hoje em dia e que usam uma varredura baseada em linha horizontal para correlação.
[015] A abordagem pode, em muitos casos, possibilitar que uma estimativa de disparidade horizontal seja usada, e pode remover ou reduzir um requisito para uma pesquisa de disparidade bidimensional apesar da primeira imagem grande angular ter, por exemplo, codependência entre as posições de imagem horizontal e vertical para uma dada posição/ponto de cena.
[016] A abordagem pode, em muitas modalidades, permitir a reutilização de algoritmos e rotinas de estimativa de disparidade existentes desenvolvidos para imagens de ângulo estreito.
[017] A abordagem pode, em muitos cenários, permitir menor complexidade e uso de recursos para a estimativa de disparidade. Por exemplo, em muitas modalidades, isso pode possibilitar que uma estimativa de disparidade baseada em linha seja usada.
[018] A abordagem pode possibilitar mapeamento independente e diferente nas direções vertical e horizontal. Os mapeamentos não lineares podem ser otimizados para os requisitos específicos para as direções horizontal e vertical. Por exemplo, o mapeamento horizontal pode ser otimizado considerando uma estimativa de disparidade horizontal, enquanto o mapeamento vertical pode ser otimizado sem considerar a estimativa de disparidade. Diferentes funções de mapeamento podem ser usadas nas direções horizontal e vertical, sendo que as funções de mapeamento individuais são potencialmente otimizadas para as propriedades e requisitos individuais para as duas direções. As funções de mapeamento vertical e horizontal podem ser diferentes e podem ser otimizadas individualmente.
[019] Uma posição de cena pode ser uma posição em uma cena tridimensional representada pela primeira imagem grande angular. Ela também pode ser chamada de posição espacial mundial conforme frequentemente usado no campo.
[020] A posição de imagem vertical de uma posição de cena depende de uma distância horizontal no sentido de que a posição de imagem vertical pode depender da posição de imagem horizontal (e possivelmente vice-versa).
[021] Em algumas modalidades, o mapeamento vertical não linear compreende um mapeamento em direções opostas para ao menos algumas posições na primeira imagem grande angular que tem um valor vertical igual e valores horizontais diferentes.
[022] Uma projeção para uma imagem pode representar uma projeção/mapeamento de pontos de cena sobre a imagem ou, de modo equivalente, sobre um sensor de imagem que captura a imagem, ou uma janela de visão correspondente à imagem. Tipicamente, projeções práticas dependem das características da lente envolvida na captura da imagem, mas deve-se considerar que uma projeção pode representar qualquer projeção/mapeamento de pontos de cena sobre uma imagem se tal projeção na prática pode ser implementada por uma lente ou não (ou, de fato, se ela pode ser implementada de modo prático). Uma projeção pode ser considerada como correspondente a qualquer mapeamento possível de pontos de cena para uma imagem e pode frequentemente ser descrita como uma fórmula matemática (embora não seja um requisito que seja, ou mesmo possa ser, descrito dessa maneira). Uma projeção vertical pode ser a projeção em uma direção vertical da imagem (para a posição horizontal constante) e uma projeção horizontal pode ser a projeção em uma direção horizontal (para a posição vertical constante).
[023] Um mapeamento pode ser de uma imagem para outra e, especificamente, o mapeamento pode ser de um conjunto de coordenadas de imagem plana para outro conjunto de coordenadas de imagem plana. A primeira imagem grande angular e a imagem modificada podem ser imagens planas. O mapeamento pode ser a partir de um plano de imagem da primeira imagem grande angular até um plano de imagem da imagem modificada.
[024] Qualquer imagem que representa inerentemente uma cena representa inerentemente uma projeção da cena sobre a imagem. Uma distorção espacial de uma imagem (por exemplo, mapeamento de posições de imagem de posições de entrada para diferentes posições de saída) resulta em uma projeção modificada.
[025] O mapeador pode ser disposto para gerar a imagem modificada mediante o mapeamento de posições de imagem na primeira imagem grande angular para posições de imagem na imagem modificada. Tal mapeamento resulta em uma alteração na projeção da primeira imagem grande angular para a imagem modificada.
[026] O mapeamento vertical não linear e o mapeamento horizontal não linear podem formar, juntos, um mapeamento para o qual a posição vertical de saída depende apenas da posição vertical de entrada e a posição horizontal de saída depende apenas da posição horizontal de entrada. O mapeamento vertical não linear pode mapear coordenadas de posição de imagem verticais para coordenadas de posição de imagem verticais. O mapeamento horizontal não linear pode mapear coordenadas de posição de imagem horizontais para coordenadas de posição de imagem horizontais.
[027] De acordo com um recurso opcional da invenção, uma função de mapeamento do mapeamento vertical não linear é diferente de uma função de mapeamento do mapeamento horizontal não linear.
[028] A abordagem pode permitir operação aprimorada e/ou mais eficiente em muitas modalidades. A diferença nas funções de mapeamento dos mapeamentos não lineares faz com que as funções de mapeamento horizontal e vertical sejam diferentes.
[029] De acordo com um recurso opcional da invenção, a função de mapeamento do mapeamento vertical não linear é mais comprimida que a função de mapeamento do mapeamento horizontal não linear.
[030] Isso pode fornecer desempenho aprimorado em muitas modalidades e pode, especificamente em muitos cenários, permitir que seja gerada uma imagem modificada menor (por exemplo, em termos de resolução ou contagem de pixels) que, entretanto, ainda permite uma estimativa de disparidade precisa.
[031] Em algumas modalidades, o mapeamento vertical não linear pode ser mais comprimido que o mapeamento horizontal não linear no sentido de que a mesma faixa de pixels e/ou ângulo de visão é mapeado para uma faixa menor de pixels e/ou ângulo de visão para a direção vertical do que para a direção horizontal.
[032] Em algumas modalidades, o mapeamento vertical não linear pode ser mais comprimido que o mapeamento horizontal não linear no sentido de que o gradiente para o mapeamento vertical não linear é menor que o mapeamento horizontal não linear para o mesmo deslocamento (vertical e horizontal, respectivamente) a partir de um centro de imagem da imagem grande angular.
[033] De acordo com um recurso opcional da invenção, a segunda imagem representa a projeção modificada.
[034] Isso pode permitir uma operação aprimorada e/ou mais eficiente em muitas modalidades. A estimativa de disparidade pode se basear em duas imagens que têm a mesma projeção da cena sobre o sensor/imagem/janela de visão.
[035] De acordo com um recurso opcional da invenção, o aparelho compreende adicionalmente um estimador de profundidade disposto de modo a determinar um conjunto de profundidades para a imagem modificada em resposta ao conjunto de disparidades e ao mapeamento horizontal não linear.
[036] A abordagem pode permitir uma estimativa eficiente e/ou de alto desempenho de profundidade para uma imagem.
[037] De acordo com um recurso opcional da invenção, o mapeador está disposto de modo a aplicar o mapeamento mediante a aplicação de um primeiro mapeamento à primeira imagem grande angular para gerar uma imagem intermediária que tem a projeção em perspectiva e a aplicação de um segundo mapeamento à imagem intermediária para gerar a imagem modificada.
[038] De acordo com um recurso opcional da invenção, o mapeador está disposto de modo a executar retificação para a primeira imagem grande angular como parte do primeiro mapeamento.
[039] A retificação pode incluir uma compensação de distorção. A compensação de distorção pode ser uma compensação para distorções da primeira projeção em relação a um modelo genérico para a primeira projeção. A compensação de distorção pode ser uma compensação para distorções de uma câmera que tenha capturado a primeira imagem grande angular.
[040] Em algumas modalidades, o aparelho compreende adicionalmente um renderizador para sintetizar uma imagem sintetizada a partir da primeira imagem grande angular e disparidades determinadas a partir do conjunto de disparidades para a imagem modificada.
[041] A abordagem pode, em muitas modalidades, permitir síntese aprimorada de imagens. A síntese pode se basear na imagem grande angular original, isto é, em uma imagem sem degradação e sem artefatos que podem ser introduzidos pelo mapeamento. A imagem sintetizada pode ser para um ponto de vista diferente do ponto de vista da primeira imagem grande angular e do ponto de vista da segunda imagem.
[042] Em algumas modalidades, o renderizador está disposto de modo a sintetizar uma imagem sintetizada a partir da primeira imagem grande angular e do conjunto de disparidades para a primeira imagem grande angular.
[043] De acordo com um recurso opcional da invenção, o mapeador está disposto de modo a dividir a primeira imagem grande angular em uma pluralidade de seções de imagem e executar o mapeamento mediante a aplicação de um sub- mapeamento a cada seção de imagem, sendo que o sub-mapeamento para ao menos duas dentre a pluralidade de seções de imagem é diferente.
[044] Isso pode ser particularmente vantajoso em muitas modalidades. Por exemplo, isso pode facilitar o processamento em paralelo, substancialmente reduzindo assim, potencialmente, o atraso de processamento. A abordagem de determinação de estimativas de disparidade para uma imagem grande angular pode ser particularmente adequada para processamento em paralelo.
[045] Em algumas modalidades, o mapeador está disposto de modo a executar retificação estereoscópica como parte do mapeamento, sendo que a retificação estereoscópica é relativa a uma segunda imagem grande angular.
[046] Isso pode proporcionar operação aprimorada e/ou facilitada.
[047] De acordo com um recurso opcional da invenção, o receptor está disposto de modo a receber uma segunda imagem grande angular, sendo que a segunda imagem grande angular é para um ponto de vista diferente da primeira imagem grande angular e tem um ângulo de visão de ao menos 90° e a primeira projeção; e o mapeador está disposto de modo a gerar a segunda imagem mediante a aplicação do mapeamento à segunda imagem grande angular.
[048] De acordo com um recurso opcional da invenção, uma posição de cena que tem diferentes magnitudes de deslocamento horizontal em relação aos eixos ópticos para a primeira imagem grande angular e a segunda imagem grande angular é projetada para diferentes posições verticais na primeira imagem grande angular e na segunda imagem grande angular.
[049] De acordo com um recurso opcional da invenção, o mapeamento mapeia as diferentes posições verticais na primeira imagem grande angular e na segunda imagem grande angular para uma mesma posição vertical na imagem modificada e na segunda imagem.
[050] De acordo com um recurso opcional da invenção, o mapeamento horizontal não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular.
[051] Isso pode proporcionar operação aprimorada e/ou facilitada.
[052] O mapeamento pode, para uma dada posição na primeira imagem grande angular, determinar uma posição na imagem modificada. O mapeamento horizontal não linear pode diminuir a alteração na posição horizontal da imagem modificada quanto maior for a distância horizontal até o centro da primeira imagem grande angular.
[053] O gradiente pode ser determinado como a diferença (delta) na posição de imagem horizontal na imagem modificada dividida pela diferença (delta) na posição de imagem horizontal em uma imagem correspondente à primeira imagem grande angular mapeada para a projeção em perspectiva.
[054] Em algumas modalidades, o mapeamento vertical não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular.
[055] O mapeamento pode, para uma dada posição na primeira imagem grande angular, determinar uma posição na imagem modificada. O mapeamento vertical não linear pode diminuir a alteração na posição vertical da imagem modificada quanto maior for a distância vertical até o centro da primeira imagem grande angular.
[056] O gradiente pode ser determinado como a diferença (delta) na posição de imagem vertical na imagem modificada dividida pela diferença (delta) na posição de imagem vertical em uma imagem correspondente à primeira imagem grande angular mapeada para a projeção em perspectiva.
[057] Quanto mais distante a posição estiver do centro da primeira imagem grande angular e quanto mais próxima estiver da borda da primeira imagem grande angular, menor a alteração na posição de imagem na imagem modificada pode ser para uma dada alteração na posição de imagem para uma imagem que corresponde à primeira imagem grande angular mapeada para uma vista em perspectiva.
[058] De acordo com um aspecto da invenção, é fornecido um método de estimativa de disparidade, sendo que o método compreende: receber uma primeira imagem grande angular, sendo que a primeira imagem grande angular tem um ângulo de visão de ao menos 90° e uma primeira projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição de cena até um eixo óptico para a imagem grande angular; aplicar um mapeamento à primeira imagem grande angular a fim de gerar uma imagem modificada que tem uma projeção modificada, o mapeamento fornecendo uma função de mapeamento vertical que corresponde a um mapeamento da primeira projeção para uma projeção em perspectiva seguido de um mapeamento vertical não linear da projeção em perspectiva para uma projeção vertical modificada da projeção modificada e uma função de mapeamento horizontal que corresponde a um mapeamento da primeira projeção para a projeção em perspectiva seguido de um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada; gerar um conjunto de disparidades para a imagem modificada em relação a uma segunda imagem e representar um ponto de vista diferente daquele da primeira imagem grande angular; e gerar um conjunto adicional de disparidades para a primeira imagem grande angular, mediante o mapeamento do conjunto adicional de disparidades à primeira projeção, mediante a aplicação de um mapeamento inverso do mapeamento aplicado à primeira imagem grande angular, sendo que o mapeamento horizontal não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular e/ou o mapeamento horizontal não vertical tem um gradiente que diminui com o aumento da distância vertical até o centro da primeira imagem grande angular.
[059] Esses e outros aspectos, recursos e vantagens da invenção ficarão evidentes e serão elucidados com referência às uma ou mais modalidades descritas a seguir. Breve descrição dos desenhos
[060] As modalidades da invenção serão descritas, apenas a título de exemplo, com referência aos desenhos, nos quais: A Figura 1 ilustra um exemplo de diferentes projeções de imagem; A Figura 2 ilustra um exemplo de elementos de um aparelho para gerar estimativas de disparidade, de acordo com algumas modalidades da invenção; A Figura 3 ilustra um exemplo de diferentes projeções de imagem; A Figura 4 ilustra um exemplo de diferentes projeções de imagem; A Figura 5 ilustra um exemplo de elementos de um aparelho para gerar estimativas de disparidade, de acordo com algumas modalidades da invenção; A Figura 6 ilustra um exemplo de elementos de um aparelho para gerar estimativas de disparidade, de acordo com algumas modalidades da invenção; A Figura 7 ilustra um exemplo de representações diferentes de uma imagem grande angular; e A Figura 8 ilustra um exemplo de um mosaico de uma imagem grande angular sendo processada pelo aparelho da Figura
2. Descrição detalhada das modalidades
[061] A descrição a seguir tem como foco as modalidades da invenção aplicáveis a processamento de imagens e estimativa de disparidade/profundidade adequadas para, por exemplo, aplicações de realidade virtual ou vídeo tridimensional. Entretanto, deve-se considerar que a invenção não se limita a essa aplicação, mas pode ser aplicada em, por exemplo, muitas outras aplicações diferentes de processamento e renderização de imagens.
[062] Em muitas dessas modalidades, uma cena pode ser capturada a partir de uma pluralidade de poses de captura diferentes. No campo, os termos posicionamento ou uma pose são usados como um termo comum para a posição e/ou direção/orientação e a combinação da posição e direção/orientação de, por exemplo, um objeto, uma câmera ou uma visão é de fato tipicamente chamada de uma pose ou um posicionamento.
[063] Em muitas modalidades, uma cena pode ser capturada simultaneamente de uma pluralidade de poses de captura diferentes com o uso de uma pluralidade de câmeras ou, por exemplo, com o uso de uma câmera estereoscópica que captura simultaneamente duas imagens deslocadas. Em algumas cenas estáticas, as imagens podem ser capturadas sequencialmente por uma única câmera, movendo-se a mesma entre as poses de captura diferentes.
[064] Para caracterizar uma cena tridimensional, são desejáveis informações de profundidade em adição às informações visuais e, em muitas modalidades, as informações de profundidade são derivadas da estimativa de disparidade entre imagens correspondentes (por exemplo, ao mesmo tempo para cenas dinâmicas) visualizando a cena a partir de pontos de vista diferentes. Essa estimativa de disparidade se baseia, tipicamente, na identificação de disparidades entre as direções de observação das poses de captura para o mesmo objeto de cena. Isso é tipicamente alcançado por um processo de encontrar regiões/segmentos/objetos de imagem correspondentes nas imagens a partir de poses de captura diferentes e determinar o deslocamento na posição de imagem entre essas partes de imagem correspondentes nas imagens diferentes.
[065] Em diversas aplicações práticas, como, por exemplo, aplicações de realidade virtual, é desejável capturar grandes seções da cena. Para isso, é particularmente prático em diversas aplicações o uso de câmeras grande angular e, especificamente, o uso de câmeras com lentes olho de peixe. Tais câmeras têm, tipicamente, um ângulo de visão de ao menos 90°, em muitos casos incluindo até 180° ou mesmo mais.
[066] Tais câmeras, entretanto, tendem a introduzir uma distorção substancial ao se capturar uma imagem. De fato, embora todas as câmeras possam tender a introduzir alguma distorção resultante da projeção da cena sobre o plano da imagem, essa distorção é, com frequência, relativamente pequena ou insignificante para câmeras de ângulo mais estreito. Em contrapartida, muitas vezes ela é bastante substancial para câmeras grande angular.
[067] Câmeras de ângulo mais estreito convencionais podem introduzir alguma distorção (de lente) devido à projeção da cena sobre o plano da imagem, mas essa distorção é tipicamente menor e pode ser corrigida por uma transformada ou mapeamento que é aplicado à imagem para convertê-la, por exemplo, em uma projeção em perspectiva não distorcida.
[068] Entretanto, a distorção para imagens e câmeras grande angular é frequentemente extrema. Isso pode ser exemplificado pelo exemplo da Figura 1 que mostra uma imagem gerada por uma câmera grande angular de uma grade equidistante regular de quadrados idênticos pequenos. A Figura 1 ilustra tanto a captura de um padrão regular de quadrados idênticos por uma câmera de perspectiva como a imagem capturada por uma câmera grande angular. Conforme ilustrado, a projeção do padrão sobre o plano de imagem/sensor pela lente grande angular causa em uma distorção substancial que afeta tanto o tamanho quanto o formato da grade e dos retângulos.
[069] Como pode ser visto, uma distorção muito substancial está presente. A distorção é consequência da lente grande angular e é uma desvantagem resultante do desejo de se capturar uma grande parte da cena em uma única imagem. Adicionalmente, a distorção introduz uma dependência entre as posições horizontal e vertical. A posição de imagem vertical de um dado ponto de cena depende não apenas da posição vertical do ponto de cena, mas também da posição horizontal, isto é, depende da distância horizontal entre o eixo óptico da câmera e o ponto de cena. Dessa forma, na imagem grande angular capturada, as posições vertical e horizontal não são independentes.
[070] O inventor descobriu que essa distorção substancialmente aumentada é problemática para determinar informações de profundidade por estimativa de disparidade e, geralmente, resulta em um desempenho substancialmente diminuído, inclusive estimativa imprecisa ou não confiável. Por exemplo, estimadores de disparidade do estado-da-arte executam uma correspondência horizontal que resultará em imprecisões nas disparidades estimadas em direção às bordas das imagens. Isso significa também que estimativas de profundidade derivadas dessas disparidades erradas não serão confiáveis.
[071] Outro problema crítico é que a projeção em grande angular causa a projeção de linhas horizontais da cena sobre linhas da imagem que não são horizontais na imagem (como pode ser visto na Figura 1, uma fileira horizontal de quadrados é convertida em uma fileira arqueada (na direção vertical) de quadrados distorcidos). A maioria dos algoritmos de estimativa de disparidade é baseada na determinação de disparidades horizontais da imagem, já que essas correspondem convencionalmente a disparidades horizontais da cena, refletindo assim as disparidades entre os olhos de um ser humano que são orientados horizontalmente. Entretanto, como isso não é mais uma suposição válida para as imagens grande angular, não podem ser usadas técnicas de estimativa de disparidade existentes. Isso não só é impraticável em termos de dificultar a retrocompatibilidade e a reutilização dos algoritmos existentes, exigindo assim que novos algoritmos sejam desenvolvidos, mas também resulta no requisito de que a estimativa de disparidade precisa ser algoritmos de estimativa de disparidade totalmente bidimensionais, os quais aumentam substancialmente a complexidade e o uso de recursos. Isso também resulta tipicamente em desempenho degradado, uma vez que a suposição de restrição de que disparidades são apenas horizontais não é mais válida. Especificamente, a característica impede que sejam usados algoritmos de estimativa de disparidade existentes baseados em linha.
[072] O inventor também percebeu que simplesmente transformar a imagem em uma imagem intermediária que tem uma projeção em perspectiva (que corresponde à abordagem adequada para imagens de ângulo estreito) não é prático, uma vez que isso exige tamanhos de imagem excessivamente grandes (resoluções/contagens de pixel muito altas).
[073] Mapear uma imagem grande angular para uma projeção em perspectiva enquanto se mantém a resolução no centro da imagem resulta em uma imagem muito grande que exige uma resolução muito alta. Por exemplo, um sensor típico pode ter um tamanho de 4000 pixels horizontalmente por 3000 pixels verticalmente e uma imagem de projeção em perspectiva não distorcida resultante de uma imagem grande angular de tal sensor pode tipicamente exigir uma resolução de ao menos 12000 por 9000 pixels. Tais imagens grandes tendem a ser impraticáveis. Em contrapartida, um estimador de disparidade atual típico (software/hardware) pode ser projetado para uma resolução de imagem de entrada de 1920 pixels horizontalmente e 1080 pixels verticalmente. Tais imagens grandes tendem a ser impraticáveis e têm demandas excessivas de recursos. Por exemplo, elas não são adequadas para a maioria dos algoritmos de estimativa de disparidade existentes, já que terão requisitos de recursos muito altos. Por exemplo, para um campo de visão horizontal de 160 graus, uma imagem em perspectiva não distorcida pode ser três vezes o tamanho (em ambas as dimensões) da imagem grande angular original. Isso significa que a contagem de pixels aumenta por um fator de mais de nove. O custo da estimativa de disparidade, portanto, também aumenta substancialmente.
[074] A Figura 2 ilustra um exemplo de um aparelho para estimativa de disparidade a partir de câmeras grande angular. O aparelho segue uma abordagem e, especificamente, usa um mapeamento que o inventor percebeu que pode resolver alguns dos problemas indicados acima. Em particular, isso pode, em muitas aplicações, permitir a reutilização de algoritmos de estimativa de disparidade existentes e evitar o requisito de imagens excessivamente grandes.
[075] O aparelho compreende um receptor 201 que está disposto de modo a receber ao menos uma imagem grande angular na qual a estimativa de disparidade deve ser realizada. Geralmente, o receptor 201 pode estar disposto de modo a receber uma pluralidade de imagens grande angular que correspondem a diferentes posições de captura com a estimativa de disparidade sendo baseada na descoberta de disparidades entre as diferentes imagens. Entretanto, deve-se considerar que, em algumas modalidades, uma única imagem grande angular pode ser recebida e a estimativa de disparidade pode se basear nisso em comparação com, por exemplo, uma imagem de ângulo mais estreito capturada a partir de outra posição de captura.
[076] A imagem grande angular corresponde especificamente a um ângulo de visão de ao menos 90° em ao menos uma direção, e tipicamente na direção horizontal. A captura em grande angular resulta na imagem representando uma projeção da cena sobre o plano da imagem que tem uma quantidade relativamente alta de distorção, conforme explicado anteriormente. Adicionalmente, a projeção é tal que uma posição de imagem vertical de uma posição espacial mundial depende de uma distância horizontal da posição espacial mundial para um eixo óptico para a imagem. O eixo óptico da lente pode, por exemplo, ser definido como a linha ao longo da qual a luz muda menos na direção.
[077] Um ponto de cena que coincide com o eixo óptico será tipicamente projetado para ou próximo ao centro da imagem. A câmera tem uma orientação inerente em relação ao sensor e, consequentemente, tem uma orientação que corresponde à direção horizontal na cena sendo capturada. Geralmente, uma câmera está fisicamente disposta de modo a ter uma orientação que se destina a se alinhar com a direção horizontal na cena ao ser posicionada de modo que as direções se alinhem.
[078] Deve-se considerar que os termos horizontal e vertical são termos comuns no campo e são tipicamente usados para denotar direções ortogonais para uma imagem e sensor de imagem. Para uma imagem retangular e um sensor de imagem, uma direção (a direção de duas bordas paralelas) é conhecida como a direção horizontal e a outra direção (a direção das outras duas bordas paralelas) é conhecida como a direção vertical, em uso nominal, o sensor de imagem está disposto de modo que a direção horizontal corresponda à direção horizontal na cena/mundo que está sendo capturado e a direção vertical corresponda à direção vertical na cena/mundo que está sendo capturado.
[079] Em relação a uma imagem capturada, isso consequentemente tem uma direção horizontal e vertical. A imagem é tipicamente uma matriz de pixels disposta em uma grade ou matriz regular com a direção de imagem horizontal correspondendo às fileiras da grade/matriz e a direção vertical correspondendo às colunas da grade/matriz. Essa imagem grande angular é gerada a partir de uma captura por um sensor e, dessa forma, o sensor tem uma direção horizontal e uma direção vertical. Tipicamente, a câmera está disposta de modo que, quando a captura é realizada, a direção horizontal do sensor está alinhada com a direção horizontal no espaço de cena e a direção vertical do sensor está alinhada com a direção vertical no espaço de cena.
[080] Para uma imagem de ângulo estreito convencional, a projeção do espaço de cena sobre o sensor é tal que as duas direções são substancialmente independentes no sentido de que a posição na imagem (e, de modo equivalente, o ponto de projeção do sensor) para um ponto de cena (isto é, um ponto no espaço de cena) é independentemente dada a partir das direções correspondentes na cena. Dessa forma, a posição horizontal da imagem/sensor é determinada pela posição horizontal do ponto de cena (em relação ao eixo óptico) e é independente da posição vertical do ponto de cena (em relação ao eixo óptico). De modo similar, a posição vertical da imagem/sensor é determinada pela posição vertical do ponto de cena (em relação ao eixo óptico) e é independente da posição horizontal do ponto de cena (em relação ao eixo óptico). Dessa forma, para imagens de ângulo estreito, a posição de imagem horizontal para um dado ponto na cena depende da posição daquele ponto ao longo de um eixo paralelo à direção horizontal do sensor de imagem. De modo similar, a posição de imagem vertical para um dado ponto na cena depende da posição daquele ponto ao longo de um eixo paralelo à direção vertical do sensor de imagem.
[081] Entretanto, para a imagem grande angular recebida pelo receptor 201, esse não é mais o caso. Especificamente, a posição vertical de um ponto de cena na imagem depende não apenas da posição vertical do ponto de cena, mas também da posição horizontal do ponto de cena. Dessa forma, para um dado ponto de cena, a posição vertical será diferente dependendo se o ponto de cena é capturado em direção ao centro (na direção horizontal) ou em direção às bordas da imagem.
[082] Em outras palavras, a cena é projetada sobre o sensor de imagem de modo que a posição de projeção vertical de um dado ponto na cena depende não apenas da posição vertical do ponto de cena (isto é, a posição na cena em uma direção paralela à direção vertical do sensor de imagem). Ao invés disso, a posição vertical depende também da posição horizontal. Dessa forma, uma rotação da câmera ao redor de um eixo vertical do sensor (isto é, sem alterar a posição do sensor na direção vertical) resultaria em um dado ponto de cena não apenas alterando a posição de imagem horizontal, mas também a posição de imagem vertical.
[083] Dessa forma, para uma câmera grande angular, como uma câmera com lente olho de peixe, as posições de imagem vertical e horizontal não são independentes, mas especificamente, a posição de imagem vertical depende da posição de imagem horizontal.
[084] Nota-se que esse efeito pode ser claramente visto no exemplo da Figura 2, que mostra claramente como a linha horizontal de quadrados é projetada em um arco de quadrados distorcidos com a posição vertical se desviando cada vez mais do centro à medida que se move em direção à borda da imagem.
[085] Em diversos cenários, a dependência da posição horizontal pode ser substancial. Por exemplo, a dependência/projeção pode ser tal que uma diferença do centro até uma borda da imagem grande angular na posição vertical para uma mesma posição de cena vertical pode exceder 1% do tamanho de imagem vertical. Um deslocamento vertical de 1% já é problemático, uma vez que isso corresponderia a 1% de uma altura de imagem de 1080, por exemplo, que equivale a aproximadamente 10 pixels. Um estimador de disparidade que usa apenas correlação horizontal já pode sofrer em questão de desempenho quando o deslocamento vertical entre as imagens esquerda e direita de um par estéreo é maior que apenas um pixel.
[086] No exemplo, o padrão de cena é projetado sobre um padrão quase circular com as distâncias entre os quadrados, bem como o tamanho dos quadrados, diminuindo substancialmente quanto mais distante a distância até o eixo óptico da câmera/imagem representada pelo centro da imagem.
[087] O receptor 201 é acoplado a um mapeador 203 que está disposto de modo a mapear/transformar a imagem grande angular em uma imagem modificada que corresponde a uma projeção diferente da cena/mundo sobre a imagem. A imagem modificada pode ser gerada especificamente para corresponder/representar a mesma janela de visão que a imagem grande angular, mas representando uma projeção diferente da cena sobre a imagem/janela de visão/sensor de imagem.
[088] O mapeador 203 está acoplado a um estimador de disparidade 205 que recebe a imagem modificada, bem como ao menos outra imagem que representa uma captura da cena a partir de um ponto de vista diferente. O estimador de disparidade 205 está disposto de modo a executar uma estimativa de disparidade para gerar um conjunto de disparidades para a imagem modificada em relação à segunda imagem. O estimador de disparidade 205 pode, consequentemente, gerar informações de disparidade indicativas da profundidade dos diferentes objetos de imagem.
[089] O estimador de disparidade 205 pode, por exemplo, executar uma estimativa de disparidade ao encontrar objetos/pontos de imagem correspondentes nas duas imagens, e determinar a disparidade como a distância (possivelmente apenas horizontal) entre as posições destes nas duas imagens.
[090] No exemplo, o aparelho compreende adicionalmente um renderizador 207 que está disposto de modo a sintetizar imagens para diferentes pontos de vista. Por exemplo, o renderizador 207 pode sintetizar uma imagem a partir de uma pose de visão que difere dos pontos/poses de visão capturados com base na imagem modificada e no conjunto de disparidades determinado. Tal processamento pode, por exemplo, aplicar algoritmos de deslocamento de visão, conforme é conhecido pelo versado na técnica.
[091] No aparelho da Figura 2, o mapeador 203 está disposto de modo a transformar a imagem grande angular representando uma primeira projeção da cena sobre a imagem (e, de modo equivalente, sobre o sensor/janela de visão/plano de imagem) em uma imagem modificada que representa uma segunda projeção subjacente e diferente da cena sobre a imagem (e, de modo equivalente, sobre o sensor/janela de visão/plano de imagem). O mapeamento do mapeador 203 é executado mediante o mapeamento de posições na imagem grande angular em posições na imagem modificada. O valor de imagem em uma dada posição na imagem grande angular pode, consequentemente, ser mapeado para fornecer o valor de imagem em uma posição mapeada na imagem modificada (o valor de imagem pode ser um valor de pixel direto na imagem grande angular ou na imagem modificada ou pode, por exemplo, ser um valor interpolado na imagem grande angular ou na imagem modificada para uma posição que não se alinha com as posições de pixel). O mapeamento pode, consequentemente, mapear posições de imagem na imagem grande angular em relação às posições de imagem na imagem modificada. O mapeamento pode ser um mapeamento espacial que fornece uma posição na imagem modificada como uma função de uma posição na imagem grande angular, ou vice-versa. A imagem modificada pode ser gerada com o uso de uma função de mapeamento de um para um entre posições na imagem grande angular e posições na imagem modificada. Uma função de mapeamento pode ser uma função que fornece uma posição na imagem grande angular a partir de uma posição na imagem modificada, e/ou uma função que fornece uma posição na imagem modificada a partir de uma posição na imagem grande angular, com uma função sendo o inverso da outra função.
[092] O mapeamento é implementado com o uso de uma função de mapeamento horizontal e uma função de mapeamento vertical. Cada uma dessas pode ser uma função de um para um e pode mapear em qualquer direção (isto é, da imagem grande angular para a imagem modificada, ou vice-versa) com tipicamente o mapeamento na direção reversa sendo representado pela função inversa.
[093] O mapeamento entre a imagem grande angular e a imagem modificada é, consequentemente, um mapeamento entre duas imagens (para a mesma janela de visão) que têm projeções diferentes da cena até a imagem/janela de visão/sensor.
[094] O mapeador 203 está disposto de modo a gerar a imagem modificada de modo que ele tem uma projeção modificada que corresponde a um mapeamento da primeira projeção para uma projeção em perspectiva seguido de um mapeamento vertical não linear de uma projeção em perspectiva para uma projeção vertical modificada da projeção modificada e um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada. O mapeamento pode fornecer duas funções de mapeamento, a saber, uma função de mapeamento vertical e uma função de mapeamento horizontal. Essas funções podem ser diferentes e podem, geralmente, ser otimizadas para as preferências e requisitos das duas direções.
[095] A função de mapeamento vertical corresponde à função resultante de um mapeamento da primeira projeção para uma projeção em perspectiva seguida de um mapeamento vertical não linear da projeção em perspectiva para uma projeção vertical modificada da projeção modificada. A função de mapeamento c corresponde à função resultante de um mapeamento da primeira projeção para a projeção em perspectiva seguida de um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada.
[096] O mapeador 203 pode executar uma operação na qual ele primeiro mapeia a imagem modificada para uma imagem intermediária que tem uma projeção em perspectiva. A projeção em perspectiva é caracterizada por uma equação de projeção simples na qual a coordenada de imagem horizontal é proporcional à coordenada de cena horizontal dividida pela profundidade da cena e a coordenada de imagem vertical é proporcional à coordenada de cena vertical dividida pela profundidade da cena. Tipicamente, uma imagem olho de peixe esquerda e direita é transformada ao mesmo tempo em dois novos pontos de vista virtuais em perspectiva, onde a remoção da distorção e a rotação das cabeças de câmera são feitas de modo que o par estéreo resultante fique verticalmente alinhado e a correlação estereoscópica possa ser feita linha por linha. Esse primeiro mapeamento pode ser um mapeamento bidimensional que é executado em uma única operação para implementar a primeira parte das funções de mapeamento horizontal e vertical.
[097] O mapeador 203 pode, então, aplicar mapeamentos não lineares à imagem intermediária, sendo que o mapeamento não linear nas direções horizontal e vertical pode ser idêntico ou diferente. Isso resulta em um mapeamento geral que é individual e geralmente diferente para as duas direções, isto é, uma função de mapeamento vertical e uma função de mapeamento horizontal são obtidas. A abordagem pode permitir otimização individual dos mapeamentos nas direções horizontal e vertical.
[098] Os mapeamentos não lineares podem ser tais que a distância entre pontos equidistantes na projeção em perspectiva diminui com a distância até o centro da imagem (especificamente correspondendo ao eixo óptico). Dessa forma, os mapeamentos não lineares são tais que uma compressão das distâncias na imagem intermediária é cada vez mais comprimida a partir do centro da imagem, isto é, a compressão aumenta em direção às bordas da imagem. Os mapeamentos não lineares podem, dessa forma, ser tais que o gradiente do mapeamento de posições na imagem grande angular para posições na imagem modificada diminui quanto mais perto a posição estiver da borda da imagem e mais distante do centro da imagem (com a distância sendo uma distância horizontal ou vertical para o mapeamento horizontal não linear e o mapeamento vertical não linear, respectivamente).
[099] O mapeador 203 pode, dessa forma, aplicar uma transformada de imagem espacial que transforma uma imagem grande angular em uma imagem modificada que tem uma projeção subjacente diferente aplicando-se um mapeamento que corresponde à sequência de:
1. um primeiro mapeamento/transferência para uma projeção em perspectiva; e
2. um segundo mapeamento não linear que pode ser especificamente diferente nas direções horizontal e vertical e que é separado nas direções horizontal e vertical de modo que a posição de saída vertical depende apenas da posição de entrada vertical e a posição de saída horizontal depende apenas da posição de entrada horizontal (fornecendo, assim, a propriedade de que o segundo mapeamento não introduz disparidades verticais entre o par estéreo de imagens retificado).
[100] Isso pode resultar em uma imagem modificada que é uma versão transformada da imagem grande angular original, mas com a propriedade de que a dependência da posição vertical na posição horizontal pode ser removida e com uma projeção que pode representar uma resolução efetiva variável. Essa resolução variável pode, ainda, ser controlada para fornecer uma compensação ideal entre resolução e tamanho da imagem, e pode ser adicionalmente otimizada individualmente nas direções horizontal e vertical.
[101] Uma vantagem específica da abordagem descrita é que a mesma pode permitir uma estimativa de disparidade muito eficiente. Especificamente, a abordagem pode gerar uma imagem modificada na qual a estimativa de disparidade precisa considerar apenas disparidades horizontais e, portanto, a pesquisa por seções de imagem correlacionadas pode ser limitada a pesquisas horizontais. De fato, a abordagem pode até mesmo permitir uma estimativa de disparidade baseada em linha. Adicionalmente, a imagem modificada pode ser gerada de modo que ela é mantida em um tamanho gerenciável e ainda fornece uma resolução razoável. Por exemplo, a resolução no centro da imagem pode ser mantida como sendo igual à resolução da imagem grande angular enquanto, ao mesmo tempo, reduz a resolução em direção à borda da imagem para fornecer um equilíbrio desejado entre o tamanho da imagem e a precisão necessária da estimativa de disparidade na borda da imagem.
[102] Uma vantagem da abordagem é que os mapeamentos não lineares podem ser individualmente otimizados nas direções vertical e horizontal. Isso pode permitir que o mapeamento horizontal seja otimizado para a estimativa de disparidade, de modo a permitir uma correlação e uma estimativa horizontais eficientes. Como a estimativa de disparidade pode ser baseada apenas na consideração das disparidades horizontais, o mapeamento não linear vertical pode ser otimizado sem considerar esses aspectos da estimativa de disparidade.
[103] Dessa forma, em muitas modalidades, diferentes funções de mapeamento podem ser usadas nas direções horizontal e vertical, isto é, as funções de mapeamento vertical e horizontal podem ser diferentes. Especificamente, o relacionamento entre as distâncias para um ponto central na imagem modificada e as distâncias para um ponto central na imagem grande angular podem ser diferentes nas direções horizontal e vertical.
[104] Uma vantagem específica da abordagem reside em que ela pode, em muitas modalidades, possibilitar que seja usado um algoritmo de estimativa de disparidade existente. Por exemplo, muitos algoritmos de estimativa de disparidade foram desenvolvidos para imagens de ângulo estreito (por exemplo, com uma projeção em perspectiva) e a imagem modificada gerada pelo mapeamento descrito pode, em muitos casos, ser usada com tais técnicas de estimativa de disparidade existentes.
[105] No exemplo anterior, o mapeamento/transformação da imagem grande angular para a imagem modificada é feito por meio de um processo em dois estágios, gerando primeiro uma imagem intermediária e, então, gerando a imagem modificada. Isso pode ser feito, por exemplo, mediante a geração de uma imagem intermediária grande que corresponde a uma projeção em perspectiva (e, por exemplo, sem reduzir a resolução do centro da imagem) e, então, mediante o mapeamento da mesma para uma imagem modificada menor. Entretanto, em muitas modalidades, o mapeamento/transformação pode ser feito em uma única operação mapeando diretamente a imagem grande angular na imagem modificada com o uso de um único mapeamento combinado entre as posições da imagem grande angular e as posições na imagem modificada. Por exemplo, para cada posição de pixel na imagem modificada, um mapeamento de posição predeterminada representando a transformada de projeção pode fornecer uma posição na imagem grande angular. O valor de imagem nessa posição (por exemplo, gerado por interpolação adequada de valores de pixel vizinhos) pode, então, ser aplicado a esse pixel na imagem modificada.
[106] Dessa forma, em vez de implementar as funções de mapeamento vertical e horizontal como funções de duas etapas que compreendem primeiro um mapeamento para uma projeção em perspectiva seguido de um mapeamento não linear, uma função de mapeamento pode ser implementada por uma função direta de etapa única que corresponde ao mapeamento que resulta do primeiro mapeamento da projeção em grande angular na projeção de perspectiva seguida de um segundo mapeamento não linear.
[107] Conforme mencionado, a estimativa de disparidade é realizada entre a imagem modificada e uma segunda imagem, que representa a cena a partir de um ponto de vista diferente. É possível que a segunda imagem seja gerada através de outro processo, por exemplo, pode ser uma imagem de ângulo estreito da cena (ou uma imagem combinada formada por uma pluralidade de imagens de ângulo estreito). Nesse caso, a imagem de ângulo estreito será tipicamente mapeada para a mesma projeção que a imagem modificada, de modo a facilitar a estimativa de disparidade. Dessa forma, geralmente (mas não necessariamente sempre) a imagem modificada e a segunda imagem sendo usadas para estimativa de disparidade empregarão as mesmas projeções da cena para as imagens.
[108] Na maioria das modalidades, a segunda imagem será gerada da mesma maneira que a imagem modificada, isto é, a estimativa de disparidade se baseará em ao menos uma primeira e uma segunda imagens modificadas empregando a segunda imagem/projeção modificada resultante do mapeamento de uma imagem grande angular por um mapeamento que corresponde a um mapeamento sequencial da imagem para uma projeção em perspectiva seguido de mapeamentos horizontais e verticais individuais.
[109] Dessa forma, em algumas modalidades, o receptor 201 pode receber, ainda, uma segunda imagem grande angular que também tem um ângulo de visão de ao menos 90° e a mesma projeção que a primeira imagem. O mapeador 203 pode executar a mesma operação nessa imagem, gerando assim uma primeira e uma segunda imagens modificadas nas quais a estimativa de disparidade pode ser realizada.
[110] Deve-se notar que em tal exemplo, o mesmo ponto/posição de cena é tipicamente capturado pelas câmeras em diferentes deslocamentos em relação ao eixo óptico e ao centro das imagens. Devido ao efeito de grande angular, o ponto/posição de cena estará, consequentemente, em diferentes posições horizontais nas duas imagens grande angular. Como consequência, as posições verticais do mesmo ponto de cena nas duas imagens grande angular serão tipicamente diferentes. Entretanto, o mapeamento para as imagens modificadas será diferente para o ponto de cena, de modo que as posições verticais nas duas imagens modificadas correspondentes ao mesmo ponto de cena são idênticas, isto é, elas são mapeadas para a mesma posição vertical, mas diferentes posições horizontais nas duas imagens modificadas. A diferença entre as posições horizontais pode ser determinada pelo estimador de disparidade 205 para fornecer um valor de disparidade para a posição na primeira imagem modificada correspondente ao ponto de cena.
[111] Como um exemplo prático, ferramentas de calibração da biblioteca OpenCV bem conhecida podem ser usadas para determinar um primeiro mapeamento que transformará duas imagens de entrada olho de peixe em um par de imagens estéreo retificado não distorcido, sendo que cada um segue uma projeção em perspectiva. A retificação estereoscópica alinha o eixo óptico mediante a aplicação de uma rotação adequada a cada um dos sistemas de coordenadas de entrada olho de peixe. A abordagem atual pode, então, introduzir um segundo mapeamento que transforma um mapeamento não linear nessa saída. As equações para ambos os mapeamentos podem ser combinadas para construir um único mapeamento combinado. Esse mapeamento pode ser armazenado em uma tabela de remapeamento. Opcionalmente, o inverso desse mapeamento pode também ser armazenado para mapeamento posterior futuro da disparidade/profundidade aos sistemas de coordenadas olho de peixe.
[112] A seguir, um exemplo específico será descrito para elucidar a abordagem. No exemplo, será considerada uma projeção em perspectiva que mapeia o ângulo horizontal em relação a um ponto de cena para uma posição no sensor usando a relação: 𝑟 = 𝑓 𝑡𝑎𝑛(𝜃) (1) onde θ é o ângulo óptico fora do eixo horizontal (ou, em princípio, vertical) [radiano], f é o comprimento focal da lente [m], e r é a distância [m] a partir do centro óptico do sensor até o ponto projetado.
[113] Em contraste, uma lente grande angular, como uma lente olho de peixe, pode, por exemplo, produzir uma resolução angular constante. Por exemplo, uma lente olho de peixe f-teta pode resultar na projeção de: 𝑟 = 𝑓𝜃 (2) onde a resolução é igual para todos os ângulos. Tal lente olho de peixe é, dessa forma, muito atraente para aplicações de realidade virtual onde se deseja olhar em todas as direções e ter uma resolução de imagem constante em todas as direções. A Figura 1 ilustra um exemplo da imagem resultante ao se capturar uma grade de quadrados com o uso de uma câmera com tal lente.
[114] A imagem pode ser fornecida ao receptor 201 e alimentada ao mapeador 203 que mapeia a mesma em uma imagem modificada. Um exemplo da imagem modificada é ilustrado na Figura 3, que mostra tanto a primeira imagem grande angular como a imagem modificada transformada. Como pode ser visto, o mapeamento é tal que a imagem modificada mantém as posições horizontais originais, isto é, cada fileira de quadrados é representada na imagem modificada como uma linha horizontal de retângulos. Adicionalmente, os mapeamentos não lineares resultam em distorção nas direções vertical e horizontal, de modo que as distâncias são comprimidas cada vez mais em direção às bordas da imagem. Entretanto, a compressão/distorção pode ser otimizada para o propósito específico pretendido, e não é dada pelas propriedades da lente ou da imagem grande angular. A transformada pode cobrir a mesma área de sensor que a imagem olho de peixe original. Como pode ser visto, a transformação também resulta em uma alteração de escala/distorção dos quadrados.
[115] Para descrever um exemplo específico do mapeamento/transformada executado pelo mapeador 203, (𝑢, 𝑣) pode denotar as coordenadas de imagem na imagem olho de peixe capturada, isto é, na imagem grande angular recebida. Começando a partir da equação (2), o ângulo fora do eixo pode ser derivado como: 𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝜃= (3) 𝑓
[116] Inserir isso na equação (1) resulta no raio não distorcido: 𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑟𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 = 𝑓 𝑡𝑎𝑛 ( ). (4) 𝑓
[117] O primeiro mapeamento (para uma projeção em perspectiva) para uma única imagem grande angular agora segue como:
𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 = 𝑟𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑠𝑖𝑛(𝜑) = 𝑓 𝑡𝑎𝑛 ( ) 𝑠𝑖𝑛(𝜑) (5) 𝑓 𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 = 𝑟𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑐𝑜𝑠(𝜑) = 𝑓 𝑡𝑎𝑛 ( ) 𝑐𝑜𝑠(𝜑) (6) 𝑓 onde 𝜑 = 𝑎𝑡𝑎𝑛2(𝑣, 𝑢).
[118] A transformada pode, então, aplicar um segundo mapeamento, mas separadamente para 𝑢 e v, isto é, pode ser individualmente na direção horizontal e vertical, primeiro resolvendo (1) para θ e, então, inserindo θ em (2). Após inserir também (5) e (6), obtemos: 𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑢𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑡𝑎𝑛−1 ( ) = 𝑓𝑡𝑎𝑛−1 (𝑡𝑎𝑛 ( ) 𝑠𝑖𝑛(𝑎𝑡𝑎𝑛2(𝑣, 𝑢))) (7) 𝑓 𝑓 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑟𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑣𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑡𝑎𝑛−1 ( ) = 𝑓𝑡𝑎𝑛−1 (𝑡𝑎𝑛 ( ) 𝑐𝑜𝑠(𝑎𝑡𝑎𝑛2(𝑣, 𝑢))) (8) 𝑓 𝑓
[119] Isso possibilita que a posição de imagem na imagem modificada para uma dada posição na imagem grande angular seja determinada.
[120] Em muitas modalidades, o mapeador 203 pode também estar disposto de modo a executar retificação estereoscópica como parte do mapeamento. A retificação estereoscópica é fornecida em relação a outra imagem grande angular que é tipicamente gerada por uma câmera diferente. Especificamente, o mapeador 203 pode incluir retificação estereoscópica para uma configuração de câmera estereoscópica que é usada para gerar as duas imagens usadas na estimativa de disparidade. A retificação estereoscópica é uma operação que é usada para executar um par estéreo alinhado e, portanto, realiza uma rotação de eixo em cada um dos sistemas de coordenadas 3D das imagens de entrada. Ela pode aplicar também um deslocamento de sensor para cada imagem da câmera de entrada. Deve-se considerar que diferentes algoritmos e abordagens para retificação estereoscópica são conhecidos e que qualquer abordagem adequada pode ser usada pelo mapeador
203.
[121] O resultado dessa abordagem pode ser um primeiro mapeamento para uma projeção/visão em perspectiva que compensa tanto a distorção como a retificação estereoscópica.
[122] Suponha que 𝑴 ≡ (𝑀𝑢 (𝑢, 𝑣), 𝑀𝑣 (𝑢, 𝑣)) seja o mapeamento resultante que cria as coordenadas em perspectiva como as seguintes funções: 𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 = 𝑀𝑢 (𝑢, 𝑣) (9) 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 = 𝑀𝑣 (𝑢, 𝑣) (10)
[123] Para um par de câmeras de imagem grande angular calibradas, pode-se agora executar a transformada proposta como: 𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑢𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑡𝑎𝑛−1 ( ) (11) 𝑓 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑣𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑡𝑎𝑛−1 ( ) (12) 𝑓
[124] A transformada total pode agora ser armazenada em um novo mapa 𝑴′ . Dessa forma, um único mapeamento que corresponde ao primeiro e ao segundo mapeamento combinados (um mapeamento para uma projeção em perspectiva e, então, para uma projeção não linear modificada) pode ser usado para mapear diretamente da imagem grande angular de entrada para a imagem modificada. Essa imagem modificada pode, então, ser particularmente adequada para estimativa de disparidade e, especificamente, pode, em diversas modalidades, permitir o uso de estimativa de disparidade padrão, baseada em linha.
[125] Uma vantagem específica da abordagem reside em que ela pode possibilitar um mapeamento diferente nas direções horizontal e vertical. Em diversas modalidades, o mapeamento vertical não linear é, consequentemente,
diferente do mapeamento horizontal não linear, isto é, diferentes funções de mapeamento podem ser usadas nas direções horizontal e vertical.
[126] Especificamente, em diversas modalidades, o mapeamento vertical não linear pode ser mais comprimido que o mapeamento horizontal não linear. Por exemplo, o gradiente da função de mapeamento do mapeador 203 na direção horizontal pode ser menor que o gradiente da função de mapeamento do mapeador 203 na direção vertical. Adicionalmente, o gradiente pode diminuir com o aumento da distância até o centro da imagem grande angular.
[127] Um exemplo de tal abordagem é ilustrado na Figura 4. Neste exemplo, uma imagem grande angular quadrada é mapeada para uma imagem modificada que tem uma extensão maior na direção horizontal, isto é, a imagem grande angular quadrada é mapeada para uma imagem modificada que é mais larga do que alta (deve-se considerar que a imagem quadrada ilustrada pode corresponder a uma seção quadrada de uma imagem). Dessa forma, nesse exemplo, para um dado deslocamento (vertical ou horizontal) em relação ao centro da imagem grande angular, o gradiente do mapeamento é menor para o mapeamento horizontal do que para o mapeamento vertical.
[128] Esse tipo de abordagem pode, por exemplo, facilitar ou melhorar a estimativa de disparidade horizontal, ao mesmo tempo em que reduz o tamanho total da imagem. Isso pode também, em diversas modalidades, facilitar a implementação de hardware mediante a redução dos requisitos de recursos e complexidade.
[129] Como um exemplo específico, diferentes comprimentos focais podem ser selecionados para as direções vertical e horizontal no exemplo específico acima: 𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑢𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑢 𝑡𝑎𝑛−1 ( ) (13) 𝑓𝑓𝑖𝑠ℎ𝑒𝑦𝑒 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 𝑣𝑡𝑟𝑎𝑛𝑠 = 𝑓𝑣 𝑡𝑎𝑛−1 ( ) (14) 𝑓𝑓𝑖𝑠ℎ𝑒𝑦𝑒
[130] Por exemplo, ajustar 𝑓𝑢 = 1 e 𝑓𝑣 = 0,8 resultará no exemplo da Figura 4.
[131] Na descrição anterior, são determinados valores de disparidade para as imagens modificadas, e as imagens modificadas e os valores de disparidade determinados são subsequentemente usados para sintetizar imagens para diferentes pontos de vista.
[132] Em algumas modalidades, o aparelho pode incluir funcionalidade para mapear os valores de disparidade para valores de disparidade de uma imagem grande angular, isto é, para disparidades que se referem à projeção em grande angular de entrada em vez da projeção modificada da imagem modificada.
[133] Por exemplo, conforme ilustrado na Figura 5, o aparelho pode compreender um mapeador de disparidade 501 que está disposto de modo a gerar um conjunto de disparidades para a imagem grande angular, mediante o mapeamento do conjunto de disparidades determinado a partir da imagem modificada e para dentro da projeção da imagem grande angular. Isso é obtido aplicando-se um mapeamento inverso do mapeamento que foi aplicado à imagem grande angular para gerar a imagem modificada. Dessa forma, após a estimativa de disparidade, os valores de disparidade podem ser mantidos nas coordenadas da imagem modificada (𝑢𝑡𝑟𝑎𝑛𝑠 , 𝑣𝑡𝑟𝑎𝑛𝑠 ), ou podem ser transformados de volta nas coordenadas das imagens de entrada (𝑢, 𝑣).
[134] Por exemplo, as equações (7) e (8) podem ser invertidas de modo que as coordenadas (𝑢, 𝑣) podem ser escritas como uma função das coordenadas (𝑢𝑡𝑟𝑎𝑛𝑠 , 𝑣𝑡𝑟𝑎𝑛𝑠 ) da imagem transformada. Outra abordagem é apenas reutilizar o novo mapeamento da tabela de remapeamento 𝑴’ e inverter numericamente o mesmo para produzir 𝑴” .
[135] No exemplo em que as disparidades são geradas para a imagem grande angular, elas podem, em algumas modalidades, ser fornecidas ao renderizador 207 juntamente com a imagem grande angular e o renderizador 207 pode estar disposto de modo a sintetizar imagens para diferentes pontos de vista com base na imagem grande angular e nas disparidades associadas. O algoritmo de renderização pode, nesse caso, levar em conta a distorção da imagem grande angular com o uso de parâmetros intrinsecamente conhecidos da câmera (comprimento focal, parâmetros de distorção) e extrínsecos (rotação) para executar a retificação durante a geração de malha em OpenGL. Isso significa que, em um assim chamado sombreador de vértice, a coordenada de imagem é primeiro transformada em uma coordenada de imagem de perspectiva retificada antes de ser combinada com o valor do mapa de profundidade amostrado para calcular a coordenada de cena 3D (x,y,z). Então, essencialmente, a operação de não distorção/retificação se torna parte da operação de mapeamento de textura, conforme implementado pelo sombreador de vértice e fragmentos de OpenGL.
[136] Tal abordagem pode ser preferencial em diversos cenários, uma vez que ela permite que a imagem original (não filtrada) forme a base para a síntese/renderização de imagem.
[137] Nos exemplos acima, a estimativa de disparidade forneceu valores de disparidade que foram diretamente usados pelo renderizador 207 ao sintetizar uma ou mais imagens. Em algumas modalidades como, por exemplo, no exemplo da Figura 6, o aparelho pode compreender um estimador de profundidade 601 que está disposto de modo a determinar um conjunto de profundidades para a imagem modificada a partir do conjunto de disparidades. O estimador de profundidade 601 pode determinar especificamente um valor de profundidade para cada um dos valores de disparidade.
[138] Entretanto, para fazer isso, o estimador de profundidade 601 precisa levar em conta o mapeamento realizado e, especificamente, o mapeamento horizontal não linear. O mapeamento horizontal não linear afeta a relação entre disparidade/distância da imagem e disparidade/distância do mundo real e, portanto, afeta a relação entre a disparidade determinada e a profundidade de mundo real.
[139] Uma abordagem para determinar a profundidade pode se basear na consideração das equações de projeção em perspectiva para as coordenadas no espaço mundial. Essa abordagem pode considerar os valores (𝑢, 𝑣) e 𝐷(𝑢, 𝑣) no caso da imagem grande angular ou (𝑢𝑡𝑟𝑎𝑛𝑠 , 𝑣𝑡𝑟𝑎𝑛𝑠 ) e 𝐷(𝑢𝑡𝑟𝑎𝑛𝑠 , 𝑣𝑡𝑟𝑎𝑛𝑠 ) no caso da imagem modificada, sendo que a primeira indica a posição na respectiva imagem e a última representa a disparidade de imagem estimada naquela imagem. A partir desses, ele calcula os valores correspondentes (𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 , 𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 ) e 𝐷𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒(𝑢𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 ,𝑣𝑝𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑒 ) na projeção em perspectiva. O valor de disparidade nessa projeção pode ser determinado como o deslocamento, mas agora se refere às duas imagens, mas cada um de acordo com a projeção em perspectiva. E para tal par de imagens não distorcidas e retificadas há uma relação simples entre a disparidade e a profundidade observadas. A partir da disparidade determinada na projeção em perspectiva, a coordenada 3D (x,y,z) pode ser calculada apenas com o uso do deslocamento do sensor, do comprimento focal e da linha de base. Por exemplo, a biblioteca de visão computacional OpenCV fornece a disparidade à matriz de profundidade que executa o mapeamento da coordenada de imagem e da disparidade para x,y,z em coordenadas homogêneas. O valor de profundidade determinado pode, dessa forma, ser armazenado como uma função de coordenadas (𝑢, 𝑣) ou (𝑢𝑡𝑟𝑎𝑛𝑠 , 𝑣𝑡𝑟𝑎𝑛𝑠 ) na imagem grande angular ou na imagem modificada, respectivamente. Contanto que se perceba que a profundidade se refere à projeção de perspectiva e compense isso durante a renderização.
[140] Em algumas modalidades, o mapeador 203 pode estar disposto de modo a dividir a imagem grande angular em uma pluralidade de seções de imagem e, então, executar o mapeamento mediante a aplicação de um sub-mapeamento a cada seção de imagem. Nesse caso, o sub-mapeamento específico nas diferentes seções de imagem será diferente. Especificamente, um mapeamento pode ser determinado para toda a imagem, por exemplo, conforme anteriormente descrito, e, então, o mapeamento correspondente a ser executado em cada seção de imagem pode ser determinado e aplicado àquela seção de imagem como um sub-mapeamento. Tal abordagem pode ser vantajosa em muitas modalidades. Em particular, isso pode facilitar ou possibilitar que processamento em paralelo seja usado para implementar a funcionalidade do mapeador 203. Isso pode, em muitas modalidades, possibilitar uma operação muito mais rápida e pode, por exemplo, possibilitar o processamento em tempo real da imagens grande angular de um fluxo de vídeo (isto é, quadros em grande angular).
[141] Como um exemplo específico, em diversas modalidades ou cenários, pode ser vantajoso particionar a imagem grande angular em blocos. Cada bloco pode, então, ser mapeado separadamente e, de fato, a estimativa de disparidade pode ser realizada separadamente para cada bloco.
[142] A Figura 7 é um exemplo que ilustra o tamanho [em pixels] de uma imagem grande angular de entrada em relação ao tamanho [em pixels] de uma imagem em perspectiva não distorcida equivalente. A Figura 8 ilustra uma possível partição e alteração de escala não linear da imagem não distorcida da Figura 7 em três blocos. Cada bloco mede agora 2000 x 1000 pixels, que é um tamanho adequado para a estimativa de disparidade. Deve-se notar que a alteração de escala não linear difere para cada ladrilho.
[143] A descrição acima descreveu modalidades exemplificadoras em relação a um sistema de captura em grande angular (olho de peixe). Em muitos desses sistemas de captura de imagem, há vários sistemas de coordenadas e mapeamentos.
[144] Primeiramente, o mundo real sendo capturado é representado por um sistema de coordenadas do mundo real que é tipicamente independente da pose de captura. Uma coordenada do mundo real na qual o mundo real é representado com base na posição e orientação da câmera é chamada de um sistema de coordenadas da câmera, isto é, o sistema de coordenadas da câmera reflete coordenadas 3D do mundo real com base na pose da câmera. Dessa forma, o sistema de coordenadas da câmera pode ser considerado um sistema de coordenadas do mundo real 3D espacialmente sincronizado com a pose da câmera de captura.
[145] A captura da imagem projeta o sistema de coordenadas da câmera para um sistema de coordenadas da imagem, isto é, há uma transformação de coordenadas X, Y, Z da câmera 3D (ou representadas por coordenadas esféricas) para coordenadas de imagem 2D (por exemplo, (u,v); (x*,y*)).
[146] Diferentes projeções das coordenadas de câmera 3D para as coordenadas de imagem 2D são conhecidas. As populares incluem a projeção equidistante r=fθ e a projeção em perspectiva r=f tan(θ). Essas projeções representam a projeção das três dimensões do mundo real para o plano bidimensional.
[147] A abordagem descrita é direcionada a um mapeamento diferente daquele dessa projeção do mundo real para o plano de imagem 2D, a saber, ela introduz um mapeamento de um conjunto de coordenadas de imagem 2D para outro conjunto de coordenadas de imagem 2D, isto é, a abordagem está relacionada a um mapeamento 2D para 2D entre duas imagens. Especificamente, o mapeamento é da primeira imagem grande angular para a imagem modificada, isto é, é um mapeamento de imagem para imagem e não um mapeamento de mundo real para plano de imagem (isto é, não é uma projeção do mundo real 3D para uma imagem capturada).
[148] O termo projeção pode se referir tipicamente à projeção de coordenadas em 3D (por exemplo, esféricas) para coordenadas planas em 2D e/ou à projeção do sistema de coordenadas de cena/câmera para um sistema de coordenadas de plano de imagem. O termo mapeamento pode se referir tipicamente ao mapeamento entre sistemas de coordenadas de imagem e, especificamente, o mapeador 203 está disposto de modo a mapear entre duas imagens (planas). O mapeador 203 executa um mapeamento em 2D.
[149] Adicionalmente, esse mapeamento 2D pode compreender dois sub-mapeamentos.
[150] O primeiro é um sub-mapeamento das coordenadas de imagem 2D (u,v) na primeira imagem grande angular (tipicamente a imagem capturada por uma câmera grande angular) para coordenadas de imagem 2D (Uperspective, Vperspective) de uma imagem intermediária.
[151] O segundo é um sub-mapeamento das coordenadas de imagem 2D (Uperspective, Vperspective) da imagem intermediária para as coordenadas de imagem 2D de uma imagem modificada (Utrans, Vtrans).
[152] Esses (sub)mapeamentos são todos mapeamentos 2D entre coordenadas de imagem 2D. Eles mapeiam entre diferentes sistemas de coordenadas de imagem 2D. Eles não são mapeamentos do mundo real 3D ou coordenadas de câmera para coordenadas de imagem 2D.
[153] Obviamente, existe inerentemente uma projeção de uma cena 3D para qualquer imagem 2D que captura a cena 3D. A projeção representa como as coordenadas da cena 3D (por exemplo, representadas por uma esfera de visão) se projetam para coordenadas no plano de imagem. Dessa forma, cada uma dentre a primeira imagem grande angular, a imagem intermediária (potencialmente virtual) e a imagem modificada tem inerentemente uma projeção das coordenadas de câmera para as coordenadas de imagem (sendo que a projeção é diferente para as diferentes imagens).
[154] A projeção a partir das coordenadas de câmera 3D representadas pela primeira imagem grande angular dependerá dos detalhes específicos de captura de imagem pela câmera. No presente caso, a imagem é uma imagem grande angular que tem uma projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição da cena até um eixo óptico para a imagem grande angular. Ela não é uma projeção epipolar.
[155] A projeção específica dependerá, naturalmente, das características da câmera, incluindo potencialmente distorções, etc. A abordagem atual não depende de nenhuma projeção específica sendo implementada pela câmera ou na imagem capturada que tem qualquer projeção específica.
[156] A captura em grande angular pode ser modelada por um modelo de câmera adequado. Um modelo comum para uma lente olho de peixe é a projeção f-teta (vide equação 2): r=fθ.
[157] Entretanto, outros modelos são possíveis. De fato, na prática, a projeção depende em detalhes das propriedades específicas da lente. Frequentemente, a projeção é modelada por um modelo “idealizado” de baixa complexidade como a projeção equidistante acima juntamente com um componente adicional que reflete distorções e imprecisões da lente, etc. Em alguns casos, essas distorções podem ser ignoradas.
[158] O primeiro sub-mapeamento transforma as coordenadas de imagem 2D (u,v) na primeira imagem grande angular em coordenadas de imagem 2D (Uperspective, Vperspective) da imagem intermediária. Consequentemente, o primeiro sub-mapeamento alterará a projeção para a primeira imagem grande angular em uma projeção diferente para a imagem intermediária. Dessa forma, a projeção que existe entre as coordenadas da câmera e as coordenadas de imagem 2D (u,v) da primeira imagem grande angular mudará em uma projeção diferente que existe entre as coordenadas da câmera e as coordenadas de imagem 2D (Uperspective, V perspective) da imagem intermediária.
[159] De fato, na abordagem descrita, o mapeamento é tal que a imagem intermediária tem uma projeção em perspectiva das coordenadas da câmera para as coordenadas da imagem 2D (Uperspective, Vperspective) da imagem intermediária. Dessa forma, a imagem intermediária representa uma projeção em perspectiva das coordenadas da câmera do mundo real 3D sobre o plano de imagem.
[160] O primeiro sub-mapeamento específico que mapeia as coordenadas de imagem 2D (u,v) da primeira imagem grande angular nas coordenadas de imagem 2D (Uperspective, V perspective) da imagem intermediária dependerá da projeção da coordenada de câmera 3D para as coordenadas de imagem 2D (u,v). O mapeamento será tal que o resultado do mapeamento é uma imagem intermediária que tem uma projeção em perspectiva. Dessa forma, o mapeamento é selecionado de modo a resultar nas coordenadas de imagem 2D (Uperspective, Vperspective) da imagem intermediária que correspondem a uma projeção em perspectiva.
[161] A projeção para a primeira imagem grande angular (a primeira projeção) dependerá, para uma imagem capturada, das características da câmera de captura. Se a projeção executada pela câmera for conhecida, ou presumida, então o mapeamento pode ser predeterminado. Por exemplo, se for presumido que a câmera usa uma lente olho de peixe que resulta em uma projeção f-teta r=fθ, então o mapeamento de imagem 2D a 2D usado para se obter uma projeção em perspectiva da imagem resultante (intermediária) segue diretamente.
[162] Entretanto, uma vantagem específica da abordagem é que ela fornece um modo eficiente de se adaptar a câmeras e projeções de captura específicas. Especificamente, são conhecidos algoritmos complexos que podem pesquisar e adaptar parâmetros de mapeamentos de coordenadas de imagem capturada em coordenadas de imagem correspondentes a uma projeção em perspectiva. Muitas dessas abordagens usam um modelo de câmera correspondente a uma projeção ideal subjacente, como uma projeção f-teta para uma lente olho de peixe juntamente com um mapeamento não linear adaptável que é dinamicamente adaptado para compensar distorções e imprecisões individuais para a lente. Esse processo é conhecido como retificação e a abordagem atual pode, em muitas modalidades, se beneficiar de ser capaz de usar tais algoritmos de retificação.
[163] Entretanto, como o inventor percebeu, a projeção em perspectiva tem desvantagens que são particularmente críticas para imagens grande angular, como imagens olho de peixe. A abordagem aborda isso mediante a aplicação do segundo sub-mapeamento que é um mapeamento horizontal não linear a partir da projeção em perspectiva. Isso pode resultar em uma imagem que é adequada para estimativa de disparidade e que não tem requisitos de armazenamento excessivos ou exige estimativa de disparidade com uso intenso de recursos. Adicionalmente, o mapeamento pode ser individual nas direções horizontal e vertical.
[164] A invenção pode ser implementada em qualquer forma adequada, incluindo hardware, software, firmware ou qualquer combinação dos mesmos. A invenção pode, opcionalmente, ser implementada, ao menos parcialmente, como software de computador que é executado em um ou mais processadores de dados e/ou processadores de sinal digital. Os elementos e componentes de uma modalidade da invenção podem ser física, funcional e logicamente implementados de qualquer forma adequada. De fato, a funcionalidade pode ser implementada em uma única unidade, em uma pluralidade de unidades ou como parte de outras unidades funcionais. Assim, a invenção pode ser implementada em uma unidade única ou pode ser distribuída física e funcionalmente entre diferentes unidades, circuitos e processadores.
[165] Embora a presente invenção tenha sido descrita em conexão com algumas modalidades, não se pretende limitá-la à forma específica aqui apresentada. Ao invés disso, o escopo da presente invenção é limitado apenas pelas reivindicações em anexo. Adicionalmente, embora possa parecer que um recurso é descrito em conexão com modalidades específicas, o versado na técnica reconhecerá que vários recursos das modalidades descritas podem ser combinados de acordo com a invenção. Nas reivindicações, o termo “que compreende” não exclui a presença de outros elementos ou outras etapas.
[166] Além disso, embora individualmente mencionados, uma pluralidade de meios, elementos, circuitos ou etapas de métodos podem ser implementados, por exemplo, por meio de um único circuito, uma única unidade ou um único processador. Adicionalmente, embora recursos individuais possam estar incluídos em reivindicações diferentes, eles podem ser vantajosamente combinados, e sua inclusão em reivindicações diferentes não implica que uma combinação de recursos não seja viável e/ou vantajosa.
Além disso, a inclusão de um recurso em uma categoria de reivindicações não implica na limitação a tal categoria, mas, ao invés disso, indica que o recurso é igualmente aplicável a outras categorias das reivindicações, conforme for adequado.
Além disso, a ordem dos recursos nas reivindicações não implica em nenhuma ordem específica na qual os recursos precisam ser trabalhados e, em particular, a ordem das etapas individuais em uma reivindicação de método não implica que as etapas precisam ser executadas nessa ordem.
As etapas podem, na verdade, ser executadas em qualquer ordem adequada.
Além disso, referências no singular não excluem uma pluralidade.
Dessa forma, as referências a “um(a)”, “uns/umas”, “primeiro(a)”, “segundo(a)” etc., não excluem uma pluralidade.
Os sinais de referência nas reivindicações são fornecidos meramente como um exemplo de esclarecimento e não devem ser considerados como limitantes ao escopo das reivindicações.

Claims (14)

REIVINDICAÇÕES
1. APARELHO, caracterizado por compreender: um receptor (201) para receber uma primeira imagem grande angular, sendo que a primeira imagem grande angular tem um ângulo de visão de ao menos 90° e uma primeira projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição de cena até um eixo óptico para a imagem grande angular; um mapeador (203) para aplicar um mapeamento à primeira imagem grande angular a fim de gerar uma imagem modificada que tem uma projeção modificada, sendo que o mapeamento fornece uma função de mapeamento vertical que corresponde a um mapeamento da primeira projeção para uma projeção em perspectiva seguido de um mapeamento vertical não linear da projeção em perspectiva para uma projeção vertical modificada da projeção modificada e uma função de mapeamento horizontal que corresponde a um mapeamento da primeira projeção para a projeção em perspectiva seguido de um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada; um estimador de disparidade (205) para gerar um conjunto de disparidades para a imagem modificada em relação a uma segunda imagem que representa um ponto de vista diferente daquele da primeira imagem grande angular; e e um mapeador de disparidade (501) para gerar um conjunto adicional de disparidades para a primeira imagem grande angular, mediante o mapeamento do conjunto adicional de disparidades à primeira projeção, mediante a aplicação de um mapeamento inverso do mapeamento aplicado à primeira imagem grande angular;
sendo que o mapeamento horizontal não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular e/ou o mapeamento horizontal não vertical tem um gradiente que diminui com o aumento da distância vertical até o centro da primeira imagem grande angular.
2. APARELHO, de acordo com a reivindicação 1, caracterizado por uma função de mapeamento do mapeamento vertical não linear ser diferente de uma função de mapeamento do mapeamento horizontal não linear.
3. APARELHO, de acordo com a reivindicação 2, caracterizado pela função de mapeamento do mapeamento vertical não linear ser mais comprimida que a função de mapeamento do mapeamento horizontal não linear.
4. APARELHO, de acordo com qualquer das reivindicações anteriores, caracterizado pela segunda imagem representar a projeção modificada.
5. APARELHO, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente um estimador de profundidade (601) disposto de modo a determinar um conjunto de profundidades para a imagem modificada em resposta ao conjunto de disparidades e ao mapeamento horizontal não linear.
6. APARELHO, de acordo com a reivindicação 1, caracterizado pelo mapeador (203) estar disposto de modo a aplicar o mapeamento mediante a aplicação de um primeiro mapeamento à primeira imagem grande angular para gerar uma imagem intermediária que tem a projeção em perspectiva e a aplicação de um segundo mapeamento à imagem intermediária para gerar a imagem modificada.
7. APARELHO, de acordo com a reivindicação 6, caracterizado pelo mapeador estar disposto para executar uma retificação da primeira imagem grande angular como parte do primeiro mapeamento.
8. APARELHO, de acordo com a reivindicação 1, caracterizado pelo mapeador (203) estar disposto de modo a dividir a primeira imagem grande angular em uma pluralidade de seções de imagem e executar o mapeamento mediante a aplicação de um sub-mapeamento a cada seção de imagem, sendo que o sub- mapeamento para ao menos duas dentre a pluralidade de seções de imagem é diferente.
9. APARELHO, de acordo com quaisquer das reivindicações 1 a 8, caracterizado pelo mapeador (203) estar disposto de modo a executar uma retificação estereoscópica como parte do mapeamento, sendo que a retificação estereoscópica se refere a uma segunda imagem grande angular.
10. APARELHO, de acordo com as reivindicações 1 a 9, caracterizado pelo receptor (201) estar disposto de modo a receber uma segunda imagem grande angular, sendo que a segunda imagem grande angular é para um ponto de vista diferente da primeira imagem grande angular e tem um ângulo de visão de ao menos 90° e a primeira projeção; e o mapeador (203) estar disposto de modo a gerar a segunda imagem mediante a aplicação do mapeamento à segunda imagem grande angular.
11. APARELHO, de acordo com a reivindicação 10, caracterizado por uma posição de cena que tem diferentes magnitudes de deslocamento horizontal em relação aos eixos ópticos para a primeira imagem grande angular e a segunda imagem grande angular ser projetada para diferentes posições verticais na primeira imagem grande angular e na segunda imagem grande angular.
12. APARELHO, de acordo com a reivindicação 11, caracterizado pelo mapeamento mapear as diferentes posições verticais na primeira imagem grande angular e na segunda imagem grande angular para uma mesma posição vertical na imagem modificada e na segunda imagem.
13. MÉTODO DE ESTIMATIVA DE DISPARIDADE, caracterizado por compreender: receber uma primeira imagem grande angular, sendo que a primeira imagem grande angular tem um ângulo de visão de ao menos 90° e uma primeira projeção onde uma posição de imagem vertical de uma posição de cena depende de uma distância horizontal da posição de cena até um eixo óptico para a imagem grande angular; aplicar um mapeamento à primeira imagem grande angular a fim de gerar uma imagem modificada que tem uma projeção modificada, o mapeamento fornecendo uma função de mapeamento vertical que corresponde a um mapeamento da primeira projeção para uma projeção em perspectiva seguido de um mapeamento vertical não linear da projeção em perspectiva para uma projeção vertical modificada da projeção modificada e uma função de mapeamento horizontal que corresponde a um mapeamento da primeira projeção para a projeção em perspectiva seguido de um mapeamento horizontal não linear da projeção em perspectiva para uma projeção horizontal modificada da projeção modificada; gerar um conjunto de disparidades para a imagem modificada em relação a uma segunda imagem e representar um ponto de vista diferente daquele da primeira imagem grande angular; e gerar um conjunto adicional de disparidades para a primeira imagem grande angular, mediante o mapeamento do conjunto adicional de disparidades à primeira projeção, mediante a aplicação de um mapeamento inverso do mapeamento aplicado à primeira imagem grande angular; sendo que o mapeamento horizontal não linear tem um gradiente que diminui com o aumento da distância horizontal até o centro da primeira imagem grande angular e/ou o mapeamento horizontal não vertical tem um gradiente que diminui com o aumento da distância vertical até o centro da primeira imagem grande angular.
14. PRODUTO DE PROGRAMA DE COMPUTADOR, caracterizado por compreender meios de código de programa de computador adaptados para executar todas as etapas conforme definidas na reivindicação 13, quando o dito programa é executado em um computador.
posição y [m] 1/8 posição x [m]
Rx MPR ESTIMATIVA DE
DISPARIDADE
REND ângulo vertical [graus]
ângulo horizontal [graus]
ângulo vertical [graus] 4/8 ângulo horizontal [graus]
Rx MPR ESTIMATIVA DE
DISPARIDADE
MAPEADOR DE
DISPARIDADE
REND
Rx MPR ESTIMATIVA DE
DISPARIDADE
ESTIMATIVA DE
PROFUNDIDADE
REND olho de peixe não distorcido olho de peixe original esquerda centro direita
BR112021008558-0A 2018-11-06 2019-11-04 aparelho, método de estimativa de disparidade, e produto de programa de computador BR112021008558A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18204567.4A EP3651119A1 (en) 2018-11-06 2018-11-06 Disparity estimation from a wide angle image
EP18204567.4 2018-11-06
PCT/EP2019/080110 WO2020094575A1 (en) 2018-11-06 2019-11-04 Disparity estimation from a wide angle image

Publications (1)

Publication Number Publication Date
BR112021008558A2 true BR112021008558A2 (pt) 2021-08-03

Family

ID=64270618

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021008558-0A BR112021008558A2 (pt) 2018-11-06 2019-11-04 aparelho, método de estimativa de disparidade, e produto de programa de computador

Country Status (8)

Country Link
US (1) US20210407037A1 (pt)
EP (2) EP3651119A1 (pt)
JP (1) JP7326442B2 (pt)
KR (1) KR20210087511A (pt)
CN (1) CN112970044A (pt)
BR (1) BR112021008558A2 (pt)
TW (1) TWI820246B (pt)
WO (1) WO2020094575A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019200632B4 (de) * 2019-01-18 2021-11-25 Audi Ag Bediensystem mit portabler Schnittstelleneinheit sowie Kraftfahrzeug mit dem Bediensystem
US11797854B2 (en) * 2019-07-08 2023-10-24 Sony Semiconductor Solutions Corporation Image processing device, image processing method and object recognition system
EP4075789A4 (en) * 2020-01-23 2023-05-03 Sony Group Corporation IMAGING DEVICE, IMAGING PROCEDURE AND PROGRAM

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07254074A (ja) * 1994-03-15 1995-10-03 Toppan Printing Co Ltd 視差画像作成方法および装置
JP3944188B2 (ja) * 2004-05-21 2007-07-11 株式会社東芝 立体画像表示方法、立体画像撮像方法及び立体画像表示装置
JP4328311B2 (ja) * 2005-04-14 2009-09-09 株式会社東芝 三次元画像表示用多視点画像の作成方法およびプログラム
TWI441514B (zh) * 2008-11-12 2014-06-11 Avisonic Technology Corp 魚眼影像校正及減輕透視變形的影像處理方法及相關影像處理裝置
JP5550970B2 (ja) * 2010-04-12 2014-07-16 住友重機械工業株式会社 画像生成装置及び操作支援システム
JP5760559B2 (ja) * 2011-03-18 2015-08-12 株式会社リコー ステレオカメラ装置、視差画像生成方法
EP2820593B1 (en) * 2012-03-01 2019-11-13 Geo Semiconductor Inc. Method and system for adaptive perspective correction of ultra wide-angle lens images
CN103796002B (zh) * 2014-01-21 2016-01-13 四川大学 基于正交投影的一维集成成像3d拍摄方法
CN103945207B (zh) * 2014-04-24 2015-09-02 浙江大学 一种基于视点合成的立体图像垂直视差消除方法
CN104023221B (zh) * 2014-06-23 2016-04-13 深圳超多维光电子有限公司 立体图像视差调节方法和装置
US10080004B2 (en) * 2014-11-06 2018-09-18 Disney Enterprises, Inc. Method and system for projector calibration
JP5846549B1 (ja) * 2015-02-06 2016-01-20 株式会社リコー 画像処理システム、画像処理方法、プログラム、撮像システム、画像生成装置、画像生成方法およびプログラム
CN108633331A (zh) * 2015-05-05 2018-10-09 皇家飞利浦有限公司 用于自动立体显示器的图像的生成
US10979691B2 (en) * 2016-05-20 2021-04-13 Qualcomm Incorporated Circular fisheye video in virtual reality
US10699389B2 (en) * 2016-05-24 2020-06-30 Qualcomm Incorporated Fisheye rendering with lens distortion correction for 360-degree video
US10917633B2 (en) * 2017-09-15 2021-02-09 Intel Corporation Generating stereoscopic light field panoramas using concentric viewing circles

Also Published As

Publication number Publication date
JP2022506104A (ja) 2022-01-17
EP3877952A1 (en) 2021-09-15
JP7326442B2 (ja) 2023-08-15
WO2020094575A1 (en) 2020-05-14
CN112970044A (zh) 2021-06-15
KR20210087511A (ko) 2021-07-12
US20210407037A1 (en) 2021-12-30
TW202029056A (zh) 2020-08-01
EP3877952C0 (en) 2023-10-04
TWI820246B (zh) 2023-11-01
EP3877952B1 (en) 2023-10-04
EP3651119A1 (en) 2020-05-13

Similar Documents

Publication Publication Date Title
JP6722323B2 (ja) 撮像装置のモデリングおよび校正のためのシステムおよびその方法
US10609282B2 (en) Wide-area image acquiring method and apparatus
US8593524B2 (en) Calibrating a camera system
US9094672B2 (en) Stereo picture generating device, and stereo picture generating method
CN106254854B (zh) 三维图像的获得方法、装置及系统
US20130176392A1 (en) Method And System For Determining Camera Parameters From A Long Range Gradient Based On Alignment Differences In Non-Point Image Landmarks
US20140327736A1 (en) External depth map transformation method for conversion of two-dimensional images to stereoscopic images
JP2011243205A (ja) 映像処理システムおよびその方法
CN107545586B (zh) 基于光场极线平面图像局部的深度获取方法及系统
CN109076200A (zh) 全景立体视频系统的校准方法和装置
BR112021008558A2 (pt) aparelho, método de estimativa de disparidade, e produto de programa de computador
JP2011086111A (ja) 撮像装置校正方法及び画像合成装置
WO2018032841A1 (zh) 绘制三维图像的方法及其设备、系统
CN111009030A (zh) 一种多视高分辨率纹理图像与双目三维点云映射方法
US8019180B2 (en) Constructing arbitrary-plane and multi-arbitrary-plane mosaic composite images from a multi-imager
CN105513074B (zh) 一种羽毛球机器人相机以及车身到世界坐标系的标定方法
CN109785225B (zh) 一种用于图像矫正的方法和装置
WO2018052100A1 (ja) 画像処理装置、画像処理方法、画像処理プログラム
US9538161B2 (en) System and method for stereoscopic photography
KR101634283B1 (ko) 단일영상에서의 3차원 카메라교정을 통한 3차원 공간모델링 형성제어장치 및 방법
JP7033294B2 (ja) 撮像システム、撮像方法
CN106331672B (zh) 视点图像的获得方法、装置及系统
CN112422848A (zh) 一种基于深度图和彩色图的视频拼接方法
CN116977418A (zh) 一种基于双目的远距离火焰定位方法、装置
Okubo et al. Accurate camera calibration method specialized for virtual studios