Vous êtes sur la page 1sur 17

Orientador: Arleys Pereira Nunes de Castro

Centro universitrio Jorge Amado

Proposta para uma lousa eletrnica aplicando mtodos de viso


computacional

Salvador
2015

Gregory de Jesus Gonalves

Proposta para uma lousa eletrnica aplicando mtodos de viso


computacional

Monografia apresentada como exigncia


para obteno do grau de Bacharelado
em Sistemas de Informao da Centro
universitrio Jorge Amado.

Orientador: Arleys Pereira Nunes de Castro

Salvador
2015

RESUMO

A viso humana um sistema intuitivo para ns, porm de complexa implementao


computacional. O que vemos interpretado baseando-se em extensa experincia
prvia, se nos cortamos com uma faca o estmulo visual de avistar qualquer outra
faca implicar em muito mais do que o registro visual, saberemos (seja por
experincia prpria ou observao) que aquele objeto representa perigo, que uma
arma (conceito tambm criado por absoro de conhecimento ou experincia
prpria), que a sua lmina cortante, entre diversas outras informaes que a
experincia de vida nos prov. Por esta razo o processo de adaptao do sistema
de viso em dados computacionais (e consequentemente decises e anlises)
extremamente complexo, no se precisa s registrar o que visto, o mais importante
interpretar esta informao de forma que os dados absorvidos sejam teis. A rea
que estuda a adaptao do sistema visual em dados computacionais a viso
computacional, sua aplicabilidade extensa; pode ser utilizada para o controle de
movimentos de um rob, controle de qualidade em empresas de produo em
massa, sistemas para carros autnomos, anlise de imagens mdicas dentre muitas
outras reas. Esta monografia apresenta uma proposta de alternativa de baixo custo
para uma lousa digital. Foram realizadas pesquisas nas reas de viso
computacional, aprendizado de mquina e processamento de imagens, buscando
criar um sistema que seja capaz de, a partir de uma webcam, simular uma lousa
digital e oferecer uma alternativa de baixo custo para a mesma. Como base no
desenvolvimento prtico da aplicao, foi utilizada a biblioteca OpenCV, que oferece
ferramentas de processamento de imagem e viso computacional. Durante o
perodo de confeco deste documento foi desenvolvido um software prottipo, que
aplica os conhecimentos aqui apresentados e refora a viabilidade do projeto.
Palavras-chave: Viso computacional, aprendizado de mquina, processamento de
imagem, OpenCV

ABSTRACT

The human vision is an intuitive system for us, however it is of highly complex
computational implementation. What we see is interpreted based on extensive
previous experience, if we cut ourselves with a knife the visual stimulus of seeing any
other knife will imply in much more than the visual recording of that event, we will
know(based on our own experience or observation) that that object represents
danger, that it's a weapon (a concept that is also created by absorption of knowledge
or personal experience), that its blade is the part that cuts, among various other
information that our life experience provides. For this reason the adaptation process
of our visual system into computational data (and consequently decisions and
analysis) is extremely complex, it is not enough to register what we see, the most
important part is to interpret that information in a way that the absorbed data is useful
to the user. The area that studies the adaptation of the visual system in
computational data is computer vision, its applicability is extensive; it can be used to
control the movements of a robot, to control the quality of a product in a factory,
systems for autonomous cars, medical image analysis, and many other fields of
study. This monograph presents a proposal of a low cost digital blackboard. Much
research has been made in this monograph in the areas of computer vision, machine
learning and image processing, for the purpose of creating a system that is capable
of, from a common webcam, simulate a digital blackboard and offer a low cost
alternative for it. The library OpenCV is the basis for the development of the
application to this monograph, this library offers tools for image processing and
computer vision. During the creation of this document, a practical and usable
software was developed, using the knowledge presented here; it reinforces the
viability of this project.
Keywords: Computer vision, OpenCV, machine learning, image processing

