张 帆 徐建瑜
(宁波大学信息科学与工程学院 浙江 宁波 315211)
基于图像特征与竞争型神经网络的蟹苗密度估计
张 帆 徐建瑜
(宁波大学信息科学与工程学院 浙江 宁波 315211)
蟹苗的密度估计在蟹苗养殖中有着重要的意义。但现有的基于图像处理的密度估计算法不能对蟹苗图像进行准确地密度估计,因此提出一种基于图像特征与竞争型神经网络的蟹苗密度估计算法。首先引入背景建模与噪声处理得到前景图像像素数;然后使用阈值区分高密度图像和低密度图像;最后对阈值上下图像分别采用基于全局特征的密度等级分类算法和基于局部特征的线性回归算法。其中蟹苗图像的密度等级由竞争型神经网络进行划分和判断。实验结果表明正确率可达到93.95%。
蟹苗密度估计 阈值判别 线性回归 竞争型神经网络 纹理特征
随着梭子蟹人工育苗产业的扩大,对蟹苗密度的估计有了广泛需求。在育苗过程中获得蟹苗密度信息对蟹苗的饵料投喂、健康判断和产量预估具有重要意义。作为蟹苗状态的主要表征,蟹苗密度也为育苗过程中养殖环境的判断和蟹苗生长状态分析提供了决策参考。因此,对蟹苗密度进行准确估计具有重要意义。
传统的蟹苗密度估计使用人工观测的方法,对观测人员的经验要求较高,且主观性强,环境干扰因素多。随着计算机视觉和人工智能等领域相关技术的发展,基于图像处理的水下生物密度估计成为智能化水产养殖的研究热点。现有的基于图像处理的密度估计算法分为以下三种:(1) 基于局部特征的统计算法[1-3]采用前景目标检测的方法,对前景图像进行像素统计或是特征分析,通过统计前景目标个体来获取目标密度。此类算法对低密度图像的目标密度估计性能较好,而对于高密度图像,由于目标个体之间存在遮挡,导致算法密度估计性能降低。(2) 基于全局特征的密度估计算法[4-6]采用纹理分析或回归拟合的方法,对整个图像的特征信息进行分析计算,对图像中目标密度等级进行分类,从而估计目标密度。此类算法对各个密度等级的图像密度估计性能较好,但在低密度情况下容易受背景噪声的影响。(3) 结合局部特征和全局特征的密度估计算法[7-10]使用阈值区分低密度图像和高密度图像,对低密度图像使用基于局部特征的目标个体统计的方法,对高密度图像使用基于全局特征的密度估计的方法。此类算法对不同密度等级的图像有更准确的估计,且适应性较好。
文献[8]提出的结合局部特征和全局特征的密度估计算法多用于人群密度估计,由于人群图像与蟹苗图像差别较大,因此其中针对人群的密度等级标准不适用于蟹苗的密度估计。文献[9]提出的基于频率直方图特征和神经网络的密度估计算法,对鱼苗图像的密度估计性能较好,但该算法所使用的特征维数较高,网络结构复杂,计算量大,效率较低。
针对上述问题,本文提出一种基于图像特征与竞争型神经网络的蟹苗密度估计算法。流程如图1所示。
图1 算法主流程
首先,对采集的图像进行背景建模和噪声处理;然后,统计前景图像像素数,得出合适阈值;再对高于阈值的高密度图像进行纹理特征分析,通过竞争型神经网络(CNN)划分出蟹苗图像的密度等级并统计其对应的蟹苗个数范围,对低于阈值的低密度图像进行前景图像像素数和蟹苗个数的统计,得出两者之间的线性回归模型;最后,对阈值上下的图像分别采用基于全局特征的密度等级分类算法和基于局部特征的线性回归算法来估计蟹苗密度。
1.1 前景目标提取
蟹苗图像采集过程中,受外界光源影响,蟹苗的活动范围有限,不会分布在整个图像中,因此本文划分出图像中的感兴趣区域(ROI)即蟹苗活动区域。这不仅排除了部分水中杂质的干扰,同时降低了计算量。本文采用基于混合Gauss模型的背景建模方法(GMM)[11]来提取前景图像。GMM算法对图像背景的变化有较好的适应性,可以排除部分水下环境杂质的影响。为进一步去除图像中的杂质,本文对所得的前景图像提取轮廓,将轮廓周长小于正常蟹苗图像周长的像素块去除。原图与预处理结果图对比如图2所示。
图2 预处理前后对比
1.2 阈值判别
基于局部特征的密度估计算法,是基于目标个数和前景图像像素数存在线性递增关系[12]。但该线性关系在目标图像密度较高时,密度估计性能下降。因此需要引入阈值判别机制,区分低密度图像和高密度图像。为了获取判别阈值,本文实验选取在外部光源引诱条件下,蟹苗密度随时间逐渐增加的视频数据,对视频中图像进行预处理后,计算其前景图像像素数并统计图像中蟹苗个数。图3显示了该视频中前景图像像素数和蟹苗个数的变化情况。由图3可以看出,当前景图像像素数达到一定值后,前景图像像素数和蟹苗个数的线性相关性降低。通过本文实验数据分析,选取前景图像像素数为28 000,蟹苗个数为700的数据点为阈值判别点,设置阈值T=28 000。
图3 前景图像像素数与蟹苗个数之间的关系
1.3 基于局部特征的线性回归算法
对前景图像像素数小于等于T的图像,先统计前景图像像素数作为局部特征,然后通过前景图像像素数和蟹苗个数之间的线性回归模型,计算得出蟹苗密度。为了计算前景图像像素数和蟹苗个数之间的线性回归模型,将通过本文实验得出的低密度图像序列作为输入数据,使用图像处理的方法统计其前景图像像素数和蟹苗个数,得出实际数据点序列,而后曲线拟合数据点序列,得出实际数据点和拟合曲线如图4所示。
图4 实际数据点与拟合曲线
根据曲线拟合结果,得出蟹苗个数y和前景图像像素数x之间的线性回归模型为式(1)。
y=-1×e-6x2+0.053x+2.052
(1)
线性回归模型式(1)估算的蟹苗个数与实际值的平均绝对差值为13.95,由图4可以看出该线性回归模型可以较好地估计图像中蟹苗的个数。
1.4 基于全局特征的密度等级分类算法
对前景图像像素数大于T的图像,使用基于全局特征的密度等级分类算法。由于不同密度等级的图像呈现不同的纹理特征[13],因此将纹理特征作为图像的全局特征。灰度共生矩阵(GLCM)是一种通过研究灰度的空间相关特性来描述纹理的常用方法,可以反映图像在方向、间隔和变化幅度上的综合信息。因此本文使用GLCM计算图像的纹理信息。将GLCM统计计算出的不同的纹理特征组合成多维的纹理特征矢量输入至已经训练好的竞争型神经网络(CNN)中,得出图片的密度等级。基于全局特征的密度等级分类算法流程如图5所示。
图5 基于全局特征的密度估计算法流程
1.4.1 灰度共生矩阵
GLCM通过计算灰度值为i的像素点,偏离距离d、方向角θ处出现灰度值为j的像素点的概率f(i,j|d,θ),构成二维概率矩阵。通过不同统计方法计算该矩阵,可以得到描述不同纹理特征的特征描述子。本文实验图像数据灰度等级为256,由于256个灰度级的GLCM计算量过大,因此缩减为64个灰度等级。本文实验计算64个灰度级,θ=(0°,45°,90°,135°),d=1的GLCM,选用能量、熵、均匀度三个统计量组成特征矢量。
(2)
(3)
(4)
通过计算式(2)-式(4)可以得出每个GLCM的4个方向上的3种纹理特征值,因此每帧输入图像可提取出12个纹理特征值,组成12维的纹理特征矢量。
1.4.2 竞争型神经网络
CNN可以对训练数据进行聚类划分,训练之后的CNN可以对测试数据进行等级分类。CNN分为输入层和竞争层,由于本文中计算所得的特征矢量维数为12,因此输入层由12个神经元构成。本文设定密度等级个数为5个,因此竞争层有5个神经元。网络连接权值为wij(i=1,2,…,N;j=1,2,…,M),其中N=12,M=5,并且满足约束条件式(5)。
(5)
按wij=1/N(i=1,2,…,N;j=1,2,…,M)赋予初值。在竞争层中,神经元相互竞争,最终只有一个神经元获胜,竞争胜利的神经元代表当前输入样本的分类模式。竞争后的权值按式(6)更新。
wij=wij+a(xi|m-wij)
(6)
CNN结构如图6所示。
图6 竞争型神经网络结构
1.4.3 密度等级划分
由于现存的密度估计算法所使用的密度等级标准仅适用于人群密度估计,因此本文需要划分出蟹苗图像的密度等级作为密度估计的标准。CNN在无监督情况下能够自组织地分析输入数据特征,从而对输入数据进行聚类处理[14-15]。因此,本文使用CNN对蟹苗图像序列进行密度等级划分。本文实验选取经阈值区分出的高密度图像序列作为训练数据。实验中,将经过预处理后的图像,使用GLCM计算其纹理特征,将所得的特征描述子组合为特征矢量,将训练数据输入CNN可以划分出特定数量的密度等级,然后对划分完成的图像序列进行蟹苗个数统计,获得每个密度等级对应的蟹苗个数范围。密度等级划分实验流程如图7所示。
图7 密度等级划分流程
本文实验将训练图像序列划分为5个密度等级,每个密度等级对应的蟹苗个数范围由图像处理和人工统计结合的方法获得。密度等级划分实验结果如表1所示。
表1 蟹苗图像的密度等级划分表
1.4.4 密度等级分类
上述实验得出了蟹苗密度等级的标准,并且训练出具有分类功能的CNN。在此基础上,将前景图像像素数大于T的测试图像通过纹理分析得出纹理特征矢量,输入至训练完成的CNN中,得出密度等级,最后根据蟹苗图像的密度等级划分表即可估计出测试图像的蟹苗密度。
为了验证本文基于图像特征与神经网络的蟹苗密度估计算法能有效地估计实际环境中蟹苗密度,实验采集了不同密度蟹苗的活动视频,然后对这些蟹苗的活动视频使用本文算法计算处理。
2.1 数据采集实验
视频数据采集实验装置如图8所示,实验装置主要由摄像头、拍摄盒和背光源组成。摄像头采用Basler acA1600-20gm摄像头,背光源用尺寸为0.1 m×0.1 m的红外灯板,蟹苗入口设在亚克力板和背光源之间。为模拟蟹苗密度逐渐增高的情况,在实验装置后方放置一个9 W的小灯作为引诱光源。
图8 数据采集装置结构
实验装置可固定于蟹苗池中不同位置进行视频采集。实验录制对象为溞状幼体Ⅰ期的蟹苗。在引诱光源打开后,开始录制,每次录制时长为50秒。
2.2 算法测试
使用上述实验装置在蟹苗池中采集视频数据,共获得7 860帧1 626×1 260像素的蟹苗图像。选取靠近光源的1 046×322像素的图像作为ROI,预处理得出前景图像像素数,根据本文实验得出判别阈值,设定T=28 000(图像中蟹苗个数约为700个)。对于前景图像像素数小于T的图像,采用基于局部特征的线性回归算法计算其蟹苗密度。前景图像像素数小于T的图像共2 730张,对这些图像使用线性回归模型计算得出蟹苗的估测数量。蟹苗的实际数量与估测数量的对比如图9所示。经过统计得出,实际蟹苗数量与估测数量平均绝对差值为12.04。
图9 蟹苗的实际数量与估测数量
对于前景图像像素数大于T的图像,采用基于全局特征的密度等级分类算法进行密度估计。此类图像共有5 130张,其中4 104张作为训练数据,用来划分密度等级,1 026张作为测试数据,用来测试本算法的分类效果。密度等级划分为5个等级:等级1(790~860个),等级2(860~950个),等级3(950~1 050个),等级4(1 050~1 120个),等级5(1 120~1 250个)。将从训练数据中分析计算所得出的纹理特征矢量输入到训练完成的CNN中进行分类,分类结果如表2所示 。经统计得出本算法分类正确率为94.93%,因此可以看出本算法能较好地对高密度图像进行密度等级分类。
表2 密度等级分类结果
2.3 与其他算法对比
对比算法选取文献[3]提出的基于目标轮廓和形态分类的密度估计算法和文献[6]提出的基于子区域纹理特征和支持向量回归模型的密度估计算法,对同样的测试图像序列进行蟹苗密度估计。三种算法处理结果如表3所示。
表3 本文算法与其他算法对比
本文提出了一种基于图像特征和竞争型神经网络的蟹苗密度估计算法,算法采用阈值判别的机制将蟹苗图像区分为低密度图像和高密度图像。对于低密度图像,采用基于局部特征的线性回归算法。对于高密度图像,采用基于全局特征的密度等级分类算法。针对蟹苗密度等级的划分,采用竞争型神经网络的方法进行聚类划分,得出了蟹苗高密度图像的密度等级划分表。将该密度等级表与基于全局特征的密度等级分类算法结合,可估计出高密度图像中蟹苗的密度。实验结果表明,本文算法可准确地对不同密度的蟹苗图像进行密度估计。由于本文数据采集对象均为溞状幼体Ⅰ期的蟹苗,因此对于多期蟹苗混合的图像,本文算法有待进一步的优化。
[1] Rodriguez M,Laptev I,Sivic J,et al.Density-aware person detection and tracking in crowds[C]//2011 International Conference on Computer Vision.IEEE,2011:2423-2430.
[2] Fradi H,Dugelay J L.Crowd density map estimation based on feature tracks[C]//Multimedia Signal Processing (MMSP),2013 IEEE 15th International Workshop on.IEEE,2013:40-45.
[3] Luo S,Li X,Wang D,et al.Automatic Fish Recognition and Counting in Video Footage of Fishery Operations[C]//2015 International Conference on Computational Intelligence and Communication Networks (CICN).IEEE,2015:296-299.
[4] Cao L,Zhang X,Ren W,et al.Large scale crowd analysis based on convolutional neural network[J].Pattern Recognition,2015,48(10):3016-3024.
[5] Zhang C,Li H,Wang X,et al.Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:833-841.
[6] 胡宏宇,关可汗,李志慧.考虑特征空间分布的行人数量估计方法[J].长安大学学报:自然科学版,2015(S1):54-58.
[7] Gündüz A E,Temizel T T,Temizel A.Density estimation in crowd videos[C]//2014 22nd Signal Processing and Communications Applications Conference (SIU).IEEE,2014:822-825.
[8] 李寅,王贵锦,林行刚.结合局部和全局特征的人群密度估计算法[J].清华大学学报:自然科学版,2013(4):542-545.
[9] Newbury P F,Culverhouse P F,Pilgrim D A.Automatic fish population counting by artificial neural network[J].Aquaculture,1995,133(1):45-55.
[10] 徐麦平,张二虎,陈亚军.融合像素与纹理特征的人群人数统计方法研究[J].西安理工大学学报,2015,31(3):340-346.
[11] Stauffer C,Grimson W E L.Adaptive background mixture models for real-time tracking[C]//Computer Vision and Pattern Recognition,1999.IEEE Computer Society Conference on.IEEE,1999,2.
[12] Davies A C,Yin J H,Velastin S A.Crowd monitoring using image processing[J].Electronics & Communication Engineering Journal,1995,7(1):37-47.
[13] Marana A N,Costa L D F,Lotufo R A,et al.Estimating crowd density with Minkowski fractal dimension[C]//Acoustics,Speech,and Signal Processing,1999 IEEE International Conference on.IEEE,1999,6:3521-3524.
[14] Haykin S S,Haykin S S,Haykin S S,et al.Neural networks and learning machines[M].Upper Saddle River,NJ,USA Pearson,2009.
[15] Maren A J,Harston C T,Pap R M.Handbook of neural computing applications[M].Academic Press,2014.
CRABLARVAEDENSITYESTIMATIONBASEDONIMAGEFEATUREANDCOMPETITIVENEURALNETWORK
Zhang Fan Xu Jianyu
(CollegeofInformationScienceandEngineering,NingboUniversity,Ningbo315211,Zhejiang,China)
Crab larvae density estimation is of great significance in breeding crabs. However, existing density estimation algorithms based on image processing cannot accurately estimate the density of crab larvae images at different density levels, we propose a crab density estimation algorithm based on image feature and competitive neural network. First we introduce background modeling with noise processing to get foreground image pixels. Then we use thresholds to distinguish between high density images and low density images. Finally, a regression algorithm based on local features is used to analyze images below the threshold and a classification algorithm based on global features is used to analyze images above the threshold. Density levels of crab larvae image are divided and judged by competitive neural network. Experimental results showed that algorithm can accurately estimate the density of crab larvae images at different density levels.
Crab larvae density estimate Threshold determination Linear regression Competitive neural network Texture feature
2016-08-18。张帆,硕士生,主研领域:图像处理与机器学习。徐建瑜,副教授。
TP391.41
A
10.3969/j.issn.1000-386x.2017.08.042