• Nenhum resultado encontrado

Vídeo Vigilância Abordagem Open-Source

N/A
N/A
Protected

Academic year: 2022

Share "Vídeo Vigilância Abordagem Open-Source"

Copied!
5
0
0

Texto

(1)

“Vídeo Vigilância– Abordagem Open-Source”

Alunos: Justino Santos, Paulo Neto E-mail: [email protected], [email protected] Orientadores: Prof. Filipe Neves, Prof. Paulo Costa Escola Superior de Tecnologia e Gestão de Leiria Instituto Politécnico de Leiria Morro do Lena, Alto Vieiro · Apart. 4163·2401 – 951 Leiria Tel.: +351·244 820 300 · Fax.: +351·244 820 310 E-mail: [email protected] · http://www.estg.iplei.pt

I. Enquadramento

O projecto “Vídeo-Vigilância” consiste no desenvolvimento de um sistema de vigilância que possa ser utilizado em ambiente residencial de modo a que este possa ser utilizado por quem possua um PC e uma ou mais webcams. A aplicação permite detectar e anunciar possíveis intrusões. Se for detectado movimento (existência de variação da cor dos pixels entre duas imagens consecutivas) é enviado, por exemplo, uma mensagem de aviso para um determinado telemóvel. A aplicação permite armazenar em base de dados a informação acerca dos dispositivos utilizados e as detecções de intrusão que poderão ser consultadas através de uma página web.

II. Motivação

Nos dias de hoje, as pessoas carecem de uma sensação de segurança junto do que as rodeiam, isto é nas suas residências e empresas levando-as a desejar e a instalar soluções de vigilância. Assim procuram encontrar a melhor solução que se adeqúe ao que é pretendido.

No mercado a oferta de soluções deste género já é grande, e devido à crescente procura deste tipo de sistemas, existem enumeras empresas especializadas no seu desenvolvimento, tanto a nível de software

como de hardware. No entanto, associadas a estes existem algumas desvantagens, tais como o facto de estas serem de carácter proprietário, visto necessitarem de hardware específico, e de possuírem sempre algumas limitações.

O Projecto “Sistema de Vídeo- Vigilância”, vem tentar contrariar esta tendência, isto porque o seu desenvolvimento se baseia numa abordagem “Open Source”.

O motivo que nos levou a escolher este projecto ambicioso foi, por um lado a vontade de realizar uma aplicação que possa ser útil e colocada em prática, e por outro, a crescente utilização deste tipo de sistemas na nossa sociedade.

III. Objectivos

Existem actualmente no mercado sistemas mais ou menos complexos de Vídeo- Vigilância, alguns deles assentando no uso de máquinas dedicadas e câmaras proprietárias.

Este tipo de soluções apresenta custos consideráveis. Com este projecto pretende-se desenvolver um sistema de Vídeo-Vigilância possível de ser utilizado em ambiente residencial, a quem baste possuir um PC e uma ou mais webcams.

Em caso de intrusão, a aplicação deve permitir gravar as imagens de vários dispositivos webcam ligados a uma interface USB.

(2)

Sob o ponto de vista da utilização o sistema deverá permitir:

• Visualizar na aplicação as capturas de todas as webcams disponíveis;

• Gravar imagens no formato JPEG, sempre com indicação da data e hora na própria imagem;

• Implementar serviço de visualização via web para visionamento de todas as webcams e intrusões existentes;

• Utilizar critérios de pesquisa de imagens (por nome e data) gravadas para serem visualizadas;

• Desencadear alarmes em situações de intrusão;

• Contemplar o envio de SMS para um determinado telemóvel em situações de alarme;

IV. Especificações do Sistema

O sistema é constituído essencialmente por três módulos: Aplicação de Monitorização, Base de Dados e Página Web.

O primeiro módulo tem como objectivo detectar e controlar todas as webcams disponíveis no Sistema Operativo, administrar a base de dados e conectar com o modem GSM. Este permite a monitorização, a detecção de intrusão e o desencadeamento de alarmes. No caso de intrusão é possível lançar um alarme sonoro e enviar um SMS de aviso para um telemóvel predefinido. Ainda é possível ao utilizador configurar determinados parâmetros, como as configurações de cada webcam, a percentagem de detecção de movimento, o

intervalo de envio de SMS, entre outros. A aplicação armazena numa Base de Dados a informação acerca dos dispositivos utilizados e as detecções de movimento, que posteriormente poderão ser consultadas através de uma Página Web.

Usando este sistema, o utilizador poderá ter o controlo total, desde a interactividade com a aplicação de monitorização até à posterior visualização de informação gerada por esta.

A grande vantagem deste sistema é que mesmo sendo uma solução segura é ao mesmo tempo mais económica, visto não ser necessário estar obrigado à subscrição de um programa específico.

V. Desenvolvimento da Aplicação de Monitorização

