2022 年 5 月 11 日 — 由 Google 产品经理 Megha Malpani 和 Google 软件工程师 Ard Oerlemans 发布 珊瑚礁是世界上生物多样性最丰富、最重要的生态系统之一,对海洋生物和更广泛的社会都至关重要。健康的珊瑚礁不仅对渔业和粮食安全至关重要,而且还可以保护海岸线免受风暴潮的侵袭,支持以旅游业为主导的经济,以及促进药物发现研究等无数益处。
由 Google 产品经理 Megha Malpani 和 Google 软件工程师 Ard Oerlemans 发布
珊瑚礁是世界上生物多样性最丰富、最重要的生态系统之一,对海洋生物和更广泛的社会都至关重要。健康的珊瑚礁不仅对渔业和粮食安全至关重要,而且还可以保护海岸线免受风暴潮的侵袭,支持以旅游业为主导的经济,以及促进药物发现研究等无数益处。
珊瑚礁面临着许多日益增长的威胁,最显著的是气候变化、污染和过度捕捞。仅在过去 30 年中,大堡礁 (GBR) 的珊瑚覆盖率和栖息地就出现了大幅下降,其他珊瑚礁也经历了类似的下降。在澳大利亚,棘冠海星 (COTS) 的爆发已被证明会导致珊瑚大量损失。虽然 COTS 天然存在于印度太平洋地区,但捕食者的数量减少和过量的径流营养物质导致了大规模爆发,这些爆发正在摧毁已经脆弱的珊瑚群落。控制 COTS 种群对于促进珊瑚生长和恢复能力至关重要。
为了开发能够从根本上改善 COTS 控制的新调查和干预方法,大堡礁基金会 成立了一个创新计划。谷歌与澳大利亚国家科学机构CSIRO 联手开发了创新的机器学习技术,可以准确、高效地分析视频序列,并近乎实时地进行分析。目标是改变水下调查,大规模监控和绘制珊瑚礁地图,以帮助快速识别和优先处理 COTS 爆发。该项目是谷歌在澳大利亚数字未来倡议 下与 CSIRO 建立的更广泛合作的一部分。
CSIRO 开发了一个边缘 ML 平台(基于NVIDIA Jetson AGX Xavier 构建),可以分析水下图像序列并近乎实时地绘制检测结果。我们的目标是利用 CSIRO 在多次实地考察中构建的带注释的数据集来开发最准确的目标检测模型(跨越各种环境、天气条件和 COTS 种群),并在性能约束范围内,最重要的是,每秒处理超过 10 帧 (FPS) 在小于 30 瓦的设备上。
我们举办了一个Kaggle 竞赛,利用来自开源社区的见解来推动我们的实验计划。凭借超过 2,000 个团队和 61,000 次提交,我们能够从比我们自己希望执行的更多实验的成功和失败中吸取教训。我们利用这些见解来定义我们的实验路线图,最终在 Google TPU 上运行了数百次实验。
我们使用 TensorFlow 2 的模型花园库 作为我们的基础,利用其缩放后的 YOLOv4 模型和相应的训练管道实现。然后,我们的建模专家团队开始工作,修改管道,尝试不同的图像分辨率和模型大小,并应用各种数据增强和量化技术来创建满足我们性能约束的最高精度模型。
由于带注释的数据量有限,这个问题的关键部分是弄清楚最有效的数据增强技术。我们根据从 Kaggle 提交中学习到的内容运行了数百次实验,以确定哪些技术组合最有效地提高了模型的准确性。
与我们的建模工作流并行,我们尝试了批处理、XLA 和自动混合精度(将模型的一部分转换为 fp16)以尝试提高我们的性能,所有这些都导致我们的 FPS 提高了 3 倍。然而,我们发现,在 Jetson 模块上,使用TensorFlow-TensorRT (将整个模型转换为 fp16)本身实际上导致了 4 倍的总提速,因此我们继续专门使用 TF-TRT。
在特定帧中检测到海星后,会应用跟踪器,该跟踪器会随着时间的推移链接检测。这意味着每个检测到的海星将被分配一个唯一的 ID,只要它在视频中保持可见,它就会保留该 ID。我们通过首先使用光流来预测海星在下一帧中的位置,然后根据它们的交并比 (IoU) 得分将检测结果与预测结果进行匹配,从而将后续帧中的检测结果链接在一起。
在召回率比精度更重要的任务中(即,我们更关心不要错过 COTS,而不是误报),考虑F2 度量 来评估模型精度是很有用的。此度量可用于评估模型在单个帧上的性能。然而,我们的最终目标是确定视频流中存在的 COTS 总数。因此,我们更关心评估整个管道的精度(模型 + 跟踪器),而不是逐帧性能(即,如果模型在一两帧上存在不准确的预测,只要管道正确识别海星的整体存在和位置,是可以接受的)。我们最终使用了一个基于序列的 F2 度量,该度量确定在某个平均 IoU 阈值下发现了多少“轨迹”。
我们目前的 1080p 模型使用 TensorFlow TensorRT 在 Jetson AGX Xavier 上以 11 FPS 运行,达到了 0.80 的基于序列的 F2 得分!我们还训练了一个 720p 模型,该模型在 Jetson 模块上以 22 FPS 运行,基于序列的 F2 得分为 0.78。
Google 和 CSIRO 很高兴宣布,我们正在开源两种 COTS 目标检测模型,并创建了一个Colab 笔记本 来演示服务器端推理工作流程。我们的 Colab 教程允许学生、海洋研究人员或数据科学家在图像序列上评估我们的 COTS ML 模型,无需配置/ML 知识。此外,它还提供了一个蓝图,用于为边缘 ML 平台(如 Jetson 模块)实现优化的推理管道。敬请关注,因为我们计划继续更新我们的模型和跟踪器,最终开源完整的 TFX 管道和数据集,以便世界各地的保护组织和其他政府可以使用自己的数据集重新训练和修改我们的模型。如果您有想合作的特定用例,请与我们联系!
致谢
衷心感谢所有为这个项目付出了辛勤努力的人!
如果没有我们 CSIRO 的合作伙伴,我们无法做到这一点 - Brano Kusy、Jiajun Liu、Yang Li、Lachlan Tychsen-Smith、David Ahmedt-Aristizabal、Ross Marchant、Russ Babcock、Mick Haywood、Brendan Do、Jeremy Oorloff、Lars Andersson 和 Joey Crosswell,以及优秀的 Kaggle 社区,以及 Google 的团队 - Glenn Cameron、Scott Riddle、Di Zhu、Abdullah Rashwan、Rebecca Borgo、Evan Rosen、Wolff Dobson、Tei Jeong、Addison Howard、Will Cukierski、Sohier Dane、Mark McDonald、Phil Culliton、Ryan Holbrook、Khanh LeViet、Mark Daoust、George Karpenkov 和 Swati Singh。