Acessibilidade: Movimentos do mouse com a face (eViacam)

Acessibilidade não é puro altruísmo, e sim preocupar-se com o próximo com inteligência e visão mercadológica. Neste documento veremos como disponibilizar uma interface para interpretar os movimentos da face e convertê-los em movimentos e ações para o cursor do mouse.

[ Hits: 48.448 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 20/05/2009 | Blog: http://assuntonerd.com.br


Introdução: eViacam, um projeto exemplar



Conforme um texto publicado no blog do Bruno Torres, acessibilidade não é puro altruísmo, e sim, preocupar-se com o próximo com inteligência e visão mercadológica. Pois tornar acessíveis suas publicações, produtos e serviços para um público alvo não convencional com necessidades especiais, significa abranger um público em potencial tanto no aspecto social como econômico.

Dando continuidade para esta linha de raciocínio, acessibilidade aplicada à Web, significa que pessoas portadoras de necessidades especiais sejam perfeitamente capazes de usá-la. E para atingir tal objetivo, nada mais lógico e sensato que o aproveitamento da evolução do hardware e software para o desenvolvimento de mecanismos e interfaces.

A acessibilidade contempla todo tipo de necessidade especial, incluindo as visuais, auditivas, físicas, de fala, cognitivas e neurológicas. Neste documento veremos como disponibilizar uma interface para interpretar os movimentos da face e transformá-lo em movimentos e ações para o mouse. Desta maneira, pessoas com dificuldade na movimentação poderá controlar o cursor do mouse apenas com o movimento do rosto. Para acionar o clique do mouse basta manter a face sem movimento por alguns segundos sobre o objeto que receberá a ação do clique.

Recursos de vídeo captura e visão computacional foram requisitos básicos para o desenvolvimento do projeto eviacam. Este projeto permite que pessoas impossibilitadas de utilizar membros superiores operem computadores pessoais. O principal objetivo é tornar a webcam um dispositivo de entrada independente das mão. A seguir um vídeo demonstrativo do projeto:
Para complementar esta ferramenta sugiro o Dasher, uma aplicação criada para deficientes motores que permite escrever em um convencional teclado virtual. Utilizando um novo conceito para entrada de caracteres sem o uso de teclado, "o objetivo era criar um sistema que pudesse ser tão rápido quanto um teclado e não exigisse que a pessoa tivesse dez dedos nem capacidade de utilizar o teclado", disse David MacKay, chefe da equipe que produziu o programa e membro do departamento de física da Universidade de Cambridge (Grã-Bretanha). A seguir um gif animado demonstrando a operacionalidade do projeto:
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
1. Jogo rápido: Download e instalação a partir do código fonte:

Sem muitos detalhes, a seguir, as dependências de software e procedimentos para a instalação do projeto eViacam:

Requisitos:
  • wxWidgets >= 2.6
  • opencv = 1.0
  • gtk+-2.0

Efetue o download com o comando wget, descompacte o pacote com o comando tar -zxvf e compile o fontes com os comandos abaixo:

wget http://hivelocity.dl.sourceforge.net/sourceforge/eviacam/eviacam_1.0.1.orig.tar.gz
tar -zxvf eviacam_1.0.1.orig.tar.gz
$ cd eviacam-1.0.1/
$ ./configure
$ make
# make install


Para iniciar o programa execute o comando "eviacam", se tudo estiver funcionando corretamente, teremos a seguinte tela:
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
Para testar sua funcionalidade, basta posicionar a sua face no retângulo, clicar no botão verde para iniciar o processamento. O cursor do mouse responderá de acordo com a movimentação da face. É importante ressaltar que para o perfeito funcionamento do sistema, a sua webcam deverá trabalhar de 25 a 30 quadros por segundo. Para câmeras que trabalham com o driver pwc, utilize o programa setpwc conforme o exemplo a seguir:

setpwc -f 30

No item "configuration" do menu principal podemos configurar a velocidade do mouse, aceleração entre outros.
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
O comportamento do clique é configurado na aba "Click":
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
O sistema pode executar automaticamente clicando na opção "Enabled at startup":
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
É importante habilitar na aba "Advanced" a localização automática de faces.
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
No canto superior esquerdo podemos modificar as opções de clique, entre outros.

Como se trata de um projeto especial, onde o mesmo pode beneficiar pessoas com necessidades especiais, estou especialmente a disposição para ajudar na implantação quando a causa for para uma ajuda humana. Acredito que este projeto pode abrir portas para outros projetos.

Como sempre menciono: Colaborar atrai amigos, competir atrai inimigos...
Linux: Acessibilidade: Movimentos do mouse com a face (eViacam).
PS: Até o próximo artigo da série acessibilidade, onde veremos como controlar o mouse com o movimentos dos olhos. Para adiantar, disponibilizo este vídeo de pré-lançamento:
   

Páginas do artigo
   1. Introdução: eViacam, um projeto exemplar
Outros artigos deste autor

openCertiface: Biométrica Facial em nuvem baseada em software livre

Instalando leitores de impressão digital modelo Digital Persona no Linux

Detectando assalto na multidão com visão computacional

Linux: Executando comandos utilizando a tecnologia biométrica de reconhecimento de voz

Transmitindo dados para relógios Timex Datalink no GNU/Linux

Leitura recomendada

Conky no Slackware 13

Eclipse no Debian pelo ambiente desktop (duplo-clique)

Metisse + Gnome + Slackware (3D Desktop)

Vamos usar Slack!

Redmine 2.1.4 no Debian Squeeze - Instalação e configuração

  
Comentários
[1] Comentário enviado por fabio em 20/05/2009 - 15:27h

Fantástico!

[2] Comentário enviado por sandromt em 20/05/2009 - 17:32h

Excelente, super contribuição....parabéns pelo projeto.

[3] Comentário enviado por asdf2 em 20/05/2009 - 18:39h

massa pra [*****], foi pro favoritos.

[4] Comentário enviado por matux em 20/05/2009 - 21:36h

Parabéns Cabelo!
Mais um super artigo!
Muito útil!
Vou colocar este sistema na faculdade para o pessoal que tem alguma dificuldade especial.
Abração meu caro!

[5] Comentário enviado por renato.leite em 20/05/2009 - 22:45h

Muito bom o artigo, d+ =]

