冀 中,赵可心,张锁平,李明兵
基于空间变换双线性网络的细粒度鱼类图像分类
冀 中1,赵可心1,张锁平2,李明兵2
(1. 天津大学电气自动化与信息工程学院,天津 300072;2. 国家海洋技术中心,天津 300072)
有效地识别水下各种鱼类目标具有重要的实际意义和理论价值.鱼类生存环境复杂,由于海洋的极端条件,水下鱼类图像的分辨率低,且图像类间相似度高、类内差异性大,并受光照、角度、姿态等的影响较大,这些因素使得鱼类识别成为一项具有挑战的任务.针对这些难点,提出了一个能够有效进行细粒度鱼类图像分类的深度学习模型.该模型包含空间变换网络和双线性网络两部分,首先利用空间变换网络作为注意力机制,去除图像背景中复杂的干扰信息,选择图像中感兴趣的目标区域,简化后续分类;双线性网络通过融合两个深度网络的特征图提取图像的双线性特征,使得对目标中具有判别性的特定位置有较强的响应,从而识别种类,该模型可以进行端到端的训练.在公开的F4K数据集上,该模型取得了最好的性能,识别正确率为99.36%,较现有最好算法DeepFish提高0.56%,此外,发布了一个包含100类共6358张图片的新的鱼类图像数据集Fish100,该模型在Fish100数据集上的识别正确率高出BCNN算法0.98%.多个数据集上的实验验证了模型的有效性与先进性.
鱼类分类;细粒度分类;空间变换;双线性网络
近年来,随着水下观测事业的迅速发展,水下图像视频激增,水下目标识别的需求也日益剧增.鱼类识别是其中的重要任务之一,它可帮助海洋科学家和生物学家等研究人员进行相关研究,科学家通过鱼类自动识别可获得某些特定鱼类的分布,统计鱼群数量,进而可以监测评估鱼类种群以及生态系统,分析海洋环境的变化以及用于辅助鱼类养殖等[1-4].然而目前识别算法主要针对陆上的物体,对水下识别研究还较少.海洋环境复杂恶劣,图像分辨率低,鱼类图像的类间相似度高、类内差异性大,并受光照、角度、姿态等的影响,这些因素使得鱼类识别极具挑战性.
传统方法首先提取图像特征,然后将特征向量输入到分类器中进行鱼类图像分类.但是,这些传统方法的分类精度较低,泛化能力也较弱.卷积神经网络(convolutional neural network,CNN)的提出推动了计算机视觉领域的发展,一些相关工作也开始利用CNN进行鱼类图像识别.例如,Ding等[5]设计了3种简单的不同深度的卷积神经网络结构用于鱼类识别,Qin等[6]提出了一个包含卷积层、非线性层、特征池化层、空间金字塔池化层和分类器的深度网络.然而,这些方法只是应用了基本的深度学习结构,并没有针对细粒度图像识别的难点来解决问题,例如对局部细节特征的学习,因此有效性仍有待提升.
为此,本文提出了一个适用于水下环境的鱼类图像分类的深度学习模型,称为空间变换双线性鱼类图像网络(spatial transformation bilinear fish net,STB fish-net).该框架包含空间变换网络和双线性网络两部分.空间变换网络作为一种注意力机制,可以选择图像中有判别性的区域,去除一部分复杂的背景,以简化后续的分类任务.而双线性网络采用了基于VGG-16[7]的双线性模型,通过融合两个CNN网络的特征图,使得CNN滤波器对目标的某个具有判别性的特定位置(如鱼身或鱼尾)有较强的响应,从而有效识别种类.
本节将从图像分类、细粒度图像分类和鱼类图像分类3个方面由粗到细介绍各种图像分类方法.
图像分类是计算机视觉研究中的基本问题,也是图像检索、图像分割、行为分析等其他高层视觉任务的基础.Wang等[8]提出了一种新的纹理描述符——结构元素描述符(SED),SED可以有效地描述图像并表示图像局部特征.此外,SED可以提取和描述颜色和纹理特征.随后,文献[9]进一步提出了一种基于纹理的有效彩色图像检索方法,该方法利用颜色共生矩阵提取纹理特征,还考虑了诸如分量和分布的颜色信息,所获得的特征不仅反映纹理相关性而且还表示颜色信息.近年来,Wang等[10]又提出了多因素关联(MFC)来描述图像,结构元素相关性(SEC)、梯度值相关性(GVC)和梯度方向相关性(GDC)3种相关性用于提取图像特征.为了降低传统径向谐波傅里叶矩(RHFM)方法的时间复杂度,文献[11]引入了一种快速精确的FFT算法,该算法可以有效抵抗常见的图像处理攻击.Wang等[12]提出了四元极化谐波傅里叶矩(QPHFM)用于彩色图像处理,文中实验结果表明,QPHFM在无噪声和嘈杂条件下可以实现图像重建和不变物体识别.传统方法更侧重于提取图像的某一种或某几种特征,例如纹理特征或颜色特征,这适用于图像检索领域中图像相似度的计算,然而不适用于细粒度鱼类图像分类中姿态多变、类间相似度高的特点.
细粒度图像识别旨在区分同一类别下的不同子类,如识别各种鸟类、狗类等,与普通的目标识别相比,细粒度图像识别更有难度[13-16].早期的方法首先检测目标和具有判别性的局部,然后再提取特征用于分类.Zhang等[13]使用RCNN加上几何先验知识进行局部区域定位,然后利用姿态归一化表示来训练分类器.随后,Zhang等[16]又提出一个端到端可训练的利用全卷积定位局部的模型.该模型包含两个子网络,定位网络用于学习找到图像中的判别性局部,包含语义池化的分类网络用于学习细粒度分类器.
因为细粒度图像局部的标注通常需要相应领域的专家才能完成,所以其标注代价较高.目前大多研究集中于弱监督方式,即只需要图像的类别标签.例如,Zhang等[17]提出了一个基于两步来挑选深度过滤器响应的结构.第1步找到显著且一致地响应特定模式的独特滤波器,并学习一组局部检测器.第2步通过费舍尔矢量的空间加权组合来汇集深度滤波器响应,然后将其编码为最终的特征表示.Lin等[18]提出了一种双线性网络(bilinear convolutional neural network,BCNN),其包含两个独立的卷积神经网络,通过融合来自两个深度网络的特征图,得到最终的双线性特征.BCNN使用双线性模型模拟图像的位置和外观两个变量,该文献中的可视化实验证明BCNN对高度定位的局部特征具有强大的激活功能.
传统的鱼类识别研究依赖于手工提取的特征,这些方法是任务驱动的,泛化能力弱.例如,Strachan等[19]比较了依据不变矩、不匹配的优化和形状描述符3种不同的识别方法,在一个鱼的小型数据集上的分类准确率分别为73%、63%和90%.Larsen等[20]基于形状和纹理对3种鱼类进行分类并达到76%的识别率.Huang等[21]提出了一种平衡保证优化树(BGOT)算法来控制层次分类中的误差累积.他们对包含从水下录像中收集的10种物种的3179条鱼类图像的数据集进行了实验,得到了95%的准确度.随后,Huang等[22]进一步使用高斯混合模型(GMM)结合BGOT来改进层次分类中的性能.White等[23]开发了一款应用用于自动识别鱼类并测量鱼的长度,通过矩不变方法确定鱼的方向.
近几年,深度学习逐渐应用到鱼类图像识别.例如,Ding等[5]设计了3种不同深度的卷积神经网络用于鱼类识别.Qin等[6]提出了一个用于鱼类分类的5层深度网络.然而这些方法很少针对鱼类细节特征进行识别,仍不够完善.
单一的图像纹理或颜色特征不能满足图像细粒度分类的要求,深度特征更具鲁棒性和有效性.本文所提方法加入了可以作为注意力机制的空间变换网络来选择感兴趣的目标区域,并对目标进行放大,再运用双线性网络进一步定位学习局部具有判别性细节特征,因此可以适应鱼类图像的角度多样、姿态复杂的特点,具有更好的性能.
本节介绍所提STB fish-net的网络模型.如图1所示,STB fish-net由空间变换网络和双线性网络两部分组成.其中,空间变换网络[24]作为一种注意力机制用于选择感兴趣的图像区域.双线性网络提取图像的基于VGG-16的双线性特征,融合后的特征对图像某个具有判别性的局部区域有高度响应,从而识别该鱼类物种.
图1 所提STB fish-net模型结构示意
空间变换网络是一种动态机制,可以通过为每个输入样本生成适当的变换,主动对图像进行包括缩放、裁剪、旋转以及非刚性变形的空间变换.这允许空间变换网络选择最感兴趣的图像区域,去除一部分复杂的背景,以简化后续的分类任务,提高分类性能.空间变换网络可以通过标准的反向传播进行训练,可进行端到端的训练.本文将空间变换网络视为一种注意力机制来捕获目标区域.
空间变换网络结构如图1左侧虚线框内所示,由定位网络、网格生成器和采样器3部分组成.
2.1.1 定位网络
2.1.2 网格生成器
(1)
本文的目的是找到输入图像中感兴趣的区域,故而使用变换
(2)
2.1.3 采样器
(3)
双线性网络用于提取经过空间变换网络后的图像的双线性特征,结构如图1右侧虚线框内所示.双线性网络即融合图像两种深度特征的网络结构.所提方法提取图像基于VGG-16的双线性特征,首先应用两个VGG-16网络提取图像特征,然后将特征图进行转置操作与原特征图做外积得到双线性特征.
(4)
将图像上所有位置的特征求和得到整个图像的特征表示为
(5)
VGG-16是一个经典的深度学习网络,它采用了3×3的卷积核,前面是5段卷积层和池化层的堆叠,后面几层是全连接层,最后是Softmax分类器.在所提方法中,提取了第5段卷积层之后输出的特征图.
双线性特征允许两个特征流的输出通过所有成对的相互作用而相互调节,其目的是融合两个网络,使得在相同位置的通道响应相对应.经过空间变换网络后的图像只包含目标区域,如果卷积网络中的滤波器对某些空间位置(鱼身或鱼尾)的纹理有响应,并且另一个网络可以识别该位置,那么它们的组合识别该鱼类物种.
(6)
1) F4K(FishForKnowledge)
F4K数据集[25]是由F4K项目制作的一个公开数据集,该数据集是从开放海域捕获的实况视频中截取的鱼类画面,包含23种鱼类,共27370张图像.不同种类的图像数量差异巨大,数量最多的一类包含12112张图像,数量最少的一类只有16张图像.图2是其中6个种类的示例,每一类图像不仅在姿态、大小方位上不同,颜色、纹理也有差异.按照文献[6]中的设置,将该数据集5/7设为训练集,1/7设为验证集,1/7设为测试集,训练集中数量小于300的种类,随机旋转负-10°~10°之间的度数,重复5次,得到扩充的数据集.
文献[26]只选取了F4K数据集中的15类进行实验,并将3/5设为训练集,1/5设为验证集,1/5设为测试集.为了比较,本文按照文献[26]中的实验进行设置.
图2 F4K数据集示例
2) Fish100
Fish100数据集是由笔者在一个公开数据上整理得到,并公开发布.Image CLEF提供的marine animal species数据集中包含了各种海洋生物,因为是从网络下载的缘故,其中一些图片分类错误,笔者参考专业书籍,并加入了一些新的类别,重新整理了100类鱼类图像,共6358张,如图3所示.此数据集不同鱼类相似度很高,而同一种鱼类由于环境影响或变态发育等导致差异很大.由于图像数量较少,实验中只设置了训练集和测试集,其中将数据集的4/5作为训练集,1/5作为测试集,实验结果采用5折交叉验证方式.表1所示为本文实验用到的3个数据集中训练集、验证集、测试集的设置.
图3 Fish100 数据集示例
表1 训练集、验证集和测试集的设置
Tab.1 Training,validation and test sets
注:F4K(23)表示包含23种鱼类的F4K数据集;F4K(15)表示包含15种鱼类的F4K数据集.
图4 空间变换网络在F4K数据集上的输入输出图像示例
图5 空间变换网络在Fish100数据集上的输入输出图像示例
实验中batch size设为16.训练时,首先用在ImageNet数据集上训练好的参数初始化VGG-16网络,学习速率为0.9,动量0.9,用训练集仅训练最后一层,迭代1000次,损失收敛后,保存参数,再用训练集以0.001的学习速率微调整个网络,迭代1000次,损失收敛后,在测试集得到最终的性能.实验结果如表2所示.
表2 实验结果对比
Tab.2 Comparison of experimental results
选取的对比算法分别是:基于分类回归树的方法(CART)[27],基于使用拒绝选项的强制平衡优化树的方法(BEDTR)[26],VGG-16[7],双线性卷积神经网络(BCNN)[18],以及Qin等[6]提出的包含空间金字塔池化层等的5层深度网络.其中前2个是传统方法,后3个是基于深度学习的方法.另外,CART[27]和BEDTR[26]算法只在F4K(15)数据集上进行了实验,DeepFish[6]算法只在F4K(23)上进行了实验,由于笔者没有公布代码,为此本文只将这些对比算法在相应数据集上进行了对比.而BCNN[18]和VGG-16[7]在3个数据集上均进行了实验.
从表2可以看出,在3个数据集上,所提STB fish-net方法均取得了最好的性能,分别高于性能第2高的算法0.56%、0.12%和0.98%.DeepFish[6]方法是一个包含卷积层、非线性层、特征池化层,空间金字塔池化层和分类器的深度网络,其没有针对细粒度图像识别难点的结构,而所提STB fish-net方法中的空间变换和双线性特征使得网络更能够关注到对分类有重要意义的局部区域.从表2中还可以看出,BCNN[18]方法优于VGG-16[7]方法,准确率在3个数据集上分别提高了5%、6%和10%,并且能媲美甚至好于现有的鱼类识别算法,说明相比于传统的深度学习网络,BCNN更适应于细粒度图像识别,图像的双线性特征对图像中具有判别性的区域有较强响应[18].所提STB fish-net方法要优于VGG-16[7]和BCNN[18]方法,使得实验结果进一步提升,说明利用空间变换网络去除复杂背景有助于提升分类性能.
此外,将不同数据集上的实验结果进行对比发现,在数据集F4K(23)和F4K(15)上的结果要明显好于数据集Fish100,原因主要有如下两点:①图像类别和数量存在差异,F4K(23)和F4K(15)分别包含23种和15种鱼类,远少于Fish100的100类;而图像总数是27370和24150,要明显多于Fish100的6358.②相比于另外两个数据集,Fish100类间相似度更高,类内差异性更大.因此,Fish00数据集的挑战性要更大.
图6是在F4K(15)数据集上得到的混淆矩阵,水平方向是预测类别,垂直方向是真实类别,各方块内的数字代表测试集中各种预测结果的数量,对角线内为预测正确的数量.从图4中可以看出,许多图像都被错误地分类为Dascyllus,在训练集中Dascyllus的数量为12174,远远多于其他类别.由此可得,影响实验结果的主要原因是不同类别之间的数量不均衡,不同类别之间最大的数量差距在500倍左右,样本不均衡使得算法更倾向于把数据少的类分到数据多的类里,因此,很多种类都被误判为数量最多的Dascyllus.在F4K(23)数据集上进行的实验,依照文献[6]中的设置对数量少的类别进行数据增强,改善样本不均衡问题.
图6 在F4K(15)数据集上得到的混淆矩阵
本文提出了一个基于空间变换和双线性卷积神经网络的鱼类细粒度识别算法.该方法利用空间变换网络作为注意力机制,去除图像背景中复杂的干扰信息,获取图像中目标区域,然后提取目标区域的双线性特征用于分类,在不同的鱼类数据集上验证了其有效性.此外,所提算法能够提取细粒度图像的判别性特征,可应用于图像检索、信息融合[28]和显著性检测相关领域.
考虑到将水下图像分辨率低的特点,今后将从提升图像质量方面来改善模型,例如与水下图像增强或超分辨率算法相结合,增加图像的细节特征,进一步提升算法性能.
[1] Lee D J,Schoenberger R B,Shiozawa D,et al. Contour matching for a fish recognition and migration-monitoring system[C]//The International Society for Optics and Photonics. Maspalomas,Spain,2004:37-48.
[2] Ruff B,Marchant J,Frost A. Fish sizing and monitoring using a stereo image analysis system applied to fish farming[J]. Aquacultural Engineering,1995,14(2):155-173.
[3] Spampinato C,Chen-Burger Y,Nadarajan G,et al. Detecting,tracking and counting fish in low quality unconstrained underwater videos[C]//3rd International Conference on Computer Vision Theory and Applications. Funchal,Portugal,2008:514-519.
[4] Spampinato C,Giordano D,Salvo R,et al. Automatic fish classification for underwater species behavior understanding[C]//ACM International Workshop on Analysis Andretrieval of Tracked Events and Motion in Imagery Streams. Firenze,Italy,2010:45-50.
[5] Ding G,Song Y,Guo J,et al. Fish Recognition using convolutional neural network[C]//Oceans Conference. Anchorage,USA,2017:1-4.
[6] Qin H,Li X,Liang J,et al. DeepFish:Accurate underwater live fish recognition with a deep architecture[J]. Neurocomputing,2016,187:49-58.
[7] Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]// https://arxiv. org/abs/1409. 1556, 2015-04-10.
[8] Wang X,Wang Z. A novel method for image retrieval based on structure elements’ descriptor[J]. Journal of Visual Communication and Image Representation,2013,24(1):63-74.
[9] Wang X,Chen Z,Yun J. An effective method for colorimage retrieval based on texture[J]. Computer Standards& Interfaces,2012,34(1):31-35.
[10] Wang X,Wang Z. The method for image retrieval based on multi-factors correlation utilizing block truncation coding[J]. Pattern Recognition,2014,47(10):3293-3303.
[11] Wang C,Wang X,Xia Z. Geometrically invariant imagewatermarking based on fast Radial Harmonic Fourier Moments[J]. Signal Processing:Image Communica-tion,2016,45:10-23.
[12] Wang C,Wang X,Li Y. Quaternion polar harmonic Fourier moments for color images[J]. Information Sciences,2018,450:141-156.
[13] Zhang N,Donahue J,Girshick R,et al. Part-based R-CNNs for fine-grained category detection[C]//European Conference on Computer Vision. Zurich,Switzerland,2014:834-849.
[14] Ji Zhong,Yu Yunlong,Pang Yanwei,et al. Manifold regularized cross-modal embedding for zero-shot learning [J]. Information Sciences,2017,378:48-58.
[15] 冀 中,谢于中,庞彦伟. 基于典型相关分析和距离度量学习的零样本学习[J]. 天津大学学报:自然科学与工程技术版,2017,50(8):813-820.
Ji Zhong,Xie Yuzhong,Pang Yanwei. Zero-shot learning based on canonical correlation analysis and distance metric learning[J]. Journal of Tianjin University:Science and Technology,2017,50(8):813-820(in Chinese).
[16] Zhang N,Shelhamer E,Gao Y,et al. Fine-grained poseprediction,normalization,and recognition[J]. Computer Science,2015,69(2):207-221.
[17] Zhang H,Xu T,Elhoseiny M,et al. SPDA-CNN:Unifying semantic part detection and abstraction for fine-grained recognition[C]//International Conference on Computer Vision and Pattern Recognition. Las Vegas,USA,2016:1143-1152.
[18] Lin T,RoyChowdhury A,Maji S. Bilinear CNN modelsfor fine-grained visual recognition[C]//International Conference on Computer Vision. Santiago,Chile,2015:1449-1457.
[19] Strachan N,Nesvadba P,Allen A. Fish species recognition by shape analysis of images[J]. Pattern Recognition,1990,23(5):539-544.
[20] Larsen R,Olafsdottir H,Ersbøll B. Shape and texture based classification of fish species[C]//Scandinavian Conference on Image Analysis. Oslo,Norway,2009:745-749.
[21] Huang P,Boom B,Fisher R. Underwater live fish recognition using a balance-guaranteed optimized tree[C]// Asian Conference on Computer Vision. Daejeon,Korea,2013:422-433.
[22] Huang P,Boom B,Fisher R. GMM improves the reject option in hierarchical classification for fish recognition[C]//Winter Conference on Applications of Computer Vision. Steamboat Springs,USA,2014:371-376.
[23] White D,Svellingen C,Strachan N. Automated measurement of species and length of fish by computer vision[J]. Fisheries Research,2006,80(2):203-210.
[24] Jaderberg M,Simonyan K,Zisserman A,et al. Spatial transformer networks[C]//Advances in Neural Information Processing Systems. Montreal,Canada,2015:2017-2025.
[25] Boom B,Huang P,He J,et al. Supporting ground-truthannotation of image datasets using clustering[C] //International Conference on Pattern Recognition. Tsukuba,Japan,2012:1542-1545.
[26] Huang P X,Boom B T,Fisher R B. Hierarchical classification with reject option for live fish recognition[J]. Machine Vision and Applications,2014,26(1):89-102.
[27] Hastie T,Tibshirani R,Friedman J,et al. The Elements of Statistical Learning[M]. New York:Springer,2009.
[28] Unar S,Wang X,Zhang C. Visual and textual information fusion using Kernel method for content based image retrieval[J]. Information Fusion,2018,44:176-187.
Fine-Grained Fish Image Classification Based on a Bilinear Network with Spatial Transformation
Ji Zhong1,Zhao Kexin1,Zhang Suoping2,Li Mingbing2
(1. School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China; 2. National Ocean Technology Center,Tianjin 300072,China)
Effective classification of various fish species under water has great practical and theoretical significance. Due to the extreme conditions of the ocean,underwater images have very low resolution. Since the living environment is highly complex,fish images have properties of high inter-class similarity,large intra-class variety,and are greatly affected by light,angle,posture etc. These factors make fish classification a challenging task. To cope with these challenges,a deep fine-grained fish imageclassification model is proposed. It consists of a spatial transformer network and a bilinear network. Specifically,the spatial transformer network aims at removing the complex background as an attention mechanism and selecting the region of interest in the image. The bilinear network extracts the bilinear features of the image by fusing the feature maps of two deep networks,so that it responds to the discriminative part of the target. The model can be trained in an end-to-end way. The model achieves its best performance on the public F4K dataset. The recognition accuracy was 99.36%,which was 0.56% higher than the DeepFish algorithm. In addition,a new dataset called Fish100,containing 100 categories of 6358 images,was released. Accuracy of the model is 0.98% higher than that of the bilinear convolutional neural network(BCNN)model. Experiments on several datasets verified the effectiveness and superiority of the proposed algorithm.
fish classification;fine-grained classification;spatial transformation;bilinear network
10.11784/tdxbz201808040
TP37
A
0493-2137(2019)05-0475-08
2018-08-10;
2018-11-04.
冀中(1979— ),男,博士,副教授,jizhong@tju.edu.cn.
张锁平,iot323@163.com.
国家自然科学基金资助项目(61771329);天津市自然科学基金资助项目(17JCYBJC16300).
the National Natural Science Foundation of China(No. 61771329),the Natural Science Foundation of Tianjin,China (No. 17JCYBJC16300).
(责任编辑:孙立华)