Leia nosso artigo sobre

class="lazyload

.

Na Artefact, nos preocupamos em causar um impacto positivo nas pessoas, no meio ambiente e na comunidade. É por isso que estamos comprometidos em estabelecer parcerias com organizações sem fins lucrativos que fazem desses valores os pilares fundamentais de sua visão.
Por isso, colaboramos com a Smart Parks, uma empresa holandesa que oferece soluções avançadas de sensores para conservar a fauna ameaçada de extinção e gerenciar com eficiência áreas de parques, por meio de tecnologia de ponta.

Nesta série de publicações, relatamos nossa jornada na concepção e construção de um sistema de aprendizado de máquina para utilizar o material das câmeras de monitoramento do Smart Parks. Especificamente, o objetivo do projeto é utilizar uma abordagem de ML para processar os data das câmeras de vigilância e, a partir disso, fornecer insights, como a presença de pessoas ou de tipos específicos de animais nas imagens ou vídeos capturados pelas câmeras. Essas informações são então utilizadas pelos guardas florestais para proteger melhor a vida selvagem e detectar mais rapidamente possíveis ameaças, como caçadores ilegais.

Introdução

A Smart Parks precisava de um sistema de monitoramento da vida selvagem capaz de realizar as seguintes tarefas:

  • Reúna em um único local os arquivos de mídia (imagens e/ou vídeos) provenientes das câmeras de vigilância
  • Detectar automaticamente a presença de pessoas e animais nas imagens

  • Acesse as previsões no Earth Rangers, um aplicativo usado para gerenciar os parques e sua vida selvagem

  • Monitorar as imagens captadas pelas câmeras de vigilância

Nosso princípio orientador aqui foi o de priorizar a rapidez. Assim, logo no início, nossa única prioridade era lançar, o mais rápido possível, um produto básico, mas totalmente funcional, de ponta a ponta.

Este será o primeiro de uma série de artigos e abordará o contexto do projeto, uma visão geral do sistema projetado e as vantagens da nossa solução cloud. Nos próximos artigos, abordaremos mais detalhadamente como conectar câmeras de vigilância àGoogle Cloud e a terminais externos usando uma ferramenta chamadaNode-RED, e como projetar um aplicativo web simples usandoo Streamlitpara gerenciar as câmeras de vigilância instaladas nos parques.

Vamos começar!

Câmeras de vigilância

Antes de começarmos, vamos dar uma rápida revisão sobre o que são câmeras de vigilância e como elas podem ser usadas para apoiar a proteção e a conservação dos animais.

As câmeras de vigilância são dispositivos equipados com sensores que, ao detectarem movimento à sua frente, capturam imediatamente uma foto ou um vídeo. Elas permitem que os guardas florestais e os biólogos da vida selvagem observem outras espécies sem interferir em seu comportamento natural.

Percorrer os parques e coletar informações é uma técnica válida, mas trata-se de um processo caro, que exige muito trabalho e mão de obra. Além disso, há também o risco de se deparar com animais selvagens perigosos ou, pior ainda, com caçadores ilegais.

Embora as diferentes técnicas de coleta data diferentes vantagens e desvantagens, as câmeras de vigilância são uma excelente fonte de dados. A grande vantagem dessas câmeras é que elas funcionam de forma contínua e silenciosa, podendo registrar data muito precisos data perturbar o animal fotografado. Elas podem ser úteis tanto para monitorar discretamente possíveis atividades ilícitas quanto para quantificar o número de espécies diferentes em uma área e determinar seus padrões de comportamento e atividade.

Google Cloud

Para o armazenamento e gerenciamento dos dados das câmeras de vigilância, optamos por utilizar uma solução cloud, mais especificamente, o Google Cloud .

O Google oferece soluções de armazenamento, como Cloud Google Cloud , um armazenamento de objetos com cache de borda integrado para armazenar data não estruturados; soluções de computação, comoCloud , um serviço de funções (Functions as a Service) para executar código orientado a eventos; e também oferece AI úteis AI , por exemplo:

  • APICloud — Serviço de análise de imagens baseado em aprendizado de máquina
  • InteligênciaCloud — Serviço de análise de vídeo baseado em aprendizado de máquina

Ter todos esses componentes em um único ambiente unificado foi a solução ideal para nós e nos ajudou a oferecer uma solução funcional em pouco tempo.

O fluxo de trabalho

Primeiramente, os arquivos de mídia são enviados para um bucket Cloud Google Cloud ; como isso ocorre exatamente será abordado no segundo artigo desta série. O bucket está organizado em pastas, uma para cada câmera de monitoramento. Assim que um arquivo é enviado, uma Cloud Google Cloud é acionada imediatamente; essa função realiza as seguintes tarefas:

  • Leia os arquivos de mídia enviados
  • Chame a API Cloud ou da Cloud Intelligence para obter as previsões

  • Arquive as respostas da API em outro bucket Cloud

  • Envie as previsões para um ponto de extremidade fora do GCP

class="lazyload