[6] Comentário enviado por Gabriel_Torelli em 21/05/2009 - 01:30h

Sempre acompanho seus artigos de longa data Cabelo, mas nesse vc se superou cara! Parabéns! Abraço!

[7] Comentário enviado por luizvieira em 21/05/2009 - 09:53h

Muito bom! Esse já será um projeto que apresentarei na Jornada Tecnológica com meu alunos aqui no colégio onde dou aula. Apresentarei esse projeto juntamente com o do jogo LevelHead, tbm retirado de um artigo anterior seu.

Parabéns e sucesso!

[8] Comentário enviado por removido em 21/05/2009 - 10:15h

muito bom !!!!!

[9] Comentário enviado por leoberbert em 21/05/2009 - 11:54h

Cabelo,

Como sempre inovando. Isso é uma revolução.

Congratulations!

[10] Comentário enviado por removido em 21/05/2009 - 13:09h

Excelente artigo Cabelo!!
Trabalho em uma APAE (Associação dos Pais e Amigos dos Excepcionais) aqui atendemos crianças e adultos com deficiencias fisicas e mentais e me interessei muito neste seu artigo! Gostaria de trocar uma idéia com você para implantar esse sistema aqui e ver se existe outros sistemas como esse de teclado e tudo mais que ajudará muitos deficientes! Se puder me adicionar no msn para troca de conhecimento dessa tecnologia meu msn é: xmarkinx@hotmail.com

Fico esperando você me add! Sua ajuda vai ser muito útil para nossa organização, visto que estamos também fazendo uma migração de todas as maquinas do sistema windows XP para o Ubuntu!

