• Nenhum resultado encontrado

2015.1 Carlos Emanuel Gomes Sousa

N/A
N/A
Protected

Academic year: 2021

Share "2015.1 Carlos Emanuel Gomes Sousa"

Copied!
63
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA

Carlos Emanuel Gomes Sousa

DESENVOLVIMENTO DE UMA LOUSA DIGITAL UTILIZANDO UM DISPOSITIVO INFRAVERMELHO

FEIRA DE SANTANA 2015

(2)

Carlos Emanuel Gomes Sousa

Desenvolvimento de uma Lousa Digital

utilizando um dispositivo infravermelho

Trabalho de Conclusão de Curso apresentado ao Colegiado do curso de Engenharia de Compu-tação como requisito parcial para obtenção do grau de Bacharel em Engenharia de Computação pela Universidade Estadual de Feira de Santana.

Orientador: Professor Doutor Claudio Eduardo Góes

FEIRA DE SANTANA

2015

(3)

Carlos Emanuel Gomes Sousa

Desenvolvimento de uma Lousa Digital

utilizando um dispositivo infravermelho/ Carlos Emanuel Gomes Sousa. – Feira de Santana,

2015-62p. : il. (algumas color.) ; 30 cm.

Orientador: Professor Doutor Claudio Eduardo Góes

Monografia (Bacharelado) – Universidade Estadual de Feira de Santana , 2015.

1. Lousa digital. 2. Dispositivo IR. 3. Infravermelho. 4. Processamento digital de imagens. 5. Câmera IR. I. Orientador Professor Doutor Claudio Eduardo Góes. II. Universidade Estadual de Feira de Santana. III. Colegiado de Engenharia de Computação. IV. Título Desenvolvimento de uma Lousa Digital utilizando visão computacional e dispositivo IR

(4)

Carlos Emanuel Gomes Sousa

Desenvolvimento de uma Lousa Digital

utilizando um dispositivo infravermelho

Trabalho de Conclusão de Curso apresentado ao Colegiado do curso de Engenharia de Compu-tação como requisito parcial para obtenção do grau de Bacharel em Engenharia de Computação pela Universidade Estadual de Feira de Santana.

Trabalho aprovado. Feira de Santana, 23 de outubro de 2015:

Professor Doutor Claudio Eduardo Góes Orientador

Professor Aécio Pereira Santiago Junior Convidado 1

Professora Fernanda Castelo Branco de Santana

Convidado 2

Feira de Santana

2015

(5)

Este trabalho é dedicado a Anderson Ferraz, o nosso Caco, que foi retirado de nosso convívio de maneira tão abrupta.

(6)

AGRADECIMENTOS

Os agradecimentos principais são direcionados aos meus pais, pela minha educação, sempre me guiando pelo caminho da justiça e da responsabilidade. Aos meus colegas e amigos do curso de Engenharia de Computação, especialmente aos amigos Fladmy, Isabela, Igor, Luiz Bernado e Raphael (Ph) que me ajudaram e entenderam algumas ausências em alguns trabalhos durante o curso. E especialmente ao professor Doutor Claudio Eduardo Góes que me orientou na condução deste trabalho mesmo com o lapso temporal (provocado pelas minhas ausências) da primeira reunião até a finalização.

(7)

“De tanto ver triunfar as nulidades; de tanto ver prosperar a desonra, de tanto ver crescer a injustiça. De tanto ver agigantarem-se os poderes nas mãos dos maus, o homem chega a desanimar-se da virtude, a rir-se da honra e a ter vergonha de ser honesto.” (Rui Barbosa)

(8)

RESUMO

Este trabalho apresenta o desenvolvimento de um sistema de lousa digital composto de software - um programa de lousa digital com funções de importação de slides, escrita na tela, gravação de áudio, gravação em arquivo, salvamento em arquivo e reprodução da aula e, um segundo programa para controle do dispositivo apontador, e hardware - um dispositivo apontador e modificação de uma câmera para transformá-la em uma câmera IR. Aliado ao uso de conhecimentos em processamento digital de imagens e desenvolvimento de software, permitiu-se desta forma apresentar uma opção às lousas digitais comerciais existentes no mercado, que tornam muito onerosa a aquisição destes equipamentos nas escolas públicas.

Palavras-chaves: Lousa Digital. Infravermelho. Processamento Digital De Imagens. Visão Computacional. Câmera Infravermelho.

(9)

ABSTRACT

This paper presents the development of a digital whiteboard system composed of software - A digital whiteboard program with import functions slides Written on the screen, recording audio file recording, saving on file and the class reproduction and a second program to control the pointing device, and hardware - A pointing device and modification a camera to turn it into an IR camera. Coupled with the use of knowledge digital image processing and development software If enabled this way present an option to digital commercial slates on the market, which make it very expensive purchase these equipment in public schools.

Key-words: Digital Whiteboard . Infrared. Digital Processing Images. Computer Vision. Infrared Camera.

(10)

LISTA DE ILUSTRAÇÕES

Figura 1 – Exemplo de montagem do sistema lousa digital . . . 18

Figura 2 – Barra de ferramentas da Lousa Sharp . . . 20

Figura 3 – Barra de ferramentas da Lousa Smart . . . 21

Figura 4 – Barra de ferramentas da Lousa Ebeam . . . 21

Figura 5 – Passos Fundamentais em Processamento de Imagens Digitais . . . 22

Figura 6 – Espectro eletromagnético . . . 24

Figura 7 – Sensibilidade de dispositivos a base de silício em relação aos tamanhos das ondas. . . 24

Figura 8 – Sensibilidade do sensor ICX205AL da sony ao espectro eletromagnético . . 25

Figura 9 – Convenção dos eixos para representação de imagens digitais. . . 26

Figura 10 – Exemplo do filtro de mediana com máscara 3x3 . . . 27

Figura 11 – Pontos de amarração correspondentes em dois segmentos de imagens . . . . 28

Figura 12 – a) Imagem monocromática com 8 bits de resolução de contraste. b) Repre-sentação gráfica do histograma. . . 29

Figura 13 – Histograma de uma imagem escura e uma imagem clara . . . 30

Figura 14 – Módulos que compõe o sistema de lousa digital e desenvolvidos neste trabalho 34 Figura 15 – Visão geral do software lousa digital . . . 35

Figura 16 – Diagrama de classes da hierarquia da aula . . . 36

Figura 17 – Classe ControlaAudio desenvolvida na lousa digital . . . 37

Figura 18 – Visão do funcionamento dos estados - gravar e reproduzir . . . 38

Figura 19 – Fluxograma do software do apontador . . . 39

Figura 20 – Telas geradas dos pontos de calibração em sequência . . . 39

Figura 21 – Funcionamento do software do apontador - módulo execução . . . 40

Figura 22 – Diferença do resultado da aquisição entre: a) câmera normal e b) câmera modificada . . . 40

Figura 23 – Etapas do processamento: a) aquisição, b) Pré-processamento e, c) segmentação 41 Figura 24 – Intensidade radiante relativa vs deslocamento angular . . . 42

Figura 25 – Esquema do circuito elétrico do apontador . . . 43

Figura 26 – Foto do apontador montado com indicação de localização dos componentes 44 Figura 27 – Foto da câmera EYECAM INFOKIT IMM N-100MV WEB6 . . . 45

Figura 28 – Da esquerda para direita: câmera desmontada; suporte plástico e lente; lente completamente desmontada e; lente suporte e filtro IR . . . 46

Figura 29 – Histograma da imagem do teste, com luz somente da lanterna . . . 47

Figura 30 – Histograma da imagem do teste, com luz da lanterna e luz IR do LED. . . . 48

(11)

Figura 32 – Segmentação de imagem com presença da luz do LED IR, a) por Algoritmo

de Otsu, b) por Limiar Fixo . . . 49

Figura 33 – a) Imagem de aquisição sem IR e, b) Segmentação por Algoritmo de Otsu desta imagem . . . 50

Figura 34 – Imagens capturadas pela câmera, resultado para limiar 160: a) positivo, b) positivo, c) negativo e, d) falso negativo . . . 51

Figura 35 – Tela do programa lousa digital . . . 52

Figura 36 – Salvado apresentação como imagens . . . 53

Figura 37 – Tela do programa lousa digital - iniciando nova aula . . . 54

Figura 38 – Tela do programa lousa digital - iniciando nova aula . . . 54

Figura 39 – Janela de entrada de texto com nome da aula . . . 55

Figura 40 – Janela de seleção dos slides que serão inseridos na aula . . . 55

Figura 41 – Janela do programa pronta para uso com primeiro slidecarregado . . . 56

Figura 42 – Arquivos de áudio gerados durante a utilização do programa de lousa digital 57 Figura 43 – Caso de uso da Lousa Digital . . . 57

Figura 44 – Demonstração da Lousa Digital e suas ferramentas . . . 58