Essa arquitetura oferece várias vantagens:

  • Escalabilidade: Graças ao uso do Cloud , a solução é capaz de se escalar automaticamente com base no número de solicitações (ou seja, o número de arquivos de mídia enviados simultaneamente para o bucket Cloud de entrada)

  • Armazenamento econômico e durável: armazenar data não estruturados data Google Cloud é bastante econômico (apenas US$ 0,026 por GB/mês para o nível de armazenamento Standard) e, além disso, oferece a melhor durabilidade da categoria para objetos ao longo de um ano

  • Automação: A utilização conjunta de todos esses serviços nos permite ter um fluxo de trabalho totalmente automatizado, sem necessidade de intervenção humana. Desde a data até a obtenção das previsões, tudo é executado automaticamente assim que um novo arquivo de mídia é carregado

APIs do Cloud e do Cloud Intelligence

O uso do aprendizado de máquina, mais especificamente da visão computacional, para identificar automaticamente pessoas e animais em imagens ou vídeos tem registrado avanços significativos nos últimos anos e, atualmente, é amplamente considerado uma “virada de jogo” pelos pesquisadores da vida selvagem. Vamos nos concentrar mais nas APIs utilizadas.

A API Visionea API Video Intelligenceoferecem poderosos modelos de aprendizado de máquina pré-treinados por meio de APIs REST e RPC. A primeira destina-se ao processamento de imagens, enquanto a segunda, como o nome sugere, é voltada para vídeos. Ambas são capazes de reconhecer automaticamente um vasto número de objetos, locais e ações.

Para este projeto, nos concentramos principalmente nestas três funcionalidades oferecidas pelas APIs:

  • Detecção de rótulos: Para ter uma ideia das entidades (por exemplo, animais, pessoas, veículos) presentes na mídia. Com base nisso, seria possível criar regras que acionassem um alarme na presença de um conjunto específico de entidades

  • Detecção/rastreamento de objetos: Para ter uma ideia mais precisa da localização dos animais/pessoas detectados na mídia. Ao contrário do que ocorre na detecção de rótulos, aqui também obtemos as anotações de caixas das detecções

  • Detecção de rostos/pessoas: Para obter mais informações sobre as pessoas detectadas, por exemplo, para identificar suas emoções ou identificar suas roupas. Essas informações adicionais poderiam então ser usadas para distinguir caçadores ilegais de pessoas comuns

Você pode experimentar a API do Vision simplesmente enviando sua imagemaqui.

class="lazyload

O caminho à frente

A trajetória percorrida até agora é a base para a jornada emocionante e impactante que temos pela frente. Com as ferramentas básicas já implementadas em um futuro próximo, seremos capazes de gerar muito valor não apenas para os Smart Parks, mas também para a conservação da vida selvagem e muito mais!

Os próximos passos envolverão as seguintes áreas gerais de trabalho:

  • Experimentação de modelos: Até agora, experimentamos apenas APIs ou modelos pré-treinados, mas no futuro seria interessante criar um conjunto de dados com imagens e vídeos coletados pelas câmeras de vigilância. Rotulá-lo, seja manualmente ou usando o sistema que acabamos de apresentar, e depois utilizá-lo para treinar modelos personalizados de visão computacional a fim de obter maior precisão

  • Implementação de casos de uso: O fato de já contarmos com uma solução totalmente automatizada nos permitirá concentrar-nos mais no desenvolvimento de casos de uso específicos, refletindo assim sobre como aproveitar as informações obtidas para causar impacto e ajudar os guardas florestais e todos os voluntários na proteção da vida selvagem dos parques

  • AI de ponta: Por enquanto, a velocidade de execução do nosso ciclo de previsão é satisfatória para o nosso caso de uso (alguns minutos). Ainda temos pontos a melhorar para nos aproximarmos de uma solução em tempo real. AI de ponta, com um modelo implantado e em execução mais próximo do próprio hardware da câmera de monitoramento, é uma opção que ajudaria a evitar idas e vindas à cloud

Neste primeiro artigo, discutimos como criamos nosso pipeline totalmente automatizado e escalável no Google Cloud, o que nos permite importar arquivos de mídia e usar APIs de aprendizado de máquina para extrair insights deles. Ele oferece uma base sólida, simples e de rápida implementação para qualquer tipo de projeto que envolva o consumo de mídia e o uso de aprendizado de máquina para extrair insights.

Obrigado pela leitura e até os próximos artigos da série, onde explicaremos com mais detalhes como a arquitetura apresentada se conecta efetivamente às câmeras de vigilância, e onde abordaremos o aplicativo web desenvolvido para gerenciá-las. Fiquem ligados!

Um agradecimento especial a Maël Deschamps pela ajuda na revisão do conteúdo desta publicação, e a Tim van Dam, da Smart Parks, pelo apoio durante o projeto. Vocês são demais!

class="lazyload

Blog do Medium pela Artefact.

Este artigo foi publicado originalmente no Medium.com.
Siga-nos no nosso blog no Medium!