Obrigado por enquanto!

Abraços!

[11] Comentário enviado por _eXagon em 21/05/2009 - 15:43h

Otimo cabelo !!!

Muito show msm !

Abração !!

[12] Comentário enviado por cesar em 21/05/2009 - 16:52h

Muito show,

parabéns cabelo

[13] Comentário enviado por vicentedeandrade em 21/05/2009 - 17:52h

Pqp!!!!!!!!! Muito [*****]!!!!!!!!!!!!! Parabens!!!!!!!!!!!!!

[14] Comentário enviado por dbahiaz em 21/05/2009 - 21:12h

O que dizer?

Parabéns !


[15] Comentário enviado por fernandoborges em 22/05/2009 - 11:20h

Cara...
Sempre acompanho seus artigos. Este é meu primeiro comentário pra vc.
Simplesmente fantástico, vc é o cara mesmo.
Parabéns!

[16] Comentário enviado por cmauri em 22/05/2009 - 16:00h

Excellent tutorial Alessando. Thank you again!

An additional comment:
After the ./configure step you can generate a binary .deb package issuing:

make deb

this also works for .rpm

make rpm

--

César Mauri
Enable Viacam Project
http://viacam.org
Ass. Prov. Paràlisi Cerebral Tarragona
http://www.appctarragona.org

[17] Comentário enviado por humbhenri em 23/05/2009 - 14:25h

Muito interessante, funcionou out-of-the-box com uma webcam microsoft vx500 no ubuntu !

[18] Comentário enviado por massaorb em 23/05/2009 - 20:10h

Sensacional o artigo...porém estou com um problema:
Ao realizar o comando ./configure estou com o seguinte problema:
configure: error: libXext is required.

Já tentei achar uma solução, mas até agora nada.
Se puderem me ajudar, desde já agradeço.

[19] Comentário enviado por fpontes100 em 24/05/2009 - 15:34h

Massaorb,

Também me deparei com o mesmo problema (uso ubuntu jaunty - netbook-remix). Instalando o pacote libxext-dev consegui prosseguir, deu erro similar com a lib libXtst, instalei o pacote libxtst-dev e prosseguiu novamente.

Aqui que fiquei preso... ele acusa:
checking gdk version... Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
not found
configure: error: gtk+-2.0 is required.

Alguém sabe como prosseguir daqui? Não achei nenhum pacote parecido com "gtk+-2.0"!!!

[20] Comentário enviado por massaorb em 24/05/2009 - 16:23h

To usando o Ubuntu 8.04 Hardy.. e não estou achando o pacote libXext....
Como faço ? Alguém pode me passar um repo que contenha ???

[21] Comentário enviado por unbreakable em 24/05/2009 - 21:55h

Eu estou usando o Ubuntu 9.04 e consegui resolver essas dep nos seguintes end.

wxWidgets :
http://wiki.wxpython.org/InstallingOnUbuntuOrDebian

opencv:
http://gijs.pythonic.nl/blog/2009/may/3/getting-video-io-working-opencv-and-ubuntu-jaunty-/

Sobre o gtk já estava nos repositórios.

Porém na hora de compilar (make) está dando o seguinte erro:

/libwxutil.a ../creavision/.libs/libcreavision.a ../wxcamwindow/.libs/libwxcamwindow.a -lXtst -lXext -lX11
/usr/bin/ld: cannot find -lswscale
collect2: ld returned 1 exit status
make[2]: ** [eviacam] Erro 1
make[2]: Saindo do diretório `/home/snascimento/eviacam-1.0.1/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/snascimento/eviacam-1.0.1'
make: ** [all] Erro 2

Se alguém sabe o que pode ser me fale

Valew

[22] Comentário enviado por Sp4wN em 24/05/2009 - 22:53h

Realmente muito bom... adorei ver e conhecer mais sobre este recurso... pois já havia visto isso em um video no youtube... mas era com o sistema operacional Mac OS X... sinceramente não sabia que dava para fazer no linux também... realmente fantastico....


Valeu d+++++ :-)

[23] Comentário enviado por removido em 25/05/2009 - 11:49h

Resolvi o probrema com as libs com o seguintes comandos:
$sudo apt-get install libgtk2.0-dev
$sudo apt-get install libcv-dev
$sudo apt-get install libxtst-dev

Parabéns cabelo , mto legal

[24] Comentário enviado por vagnersobrinho em 25/05/2009 - 13:54h

Mandou bem Cara!

continue assim!

abraços!

[25] Comentário enviado por junior em 25/05/2009 - 16:13h

Chorei.

hahaha

Apelou heim cabelo!!!
Que tu é fera acho que já tá "careca" de saber!

[26] Comentário enviado por lueneberg em 25/05/2009 - 21:22h

acabei de instalar via pacotes debs no ubuntu 8.10,perfeito... minha filha de 11 anos acabou de acionar a pasta de video e acionou um filme.... esta só foi o primeiro teste....

o futuro chegou e com linux.........

:O)

[27] Comentário enviado por sebuba em 26/05/2009 - 14:37h

Boa tarde pessoal.
Parabéns pelo artigo e pela iniciativa, são pessoas assim que movem a comunidade.

Quando executo o evicam, o mesmo abre e fecha em aproximadamente 5 segundos, aparecendo o seguinte erro:

HIGHGUI ERROR: V4L: setting property #5 is not supported
select timeout
select timeout
Segmentation fault


Obrigado

[28] Comentário enviado por EDU4RDO_ em 30/05/2009 - 03:07h

Minha webcam é uma Elgin safadinha nem referência tem mas ela esta funcionando no Skype e no aMSN, mas quando excuto o programa como root pelo terminal o programa abre mas abre junto com ele um popap com a seguinte menssagem de Camaera não detectada...Abortando.

Eu estou usando Fedora 11, será que tenho que realizar alguma configuracão ou o programa não oferece suport a webcam?

Alguem faz idéia?

[29] Comentário enviado por removido em 04/06/2009 - 19:50h

Cara
Fantástico.


Consegui instalar, e gerar um pacote .DEB
Acessei o navegador e esta matéria através dele. Requer mais "habilidade" de minha parte para mexer o mouse, mas está funcionando 100%

Mal posso esperar pela matéria sobre controle do clique com o Olho
Parabéns mestre Cabelo!!!!

[30] Comentário enviado por removido em 15/07/2009 - 09:58h

Consegui instalar o eviacam! O Problema é que quando digito eviacam no terminal aparece que não existe nenhuma camera e aborta. Quais cameras vocês estão usando?? Trabalho com deficientes e isso seria de enorme importancia. A minha é essa:

Creative Technology, Ltd WebCam NX [PD1110]

Obrigado.

[31] Comentário enviado por removido em 15/07/2009 - 16:32h

estou com o mesmo problema q o sebuba agora....

[27] Comentário enviado por sebuba em 26/05/2009 - 14:37h:

Boa tarde pessoal.
Parabéns pelo artigo e pela iniciativa, são pessoas assim que movem a comunidade.

Quando executo o evicam, o mesmo abre e fecha em aproximadamente 5 segundos, aparecendo o seguinte erro:

HIGHGUI ERROR: V4L: setting property #5 is not supported
select timeout
select timeout
Segmentation fault


Obrigado

oq pode ser?

[32] Comentário enviado por humbertofranco em 16/09/2009 - 21:33h

Sempre quando vejo algo desta magnitude penso que num futuro proximo Linux tera seu lugar bem caraterizado. Graças a pessoas como Voce, cabelo, e a outos como Fábio e tantos mais a quem a comunidade (inclusive eu) ficaremos sempre devendo. Parabens.
Humbertofranco.

[33] Comentário enviado por xsmokex em 04/10/2009 - 19:28h

Mais um ótimo artigo.

Parabéns Cabelo !

[34] Comentário enviado por vivi_cruz em 05/10/2009 - 02:15h

Espero que esse projeto tenha um ótimo desenvolvimento e aceitação. E principalmente que você consiga ajudar a desenvolver este excelente trabalho. Desejo sucesso nos seus empreendimentos. Parabéns! Bjs ;-)

[35] Comentário enviado por dhiogo.santos em 05/11/2009 - 19:18h

MUITO BOM!!!!

Parabéns pelo trabalho!

[36] Comentário enviado por stilldre em 11/11/2009 - 17:29h

mandou bem, vou incluir no meu projeto para educação especial infantil!!! grande abraço! que os fontes estejam com vocês!!!

[37] Comentário enviado por fernandoamador em 17/12/2009 - 03:07h

ótimo artigo. Parabéns

[38] Comentário enviado por reuber em 13/01/2010 - 11:47h

Muito bom Cabelo.

[39] Comentário enviado por removido em 14/01/2010 - 17:30h

Esse é o Cabelo!

Ótimo artigo.

[]'s

[40] Comentário enviado por bifi em 09/06/2010 - 11:22h

quando executo o make aparece o seguinte erro:

mousecontrol.cpp:41:34: error: X11/extensions/XTest.h: Arquivo ou diretório não encontrado
mousecontrol.cpp: In member function ‘void CMouseControl::SendMouseCommand(long int, long int, int)’:
mousecontrol.cpp:405: error: ‘XTestFakeMotionEvent’ was not declared in this scope
mousecontrol.cpp:408: error: ‘XTestFakeRelativeMotionEvent’ was not declared in this scope
mousecontrol.cpp:439: error: ‘XTestFakeButtonEvent’ was not declared in this scope
make[1]: ** [mousecontrol.lo] Erro 1
make[1]: Saindo do diretório `/usr/src/eviacam-1.0.1/wxutil'
make: ** [install-recursive] Erro 1