SUMRIO
1 INTRODUO...........................................................................................................5
1.1 Problema de pesquisa.........................................................................................7
1.2 Objetivo geral.......................................................................................................7
1.3 Objetivo especficos.............................................................................................7
2 FUNDAMENTAO TERICA..................................................................................9
2.1 Viso computacional............................................................................................9
2.1.1 OpenCV.......................................................................................................10
2.2 Aprendizado de mquina...................................................................................10
2.2.1 Aprendizagem supervisionada....................................................................12
2.2.2 Aprendizagem no supervisionada.............................................................12
2.3 Processamento de imagens digitais..................................................................13
2.3.1 Imagem........................................................................................................13
2.3.2 Imagem digital.............................................................................................14
2.3.3 Suavizao..................................................................................................14
3 CONCLUSO...........................................................................................................15
REFERNCIAS...........................................................................................................16

1 INTRODUO

Pode-se supor que a viso humana uma habilidade trivial e de fcil adaptao
ao mundo computacional, afinal, mesmo uma criana em seus primeiros anos de
vida sabe diferenciar um brinquedo prximo de um distante, ou distinguir um objeto
especfico em um ambiente cheio de distraes. Esta suposio no verdadeira.
Segundo (BRADSKI & KAEHLER, 2014) o crebro humano divide o sinal da viso
em diversos canais que o fornecem diferentes tipos de informaes, o crebro
possui um sistema de ateno que, de forma atrelada a atividade exercida, identifica
partes importantes a serem examinadas em uma imagem, enquanto suprime outras
reas de menor importncia. H um feedback massivo no fluxo de informaes
visuais que ainda pouco entendido, existem diversos estmulos associativos nos
sensores de controle do corpo que permitem que experincias prvias sejam
utilizadas como aprimorao na capacidade do indivduo de interpretar o que v e
sente em experincias futuras. Por exemplo, caso uma pessoa se machuque em
uma superfcie spera, da prxima vez que atravs de estmulos visuais reconhecer
aquela mesma superfcie, ir identifica-la como spera e naturalmente ter mais
cuidado ao entrar em contato. Este imenso histrico de informaes sobre o mundo
em que vivemos e como ele funciona, estabelecido durante toda a vida atravs de
experincias pessoais, torna a viso humana muito mais complexa do que
simplesmente exibir um contedo grfico e interpretar formas e cores, o desafio da
viso computacional tornar computadores capazes de fazer esta interpretao do
que veem e transformar estes dados em decises ou informaes teis ao usurio,
como interpretar seus movimentos, descrever o ambiente que est sendo gravado.
Este nvel de informao pode ser extremamente til nas mais variadas reas,
desde anlises mdicas at a criao de robs inteligentes, ou at mesmo na
criao de uma lousa virtual.
A lousa digital um dispositivo de interface humana, ou seja, um dispositivo que
permite que seres humanos forneam entradas e recebam sadas de dispositivos
computacionais. Ela permite que o usurio interaja com um computador por uma
grande tela touchscreen, como se estivesse usando um quadro negro, porm, com
todas as capacidades de um computador. Portanto, alm de exibir o contedo
acadmico padro, pode-se utilizar jogos, vdeos, imagens ou qualquer outro

contedo multimdia encontrado em computadores. Este tipo de ferramenta traz


enriquecimento a experincia tanto de professores como de alunos, aumentando o
leque de opes de como um contedo pode ser lecionado, segundo (OLIVEIRA;
WEISSHEIMER, 2014) aprendizes expostos a uma metodologia multimodal (como a
lousa, que permite interao por udio, vdeo e toque), desenvolvem a habilidade de
processar informaes usando uma combinao dessas modalidades de acordo
com seus estilos ou preferncias modais de aprendizagem.
A utilizao de uma metodologia multimodal na conduo das tarefas
de aprendizagem, combinando abordagens verbais e no verbais, pode
enriquecer e propulsionar o aumento da memria de trabalho e ainda impactar
significativamente na reteno de informaes e a agradabilidade da
aprendizagem (OLIVEIRA; WEISSHEIMER, 2014).
As vantagens que a lousa digital traz so comprovadas e amplas, ajudando no
dinamismo, agradabilidade e reteno de contedo, este tipo de ferramenta pode
auxiliar o ensino de forma significativa, porm, seu custo de obteno alto, entre
R$2.000 at mais de R$4.500, considerando que uma instituio acadmica tende a
possuir salas padronizadas, invivel para muitos colgios de pequeno ou mdio
porte conseguir este tipo de ferramenta.
Esta monografia busca encontrar uma alternativa para a lousa digital que oferea
funcionalidades similares por um custo inferior, utilizando viso computacional,
captura de movimentos, uma cmera e um software para gerenciamento das
ferramentas e tcnicas supracitadas, o custo de uma webcam varia entre R$20 at
R$350, o maior custo ficar por conta de um possvel retroprojetor, porm, por ser
comum instituies acadmicas possurem tanto projetores como computadores em
sala de aula, a aquisio da tecnologia proposta aqui ficar (muita das vezes) por
conta da cmera.
Visto o alto custo de uma lousa digital comum e o potencial acadmico que este
tipo de ferramenta traz, uma verso virtualizada de baixo custo poderia adicionar, de
forma inclusiva, alternativas relevantes a forma como um professor pode lecionar,
proporcionando um ensino mais rico nas instituies acadmicas. Com estas
observaes em mente, as seguintes questes vem mente: possvel criar uma
verso virtual de uma lousa digital, com capacidade equivalente? O custo deste
produto seria consideravelmente inferior lousa digital comum? O hardware
necessrio para tal aplicao funcionar de custo acessvel?

Para a confeco deste documento foi realizada extensiva pesquisa acadmica,


dentre

livros

na

rea

de

viso

computacional,

captura

de

movimentos,

processamento de imagens, aprendizado de mquina e tcnicas de aprendizado e


seus efeitos em quem desfruta deles. Tambm foram utilizadas outras monografias e
artigos na rea. Foi desenvolvido um prottipo de software que explicita a viabilidade
e custo do contedo apresentado aqui.
Esta monografia est organizada, contando este captulo, da seguinte forma:
Captulo 2 Fundamentao terica: Apresenta pesquisa bibliogrfica que
condensa vises e definies de autores da rea, apresenta conceitos de viso
computacional, aprendizado de mquina e processamento de imagens.
Captulo 3 Concluso: Apresentao dos resultados obtidos a partir da
pesquisa e como estes dados podem ser utilizados em futura pesquisa.

1.1 Problema de pesquisa

possvel criar um software que simule uma lousa digital, que gere com certa
preciso a experincia de uma lousa digital, porm com custo significativamente
inferior?

1.2 Objetivo geral

Pesquisar viabilidade de criao de um software que emule as funcionalidades de


uma lousa digital
Desenvolver prottipo de lousa virtual

1.3 Objetivo especficos

Pesquisar tcnicas de desenvolvimento de software e processamento de


imagens

10

2 FUNDAMENTAO TERICA
Neste captulo feito um estudo bibliogrfico, utilizando um conjunto de pesquisas,
estudos e livros na rea de viso computacional e suas ramificaes, procurando
relacionar o conhecimento de diversos autores e pesquisadores com o tema desta
monografia.

2.1 Viso computacional

Viso um processo que produz, a partir imagens do mundo externo, uma


descrio que til ao observador e no est poluda com informaes irrelevantes
(MARR, 1978).
Segundo (Marr 1982; Palmer 1999; Livingstone 2008; Szeliski 2010) seres
humanos percebem a estrutura tridimensional do mundo a sua volta com relativa
facilidade. Pense em quo vvida a sua percepo de uma paisagem, voc pode
distinguir a translucidez de cada folha em uma rvore, os padres sutis de luz e
sombra que agem pela sua superfcie, e diferenciar sem muita dificuldade, cada
folha individual do resto da paisagem. Olhando uma foto de um grupo de amigos,
uma pessoa pode facilmente contar e nomear todos na foto, e at mesmo arriscar
dizer quais so suas emoes a partir da expresso facial de cada um. Psiclogos
da percepo investiram dcadas tentando entender como o sistema visual
funciona, e apesar de poderem criar iluses de tica para brincar com alguns dos
seus princpios, uma completa soluo para esse quebra cabea continua
inexistente.
A complexidade do sistema visual altssima, e desenvolver uma representao
computacional de tal sistema no algo que conseguimos at o momento, porm,
pesquisadores da rea vm desenvolvendo tcnicas matemticas em paralelo para
recuperar a forma tridimensional dos objetos em uma imagem 2D, com os avanos
atuais pode-se por exemplo modelar um ambiente tridimensionalmente a partir de
suas fotos, com ferramentas e tcnicas confiveis.
De acordo com (BRADSKI & KAEHLER, 2008) a viso computacional a
transformao dos dados de uma imagem ou vdeo em uma nova representao do
mesmo, ou em uma tomada de deciso que utiliza estes dados como parmetro.
Todas estas transformaes tem um objetivo especfico em mente, seja indicar que
houve uma invaso em uma casa, que um objeto est a X metros de distncia, ou