(12)

LISTA DE ABREVIATURAS E SIGLAS

UEFS Universidade Estadual de Feira de Santana USP Universidade de São Paulo

RGB Red, Green, Blue - Sistema de cor baseado neste componentes CMY Cyan, Magenta, Yellow

CMYK Cyan, Magenta, Yellow, Black HSI Hue, Saturation, Intensity

OpenCV Open Source Computer Vision Library LED Light Emitting Diode

IR Infra Red

fps frames per second qps quadros por segundo USB Universal Serial Bus

PA Projeto Anual

(13)

LISTA DE SÍMBOLOS

µ Letra grega mu, usada pra expressar média no algoritmo de Otsu Ω Ohm - unidade de resistência elétrica

ω Letra grega minúscula omega, representando probabilidade acumulada σ Letra grega sigma, representado variância quando elevada ao quadrado

(14)

SUMÁRIO

1 INTRODUÇÃO . . . . 15 1.1 Justificativa . . . 15 1.2 Objetivos . . . 16 1.3 Organização do trabalho . . . 16 2 FUNDAMENTAÇÃO TEÓRICA . . . . 17 2.1 Lousa digital . . . 17

2.2 Tecnologias para captação da localização . . . 17

2.2.1 Infravermelho . . . 18

2.2.2 Telas resistivas . . . 18

2.2.3 Ultrassom . . . 19

2.3 Sistemas de computação ubíqua . . . 19

2.3.1 Software para lousa digital . . . 19

2.3.2 Software de lousas comerciais . . . 20

2.3.3 Software de lousa digital desenvolvido no PA . . . 21

2.3.4 Software iClass proposto por pesquisadores da USP . . . 22

2.4 Processamento digital de imagens . . . 22

2.4.1 Passos fundamentais em processamento de imagens digitais . . . 22

2.4.2 Espectro eletromagnético . . . 23

2.4.3 Sensores digitais CCD - Charge-Coupled Device . . . 23

2.4.4 Imagem . . . 25

2.4.5 Espaço de cor (sistema de representação das cores). . . 25

2.4.6 Filtro de mediana. . . 26

2.4.7 Transformações geométricas espaciais . . . 27

2.4.8 Histograma . . . 28

2.4.9 Threshold ( Limiarização) . . . 29

2.4.9.1 Influência da iluminação . . . 30

2.4.9.2 Técnica de limiarização – algoritmo de Otsu . . . 30

3 MATERIAIS E MÉTODOS . . . . 34

3.1 Software lousa digital . . . 35

3.1.1 Definições de projeto . . . 35

3.1.2 Framework e bibliotecas . . . 35

3.1.3 Modelagem . . . 36

(15)

3.1.5 Visão geral das funcionalidades . . . 37

3.1.6 Gravação das aulas . . . 37

3.2 Software dispositivo apontador - OpenCV. . . 38

3.2.1 Aquisição - câmera . . . 40

3.2.2 Pré-processamento . . . 40

3.2.3 Segmentação . . . 41

3.2.4 Representação e descrição. . . 41

3.2.5 Reconhecimento e interpretação. . . 42

3.3 Hardware do dispositivo apontador. . . 43

3.4 Hardware da Câmera digital . . . 44

3.4.1 Velocidade de captura da câmera . . . 44

3.4.2 Modificação na câmera . . . 45

3.4.3 Remoção do filtro IR . . . 45

3.4.4 Filtragem para luz visível . . . 46

3.5 Escolha do limiar de segmentação . . . 46

3.5.1 Ambiente de teste do apontador . . . 46

3.5.2 Análise de histograma . . . 47

3.5.3 Teste do algoritmo de Otsu e limiar fixo . . . 47

3.5.4 Resultados dos testes de detecção . . . 50

4 RESULTADOS . . . . 52

4.1 Software lousa digital . . . 52

4.1.1 Módulo do professor (gravação) . . . 52

4.1.2 Módulo aluno (player ou visualizador) . . . 56

4.1.3 Dispositivo apontador . . . 57

4.2 Limitações conhecidas do projeto . . . 58

5 CONCLUSÃO . . . . 60

(16)

15

1 INTRODUÇÃO

A educação é o principal motor de desenvolvimento de uma sociedade e o resultado da Prova Brasil1 mostrou a discrepância entre as diversas regiões do Brasil. Até dentro de uma

mesma região ainda existe uma grande diferença na qualidade da educação nos grandes centros e nas cidades menores e mais afastadas (INEP,2012).

Muitas iniciativas buscam a melhoria do ensino no mundo. No Brasil não é diferente, e muitos educadores buscam apoio tecnológico para melhorar suas aulas bem como aumentar e reter a atenção dos discentes nas aulas.

Com o avanço da tecnologia, diversos instrumentos vêm sendo criados e adicionados como ferramenta de ensino e aprendizagem nas escolas. Entretanto, devido aos altos valores necessários à execução destes investimentos, estes recursos demoram a estar disponíveis para os professores e estudantes das escolas públicas.

Um grande exemplo destas dificuldades está na lousa digital, que por causa dos seus custos, dificilmente é encontrada em escolas públicas. Por exemplo, o custo estimado para implantação das lousas digitais em todas as escolas públicas do estado de São Paulo estava orçado em R$ 5,5 bilhões de reais (MANDELLI,2012).

A lousa digital se mostra como mais uma importante ferramenta na redução destas diferenças na qualidade da educação entre os grandes centros e as cidades mais afastadas apontados pelo Ministério da Educação e Cultura, inserindo uma série de possibilidades. De uma simples escrita em cima de um slide de aula ou uma possível padronização do conteúdo básico, até uma completa interação com o assunto que estará sendo abordado.

SegundoPiletti(2000) a percepção através de um sentido isolado é menos eficaz do que a percepção através de dois ou mais sentidos. A lousa digital pode proporcionar uma melhor percepção e retenção do conteúdo melhorando a educação.

1.1

Justificativa

O objetivo deste trabalho foi escolhido aliando a obrigatoriedade de um trabalho de con-clusão de curso com a função primordial das universidades (pesquisa para o desenvolvimento da sociedade), buscando desta forma desenvolver uma ferramenta para auxiliar alunos e professores na busca pela melhoria da qualidade de ensino e cotornando os altos custos2 de equipamentos

1 Prova Brasil é uma avaliação realizada pelo Ministério da Educação para avaliar o ensino médio das escolas do

Brasil

2 Pesquisa de preços em vários sites, incluindo Amazom.com, www.touchboards.com e

(17)

equi-Capítulo 1. INTRODUÇÃO 16

comerciais.

1.2

Objetivos

Neste contexto de busca de melhoria no ensino, este trabalho foi direcionado com o objetivo de desenvolver um software para lousa digital de baixo custo e funcionamento intuitivo, utilizando visão computacional, engenharia de software, interface homem-máquina e dispositivo IR (infra Red), permitindo que este conjunto de tecnologia possa se tornar uma nova ferramenta de ensino para os professores e alunos da rede pública de ensino médio e da UEFS.

Mais especificamente, um sistema de lousa digital com capacidade de importar aula a partir de slides, gravar as interações e o áudio produzido sincronizados, permitir salvar a aula em arquivos para distribuição e reprodução e, usar dispositivo infravermelho, câmera e software como dispositivo apontador.

1.3

Organização do trabalho

Este trabalho está divido da seguinte maneira. No capítulo1, é apresentado o traba-lho, a justificativa, descrevendo sua importância e relacionando com a atualização dos meios educacionais.

No capítulo2, é apresentada a fundamentação teórica do trabalho, bem como a explicação dos principais conceitos em tecnologia de lousa digital, tanto na área de software, como de hardware.

No capítulo 3, são apresentados os materiais usados e os métodos empregados no desenvolvimento do software da lousa digital e do apontador, além do dispositivo apontador IR e as modificações na câmera.

No capítulo4, são apresentados os resultados obtidos, o funcionamento do conjunto, as limitações do projeto e nas considerações finais são apresentadas possíveis melhorias e aspectos a serem melhorados na continuidade do trabalho.

(18)

17

2 FUNDAMENTAÇÃO TEÓRICA

Na fundamentação teórica é demostrado os principais conceitos que servirão de base no desenvolvimento deste trabalho, bem como a pesquisa sobre tecnologias similares. Está fundamentação não tem como objetivo explicar detalhadamente todos os conceitos envolvidos, desta forma, é necessário algum conhecimento prévio em processamento digital de imagens e estatística.

2.1

Lousa digital

A lousa ou quadro-negro é o recurso de educação presente em quase toda sala de aula. A lousa tradicional é uma superfície verde, que é riscada por giz de calcário para escrever ou desenhar o que se deseja transmitir de conhecimento aos alunos.

