「鲸脸识别」已上线,夏威夷大学用 5 万张图像训练识别模型,平均精度 0.869

内容一览:人脸识别可以锁定人类身份,这一技术延申到鲸类,便有了「背鳍识别」。「背鳍识别」是利用图像识别技术,通过背鳍识别鲸类物种。传统的图像识别依赖于卷积神经网络 (CNN) 模型,需要大量训练图像,并且只能识别某些单物种。近期,夏威夷大学的研究人员训练了一种多物种图像识别模型,该模型在鲸类应用中表现出色。

关键词:图像识别   鲸类动物   ArcFace

作者|daserney

编辑|缓缓、三羊

本文首发于 HyperAI 超神经微信公众平台~

鲸类动物是海洋生态系统的旗舰动物和指示性生物,对于保护海洋生态环境具有极高的研究价值。传统的动物身份识别需要对动物进行现场拍摄,记录个体出现的时间和位置,包含许多步骤,过程繁杂。其中又以图像匹配——在不同图像中识别出同一个体尤为耗时。

2014 年 Tyne 等人展开的一项研究估计,在对斑海豚 (Stenella longirostris) 进行为期一年的捕捉和释放调查中,图像匹配耗费了超过 1100 个小时的人力劳动,几乎占据了整个项目总经费的三分之一

近期,来自夏威夷大学 (University of Hawai‘i) 的 Philip T. Patton 等研究人员,利用 5 万多张照片(包括 24 种鲸类动物、39 个目录),训练了基于人脸识别 ArcFace Classification Head 的多物种图像识别模型。该模型在测试集上达到了 0.869 的平均精确率 (MAP)。其中,10 个目录的 MAP 得分超过 0.95。

目前该研究已发布在《Methods in Ecology and Evolution》期刊上,标题为「A deep learning approach to photo–identification demonstrates high performance on two dozen cetacean species」。

该研究成果已发表在《Methods in Ecology and Evolution》

论文地址:

https://besjournals.onlinelibrary.wiley.com/doi/full/10.1111/2041-210X.14167

 

数据集:25 个物种、39 个目录

数据介绍 

Happywhale 和 Kaggle 与全球研究人员协作,组建了一个大规模、多物种的鲸类数据集。该数据集是为 Kaggle 竞赛收集的,要求参赛团队从背鳍/侧身的图像中识别个体鲸目动物。数据集包含 25 个物种 (species) 的 41 个目录 (catalogues),每个目录包含一个物种,其中有些目录中的物种会重复出现。

该研究去掉了两个竞赛目录,因为其中一个只有 26 张用于训练和测试的低画质图像,而另一个目录则缺少测试集。最终的数据集包含 50,796 张训练图像和 27,944 张测试图像,其中,50,796 张训练图像包含 15,546 个身份 (identities)。在这些身份中,9,240 个 (59%) 只有一张训练图像,14,210 个 (91%) 有 5 张以内训练图像。

数据集及代码地址:

GitHub - knshnb/kaggle-happywhale-1st-place

训练数据 

为了解决图像背景复杂的问题,一些参赛者训练了图像裁剪模型,可以自动检测图像中的鲸类动物,并在其周围绘制边界框。下图中可以看出,这一流程包括 4 个鲸类检测器,使用了 YOLOv5 和 Detic 在内的不同算法,检测器的多样性增加了模型的鲁棒性,并且能对实验数据进行数据增强。

图 1:竞赛集中 9 个目录的图像以及 4 个鲸类检测器生成的边界框

每个边界框生成的裁剪的概率为:红色为 0.60,橄榄绿为 0.15,橙色为 0.15,蓝色为 0.05。裁剪后,研究人员将每个图像的大小调整为 1024 x 1024 像素,以与 EfficientNet-B7 backbone 兼容。

调整大小后,应用仿射变换、调整大小和裁剪、灰度、高斯模糊等数据增强技术,避免模型出现严重过拟合。

数据增强是指在训练过程中对原始数据进行变换或扩充,以增加训练样本的多样性和数量,从而提高模型的泛化能力和鲁棒性。

 

模型训练:物种 &个体识别双管齐下

下图显示了模型的训练流程,如图中橙色部分所示,研究人员将图像识别模型分为 3 个部分:backbone、neck 和 head。

图 2:多物种图像识别模型训练 Pipeline

图中第一行是预处理步骤(以普通海豚 Delphinus delphis 图像为例),由 4 个目标检测模型生成 crops,数据增强步骤生成两个示例图像。

最下面一行则显示了图像分类网络的训练步骤,从 backbone 到 neck 再到 head。

图像首先通过网络进入 backbone。过去十年的一系列研究已经产生了数 10 种流行的 backbone,包括 ResNet、DenseNet、Xception 和 MobileNet。经验证,EfficientNet-B7 在鲸类应用中表现最佳。

Backbone 获取图像后,通过一系列卷积层和池化层对其进行处理,从而生成图像的简化三维表示。Neck 将此输出减少为一维向量,又称为特征向量。

