基于Python深度学习的鲨鱼识别分类系统

摘要:鲨鱼是海洋环境健康的指标,但受到过度捕捞和数据缺乏的挑战。传统的观察方法成本高昂且难以收集数据,特别是对于具有较大活动范围的物种。论文讨论了如何利用基于媒体的远程监测方法,结合机器学习和自动化技术,来填补鲨鱼种群评估中的信息空白。提出了一个包含53,345张鲨鱼图片的数据库,覆盖了219种鲨鱼,并开发了一个名为"Shark Detector"的软件包,利用PyQt5设计了简约的系统UI界面,使用迁移学习和卷积神经网络(CNN)来自动识别和快速分类鲨鱼种类。

关键词:数据挖掘、图像分类、机器学习、远程监测、鲨鱼识别

参考文献:Shark detection and classification with machine learning, Jenrette et al., 2022.

  1. 研究背景及意义

鲨鱼作为海洋生态系统的关键指示物种,其种群的健康状况直接反映了海洋环境的生态平衡。然而,由于鲨鱼的广泛分布和大范围的活动习性,传统的科学调查和渔业监测方法在收集鲨鱼种群数据时面临巨大挑战。这些方法不仅成本高昂,而且难以捕捉到足够的信息,特别是对于个体数量和分布情况的精确评估。

缺乏详尽的数据支持,科学家和保护工作者难以对鲨鱼种群进行有效的状态评估和趋势预测。这种情况限制了保护措施的制定和执行,导致许多鲨鱼物种的保护状况不容乐观。随着IUCN受威胁物种数量的增加,迫切需要新的监测手段来填补数据空白,提高对鲨鱼种群动态的了解。

随着计算机视觉和机器学习技术的发展,特别是卷积神经网络(CNN)在图像识别领域的突破,为鲨鱼等海洋生物的自动检测和分类提供了新的技术手段。通过训练算法识别鲨鱼的特征,可以自动化地从大量图像和视频中提取有用信息,这不仅提高了数据处理的效率,也为海洋生物多样性监测提供了新的解决方案。

社交媒体和公共科学项目的兴起为生物多样性监测提供了新的数据来源。公众拍摄的鲨鱼照片和视频,尤其是通过Instagram等平台分享的内容,构成了一个庞大的图像库。利用机器学习算法对这些数据进行挖掘和分析,可以为鲨鱼研究提供宝贵的补充信息,同时也促进了科学研究与公众参与的结合。

  1. 研究方法

  2. 数据库构建:研究团队创建了一个包含53,345张鲨鱼图片的数据库,涵盖了219种鲨鱼。这些图片主要来源于社交媒体、公民科学项目、用户提交和其他电子档案。

  3. Shark Detector开发:开发了一个名为"Shark Detector"的软件包,它集成了对象检测和图像分类模型。该软件包使用迁移学习和卷积神经网络(CNN)技术来自动识别和分类视频中和图像中的鲨鱼。

  4. 模型组成:

  • Shark Locator (SL):对象检测模型,用于在图像和视频中定位鲨鱼并绘制边界框。

  • Shark Identifier (SI):二元排序模型,用于从混合图像集中筛选出鲨鱼图像。

  • Shark Classifiers (SCs):多类模型,用于将鲨鱼图像分类到属和物种级别。

  1. 训练与验证:使用来自sharkPulse的数据和其他来源的图像训练模型。通过迁移学习,利用预训练的网络(如VGG16和DenseNet201)来提高训练效率和准确性。

  2. 数据增强:采用图像增强技术,如平移、剪切、缩放和旋转,提高模型的泛化能力。

图1 鲨鱼探测器系统由对象检测和分类软件包组成,以循序渐进的方式达到最佳效果。此外,通过检测鲨鱼主体,鲨鱼定位器可以合成鲨鱼识别器和鲨鱼分类器模型所需的剪切鲨鱼图像,作为新的训练数据补充到sharkPulse档案中。视频按照定位、识别和分类的顺序进行处理。异构数据挖掘数据集按照先识别后分类的顺序进行处理。

图2 SL物体探测模型根据鲨鱼出现的置信度绘制方框。(a) 检测到一条短鳍鲭鲨幼鱼,并对单张自动裁剪图像进行处理,去除饵罐和蓝鳍金枪鱼等无关物体。(b) 检测到多个胭脂鱼物种,并从单张图像中裁剪出两张图像。