A lousa digital, ou lousa interativa, alia essa conhecida ferramenta (quadro negro) com a tecnologia digital. Existem diferentes tecnologias usadas na confecção das lousas digitais disponíveis comercialmente. Em todas estas lousas digitais, além do hardware envolvido, existe também o desenvolvimento de um software para controlar e possibilitar o uso dos recursos destes dispositivos.

A lousa digital é um um dispositivo de interface humana (human interface device - HID) composto de hardware e software, onde o envio de informações e comandos ao computador são realizados diretamente sobre a área de projeção.

Neste trabalho são descritos o projeto de desenvolvimento e as escolhas do software de uma lousa digital de baixo custo, usando como dispositivo de interface humana um conjunto composto de uma caneta emissora de infravermelho, IR, e uma câmera USB, como sensor de captação da movimentação e o software responsável pelo processamento. Além do uso de um projetor de vídeo e um computador, conforme pode ser visto na Figura1.

2.2

Tecnologias para captação da localização

Existem diversas formas de captação da interação do usuário com o meio ou local de projeção. No caso das lousas digitais as principais tecnologias de hardware envolvidas nos projetos comerciais são: infravermelho – IR; telas resistivas e; ultrassom.

(19)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 18

Figura 1: Exemplo de montagem do sistema lousa digital

Fonte:<http://jaftalks.com/content/topicsimgs/setting-small.png>, adaptado pelo autor.

2.2.1

Infravermelho

Como exemplo de lousa digital com tecnologia infravermelho, existem os modelos PN-L602B e PN-L702B da Sharp R1. Estes modelos utilizam uma matriz de infravermelho sobre a

superfície da tela. O contato com a tela faz interromper estes feixes, permitindo a detecção da localização em que foram cortados os feixes (SHARP,2012).

Além da matriz de feixes infravermelhos, estes modelos também contam com uma caneta apontadora, que usa de comunicação ultrassônica para a detecção da posição.

2.2.2

Telas resistivas

As lousas digitais com tela resistiva assemelham-se com a de matriz de infravermelho, na qual é necessário tocar a tela com o dedo ou um apontador, como por exemplo, uma caneta específica para não danificar a tela, para que seja detectado o local do toque. A diferença é que nas telas resistivas um circuito é fechado quando a tela é pressionada, enquanto na tela de infravermelho, os feixes são interrompidos. As lousas digitais da Smart2usam esta tecnologia.

1 Copyright Sharp Corporation 2 Copyright SMART Technologies

(20)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 19

2.2.3

Ultrassom

A lousa digital da Ebeam3é um exemplo de lousa com esta tecnologia. Ela tem como dispositivo apontador uma caneta que emite um sinal a um dispositivo, que faz a localização desta caneta com base em sensores nas suas extremidades (EBEAM,2012).

A principal diferença entre elas é a necessidade de calibração da tecnologia de ultrassom. Diversas outras características dependem do modelo e não da tecnologia.

2.3

Sistemas de computação ubíqua

ParaSantana et al.(2009), o termo Computação Ubíqua refere-se a ambientes saturados de dispositivos computacionais e redes de comunicação, que se integram naturalmente à atividade humana.

SegundoGomes(2007), em 1988, Mark Weiser e demais colaboradores dos laboratórios do Xerox PARC sintetizaram o que a computação deveria se tornar no futuro: algo invisível. Em 1991, Mark Weiser formalizou esta ideia em seu artigo, quando a comunidade acadêmica viu nascer uma nova linha de pesquisa, a computação ubíqua (Ubiquitious Computing), ou simplesmente ubicomp.

No artigo de Weiser (1994), é dito que, “as mais profundas tecnologias são as que desaparecem”. Desta forma, quanto mais natural for a integração do usuário com o sistema, mais próximo será de um sistema ubíquo.

2.3.1

Software para lousa digital

Como citado anteriormente, a lousa digital é composta de hardware apropriado para interação homem máquina, e um software que permita explorar melhor os recursos de hardware bem como atender a maior quantidade de funções possíveis. Desta forma, um sistema ubíquo de lousa digital deve prezar por um hardware de fácil manipulação e software que permita uma integração natural entre o usuário e o sistema.

Para a decisão das funções a serem implementadas, foram analisados diversos softwares de lousas digitais comerciais, planejados e publicados através de publicações científicas e desenvolvidas em Projetos Anuais4do curso de Engenharia de Computação (subseções2.3.2,

2.3.3,2.3.4).

3 Copyright Luidia, inc.

4 Projeto Anual foi um componente do currículo antigo (até 2011) do Curso de Engenharia de Computação da

UEFS, onde um grupo de alunos, de diferentes fases do curso, participavam do desenvolvimento de algum produto, sob supervisão de um professor.

(21)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 20

2.3.2

Software de lousas comerciais

Foram selecionadas as três marcas com mais documentação técnica disponível nos sites de seus respectivos fabricantes e citadas nas subseções2.2.1,2.2.2e2.2.3.

As lousas digitais da Sharp usam um software que permite o uso de imagens pré-arranjadas ou digitalizadas diretamente para tela. Possui funções básicas de canetas, apagador, desfazer, refazer, selecionar, mover e saídas do trabalho para arquivo e impressão, conforme mostra a Figura2.

Figura 2: Barra de ferramentas das Lousas Digitais Sharp

Fonte: Manual de apresentação do produto. (SHARP,2012)

As lousas digitais da Smart contam com um conjunto de softwares mais elaborados, que incluem ferramentas básicas de lousa digital, semelhantes ao da Sharp, banco de dados de conteúdo e imagens, ferramentas auxiliares de gráficos, tabelas e funções matemáticas, além de permitir criação de conteúdo interativo. Na Figura3pode-se observar a barra de ferramenta estendida.

O software da Ebeam possui apenas funções simples de um sistema de lousa digital, incluindo, além das funções de canetas, ferramentas de desenho, apagador, lupa e alguns atalhos. Seu menu de ferramentas muda de acordo com a aplicação (Figura4) aberta, assumindo ferra-mentas diferentes para melhor aproveitar aplicações como apresentação de slides e planilhas eletrônicas.

(22)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 21

Figura 3: Barra de ferramentas da Lousa Smart Notebook.

Fonte: Montagem do autor usando o próprio programa.

Figura 4: Barra de ferramentas do programa Ebeam

Fonte: Site da Ebeam notebook (EBEAM,2012).

2.3.3

Software de lousa digital desenvolvido no PA

O software desenvolvido no Projeto Anual de 2011 pelos alunos da UEFS, com nome PaLousaDigital, baseou-se na arquitetura proposta por Cattelan no artigo iClass: um sistema para captura e acesso de sessões em ambiente educacional (CATTELAN et al.,2003).

Foram desenvolvidas diversas funções para facilitar e ampliar o uso da ferramenta. Entre as características estão: a gravação de áudio e a calibração do laser que funcionava como dispositivo apontador.

No projeto da Lousa do PA foi utilizado um laser vermelho (espectro visível) como dispositivo apontador, a linguagem de programação usada foi a Java. Também possuia como recurso a gravação do áudio.

O uso de um laser como dispositivo apontador, apresentou limitações, principalmente quando usado sobre projeções de telas com cores próximas a cor projetada do laser. A biblioteca usada no trabalho com imagens foi a java advanced imaging ( JAI), que não é atualizada desde do ano de 2003. A gravação do áudio é realizada por slide, sem a possibilidade de retornar a gravação em um slidejá passado.

(23)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 22

2.3.4

Software iClass proposto por pesquisadores da USP

SegundoCattelan et al.(2003), embora existam muitas demonstrações de aplicações de captura e acesso, construí-las e mantê-las não é uma tarefa trivial. Estas aplicações necessitam de um grande conhecimento em uma variedade de domínios trabalhados, tais como: sistemas distribuídos, sistemas hipermídia, programação concorrente e computação móvel.

O software Iclass foi desenvolvido após estudo e avaliação de diversos outros softwares e frameworkspara aplicação, tais como: INCA (Infrastructure for Capture & Access Applications), xINCA (Extended Infrastructure for Capture & Access Applications), Projeto INDU, StRES (Storing, Retrieving and Extending Service) (CATTELAN et al.,2003).

Cattelan et al.(2003) defende ainda uma estruturação do problema em quatro fases: Pré-produção, Gravação ao vivo, Pós-produção e Acesso.

2.4

Processamento digital de imagens

O processamento digital de imagens consiste em um conjunto de técnicas para capturar, representar e transformar imagens com o auxílio de computador.

2.4.1

Passos fundamentais em processamento de imagens digitais

SegundoGonzalez e Woods(2000), são cinco os passos fundamentais (Figura5) para o processamento de imagens digitais: aquisição de imagens; pré-processamento; segmentação; representação e descrição; e, reconhecimento e interpretação.