me ajudem por favor

[41] Comentário enviado por sedan75 em 24/12/2010 - 06:15h

É a segunda vez que ponho em prática o tuto do cabelo.
O primeiro foi ha alguns anos o aplicativo cvoicecontrol, que infelizmente, hoje é incompativel com as novas versoes de linux e o desenvolvedor não teve condições de continuar a mante-lo.

Quanto ao eViacom, tive muitos problemas de dependencias para conseguir compila-lo no Ubunto 10.10. Mas após algumas horas "batendo cabeça", tive sucesso!

O aplicativo é lindo! Maravilhoso! Faz tbm uma dupla perfeita com o gnome-voice-control, que na minha opinião ainda é limitado.

Se alguém se interessar em saber os passos que segui para instalar o eViacam no Ubuntu 10.10, entre em contato. ficarei feliz em poder ajudar.

Mais uma vez, obrigado, careca! Você é foda!

-- EDIT --

Escrevi um tuto de como instalar e configurar o eViacam no Ubuntu 10.10 mas há semanas ele está em "espera".

Enquanto isso, ele pode ser lido no link abaixo:
http://hotplug.hdfree.com.br/linux_eviacam.html

[42] Comentário enviado por scmp em 14/03/2011 - 08:19h

Alguém por favor poderia indicar uma webcam que funciona bem no eViacam???
Obrigado....

[43] Comentário enviado por thserpa em 25/02/2016 - 23:45h


[1] Comentário enviado por fabio em 20/05/2009 - 15:27h

Fantástico!


Eu coloquei no notebook de um amigo meu e ele pode controlar o computador pela primeira vez sem a ajuda de ninguém. Faz tempo já, foi no final de 2014, o programa tem sido atualizado e de tempo em tempo eu coloco uma versão mais nova p ele. Com isso ele consegue se comunicar com a namorada e os amigos dele. Esse programa tem tanto para Windows quanto Linux e funciona bem nos dois. Aqui um a foto no dia que fui a casa dele... https://www.facebook.com/photo.php?fbid=678871842228258&l=660d2a9241


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts