基于机器视觉的鱼类行为特征提取与分析

2018-01-29 08:58贾贝贝邵振洲王瑞渠瀛张融饶凯锋姜安刘勇关永
生态毒理学报 2017年5期
关键词:胸鳍鱼鳃尾鳍

贾贝贝,邵振洲,王瑞,渠瀛,张融,饶凯锋,姜安,刘勇,关永

1. 首都师范大学成像技术北京市高精尖创新中心,轻型工业机器人与安全验证实验室,北京 100048 2. 北京航空航天大学 机械工程及自动化学院,北京 100191 3. 中国科学院生态环境研究中心 环境水质学国家重点实验室,北京 100085 4. 田纳西大学 电气工程与计算机科学学院,美国田纳西州 37996 5. 无锡中科水质环境技术有限公司,无锡 214024

随着社会科技的进步,水质监测逐步向自动化方向发展。目前,水质评价不仅需要考虑物理和化学指标,还需考虑生物指标,使水质现状评价更加全面和科学[1]。水环境生物监测的生物学依据是:在一定条件下,水生生物群落和水环境之间存在着相互依存、相互制约的稳定平衡状态,一旦水体受到污染,水环境发生变化,各种生物就会对此产生不同的反应。相对于传统的理化监测方法,水质生物监测可以反映长期的污染效果,效果更加直观可靠,监测功能更加多样化,便于综合评价水质状况等[2]。

水质生物监测的方法较多,如生物群落法、生产力测定法、残留测定法、急性毒性试验和细菌学检验等[2]。鱼类是水污染生物监测中应用最广泛的水生动物之一,也是被研究最广泛的物种[3]。机器视觉技术的迅速发展,使得利用非接触式的监测技术机器视觉方法监测水质成为一种可能。目前国内外利用机器视觉方法和鱼类相结合在水质监测方面的研究,只研究了鱼类的游动速度、游动加速度、游动高度、转弯次数等运动特征,缺少对鱼类胸鳍、尾鳍运动等信息的统计,也缺少鱼类呼吸频率、呼吸深度等的研究,使得观测数据具有局限性,不能综合监测水质情况。

图1 基于机器视觉的鱼类行为特征提取与分析总体框架Fig. 1 Overall framework of extraction and analysis of fish behavior based on machine vision

为了综合反映水质的污染状况,本文采用青鳉鱼作为生物监测的指示生物,基于机器视觉技术,通过监测暴露在0、0.05、0.1、0.2、0.6和1 mg·L-1不同铜离子浓度水环境中的青鳉鱼,观测青鳉鱼生理特征和运动特征,实时监控青鳉鱼的呼吸频率、胸鳍和尾鳍的摆动频率,最终获得更加精确的实验数据,为水质的污染等级评定奠定基础。本研究的总体框架如图1所示。

1 青鳉鱼的鱼鳃提取方法(The method of extracting gills of medaka)

呼吸是鱼类的重要生理机能。通过呼吸作用,水中的污染物质会不断的积累于鱼鳃组织表面,从而加快鱼类的自我保护行为,使呼吸变得无规律。目前在计量鱼类的呼吸运动方面,普遍采用的手段是借助基于生物电信号的传感器技术[4-5],但是这些方法由于有时候信号比较微弱,影响最终的实验结果。

本文通过对使用人工神经网络[6](Artificial Neural Network,ANN)和支持向量机[7](Support Vector Machine,SVM)2种方法提取鱼鳃的对比,发现在保证提取鱼鳃准确的前提下,SVM比ANN耗时少,SVM方法可以保证实验的实时性,并且SVM比监测电极信号方法的实验结果更加准确,因此选择SVM分类器来提取鱼鳃。

1.1 青鳉鱼的鱼鳃特征提取

利用SVM训练鱼鳃提取模型,最为重要的一步是特征提取,选择识别鱼鳃最为显著的特征作为模型的输入。通过对图像中鱼鳃的分析,虽然R,G和B这3个通道中只有R通道的颜色值可以大致看到鱼鳃的分布区域,但在有大量干扰颜色的情况下依然可以看到鱼鳃的准确形状,因此推断存在某种颜色组合方式可以准确地区分鱼鳃。随后对原始视频进行了颜色空间转换实验,发现HSV空间的S通道(饱和度S通道体现了色彩的鲜艳程度),Lab空间的a通道(a表示洋红至绿色的范围)和YCrCb空间的Cr通道(反映RGB输入信号中红色部分与RGB信号亮度值间的差异)也都对目标有一定的区分能力,最终确定图像的S、a、Cr这3个通道组合的特征向量作为建立鱼鳃提取模型的主要输入。

1.2 利用SVM建立鱼鳃提取模型

如图2所示,本文通过颜色空间转换的方法,提取0、0.05、0.1、0.2、0.6、1 mg·L-16种不同铜离子浓度下的1 000张图像作为SVM分类器的训练数据,将图像从RGB颜色空间转换至HSV、Lab、YCrCb颜色空间,取HSV中S通道和Lab中a通道以及YCrCb中的Cr通道组合成SaCr特征向量,然后结合鱼鳃标签构建出提取鱼鳃的SVM分类器,利用1 000个测试数据测试训练好的SVM模型,最终得到提取青鳉鱼鱼鳃的SVM分类器。

为了减少将图像RGB像素值转换至HSV、Lab、YCrCb颜色空间的计算量,本文先在输入的原始图像中求出青鳉鱼的最小外接矩形,再利用上述通过神经网络得到的鱼鳃提取模型,进行鱼鳃的检测,最终准确得到鱼鳃区域,如图3所示。

图2 支持向量机(SVM)提取鱼鳃流程图Fig. 2 Extraction of gills flow chart using Support Vector Machine (SVM)

1.3 青鳉鱼呼吸频率的计算

本文通过计算鱼鳃的轮廓面积,求出鱼鳃轮廓面积变化的极大(小)值的个数,来计算青鳉鱼的呼吸频率。青鳉鱼的呼吸频率f可由式(1)得出。

(1)

其中m表示鱼鳃轮廓面积极大(小)值的个数,M表示采集总帧数,30表示采集帧率。

2 青鳉鱼胸鳍和尾鳍提取(Extracting pectoral fins and tail fin of medaka)

本文通过对青鳉鱼进行骨架提取,进而建立青鳉鱼的骨架模型来提取出青鳉的左右胸鳍和尾鳍,最后实时计算出青鳉鱼胸鳍尾鳍在不同铜离子浓度下的摆动频率。

2.1 青鳉鱼骨架提取

骨架是描述物体拓扑结构的主要手段之一,保持了物体的形状信息。细化算法是提取物体骨架的一种算法,它通过不断反复地剥离前景目标的边界点,在剥离边界点的同时并保持骨架的连通性,最终剔除掉所有能剥离的边界,保留下能体现骨架特性的点,反复迭代,即可提取出骨架。

骨架提取前,要进行前景目标的检测,检测时使用2次OTSU(大津法)算法,第一次使用OTSU算法提取出青鳉鱼大体鱼身区域,但当前鱼体还不够完全,特别是胸鳍和尾鳍部分还不是很完整,如图4b。为了保证提取鱼骨架的完整性,精确地提取出青鳉鱼的胸鳍和尾鳍,提高计算结果的准确性,第二次使用OTSU算法提取出第一次被忽略掉的鱼体部位,如图4c。之后结合2次提取的结果,最终得到完整的青鳉鱼,如图4d所示,然后基于细化的骨架提取算法,对青鳉鱼进行骨架提取。经鱼体检测与跟踪并进行青鳉鱼前景提取后,对青鳉鱼二值化前景图去噪并进行细化算法,最终得到单一的较为完整的鱼体骨架[17]。

图3 青鳉鱼鱼鳃提取注: a青鳉鱼最小外接矩形图像;b鱼鳃提取结果。Fig. 3 Gills extraction of medakaNote: a, The minimum bounding rectangle image of medaka; b, The result of extracting gills.

图4 青鳉鱼骨架提取结果注: a青鳉鱼原始图; b第一次检测的青鳉鱼前景图; c第二次检测的青鳉鱼前景图;d最终提取的青鳉鱼前景图;e提取骨架后青鳉鱼骨架图。Fig. 4 Experiment result of skeleton extraction of medakaNote: a, The original image of medaka; b, The first detection of medaka foreground; c, The second detection of medaka foreground; d, The last detection of medaka foreground; e, The image of medaka skeleton after extracting skeleton.

2.2 青鳉鱼骨架模型

