A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

César Palomo Dissertação de Mestrado Julho/2009.

Apresentações semelhantes


Apresentação em tema: "César Palomo Dissertação de Mestrado Julho/2009."— Transcrição da apresentação:

1 César Palomo cpalomo@inf.puc-rio.br Dissertação de Mestrado Julho/2009

2 ? Como interpolar amostras visuais de uma cena para gerar vistas virtuais? Câmera virtual Câmera real

3 Como interpolar amostras visuais de uma cena para gerar vistas virtuais? Câmera virtual Câmera real

4 Efeitos especiais: freeze-frame/bullet-time effect Passeios virtuais FTV: telespectador seleciona ponto de vista Games, entretenimento Google Maps®

5 Utiliza primariamente imagens ao invés de geometria para gerar novas vistas Técnicas existentes diferem-se principalmente nos seguintes aspectos: Número de imagens capturadas e usadas para rendering Existência ou não de geometria da cena Obtenção do proxy geométrico usado para interpolação geometria da cena: modelada, capturada por visão computacional ou dispositivo Levoy, Hanrahan 1996 Zitnick et al 2004 Debevec et al 1997 Mattoccia et al 2007

6 Vantagem: não exige grande número de imagens de entrada Métodos de estéreo do estado-da-arte geram mapas de profundidade de boa qualidade Câmeras de captura de Z estão se tornando acessíveis comercialmente Z-Cam – 3DV Systems ® Project Natal - Microsoft ®

7 Mapas de profundidade densos: um valor de Z para cada pixel View-dependent geometry: um mapa de profundidade para cada vista em contra-ponto à utilização de uma única geometria

8

9

10 Permitir posicionamento arbitrário do ponto de vista desejado, com transição suave ao mudar ponto de vista Renderizar vistas virtuais visualmente precisas: com qualidade comparável a imagens reais, livre de artefatos visíveis Performance interativa, sem necessidade de pós ou pré- processamento Usar como entrada somente dados de calibração das câmeras usadas na captura, imagens coloridas e respectivos mapas de profundidade

11 Assume-se uma configuração de câmeras tal como a de Zitnick et al 2004 câmeras com baseline de aproximadamente 30º de espaçamento número modesto de câmeras dispostas em um arco Zitnick et al 2004 - High-quality video view interpolation using a layered representation

12 Entrada: coleção de imagens de n câmeras {C 1, C 2, …, C n } 1. Para obter parâmetros de C virtual, usar par de câmeras adjacentes C i e C i+1 2. Renderizar separadamente vista de cada câmera de referência 3. Fazer composição para gerar imagem final Uso intenso da GPU para manter performance interativa C virtual C1C1C1C1 C2C2C2C2 CiCiCiCi … C i+1 CnCnCnCn …

13 Parâmetros da câmera virtual C virtual definidos como interpolação dos parâmetros de calibração das câmeras de referência CiCiCiCi C i+1 10t Parâmetros de calibração de câmera C i : Matriz intrínseca K Matriz de visualização V (posição e orientação) – decomposta em: posição eye quatérnio de rotação Q C virtual

14 Imagem da câmera de referência C i sofre 3D warping (McMillan et al 1997) para ponto de vista de C virtual : 1. Criar geometria a partir do mapa de profundidade 2. Reprojetar geometria para o ponto de vista desejado 3. Atribuir cor a cada ponto da superfície gerada 4. Identificar regiões de oclusão

15 Gera-se uma malha 3D densa, regular, com número de vértices igual à resolução do mapa de profundidade 1 pixel no mapa de profundidade 1 vértice na malha 3D Imagem WxHMesh com WxH vértices

16 Buffer com mesh 2D com coordenadas (x,y): coluna e linha do mapa de profundidade Vértice (x, y, ?) Z: obtido acessando posição (x, y) do mapa de profundidade (vertex shader) Vértice (x, y, Z) Se dimensão das imagens não muda, buffer pode ser gerado uma única vez economia na transferência CPU-GPU 0W 0 H

17 Reprojeção de C i para C virtual feita em GPU (vertex shader): Unprojection: vértice (x, y, Z) transformado em coordenadas do mundo usando matrizes K i e V i Reprojection: vértice em coordenadas do mundo transformado para ponto de vista C virtual usando matrizes K virtual e V virtual Unproject Reproject

18 Envia-se textura com imagem colorida da câmera C i para a GPU Coordenadas de textura geradas na GPU (vertex shader) Vértice (x, y, Z) coordenada de textura (x, y) Hardware gráfico interpola coordenadas de textura na rasterização Cor (RGB) e profundidade (Z) armazenados em textura (render-to-texture)

19 CiCiCiCi C virtual

20 Áreas oclusas (não capturadas) se tornam visíveis ao mover-se de C i para C virtual Estas regiões devem ser preenchidas com informação da outra câmera de referência

21 Regiões oclusas coincidem com regiões de descontinuidade em Z no mapa de profundidade facilmente identificáveis em um vertex shader Vizinhos do vértice acessados no mapa de profundidade para testar continuidade canal alpha armazena label para posterior tratamento Regiões de oclusão pintadas em preto somente para visualização

22 CiCiCiCi C i+1 C virtual ? Composição (pixel-a-pixel) deve envolver: 1. Função suave de blending – sem saltos bruscos de cor 2. Determinação de visibilidade 3. Tratamento de oclusões

23 Como sugerido por Buehler et al 2001: Distâncias angulares entre ponto de vista desejado e câmeras de referência devem ser usadas para blend consistente Quanto mais próximo C virtual estiver de uma câmera de referência, mais esta camera deve afetar a cor final Buehler et al 2001 – Unstructured Lumigraph Rendering CiCiCiCi C i+1 C virtual

24 Para transição suave entre câmeras, função exponencial usada para calcular pesos de vistas de referência CiCiCiCi C i+1 C virtual

25 CiCiCiCi C i+1 C virtual Pixels marcados como oclusos Pixels mais distantes de C virtual em uma câmera em relação a outra

26 Se distância angular muito pequena, deve penalizar pouco extremo é a câmera virtual coincidente com a câmera de referência CiCiCiCi C i+1 C virtual

27 Ao invés de fazer teste absoluto de Z, levamos informação de oclusão em consideração Nos nossos testes, PENNz = 0.8 deu bons resultados

28 Pesos finais para cada câmera: Depois de normalizar pesos, cor final do pixel p definida como:

29 [CPU-GPU] Geração de buffer para malha 2D com dimensão igual ao mapa de profundidade (envio à GPU uma única vez) [CPU] Determinar matrizes da câmera virtual a partir de par de câmeras adjacentes [CPU-GPU] Atualizar texturas com imagens coloridas e mapas de profundidade para frame atual [GPU] Separadamente para cada vista: Reprojetar malha para ponto de vista desejado, identificando e marcando regiões de oclusão no canal alpha [GPU] Fazer composição, levando em conta distância angular entre as câmeras e penalidades

30

31 Linear no número de pixels das imagens de entrada Performance interativa para imagens Full HD (1920x1080) Images number of pixels x Rendering time per frame (ms) Workstation: Intel Core 2 Quad 2.4GHz Nvidia GeForce 9800 GTX 2 MB RAM

32 Transições suaves de cor quando ponto de vista desejado muda Poucos artefatos visíveis, exceto possivelmente em regiões onde Z estimado no mapa de profundidade não é confiável Com vídeos, flickering na regiões de borda de objetos: os mapas de profundidade de entrada não apresentam coerência temporal Dificilmente se distingue a imagem sintética da imagem real

33 Fantasmas podem aparecer no encontro entre regiões A e B A: região que sofreu blending (vista pelas duas câmeras de ref.) B: região visível somente por uma câmera de ref., oclusa na outra

34 Na imagem capturada: blend entre cor de objeto de frente e objeto de fundo Mapa de profundidade atribui um único valor de Z por pixel Após 3D warping, pixels podem acabar sendo contaminados

35 Contribuição: técnica inteiramente executada em GPU, desde criação de geometria e tratamento de oclusão até composição Resolver limitações Ghosting: pós-processamento ou Gradient-domain compositing Mix frente-fundo: Matting (determinar alpha) em regiões de oclusão na GPU para manter alta performance Coerência temporal para mapas de profundidade frame-a-frame para interpolação de vídeos: evita saltos entre frames Estimar mapas de profundidade para imagens de entrada framework completo de IBR a partir de imagens coloridas

36 cpalomo@inf.puc-rio.br http://www.tecgraf.puc-rio.br/~cpalomo/thesis


Carregar ppt "César Palomo Dissertação de Mestrado Julho/2009."

Apresentações semelhantes


Anúncios Google