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.
TrackEye
Revisão TrackEye
- Nome da tecnologia: TrackEye
- Ligação: http://www.codeproject.com/Articles/26897/TrackEye-Real-Time-Tracking-Of-Human-Eyes-Using-a
- Preço: livre
- Popularidade: vencedor do concurso na competição "Melhor artigo C ++ / MFC de junho de 2008".
- Requisitos físicos mínimos: O paciente deve ser capaz de mover os olhos livremente.
Descrição detalhada:
Os olhos são as características mais importantes do rosto humano. Portanto, o uso eficaz dos movimentos oculares como técnica de comunicação nas interfaces usuário-computador pode encontrar lugar em várias áreas de aplicação.
O rastreamento ocular e as informações fornecidas pelos recursos oculares têm o potencial de se tornar uma maneira interessante de se comunicar com um computador em um sistema de interação homem-computador (HCI). Portanto, com essa motivação, projetar um software de rastreamento de recursos oculares em tempo real é o objetivo deste projeto.
O objetivo do projeto é implementar um rastreador de recursos oculares em tempo real com os seguintes recursos:
- Rastreamento de rosto do RealTime com invariância de escala e rotação
- Rastreando as áreas dos olhos individualmente
- Rastreando recursos oculares
- Descoberta da direção do olhar
- Controle remoto usando movimentos oculares
Instruções para executar e reconstruir o TrackEye
Extraia o arquivo TrackEye_Executable.zip. Antes de executar o TrackEye_636.exe, copie os dois arquivos SampleHUE.jpg e SampleEye.jpg para a pasta C: \. Esses dois arquivos são usados para os algoritmos CAMSHIFT e de correspondência de modelo.
Não há outras etapas a serem seguidas pelo usuário para executar o software. Não há dependências de DLL, pois o software foi criado com as DLLs incluídas estaticamente.
Configurações a serem feitas para executar um bom rastreamento
Configurações para detecção de rosto e olhos
Under TrackEye Menu --> Configurações do rastreador.
- Fonte de entrada: video
- Clique em Selecionar arquivo e selecione .. \ Avis \ Sample.avi
- Algoritmo de Detecção de Rosto: Algoritmo de Detecção de Rosto de Haar
- Marque a caixa de seleção "Track also Eyes"
- Algoritmo de detecção ocular: PCA adaptável
- Desmarque a opção "Verificação de variação"
- Número de imagens de banco de dados: 8
- Número de olhos: 5
- Distância máxima permitida do espaço ocular: 1200
- Relação largura da face / largura do modelo dos olhos: 0,3
- Tipo de ColorSpace a ser usado durante o PCA: CV_RGB2GRAY
- Configurações para detecção de alunos
Marque “Rastrear os olhos em detalhes” e depois marque “Detectar também pupilas oculares”. Clique no botão "Ajustar parâmetros":
- Digite "120" como o "Valor limite"
- Clique em "Salvar configurações" e clique em "Fechar"
- Configurações para Snake
Marque “Indique o contorno dos olhos usando cobras ativas”. Clique no botão "Configurações para cobra":
- Selecione ColorSpace para usar: CV_RGB2GRAY
- Selecione Limiar simples e insira 100 como o "Valor limite"
- Clique em "Salvar configurações" e clique em "Fechar"
- fundo
- Até agora, houve muito trabalho na detecção ocular e, antes do projeto, os métodos anteriores foram cuidadosamente estudados para determinar o método implementado. Podemos classificar os estudos relacionados ao olho em duas categorias principais, conforme listado abaixo.
Abordagens baseadas em equipamentos especiais
Esses tipos de estudos usam o equipamento necessário, que emitirá algum tipo de sinal proporcional à posição do olho na órbita. Vários métodos atualmente em uso são eletrooculografia, oculografia por infravermelho e bobinas esclerais. Esses métodos estão completamente fora do nosso projeto.
Abordagens baseadas em imagem
As abordagens baseadas em imagem realizam detecções oculares nas imagens. A maioria dos métodos baseados em imagens tenta detectar os olhos usando os recursos dos olhos. Os métodos usados até o momento são métodos baseados no conhecimento, métodos baseados em recursos (cores, gradientes), correspondência simples de modelos, métodos de aparência. Outro método interessante é a “correspondência de modelo deformável”, que é baseada na correspondência de um modelo de olho geométrico em uma imagem de olho, minimizando a energia do modelo geométrico.
Implementação do TrackEye
O projeto implementado é composto por três componentes:
- Detecção de rosto: realiza detecção de rosto invariante em escala
- Detecção ocular: os dois olhos são detectados como resultado desta etapa
- Extração de características oculares: as características dos olhos são extraídas no final desta etapa
- Detecção de rosto
Dois métodos diferentes foram implementados no projeto. Eles são:
- Algoritmo de mudança de médias continuamente adaptável
- Método de detecção de rosto Haar
- Algoritmo de mudança de média continuamente adaptável
- O algoritmo Adaptive Mean Shift é usado para rastrear faces humanas e é baseado em uma técnica não paramétrica robusta para escalar gradientes de densidade para encontrar o modo (pico) de distribuições de probabilidade chamado algoritmo de deslocamento médio. À medida que as faces são rastreadas nas seqüências de vídeo, o algoritmo de deslocamento médio é modificado para lidar com o problema de alterar dinamicamente as distribuições de probabilidade de cores. O diagrama de blocos do algoritmo é dado abaixo:
Método de Detecção de Haar-Face
O segundo algoritmo de detecção de face é baseado em um classificador que trabalha com recursos do tipo Haar (ou seja, uma cascata de classificadores aprimorados que trabalham com recursos do tipo Haar). Primeiro, ele é treinado com algumas centenas de visualizações de amostra de um rosto. Depois que um classificador é treinado, ele pode ser aplicado a uma região de interesse em uma imagem de entrada. O classificador gera um "1" se a região provavelmente mostra a face e "0", caso contrário. Para pesquisar o objeto na imagem inteira, é possível mover a janela de pesquisa pela imagem e verificar todos os locais usando o classificador. O classificador é projetado para que possa ser facilmente "redimensionado" para poder encontrar os objetos de interesse em tamanhos diferentes, o que é mais eficiente do que redimensionar a própria imagem.