Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBaltazar Abreu da Rocha Alterado mais de 7 anos atrás
1
iAR 2.0: API otimizada para aplicações de entretenimento em realidade aumentada na plataforma iOS Állan Milbratz de Camargo Orientador: Dalton Solano dos Reis FURB – Universidade Regional de Blumenau DSC – Departamento de Sistemas e Computação Grupo de Pesquisa em Computação Gráfica, Processamento de Imagens e Entretenimento Digital www.inf.furb.br/gcg
2
Roteiro Introdução Fundamentação Desenvolvimento Operacionalidade Resultados Conclusões Demonstração
3
Introdução iPhone Augmented Reality 2.0 API de realidade aumentada para iOS Novas versões das bibliotecas e SO Processamento paralelo com SIMD
4
Fundamentação API de Realidade Aumentada Desenvolvida por Jonathan Hess em 2011/2 Objetos virtuais sobrepostos ao mundo real Plataforma iOS versão 4 Necessitava de otimizações
5
Fundamentação Novas versões Plataforma iOS versão 6 OpenCV versão 2.4.4 ArUco versão 1.2.4 Adicionada arquitetura Armv7s
6
Fundamentação Processamento paralelo Single Instruction Multiple Data Módulo NEON do processador ARM Extensão de 128 bits para a arquitetura ARM 32 registradores com 64 bits de largura Dados de 8, 16, 32 e 64 bits em ponto flutuante ou inteiros
7
Fundamentação Trabalho correlato: AR Defender
8
Fundamentação Trabalho correlato: Vuforia
9
Requisitos a)permitir a captura de imagens através da câmera digital do dispositivo móvel (RF); b)utilizar processamento paralelo em tarefas complexas e/ou extensas (RF); c)disponibilizar de forma paramétrica os algoritmos de RA necessários para se criar uma aplicação de entretenimento (RF); d)ser implementada para a plataforma iOS (RNF).
10
Casos de uso
11
Classes
12
Sequência RA
13
Desenvolvimento Ferramentas XCode Instruments Enterprise Architect SourceTree Bitbucket CMake
14
Desenvolvimento Primeiro passo: analisar o desempenho
15
Método de threshold adaptivo 1.Filtro da imagem para comparação com a original 2.Designar zero ou o valor máximo (255) para cada pixel Desenvolvimento
16
Box filter Média ponderada dos vizinhos de cada pixel Desenvolvimento 1 – definir kernel 2 – calcular denominador 3 – buscar o próximo vizinho, aplicar peso 4 – calcular média, gravar no endereço de saída 1 0 1 0 0 0 1 0 1
17
Conversão de rotinas para assembler C++
18
Execução paralela com SIMD Desenvolvimento 1.Definição dos índices de busca 2.Preparação dos registradores 3.Cáculo da média utilizando shift right accumulate 4.Gravar o resultado em memória Para cada 8 pixels:
19
Conversão de rotinas para assembler C++ e SIMD
20
Conversão de rotinas para assembler ASM e SIMD
21
Método de threshold adaptivo Filtro da imagem para comparação com a original 2.Designar zero ou o valor máximo (255) para cada pixel Desenvolvimento
22
Execução paralela com SIMD Desenvolvimento 1.Carga dos registradores constantes 2.Carga dos registradores que serão comparados 3.Realizar comparação dos valores e atribuir o valor 4.Gravar o resultado em memória Para cada 8 pixels:
23
Método de threshold
24
Operacionalidade
25
Opções de interface Alternar entre modelos 3D e arestas simples Visualizar informações de desempenho Visualizar detalhes de desempenho
26
Resultados Características dos testes Versão 1.0 compilada para iOS 6 Realizados com o dispositivo iPhone 4S ARM Cortex-A9, dois núcleos de 800 MHz 512 MB de memória DDR2
27
Resultados Número de marcadores Memória (Megabytes) iARiAR2 12,522,53 2 2,54 3 2,55 Consumo de memória
28
Resultados Número de marcadores Quadros por segundo Tempo de Detecção (milisegundos) iARiAR2iARiAR2 18,5013,00126,2075,15 27,4011,00140,3390,50 35,9110,13170,12100,53 Desempenho global
29
Resultados Etapa de RA Tempo de execução (milisegundos) iARiAR2 Escala de cinza2,35 Threshold40,331,30 Detectar retângulos40,1333,42 Identificação marcadores28,9324,12 Refinar cantos1,050,05 Remover duplicatas0,050,02 Calcular matriz de posição13,1511,72 Desempenho das etapas de RA
30
Resultados Tipo de codificação Tempo de execução (milisegundos) C++13,35 C++ e SIMD8,50 Assembler e SIMD1,30 Desempenho das versões do algoritmo de threshold
31
Conclusão iPhone Augmented Reality 2.0 Realidade aumentada com desempenho melhorado Manteve as características funcionais da versão 1.0 Rotinas otimizadas com SIMD e Assembler Ainda há espaço para otimizações Open source
32
Extensões Otimizar ainda mais o motor de detecção, utilizando threads; Explorar os recursos de marcadores compostos; Implementar o reconhecimento de marcadores criados pelo usuário; Desenvolver mais a parte de renderização dos objetos 3D; Tornar a API mais independente da plataform iOS, visando compilar para outras plataformas ARM.
34
Amostra de buffer: Box filter
35
Amostra de buffer: Threshold
36
Sequência Macro
37
Método de threshold
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.