Permitindo o acesso ao mundo digital como forma de reinclusão social.
O EyeTapper é uma iniciativa de acessibilidade digital que permite que pessoas com deficiências neuromotoras interajam com o mundo digital por meio do movimento ocular.
Nosso objetivo é transformar o olhar em ferramenta de comunicação e expressão.
O EyeTapper usa Eye Tracking (rastreamento ocular) para detectar movimentos dos olhos e traduzi-los em comandos digitais e texto preditivo.
Com base no algoritmo Dasher (2002), o projeto moderniza e personaliza o modelo probabilístico de escrita contínua, fazendo predições do próximo caracter com base no contexto. Assim, conseguimos escrever até 25 palavras por minuto.
| Arquivo | Descrição |
|---|---|
dasher.py |
Implementação do modelo de linguagem probabilístico, utilizando textos que remetem à uma linguagem cotidiana por meio de prompts gerados e livros. |
-
Pré-processamento (lidando com os arquivos .txt)
- Converte o texto para minúsculas
- Remove acentos e pontuação
- Normaliza espaços
-
Treinamento do Modelo
- Gera contagens de unigramas e bigramas
- Calcula probabilidades condicionais com suavização (Add-1)
-
Predição
- Dado um contexto (último caractere digitado), o modelo prevê as próximas letras mais prováveis.
- Pode ser integrado a um sistema de rastreamento ocular para escrita preditiva.
-
Pré-requisitos
- Python 3.9+
- Nenhuma dependência externa além da biblioteca padrão
-
Executar o modelo
python dasher.py
O diretório AccessiBoard contém um projeto Android (Gradle) — um aplicativo nativo que complementa o trabalho do EyeTapper. Ele está estruturado como um projeto Android padrão com um módulo app/ (localizado em AccessiBoard/app). O objetivo do AccessiBoard é prover uma interface móvel que integra detecção de movimentos faciais com o modelo Dasher para permitir a escrita digital.
AccessiBoard/— raiz do projeto Android (contémgradlew,gradlew.bat,settings.gradle,gradle/etc.)AccessiBoard/app/— módulo do aplicativo (código-fonte, recursos e configuração do Android)AccessiBoard/app/build/— diretório de build gerado (APKs, intermediários)
Você pode inspecionar o código Kotlin em AccessiBoard/app/src/main/kotlin/ e o manifesto em AccessiBoard/app/src/main/AndroidManifest.xml.
- Java JDK compatível (11+ recomendado, de acordo com a configuração do projeto)
- Android SDK e ferramentas (instaladas via Android Studio ou SDK Manager)
- Espaço em disco suficiente para builds (Gradle usa cache em
%USERPROFILE%\\.gradle)
Navegue até a pasta AccessiBoard e use o wrapper Gradle incluído. Exemplo de comandos no PowerShell:
# entrar na pasta do projeto Android
Set-Location -Path .\\AccessiBoard
# limpar e montar o build de debug (gera o APK em app\\build\\outputs\\apk)
.\\gradlew.bat clean assembleDebug
# após build concluído, o APK estará em:
# AccessiBoard\\app\\build\\outputs\\apk\\debug\\app-debug.apkPara abrir o projeto no Android Studio, selecione a pasta AccessiBoard como projeto e deixe o Android Studio sincronizar o Gradle e baixar as dependências.
- O arquivo
local.propertiescostuma apontar para o SDK instalado localmente (ex.:sdk.dir=C:\\Users\\SeuUsuario\\AppData\\Local\\Android\\sdk). Se não existir, crie-o ou abra o projeto no Android Studio para configurá-lo. - Use o
gradlew.batincluído para garantir a versão de Gradle esperada pelo projeto. - Artefatos de build (APKs) ficam em
AccessiBoard/app/build/outputs/apk/.
- Carolina Guerreiro
- Gabriel Antunes
- Gabriel Barbosa
- Otávio Biagioni
- Pietra Gullo
- Renan Scarpin