一种计量青鳉鱼胸鳍和尾鳍摆动频率和幅值的计算机视觉算法

2015-06-07 10:06张融郑宏远李录饶凯峰
生态毒理学报 2015年4期
关键词:胸鳍鱼鳃尾鳍

张融,郑宏远,李录,饶凯峰

1.北京航空航天大学机械工程及自动化学院,北京 100191 2.中国石油集团长城钻探工程有限公司博士后工作站与中国石油大学(北京)博士后流动站,北京 100101 3.北京机电工程研究所,北京 100074 4.中国科学院生态环境研究中心,北京 100191

一种计量青鳉鱼胸鳍和尾鳍摆动频率和幅值的计算机视觉算法

张融1,郑宏远2,*,李录3,饶凯峰4

1.北京航空航天大学机械工程及自动化学院,北京 100191 2.中国石油集团长城钻探工程有限公司博士后工作站与中国石油大学(北京)博士后流动站,北京 100101 3.北京机电工程研究所,北京 100074 4.中国科学院生态环境研究中心,北京 100191

青鳉鱼在饮用水安全领域具有很高的应用价值,其鱼鳍的活动状态可以反映水质的污染状况。但由于技术条件的限制,传统的方法无法实时而有效地提取到这些特征。针对这个问题,提出了一种可以高效识别并测量青鳉鱼胸、尾鳍摆动频率和幅值的计算机视觉算法。其中,为了快速地提取到这2个细节,自动阈值分割、帧差法、背景差分法、重心法、图像卷积和骨架细化等耗时极短的图像处理方法被应用到这项研究当中。初步试验显示这种算法在应用过程中是高效而可行的。它可以被广泛地应用到水环境监测领域,如研究有毒物质对青鳉鱼行为特性的影响和评估水环境的危险程度。

青鳉鱼;鱼鳍;计算机视觉算法;在线监测;水质预警

由于鱼类作为水生态系统中的重要一环,它们可以充当环境监测领域理想的“哨兵”和测量水体中有毒化学物质的典型有机体[1]。在它们当中,青鳉鱼的行为突变可用于生物预警、水体综合毒性评估和预测危险化学品对生物种群的影响[2]。而其胸鳍和尾鳍的摆动频率和幅度值的变化往往是鱼体出现各种异常行为的早期反应,所以它们的这2项特征可以作为分析水环境质量的一种有力工具。然而在实际应用中,尽管已有一些学者和机构对一些特殊鱼种进行了相似的研究并提出了一些解决方案[4-11],但由于青鳉鱼游动速度快,活跃性高、外表颜色过浅(往往边界部分和背景颜色相近)、且体型微小(成鱼仅有30~40 mm长),所以很难实时而有效的提取到这2项特征。

目前解决类似问题的主流方法是借助计算机视觉技术来分割出每帧图像当中鱼类的外轮廓,进而提取骨架并推算出部分鱼鳍的活动规律[4-11]。如应晓芳[4]借助二维Otsu分割、颜色聚类、轮廓搜索方法和质心法实现了对某些鱼类骨架的提取和鱼尾的实时定位。文闻[5]使用图像金子塔和图像卷积算法建立了斑马鱼的骨架模型。张伟涛[6]使用图像增强、背景差分、颜色阈值、距离变换等图像处理算法建立了部分鱼种的骨架模型。但上述方案均存在较大的局限性,实验表明目前尚不存在通用的有效方法,无法应用于青鳉鱼这种外表颜色偏淡且各部分颜色不一致的场合,而且很少有关于鱼类胸鳍特征的识别。

为了实现识别青鳉鱼胸鳍和尾鳍并记录其活动规律的功能,一套专门的计算机视觉算法被提出,主体思想是借助试验台和工业相机实时而连续地捕捉包含青鳉鱼的图像;再使用二维OTSU、帧差法和背景差分法滤除每帧图像中的背景并进行二值化处理;然后结合颜色分类表、重心法、距离变换和图像卷积等算法获得青鳉鱼鱼鳃的重心和鱼体的骨架的详细几何模型,最后结合多帧图像的提取结果获取青鳉鱼胸鳍和尾鳍的摆动频率和幅值。

