Vous êtes sur la page 1sur 4

Vídeo Segurança Inteligente

G. Kristensen

Abstract  The project aims to create a security III. MÉTODOS E TÉCNICAS DE PROCESSAMENTO DE IMAGENS
system equipped with intelligent video monitoring / recording,
able to recognize patterns and movements. LabVIEW software O autor David Marr, em 1982 lançou o clássico livro
is used in the creation of a virtual instrument (or testing “Vision: Um inquérito computacional na representação
platform) to simulate this system. External devices such as
humana e o processamento de informação visual”. Tal livro
cameras and digital interfaces for I/O are used for full
implementation of the project. An algorithm was created from se tornou base para criação de todos os softwares de
original images in order to process the others and whether or processamento de imagens já lançados. Através dele, foi
not there is movement of people in a specific location. The possível classificar e sistematizar estes métodos de análise de
algorithm delivers a negative response to the system even if imagens e também os de reconhecimento de padrões. Eles
there is intense animal movement in the area filming. The foram divididos em 4 etapas crescentes, sendo que cada etapa
system makes a case study - based on the response given by the do processo é realizado por um ou mais algoritmos
algorithm - and proceed or not with the video recording. específicos. As etapas foram divididas em: ‘Filtragem e Pré-
Processamento’, ‘Condicionamento’, ‘Rotulação’ e,
I. INTRODUÇÃO ‘Modelagem e Interpretação’. Tais métodos podem trabalhar
nos domínios do valor, do espaço e da freqüência. [1]
Este é um projeto voltado à criação de um sistema de
segurança dotado de reconhecimento de padrões, aplicável A. Métodos no domínio do valor
(por exemplo) a canis e/ou lojas que trabalhem com venda de
animais. Câmeras são instaladas no local desejado a fim de Neste método, é possível se efetuar operações matemáticas
monitorar apenas a movimentação de pessoas no interior do básicas (soma, subtração, multiplicação e divisão) ou lógicas
estabelecimento. Os vídeos são gravados pelo sistema no da imagem (AND/NAND, OR/NOR, XOR/XNOR) com um
disco rígido do computador host apenas quando há operando escalar ou com uma outra imagem. Também efetuar
movimentação de pessoas, ignorando qualquer comparações de pixels entre uma imagem e outra ou entre
movimentação dos animais ali presentes. uma imagem e uma constante – ou através de uma máscara
O projeto disponibiliza ao cliente uma menor necessidade de com valores mínimos, máximos e medianos. Toda operação
capacidade de armazenamento, uma vez que os vídeos não resulta numa transformação da imagem original – pixel a
precisam ser gravados de forma contínua. Opcionalmente, a pixel – que produz uma segunda.
qualidade de imagem pode ser incrivelmente melhorada, O processo de segmentação ou “thresholding” é realizado no
utilizando-se de uma mesma capacidade anterior. domínio do valor. Ele efetua a separação dos objetos do
plano de fundo onde eles se encontram e, a separação entre
II. IMAGEM: CONCEITOS eles próprios, possibilitando que cada objeto seja identificado
e caracterizado. É geralmente o primeiro passo dado em
Matematicamente falando, uma imagem pode ser diversas aplicações que executam análise de imagem
representada por uma função bidimensional Z = F(x,y) binárias, tais como análise de partículas, detecção de padrões
definida sobre certa região de um plano. É representada e classificação de partículas binárias [2]. Logo, a correta
através de um conjunto de valores, onde cada valor é um configuração deste processo é de crucial importância para o
número que descreve os atributos de um pixel na imagem. A perfeito funcionamento do sistema.
figura 1 representa uma imagem em tons de cinza (grayscale) A segmentação pode ser feita utilizando escalas de corte em
cuja variação desses tons vai de 0 a 255. Sua matriz tons de cinza ou à cores sobre determinado local - parte à
correspondente apresenta os valores de Z= F(x,y), onde cada imagem - sobre toda a imagem ou mesmo sobre uma
quadrado da imagem representa um pixel. segmentação morfológica. O resultado é sempre uma imagem
binária. Pode ser feita de forma manual ou automática,
segundo técnicas de segmentação inerentes ao programa.
Primeiro, todas as partículas são caracterizadas por um
medidor de intensidade. As partículas são compostas por
pixels com valores de intensidade (de tons de cinza) que
podem pertencer ou não a um intervalo pré-determinado.
O processo de segmentação consiste em atribuir o valor 1 (ou
um valor definido pelo programador) a todos os pixels que
Figura 1 – Representação da imagem na forma de matriz
estiverem dentro deste intervalo e, em atribuir o valor 0 a
todos os demais. Os pixels dentro do intervalo de
segmentação são considerados parte da partícula. Os pixels informações indesejáveis, como ruídos e partículas
fora do intervalo são considerados parte do plano de fundo. mesclando-se umas com as outras.
A operação também pode ser realizada com o auxílio de um As funções morfológicas afetam a forma das partículas;
histograma, facilitando a criação deste intervalo de corte. O podem remover estas informações indesejáveis e alterar
histograma representa um operador estatístico e pode ser situações como as citadas. Para isto, elas utilizam operadores,
utilizado separadamente, de outras maneiras. denominados de ‘elementos estruturante’, ou kernels, que
modificam um pixel baseado nos valores de seus pixels
vizinhos. Eles especificam o tamanho e a forma da
‘vizinhança’ que exercerá influência sobre o pixel,
controlando os efeitos que as funções morfológicas irão
causar na forma interna e/ou no contorno de uma partícula
específica. Os kernels podem ter 3 tamanhos diferentes; seus
conteúdos são sempre binários.
Figura 2 – Histograma da Imagem