两个 head 模型,都将特征向量转换为类概率,即 Pr(species) 或 Pr(individual),分别用于物种识别和个体识别。这些 classification heads 被称为具有动态边距的次中心 ArcFace,普遍适用于多物种图像识别场景。

 

实验结果:平均精度 0.869

对测试集中的 21,192 张图像(24 个物种的 39 个目录)进行预测,获得了 0.869 的平均精度 (MAP)。如下图所示,平均精度因物种而异,且与训练图像或测试图像的数量无关。

图 3:测试集的平均精度

顶部面板按用途(即训练或测试)显示每个物种的图像数量。具有多个目录的物种,则用 x 表示。

图中显示,该模型在识别齿鲸 (toothed whale) 时表现较好,而在识别须鲸 (baleen whale) 时表现较差,其中只有两个须鲸物种的得分超过了平均水平。

对于多目录物种,模型性能也存在差异。例如,普通小须鲸 (Balaenoptera acutorostrata) 不同目录之间的 MAP 得分分别为 0.79 和 0.60。其他物种如白鲸 (Delphinapterus leucas) 和虎鲸在不同目录之间的表现也有较大差异。

对此,研究人员虽然没有找到能解释这种目录级性能差异的原因,但他们发现一些定性指标如模糊度、独特性、标记混淆、距离、对比度和水花等,可能会影响图像的精度得分。

图 4:可能影响目录级性能差异的变量

图中每个点代表竞赛数据集中的一个目录,像素表示图像和边界框宽度。Distinct IDs 表示训练集中不同个体的数量。然而,目录级 MAP 与平均图像宽度、平均边界框宽度、训练图像数量、不同个体数量以及每个个体的训练图像数量之间并没有明确的关联。

综合以上,研究人员提出用该模型进行预测时,代表 7 个物种的 10 个目录平均精度高于 0.95,性能表现优于传统预测模型,进而说明使用该模型能正确识别个体。此外,研究人员还在实验过程中总结出 7 点关于鲸类研究的注意事项:

  1. 背鳍识别表现最佳。
  2. 明显个体特征较少的目录表现不佳。
  3. 图像质量很重要。
  4. 利用颜色识别动物可能较为困难。
  5. 特征相对于训练集差距较大的物种得分较差。
  6. 预处理仍然是一个障碍。
  7. 动物标记变化可能会影响模型表现。

 

Happywhale:鲸类研究的公众科学平台

本文数据集介绍中提到的 Happywhale 是一个分享鲸类图像的公众科学平台,其目标是解锁大量数据集、促进 photo ID 的快速匹配,并为公众创造科研参与度。

Happywhale 官网地址:

Happywhale

Happywhale 成立于 2015 年 8 月,其联合创始人 Ted Cheeseman 是一位博物学家 (Naturalist),他在加利福尼亚蒙特雷湾 (Monterrey Bay) 长大,从小就喜欢观鲸,曾多次前往南极洲和南乔治亚岛探险,具有 20 余年南极探险及极地旅游管理的经验。

Happywhale 联合创始人 Ted Cheeseman

2015 年,Ted  离开了工作 21 年的 Cheesemans’ Ecology Safaris(由 Ted 父母在 1980 年创办的生态旅行社,Ted 父母同样是博物学家),投身 Happywhale 项目–  收集科研数据,进一步理解并保护鲸类。

短短几年内,Happywhale.com 已经成为鲸类研究领域的最大贡献者之一,除鲸类识别图像的数量巨大外,对理解鲸类的迁徙模式也提供了诸多洞见。

参考链接:

[1]https://baijiahao.baidu.com/s?id=1703893583395168492

[2]https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0086132

[3]https://phys.org/news/2023-07-individual-whale-dolphin-id-facial.html#google_vignette

[4]https://happywhale.com/about

本文首发于 HyperAI 超神经微信公众平台~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/92307.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《3D 数学基础》12 几何图元

目录 1 表达图元的方法 1.1 隐式表示法 1.2 参数表示 1.3 直接表示 2. 直线和射线 2.1 射线的不同表示法 2.1.1 两点表示 2.1.2 参数表示 2.1.3 相互转换 2.2 直线的不同表示法 2.2.1 隐式表示法 2.2.2 斜截式 2.2.3 相互转换 3. 球 3.1 隐式表示 1 表达图元的方…

【C语言】每日一题(多数元素)

多数元素,链接奉上 方法 1.摩尔投票2.合理但错误的方法2.1暴力循环2.2排序求出中间元素中间元素 1.摩尔投票 先来简单的介绍摩尔投票: 摩尔投票是一种用来解决绝对众数问题的算法。 什么是绝对众数呢? 在一个集合中,如果一个元素…

PHP最简单自定义自己的框架model使用(七)

1、实现model使用效果 2、自动加载model,KJ.php //自动加载文件public static function _autoload($className){switch ($className){//自动model类case substr($className,-5)Model:$path MODEL./.$className..php;if(is_file($path)) include $path;break;//自动加载控制器…

机器学习理论笔记(一):初识机器学习

