Atenção: esta página é uma tradução automática (automática); em caso de dúvida, consulte o documento original em inglês. Pedimos desculpas pelo inconveniente que isso possa causar.

Open Gazer

Revisão aberta do Gazer

Descrição detalhada:

O Opengazer é um aplicativo de código aberto que usa uma webcam comum para estimar a direção do seu olhar. Esta informação pode ser passada para outros aplicativos. Por exemplo, usado em conjunto com o Dasher, o opengazer permite que você escreva com os olhos. O Opengazer pretende ser uma alternativa de software de baixo custo aos rastreadores oculares baseados em hardware comercial.

A primeira versão do Opengazer foi desenvolvida pela PiotrZieliński, suportada pela Samsung e pela Fundação de Caridade Gatsby. Mais detalhes sobre esta versão podem ser encontrados.

A pesquisa do Opengazer foi revivida por Emli-Mari Nel e agora é apoiada pela Comissão Europeia no contexto do projeto AEGIS e da Fundação de Caridade Gatsby.

Open Gazer

A versão anterior do Opengazer é muito sensível às variações de movimentos da cabeça. Para corrigir esse problema, atualmente estamos focando nos algoritmos de rastreamento de cabeças para corrigir variações de pose de cabeça antes de inferir as posições do olhar. Todo o software é escrito em C ++ e Python. Um exemplo de vídeo de um dos nossos algoritmos de rastreamento de cabeças pode ser baixado [aqui]. No Windows, o vídeo pode ser visualizado com o VLC player. No Linux, é melhor exibido usando o Mplayer Movie Player.

A primeira versão do nosso algoritmo de rastreamento de cabeças é elementar, com base no detector de faces Viola-Jones, que localiza a maior face do fluxo de vídeo (capturada de um arquivo / câmera) o mais rápido possível, em um quadro a- base de quadro. As coordenadas xy do rastreamento já podem ser usadas para digitar usando o Dasher. Isso pode ser feito no modo 1D (por exemplo, do rastreamento apenas das coordenadas y) ou no modo 2D. Embora possam ser esperados resultados muito melhores após o lançamento do nosso software de pose da cabeça, este software já é útil para a localização rápida de faces. Nosso algoritmo aplica um filtro passa-baixo simples auto-regressivo nas coordenadas xy e na escala dos resultados da detecção do detector de faces Viola-Jones, além de restringir a região de interesse de um quadro para outro. Os parâmetros de detecção foram determinados de acordo com a nossa aplicação específica (ou seja, um único usuário trabalhando em seu PC / laptop). O algoritmo funciona melhor em imagens de 320x240, a uma taxa de quadros de 30 qps e condições razoáveis ​​de iluminação.

Open Gazer

Um subprojeto do Opengazer envolve a detecção automática de gestos faciais para conduzir um programa baseado em switch. Este programa possui uma curta fase de aprendizado (menos de 30 segundos) para cada gesto, após o que o gesto é detectado automaticamente. Muitos pacientes (por exemplo, pacientes com paralisia cerebral) têm movimentos involuntários da cabeça que podem introduzir falsos positivos durante a detecção. Portanto, também treinamos um modelo de plano de fundo para lidar com movimentos involuntários. Todo o software é escrito em C ++ e Python e estará disponível para download em breve. Um exemplo de vídeo do nosso algoritmo de troca de gestos pode ser baixado [aqui]. No Windows, o vídeo pode ser visualizado com o VLC player. No Linux, é melhor exibido usando o Mplayer Movie Player. Observe que este vídeo tem som. Três gestos foram treinados para gerar três possíveis eventos de troca: um sorriso à esquerda, um sorriso à direita e um movimento de sobrancelha para cima correspondem a eventos de troca. O modelo de plano de fundo, nesse caso, detecta piscadas, mudanças repentinas na iluminação e grandes movimentos da cabeça. O primeiro lançamento oficial será no final de junho de 2012.

A primeira versão do Opengazer possui o seguinte fluxo de trabalho:

Seleção de ponto de recurso:
Durante a inicialização, o usuário deve selecionar pontos de recurso no rosto usando o mouse. Esses pontos são rastreados nas etapas subsequentes do algoritmo. Os dois primeiros pontos correspondem aos cantos dos olhos, que também são usados ​​nas etapas subsequentes para extrair as imagens dos olhos. O usuário deve manter a cabeça muito imóvel durante todo o procedimento. Nesse ponto, o usuário deve, de preferência, salvar todos os pontos de recurso selecionados.

Calibrando o sistema:
Durante esta etapa, alguns pontos vermelhos são exibidos em várias posições na tela. As imagens dos olhos são extraídas durante a exibição de cada ponto. As imagens dos olhos e suas posições de ponto correspondentes são usadas para treinar um Processo Gaussiano que representa o mapeamento entre a imagem de um olho e a posição na tela. Observe que as mudanças na postura da cabeça geralmente exigem que o sistema seja recalibrado.

Rastreamento:

Depois que todos os pontos de calibração são processados, o Processo Gaussiano gera uma distribuição preditiva, para que o foco esperado do ponto de vista no monitor possa ser estimado, dada uma nova imagem do olho. Se o usuário carregar seus pontos de recurso selecionados, o detector de rosto Viola Jones será usado uma vez para determinar a região de pesquisa onde os pontos de recurso são esperados. Posteriormente, o fluxo óptico é usado para rastrear cada ponto de recurso. As imagens oculares são extraídas (usando os dois primeiros pontos de canto selecionados como referência), e o olhar é previsto usando as imagens oculares extraídas e o Processo Gaussiano treinado.