11

que, por exemplo, existem 14 clulas de tumor em um frame.

2.1.1 OpenCV

A biblioteca OpenCV foi desenhada com o desempenho em mente. Escrita em


C/C++, a biblioteca se utiliza de mltiplos ncleos quando disponvel, alm de utilizar
OpenCL para acelerao de hardware. Adotada ao redor do mundo e com uma
comunidade com mais de 47 mil membros, o OpenCV oferece ferramentas para a
confeco de softwares que utilizem viso computacional e suas ramificaes,
desde as prprias classes, at o material de apoio que a comunidade prov. Ela tem
interfaces para C, C++, Java e Python, funciona em sistemas operacionais Windows,
Linux, Mac, iOS e Android. As aplicaes do OpenCV so amplas, entre elas esto
artes interativas, inspeo de minas, colao de mapas e robtica avanada.
OpenCV est disponvel em: http://opencv.org/

2.2 Aprendizado de mquina

"Em um alto nvel de abstrao, ns podemos pensar em aprendizado de


mquina como um conjunto de ferramentas e mtodos que tentam inferir padres e
extrair insight a partir de dados do nosso mundo observvel" (WHITE, 2012)
Segundo (KULKARNI,2012) aprendizado de mquina o estudo de algoritmos
para o auto-aprimoramento de um software. Pode-se utiliz-lo para criar bancos de
informaes que se categorizam uma nova entrada automaticamente, traar padres
a partir de informaes dadas ao software, fazer previses de eventos ou suas
consequncias a partir de um catlogo de dados, etc.. O aprendizado que est
sendo feito sempre baseado em algum tipo de observao ou dado, como por
exemplo o output de um outro software, experincia prpria do software durante seu
tempo de vida (assim como seres humanos absorvem experincias presentes para
inferir em aes e decises futuras), que usada para modelar e aperfeioar suas

12

aes futuras ou uma instruo prvia que define um comportamento base


esperado. Aprendizado de mquina a utilizao das experincias passadas para
otimizar o trabalho futuro. fazer com que a mquina aprenda em tempo de
execuo; que assim como ns, use as experincias do tempo de vida para dar mais
eficincia a aes futuras.
De acordo com (BRADHSKI & KAEHLER, 2008) o aprendizado de mquina
aplicado em dados como temperatura, preos de aes, intensidades de cor, etc..
Estes dados so geralmente condensados em caractersticas, utilizando um banco
de dados com 10,000 imagens de faces, por exemplo, pode-se aplicar tcnicas de
reconhecimento de bordas e coletar a direo da borda, sua fora e a sua distncia
do centro do rosto para cada face. Podemos obter 500 resultados para cada face ou
um vetor de caractersticas com 500 entradas. Pode-se ento utilizar aprendizado de
mquina para construir um modelo a partir destes dados coletados, este modelo
poder ser uma deteco dos padres de faces, ou uma categorizao entre rostos
redondos, quadrados, em forma de diamante, etc.. Os dados absorvidos podem ser
utilizados com um grupo-teste, para oferecer um padro da aplicao, dentre as
10.000 imagens, 9.000 podem sofrer a deteco de suas caractersticas, e 1.000
so separadas para teste, digamos que o propsito do software detectar tipos de
rostos, depois de coletar os dados de 9.000 faces e definir suas respectivas
caractersticas, as restantes podem ser usadas para verificar a preciso do software
e definir se os padres estipulados esto de acordo com o que ser recebido.
Depois dessa definio, o software receber novos dados e ter de decidir como
melhor agir, sem auxlio humano.
Segundo (BRADHSKI & KAEHLER, 2008), dados nem sempre possuem
categorias definidas, pode-se querer descobrir em que tipo de rosto uma face se
encaixa baseando-se nas suas bordas, porm, certos dados possuem categorias
definidas, como idade. O que isso significa que aprendizado de mquina pode ser
supervisionado (baseia seu comportamento futuro em um conjunto de informaes
que so ensinadas a ele, como uma idade X que representa um comportamento
Y), ou no supervisionado, quando estes dados esto desorganizados e
responsabilidade do software definir entre o caos, quais dados so mais parecidos
um com o outro.

