龙空技术网

慧眼识鱼|揭秘鱼类图像识别技术

南方水产科学 58

前言:

眼前咱们对“图片识别 原理”可能比较注意,咱们都需要知道一些“图片识别 原理”的相关知识。那么小编也在网上搜集了一些关于“图片识别 原理””的相关资讯,希望姐妹们能喜欢,同学们快快来学习一下吧!

大家有无发现,有一种AI技术正在悄然改变我们的生活。

早晨,我们轻触智能手机,面部识别已自动解锁,个性化的界面立即展现眼前。繁忙的街道上,交通摄像头在实时捕捉车流动态,精确识别车牌号码及各类违规行为。在动物园游览或野外探险中,手机拍照上传可以帮助我们快速辨识各种动植物。逛街购物时,通过图片搜索,我们可以轻松找到心仪的商品……

没错,它就是图像识别技术。如今,图像识别技术已渗透到我们生活的方方面面,并发挥着巨大作用。近年来,随着深度学习技术的发展,尤其是卷积神经网络 (CNN) 的出现和崛起,为图像识别领域带来了革命性的进步。

不过,由于场景特殊,鱼类识别难度大。识鱼是如何实现的,怎样进一步提升它的准确率,下面来聊聊这个话题。

1 识鱼之图像与图像特征

无论是“刷脸”还是拍照扫描,都需要有图像输入。为了更好地理解图像识别原理,我们需要了解图像在计算机中的表示。

在计算机中,图像是由像素点组成的,像素点是图像的最小单位,它可以用一个数字或一个向量来表示,这个数字或向量就是像素点的灰度值颜色值

例如,对于灰度图像,每个像素点只有一个灰度值,它表示该像素点的亮度,通常取0~255之间的整数,0表示黑色,255表示白色,中间的数值表示不同的灰度等级;对于彩色图像,每个像素点有3个颜色值,它们分别表示该像素点的红、绿、蓝三原色的比例,数值也取0~255之间的整数,0表示没有该原色,255表示完全有该原色,中间的数值表示不同的颜色混合程度。

这样,一幅图像可以看作是一个矩阵或一个张量,它的行数和列数分别表示图像的高度和宽度,它的元素就是图像的像素点,它的维度就是图像的通道数(灰度图像为1,彩色图像为3)。

▲ 像素点组成的蝴蝶图像(图片来自网络)

图像特征是指可以从图像中提取的、用于描述和表征图像内容的属性或信息,是由图像的像素点的分布和变化所决定的。它分为颜色、形状、纹理等低级特征和对象类别、场景分类、对象之间的关系等高级特征

2 图像识别与卷积神经网络

计算机为什么可以识别图像?先来看看人是如何识别图像的。

人类视觉系统识别图像

人类视觉系统由眼睛、视神经和大脑视觉皮层组成。

首先人的眼睛从外界接收光线信号,然后视网膜将光线转换为电信号,通过视神经传送到大脑。

大脑尝试找出图像中的线条、颜色和形状(也就是提取出图像的特征和信息),从这些信息来判断图中有什么物体,最后将这些物体组合起来,实现对图像的识别和理解;并且在学习过程中,大脑会通过不断地反馈、调整,来提高对图像的识别和理解的能力。

计算机视频系统识别图像

计算机视觉系统进行图像识别的过程与人脑有些相似,但它是通过算法和数学模型对输入的图像进行分析,从而识别出图像中的物体、场景或行为。这一过程通常包括图像预处理、特征提取和分类识别三个步骤。

敲黑板!下面来解释一个名词——特征提取器

特征提取,顾名思义,是指提取出有用信息的过程。而特征提取器,是一种可以从图像像素点的分布和变化中提取出有用信息的方法。在图像处理中,特征提取器专门用于从图像中提取特征,这些特征是简化的表示,能够反映出图像的重要属性和结构信息。

传统的图像识别方法主要依赖于手工设计的特征提取器;而深度学习技术它通过不断学习,可以从原始图像中直接提取有效、关键特征,大大提高了识别准确率。

卷积神经网络

说到深度学习,就不得不提它——卷积神经网络(英文全称是Convolutional Neural Networks, CNN),一种专门为处理图像数据而设计的深度学习模型。可别小看这个模型,它的出现与发展,为图像识别带来了革命性的进步。

卷积神经网络模仿了人类的视觉系统,由多个层组成,每一层都包含一些可以处理信息的单元,称为神经元。每一层的神经元都与上一层和下一层的神经元相连,形成一个复杂的网络。

▲ 卷积神经网络示意图

卷积神经网络的每一层都可以看作是一个特征提取器,它可以从上一层的输出中学习到更高级的特征。例如,第一层可能会提取出图像的边缘、角点、颜色等低级特征;而后面的层则会根据前面层的输出,提取出更高级的特征,如形状、纹理、部件等;最后一层的特征则会包含图像的整体信息,如类别、风格、场景等。

下面来看看卷积神经网络对一张鲤鱼图片的多层提取结果:

▲ 不同层次提取到的鱼的特征

由上图可以看出,浅层可以提取到点、线条等特征,接下来可以提取到线段、边缘等特征,再接下来提取到鱼眼、鱼须、腹鳍、尾鳍、背鳍等体征。层次越深,图像分辨率越低,提取到的特征就越抽象。

