Skip to content
生态学

用 Potato 做生态学与野生动物监测

审核 MegaDetector 红外相机检测结果和 BirdNET 或 Raven 叫声框,再从你自己的服务器导出 Camtrap DP、Darwin Core 或 Raven 文件。

Potato 是红外相机检测器或鸟鸣分类器之后的人工审核环节:由人确认和修正 MegaDetector、BirdNET、Raven 或 Audacity 的检测结果,再导出为 Camtrap DP、Darwin Core、MegaDetector JSON,或 Raven 和 Audacity 文件。Potato 免费开源,运行在你自己的电脑或服务器上,包括野外站点一台没有网络的笔记本电脑。

检测器和分类器让大规模的红外相机调查和声学调查成为可能,但大多数项目仍要人工核查输出。一项对三个处理红外相机数据的 AI 平台的评估发现,它们的物种分类召回率总体处于低到中等水平(Vélez et al., 2022),所以模型报告的结果通常要经人核实后才能成为数据。Potato 负责这一核实环节。Potato 读取检测器的输出,但本身不运行检测器,因此你需要先在自己的机器上运行 MegaDetector、物种分类器或 BirdNET-Analyzer,再导入它们写出的文件。

Potato 中的生态学任务

下表每一行是 Potato 2.12 自带的一种审核工作流,链接页面给出了命令和选项。

任务Potato 的做法文档
分拣红外相机图像一道单选题,预先填入检测器给出的最高类别(empty、animal、person、vehicle),用数字键 1 到 4 作答红外相机
修正检测框和物种预先画出置信度达到阈值的检测框;如果源数据给出了物种名,还会提供物种多选题红外相机
审核整个序列共享同一 seq_id 的图像作为一个条目,以帧画廊的形式显示红外相机
核实 BirdNET 检测结果每段录音一个条目,BirdNET 的框画在频谱图上,在有人修改之前显示为虚线生物声学
从零开始绘制叫声框带时频框和标签的 spectrogram_annotation 方案频谱图标注
在地图上标注目击点或栖息地在你自己的 GeoJSON 地图上使用点、多边形或区域选择的 geo_annotation 方案地图

审核 MegaDetector 输出

导入时根据 MegaDetector 批处理文件和 MegaDetector 处理过的图像生成一个项目。使用 --image-dir 时,Potato 直接从图像原来的文件夹提供图像,大型调查的数据不必复制一份。

bash
potato import -i md_output.json --image-dir /data/traps --md-threshold 0.5 -o review-project/
python potato/flask_server.py start review-project/config.yaml -p 8000
python -m potato.export -c review-project/config.yaml -f camtrap_dp -o package/

--md-threshold 会在任何人看到检测结果之前,丢掉低于该置信度的检测(默认值为 0.2)。阈值越高,要删除的框越少,要补画的漏检动物越多,所以请根据你自己图像的一个样本来设定阈值。预填的答案只有在标注者保存该图像时才会存储,因此导出中只包含审核过的图像。每个框都保留检测器的名称和置信度,有人改动后会被标记为已编辑,你可以据此报告审核改动了多少检测结果。

导出数据

导出格式面向生态学研究者已经在用的工具和数据仓库,每种导出读取的都是审核后的答案。

  • megadetector 写出带修正后检测框的批处理输出 JSON,供读取 MegaDetector 结果的工具使用。
  • camtrap_dp 写出 Camtrap DP 1.0 数据包(deployments、media、observations 和 datapackage.json)。坐标和数据包元数据来自条目字段或 --option 值,缺失的内容会在警告中列出,所以发布前请先运行 Camtrap DP 验证器。
  • darwin_core 写出 Darwin Core 物种出现记录表;模型的鉴定结果未被改动时 basisOfRecord 设为 MachineObservation,否则设为 HumanObservation。
  • raven 和 audacity_labels 为每段录音写出一个选择表或标签轨,可以在 Raven 或 Audacity 中与音频一起打开。

与 Timelapse、Wildlife Insights 和 Raven 的分工

Timelapse 是一款为红外相机图像打标签的桌面程序,能读取 MegaDetector 输出。Wildlife Insights 是一个托管平台,对上传的图像做分类,并让用户审核结果。Raven Pro 是康奈尔鸟类学实验室用于查看和测量声音的程序。当几个人分担审核工作时,Potato 更合适,因为它把图像或录音分配给审核者,并保留每个人的答案。当图像不能离开你自己的服务器时,Potato 也合适,因为整个工具运行在这台服务器上,安装完成后不需要任何外部连接。

常见问题

能否载入 MegaDetector 输出,只审核它标记出的图像?

能。potato import 读取 MegaDetector 批处理文件,--md-threshold 丢掉低于你所选置信度的检测,因此没有任何检测高于阈值的图像一开始就是 empty。标注者按一个键确认或更改这个分拣答案,再在需要修正的图像上修正检测框。

能否逐段核实 BirdNET 的检测结果?

能。potato import -f birdnet 能读取 BirdNET-Analyzer 的两种输出格式,--min-confidence 决定导入哪些检测。每段录音打开时,BirdNET 的框已画在频谱图上,标注者可以移动、调整大小、重新标注或删除这些框,并补画 BirdNET 漏掉的叫声。Potato 不包含 BirdNET 的模型,这些模型采用 CC BY-NC-SA 许可。

输出能发布到 GBIF 吗?

Potato 能写出发布到 GBIF 时所用的两种起始格式:用 camtrap_dp 生成的 Camtrap DP 1.0 数据包,以及用 darwin_core 生成的 Darwin Core 物种出现记录表。发布本身在 Potato 之外完成,Camtrap DP 导出会列出导出器未能填写的元数据。

Potato 能在没有网络的野外站点笔记本电脑上运行吗?

能,只要先装好 Potato。Potato 的整个界面都由安装目录提供,审核本机上的图像或录音不需要任何网络连接。气隙与离线部署列出了哪些内容在本地提供。

延伸阅读

参考文献

  1. Vélez et al. (2022). An evaluation of platforms for processing camera-trap data using artificial intelligence. Methods in Ecology and Evolution. https://researchonline.ljmu.ac.uk/id/eprint/19506/

从这里开始

示例设计

每个设计都是可以下载并直接运行的 Potato 配置。

其他领域

全部应用场景