A aquisição é feita através de algum sensor de imageamento, com capacidade de digitali-zar a aquisição ou usado em conjunto com algum dispositivo que o faça.

Figura 5: Passos Fundamentais em Processamento de Imagens Digitais

(24)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 23

O pré-processamento consiste na maior parte de transformações lineares e não-lineares aplicadas à imagem visando várias metas, a depender da aplicação, para aumentar as chances de sucesso nos passos seguintes, normalmente com uso de técnicas como remoção de ruídos, detecção de bordas, regiões de interesse, descorrelação e codificação das informações para transmissão da imagem etc. (GONZALEZ; WOODS,2000).

A segmentação é, em termos gerais, o processo que divide a imagem de entrada em partes ou objetos constituintes, sendo uma das tarefas mais difíceis de realizar de forma automática (GONZALEZ; WOODS,2000).

A representação é o processo que captura os dados de saída da segmentação, tipicamente dados em forma de pixels (raw pixel data), que contém dados de fronteiras e regiões completas, e decidir como vai ser representada no processamento computacional. A descrição ou seleção de caraterísticas procura extrair características que resultem em alguma informação quantitativa de interesse, ou que sejam básicas para discriminação entre classe e objetos.

Reconhecimento é o processo que coloca um rótulo a um objeto, baseado na informação fornecida pelo seu descritor. Enquanto a interpretação envolve atribuição de significado a um conjunto de objetos conhecidos (GONZALEZ; WOODS,2000).

A base de conhecimento é meio auxiliar e complementar de todo o processamento de imagem digitais, auxiliando na tomada de decisão em todos os passos (GONZALEZ; WOODS,

2000).

2.4.2

Espectro eletromagnético

A radiação eletromagnética está presente em todo local, entretanto, o olho humano consegue captar apenas uma pequena faixa deste espectro. O espectro de energia representa ondas que possuem um comportamento periódico, podendo ser medidas em unidade de comprimento. A parte visível do espectro eletromagnético situa-se entre ondas de 400x10−9metros e 700x10−9 metros de comprimento de onda (HU; RAUNHEITTE,2004).

A Figura6mostra o espectro eletromagnético evidenciando a estreita faixa desta radiação que o olho humano consegue enxergar.

2.4.3

Sensores digitais CCD - Charge-Coupled Device

As câmeras digitais foram desenvolvidas tentando copiar o sistema visual humano, podendo inclusive fazer uma comparação entre as estruturas de um olho humano e uma câmera digital. Entretanto, os sensores digitais baseados em silício conseguem detectar uma faixa maior do espectro eletromagnético, enquanto o olho humano só é capaz de detectar a radiação visível, ou seja, das ondas entre 400x10−9m e 700x10−9m. Os sensores baseados em silício são capazes de detectar ondas de 300x10−9m e 1000x10−9m (RUSS,2011).

(25)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 24

Figura 6: Espectro eletromagnético

Fonte: Curso de Astronomia para o Ensino Médio, aula 2 (DEBOM,2014)

A Figura7mostra a sensibilidade de dispositivos a base de silício, permitindo observar a capacidade de detectar comprimentos de ondas e sua eficiência em dois tipos de iluminação do alvo, e evidenciando capacidade além das faixas captadas pelo olho humano. A Figura 8

mostra a sensibilidade à luz de um sensor CCD comercial, nela se verifica que o sensor consegue detectar comprimentos maiores que a faixa visual do ser humano (SONY,2014).

Figura 7: Sensibilidade de dispositivos a base de silício em relação aos tamanhos das ondas

(26)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 25

Figura 8: Sensibilidade do sensor ICX205AL da sony ao espectro eletromagnético

Fonte: Datasheet ICX205AL (SONY,2014)

2.4.4

Imagem

SegundoGonzalez e Woods(2000), imagem pode ser definida como uma função bidi-mensional, f(x, y), em que x e y são coordenadas espaciais (plano), e amplitude de f em qualquer par de coordenadas (x, y) é chamada de intensidade ou nível de cinza nesse ponto. A Figura9

mostra a convenção dos eixos para representação de imagens digitais.

Ainda segundoGonzalez e Woods(2000), imagem digital é a imagem quando x, y e os valores de intensidade de f são quantidades finitas e discretas. Uma imagem digital pode ser considerada como uma representação de dados discreta possuindo informação tanto espacial (layout) como de intensidade (cor).

Também pode-se considerar tratar uma imagem como sinal multidimensional ( SOLO-MON; BRECKON,2011).

2.4.5

Espaço de cor (sistema de representação das cores)

As imagens digitais são representadas normalmente nas formas: binárias (duas cores); escala de níveis de cinza (onde cada pixel pode assumir um tom de cinza) e; coloridas, usando um espaço de cor previamente estabelecido.

SegundoGonzalez e Woods(2000), o espaço de cores (sistemas de cores ou modelos de cores) tem como objetivo facilitar a especificação das cores em alguma forma padronizada, sendo essencialmente uma especificação de um sistema de coordenadas e um subespaço dentro desse sistema onde cada cor é representada por um único ponto.

Os modelos de cores mais utilizados na prática são: o modelo RGB (red, green, blue) para monitores coloridos e uma grande classe de câmeras de vídeos; o modelo CMY ( cyan,

(27)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 26

Figura 9: Convenção dos eixos para representação de imagens digitais

Fonte: Próprio autor

magenta, yellow) e o modelo CMYK ( cyan, magenta, yellow, black) para impressão colorida; e o modelo HSI (hue, saturation, intensity – matiz, saturação e intensidade) que correspondem estreitamente à forma como os seres humanos interpretam as cores.

2.4.6

Filtro de mediana

O filtro de mediana é o filtro de estatística de ordem mais conhecido. Esse filtro substitui o valor de um pixel pela mediana dos níveis de intensidade na vizinhança desse pixel (GONZALEZ; WOODS,2000).

O filtro de média é o filtro de matemático que substitui o valor de um pixel pela média dos níveis de intensidade na vizinhança desse pixel (GONZALEZ; WOODS,2000).

Os filtros de mediana proporcionam, para certos tipos de ruídos, excelentes recursos de redução de ruído, com menos borramento que os filtros de suavização de tamanho similar. (GONZALEZ; WOODS,2000)

A filtragem de mediana supera a principal limitação do filtro médio, embora com um maior custo computacional. À medida que cada pixel é abordado, ele é substituído pela mediana dos valores formados pela sua vizinhança NxM. O filtro de mediana é melhor que o filtro de média para preservar detalhes nítidos de alta frequência (bordas), enquanto elimina o ruído, especialmente picos de ruídos isolados (como o ruído “sal e pimenta”) (SOLOMON; BRECKON,

(28)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 27

2011).

Isto acontece porque os valores extremos acabam sendo absorvidos no novo pixel quando usado o filtro médio, enquanto estes valores de picos (altos ou baixos) acabam por serem descartados quando usado filtro de mediana.

Na Figura 10 pode-se observar o funcionamento do filtro de mediana. No primeiro quadrado tem-se a imagem, uma matriz 5x5, o pixel que está sendo filtrado no momento no centro (em verde), e a máscara 3x3 em amarelo. O novo valor do pixel central vai ser o valor do meio da sequência de valores que compõem a máscara com o pixel, como mostrado no vetor abaixo das duas matrizes. Na matriz da direita está a imagem com o novo valor do pixel central.

Figura 10: Exemplo do filtro de mediana com máscara 3x3

Fonte: Próprio autor

2.4.7

Transformações geométricas espaciais

As transformações geométricas modificam a relação espacial entre os pixels de uma imagem. Essas transformações costumam ser chamadas de transformações do tipo rubber sheet (superfície de borracha) (GONZALEZ; WOODS,2000).

Estas transformações consistem em duas operações básicas: (1) uma transformação espacial de coordenadas e (2), interpolação de intensidade que atribui níveis de intensidade aos pixelstransformados espacialmente (GONZALEZ; WOODS,2000).

Uma imagem f, com coordenadas de pixels (x, y) que sofra distorção geométrica produz uma imagem g com coordenadas (x’, y’) que podem ser representadas pelas equações2.1e2.1:

(29)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 28

y0 = s(x, y) (2.2)

Sendo r(x, y) e s(x, y) as transformações espaciais que produzem a imagem g(x’, y’) geometricamente distorcida (GONZALEZ; WOODS,2000).

Ainda segundo Gonzalez e Woods (2000), teoricamente, se r(x, y) e s(x, y) fossem conhecidas, seria possível recuperar f(x, y) através de transformações inversas. Entretanto, na prática, não é normalmente possível formular analiticamente um único conjunto de funções r(x, y) e s(x, y) que descrevam o processo de distorção geométrica sobre todo o plano da imagem. Assim, o método mais utilizado para contornar isto é formular a relocação espacial dos pixels pelo uso de pontos de amarração.

Pontos de amarração é um subconjunto de pixels cuja posição nas imagens de entrada (distorcida) e de saída (corrigida) é precisamente conhecida. A Figura11facilita a visualização do que são os pontos de amarração (GONZALEZ; WOODS,2000).

Figura 11: Pontos de amarração correspondentes em dois segmentos de imagens

Fonte: (GONZALEZ; WOODS,2000)

2.4.8

Histograma

O histograma de uma imagem é simplesmente um conjunto de números indicando o percentual de pixels naquela imagem que apresenta um determinado nível de cinza. Estes valores são normalmente representados por um gráfico de barras que fornece para cada nível de cinza o número (ou o percentual) de pixels correspondentes na imagem.

Um histograma é uma representação gráfica da função de distribuição de probabilidades, e como tal, deve obedecer aos axiomas e teoremas da teoria de probabilidade (MARQUES FILHO; VIEIRA NETO,1999).

(30)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 29

Cada elemento deste conjunto ( histograma) é calculado como:

Pr(rk) = (nk/n) (2.3)

onde:

0 ≤ rk ≤ 1 com K = 0, 1, ..., L − 1, sendo L é o número de níveis de cinza da imagem

digitalizada;

rkrepresenta o k-ésimo nível de cinza.

n = número total de pixels na imagem;

Pr(rk) = probabilidade do k-ésimo nível de cinza;

nk= número de pixels cujo nível de cinza corresponde a k.

Na Figura12pode-se observar uma imagem e a representação gráfica de seu histograma normalizado. O eixo x representa a quantidade de níveis de cinza possíveis na imagem, enquanto o eixo y representa a probabilidade de um pixel qualquer desta imagem ter aquela intensidade. Figura 12: a) Imagem monocromática com 8 bits de resolução de contraste. b) Representação

gráfica do histograma.

Fonte: (OPENCV,2014a)

2.4.9

Threshold ( Limiarização)

A comparação de limiar de imagem, ou limiarização, é uma técnica de processamento por ponto usada para converter imagens em tons de cinza em imagens em preto-e-branco. Neste processamento os valores de pixel abaixo de um determinado limiar são convertidos para a cor preta, e os valores acima desse limiar são convertidos para o branco (HU; RAUNHEITTE,2004).

Matematicamente, a operação de limiarização (Eq. 2.4) pode ser descrita como uma técnica de processamento de imagens na qual uma imagem de entrada f(x,y) de N níveis de cinza

(31)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 30

produz na saída uma imagem g(x,y), chamada de imagem limiarizada, cujo número de níveis de cinza é menor que N. Normalmente, g(x,y) apresenta 2 níveis de cinza, sendo:

g(x, y) =    1 sef (x, y) ≥ T 0 sef (x, y) < T (2.4)

onde os pixels rotulados com 1 correspondem aos objetos e os pixels etiquetados com 0 correspon-dem ao fundo (background) e T é um valor de tom de cinza pré-definido, ao qual denominamos limiar (MARQUES FILHO; VIEIRA NETO,1999).

No caso de níveis de cinza divididos basicamente em duas classes, onde o histograma apresenta dois picos e um vale, a limiarização é trivial (MARQUES FILHO; VIEIRA NETO,

1999).

2.4.9.1 Influência da iluminação

A iluminação desempenha um papel significativo no processo de limiarização, uma vez que provoca alterações no histograma original da imagem, eventualmente eliminando uma região de vale entre dois picos, naturalmente propícia para a definição de um limiar global (MARQUES FILHO; VIEIRA NETO,1999).

A iluminação também modifica a distribuição do histograma de uma imagem, onde o eixo p(rk) representa a probabilidade do k-ésimo nível de cinza e o eixo rkrepresenta o k-ésimo

nível de cinza (ver Eq.2.3), como podemos verificar na Figura13. Em imagens claras podemos verificar uma concentração nos valores mais altos (lado direito) da imagem, enquanto em uma imagem mais escura podemos observar a concentração nos valores mais baixo (lado esquerdo).

Figura 13: Histograma de uma imagem escura e uma imagem clara

Fonte: (GONZALEZ; WOODS,2000)

2.4.9.2 Técnica de limiarização – algoritmo de Otsu

Otsu(1979) publicou um artigo no qual propõe uma nova técnica não-supervisionada para a escolha do valor do limiar para a segmentação de imagens, baseando-se nas características estatísticas do histograma, da seguinte forma:

(32)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 31

Dada uma distribuição do histograma de uma imagem em níveis de cinza onde: L é o número de níveis de cinza;

ni é o número de pixels no nível de cinza i;

N é o número total de pixels da imagem ( N = n1+ n2+ ... + nL).

A probabilidade de um pixel ter um nível de cinza i é:

Pi = ni N, Pi ≥ 0, L X i=1 Pi = 1 (2.5)

Supondo uma dicotomia dos pixels em duas classes C0e C1, separadas por um valor de

limiar k. C0 agruparia os pixels de menor valor até k, e C1agruparia os pixels de valor k+1, até

o valor máximo. Sendo a probabilidade do pixel pertencer à classe C0 e C1 igual à soma das

probabilidades de um pixel pertencer a cada nível de cinza dentro desta classe (OTSU,1979).

ω0 = Pr(C0) = k X i=1 Pi = ωk (2.6) ω1 = Pr(C1) = L X i=k+1 Pi = 1 − ωk (2.7)

As médias das classes C0 e C1, representadas por µ0 e µ1, respectivamente, são dadas

por: µ0 = k X i=1 iPr(i|C0) = k X i=1 iPi ω0 = µk ωk (2.8) µ1 = L X i=k+1 iPr(i|C1) = L X i=k+1 iPi ω1 = µt− µ(k) 1 − ωk (2.9) Onde ω(k)= k X i=1 Pi (2.10) e µ(k)= k X i=1 iPi (2.11)

são a probabilidade e média acumulada até o nível k respectivamente, e µT = µ(L) =

L

X

i=1

iPi (2.12)

é a média total da imagem original.

Para decidir qual o valor de limiar a ser adotado, calcula-se a variância do histograma da imagem, e de cada classe (C0e C1) para cada valor de k. Este valor de k é calculado selecionando

(33)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 32

o valor que maximiza variância entre as classes ou minimiza a variância dentro das classes (OTSU,1979). σ02 = k X i=1 (i − µ0)2Pr(i|C0) = k X i=1 (i − µ0)2 Pi ω0 (2.13) σ12 = L X i=k+1 (i − µ1)2Pr(i|C1) = L X i=k+1 (i − µ1)2 Pi ω1 (2.14) σT2 = L X i=1 (i − µT)2P i (2.15)

onde σ02 é a variância na classe C0, σ12 é a variância na classe C1 e, σT2 é a variância total dos

níveis de cinza da imagem (OTSU,1979).

Para avaliar a escolha do melhor valor de k,Otsu(1979) introduziu três parâmetros para avaliar a separação entre as classes.

λ = σ 2 B σ2 W , κ = σ 2 T σ2 W , η = σ 2 B σ2 T (2.16) onde σ2W = ω0σ02+ ω1σ12 (2.17) σ2B = ω0(µ0− µT)2+ ω1(µ1− µT)2 = ω0ω1(µ1− µ0)2 (2.18) = ω0ω1(µ1− µ0)2 (2.19) E como já demonstrado em2.15 σT2 = L X i=1 (i − µT)2P i (2.20)

Como dos parâmetros (Eq. 2.17) o de menor custo computacional é o η, pois usa a variância total, que não depende do valor do limiar k e valores de média, que são dados estatísticos de primeira ordem (OTSU,1979).

Desta forma, depois de algumas manipulações, o valor de k (valor a ser usado na limiarização) pode ser calculado da seguinte forma:

σ2B(k) = [µtω(k) − µ(k)]

2

(34)

Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 33

Sendo o melhor valor para separação entre imagem e fundo, o valor máximo (2.22) possível para todos os valores de k.

σB2(k∗) = max

1≤k<Lσ 2

B(k) (2.22)

Existem diversos métodos para a escolha do limiar de segmentação. O algoritmo de Otsu foi escolhido para comparação por ser de custo computacional baixo e ser considerado clássico na literatura.

(35)

34

3 MATERIAIS E MÉTODOS

Este trabalho engloba dois projetos complementares e distintos. O primeiro é um software para lousa digital, responsável por capturar a interação do ponteiro do mouse com a tela e o áudio da aula, de forma temporizada, armazenando seus dados para posterior edição ou reprodução. O segundo é o dispositivo apontador, que vai fazer o papel do mouse, capturando a interação com uma câmera e passando para o computador como se fosse uma ação do mouse.

Na Figura14, pode-se observar os módulos desenvolvidos neste trabalho. O módulo 1 é o software de manipulação de desenho em slides e módulo 2 é o sistema de rastreamento de dispositivo apontador baseado em IR.