O intervalo manual oferece 2 parâmetros ao programador:


valores de corte mínimo e máximo. Todos os pixels que
tiverem valores de intensidade iguais ou superiores ao valor
de corte mínimo e, iguais ou inferiores ao valor de corte
máximo, são selecionados como pixels pertencentes à
partícula na imagem.
Abaixo temos a imagem original e a resultante da aplicação
da segmentação com intervalo de corte da figura 2. Figura 4 – Tamanho dos Kernels

Concentradas nas estruturas geométricas das imagens, as


funções morfológicas fundamentais são 3: Erosão, Dilatação
e Acerto&Erro; porém há muitas outras derivadas da
combinação destas 3.
A Erosão elimina os pixels que se apresentam isolados no
plano de fundo e corroe o contorno da partícula de acordo
com o formato do kernel. A Dilatação elimina os buracos
Figura 3 – Aplicação de Thresholding que se encontram dentro da partícula e expande o contorno de
acordo com o formato do kernel. A dilatação tem, portanto,
B. Métodos no Domínio do Espaço
efeito oposto ao da erosão, funcionando como se uma erosão
fosse aplicada ao plano de fundo.
Neste método, além de considerado o valor de cada pixel, é
O processo de Erosão seguido pelo de Dilatação é chamado
também considerada a relação dele com o valor de um
de Abertura enquanto o de Dilatação seguido pelo de Erosão
conjunto de pixels a sua vizinhança, daí o termo ‘espaço’. A
é chamado de Fechamento. A função de Abertura remove
convolução é uma operação entre duas matrizes, geralmente
pequenas partículas, próximas a partícula principal, e
bidimensionais, onde uma é a imagem e a outra é um
expande as bordas. A função de Fechamento preenche
elemento estruturante (detalhado abaixo). Corresponde à
buracos internos e ofusca as bordas. Nenhuma das funções
soma das multiplicações das posições correspondentes nas
altera de modo significativo a área ou formato da figura, por
matrizes, sendo elas, quadradas. Basicamente pode ser
serem complementares. Estas 2 últimas funções são de
considerada como sendo a aplicação de uma máscara de
extrema importância a esta aplicação. No desenvolvimento
resposta à imagem, de acordo com parâmetros pré-definidos.
do algoritmo serão vistas suas aplicações e resultados.
Pode ser extendida a outras matrizes de filtragem, que
suavizam ou modificam a imagem.
Já as operações morfológicas binárias têm maior utilização (e
relevância ao caso): extraem e alteram a estrutura das
partículas e são geralmente utilizadas para melhorar as
informações de uma imagem binária, antes de realizar uma
análise de partículas, como área, perímetro ou orientação.
Contrariamente à convolução, na morfologia matemática a
FORMA do elemento estruturante tem impacto sobre o
resultado. Lembre-se que imagem binária é aquela resultante Figura 5 – Funções Morfológicas: Fechamento e Abertura
do processo de threshold, que contém regiões de partículas
(com valor de pixel igual a 1) e região de plano de fundo A função de Acerto&Erro representa a 3ª fundamental: ela
(com valor de pixel igual a 0). O processo de threshold, no localiza uma configuração especifica de pixels e remove cada
entanto, pode resultar uma imagem binária que contenha
um dos pixels vizinhos à partícula transformando-a
exatamente num padrão estabelecido pelo kernel.
Pode localizar pixels isolados, padrões longitudinais,
perpendiculares às bordas da partícula ou ainda de outras
maneiras, pré-definidas pelo programador.
Como pode-se presumir, a morfologia matemática é útil para
se gerar máscaras binárias que utilizadas posteriormente em
operações lógicas ou matemáticas entre imagens. Mas nem
sempre a criação de uma máscara é tão simples quanto a
mostrada na figura 5. Na figura abaixo tem-se uma máscara Figura 7 – Pipeline do Algoritmo (Inicial)
que fora gerada por meio da construção de um kernel
circular, com diâmetro de 11 pixels. Os processos são de Depois devem ser eliminados os ruídos e também os
Thresholding (valor de corte = 150) e Fechamento imediato artefatos originados pelos movimentos indesejados da câmera
(sem que fosse realizada uma abertura anteriormente, para (visíveis sob a forma de traços verticais e horizontais). A
filtragem de ruído). imagem abaixo exemplifica o problema enfrentado.

