Mudanças entre as edições de "Máquina Associadora de Eventos - MAE"
Linha 47: | Linha 47: | ||
− | ==== Entrada e | + | ==== Entrada ==== |
+ | Através do comando input, é criada uma neuron_layer com nome, dimensão e saída especificadas, entretanto, um tratamento especial é dada nestas neuron_layer’s. É criada uma janela para cada input gerada que mostra o estado dos neurônios desta input, e podem ser associadas duas funções, uma para geração e outra para manipulação da input. A neron_layer criada pela input pode ser manipulada por eventos de mouse e teclado. A sintaxe para especificar uma input é mostrada abaixo: | ||
+ | |||
+ | input <nome><dimensão> with <tipo de saída> outputs [produced by <função geradora>] [controled by <função de controle>]; | ||
+ | |||
+ | <nome> : Nome pelo qual a input poderá ser referenciada. | ||
+ | |||
+ | <dimensão> : Dimensão da input. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente. | ||
+ | |||
+ | <tipo de saída> : Define o tipo de saída dos neurônios de uma input. Podem ser: b&w, grayscale, grayscale_float e color. Possui a mesma descrição do parâmetro <tipo de saída> da neuron_layer, citado anteriormente. | ||
+ | |||
+ | <função geradora> : O objetivo da função de geração é inicializar parâmetros da input, criar sua janela, associá-la às funções de controle de mouse, teclado, além do controle de atualização do conteúdo da janela. Podem-se passar quantos parâmetros forem necessários para a função de geração, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. Nesta função, normalmente é definida como a input receberá as informações de entrada, por exemplo, de um arquivo de entrada. A declaração de uma função de geração é opcional. Se não for definida, a função pré-estabelecida na biblioteca MAE será utilizada, que é a que trata de imagens estáticas. Esta função procura no diretório em que está sendo executada a aplicação MAE, um arquivo com o mesmo nome da input com extensão .in. Uma string na primeira linha deste arquivo deve informar o nome de um arquivo .bmp contendo a imagem estática a ser usada como entrada. Os valores de cada pixel deste arquivo são passados para os neurônios da input. | ||
+ | |||
+ | <função de controle> : Também é opcional. O objetivo da função de controle é fornecer o código necessário para tratar a interação da input com o usuário, por exemplo, eventos de clique de mouse sobre a janela de visualização da input. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. | ||
+ | |||
+ | ==== Saida ==== | ||
+ | Uma output é apenas uma visualização das saídas de uma neuron_layer. Através de uma output, pode-se fornecer uma interação do usuário com uma determinada neuron_layer, semelhante a input. A sintaxe para especificar uma output é mostrada abaixo: | ||
+ | |||
+ | output <nome><dimensão> [handled by <função manipuladora>]; | ||
+ | |||
+ | <nome> : Nome pelo qual a output poderá ser referenciada. | ||
+ | |||
+ | <dimensão> : Dimensão da output. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente. | ||
+ | |||
+ | <função manipuladora> : A declaração desta função é opcional. O objetivo da função manipuladora é fornecer o código necessário para tratar a interação da output, e portanto com a neuron_layer na qual está associada (vide comando output_connect), com o usuário. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. | ||
+ | |||
==== Filtros ==== | ==== Filtros ==== | ||
==== Associações ==== | ==== Associações ==== |
Edição das 09h40min de 17 de setembro de 2010
Índice
- 1 Manual da MAE
- 1.1 Introdução
- 1.2 Instalando a MAE
- 1.3 Framework MAE
- 1.4 Tutorial
- 1.4.1 Uma Aplicação Exemplo – Reconhecimento de Faces
- 1.4.2 Base de Dados de Entrada – AR Face Database
- 1.4.3 Arquitetura da Aplicação MAE face_recog_planar
- 1.4.4 Descrição da face_recog_planar em NADL
- 1.4.5 Compilando e Rodando a face_recog_planar
- 1.4.6 Interface do Usuário com a face_recog_planar
- 1.4.7 Funções do Usuário Associadas à Aplicação face_recog_planar
- 1.4.8 Controlando a face_recog_planar via CSL
- 1.5 Especificação da NADL
- 1.6 Especificação da CSL
- 1.7 Funções do Usuário
- 1.8 Implementação da MAE
Manual da MAE
Introdução
O que é a MAE?
Histórico
Instalando a MAE
No Windows
- Baixando a MAE
- Dependências (bibliotecas)
- Compilando a MAE
- Compilando os Exemplos
- Gerando DLLs de Aplicações MAE
No Linux
- Baixando a MAE
- Dependências (bibliotecas)
- Compilando a MAE
- Compilando os Exemplos
Framework MAE
Arquitetura da MAE
Network Architecture Description Language
==== Control Script Language
Tutorial
Uma Aplicação Exemplo – Reconhecimento de Faces
Base de Dados de Entrada – AR Face Database
Arquitetura da Aplicação MAE face_recog_planar
Descrição da face_recog_planar em NADL
Compilando e Rodando a face_recog_planar
Interface do Usuário com a face_recog_planar
Funções do Usuário Associadas à Aplicação face_recog_planar
Controlando a face_recog_planar via CSL
Especificação da NADL
Variáveis
Constantes
Camadas Neurais
Uma neuron_layer é, basicamente, uma matriz de neurônios que são utilizadas para implementar as camadas de neurônios (células simples, células complexas, células de MT, etc.). A sintaxe para especificar uma neuron_layer é mostrada abaixo:
neuron_layer <nome><dimensão> with <tipo de saída> outputs;
<nome> : Nome pelo qual a neuron_layer poderá ser referenciada. <dimensão> : Dimensão da neuron_layer. Definida entre colchetes. Exemplo da dimensão de uma neuron_layer bidimensional 10x10 com um total de 100 neurônios: [10][10].
<tipo de saída> : Define o tipo de saída dos neurônios de uma neuron_layer. Pode ser: b&w, grayscale, grayscale_float e color. Quando as saídas são definidas como b&w elas podem assumir os valores 0 ou 1 apenas, representando, o preto e o branco. Quando as saídas são definidas como grayscale elas podem assumir valores inteiros de 0 à 255, representando uma escala de cinza com 256 valores. Quando as saídas são definidas como grayscale_float elas podem assumir qualquer valor de ponto flutuante, entretanto para a visualização, é selecionado o maior valor em módulo (|s_max|) da saída dos neurônios desta neuron_layer, e este valor é utilizado para realizar uma discretização na visualização: a parte positiva, definida pelo intervalo [0, |s_max|], é discretizada e visualizada como 256 níveis de verde, enquanto que a parte negativa, definida pelo intervalo [-|s_max|, 0[, é discretizada e visualizada como 256 níveis de vermelho. Caso só possua valores positivos, a visualização é feita em escala de cinza. Quando as saídas são definidas como color, elas podem assumir um valor RGB de 24 bits, com 8 bits por cor.
Entrada
Através do comando input, é criada uma neuron_layer com nome, dimensão e saída especificadas, entretanto, um tratamento especial é dada nestas neuron_layer’s. É criada uma janela para cada input gerada que mostra o estado dos neurônios desta input, e podem ser associadas duas funções, uma para geração e outra para manipulação da input. A neron_layer criada pela input pode ser manipulada por eventos de mouse e teclado. A sintaxe para especificar uma input é mostrada abaixo:
input <nome><dimensão> with <tipo de saída> outputs [produced by <função geradora>] [controled by <função de controle>];
<nome> : Nome pelo qual a input poderá ser referenciada.
<dimensão> : Dimensão da input. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.
<tipo de saída> : Define o tipo de saída dos neurônios de uma input. Podem ser: b&w, grayscale, grayscale_float e color. Possui a mesma descrição do parâmetro <tipo de saída> da neuron_layer, citado anteriormente.
<função geradora> : O objetivo da função de geração é inicializar parâmetros da input, criar sua janela, associá-la às funções de controle de mouse, teclado, além do controle de atualização do conteúdo da janela. Podem-se passar quantos parâmetros forem necessários para a função de geração, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição. Nesta função, normalmente é definida como a input receberá as informações de entrada, por exemplo, de um arquivo de entrada. A declaração de uma função de geração é opcional. Se não for definida, a função pré-estabelecida na biblioteca MAE será utilizada, que é a que trata de imagens estáticas. Esta função procura no diretório em que está sendo executada a aplicação MAE, um arquivo com o mesmo nome da input com extensão .in. Uma string na primeira linha deste arquivo deve informar o nome de um arquivo .bmp contendo a imagem estática a ser usada como entrada. Os valores de cada pixel deste arquivo são passados para os neurônios da input.
<função de controle> : Também é opcional. O objetivo da função de controle é fornecer o código necessário para tratar a interação da input com o usuário, por exemplo, eventos de clique de mouse sobre a janela de visualização da input. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.
Saida
Uma output é apenas uma visualização das saídas de uma neuron_layer. Através de uma output, pode-se fornecer uma interação do usuário com uma determinada neuron_layer, semelhante a input. A sintaxe para especificar uma output é mostrada abaixo:
output <nome><dimensão> [handled by <função manipuladora>];
<nome> : Nome pelo qual a output poderá ser referenciada.
<dimensão> : Dimensão da output. Possui a mesma descrição do parâmetro <dimensão> da neuron_layer, citado anteriormente.
<função manipuladora> : A declaração desta função é opcional. O objetivo da função manipuladora é fornecer o código necessário para tratar a interação da output, e portanto com a neuron_layer na qual está associada (vide comando output_connect), com o usuário. Podem-se passar quantos parâmetros quiser, desde que sejam constantes, expressões aritméticas ou nomes de objetos já definidos no arquivo de definição.