O módulo 1 é subdividido em módulo do professor (1.1) e módulo do aluno (1.2). É no módulo do professor, 1.1, que são gravadas as aulas, com anotações e áudio, enquanto no módulo do aluno (1.2) é possível somente assistir as aulas.

O módulo 2 é subdividido em módulo de hardware IR (2.1) e, módulo de visão computa-cional (2.2). O módulo de hardware IR é composto do dispositivo apontador, enquanto o módulo de visão computacional é composto de câmera modificada e software de processamento.

Figura 14: Módulos que compõe o sistema de lousa digital e desenvolvidos neste trabalho

(36)

Capítulo 3. Materiais e métodos 35

3.1

Software lousa digital

3.1.1

Definições de projeto

O software da lousa digital deveria ser capaz de realizar as seguintes operações: importar imagens de slides como aula base, capturar riscos e anotações na tela, registrar as escritas na tela, navegar pelas telas (aula), gravar áudio, continuar gravação de áudio, gravar aula em disco, abrir aula gravada em disco e reproduzir aula gravada.

A Figura15permite ter uma visão geral e superficial do funcionamento do programa da lousa digital e a parte do dispositivo apontador em seu funcionamento.

Figura 15: Visão geral do software lousa digital

Fonte: Próprio autor

3.1.2

Framework e bibliotecas

No desenvolvimento dos softwares foram usadas o framework Qt na versão 4.9.8 e a biblioteca de visão computacional OpenCV na versão 2.4.9. O Qt foi escolhido por proporcionar o desenvolvimento em C++, ser multiplataforma e ser framework aberto. A biblioteca OpenCV foi escolhida por ser a melhor e mais completa biblioteca gratuíta, além de ser aberta.

Foi desenvolvida uma classe para controlar o áudio, sendo realizada através de chamadas a funções nativas do windows (cabeçalho windows.h).

No desenvolvimento a linguagem de programação usada foi C++ e, foi seguida a progra-mação orientada a objetos, POO.

(37)

Capítulo 3. Materiais e métodos 36

3.1.3

Modelagem

A estrutura de dados para o armazenamento da aula (Figura16) foi elaborada com base na própria hierarquia dos objetos no mundo real. Desta forma, cada aula tem uma ou mais telas e cada tela tem uma ou mais escritas ou rabiscos.

Figura 16: Diagrama de classes da hierarquia da aula

Fonte: Próprio autor

3.1.4

Controle de áudio

Foram usadas bibliotecas da Microsoft c 1para controlar o áudio. A ideia inicial era usar as próprias bibliotecas do Qt para manipulação do áudio, entretanto, a ferramenta não possuía uma biblioteca que permitisse continuação de gravação diretamente, sendo necessário desenvolver a partir da leitura dos dados brutos diretamente do arquivo de áudio e desenvolver funções para configurar a taxa de reprodução com a taxa de amostragem e gravação, o que está fora do escopo deste trabalho. Assim, foi desenvolvida a classe ControlaAudio, que fazendo chamadas às bibliotecas nativas do Windows (windows.h), através da função mciSendString, manipula o áudio. Na Figura17é possível verificar as principais funções criadas para manipulação do áudio.

O controle de áudio desenvolvido funciona da seguinte forma: ao iniciar uma gravação, é gerado um arquivo de som para cada slidepassado, no momento em que é passado a primeira vez. Quando o usuário retorna a um slide, o controle abre o arquivo referente do slidepara continuação da gravação.

(38)

Capítulo 3. Materiais e métodos 37

Figura 17: Classe ControlaAudio desenvolvida na lousa digital

Fonte: Próprio autor

Assim, o controle de áudio permite: criação de um arquivo de áudio novo, continuação de gravação em arquivo existente, reprodução do áudio em sincronia com os dados de escrita na tela, além das funções simples de pausar e parar.

Durante todo o processo, somente um arquivo de áudio é mantido aberto. Em cada mudança, o arquivo inicial é fechado e liberado antes do outro ser criado e/ou aberto.

3.1.5

Visão geral das funcionalidades

A lousa digital funciona inicialmente em três estados distintos: gravar, reproduzir e navegar.

O estado "gravar"é responsável por permitir a gravação das interações dos usuários com o programa (Figura18), realizado de forma síncrona com o áudio.

O estado "reproduzir"é responsável por permitir a lousa a reproduzir uma aula gravada ou aberta na memória (Figura18).

O estado "navegar"permite ao usuário passar pelas telas sem que suas ações sejam gravadas, impedindo assim alterações indesejada nas aulas.

3.1.6

Gravação das aulas

A gravação das aulas foi realizada a partir da implementação da função de QDataStream &operator«(QDataStream &out, const TIPO &tipo).

Como as bibliotecas do Qt não implementam a gravação de dados (exportar) em classes criadas pelo usuário, esta função foi desenvolvida para todas as classes criadas. Isto obrigou

(39)

Capítulo 3. Materiais e métodos 38

Figura 18: Visão do funcionamento dos estados - gravar e reproduzir

Fonte: Próprio autor

algumas mudanças nos tipos de variáveis usadas, como por exemplo, a substituição do tipo int por qint32, pois o Qt recomenda2 o uso do do tipo qint32 para garantir o funcionamento em diferentes arquiteturas.

3.2

Software dispositivo apontador - OpenCV

O software que controla a lógica do dispositivo apontador é o responsável por capturar a imagem da câmera, processar, identificar o ponto, transformá-lo do espaço da câmera para o espaço do programa, e emitir o respectivo comando no computador. Seu funcionamento é dividido em dois módulos: calibração e execução, conforme pode ser visto nas Figuras19e21.

O módulo de calibração (Figura19, lado esquerdo) cria as imagens na tela de pontos ( p(i)) conhecidos próximos às extremidades da mesma, um de cada vez (Figura20), e procura por uma interação do dispositivo apontador.

Quando o usuário marca o ponto com o dispositivo apontador, o módulo de calibração faz a devida vinculação do ponto clicado ao ponto fornecido, e muda a imagem na tela (Figura20) para, ao final dos quatro pontos, calcular a matriz de transformação. A matriz de transformação é usada no módulo de execução para transladar o ponto do espaço capturado pela câmera para o espaço da imagem virtual no computador.

Toda implementação do processamento de imagens deste programa foi realizada usando a biblioteca OpenCV.

OpenCV é uma biblioteca de visão computacional de código aberto, estável, que fornece mais de 2500 algoritmos otimizados. Desenvolvida originalmente em C++, suporta ainda: C,

(40)

Capítulo 3. Materiais e métodos 39

Figura 19: Fluxograma do software do apontador

Fonte: Próprio autor

Figura 20: Telas geradas dos pontos de calibração em sequência

Fonte: Próprio autor

Python, Java, e MATLAB, podendo ser usada ainda nas plataforas Windows, Linux, Android e Mac (OPENCV,2014b).

Neste trabalho foi utilizada a versão 2.4.9 do OpenCV. Através dela foi efetuado todo processamento de imagens digitais da parte do apontador.

(41)

Capítulo 3. Materiais e métodos 40

Figura 21: Funcionamento do software do apontador - módulo execução

Fonte: Próprio autor

3.2.1

Aquisição - câmera

A aquisição será descrita na seção3.4hardwareCâmera digital, na qual apresentam-se as alterações realizadas na câmera para a devida captura com o OpenCV. A Figura22apresenta o resultado da aquisição usando uma câmera sem modificações, e usando a câmera modificada, respectivamente a e b.

Figura 22: Diferença do resultado da aquisição entre: a) câmera normal e b) câmera modificada

Fonte: Próprio autor

O OpenCV permite, de maneira simples, a captura de frame a frame de uma câmera de vídeo e realiza o armazenamento das imagens em matrizes multidimensionais Mat, estrutura esta utilizada em todos os processamentos de imagem (OPENCV,2014a).

O acesso ao dispositivo de captura é realizado através de um objeto VideoCapture, que pode atribuir a uma variável do tipo Mat o conteúdo adquirido.

3.2.2

Pré-processamento

O primeiro passo no pré-processamento foi fazer a mudança no espaço de cor da imagem capturada pela câmera, usando a função cvtColor.

(42)

Capítulo 3. Materiais e métodos 41

No pré-processamento foi usado o filtro de mediana para remover os ruídos presentes durante a aquisição. A função usada foi a medianBlur com filtro de tamanho 3x3.

Os parâmetros passados para esta função são uma variável com a imagem original, uma segunda variável, onde é armazenada a imagem filtrada e o tamanho da janela de filtragem que deve ser ímpar e maior que 1 (OPENCV,2014a).

3.2.3

Segmentação

A segmentação da imagem é realizada através do processo de limiarização ou threshold. O valor escolhido para o limiar pode ser realizado de forma automática, usando o algoritmo de Otsu ou com limiar fixo após análise de histograma.

