Escola Politécnica da Universidade de São Paulo
Engenharia Elétrica
Programa de Pós Graduação
PCS 5711 - Computação Fuzzy - 1º Ciclo - 2000
Professor: Dr. Marco Túlio Carvalho de Andrade
Trabalho Final
Aluna: Marilza Antunes de Lemos
[email protected]
Controle Fuzzy na Qualidade de Imagens de um Sistema de
Aquisição de Imagens para Aplicação de Multas de Trânsito
Marilza A. Lemos
Laboratório de Sistemas Integráveis (LSI)
Escola Politécnica da Universidade de São Paulo (EPUSP)
e-mail: [email protected]
Resumo
Este trabalho apresenta uma proposta de solução, usando tecnologia fuzzy, para controle da qualidade de
imagens num sistema de aquisição de imagens para aplicação de multas de trânsito. Inicialmente descrevemos
o atual sistema e o problema da qualidade da imagem o qual reflete diretamente a precisão na aplicação das
multas. A solução fuzzy proposta envolve o controle de duas variáveis de saída a saber, brilho e contraste no
sinal de entrada de vídeo. O controle é realizado em função de três variáveis de entrada: previsão do tempo,
horário de captura da imagem e concentração de tons de cinza na imagem obtida anteriormente.
Conhecimento especialista foi adquirido para modelagem das variáveis lingüisticas e construção da base de
regras fuzzy. Os modelos foram refinados através de simulações realizadas com a ferramenta Matlab.
1 Introdução
Técnicas da área da Inteligência Artificial (IA) têm sido amplamente utilizadas na
construção de sistemas que necessitam manipular conhecimento humano especializado. Um
dos grandes gargalos na construção de sistemas que envolvem conhecimento especialista é
a dificuldade na obtenção e modelagem desse conhecimento. Particularmente, a lógica
fuzzy tem sido apresentada na literatura como uma das tecnologias de IA que efetivamente
resolve com sucesso certa classe de problemas. Em contraste aos sistemas lógicos clássicos,
a lógica fuzzy formaliza modos de raciocínio que são aproximados em vez de exatos. O
especialista do domínio usa expressões vagas, termos aproximados e até mesmo raciocínio
impreciso e incompleto para exprimir seu conhecimento. A lógica fuzzy vem de encontro a
essa maneira de pensar, tipicamente humana, fornecendo ao engenheiro do conhecimento
meios adequados de representar tal conhecimento através de variáveis lingüisticas e
combiná-las através de regras fuzzy. Neste trabalho propomos a modelagem de um
controlador fuzzy como solução para o problema de controle da qualidade de imagens de
um sistema de aplicação de multas de trânsito.
1.1
O sistema atual
O sistema de aquisição de imagens atual é controlado por um computador configurado com
uma placa de aquisição e digitalização de imagens, acoplada à três cameras. Cada camera
supervisiona uma das três pistas de uma rodovia. O sistema detecta a velocidade dos
automóveis na pista, adquirindo a imagem dos veículos que ultrapassam a velocidade
permitida. A figura 1 mostra a arquitetura básica do sistema.
2
d
laço 1
laço 2
Detector
de laço
Câmera
pista 1
2
3
Placa de aquisição
de imagem
Detector de
velocidade
RS232
Microcomputador
Figura 1 - Componentes básicos do Sistema de Aquisição de Imagens para Aplicação de Multas de Trânsito
O módulo detetor de laço detecta quando um automóvel passa sobre o primeiro laço
iniciando a contagem de tempo até que o automóvel atinja o segundo laço. O tempo do
percurso entre os dois laços - distância d - é enviada ao detetor de velocidade que obtém a
velocidade do automóvel. A velocidade é enviada, via porta serial RS232, para o
microcomputador onde um módulo de software verifica se a velocidade do automóvel
ultrapassou o limite de velocidade permitida. Quando isto ocorre, a aquisição da imagem do
automóvel é disparada e armazenada no sistema.
2 Descrição do Problema
Uma vez que o objetivo final do sistema é aplicar multas sobre automóveis que ultrapassam
o limite de velocidade permitida, é necessário obter máxima precisão na leitura da placa do
automóvel a ser multado. Observou-se nos testes iniciais do sistema algumas dificuldades
na interpretação de algumas placas devido à má qualidade das imagens obtidas. Dois
fatores são responsáveis pela geração desse problema:
a) Uma restrição de tempo precisa ser obedecida para captura da imagem. O sistema leva
um determinado tempo para calcular a velocidade do automóvel e decidir se sua
imagem deve ser capturada ou não. Enquanto isso o automóvel está se locomovendo na
pista e se distanciando do campo de visão da camera. Para obter a imagem mais
rapidamente, o sistema está configurado para captar apenas meio quadro (frame), o que
corresponde a um tempo de captura de 1/60 s no modo entrelaçado, uma vez que a
placa pode captar 30 frames entrelaçados por segundo. Isso gera uma degradação na
qualidade da imagem. A imagem entrelaçada é composta da superposição de dois
campos denominados campo par e campo impar. Meio quadro corresponde à captura de
3
um desses campos. Nesta aplicação, além da restrição de tempo, compor a imagem com
os dois campos pode gerar uma imagem distorcida devido a alta velocidade do
automóvel, uma vez que cada campo é obtido em tempos diferentes. A fim de atender
tais requisitos, o sistema precisa trabalhar com a imagem de meio quadro, a qual não é
tão bem definida como uma imagem de um quadro completo.
b) Dependendo da luz do dia (ou noite) e das condições climáticas, a imagem do
automóvel pode ser capturada com brilho e contraste não adequados, resultando em erro
na leitura da placa ou perda da imagem. A regulagem automática da camera mostrou-se
insuficiente para compensar as variações da luminosidade do ambiente na rodovia. Daí
a necessidade de se implementar ajuste automático de brilho e contraste, segundo a luz
do ambiente a fim de melhorar a qualidade da imagem.
3 Proposta de Solução
A solução proposta neste trabalho para o problema descrito acima é a de controlar algumas
características do sinal de entrada de vídeo na placa de aquisição de imagem, tais como
brilho e contraste, baseando-se em informações sobre o horário de captura da imagem
(período), previsão do tempo da região (tempo) e luminosidade da imagem obtida
anteriormente (concentração). O objetivo do trabalho é propor um modelo fuzzy das
variáveis envolvidas (brilho, contraste, período, tempo, concentração) para controle de
brilho e contraste do sinal de entrada de vídeo através de um controlador fuzzy.
3.1
Descrição da placa de aquisição de imagens
As funções principais da placa de aquisição de imagens é capturar a imagem, digitalizá-la e
disponibilizá-la no sistema de memória do computador para apresentação no vídeo ou
armazenamento em arquivo para posterior processamento. O sinal de entrada de vídeo na
placa de aquisição de imagem pode ser controlado por software, através de um grupo de
funções disponíveis no kit para desenvolvimento de software em linguagem C ou C++.
Algumas características controláveis são:
•
•
•
•
•
•
Padrão de vídeo: NTSC ou PAL;
Seleção de canal de vídeo: 1, 2 e 3;
Ajuste de cor: matiz e saturação;
Contraste;
Brilho;
Captura do vídeo: start/stop;
Como o sistema está implementado usando uma camera monocromática, pretende-se
melhorar o sinal de vídeo captado, ajustando-se as variáveis contraste e brilho através de
duas funções disponíveis na biblioteca de funções da placa:
4
•
•
configura_brilho (valor_do_brilho)
configura_contraste (valor_de_contraste)
A faixa de valores possíveis para os argumentos das funções são:
•
•
valor_do_brilho: 0 a 255 (default 128)
valor_de_contraste: 0 a 255 (default 128)
4 Modelamento Fuzzy do Conhecimento Especialista
Durante os testes iniciais do sistema foi possível descobrir e acumular conhecimento
especialista sobre a variação de brilho e contraste no sinal de entrada de vídeo e a qualidade
da imagem obtida. Para isto, foram geradas várias entradas nas funções configura_brilho e
configura_contraste e as imagens correspondentes foram analisadas. Observou-se ainda a
influência das condições climáticas nas decisões de controle do brilho e contraste. Apesar
da incompletude e imprecisão do conhecimento obtido foi possível modelar as variáveis
envolvidas, criar a base de regras fuzzy e gerar simulações satisfatórias no Matlab.
4.1
O Modelamento das Variáveis Lingüísticas
Uma vez identificadas as variáveis lingüisticas, determinou-se para cada variável, seu
universo de discurso, a partição do conjunto de termos e os respectivos conjuntos fuzzy.
4.1.1 Entradas
A figura 2 mostra os conjuntos fuzzy da variável lingüistica período. Essa variável
representa os vários períodos ao longo do dia, de acordo com a distribuição das 24 horas.
Variável lingüistica: período
Universo de discurso: 0-24 horas
Valores lingüisticos: madrugada, manhã, tarde, noite
Figura 2 - Função de pertinência da variável lingüistica período
5
A figura 3 mostra os conjuntos fuzzy da variável lingüistica tempo. Essa variável
representa a previsão do tempo ao longo do dia.
Variável lingüistica: tempo
Universo de discurso: 0-100
Valores lingüisticos: chuvoso, nublado, ensolarado
Figura 3 - Função de pertinência da variável lingüistica tempo
4.1.2 Saídas
A figura 4 mostra os conjuntos fuzzy da variável lingüistica brilho. Essa variável
representa os vários valores que podem ser atribuídos para controle da qualidade da
imagem.
Variável lingüistica: brilho
Universo de discurso: 0-255
Valores lingüisticos: baixo, médio, alto
Figura 4 - Função de pertinência da variável lingüística brilho
6
A figura 5 mostra os conjuntos fuzzy da variável lingüistica contraste. Essa variável
representa os vários valores que podem ser atribuídos para controle da qualidade da
imagem.
Variável lingüistica: contraste
Universo de discurso: 0-255
Valores lingüisticos: baixo, médio, alto
Figura 5 - Função de pertinência da variável lingüistica contraste
4.2
A Base de Regras Fuzzy
O conhecimento especialista que relaciona as diversas variáveis e seus respectivos valores
foi resumido na tabela 1, a qual deu origem à base de regras fuzzy no formato if-then.
Tempo
Período
madrugada
manhã
tarde
noite
chuvoso
B=A
B=A
B=M
B=A
C=A
C=M
C=B
C=A
nublado
B=A
B=M
B=A
B=A
C=M
C=A
C=M
C=M
ensolarado
B=B C=B
B=B C=M
B - brilho
C - contraste
B - baixo
M - médio
A - alto
Tabela 1 - Conhecimento especialista
1. If (período is madrugada) and (tempo is chuvoso) then (brilho is alto)
2. If (período is madrugada) and (tempo is chuvoso) then (contraste is alto)
3. If (período is madrugada) and (tempo is nublado) then (brilho is alto)
4. If (período is madrugada) and (tempo is nublado) then (contraste is medio)
5. If (período is manhã) and (tempo is chuvoso) then (brilho is alto)
6. If (período is manhã) and (tempo is chuvoso) then (contraste is medio)
7. If (período is manhã) and (tempo is nublado) then (brilho is medio)
8. If (período is manhã) and (tempo is nublado) then (contraste is alto)
7
9. If (período is manhã) and (tempo is ensolarado) then (brilho is baixo)
10. If (período is manhã) and (tempo is ensolarado) then (contraste is baixo)
11. If (período is tarde) and (tempo is chuvoso) then (brilho is medio)
12. If (período is tarde) and (tempo is chuvoso) then (contraste is baixo)
13. If (período is tarde) and (tempo is nublado) then (brilho is alto)
14. If (período is tarde) and (tempo is nublado) then (contraste is medio)
15. If (período is tarde) and (tempo is ensolarado) then (brilho is baixo)
16. If (período is tarde) and (tempo is ensolarado) then (contraste is medio)
17. If (período is noite) and (tempo is chuvoso) then (brilho is alto)
18. If (período is noite) and (tempo is chuvoso) then (contraste is alto)
19. If (período is noite) and (tempo is nublado) then (brilho is alto)
20. If (período is noite) and (tempo is nublado) then (contraste is medio)
5 Refinando o Controle: a análise da imagem anterior
Uma variável de entrada adicional foi considerada a fim de inserir, no sistema, um ajuste
fino no controle do brilho e contraste: a luminosidade da imagem captada anteriormente à
imagem corrente. Para tal é realizado um pré-processamento da imagem digitalizada
obtendo-se o seu histograma das tonalidades de cinza. O histograma é uma das formas
mais comuns de se representar a distribuição dos níveis de cinza (NC) de uma imagem. O
histograma fornece a informação de quantos pixels, na imagem, possuem um determinado
NC, definido entre 0 (preto) a 255 (branco) para uma imagem quantificada em 8 bits.
Normalmente tem-se no eixo X a distribuição dos NC e no eixo Y a freqüência em que
ocorrem conforme exemplifica a figura 6.
Figura 6 - Histograma da luminosidade de uma imagem
8
Após o processamento da imagem podemos obter, dentro de um universo de discurso
normalizado (0-1), a concentração dos níveis de cinza, a qual foi representada em lógica
fuzzy por dois conjuntos fuzzy: alta e baixa, conforme mostra a figura 7. Se a concentração
é alta indica que a imagem está excessivamente escura. Se a concentração é baixa indica
que a imagem está excessivamente clara. Assim, as seguintes regras fuzzy foram
adicionadas na base de regras:
21. If (concentração is alta) then (brilho is alto)
22. If (concentração is alta) then (contraste is medio)
23. If (concentração is baixa) then (brilho is medio)
24. If (concentração is baixa) then (contraste is alto)
Figura 7 - Função de pertinência da variável concentração
6 Um exemplo de aplicação das regras
Durante um ciclo de simulação, o primeiro passo é a fuzificação, onde é realizada a
classificação (matching) das variáveis de entrada com relação às respectivas variáveis
lingüisticas. Neste exemplo, temos os seguintes valores de entrada para as variáveis
modeladas:
período = 12,3 h ⇒ é manhã com grau de pertinência 0,2 e tarde com grau 0,65
tempo = 67,3 ⇒ é nublado com grau de pertinência 0,8 e ensolarado com grau 0,2
concentração = 0,68 ⇒ é alta com grau de pertinência 0,3 e baixa com grau 0,7
Após essa classificação, o procedimento de inferência verifica na base de regras quais delas
são aplicáveis, concluindo as seguintes regras:
7. If (período is manhã) and (tempo is nublado) then (brilho is médio)
8. If (período is manhã) and (tempo is nublado) then (contraste is alto)
9. If (período is manhã) and (tempo is ensolarado) then (brilho is baixo)
10. If (período is manhã) and (tempo is ensolarado) then (contraste is baixo)
9
13. If (período is tarde) and (tempo is nublado) then (brilho is alto)
14. If (período is tarde) and (tempo is nublado) then (contraste is médio)
15. If (período is tarde) and (tempo is ensolarado) then (brilho is baixo)
16. If (período is tarde) and (tempo is ensolarado) then (contraste is médio)
19. If (período is noite) and (tempo is nublado) then (brilho is alto)
20. If (período is noite) and (tempo is nublado) then (contraste is médio)
21. If (concentração é alta) then (brilho is alto)
22. If (concentração é alta) then (contraste is médio)
23. If (concentração é baixa) then (brilho is baixo)
24. If (concentração é baixa) then (contraste is alto)
Para as regras com dois antecedentes relacionados com o conectivo and, o operador de
interseção é aplicado, tomando o valor mínimo entre os dois antecedentes. Para cada regra,
o grau de ativação da ação de controle é calculada de acordo com o resultado da
combinação de antecedentes. Terminada a inferência, a ação final de controle é calculada a
partir da união (operador máximo) das contribuições de cada regra ativada gerando uma
única e nova função.
Finalmente, no processo de defuzzificação foram determinados os sinais de controle de
brilho e contraste a serem enviados para a placa (brilho = 120; contraste = 144). Neste
exemplo utilizou-se o método do centro de área (CDA) que calcula o centro da área da
função inferida. A figura 8 mostra o resultado dos processos descritos neste exemplo.
Figura 8 - A projeção da aplicação das regras sobre as variáveis de saída
10
7 Considerações Finais
A modelagem apresentada neste trabalho foi realizada no ambiente Matlab onde foi
possível realizar várias simulações. A simulação é parcial pois não é possível obter as
imagens com a aplicação do controle obtido sobre as variáveis brilho e contraste. Porém foi
possível notar que a relação das variações das entradas refletem variações fortemente
coerentes nas saídas, de acordo com o conhecimento especialista. Foi ainda importante
observar que apesar do conhecimento especialista mostrar-se incompleto, impreciso e
compactado, os modelos fuzzy cobrem essas lacunas fornecendo uma resposta adequada
para quaisquer valores sugeridos na entrada do controlador fuzzy. O uso da ferramenta
Matlab facilitou o trabalho de forma considerável pois fornece um ambiente muito
amigável para ajustes nas curvas dos modelos fuzzy e observação do comportamento das
variáveis de saída de acordo com a aplicação das regras fuzzy.
Referências Bibliográficas
Chuen Chien Lee, Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I, IEEE
Transactions on Systems, Man, and Cybernetics, vol 20, no 2, March / April 1990.
Chuen Chien Lee, Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part II, IEEE
Transactions on Systems, Man, and Cybernetics, vol 20, no 2, March / April 1990.
Gomide, F. A. C.; Gudwin, R. R.; Tanscheit, R. Conceitos Fundamentais da Teoria de
Conjuntos Fuzzy, Lógica Fuzzy e Aplicacoes. Tutorial of the Sixth International Fuzzy
Systems Association World Congress - IFSA, São Paulo, Brasil, July 22-28, 1995.
Lindley, Craig A. Practical Image Processing in C. John Wiley & Sons, 1991.
Lotfi A. Zadeh, Outline of a New Approach to the Analysis of Complex Systems and
Decision Processes, IEEE Transactions on Systems, Man, and Cybernetics, vol SMC3, no
1, January 1973.
11
Download

Exemplo - PCS - Universidade de São Paulo