Leia nosso artigo sobre

class="img-responsive

.

Como Artefact, nós nos preocupamos em impactar positivamente as pessoas, o meio ambiente e a comunidade. É por isso que temos o compromisso de fazer parcerias com organizações sem fins lucrativos que fazem desses valores os elementos básicos de sua visão.
Por isso, colaboramos com a Smart Parks, uma empresa holandesa que fornece soluções avançadas de sensores para conservar a vida selvagem ameaçada e gerenciar com eficiência as áreas de parques, fornecendo tecnologia de ponta.

Nesta série de publicações, narramos nossa jornada no projeto e na criação de um sistema de ML para usar a mídia de armadilhas fotográficas do Smart Parks. Em particular, o objetivo do projeto é usar uma abordagem de ML para ingerir o data proveniente das armadilhas fotográficas e, em seguida, fornecer insights, como a presença de pessoas ou tipos específicos de animais nas imagens ou vídeos capturados pelas câmeras. Essas informações são usadas pelos guardas florestais do parque para proteger melhor a vida selvagem e detectar mais rapidamente possíveis perigos, como caçadores ilegais.

Introdução

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

  • Ingerir a mídia (imagens e/ou vídeos) proveniente de armadilhas fotográficas em um único local
  • Detectar automaticamente a presença de humanos e animais na mídia

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

  • Monitore a mídia proveniente das armadilhas fotográficas

Nosso princípio orientador era o de favorecer a velocidade. Assim, quando começamos, nossa única prioridade era implantar um produto básico, mas totalmente funcional, de ponta a ponta, o mais rápido possível.

Este será o primeiro artigo de muitos e se concentrará no contexto do projeto, na visão de alto nível do sistema projetado e nas vantagens de nossa solução baseada em nuvem. Nos próximos, vamos nos aprofundar em como conectar as armadilhas fotográficas ao Google Cloud Platform e a pontos de extremidade externos usando uma ferramenta chamada Node-RED e como projetar um aplicativo da Web simples usando o Streamlit para gerenciar as armadilhas fotográficas colocadas nos parques.

Vamos começar!

Armadilhas de câmera

Antes de começarmos, vamos rever rapidamente o que são armadilhas fotográficas e como elas podem ser usadas para apoiar a proteção e a conservação dos animais.

As armadilhas fotográficas são dispositivos que possuem sensores integrados para que, quando for detectada atividade na frente delas, uma foto ou um vídeo seja imediatamente capturado. Elas permitem que os guardas florestais e biólogos da vida selvagem vejam nossas espécies semelhantes sem interferir em seu comportamento normal.

Percorrer os parques e coletar informações é uma técnica válida, mas é um processo caro, trabalhoso e que exige muitas pessoas. Além disso, há também o risco de encontrar animais selvagens perigosos ou, pior ainda, caçadores ilegais.

Embora diferentes técnicas de coleta de data tenham diferentes desvantagens, as armadilhas fotográficas são uma excelente fonte. A grande vantagem das armadilhas fotográficas é que elas operam de forma contínua e silenciosa e podem registrar imagens muito precisas data sem perturbar o objeto fotografado. Elas podem ser úteis tanto para monitorar sub-repticiamente 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 Platform

Para o armazenamento e gerenciamento de mídia das armadilhas de câmera, optamos por usar uma solução baseada em nuvem, mais especificamente, o Google Cloud Platform.

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

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

O fluxo de trabalho

Em primeiro lugar, a mídia é carregada em um bucket do Google Cloud Storage. Como exatamente isso acontece será discutido no segundo artigo desta série. O compartimento é organizado em pastas, uma para cada armadilha de câmera. Depois que um arquivo é carregado, uma função do Google Cloud é acionada imediatamente, e essa função cuida das seguintes tarefas:

  • Leia a mídia carregada
  • Chame a API do Cloud Vision ou do Cloud Video Intelligence para recuperar as previsões

  • Arquive as respostas da API em outro Bucket de armazenamento na nuvem

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

class="img-responsive