Será demonstrada na seção3.5a escolha do limiar de segmentação, a forma para escolha do limiar e comparação do algoritmo de Otsu e o limiar proposto.

3.2.4

Representação e descrição

Esta etapa do processamento é realizada da seguinte forma: O primeiro passo é utilizar uma ferramenta para identificação de possíveis objetos dentro da imagem. O OpenCV possui uma classe para isto, a SimpleBlobDetector.

Esta classe segmenta a imagem em vários limiares diferentes, de acordo com os parâme-tros estabelecidos que definem máximo, mínimo e degrau para mudança do limiar, e agrupa os possíveis resultados semelhantes, depois de procurar pelos contornos, devolvendo, no final, uma lista de pontos onde se encontram estes objetos (OPENCV,2014a).

A Figura23mostra as etapas de aquisição, pré-processamento e segmentação, repectiva-mente, a), b) e c). No resultado da segmentação é realizado o cálculo do momentum, calculando, assim, o ponto central da imagem segmentada.

Figura 23: Etapas do processamento: a) aquisição, b) Pré-processamento e, c) segmentação

(43)

Capítulo 3. Materiais e métodos 42

3.2.5

Reconhecimento e interpretação

Nesta etapa é realizada a localização do centro dos objetos encontrados e, a partir das informações de tamanho e formato, é escolhido o objeto desejado.

A forma do objeto a ser detectada é um feixe de luz sobre uma superfície. Este feixe de luz pode ter formato circular, achatado ou elipsóide (proveniente de uma inclinação do apontador), circular com rastro ou semicircular.

O tamanho do objeto a ser detectado também varia com a distância da câmera para a superfície de projeção e de sua resolução. Por exemplo, uma câmera com resolução espacial de 640x480, filmando uma área 2m x 1,5m, vai ter um pixel representando uma área de 3,1mm x 3,1mm.

Como pode ser visto na Figura24, o ângulo de espalhamento da luz infravermelha é pequeno, e como o led também tem um tamanho pequeno, 5mm, resulta em um ponto de luz muito pequeno. Assim, espera-se encontrar um objeto com área pequena, tendendo a um círculo. Figura 24: Intensidade radiante relativa vs deslocamento angular - LED 5mm Infrared - IR333-A

Fonte: (EVERLIGHT,2014)

Desta forma, a escolha do objeto que representaria o dispositivo apontador pode ser realizada com base nas informações acima descritas.

(44)

Capítulo 3. Materiais e métodos 43

de outros objetos, por não existir a possibilidade de encontrá-los na forma de uso proposta. Com isto, após ser calculado o centro da imagem resultante da segmentação, é realizada uma transformação de perspectiva, trazendo o ponto do espaço de captura da câmera para o espaço de coordenadas do computador.

3.3

Hardware do dispositivo apontador

O hardware do dispositivo apontador é uma caneta que emite uma radiação eletromag-nética infravermelha, comumente chamada de luz IR. No desenvolvimento desta caneta foram utilizados os seguintes materiais:

• 01 - LED IR - Diodo emissor de luz infravermelha • 01 - Push buttom - botão para acionamento

• 01 - uma fonte de energia, bateria AA.

• 01 - uma carcaça de marcador para quadro branco. • 01 - resistor de 40 Ω.

Figura 25: Esquema do circuito elétrico do apontador

Fonte: Próprio autor

Estes materiais foram montados conforme esquema mostrado na Figura25. Vale ressaltar a importância do cálculo da resistência, para garantir que a corrente máxima no LED não ultrapasse 100mA. O melhor valor da corrente deve ser calculado, conforme equação 3.1, de forma a potencializar o máximo a emissão de luz IR, ao tempo em que garante uma operação segura do LED, para que não queime (EVERLIGHT,2014)(SEMICONDUCTORS,2014).

(45)

Capítulo 3. Materiais e métodos 44

O dispositivo apontador foi montado dentro de uma carcaça de um marcador para quadro branco, Figura26. Dentro dele foi montado o circuito definido na Figura25. Foi detectado que para melhorar a captura do apontador foi necessário reduzir um pouco mais a resistência, de 60Ω para 40Ω, para que aumentasse a corrente e consequentemente o brilho.

Figura 26: Foto do apontador montado com indicação de localização dos componentes

Fonte: Próprio autor

3.4

Hardware da Câmera digital

As câmeras digitais possuem nas suas lentes um filtro para IR. Este filtro tem como função justamente reduzir os problema causados pela radiação IR na hora de retirar uma fotografia, pois o usuário comum destas câmeras, não tem interesse em captar esta faixa de radiação. Entretanto, neste trabalho, o ponto de interesse é exatamente nas câmeras digitais, devido ao fato de serem sensíveis a radiação IR, possibilitando esta aplicação.

Foram utilizadas duas câmeras diferentes para testes: uma mais antiga (USB 1.0, re-solução espacial 640x480, identificada apenas como SoC PC-Camera Manufacturer) que se encontrva sem uso, entretanto, como não foi encontrado dados técnicos que pudessem subsidiar um estudo acadêmico, foi adquirida uma câmera nova, Figura27, EYECAM INFOKIT IMM N-100MV WEB6 (USB 2.0, resolução espacial 640x480). No momento da escolha da nova câmera foi procurado algum modelo que tivesse uma resolução maior que a anterior e uma velocidade de captura superior a 24 qps.

3.4.1

Velocidade de captura da câmera

Apesar de usar uma câmera USB 2.0 que, segundo a embalagem, possui velocidade de captura de 30 fps, foi percebido visualmente que a filmagem apresentava perdas de informação causada por baixa velocidade de captura. Então foi desenvolvido um programa apenas para capturar a imagem da câmera e mensurar o tempo entre cada frame, sendo detectado que o tempo

(46)

Capítulo 3. Materiais e métodos 45

Figura 27: Foto da câmera EYECAM INFOKIT IMM N-100MV WEB6

Fonte: Próprio autor

de captura estava superior a 100ms. Isto significa que o sistema será menos preciso, pois perderá movimentos do apontador.

3.4.2

Modificação na câmera

As modificações na câmera tiveram como objetivo potencializar a capitação da radiação IR e reduzir a captação da luz visível. Assim, garantindo já na aquisição uma redução do processamento necessário para extrair as informações desejadas, da seguinte forma: 1oMelhorar captação de IR; 2oFiltrar o espectro visível de luz. Com estas modificações, não é necessário

verificar vários níveis de limiar.

3.4.3

Remoção do filtro IR

As webcams têm lentes para regulagem do foco da imagem, para que esta seja devida-mente projetada no sensor. Normaldevida-mente no fundo destas lentes encontra-se o filtro IR (MICHA et al.,2011).

Para fazer a remoção deste filtro, o primeiro passo foi desmontar a câmera, depois foi localizar e retirar a lente (normalmente desenroscando), tomando cuidado para não cair nada no sensor CCD após remover a lente (Figura28) (MICHA et al.,2011).

Micha et al.(2011) orienta para quebrar o filtro IR. Entretanto, ele pode ser removido com o auxílio de uma lâmina como estilete e um pequeno corte no plástico.

(47)

Capítulo 3. Materiais e métodos 46

Figura 28: Da esquerda para direita: câmera desmontada; suporte plástico e lente; lente comple-tamente desmontada e; lente suporte e filtro IR

Fonte: (MICHA et al.,2011)

3.4.4

Filtragem para luz visível

