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

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

IAR 2.0: API otimizada para aplicações de entretenimento em realidade aumentada na plataforma iOS Állan Milbratz de Camargo Orientador: Dalton Solano dos.

Apresentações semelhantes


Apresentação em tema: "IAR 2.0: API otimizada para aplicações de entretenimento em realidade aumentada na plataforma iOS Állan Milbratz de Camargo Orientador: Dalton Solano dos."— Transcrição da apresentação:

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.

33

34 Amostra de buffer: Box filter

35 Amostra de buffer: Threshold

36 Sequência Macro

37 Método de threshold


Carregar ppt "IAR 2.0: API otimizada para aplicações de entretenimento em realidade aumentada na plataforma iOS Állan Milbratz de Camargo Orientador: Dalton Solano dos."

Apresentações semelhantes


Anúncios Google