um software livre para ampliaÇÃo de telas para...
TRANSCRIPT
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
UM SOFTWARE LIVRE PARA AMPLIAÇÃO DE TELAS PARA PESSOAS COM BAIXA VISÃO
Jorge Bidarra (Professor Adjunto do Centro de Ciências Exatas e Tecnológicas da UNIOESTE e Mestrado em Letras – Mecanismos da Linguagem Natural, Coordenador
Geral do Núcleo de Inovação Tecnológica, Coordenador do Projeto xLupa/CNPq); Diego Rodrigo Hachmann (Aluno de Graduação de Bacharelado em Informática, Universidade Estadual do Oeste do Paraná); Odair Moreira de Souza (Aluno de
Graduação de Bacharelado em Informática, Universidade Estadual do Oeste do Paraná) [email protected]/[email protected]
Resumo
As tecnologias assistivas têm sido um dos diferentes meios usados na tentativa de
propiciar uma melhoria na qualidade de vida das pessoas com necessidades especiais.
Os ampliadores de telas, por exemplo, vêm permitindo que pessoas com baixa visão não
só façam uso dos computadores, como também criam melhores condições para que
esses indivíduos tenham acesso ao conhecimento. O xLupa é um projeto de pesquisa
que tem por objetivos estudar, especificar e implementar um ampliador de tela, como
software livre (versão linux [6]), voltado, mas não restrito, para alunos de escolas da
rede pública com baixa visão. Com início em 2004, o projeto conta com a participação
de pesquisadores, educadores, técnicos especializados e alunos, membros do Grupo de
pesquisa em Inteligência aplicada da UNIOESTE (GIA/UNIOESTE). Nesse artigo,
serão apresentados alguns aspectos importantes relacionados ao desenvolvimento do
xLupa, bem como os resultados já obtidos até o momento. Ao longo do texto, são
consideradas algumas questões relevantes que incluem aspectos tanto de natureza
computacional, quanto pedagógica e oftalmológica. Em particular, são abordados
tópicos inerentes à Inteligência Artificial. Embora fuja ao escopo desse artigo
aprofundar tais questões, entendemos que são informações relevantes e que auxiliam o
leitor na compreensão do que ora se apresenta.
Introdução
Um dos grandes desafios colocados para a sociedade moderna tem sido a busca por
soluções para os problemas enfrentados pelas pessoas com deficiências. Vários estudos
têm sido realizados no sentido de identificar caminhos que possam resultar em soluções
eficientes e acessíveis para esses usuários. Nesse contexto, as Tecnologias Assistivas
(TAs) apontam para um horizonte muito promissor. Bersch Tonolli
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
(http://www.cedionline.com.br/TA.html) definem TAs como sendo “um termo novo
utilizado para identificar todo o arsenal de Recursos e Serviços que contribuem para
proporcionar ou ampliar habilidades funcionais de pessoas com deficiências e
conseqüentemente promover vida independente e inclusão.” Segundo Cook e Hussey
[2], as TAs constituem “uma ampla gama de equipamentos, serviços, estratégias e
práticas concebidas e aplicadas para minorar os problemas encontrados pelos indivíduos
com deficiências”.
Assim como qualquer outro software, as ferramentas computacionais desenvolvidas
para pessoas com deficiências, física ou mental, exigem a implementação de certos
requisitos funcionais e não funcionais da Engenharia de Software, traduzidos no bom
funcionamento da solução junto aos seus usuários. Dentre todos os principais requisitos
necessários para esse tipo de solução, destacam-se a acessibilidade e a usabilidade.
Grosso modo, enquanto a acessibilidade pode ser vista como um conjunto de condições
presentes e necessárias para que determina ferramenta esteja ao alcance de todos, sem
obstáculos; entende-se a usabilidade como os meios necessários para garantir que a
manipulação da tecnologia seja, ao mesmo tempo, fácil e eficaz, de um ponto de vista
não apenas técnico, mas também em relação às respostas e avanços pessoais obtidos
com o seu uso.
Seguindo-se nessa linha de execução, apresentam-se aqui alguns resultados alcançados
até o momento com o desenvolvimento de um ampliador de tela para pessoas com baixa
visão. Trata-se do xLupa, um software livre [9] que vem sendo implementado não
apenas com a aplicação de técnicas da Inteligência Artificial, Engenharia de Software e
Computação Gráfica, mas também envolvendo aspectos defendidos em ambas as áreas
da Educação e Oftalmologia, como não poderia deixar de ser.
Desenvolvimento
O projeto xLupa surge em final de 2004, como um projeto de pesquisa que, desde então,
vem recebendo financiamento do CNPq. Sua execução envolve pesquisadores e alunos
do Grupo de Inteligência Aplicada - GIA e do Núcleo de Inovação Tecnológica (NIT)
da Universidade Estadual do Oeste do Paraná, e também professores do ensino médio e
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
fundamental, pedagogos e médicos especializados na área da deficiência visual, em
particular a baixa visão.
Em termos de implementação, um estudo de viabilidade de projeto, composto pela
análise e elicitação das expectativas, foi realizado com vistas a delimitar mais
claramente quais as principais características esperadas para um ampliador de tela
típico. De início, um trabalho comparativo foi desenvolvido, envolvendo alguns dos
mais importantes ampliadores existentes, em especial o Gnopernicus [8]. Disso resultou
uma relação significativa de atributos e características que determinaram os pontos a
serem considerados na implementação do xLupa, a seguir resumidas.
A estrutura da lógica computacional do xLupa é mostrada pelo Diagrama de
Representação apresentado pela figura 1. A título explicativo, os conteúdos das elipses
tanto podem se referir a ações a serem executadas pela ferramenta, estabelecendo-se
assim uma dinâmica de funcionamento, tais como: “movimenta Mouse”, “Captura
Região a Tratar”, etc.; como também, opções de menu voltadas para a configuração do
ambiente de execução; p.ex., “Aumenta”/”Diminui”, função que provoca o aumento ou
a redução de zoom (fator de ampliação) e “Amplia com interpolação”, que submete os
objetos ampliados a um algoritmo específico de tratamento de bordas das imagens. Por
default, o algoritmo assumido para o tratamento das bordas é o “vizinho mais próximo”
[5], [7]. Embora, o processamento das imagens possa estar submetido a um único
algoritmo de suavização (intepolação bilinear ou vizinho mais próximo), é possível
combinar os dois algoritmos, o que pode provocar, dependendo da necessidade do
usuário, uma melhoria na qualidade de ampliação.
Figura 1 – Diagrama de Representação de Casos
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
Uma vez ativado o xLupa, um conjunto de janelas, cada qual contendo uma mesma
imagem (no caso aqui, a replicação da palavra xlupa – ver figura 2) ampliada com base
num fator de magnificação previamente especificado é apresentado ao usuário. Tais
exibições são montadas de acordo com especificações de referência extraídas de [1],
para as quais são consideradas as classes de acuidade visual e a habilidade de leitura
estimada.
Figura 2 – Tela inicial apresentada ao usuário quando da ativação do xLupa.
Iniciada a sessão de trabalho, o xLupa é capaz de capturar a tela com rastreamento de
mouse, permitindo que o usuário não só controle o nível de ampliação das imagens (o
que é conseguido pela alteração via um menu de opções do Fator de Ampliação), como
também determine a taxa de tela útil a ser usada para a ampliação desejada, o que
também é factível de escolha, podendo-se essa ampliação se dar ou na parte superior da
tela ou na lateral direita do monitor, ocupando 20, 30, 50 ou 60 por cento da sua parte
útil. Ao mesmo tempo, o conteúdo ampliado pode ser visualizado segundo o contraste e
brilho desejados pelo usuário. A ferramenta permite que o usuário opte por uma única
cor ou, então, combine, duas a duas, as cores de apresentação, conforme as necessidades
e o conforto de cada indivíduo. Intensificar ou suavizar o contraste é também um
recurso possível. Todas essas possibilidades, juntas ou isoladamente, foram pensadas
não apenas com vistas a favorecer o usuário, mas também como forma de propiciar aos
profissionais que acompanham esses indivíduos, seja para fins educacionais ou
terapêuticos, em suas atividades de treinamentos/estimulação do campo visual. A
qualquer instante, a configuração da área de trabalho pode sofrer alterações (figuras 3 e
4).
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
Figura 3 – Tela com opções de ajustes de ampliação e posição do menu xLupa.
Figura 4 – Tela para ajustes de cor, brilho e contraste.
Atualmente, um dos principais desafios da nossa equipe de desenvolvimento é prover a
ferramenta da capacidade de aprender e se adaptar ao perfil do usuário. Com a
implementação da técnica do RBC (Raciocínio Baseado em Casos) [4], da Inteligência
Artificial, explicada brevemente logo na seqüência, a proposta é que o xLupa seja capaz
de se ajustar ao comportamento de cada usuário, a partir do conhecimento específico
que adquiriu com ele em execuções passadas. As informações necessárias para essa
retomada são obtidas por meio da recuperação da última configuração estabelecida pelo
usuário, replicada na sessão de trabalho atual aberta por ele. A idéia é tentar evitar que o
usuário necessite, a cada nova sessão de trabalho, reproduzir todos os passos que já
executou antes até atingir o estágio desejado de configuração.
Resumidamente, o RBC pode ser visto como sendo um método solucionador de
problemas, a partir do que o sistema já sabe a respeito de soluções que tenham sido
aplicadas sobre problemas semelhantes ocorridos anteriormente. Para tanto, o ciclo de
funcionamento do RBC é executado em 4 etapas, a saber: (1) Recuperação de Casos - a
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
partir da apresentação de um novo problema, o sistema inicia o processo de recuperação
daqueles casos que, na sua base de representação, possam resolver o problema atual.
Isso é feito a partir da identificação de características compartilhadas entre o problema
atual a ser resolvido e aquelas explicitadas nos casos considerados como potenciais
solucionadores do novo problema; (2) Revisão dos Casos – essa é uma etapa de
refinamento do método. A idéia básica aqui é descobrir o máximo de semelhanças
existentes entre um problema já resolvido pelos casos recuperados da base e o problema
ora processado: quanto maior o grau de similaridade entre um problema anterior e o
atual, maior a probabilidade de a solução aplicada àquele ser também uma solução para
esse problema. Caso essa expectativa não se confirme, o que pode realmente acontecer,
o sistema inicia uma nova avaliação, lançando mão de um novo caso base, tentando
descobrir, via o mesmo raciocínio, uma solução mais apropriada; (3) Reutilização do
Caso – Encontrado o caso solucionador, o sistema inicia a sua execução e (4) Retenção
do Caso – é a fase em que o sistema, se necessário, armazena um novo caso na base.
Esse armazenamento apenas ocorrerá se nenhuma das soluções presentes na base se
mostrar eficiente para resolver o problema atual. Em tal circunstância, o sistema será
forçado a construir um novo esquema de solução, constituindo-se, nesse momento, um
novo caso que, como tal, precisará ser armazenado na base para uso futuro. No método
RBC, assim como nas Redes Neurais e outros sistemas de aprendizagem, a base de
casos não contém, e nem deve conter, soluções prontas para todos os problemas. Ou
seja, descobrir a melhor solução por ele mesmo, ao que vai se chamar aprendizagem, é a
principal característica do método.
Para o registro da configuração de trabalho, para posterior utilização, inicialmente, a
equipe implementou o monitoramento do comportamento individual do usuário por um
período inicial estimado em 5 minutos. Passado esse tempo, o sistema então passaria
assumir que o usuário encontrou a sua configuração ideal, com o respectivo
armazenamento na base da informação capturada. No entanto, essa política está sendo
revisada, tendo em vista discussões feitas com os especialistas, notadamente os
médicos, que atestam que esse tempo é altamente variável (varia de pessoa para pessoa,
conforme a deficiência, a idade, a habilidade com o uso de computadores, etc);
sugerindo-se que esse o registro apenas seja feito no momento em que o usuário se
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
prepara para o fechamento da sessão de trabalho (esse procedimento ainda está em
programação).
De qualquer modo, para que o registro da configuração possa ser feito de maneira
personalizada, um outro problema ainda está demandando uma boa solução. Trata-se de
como resolver a identificação de cada usuário. Num primeiro momento, a equipe
decidiu pelo uso do “username” de cada indivíduo. Assim, sempre que uma sessão de
trabalho com a ferramenta é aberta, pelo “username”, o sistema teria como saber quais
as informações de configuração específicas daquele usuário; é claro, desde que a sessão
não corresponda à primeira vez do usuário. Porém, também essa política ainda está
sujeita a estudos de viabilidade e eficiência. A seguir, são apresentadas algumas telas
geradas pelo xLupa em funcionamento.
Figura 5 – Ampliação submetida ao algoritmo de interpolação, nas cores originais dos objetos
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
Figura 6 – Ampliação na porção superior do monitor, nas cores originais
Figura 7 – Ampliação em contraste verde (fundo) e preto (contorno), porção direita do monitor
Figura 8 – Ampliação em contraste preto (fundo) e branco (contorno dos objetos)
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
Conclusão
O xLupa já se encontra em utilização em campo de forma monitorada. O uso que está
sendo feito conta com a participação voluntária de alunos do Centro de Apoio
Pedagógico de Cascavel e de uma escola municipal localizada no município de
Medianeira (PR), sem o nosso contato direto com eles. Todo o trabalho em campo é
conduzido por professores especializados, tanto no CAP quanto na escola. Também
estamos em processo de liberação de uma cópia do software para uma clínica
oftalmológica especializada em patologias da visão, localizada em Cascavel, que tem se
mostrado interessada em testar a ferramenta. A distribuição de outras cópias para
especialistas e instituições de pesquisa (inclusive fora do estado do Paraná) que nos têm
procurado também está prevista.
Convém enfatizar que as avaliações da ferramenta nos são retornadas pelos
especialistas; nunca pelos usuários finais. Para tanto, elaboramos um questionário de
avaliação que tanto os alunos quanto os professores/especialistas são convidados a
responder. Por esse instrumento e também por meio de reuniões técnicas e periódicas
que realizamos com os profissionais, tem sido possível identificar os problemas, bem
encontrar as soluções que, em conjunto, julgamos serem as mais adequadas.
Embora os testes feitos em laboratórios venham se mostrando satisfatórios, a ferramenta
ainda apresenta algumas limitações, relatadas nos questionários. O processo de
suavização das imagens, por exemplo, tem provocado alguns efeitos indesejados. Uma
das principais reclamações tem a ver o fator de ampliação: quanto maior esse fator, mais
distorcida fica a ampliação. Um outro aspecto que tem merecido a nossa atenção está
relacionado ao fato de que a ampliação não acontece na tela toda. Porém, a solução para
esse problema encontra obstáculos numa dificuldade técnica computacional, para a qual
ainda não encontramos uma solução satisfatória. Também tem sido alvo de solicitação,
embora de forma bastante discreta, a possibilidade de a ampliação ser feita apenas em
determinadas regiões, mais localizadas. A sugestão que se faz seria passar uma lupa
móvel sobre a região desejada, com a ampliação apenas dessa parte da tela.
CONGRESSO BRASILEIRO DE EDUCAÇÃO ESPECIAL, 3., 2008, São Carlos. Anais, 2008
No momento, a equipe trabalha mais intensamente nos seguintes aspectos:
melhoramento das condições adaptativas da ferramenta ao usuário; viabilidade de se
acoplar à ferramenta um leitor de telas; mas, fundamentalmente, no desenvolvimento de
testes de usabilidade e acessibilidade, conforme os requisitos estabelecidos no âmbito
da interface humano-computador [3].
Referências
[1] A. Colembrander. Reabilitação de baixa visão. In: Veiztman, S. (editor). Visão
Subnormal. Rio de Janeiro: Cultura Médica, 2000;
[2] Cook and Hussey. Assistive Techonologies: Principles and Practices. Mosby – Year
book, inc., 1995;
[3] C. Souza; J. Leite; R. Prates e S. Barbosa. Projeto de Interfaces de Usuários:
Perspectivas Cognitivas e Semióticas. Apostila do Curso de Projeto de Interfaces de
Usuário – Departamento de Informática, PUC-Rio. Rio de Janeiro, 1999;
[4] C. G Von WANGENHEIM e A. Von WANGENHEIM. Raciocínio Baseado em
Casos. Barueri, SP:Manole,2003;
[5] J. C. Russ. The Image Processing. CRC Press, Florida, 2002;
[6] N. Matthew; R. Stone, Professional Linux Programando. Makron Books, São Paulo,
2002;
[7] R. C. Gonzalez; R.E.Woods. Digital Image Processing. Prentice Hall, New Jersey,
2001;
[8] Introducing Gnopernicus [site] disponível em:
http://developer.gnome.org/projects/gap/AT/Gnopernicus. Acesso em 25 de julho de
2008;
[9] WHAT IS XFREE86? [site] disponível em : <http://xfree86.org>. Acesso em : 25
de julho de 2008.
Agradecimentos: À Dra. Maria Cristina Kobayashi, pelas consultorias na área da
Oftalmologia e ao CNPq, pelo financiamento do Projeto.