经过细化算法得到的青鳉鱼骨架并不包含任何描述信息,为了量化计算青鳉鱼运动情况,需要确定青鳉鱼各部位的关键信息。根据鱼体特性。本文在基于细化算法提取到的青鳉鱼骨架上提出了图5青鳉鱼胸鳍和尾鳍的骨架模型,并标出了7个关键参考点,分别为胸鳍参考点A(该点是青鳉鱼鱼鳃与骨架的交点)、胸鳍根部参考点B(该点是以参考点A为起始点,整个鱼骨架长度的1/8处的点)、左胸鳍末端参考点C、左胸鳍末端参考点D、尾鳍参考点E(该点是以参考点A为起始点,整个鱼骨架长度的1/2处的点)、尾鳍参考点F(该点是以参考点A为起始点,整个鱼骨架长度的3/4处的点)、尾鳍末端参考点G。青鳉鱼骨架参考点如图6所示。

图5 青鳉鱼骨架模型Fig. 5 The skeleton model of medaka

图6 青鳉鱼骨架关键点参考图Fig. 6 The reference image of key point of medaka skeleton

2.3 青鳉鱼胸鳍和尾鳍摆动频率的计算

(2)

可以得到左胸鳍的摆动角度α。其中x代表参考点横坐标,y代表参考点纵坐标。

(3)

其中n表示胸鳍、尾鳍摆动次数,N表示采集总帧数,30表示采集帧率。

3 结果与讨论(Results and discussion)

为了能够准确、实时地提取到青鳉鱼的鱼鳃区域,本文对SVM和ANN这2种方法进行了对比,实验证明:2种方法都可以准确地进行鱼鳃提取,但只有SVM算法可以保证整个算法的实时性能。

当水环境中污染物因子达到一定浓度时,就会引起青鳉鱼的运动行为失常、鱼呼吸频率的改变、胸鳍与尾鳍摆动频率的改变、生理功能紊乱等中毒反应。

为了模拟鱼类真实的水质环境,实验依次配制6种不同浓度的铜离子溶液,分别为0、0.05、0.1、0.2、0.6和1 mg·L-1。所选的鱼类模式生物为大小和重量基本一致的成年青鳉鱼。将6条青鳉鱼分别放入6种不同浓度的铜离子溶液中进行毒性暴露实验。实验中连续分析不同浓度下的100帧图像数据,计算出鱼呼吸频率、胸鳍和尾鳍的摆动频率、算法平均计算时间,与实际统计数据结果作对比,进而对实验结果进行汇总和分析,验证算法的可行性、有效性和鲁棒性。

3.1 实验环境搭建

实验选择一款德国生产的以电荷耦合器件(charge coupled device, CCD)传感器为核心元件的工业摄像机,分辨率为640×480,采集帧率设置为每秒30帧,将摄像机放置在目标容器的下方,并布置于实验目标的正下方。实验环境平台的搭建如图7所示。

3.2 算法验证

1)青鳉鱼生理特征验证

通过6种不同铜离子浓度实验进行对比分析,SVM和ANN都可以准确提取鱼鳃,如图8所示。在算法执行效率方面,SVM比ANN耗时短,平均单帧耗时是ANN的一半以上,如图9所示。

图7 实验环境平台图Fig. 7 The image of experimental environment platform

图8 SVM和ANN提取鱼鳃结果对比注: a, SVM提取鱼鳃结果;b, 人工神经网络(ANN)提取鱼鳃结果。Fig. 8 Comparison of SVM and ANN extraction of gillsNote: a, SVM extraction results of gills; b, Artificial Neural Network (ANN) extraction results of gills.

图10描述了青鳉鱼在6种不同铜离子浓度下的呼吸深度变化,结果显示:不同暴露浓度下,青鳉鱼呼吸节奏呈现出不同的波形。图11是在不同铜离子下算法得出的青鳉鱼呼吸频率与人眼的计数结果对比图,可以发现本文算法的误差很小,平均契合度达到98%以上。

2)青鳉鱼运动特征验证

图12至图14描述了6种不同铜离子浓度下青鳉鱼胸鳍摆动角度变化、尾鳍摆动角度变化,从图中发现青鳉鱼的运动特征会随不同的铜离子浓度发生变化。图15和图16描述了6条青鳉鱼在0、0.05、0.1、0.2、0.6、1 mg·L-16种铜离子浓度暴露实验中左胸鳍和尾鳍摆动频率变化,通过与人眼结果对比,算法可以有效地计算出实验结果,准确率比较高,并且不同浓度下结果有所不同。图17描述了整个算法单帧平均耗时,平均耗时在10~20 ms,可以保证实验的实时性。

3.3 实验讨论

图9 SVM和ANN执行效率对比Fig. 9 SVM and ANN execution efficiency comparison

图10 青鳉鱼呼吸深度Fig. 10 Respiration depth of medaka