可以说,提取特征的过程,也就是“学习”的过程。通过多层提取,就可以得到多个不同的特征图,每个特征图都反映了图像的某种特征。这些特征图可以作为下一层的输入,继续提取出更高层次的特征。如此,深度学习技术就可以从简单到复杂,从局部到全局,逐步构建出对图像的理解。

不过要注意的是,对图像特征的提取并不是一次性的,为了保证学习到的特征准确,研究人员设计了一种叫反向传播的算法。它是一种根据预测结果和真实结果之间的差异,来调整网络中每个神经元的权重和偏置的方法。通过多次的反向传播,网络就可以逐渐减少误差,提高准确率。

3 鱼类图像识别过程

那么,卷积神经网络是如何区分不同类别的鱼呢?

它是通过学习各个种属鱼类的不同特征,来判断图片属于哪个类别。

比如,鲢和鲤的共同特征有很多,都有鱼头、鱼身、鱼鳍和鱼尾,身上都有鳞片,这些特征是共有的。也就是说,只有这些还不能很好地区分两者的类别。

但是,鲤和鲢也有很多不同的特征:从颜色上看,鲤体侧金黄色,尾鳍下叶橙红色,而鲢的背部青灰色,两侧及腹部均为白色;鲢没有胡须,而鲤有两根胡须;鲢鱼鳞细小密集,鲤鱼鳞宽大;鲢的眼睛较低,而鲤的眼睛较高等等。这些特征比较明显,卷积神经网络经过学习后,就能很好地区分鲢和鲤的类别。

▲ 鲤和鲢 (图片来自网络)

在实际的训练过程中,卷积神经网络的第一层可能会提取出鱼的边缘、颜色等低级特征,后面的层则会根据前面层的输出,提取出如鱼的形状、纹理等特征;最后一层的特征则会包含图像的整体信息,如胡须、眼睛、尾巴等。最终通过一个全连接层,将前面提取的特征整合起来,输出每个类别的概率。

如果一个图像中,鲢的特征比鲤的特征更多,那么卷积神经网络输出鲢的概率比鲤的概率更高,反之亦然。

4 识鱼的难点及其探索

了解了鱼类图像识别的方法,是不是觉得不难?其实它并不简单。

鱼类由于种类多,体型大小不一,姿态多样,不同品种鱼类的外形、色彩、纹理及尺寸等相似,且数据采集中存在姿态、视角、光照、遮挡、背景干扰等因素,导致出现同种鱼类样本间差异大、不同种类之间相似性高等问题,识别难度大。收集的鱼类图片数据集往往有以下特点:

(1) 鱼目标与背景相似:复杂多变的开放环境使得部分鱼类拥有环境保护色;此外,部分鱼类存在纹理与背景高度重叠及严重遮挡等情况。

(2) 光线变化大:因水下环境光照条件差、亮度分布不均及光散射等原因,导致鱼类图片的颜色和纹理等存在失真情况。

(3) 姿态各异:因拍摄角度不同,获取的鱼类图像有多种不同的视角,导致同一类别鱼类存在较大的表观差异。

(4) 图像存在多目标:鱼类群体活动导致采集的鱼类数据存在多个目标。这些数据特性会降低识别精度,给鱼类自动识别带来极大挑战。

此外,不同种类的鱼在形状、纹理、颜色等外观存在较高的相似性 (见下图),进一步增加了识别难度。

▲ 类间相似和类内差异

而且在数据集中,鱼类物种遵循长尾分布,即少部分鱼类占大数据样本,而多数鱼类却仅有少量样本,导致收集的数据集中类别分布不均衡。由于头部类别的样本量远大于尾部,易导致模型在头部类别 (多样本类别) 过拟合、尾部类别 (少样本类别)欠拟合,进而影响总体的识别性能。

不少研究方法多是通过牺牲头部识别性能以换取尾部识别性能的提升,总体性能虽得以提升,但由于缺少与重要特征结合进行识别,尾部类别识别的过拟合问题仍有待解决。

针对上述问题,本研究提出了一种基于多阶段特征提取的深度网络 (Multi-stage Feature Extraction Network, MF-Net) 模型进行鱼类识别,该模型首先使用预处理模块对图片进行预处理,然后构建多阶段特征提取模块,以学习识别目标中具有判别性的局部特征和全局特征。在此基础上,采用标签平滑损失函数以降低数据类别分布不均衡带来的影响,从而增强模型的识别性能。

▲ MF-Net模型结构

实验结果表明,该模型在本研究提出的鱼类数据集和公开的蝴蝶数据集上均获得了较好的识别效果

5 未来展望

未来研究将增加鱼类类别,构建新的主干网络结构,探索细粒度特征学习、损失函数设计与类别分布不均衡之间的关联,进一步提升鱼类的识别精度。

相信随着深度学习技术的进步,鱼类图像识别技术将向着更高精度、更快速、更适应复杂场景的方向发展,并在生态保护、渔业管理等领域产生深远的影响。

吕俊霖, 陈作志, 李碧龙, 蔡润基, 高月芳. 基于多阶段特征提取的鱼类识别研究[J]. 南方水产科学, 2024, 20(1):99-109.(点击论文题目可了解详情)

撰文|吕俊霖

编辑|艾 红

标签: #图片识别 原理 #图片识别 原理和方法