文章目录 1 前言:蓝色是天的机器学习笔记专栏1.1 专栏初衷与定位1.2 本文主要内容 2 机器学习的定义2.1 机器学习的本质2.2 机器学习的分类 3 机器学习的基本术语4 探索"没有免费的午餐"定理(NFL)5 结语 1 前言:蓝色是天…

隧道人员定位方案

针对隧道环境的人员定位方案,UWB定位技术同样可以提供高精度和可靠的定位服务。以下是一个可行的方案: 部署基站网络:在隧道内建立一个基站网络,基站需要均匀分布在各个关键位置,以确保全方位的覆盖。由于隧道的特殊环…

一、Dubbo 简介与架构

一、Dubbo 简介与架构 1.1 应用架构演进过程 单体应用:JEE、MVC分布式应用:SOA、微服务化 1.2 Dubbo 简介一种分布式 RPC 框架,对专业知识(序列化/反序列化、网络、多线程、设计模式、性能优化等)进行了更高层的抽象和…

SpringBoot集成Redis及Redis使用方法

目录 应用背景 Redis简介 更新问题 一:环境配置 1.1: 在pom.xml文件中添加依赖 1.2:配置SpringBoot核心配置文件application.properties 二:在Config文件夹中创建RedisConfig配置文件类 2.1:RedisTemplate中的几个角色&am…

基于安防监控EasyCVR视频汇聚融合技术的运输管理系统的分析

一、项目背景 近年来,随着物流行业迅速发展,物流运输费用高、运输过程不透明、货损货差率高、供应链协同能力差等问题不断涌现,严重影响了物流作业效率,市场对于运输管理数字化需求愈发迫切。当前运输行业存在的难题如下&#xf…

mysql-事务特性以及隔离机制

一.ACID 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。 1.逻辑架构和存储引擎 如上图所示,MySQL服务器逻辑架构从上往下可以分…

【密码学】维京密码

维京密码 瑞典罗特布鲁纳巨石上的图案看起来毫无意义,但是它确实是一种维京密码。如果我们注意到每组图案中长笔画和短笔画的数量,将得到一组数字2、4、2、3、3、5、2、3、3、6、3、5。组合配对得到24、23、35、23、36、35。现在考虑如图1.4所示的内容&a…

六、Linux系统下,文件操作命令都有哪些?

总括: 创建文件/文件夹:touch; 查看:cat/more; 复制:copy; 移动文件/文件夹:mv; 删除:rm; 1、创建文件 (1)语法&#x…

java实现docx,pdf文件动态填充数据

一,引入pom 根据需求引入自己所需pom org.apache.poi poi 4.1.1 org.apache.poi poi-ooxml 4.1.1 org.jxls jxls 2.6.0 ch.qos.logback logback-core org.jxls jxls-poi 1.2.0 fr.opensagres.xdocreport fr.opensagres.xdocreport.core 2.0.2 fr.opensagres.xdocrep…

最小生成树 — Prim算法

同Kruskal算法一样,Prim算法也是最小生成树的算法,但与Kruskal算法有较大的差别。 Prim算法整体是通过“解锁” “选中”的方式,点 -> 边 -> 点 -> 边。 因为是最小生成树,所以针对的也是无向图,所以可以随意…

MySql011——检索数据:过滤数据(使用正则表达式)

前提:使用《MySql006——检索数据:基础select语句》中创建的products表 一、正则表达式介绍 关于正则表达式的介绍大家可以看我的这一篇博客《Java038——正则表达式》,这里就不再累赘。 二、使用MySQL正则表达式 2.1、基本字符匹配 检索…

Java版企业电子招投标采购系统源码之首页设计 tbms

​ 功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查…

照耀国产的星火,再度上新!

国产之光,星火闪耀 ⭐ 新时代的星火⭐ 多模态能力⭐ 图像生成与虚拟人视频生成⭐ 音频生成与OCR笔记收藏⭐ 助手模式更新⭐ 插件能力⭐ 代码能力⭐ 写在最后 ⭐ 新时代的星火 在这个快速变革的时代,人工智能正迅猛地催生着前所未有的革命。从医疗到金融…

CEC2013(MATLAB):遗传算法(Genetic Algorithm,GA)求解CEC2013的28个函数

一、遗传算法GA 遗传算法(Genetic Algorithm,GA)起源于对生物系统所进行的计算机模拟研究,是一种随机全局搜索优化方法,它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象,从任…

easyx图形库基础4:贪吃蛇

贪吃蛇 一实现贪吃蛇:1.绘制网格:1.绘制蛇:3.控制蛇的默认移动向右:4.控制蛇的移动方向:5.生成食物6.判断蛇吃到食物并且长大。7.判断游戏结束:8.重置函数: 二整体代码: 一实现贪吃蛇…

【0基础学爬虫】爬虫基础之网络请求库的使用

大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…

安卓13解决链接问题

作为Android用户,你可能已经注意到了一个问题——Android 13不再支持PPTP协议。但请别担心,作为一家专业的代理供应商,我们将与你分享解决方案,让你轻松解决L2TP问题,享受到高水平的连接体验。本文将为你提供实用的操作…