13

2.2.1 Aprendizagem supervisionada

Segundo (HARRINGTON, 2012) aprendigem supervisionada quando se


oferece mquina uma base de dados e espera-se que um padro seja traado a
partir deste input, como por exemplo assegurar que cada novo produto em uma
empresa de produo est de acordo com o nvel de qualidade esperado. Primeiro
deve-se definir o que esperado daquele novo produto, e o trabalho da mquina
assegurar que aquele novo dado esteja de acordo com o que foi definido como
aceitvel. Pode-se tambm traar grficos e padres mais subjetivos, onde a platia
tende a sentar em concertos de um estlo especfico de msica, etc.. Um exemplo
mais prtico so softwares de reconhecimento de voz, onde a variao de sotaques,
tons de voz e rudo precisam ser catalogadas, para oferecer uma leitura consistente
e precisa de pessoas ao redor do mundo.
Segundo (KIRK, 2014), basicamente em uma abordagem supervisionada os
dados possuiro categorias pr definidas, que ajudaro o software a produzir
resultados futuros.

2.2.2 Aprendizagem no supervisionada

Segundo (HARRINGTON, 2012) aprendizagem no supervisionada se diferencia


da aprendizagem supervisionada no tipo instruo que esperada da mquina, ao
invs ordenar: Preveja Y a partir dos dados X, ser inquerido: O que pode-se
afirmar do dado X?, uma das coisas que pode-se perguntar Quais trs
caractersticas ocorrem com maior frequncia em X?, voltando ao exemplo das
faces e suas bordas, pode-se detectar o padro dos rostos, exatamente como em
um aprendizado supervisionado, a diferena que no ser dito mquina quais
tipos de rostos so esperados. A partir dos dados disponveis, so traadas
caractersticas padres e criados clusters de dados, conjuntos separados por
similaridades.

14

2.3 Processamento de imagens digitais

O processamento de imagens, segundo (Petrou & Petrou, 2010), foi desenvolvido


em resposta aos problemas de:
Digitalizao de fotos e sua codificao para facilitar transmisso, impresso e
armazenamento.
Aprimoramento e restaurao de imagens para, por exemplo, interpretar com
maior facilidade fotos da superfcie de um outro planeta.
Basicamente, o processamento de imagens envolve a representao de uma
imagem de forma digital, e sua manipulao ou extrao de caractersticas, pode-se
suavizar as bordas de uma imagem para melhor visualizao, representa-la como
uma matriz de valores, entre outras funcionalidades (BRADSKI & KAEHLER, 2008).
A partir destas informaes, podemos definir o processamento de imagens como
um sistema onde a sua entrada uma imagem, e sua sada so ou caractersticas
desta imagem, ou uma outra imagem (o resultado aps manipulao). (GONZALEZ;
WOODS, 2008)
Para falar sobre processamento de imagens, necessrio primeiro diferenciar
Imagens e imagens digitais.

2.3.1 Imagem

Uma imagem pancromtica (o tipo de imagem que encontramos em cmeras


convencionais) uma funo 2D que representa a intensidade da luz. Dada por
F(x,y), onde x e y so coordenadas espaciais, e o valor de F em (x,y) proporcional
a luz da cena naquele ponto. Se a imagem multiespectral (onde um mesmo objeto
registrado em diferentes comprimentos de ondas eletromagnticas, como por
exemplo luz infravermelha, pancromtica e raio-x), f(x,y) um vetor onde cada
componente indica a luminosidade da cena no ponto (x,y), em sua banda espectral
correspondente. (Petrou & Petrou, 2010)

15

2.3.2 Imagem digital