1 材料与方法(Materials and methods)

1.1 实验平台

实验平台的主要作用为将青鳉鱼限制在特定的范围和环境中并连续获得包含青鳉鱼各种信息的彩色图像。其主要作用元件为德国TIS公司生产的DXK 23G618型工业CCD相机(见图1a)和一个嵌套式的超白玻璃容器(用于盛装待观察的青鳉鱼,见图1c)。其中相机的分辨率为640×480;曝光时间小于1/1000 s;每分钟捕获至少30帧图像并使用千兆网线将其传输给计算机。图1d为通过试验台获得的一帧RGB格式的彩色图像。实验中所用计算机的主要配置为i7六核处理器(主频3.2 GHz)和32 G高速内存。

1.2 方法

实验方法使用了新的计算机视觉算法。

图1 实验平台:(a)摄像机,(b)实验台整体,(c)目标容器,(d)相机捕获的一帧彩色图像

1.2.1 二维阈值分割(OTSU)

由于实验台的光线不完全均匀,所以青鳉鱼在不同的姿态下活动时所呈现的颜色均不同,且这种鱼的身体颜色很淡,与边框颜色十分接近,导致无法使用固定的阈值进行分割,所以这里引入了二维OTSU算法。

在将源图像转化为灰度图后,令图像的灰度等级数量为L份;S,T为区分目标像素点的阈值;角标0和1分别代表青鳉鱼和背景。

(1)

(2)

(3)

(4)

(5)

(6)

最优阈值S和T由公式(7)决定(α和β为修正系数):

(7)

图2为经过OTSU算法处理后的一帧二值图,可以发现仍有很多背景存在,当青鳉鱼游至容器边界时,算法将无法分辨出目标,所以在算法中加入了背景差分法和帧差法思想。

1.2.2 融合了帧差法的背景差分算法

图3为帧差法的核心思想,经分析发现,其中的拖影区(ghosting)的像素可用于更新背景差分法中的背景。

图2 经过OTSU算法处理后的图像

图3 两连续帧图像间的帧差模型

公式(9)为背景差分法中背景区域的更新方程,

(8)

(9)

公式(10)为背景差分法的核心方程,图4为去除目标背景的整体过程,最后的处理效果见图5。

事实上由于青鳉鱼的活跃性很高且游动速度很快,算法往往在启动10 s内便可以得到理想的前景图像。

INf=IN-BN

(10)

图4 提取青鳉鱼(前景)的整体流程图

图5 经过帧差法和背景差分法处理后的图像

1.2.3 青鳉鱼骨架的提取

为了在短时间内准确的求得青鳉鱼的骨架数据,算法融入了对距离变换求卷积的方法,其核心思想基于中轴变换。首先计算二值图像的距离变换图。令二值图像中白色代表目标,像素值为1,黑色代表背景,像素值为0。而距离变换图是一幅新的图像,它把二值图像重新变换为灰度图像,该图像的每个输出像素被设置成与输入图像中0像素最近的距离。

随后对距离变换图做4次卷积运算,所用的卷积核分别为:

定义图像为I(x,y),卷积核为G(x,y)(其中0

再将4幅卷积图像进行合成运算,新图像每一点的像素值为4幅卷积图像中对应点灰度值的最大值。最后把获得的新图像通过阈值分割转换为二值图像,即获得了骨架(见图6)。

图6 经过卷积运算得到的青鳉鱼骨架

上述方法获得的骨架并不连续,骨架宽度也不是单像素的,同时存在很多毛刺以及独立的分支。为了得到一个单像素宽度的连续骨架,引入了骨架细化算法,其过程为依次对前面所得图像进行开运算,膨胀,腐蚀,细化等处理(效果见图7)。

遍历骨架中所有像素点,去除其中所有相邻像素点超过2个的图像像素和连续个数小于一定数量的点。并对剩下的像素点进行编号(见图8)。

1.2.4 青鳉鱼鱼鳃的识别及其重心坐标的确定

为了定位骨架中鱼尾末端的坐标以及胸鳍根部和末梢的坐标,鱼鳃的重心被提取出来作为判定方向的参照,其中我们发明了颜色分类表算法并使用了滤波和一阶重心矩方法。分类表的使用方法为只要判定每帧图像中像素点的R、G、B同时满足表中任何一行的条件且相邻非零点的数量大于一定值便可判定该点属于青鳉鱼的鱼鳃组织(见图9)。

图7 经过骨架细化处理得到的青鳉鱼骨架

图8 经过深度细化处理得到的青鳉鱼骨架

(12)

(13)

(14)

鱼鳃区域的重心为:

(15)

1.2.5 青鳉鱼胸鳍和尾鳍骨架端点的确定

通过观察发现青鳉鱼胸鳍的根部和鱼头部分离鱼鳃重心最近;胸鳍末梢次之;而鱼尾最短;且胸鳍的骨架长度远小于鱼体主躯干的长度。据此可以定位出每帧图像中鱼尾末端的坐标以及胸鳍根部和末梢的坐标(见图10和图11)。

图9 经过颜色分类表和过滤算法处理后的图像

图10 鱼尾端点的定位(骨架被加粗标记)

表1 颜色分类表Table 1 Color distribution table

图11 青鳉鱼胸鳍内特征的定位

1.2.6 青鳉鱼胸鳍和尾鳍的摆动频率和幅值

通过前面的步骤,可以建立起整个青鳉鱼身体的骨架模型(见图12)。其中的鱼尾参照点由以鱼鳃重心为原点的一段圆弧(其半径根据鱼体的大小和鱼尾的摆动圆心来决定)与鱼体尾部方向骨架的交点来确定。

青鳉鱼胸鳍和尾鳍摆动频率计算方程:

(16)

其中n代表一定时间内青鳉鱼胸鳍(只计量其左胸鳍的活动数据)或尾鳍的往复摆动次数,t代表所经过的时间。

青鳉鱼胸鳍(只计量其左胸鳍的活动数据)和尾鳍摆动幅值计算方程:

其中φ取α或β,φimax和φimin分别代表每个摆动周期内青鳉鱼胸鳍或尾鳍摆动的最大角度和最小角度。

2 验证实验结果(Results)

为了验证算法的有效性,一条健康的成年青鳉鱼(3.5 cm长)在曝气48 h后被置于目标容器内并借助这套算法对其连续观察了12 h。整个过程的所有帧图像被保存为AVI视频格式,这样通过对视频的慢镜头回放便可借助人眼完成对算法有效性的验证工作。但由于技术条件限制目前还无法通过人眼验证算法中计量摆动幅值部分的精确验证。

图13和图14分别为通过算法和人眼得到的12 h内青鳉鱼胸鳍和尾鳍平均摆动频率的对比走势图,我们可以发现两种方式得到的数据几乎一致,误差小于1%。

图13 分别通过算法和人眼得到的12 h内青鳉鱼胸鳍平均摆动频率的对比图

图12 青鳉鱼胸鳍和尾鳍的骨架模型

图14 分别通过算法和人眼得到的12 h内青鳉鱼尾鳍平均摆动频率的对比图

图15和图16分别为12 h内算法对胸鳍和尾鳍平均摆动频率走势图,通过对视频的慢镜头回放,可以发现青鳉鱼的这2项特征值总体偏低,且随着胸鳍和尾鳍摆动频率的增加,其平均摆动幅度也会上升,这与算法得出的趋势相一致。整个算法耗时很短,完成每帧图像的运算只需要21 ms。

3 讨论(Discussion)

由于青鳉鱼的活性很高,往往10 s内便可完全游离原始区域,所以后续算法可完全在摄像机开始启动1 min后开始工作。

图15 通过算法得到的胸鳍平均摆动幅值走势图

图16 通过算法得到的尾鳍平均摆动幅值走势图

算法中采用了将青鳉鱼的鱼鳃重心作为鱼体方向的参照点,其主要是由于以往的方法中以整个鱼体的重心作为参照的方法过于费时,需要遍历整个鱼体的像素点,且鱼的重心往往位于靠中间的位置,不易判断方向。而青鳉鱼的鱼鳃组织偏红;与其身体其他部分像素点的R、G、B比例差异明显;且整个组织的位置在任何情况下都位于鱼头内;甚至在重心识别产生偏差情况下都不会对方向的判定产生影响,所以最终采用以鱼鳃的重心作为方向参考点。

也因为这个因素,实验平台中主摄像机的布置区别于其他传统的形式,主要是考虑到采用从容器下方观测青鳉鱼时,不仅可以看到整个鱼鳃组织,而且可以观察到鱼体大部分细节特征。

算法中采用了以青鳉鱼左侧胸鳍的数据作为最终结果,其主要是由于通过大量观察,发现青鳉鱼两侧的胸鳍总是以交替的形式摆动,所以每一次只能从缸底看到其一侧的胸鳍,所以在计量其频率和幅值时只选择对鱼体的左胸鳍进行计数。

在实验中我们发现,青鳉鱼在未中毒状况下胸鳍和尾鳍的平均摆动频率总体趋于平缓,主要因为它们是在固定的简单环境中活动,这种活动存在一定的规律性,如绕圈和“亲吻”鱼缸等。其小幅度波动主要是由于其每隔一段时间便会剧烈跳动的生理过程所引起。

算法得出的数据与人眼的观测结果趋于一致;准确率很高;且耗时极短,所以有理由相信本算法是可靠而有效的。

综上可知: 1.图像经过二维OTSU和融合帧差法的背景差分法后可以很好的提取到完整而干净的青鳉鱼图像,且整个过程小于1 min。

2.基于距离变换、图像卷积和形态学算法的处理过程可以很好提取出每帧图像中包括胸鳍在内的单像素鱼体骨架。

3.基于鱼鳃重心定位鱼尾方向和胸鳍根部点的方法十分有效。

4.经过验证,整个算法的准确率大于99%,且处理每帧图像的时间不超过21 s,完全满足实时性和有效性的要求。

5.整套算法可广泛应用于生物预警、水体综合毒性评估与预测等相关领域的研究。

[1] Little E E,Archeski R D,Flerov B A,et al.Behavioral indicators of sublethal toxicity in rainbow trout [J].Archives of Environmental Contamination and Toxicology,1990,19(3): 380-385

[2] ASTM.ASTM E1711-12,Standard Guide for Measurement of Behavior during Fish Toxicity Tests [S].West Conshohocken: ASTM International,2012

[3] Israeli-Weinstein D,Kimmel E.Behavioral response of carp (Cyprinus carpio) to ammonia stress [J].Aquaculture,1998,165(1-2): 81-93

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

[5] 文闻.斑马鱼标志物图像信息获取与处理方法研究[D].北京: 北京航空航天大学,2011

[6] 张伟涛.基于视频的鱼类运动状态监测研究[D].秦皇岛: 燕山大学,2012

[7] Heng M,Tsai T F,Liu C C,et al.Real time monitoring of water quality using temporal trajectory of live fish [J].Expert Systems with Applications,2010,37(7): 5158-5171

[8] 陈勇.基于机器视觉的鱼体运动模型研究[D].杭州: 浙江工业大学,2010

[9] Israeli D,Kimmel E.Monitoring the behavior of hypoxia-stressed Carassius acuratus using computer vision [J].Aquacultural Engineering,1996,15(6): 423-440

[10] Kato S,Nakagawa T,Ohkawa M,et al.A computer image processing system for quantification of zebra fish behavior [J].Journal of Neuroscience Methods,2004,134: 1-7

[11] Migliore D A,Matteucci M,Naccari M,et al.A Revaluation of Frame Difference in Fast and Robust Motion Detection [C].The Fourth ACM International Workshop on Video Surveillance and Sensor Networks,2006,6: 215-218

[12] Minhan Z,Dayong L.Moving objects detection and tracking based on two consecutive frames subtraction background model [J].Computer Measurement and Control,2006,14(8): 1004-1006

[13] Stauffer C,Grimson W E L.Adaptive Background Mixture Models for Real-Time Tracking [C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999,2: 23-25

[14] Abdelkader M F,Chellappa R,Zheng Q,et al.Integrated Motion Detection and Tracking for Visual Surveillance [C].The Fourth IEEE International Conference on Computer Vision Systems,2006

[15] Shuan W,Haizhou A,Kezhong H,et al.Difference image based multiple motion targets detection and tracking [J].Journal of Image and Graphics,1999,4 (6): 470-475

[16] Otsu N.A threshold selection method from gray-level histograms [J].IEEE Transactions on Systems Man,and Cybernet,1979,9(1): 62-66

[17] Kato S,Nakagawa T,Ohkawa M,et al.A computer image processing system for quantification of zebrafish behavior [J].Journal of Neuroscience Methods,2004,134(1): 1-7

A Computer Vision Algorithm Which Was Used for Measuring the Oscillation Frequency of the Japanese Medaka’s Pectoral Fin and Caudal Fin

Zhang Rong1,Zheng Hongyuan2,*,Li Lu3,Rao Kaifeng4

1.School of Mechanical Engineering and Automation,BeiHang University,Beijing 100191,China 2.The Postdoctoral Workstation of Great Wall Oil Drilling Engineering Company Limited of China Petroleum Corporation and China Petroleum University (Beijing) Post Doctoral Flow Station,Beijing 100101,China 3.Beijing Research Institute of Mechanical and Electrical Engineering,Beijing 100191,China 4.Research Center for Eco-Environmental Science,Chinese Academy of Science,Beijing 100191,China

28 January 2015 accepted 5 May 2015

Japanese medaka (Oryzias latipes) has high value of application in the field of drinking water safety.The active state of fins can reflect the pollution status of waters.However,due to the limitation of technical conditions,the traditional methods cannot effectively extract these features in real time.To address this issue,this paper proposed an efficient method based on the computer vision to efficiently identify and measure the swing frequency and amplitude of pectoral and tail fins.Several image processing algorithms,such as automatic threshold segmentation,frame difference,background subtraction,gravity method,image convolution and skeleton thinning,were employed in this paper to extract the details quickly.The preliminary results demonstrated that the proposed method is effective and feasible,and can be widely applied to the field of water environment monitoring,such as the research of toxic substances on the behavior characteristic of medaka,and evaluation of the risk levels of the water environment.

medaka; fins; computer vision; online monitoring; early warning

国家自然科学基金(61071158)

张融(1971-),女,讲师,研究方向为生态毒理学,E-mail: Rongzhangb507@163.com;

*通讯作者(Corresponding author),E-mail: 23778507@qq.com

10.7524/AJE.1673-5897.20150128001

2015-01-28 录用日期:2015-05-05

1673-5897(2015)4-154-08

X171.5

A

郑宏远(1981-),男,机械工程自动化方向博士,主要研究方向为环境污染和计算机视觉,发表学术论文8篇。

张融,郑宏远,李录,等.一种计量青鳉鱼胸鳍和尾鳍摆动频率和幅值的计算机视觉算法[J].生态毒理学报,2015,10(4): 154-161

Zhang R,Zheng H Y,Li L,et al.A computer vision algorithm which was used for measuring the oscillation frequency of the Japanese medaka’s pectoral fin and caudal fin [J].Asian Journal of Ecotoxicology,2015,10(4): 154-161 (in Chinese)

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