Figura 6 – Aplicação de Thresholding e Função Morfológica de Fechamento

IV. DESENVOLVIMENTO DO ALGORITMO

Agora que já foram apresentados ao leitor conceitos e


técnicas de processamento e análise de imagens, pode ser
apresentando o método utilizado para a criação do algoritmo. Figura 8 – Ruídos: Movimentação e Luminosidade
A programação fora realizada no Vision Assistant. Ao final
um único instrumento virtual é criado e importado para a As setas brancas indicam “traços” oblíquos que a diferença
plataforma de testes / aplicação do LabView. Cada algoritmo de luminosidade, causada pela incidência solar, criou tanto à
de processamento é convertido em sua respectiva ferramenta esquerda quanto à direita da imagem. Indicam também outros
do Vision, já com os parâmetros de configuração traços horizontais e verticais, na porta e grades, que a
estabelecidos. Alguns destes parâmetros podem ser inclusive, movimentação da sustentação da câmera, causada pelo vento,
opcionalmente, disponibilizados ao usuário através de também criou.
controles. A grande maioria destes riscos possui características
A primeira parte do processo é realizar a extração dos planos similares: são riscos finos. A morfologia matemática binária
de cor (RGB) da imagem inicial / atual – aquela obtida pela nos oferece as ferramentas necessárias para corrigir tais erros.
câmera durante a filmagem, em tempo real – a fim de torná-la Para isso, foi feita uma abertura (erosão seguida de
uma imagem em tons de cinza. Como cada plano de cor é dilatação), com kernels dotados de características contrárias
constituído de 8 bits, a imagem inicial de 32 bits se torna uma aos das estruturas (horizontal, vertical e oblíquos). Isto é feito
imagem em tom de cinza de 8 bits, baseada em apenas um pelas ferramentas Erode Objects e Dilate Objects. Na
dos 3 canais de cores. Esta imagem é então armazenada em próxima imagem processada, os ruídos já são praticamente
um buffer da memória. A seguir, a imagem-modelo é eliminados por completo e, as figuras “interessantes” são
chamada e definida como ativa. Da mesma forma, tem seus preservadas.
planos de cor extraídos. Em seguida calcula-se a diferença
matemática absoluta pixel-a-pixel entre a imagem atual
(agora em buffer) e a imagem-modelo. São definidas as
diferenças ignoradas, considerando as variações de
luminosidade irrelevantes e são configurados, internamente,
valores de corte / limiarização, através da ferramenta Figura 9 – Pipeline do algoritmo (Mediano)
Threshold. [3]
A figura 7 abaixo mostra o pipeline do algoritmo de Na seqûência, os pedaços que obteve-se através dos
processamento, ou ainda, a representação em blocos dos processos realizados anteriormente, têm de ser juntados. Isto
algoritmos parciais. As conexões entre os ícones representam foi feito com um processo de fechamento: (dilatação seguida
o fluxo de dados. de erosão).
frente para a câmera. Porém, a altura não é suficiente a tal
ponto de classificá-lo como humano.