A aplicação de monitorização foi toda desenvolvida em Java. Como requisito consideramos que esta pretende ser o mais simples e objectiva possível, para que o utilizador não sinta qualquer tipo de dificuldades no seu uso.

A. Interface Gráfica (GUI)

A GUI da Aplicação de Monitorização permite ao utilizador todo o controlo do sistema. No lado esquerdo da interface gráfica é possível monitorizar as imagens capturadas pelas webcams (Painel de Visualização) e no lado direito é permitido ao utilizador visualizar e modificar enumeras configurações (Painel de Configuração).

Aplicação de Monitorização Página Web

Figura 1 – Arquitectura do Sistema

Figura 2 – Aplicação de Monitorização

(3)

No Painel de Visualização são visíveis todas as imagens capturadas pelas webcams em funcionamento. Desta forma, é possível monitorizá-las em tempo real e verificar a existência de intrusos. Este painel é dividido consoante o número de webcams existentes de modo a visualizar em simultâneo os vários snapshots realizados.

O Painel de Configuração permite quase todas as configurações do sistema. Neste, existe a possibilidade de alterar parâmetros relacionados com as webcams, o servidor de base de dados e os alarmes. Este painel encontra-se dividido em três “tabs”

(Webcams, Base de Dados e Alarmes) de modo a facilitar e a simplificar ao utilizador a sua compreensão.

Para além destes dois painéis existe uma janela de Configurações Avançadas onde podem ser configurados parâmetros específicos do sistema, desde os comandos a executar pelos botões, à identificação da porta série, assim como o destino de ficheiros.

B. Captura de Imagem

A nossa primeira abordagem ao projecto foi fazer a captura de vídeo através das streams de vídeo. Cada webcam gera uma stream com ‘x’ frames por segundo (fps) e o código de detecção compara as diferenças entre as duas frames consecutivas. No entanto, apercebemo-nos que o processamento exigido, para executar a

detecção de movimento era elevado para apenas uma webcam, o que se traduziria num problema quando usássemos várias em simultâneo. Logo enveredamos por uma segunda abordagem.

A segunda abordagem é mais cuidada, pois tem em conta o processamento necessário para a detecção de movimento em várias webcams em simultâneo (cada uma é controlada por uma thread). Abandonámos as streams e começamos a usar o seguinte conceito: apenas se acede à webcam quando necessário, todo o resto do tempo está em standby. Só é capturada uma frame de cada vez. Com este conceito, o processamento exigido à máquina para executar a aplicação passou a ser insignificante, pois é possível definir para cada webcam o tempo de intervalo entre cada snapshot. Neste snapshot é apenas capturada uma frame que fica armazenada num buffer.

C. API “Java Media Framework”

A API “Java Media Framework” (JMF) é constituída por uma arquitectura e um protocolo capaz de gerir a aquisição, o processamento e a visualização de multimédia (vídeo e/ou áudio). Esta permite a manipulação de dispositivos multimédia, tais como: placas de som e vídeo, transmissões RTP para aplicações “video-on-demand” e controlo de webcams USB. Outra grande vantagem é o facto de ser suportada pelos Sistemas Operativos Windows e Linux.

O JMF detecta e reconhece todos os dispositivos multimédia instalados no Sistema Operativo. Após a fase de reconhecimento é

Figura 3 – Configurações Avançadas

Figura 4 – Modelo de Processamento Multimédia

(4)

atribuído a cada dispositivo um identificador único gerado através do URL do próprio dispositivo. Com esta referência podemos aceder e controlar o mesmo.

O JMF interage com o Sistema Operativo Linux dando acesso aos dispositivos multimédia. Neste SO esta interacção é feita através da API V4L, que acede ao driver do dispositivo, que por sua vez acede ao próprio dispositivo. No entanto, o V4L na Aplicação de Monitorização é completamente transparente, pois a nível do programador, apenas é necessário controlar a API JMF.

Sendo assim, a Aplicação de Monitorização apenas interage com a API JMF.

D. Inicialização do Player JMF

Para a aplicação iniciar a captura é criado um Player responsável pelo controlo de cada webcam.

Posteriormente o objecto

“BufferToImage” é inicializado com a informação do formato de vídeo de uma frame. Cada vez que a webcam faz um snapshot, a frame capturada é guardada num

“buffer” para apenas ser analisada pelo algoritmo de detecção de movimento.

E. Detecção dos dispositivos (Webcams) Os dispositivos instalados no sistema operativo são descobertos pela API JMF através do método “getDeviceList” da classe

“CaptureDeviceManager”.

A classe “CaptureDeviceManager”

fornece o acesso à lista de dispositivos instalados no sistema operativo. Utiliza o registo do SO e os mecanismos de consulta para localizar e devolver os periféricos disponíveis.

F. Interacção com a Base de Dados