Para a filtragem da luz visível foi utilizado um filme fotográfico velado (marca Kodac, colorido, que foi exposto à luz) devidamente revelado ou uma mídia de disquete (disco removível 3,14") (MICHA et al.,2011).

O papel do filtro é justamente filtrar o espectro visível e permitir a passagem normal do IR. Desta forma, a imagem vai ficar escura, exceto no ponto onde tiver o IR, facilitando a segmentação da imagem, e reduzindo assim, a quantidade de cálculos para localizar o ponto.

3.5

Escolha do limiar de segmentação

Para a escolha do limiar de segmentação foram realizados testes para verificar os resulta-dos com o algoritmo de Otsu. E com limiar fixo escolhido, com base em análise de histograma e base de conhecimento.

O primeiro ponto para especificar a escolha do limiar foi a necessidade de que não fosse custoso computacionalmente, pois estamos trabalhando com vídeo em tempo real e o tempo de resposta é essencial, além de desejarmos pegar o máximo até o limite de 30 qps (quadros por segundo).

O segundo ponto foi buscar pela ausência de falsos positivos na detecção. Que neste caso tem um potencial muito maior de causar problemas se comparado ao um falso negativo. O terceiro é que a taxa de acerto fosse superior a 80%.

O limite de 30 qps foi definido devido a capacidade visual humana que só consegue ver até 24 qps, o valor de 30 qps ainda ajudaria a reduzir perdas de movimentação ou interações.

3.5.1

Ambiente de teste do apontador

O ambiente de teste foi montado de forma que a câmera focasse uma folha de papel em branco a 20 cm de distância. Nesta folha foi colocado o foco de uma lanterna de LED de 14000 Lumens. A folha em branco foi escolhida, pois reflete mais a luz recebida.

(48)

Capítulo 3. Materiais e métodos 47

Este ambiente reflete o pior caso de uso de um ambiente com iluminação artificial. Nele verificamos se o filtro de luz visível consegue realizar o papel para qual foi destinado e, verificar se a radiação IR, provocada pelo LED IR, consegue ser bem captada pelo sensor da câmera.

A câmera utilizada estava modificada sem filtro de infravermelho - IR, e com filtro para luz visível. O Filtro para luz visível utilizado nestes testes foi um filme fotográfico velado.

3.5.2

Análise de histograma

Na primeira avaliação foi analisado o histograma das imagens geradas no ambiente de teste e o resultado foi de acordo com o esperado. A distribuição dos pixels nos níveis de cinza estava deslocada para esquerda(valores mais baixos), conforme pode ser observado na Figura29.

Figura 29: Histograma da imagem do teste, com luz somente da lanterna

Fonte: Próprio autor

Em seguida foi realizada a análise do histograma com o acréscimo de um ponto de luz infravermelho gerado a partir de um controle remoto3. Pode-se observar na Figura30, um novo

pico bem ao lado direito da imagem. Resultado conforme esperado, pois o filtro de luz visível aplicado na câmera não deveria interferir na luz IR.

Como as câmeras tiveram seus filtros IR removidos, a radiação IR proveniente do LED tende a saturar o sensor, comprovou-se o funcionamento do câmera com as modificações.

3.5.3

Teste do algoritmo de Otsu e limiar fixo

Na sequência, foram analisadas as imagens geradas com a presença da luz IR, Figura31, e aplicada a binarização através do OpenCV (cv::threshold()), usando o algoritmo de Otsu e o

3 Teste realizado quando o dispositivo apontador ainda não havia sido finalizado. O teste foi repetido com uso do

(49)

Capítulo 3. Materiais e métodos 48

Figura 30: Histograma da imagem do teste, com luz da lanterna e luz IR do LED

Fonte: Próprio autor

limiar fixo escolhido.

Figura 31: Imagem original do teste e seu histograma

Fonte: Próprio autor

Era esperado que no resultado da segmentação retornasse uma imagem binária com o fundo e o feixe de IR bem definidos e sem segmentação de objetos desejados. Após a segmenta-ção, o resultado com o método de Otsu pode ser visualizado na Figura32a), e o resultado da segmentação por limiar fixo (180) na Figura32b).

O valor do limiar fixo foi escolhido com a análise do histograma da imagem com luz de LED IR, Figura30, e comparando com o histograma da imagem sem a luz de LED IR, Figura

29. Comparando-se os dois histogramas, pode-se verificar uma concentração de pixel na parte direita do histograma com luz IR, indicando saturação provocada pela luz IR no sensor. Desta forma foi escolhido o valor 200 como limiar, por ser o valor no qual se inicia a rampa da segunda concentração.

(50)

Capítulo 3. Materiais e métodos 49

Na sequência, foram realizados mais testes em imagens com Otsu, com resultados médio de limiar de 170. Foi realizado um experimento com captura automática de 100 (cem) imagens quando do uso do apontador IR, com limiares de 160 e 180. O resultado deste experimento apontou como melhor resultado o valor de 160, conforme Tabela1.

Figura 32: Segmentação de imagem com presença da luz do LED IR, a) por Algoritmo de Otsu, b) por Limiar Fixo

Fonte: Próprio autor

As duas segmentações conseguiram encontrar a área do IR, segmentando de maneira eficiente o feixe IR.

O OpenCV não dispõe de função que devolva o valor do limiar calculado através do algoritmo de Otsu, em vez disto ele calcula e aplica o limiar automaticamente para a imagem fornecida. Este fato é importante, porque o sistema deve calcular um único valor que permita identificar o ponto ou área de IR e não identificar objetos não desejados na ausência destes pontos.

Diante disto, foi realizado um teste de segmentação por Otsu em tempo real, onde três telas mostravam imagens capturadas pela câmera modificada, sendo que em uma mostrava sem nenhum processamento, uma processada com limiar fixa e outra com limiar calculado pelo OpenCV com base no algoritmo de Otsu. Depois foi selecionada duas imagens de uma captura sem o ponto IR, para fins de registro, uma segmentada por limiar fixo e outra por limiar de Otsu.

O resultado desta segmentação, Figura33, não ajuda na identificação de um possível ponto, ou da ausência dele. Além disto, outros ambientes podem causar falsas identificações, porque o cálculo é dinâmico, ou seja, para cada frame capturado, um novo limiar é calculado e aplicado, e isso tornou o resultado sem valor para o fim desejado.

Para definição do valor do limiar fixo, foi usado um programa (imageJ) para calcular o valor do limiar através do algoritmo de Otsu, de imagens captadas com a câmera modificada e devidamente pré-processadas, em seguida foi aumentado este valor médio (140) entre 15% e 30% e efetuando os testes.

(51)

Capítulo 3. Materiais e métodos 50

Figura 33: a) Imagem de aquisição sem IR e, b) Segmentação por Algoritmo de Otsu desta imagem

Fonte: Próprio autor

Desta forma, o algoritmo de Otsu demonstrou ser uma excelente escolha para implemen-tação de uma escolha de limiar automático, sem supervisão humana. Para tanto, deve-se, no programa de controle, abrir uma janela de tempo, na qual o operador do programa, em um único momento, antes de iniciar a utilização, deve calibrar o dispositivo, fazendo uso do apontador de LED IR.

3.5.4

Resultados dos testes de detecção

Foi realizado um segundo tipo de teste, no qual a câmera ficava a cerca de um metro e meio (1,50m) da parede, durante o dia, em uma sala de aproximadamente 15 m2, com iluminação da luz solar pelas janelas ( sem aplicação de um foco de lanterna como no primeiro teste) onde foi utilizado o dispositivo apontador para verificar a capacidade de detecção do algoritmo.

Todas as imagens geradas (100 para cada limiar) foram salvas em arquivos numerados com nome de positivo ou negativo. Depois foram analisadas as imagens individualmente para verificar se alguma das imagens positivas não tinha o IR e se alguma da imagens negativas tinha a imagem da luz IR bem definida, caracterizando assim os resultados como falso positivo e falso negativo, respectivamente. Os dados foram tabulados e estão expressos na Tabela1.

Tabela 1: Resultado da segmentação com limiar fixo

Limiar Positivo Falso Positivo Negativo Falso Negativo Taxa de Acerto

160 76 0 18 6 94%

180 68 0 16 16 84%

Fonte: Próprio Autor.

Analisando este resultado foi verificado que não houve nenhum resultado falso positivo, o que deu como indicativo que o limiar ainda poderia baixar.

(52)

Capítulo 3. Materiais e métodos 51

Pode-se observar na Figura34a imagem capturada pela câmera antes do processamento da imagem, onde temos em a) e b) duas imagens em que foi detectado o ponto do IR, em c) um negativo verdadeiro e em d) um falso negativo. Nesta análise pode-se perceber o rastro deixado pela rápida movimentação do apontador, voltando à sugestão já descrita de aumentar o brilho do mesmo, reduzindo a resistência do circuito no próximo dispositivo a ser montado.

Figura 34: Imagens capturadas pela câmera, resultado para limiar 160: a) positivo, b) positivo, c) negativo e, d) falso negativo

Fonte: Próprio autor

Além da velocidade, outro fator é a distância do apontador da superfície, pois à medida que a distância aumenta, a intensidade do brilho incidente reduz em virtude do espalhamento. Isto não inviabiliza o projeto mas, faz necessários novos ajustes no dispositivo apontador.

(53)

52

4 RESULTADOS

4.1

Software lousa digital

4.1.1

Módulo do professor (gravação)

O desenho da tela principal do programa foi feito procurando preservar a maior área possível para interação. Na Figura35 é possível visualizar a área de escrita grande e a barra de ferramentas, estrategicamente posicionada na parte inferior da tela. A localização da barra na parte inferior foi pensada para facilitar o acesso, pois em uma projeção na parede, alguns usuários podem ter dificuldade em acessar a parte mais alta.

Figura 35: Tela do programa lousa digital com imagem de fundo carregada

Fonte: Próprio autor

Pode-se observar ainda, na Figura35, os botões de navegação (seta para esquerda e seta para direita) usados para passar de um slidepara outro, três canetas com as cores preta, azul e amarela, um apagador (que funciona como uma caneta de cor branca), um botão de gravar, um botão de pause e um botão de play.

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para