V. CONCLUSÃO

Figura 10 – Pipeline do Algortimo (final) Além de se ter a criação de um sistema de vigilância


(com reconhecimento de padrões) como objetivo de projeto,
O processo de fechamento tem como objetivo ligar objetos nota-se que o espaço físico - de armazenamento das
próximos uns aos outros, porém sem afetar o resto da gravações de vídeos em disco – também é utilizado de uma
imagem. Por fim, os pequenos ruídos restantes são totalmente forma muito mais inteligente. Somente aqueles dados que
retirados, segundo um valor específico e a imagem final tem contém alguma informação útil ao usuário são salvos
suas partículas analisadas, gerando valores a serem entregues Durante a construção desta aplicação foram
pelo algoritmo ao estudo de caso do instrumento virtual. adquiridos conhecimentos para realizar várias outras. A
Essa análise de partículas fornece uma tabela com infinitas Detecção de Bordas, por exemplo, é de intensa aplicação em
características das imagens binárias encontradas. São então inspeções industriais Ela possibilita analisar distâncias,
selecionadas as características que definem a semelhança da formatos e tamanhos específicos, bem como alinhamentos e
partícula com a de um ser humano ou animal e descartadas as até mesmo presença e ausência - de componentes partes à
demais. As outras partículas binárias remanescentes na peça inspecionada p.e. O Comparador de Padrões e
imagem são consideradas ruídos e, não recebem nenhuma Comparador Geométrico também possibilitam aplicações
análise. como as citadas, mas por meio de forma dimensional ao
Os atributos que definem e rotulam o padrão humano, animal invés da matemática. É possível até mesmo criar modelos,
e de ruídos são: o posicionamento espacial horizontal e posteriormente utilizados pelos comparadores para se
vertical dos pixels – altura – e inclinação do objeto de localizar partes numa imagem.
interesse. A análise final foi feita da seguinte forma: se o As ferramentas acima citadas também poderiam ser
objeto encontrado na imagem possuir uma inclinação nesta utilizadas no desenvolvimento desta aplicação, chegando ao
faixa E, tiver altura superior a um valor ‘x’ específico - em mesmo objetivo por outros meios e técnicas de
pixels - ele é classificado como humano. Se o objeto possuir processamento.
uma inclinação fora desta faixa ele é classificado como um A curiosidade trouxe também algum conhecimento
animal. Qualquer outra partícula encontrada com altura de inspeção de cores, de reconhecimento de caracteres,
inferior a 10% da especificada, é considerada como um leitura óptica, de código de barras e até de caracteres. Tudo
objeto não identificado, ou como um ruído e, é descartada das isto à partir de câmeras e, não a partir de scanners, como é
demais considerações. Há um algoritmo de classificação que mais comumente visto.
realiza a rotulação dos objetos encontrados, dando a cada
agrupamento de pixels um valor 1, 2, 3, etc. e entrega um REFERÊNCIAS
protocolo de informações a um Analisador de Partículas, já [1] Modelo de Visão Computacional de David Marr. Disponível em:
interno ao LabView [4]. O Analisador de Partículas entrega a http://everything2.com/index.pl?node_id=1524395.
resposta a um estudo de caso do instrumento virtual que, por
[2] PDF File: Fundamentos do LabView - p. 3 – 154, in LabView Manuals,
sua vez, analisa se procede com a gravação da imagem ou software from National Instruments, v. 6.8 2007.
não e/ou se aciona o alarme de intrusão ou não. Isto é feito
internamente a um Sub-VI Classificador. [3] Problema encontrado quando executando análise de partículas.
Disponível em:
http://digital.ni.com/public.nsf/allkb/34187652DE777CAD86256F08006F58
B3?OpenDocument.
[4] Tutorial de utilização do Analisador de Partículas. Disponível em:
http://zone.ni.com/devzone/cda/tut/p/id/3169

Figura 11 – Inclinação das Partículas

Uma inclinação humana pode ser facilmente detectada em


um animal, como mostrada na imagem acima. Nela, o
primeiro cão está em posição diagonal à câmera e a silhueta
de inclinação resultante registra 73º. Registros de 90º
ocorrem, por exemplo, quando o animal está de costas ou de

Vous aimerez peut-être aussi