A API “MySQL Connector” é um driver nativo do Java que converte as chamadas geradas por JDBC (“Java Data Base Connectivity”) no protocolo de rede que utiliza a base de dados “MySql”. Permite que na linguagem Java possamos interagir com a base de dados, de forma a fazermos as conexões necessárias para inserções e consultas de dados armazenadas no SGBD

“MySql”.

G. Comunicação com o modem GSM

Para que seja possível enviar mensagens de texto é necessário a comunicação entre a porta série do computador e um modem GSM (telemóvel). Nesta conexão é usada a API

“Java Communication”

que permite estabelecer uma ligação através de um “socket”. Depois de feita a ligação, o envio e a recepção de instruções são realizados através de Comandos AT. Com estes podemos aceder e modificar o estado de todas as funções e parâmetros do telemóvel.

O modo escolhido para enviar SMS foi o formato PDU. A mensagem no formato PDU é codificada e não contém apenas o texto pretendido, mas inúmeras outras informações sobre o emissor que enviou a mensagem, o centro de mensagens, data de envio, a codificação, entre outros.

VI. Base de Dados

Decidiu-se criar a base de dados em SQL, pois para além de ser uma linguagem bastante conhecida e utilizada, serve os nossos interesses. Como é uma linguagem suportada por vários SGBDs (Oracle, MySql, Access, etc) decidimos optar pelo “MySql” por ser multi-plataforma e “free”.

Figura 5 – Modelo do JMF Player

Figura 6 – Siemens C55

(5)

A. Identificação de entidades

De seguida, são identificadas e descritas as entidades consideradas necessárias ao Sistema de Informação.

Na entidade “login” são guardados todos os utilizadores com permissão de acesso à Página Web. O acesso à página é limitado ao número de utilizadores existentes nesta.

A entidade “camara” permite armazenar todas as webcams existentes no sistema de Vídeo-Vigilância. Desta forma conhecem-se todas as webcams que estão permanentemente ligadas.

Todas as capturas de movimento registadas pelas webcams são guardadas na entidade “captura”. Desta forma, é possível aos utilizadores consultarem estas capturas de forma permanente e actualizada.

VII. Página Web

A Página Web é desenvolvida em PHP, HTML e JavaScript. Esta página será uma aplicação dinâmica tanto no cliente usando JavaScript, como no servidor usando o PHP.

Para que um utilizador possa aceder à página web, é necessário que este faça a devida autenticação.

A. Visualização das “Webcams”

É possível visualizar todas as webcams que eventualmente foram utilizadas na Aplicação de Monitorização, no entanto, nesta aplicação é considerada uma nova webcam de cada vez que o seu nome for diferente. Assim, é possível conhecer todas as webcams e ordenar de forma crescente ou decrescente

todos os registos, segundo o id, o endereço, o nome ou a resolução. Através do nome do dispositivo consegue-se aceder às respectivas capturas de movimento.

B. Visualização das “Capturas de Movimento”

Todas as intrusões detectadas na Aplicação de Monitorização são armazenadas para que posteriormente possam ser consultadas. Estas também podem ser ordenadas crescentemente ou decrescentemente segundo determinados critérios.

É permitido a qualquer utilizador pesquisar as capturas de movimento existentes. Podem ser efectuadas pesquisas pelos seguintes critérios: endereço ou nome da webcam, por data ou intervalo de data das intrusões. Estes métodos facilitam aos utilizadores a procura de capturas que eventualmente pretendam consultar.

Ainda é possível visualizar de forma detalhada cada captura de movimento.

Figura 7 – Página Web

Referências

Documentos relacionados

A Aplicação de Monitorização é a parte mais importante da nossa aplicação, pois tem como objectivo detectar e controlar todas as webcams disponíveis no Sistema Operativo através

Se algum dos efeitos secundários se agravar ou se detectar quaisquer efeitos secundários não mencionados neste folheto, informe o seu médico ou farmacêutico.. Este folheto

Retire o excesso de água com uma toalha e aplique o Leite Disciplinante Tanox Trat ou a Super Carga ou o Repositor de Lipídios Tanox Trat do meio para as pontas

Ou talvez você tenha apenas reservado um tempo para se sentar e refletir sobre a Mensagem, para chegar um pouco mais perto daquilo que satsang significa para você, para mergulhar

Como todos os medicamentos, Quetiapina Accord pode causar efeitos secundários, no entanto estes não se manifestam em todas as pessoas.. Se algum dos seguintes efeitos secundários

As obras audiovisuais podem ser utilizadas como uma ferramenta para estudar diferentes áreas como história, artes, sociologia, filosofia, e algumas obras específicas podem

Mas a professora estava tão afetada, que não poderia deixar de ignorar a orientação encontrada nos Parâmetros Curriculares Nacionais do Ensino Médio (MEC, 1998, p. 20): “A

O foco principal das ações de saúde operacionalizadas pela Estratégia Saúde da Família deve ser o indivíduo em todas as suas especificidades.. As ações de saúde