阅读我们的文章

class="lazyload

.

作为Artefact我们致力于对人们、环境和社区产生积极影响。正因如此,我们致力于与那些将这些价值观作为其愿景基石的非营利组织建立合作伙伴关系。
因此,我们与 Smart Parks 展开了合作。这是一家荷兰公司,通过提供尖端技术,为保护濒危野生动物和高效管理公园区域提供先进的传感器解决方案。

在本系列文章中,我们将记录我们设计和构建机器学习系统以利用“智能公园”(Smart Parks)红外相机所采集媒体数据的历程。 具体而言,该项目的目标是利用机器学习方法处理来自红外摄像机的数据,并从中提取有价值的洞察,例如判断摄像机拍摄的图像或视频中是否有人类或特定物种的踪迹。这些信息将帮助公园巡护员更好地保护野生动物,并更早地发现偷猎者等潜在威胁。

引言

Smart Parks需要一套能够完成以下任务的野生动物监测系统:

  • 将来自红外线摄像机的媒体文件(图片和/或视频)集中导入到一个地方
  • 自动检测媒体中是否有人或动物

  • 在“地球护林员”(Earth Rangers)应用中查看预测信息,该应用用于管理公园及其野生动物

  • 监控来自红外相机陷阱的影像

在此,我们的指导原则是优先考虑速度。因此,在项目启动之初,我们的首要任务就是尽快部署一个功能简约但完全可用的端到端产品。

本文是系列文章的第一篇,将重点介绍该项目的背景、所设计系统的高层级概览,以及我们cloud解决方案的优势。 在后续文章中,我们将更深入地探讨如何利用名为Node-RED的工具将红外相机连接到GoogleCloud 及外部端点,以及如何使用Streamlit设计一个简单的 Web 应用程序来管理公园内部署的红外相机。

让我们开始吧!

红外线相机

在深入探讨之前,让我们先快速回顾一下什么是红外线相机,以及它们如何用于支持动物保护和保育工作。

红外线相机是一种内置传感器的设备,当检测到前方有活动时,会立即拍摄照片或录制视频。它们使公园管理员和野生动物生物学家能够在不干扰动物正常行为的情况下观察这些生物。

在公园内四处走访并收集信息是一种行之有效的方法,但这是一个成本高昂、耗费大量人力且需要投入大量人力的过程。此外,还存在遭遇危险野生动物的风险,甚至更糟的是,可能会遇到偷猎者。

虽然不同的数据采集技术各有优缺点,但红外相机是一种极佳的数据来源。红外相机的巨大优势在于其能够持续、静默地运行,且能在不干扰被拍摄对象的情况下记录非常准确的数据。它们既有助于秘密监测可能的非法活动,也有助于统计某区域内不同物种的数量,并确定其行为和活动模式。

GoogleCloud

在红外相机数据存储与管理方面,我们选择了cloud解决方案,具体而言,即谷歌Cloud 。

Google 提供多种存储解决方案,例如GoogleCloud 集成了边缘缓存功能的对象存储服务,用于存储非结构化数据;计算解决方案,例如Cloud (一种用于运行事件驱动型代码的函数即服务);此外,它还提供实用的 AI API,例如:

  • Cloud API— 基于机器学习的图像分析服务
  • Cloud 智能——基于机器学习的视频分析服务

将所有这些组件整合到一个统一的环境中,对我们来说是理想的解决方案,并帮助我们在短时间内提供了可运行的解决方案。

工作流程

首先,媒体文件会被上传到一个 GoogleCloud 存储桶中,具体实现过程将在本系列的第二篇文章中详细讨论。该存储桶按文件夹进行组织,每个文件夹对应一台红外相机。文件上传完成后,会立即触发Cloud GoogleCloud 该Cloud 负责处理以下任务:

  • 阅读已上传的媒体文件
  • 调用Cloud 或Cloud Intelligence API 以获取预测结果

  • 将 API 响应存档到另一个Cloud 存储桶中

  • 将预测结果发送到 GCP 外部的端点

