首页/文章/ 详情

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

1天前浏览23

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

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

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

  1. 研究背景及意义

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

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

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

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

  1. 研究方法

  1. 数据库构建:研究

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

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

  • 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. 结果分析

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

  2. 准确性测试

  • 在处理诱饵远程摄像机镜头和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 基于深度学习的鲨鱼识别分类系统演示界面


来源:320科技工作室
通用电子python海洋
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-02
最近编辑:1天前
320科技工作室
硕士 | 结构工程师 lammps/ms/vasp/
获赞 224粉丝 380文章 338课程 0
点赞
收藏
作者推荐

基于MATLAB红外弱小目标检测MPCM算法复现

摘要:本文详细介绍了一种基于人类视觉系统特性的红外弱小目标检测算法——Multiscale patch-based contrast measure (MPCM)。该算法通过增强目标与背景的对比度,有效检测红外图像中的弱小目标,并在MATLAB环境中进行了复现与实验验证。关键词:红外检测、弱小目标、图像处理、模式识别、自适应检测参考文献:Y. Wei, X. You, and H. Li, “Multiscale patch-based contrast measure for small infrared target detection,” Pattern Recognit., vol. 58, pp. 216–226, 2016. 本文是对上述文献中的Multiscale patch-based contrast method, MPCM算法的详细解析与MATLAB复现,并给出实验结果。一、引言传统的红外目标检测算法存在一些局限性,如不能有效抑制背景、只能检测亮目标、平滑目标或耗时等问题。针对这些缺陷,本文提出了MPCM算法,旨在提高检测率和实时性,同时降低虚警率。二、MPCM算法的创新点1、提出了一种新的衡量目标局部对比度的方法,能够同时增强亮目标和暗目标,并抑制背景。2、算法设计易于并行化,具有较好的实时性,适用于高检测率和低虚警率的应用场景。三、相关工作3.1 Local Contrast Method (LCM)LCM是最经典的基于人类视觉对比度机制的算法,通过计算目标区域与局部背景区域的对比度,增强目标并抑制背景。然而,LCM存在易受高亮点噪声干扰和算法实时性差的问题。3.2 算法原理LCM使用滑动窗口和子窗口结构来计算局部对比度,假设目标的灰度比邻域高,以此来增强目标区域的像素值。四、MPCM算法详解这是一个Multiscale Patch-Based Contrast Measure (MPCM)算法的原理框图。图中包括以下组件:输入红外图像、多尺度补丁提取、对比度计算、目标增强和输出检测目标。箭头指示了这些组件之间的流程。背景简单干净,以突出过程。4.1 算法构成MPCM算法主要包括两部分:目标增强和阈值分割。4.2 目标增强滑动窗口:使用滑动窗口将图像分为目标区域和背景区域。滑动窗口逐像素遍历图像,确定每个位置上的局部区域。均值滤波:对滑动窗口内的目标区域和背景区域分别进行均值滤波,计算目标区域的均值和背景区域的均值。显著性对比度图构造:利用均值滤波结果和特定滤波器构造显著性对比度图。显著性对比度图突出目标区域的像素值,使其在背景中更为显著。4.3 阈值分割显著性对比度图:利用MPCM算法得到的显著性对比度图,目标区域在对比度图中具有更高的对比度值。经验阈值:结合经验阈值对显著性对比度图进行分割。阈值分割用于将显著性对比度图中的目标区域与背景区域分离出来,实现目标检测。4.4 算法步骤 计算目标区域的均值:使用滑动窗口将图像分割为多个局部区域。对每个滑动窗口内的目标区域和背景区域分别计算其灰度均值。 构造特定滤波器并进行滤波处理:设计特定的滤波器,用于增强目标区域的显著性。对滑动窗口内的目标区域应用特定滤波器,得到滤波后的目标区域图像。 计算局部对比度:计算目标区域和背景区域的灰度差异,得到局部对比度值。局部对比度值反映了目标区域在背景中的显著性。 遍历图像,输出显著性对比度图:将滑动窗口移动到图像的每个位置,计算局部对比度值。将所有局部对比度值组合起来,形成最终的显著性对比度图。通过上述步骤,MPCM算法能够在红外图像中有效地检测出目标区域。该算法结合多尺度补丁提取和显著性对比度计算,提高了目标检测的准确性和鲁棒性。显著性对比度图使得目标区域在复杂背景中更加突出,便于后续的阈值分割和目标检测。五、MATLAB复现为了在MATLAB中实现Multiscale Patch-Based Contrast Measure (MPCM) 算法,我们将按照算法的步骤进行复现,包括图像的预处理、多尺度补丁提取、对比度计算、目标增强和阈值分割。以下是详细的步骤和代码示例。读取和预处理图像多尺度补丁提取计算局部对比度目标增强阈值分割六、算法测试及实验结果参考文献:Y. Wei, X. You, and H. Li, “Multiscale patch-based contrast measure for small infrared target detection,” Pattern Recognit., vol. 58, pp. 216–226, 2016.C. L. P. Chen, et al., “A local contrast method for small infrared target detection,” IEEE Trans. Geosci. Remote Sens., vol. 52, no. 1, pp. 574–581, 2014.K. Zhang, et al., “A Difference-Based Local Contrast Method for Infrared Small Target Detection under Complex Background,” IEEE Access, vol. 7, pp. 105503–105513, 2019.J. Han, et al., “A robust infrared small target detection algorithm based on human visual system,” IEEE Geosci. Remote Sens. Lett., vol. 11, no. 12, pp. 2168–2172, 2014.来源:320科技工作室

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