图3 由SI识别的图像以及随后由SC进行的分类。(a) 通过对水下照片、有前景和背景噪声的图像、难以辨认鲨鱼特征的图像以及8个不同物种进行分类,SI和SC正确识别了各种鲨鱼图像。(b) SI错误分类的常见对象,如鲸目动物(以及其他海洋和陆地动物)、空旷的前景、难以辨认的物体和假鲨鱼。(c) 由于部分特征被掩盖,SI会错过鲨鱼的出现。

  1. 结果分析

  2. 分类能力:Shark Detector能够对47种鲨鱼进行分类。

  3. 准确性测试:

  • 在处理诱饵远程摄像机镜头和YouTube视频时,Shark Detector在定位鲨鱼方面的准确率达到了89%。

  • 在将定位到的鲨鱼分类到物种层面时,准确率为69%。

  1. Instagram数据集:在Instagram上收集的异构数据集中,Shark Identifier以91%的准确率筛选出鲨鱼图像,并将这些图像分类到物种层面的准确率达到了70%。

  2. 性能评估:研究评估了Shark Detector在不同数据生成方法中的性能,包括在sharkPulse数据集中的定位、在线视频的处理,以及Instagram数据的挖掘。

  3. 软件性能:Shark Detector在没有人工交互的情况下处理了所有数据生成方法,展示了其自动化处理的能力。

  4. 模型改进:研究指出,随着向训练数据集添加更多图像,软件流水线的预测准确性会提高,这表明模型性能有进一步优化的空间。

通过这些方法和结果,本研究展示了Shark Detector作为一个强大的工具,能够自动化地从各种媒体来源中识别和分类鲨鱼,为鲨鱼保护和生态研究提供了新的技术支持。简而言之,图4概述了通过不同模型和参数测量的SD系统在鲨鱼图像分类方面的性能,包括不同类别的准确性、训练数据集大小的影响以及模型的可靠性。

图4 Shark Detector(SD)系统组件的性能测量结果。(a) 对13个鲨鱼属类的分类准确性(GSC)进行了测量,发现随着训练数据集大小的增加,其准确性可以用一个双参数渐近模型来拟合,渐近曲线表示每个类别在模型中可能达到的最大召回率。(b) 测量了7个物种类别和两个包含数据较少的Carcharhinus sp.和Sphyrna sp.的类别(SSCg)的分类准确性。(c) 展示了12个GSC类别的训练数据集大小阈值分布,排除了Prionace属,因为它的召回率从未达到50%,曲线表示正态分布的密度。(d) 展示了9个SSCg类别的训练数据集大小阈值分布,这些类别的属包含超过两个物种。(e) 展示了所有SD组件的性能,包括SSCg模型的标准误差区间。(f) 展示了所有18个SSCg模型的准确性分布。

  1. PyQt5可视化软件

本节详细介绍如何以上述CNN网络为主干,实现对鲨鱼种类的检测识别,且利用PyQt5设计了简约的系统UI界面。在界面中,您可以选择自己的视频文件、图片文件进行检测。此外,您还可以更换自己训练的主干模型,进行自己数据的检测。该系统界面优美,检测精度高,功能强大。它具备多目标实时检测,同时可以自由选择感兴趣的检测目标。本文提供了完整的Python程序代码和使用教程,适合新入门的朋友参考,包括用户登录界面(注册登录和修改密码),管理员主界面(用户账户信息、查看历史资源和鲨鱼种类百科),普通用户界面(上传历史记录、鲨鱼图像识别和鲨鱼种类百科),以及鲨鱼识别界面(图片和视频)。

图5 基于深度学习的鲨鱼识别分类系统演示界面

相关推荐
Dontla22 分钟前
Python Flask并发demo(http并发与锁)独占接口、monkey功能还不太确定
python·http·flask
海天一色y35 分钟前
Pycharm(十一):字符串练习题
ide·python·pycharm
小白的高手之路42 分钟前
常用的卷积神经网络及Pytorch示例实现
人工智能·pytorch·python·深度学习·神经网络·cnn
滴答滴答嗒嗒滴1 小时前
用 Python 实现机器学习小项目:从入门到实战
开发语言·python·机器学习
IT古董1 小时前
【漫话机器学习系列】173.模型可识别度(Model Identifiability)
人工智能·机器学习
神经星星1 小时前
在线教程丨YOLO系列重要创新!清华团队发布YOLOE,直击开放场景物体实时检测与分割
人工智能·深度学习·机器学习
规划GIS会1 小时前
ima知识库第二弹,Python for ArcGIS Pro | 简简单单写个脚本工具
开发语言·python·arcgis
卑微小文1 小时前
惊!代理 IP 助力股海菜鸟变身赛场冠军!
爬虫·深度学习·数据分析
fengchengwu20121 小时前
python下载m3u8格式视频
开发语言·python·m3u8
暴力袋鼠哥1 小时前
基于Flask的跨境电商头程预警分析系统
后端·python·flask