class="lazyload

这种架构具有多重优势:

  • 可扩展性:得益于Cloud 的应用,该解决方案能够根据请求数量(即同时上传到输入端Cloud 存储桶中的媒体文件数量)自动进行扩展。

  • 经济实惠且持久的存储:将非结构化数据存储在 GoogleCloud 中成本相当低廉(标准存储层仅需 0.026 美元/GB·月),此外,它在一年内还能提供业界领先的对象持久性

  • 自动化:将所有这些服务结合使用,使我们能够构建一个完全自动化的流程,无需人工干预。从数据导入到预测结果的获取,只要上传了新的媒体文件,所有环节都会自动运行。

Cloud 和Cloud 智能 API

近年来,利用机器学习(特别是计算机视觉)自动识别图像或视频中的人和动物的技术取得了重大进展,如今这一技术已被野生动物研究人员广泛视为“变革性技术”。让我们重点探讨一下所使用的API。

Vision APIVideo Intelligence API通过 REST 和 RPC API 提供功能强大的预训练机器学习模型。前者专用于图像处理,而后者,顾名思义,则专用于视频处理。两者均能自动识别大量物体、地点和动作。

在这个项目中,我们主要关注API提供的以下3个功能:

  • 标签检测:用于识别媒体中存在的实体(例如动物、人、车辆)。基于此,可以制定规则,当出现特定的一组实体时触发警报

  • 目标检测/跟踪:以便更精确地掌握媒体中检测到的动物/人的位置。与标签检测不同,在此情况下,我们还能获得检测结果的边界框标注

  • 人脸/人物检测:获取被检测人员的更多信息,例如识别其情绪或提取其穿着信息。这些附加信息随后可用于区分偷猎者与普通人

您只需将图片上传到这里,即可体验 Vision API。

class="lazyload

前方的路

迄今为止的历程,为未来激动人心且影响深远的征程奠定了基础。随着基础工具在不久的将来就位,我们不仅能为“智慧公园”创造巨大价值,更能为野生动物保护乃至更广阔的领域带来深远影响!

接下来的工作将涵盖以下几个主要方面:

  • 模型实验:到目前为止,我们仅对 API 或预训练模型进行了实验,但未来若能构建一个由红外相机收集的图像/视频数据集,将会很有趣。我们可以手动标注,或利用刚才介绍的系统进行标注,然后利用该数据集训练定制的计算机视觉模型,以获得更高的准确率。

  • 用例实施:由于已经拥有一个完全自动化的解决方案,我们将能够更加专注于开发针对性的用例,从而深入思考如何利用获取的信息产生实际影响,并协助护林员和所有志愿者保护公园内的野生动物。

  • 边缘AI:目前,我们的预测循环的执行速度对于我们的用例来说尚可(几分钟)。我们仍有改进空间,以更接近实时解决方案。边缘AI——即将模型部署并运行在更接近实际摄像陷阱硬件的位置——是一种有助于避免与cloud进行往返通信的方案

在本文中,我们探讨了如何在 GoogleCloud 上构建全自动且可扩展的处理流程,从而能够导入媒体数据,并利用机器学习 API 从其中提取洞察。该方案为任何涉及媒体数据处理以及利用机器学习从中提取洞察的项目,提供了一个稳健、简便且易于实施的基础方案。

感谢您的阅读,敬请期待本系列的后续文章。在接下来的文章中,我们将详细说明所介绍的架构是如何与红外相机有效连接的,并介绍用于管理这些相机的网络应用程序,敬请关注!

特别感谢 Maël Deschamps 协助审阅本文内容,以及 Smart Parks 的 Tim van Dam 在项目期间给予的支持。你们太棒了!

class="lazyload

Artefact 的 Medium 博客。

本文最初发表于Medium.com
欢迎关注我们的Medium博客!