Essa arquitetura oferece várias vantagens:

  • Escalabilidade: Graças ao uso do Cloud Functions, a solução pode ser dimensionada automaticamente com base no número de solicitações (ou seja, o número de mídias carregadas no bucket de entrada do Cloud Storage ao mesmo tempo)

  • Armazenamento barato e durável: O armazenamento de data não estruturado no Google Cloud Storage é bastante econômico (apenas US$ 0,026 por GB-mês para o nível de armazenamento padrão) e, além disso, oferece a melhor durabilidade de objetos da categoria em um determinado ano

  • Automação: O uso de todos esses serviços juntos nos permite ter um pipeline totalmente automatizado, sem necessidade de intervenção humana. Desde a ingestão de data até a recuperação de previsões, tudo é executado automaticamente assim que uma nova mídia é carregada

APIs do Cloud Vision e do Cloud Video Intelligence

O uso do aprendizado de máquina, especificamente da visão computacional, para identificar automaticamente pessoas e animais em imagens ou vídeos teve avanços significativos nos últimos anos e, atualmente, é amplamente considerado um "divisor de águas" pelos pesquisadores da vida selvagem. Vamos nos concentrar mais nas APIs usadas.

A Vision API e a Video Intelligence API oferecem modelos avançados de aprendizado de máquina pré-treinados por meio de APIs REST e RPC. A primeira foi criada para trabalhar com imagens, enquanto a segunda, como o nome sugere, trabalha com vídeos. Ambas são capazes de reconhecer automaticamente um grande número de objetos, lugares e ações.

Para este projeto, nos concentramos principalmente nesses três recursos fornecidos 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, é possível criar regras que acionem um alarme na presença de um conjunto específico de entidades

  • Detecção/rastreamento de objetos: Para ter uma ideia mais precisa do local dos animais/pessoas detectados na mídia. Diferentemente do caso da detecção de rótulos, aqui também obtemos as anotações de caixa das detecções

  • Detecção de rostos/pessoas: Para ter mais informações sobre as pessoas detectadas, por exemplo, para entender suas emoções ou extrair suas roupas. Essas informações adicionais poderiam ser usadas para distinguir os caçadores furtivos das pessoas normais

Você pode brincar com a API do Vision fazendo o upload de sua imagem aqui.

class="img-responsive

A trilha à frente

A jornada até agora é a base para a jornada empolgante e impactante que temos pela frente. Com as ferramentas básicas instaladas em um futuro próximo, poderemos criar muito valor não apenas para os Smart Parks, mas também para a conservação da vida selvagem e muito mais!

As próximas etapas envolverão essas áreas amplas de trabalho:

  • Experimentação de modelos: Até o momento, fizemos experiências apenas com APIs ou modelos pré-treinados, mas, no futuro, seria interessante criar um conjunto de dados de imagens/vídeos coletados pelas armadilhas fotográficas. Rotulá-lo, manualmente ou usando o sistema que acabamos de apresentar, e depois usá-lo para treinar modelos personalizados de visão computacional para obter melhor precisão

  • Implementação de casos de uso: O fato de já termos uma solução totalmente automatizada permitirá que nos concentremos mais no desenvolvimento de casos de uso direcionados, pensando realmente em como explorar as informações recuperadas para causar impacto e ajudar os guardas florestais e todos os voluntários a proteger a vida selvagem dos parques

  • Edge AI: No momento, a velocidade de execução do nosso loop de previsão é satisfatória para o nosso caso de uso (alguns minutos). Ainda temos áreas de melhoria para nos aproximarmos de uma solução em tempo real. Edge AI, com um modelo implantado e executado mais próximo do hardware real da armadilha da câmera, é uma opção que ajudaria a evitar viagens de ida e volta para a nuvem

Neste primeiro artigo, discutimos como criamos nosso pipeline escalonável totalmente automatizado no Google Cloud, o que nos permitiu ingerir mídia e usar APIs de aprendizado de máquina para extrair insights dela. Ele fornece uma linha de base sólida, fácil e rápida de implementar para qualquer tipo de projeto que envolva o consumo de mídia e o uso do aprendizado de máquina para extrair insights deles.

Agradecemos a leitura e nos vemos nos próximos artigos da série, nos quais explicaremos mais detalhadamente como a arquitetura apresentada é efetivamente conectada às armadilhas fotográficas e onde analisaremos o aplicativo da Web desenvolvido para gerenciá-las.

Agradecimentos especiais a Maël Deschamps por sua ajuda na revisão do conteúdo desta postagem e a Tim van Dam, da Smart Parks, por seu apoio durante o projeto. Vocês são demais!

class="img-responsive

Blog do Medium por Artefact.

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