通过实验可以发现经过不同浓度铜离子溶液毒性暴露实验,青鳉鱼的生理特征和运动特征在不同时间段发生了不同的变化。在0 mg·L-1浓度状况下青鳉鱼的呼吸状态是比较平稳的,在不同时间段可能有较小幅度的变化。在0.05、0.1、0.2、0.6、1 mg·L-15 种含有铜离子溶液中,所有青鳉鱼的呼吸频率在一段时间内会有一个下降的趋势,下降的趋势会随着铜离子浓度的增大而加快,随后的时间段内,鱼会以一个较低的呼吸频率活动一段时间,之后呼吸频率出现回升的状况,并且处于0.6 mg·L-1和1 mg·L-1铜离子浓度溶液中的呼吸频率会更早地出现这种现象。有时候鱼会在大幅度的呼吸几次后,出现一个窒息的状态,不同的鱼在不同的时间段表现不同,有时低浓度溶液中也会发生长时间的窒息,但高浓度的溶液中更容易也更早地发生这种状态。

图11 青鳉鱼在不同铜离子浓度下呼吸频率对比Fig. 11 Respiratory frequency comparison of medaka in different copper ion concentration

图12 青鳉鱼左胸鳍摆动角度变化Fig. 12 Change of the left pectoral swing angle of medaka

图13 青鳉鱼右胸鳍摆动角度变化Fig. 13 Change of the right pectoral swing angle of medaka

图14 青鳉鱼尾鳍摆动角度变化Fig. 14 Change of tail swing angle of medaka

图15 青鳉鱼左胸鳍摆动频率变化Fig. 15 Change of left pectoral fin swing frequency of medaka

图16 青鳉鱼尾鳍摆动频率变化Fig. 16 Change of tail fin swing frequency of medaka

图17 算法单帧平均耗时Fig. 17 Average time consuming of single frame of algorithm

在没有铜离子溶液中青鳉鱼胸鳍和尾鳍的平均摆动频率有时候会出现一个波动的情况,但总体上趋于平缓,在有铜离子溶液中状态会发生类似鱼鳃呼吸频率的情况。当实验进行到结束时,暴露于1 mg·L-1铜离子浓度实验溶液的青鳉鱼的死亡率达到100%,这些鱼在死亡前几个小时的呼吸节奏都很高,且波动幅度相对比初始阶段要小。

通过使用算法得出的数据与观察视频回放人眼计算得出的结果,基本一致,误差小于2%,准确性高,并且完全满足实时检测的要求,保证了算法的可行性和实时性。有时候在不同浓度的溶液下的数据有可能相似,但总体上看,不同的浓度实验结果还是有明显差别的。实验中会发生青鳉鱼姿态不稳定的情况,出现青鳉鱼极速旋转翻滚的现象,使得算法检测不到鱼鳃、胸鳍和尾鳍而失效,这是未来重点解决的问题。

综上所述,本文主要针对水环境监测领域,以鱼类模式生物青鳉鱼为研究目标,实现了基于机器视觉的青鳉鱼生理特征(鱼鳃)和运动特征(胸鳍和尾鳍)的实时识别。不同铜离子浓度的毒理实验中,得出的结果可以反映出青鳉鱼在不同浓度铜离子溶液中生理和运动特征的变化。结果表明:本文的方法可以对青鳉鱼的呼吸频率、胸鳍和尾鳍摆动频率进行有效检测,能够应用于生物水质监测中,并为评定水环境的质量提供重要参考。

[1] 王维, 纪枚, 苏亚楠. 水质评价研究进展及水质评价方法综述[J]. 科技情报开发与经济, 2012, 22(13): 129-131

Wang W, Ji M, Su Y N. Reviews of the progress in the research of water quality evaluation and the methods for water quality evaluation [J]. Sci-Tech Information Development and Economy, 2012, 22(13): 129-131 (in Chinese)

[2] 杨培莎, 朱艳华. 水质生物监测方法及应用展望[J]. 内蒙古环境科学, 2010, 22(2): 71-91

Yang P S, Zhu Y H. Water quality biological monitoring method and application prospect [J]. Inner Mongolian Environmental Sciences, 2010, 22(2): 71-91 (in Chinese)

[3] 刘伟成, 单乐州, 谢起浪, 等. 生物监测在水环境污染监测中的应用[J]. 环境与健康杂志, 2008, 25(5): 456-459

Liu W C, Shan L Z, Xie Q L, et al. Application of biological monitoring in water pollution [J]. Journal of Environment and Health, 2008, 25(5): 456-459 (in Chinese)