Uma imagem digital uma imagem f(x,y) que foi simplificada tanto em
coordenadas espaciais como em luminosidade. representada por um array 2D de
nmeros inteiros, ou uma srie dos mesmos, onde cada array representa uma
banda de cor. A luminosidade digitalizada chamada de nvel de cinza (Greyscale).
Cada elemento do array chamado de pxel ou pel, derivado do termo Picture
element (Elemento da imagem, em traduo livre).
Geralmente, o tamanho de tal array algumas centenas de pixels por algumas
centenas de pixels, e h diversas dzias de diferentes nveis da escala de cinza.
Uma imagem digital parece com
F(x,y) =

f(1,1)

f(1,2) ...

f(1,N)

f(2,1)

f(2,2)

f(2,N)

...

...

F(N,1) f(N,2) ...

...
f(N,N)

Com O f(x,y) G 1, onde geralmente N e G so expressos potncias inteiras


positivas de 2( N = 2, G = N ). (Petrou & Petrou, 2010)

2.3.3 Suavizao

Segundo (BRADHSKI & KAEHLER, 2008) suavizao uma simples e


frequentemente utilizada operao de processamento de imagens, h diversas
razes para utiliza-la, porm as mais comuns so para reduzir barulho na imagem
( variao aleatria no brilho ou cor da imagem, causadas pela m iluminao ou
problemas no equipamento utilizado) ou artefatos de cmera (qualquer alterao
indesejada na imagem devido a um processo digital).

16

3 CONCLUSO
Nesta monografia foram utilizadas tcnicas de viso computacional, aprendizado
de mquina, captura de movimento e processamento de imagens para desenvolver
um prottipo que demonste a viabilidade do desenvolvimento de um software que
sirva de alternativa lousa digital, com a restrio de que esta alternativa deve ser
de baixo custo, para atender um grupo da populao significativo que poderia
desfrutar do enriquecimento que tal ferramenta traz ao ambiente acadmico.
Com esta monografia, todos os objetivos do projeto foram alcanados, o prottipo
acessvel a partir de computadores simples, sem um custo computacional
extraordinario, e o custo de utilizao de uma webcam para captura dos
movimentos do usurio. Devido ao escopo de prottipo, alguns problemas foram
observados, como a isolao de objetos base, que podem ser usados como alvo
para a captura de movimentos, as variaes de luz em uma sala podem fazer com
que um objeto azul tenha aparncia branca por certos perodos, o que causa uma
interrupo na utilizao do software. Porm, o software consideravelmente leve,
os problemas encontrados em seu desenvolvimento so triviais e de fcil
remediao. Pude perceber tambm o espao para crescimento que este prottipo
tem, funcionalidades nicas como a deteco de objetos em tempo real, faces,
caractersticas, entre outras funcionalidades que uma lousa digital no seriam
capazes de prover. Porm, necessita-se de mais estudo na rea para saber a real
aplicabilidade destas funcionalidades no mbito acadmico.

17

REFERNCIAS
GONZALEZ, R. E. W. R. C. Digital image processing. 2. ed. Prentice hall, 2008.
190p.
HARRINGTON, P. Machine Learning in Action. Manning, 2012. 384p.
KAEHLER, G. B. &. A. Learning OpenCV. O'REILLY, 2008. 577p.
KIRK, M. Thoughtful machine learning. O'REILLY, 2014. 235p.
KULKARNI, P. Reinforcement and Systemic Machine Learning for Decision
Making. 1. ed. Wiley, 2012. 298p.
LIVINGSTONE, M. Vision and Art: The Biology of Seeing. Abrams, 2008. 208p.
MARR, D. C. Vision. 1. ed. MIT, 1982. 432p.
PALMER, S. E. Vision science: Photons to phenomenology. 1. Ed. The MIT
Press, 1999. 832p.
PETROU, M. P. C. Image processing: The fundamentals. Wiley, 2010. 815p.
WEISSHEIMER, S. F. O. &. J. Tarefas de aprendizagem de ingls mediadas pela
Lousa Digital Interativa: Efeitos motivacionais em tarefas de resoluo de
problemas e socializao de informaes pessoais. 2014. 158f. Dissertao
(Mestrado em Aprendizagem de lnguas estrangeiras) - Universidade Federal do Rio
Grande do Norte (UFRN), Londrina, 2014.
WHITE, D. C. &. J. M. Machine learning for hackers. 1. Ed. O'REILLY, 2012. 322p.

Vous aimerez peut-être aussi