[4] Gerhardt A, de Bisthoven L J, Mo Z, et al. Short-term responses ofOryziaslatipes(Pisces: Adrianichthyidae) andMacrobrachiumnipponense(Crustacea: Palaemonidae) to municipal and pharmaceutical waste water in Beijing, China: Survival, behavior, biochemical biomarkers [J]. Chemosphere, 2002, 47(1): 35-47

[5] Cairns Jr J, Thompson K W, Hendricks A C. Effects of fluctuating sublethal applications of heavy metal solutions upon the gill ventilatory response of bluegills (Lepomismacrochirus) EPA-600/3-81-003. [R]. Springfield, VA: National Technical Information Service, 1981

[6] 刘佼, 袁红平. 基于人工神经网络的房地产市场预警模型研究—以成都市为例[J]. 工程管理学报, 2016, 30(2): 147-152

Liu J, Yuan H P. Research on early warning model of real estate market based on artificial neural network-taking Chengdu as an example [J]. Journal of Engineering Management, 2016, 30(2): 147-152 (in Chinese)

[7] Smola A J, Williamson R C. New support vector algorithms [J]. Neural Computation, 2000, 12(5): 1207-1245

[8] Blum H. Models for the Perception of Speech and Visual Form [M]. Cambridge: Weiant Wathen-Dunn, 1967

[9] 高文昀. 基于骨架的彩色图像分割研究[D]. 合肥: 中国科学技术大学, 2007

Gao W Y. Research on color image segmentation based on skeleton [D]. Hefei: University of Science and Technology of China, 2007 (in Chinese)

[10] 颜七笙, 王士同. 一种基于调节形态学的骨架提取算法[J]. 计算机应用与软件, 2006, 23(3): 116-136

Yan Q S, Wang S T. A new skeletonization algorithm based on regulated morphology [J]. Computer Application and Software, 2006, 23(3): 116-136 (in Chinese)

[11] 耿彩英. 用于水质监测的活体鱼视频图像理解[D]. 杭州: 杭州电子科技大学, 2009: 12

Geng C Y. The video image understanding of live fish used for water quality monitoring [D]. Hangzhou: Hang- zhou Dianzi University, 2009: 12 (in Chinese)

[12] 应晓芳. 基于机器视觉的鱼体运动模型研究[D]. 杭州: 浙江工业大学, 2009: 4.

Ying X F. Research on fish movement model based on machine vision [D]. Hangzhou: Zhejiang University of Technology, 2009: 4 (in Chinese)

[13] Satoru K, Takashi N, Masato O, et al. A computer image processing system for quantification of zebrafish behavior [J]. Journal of Neuroscience Methods, 2004, 134(1): 1-7

[14] Nimkerdphol K, Nakagawa M. Effect of sodium hypochlorite on zebrafish swimming behavior estimated by fractal dimension analysis [J]. Journal of Bioscience and Bioengineering, 2008, 105(5): 486-492

[15] Lee J H, Wu M Y, Guo Z C. A tank fish recognition and tracking system using computer vision techniques [C]. International Conference on Computer Science and Information Technology, 2010, 4: 528-532

[16] 张志杰, 张维平. 环境污染生物监测与评价[M]. 北京: 中国环境科学出版社, 1991: 69

Zhang Z J, Zhang W P. Biological Monitoring and Evaluation of Environmental Pollution [M]. Beijing: China Environmental Science Press, 1991: 69 (in Chinese)

[17] 周振宇, 邵振洲, 施智平, 等. 基于机器视觉的鱼类模式生物在线监测技术方法研究[J]. 生态毒理学报, 2016, 11(1): 217-224

Zhou Z Y, Shao Z Z, Shi Z P, et al. Study on the method of fish model organism on-line monitoring technology based on machine vision [J]. Asian Journal of Ecotoxicology, 2016, 11(1): 217-224 (in Chinese)

猜你喜欢
胸鳍鱼鳃尾鳍
蝠鲼过滤海水有妙招
那么多海蚌一起游,一起流泪
塘养建鲤背鳍、尾鳍和腹鳍指数的线性体重表征
仿生胸鳍的三维尾涡结构与参数影响分析
快速取鱼鳃器
基于CFX的仿生鱼尾摆动水动力仿真及优化
金鱼如何辨雌雄
机器鳕鱼胸鳍/尾鳍协同推进直线游动动力学建模与实验研究
“水中飞鸟”:豹鲂鮄
形状记忆合金丝驱动的仿生双尾鳍推进器的仿真和实验研究