基于视频图像的鱼类行为轨迹追踪
2015-08-28江丹丹桂福坤
江丹丹,桂福坤
(国家海洋设施养殖工程技术研究中心,浙江海洋学院海洋科学与技术学院,浙江舟山 316022)
基于视频图像的鱼类行为轨迹追踪
江丹丹,桂福坤
(国家海洋设施养殖工程技术研究中心,浙江海洋学院海洋科学与技术学院,浙江舟山316022)
随着网箱养殖的不断发展,准确把握养殖水质变化、养殖密度等方面的信息是保证优质高产的必要条件,现在网箱养殖中主要通过人眼观测具有很大的不可靠性。而鱼类在环境变化时能产生不同的应激反应,所以通过观测鱼类游泳行为能够为鱼类健康监控提供重要依据。本实验利用图像处理技术结合计算机编程对拍摄的鱼运动视频进行处理,首先对视频图像进行灰度变换、灰度拉伸、滤波去噪预处理得到较好质量的图像,接着进行目标分割提取出目标鱼类,对鱼类进行识别去除其他杂点,最后利用提取的出的鱼的边缘轮廓计算形心点,把形心点作为跟踪点,模拟出鱼类运动轨迹。该实验的能在视频图像上直接画出鱼类的运动轨迹,实现鱼类运动的实时跟踪。
网箱养殖;图像处理;鱼类游泳行为;轨迹跟踪
近年来,随着网箱养鱼的发展,养殖种类的日益增多,鱼类网箱养殖已成为我国发展渔业生产的重要手段。目前影响鱼类网箱养殖的因素有很多,从外在因素来看,现在生活和工业污水的大量排放,水体的富营养化的日益加剧,使得水产养殖的水体恶化同时也使病害日益严重。从内在因素来看随着鱼类养殖量的增加导致养殖密度增大,可能导致养殖水质恶化和缺氧等问题,当鱼处于这样的环境下在较短的时间内就可能会造成较大的产量损失。鱼会表现出各种各样的行为,在水环境改变或者受到某种刺激时[1-2]。例如,当鱼感染寄生虫时会表现出跳跃行为等;当鱼生病时对外界刺激的反应时间会变长而且游泳速度也会变慢;当水中的溶解氧不足时,为了获得充足氧气鱼会往水面上方游动[3]。为了达到优质高产低消耗的目的,养殖者需要获得网箱设施养殖中鱼的在环境变化时的应激行为等信息来为养殖过程提供更好的指导。
目前在水产养殖中鱼的各种行为信息基本常是通过人的直接观察得到,受人的主观判断影响比较大导致获得信息具有很大的不可靠性,导致不能及时发现养殖系统中出现的问题并且耗费大量的人力和时间。图像处理技术的发展为设施养殖中鱼的行为的研究提供了可靠的手段,可以使鱼在不受到任何干扰的情况下对它进行全面实时的观察。利用计算机图像处理技术来对鱼的行为进行监测从而实现对养殖环境的调控是一种新型养殖手段,不但提升鱼类网箱养殖过程中的科技含量,并且对提高管理效率和增加养殖产量具有非常重要的意义[4]。随着计算机视图像处理技术在鱼类养殖中的作用日益突出,越来越多的国内外学者开展了对鱼类行为的研究,并且已经取得了一定的研究成果。在国外,如MA等[5]利用计算机视觉系统对鱼在不同运动模式下的运动轨迹进行分析从而实现水质监测;NOGITA等[6]通过分析鱼类的游泳行为来估计水的毒性;KIMMEL等[7]研究了在不同氨浓度和氧浓度下锦鲤的应激反应,及其这两个因素对锦鲤活动区域分布的影响。在国内,徐建瑜等[8]研究了在养殖过程中溶氧浓度波动和不同非离子氨浓度应激条件下罗非鱼的行为反应;黄东龙等[9]研究了斑马鱼在不同程度突发性的Zn2+和Cr6+胁迫下的游泳速度的变化。卢焕达等[10]利用摄像设备对鱼的行为进行监控,发现鱼类由于应激或疾病等引起的体色和游动速度的变化。
本文研究的鱼类行为轨迹跟踪系统,利用计算机图像处理技术对采集的视频图像进行分析处理,最终实现对鱼的跟踪和轨迹的输出。鱼的运动轨迹的分析可以在一定程度上反映鱼所处的状态,为养殖用户提供有用的信息提高管理水平,减少资源的浪费及提高成活率。
1 图像分析系统的基本流程
轨迹视频跟踪分析系统由图像采集、图像预处理、目标分割、目标跟踪以及轨迹输出五个部分组成,所有部分统一集成形成一体化自动分析软件。系统软件打开拍摄的鱼类游动视频后,首先对采集的视频图像进行图像预处理操作,此过程分为图像灰度化,图像灰度变换、中值滤波等步骤;然后对预处理后的图像进行二值化、形态学滤波和目标的边缘轮廓提取[11];目标检测结束后利用边缘计算出目标的形心,以形心点对目标进行跟踪,最后输出运动轨迹。
图1 轨迹跟踪分析系统流程图Fig.1 Flow chart of the video trajectory tracing analyzing system
1.1图像预处理
1.1.1灰度化
彩色图像在处理图像的时候,要分别对R、G、B三种分量进行处理,信息量很大,处理速度会变慢,极大地降低检测盒识别的效率。因此为了减少存储空间和计算量,首先需要将彩色图像转化成灰度图像。灰度化处理[12]就是对彩色图像的R、G、B分量值进行等值转化,使图像变成一种具有从黑到白256灰度级色的单色图像。在光线不好,阴影较重的情况下可进行灰度变换操作以得到背景光线较均匀的图像。灰度转换公式为:
式中,Y表示灰度图像的亮度,R、G、B分别表示原图像的红、绿、蓝分量值。
1.1.2灰度拉伸
在对彩色图像进行灰度化后,灰度值可能会大部分集中在一个小的范围内,使背景和前景差别不大,给接下来的阈值分割会带来一定的困难,因此需要进行灰度拉伸。灰度拉伸也可以称为对比度拉伸是图像增强的一种,利用分线段变换函数来增强图像的对比度,增强图像中感兴趣的灰度区域,抑制不感兴趣的区域。
1.1.3滤波降噪
图2 图像预处理结果图Fig.2 The image preprocessing result
在采集、传输及图像处理过程中往往会存在一定程度的噪声影响和干扰,使图像出现不完整、噪声点模糊等现象,直接影响了对图像的进一步处理。因此在进行目标检测之前必须进行降噪处理来改善图像质量,以利于对图像特征进行分析。本文采用中值滤波对图像进行去噪,中值滤波方法[13]是把原图像中某像素点为中心的小窗口内(本文采用3*3的窗口)的所有像素点的灰度值按从小到大的顺序进行排列找出中间值,然后用该中间值代替原像素点的灰度值。该方法通过把与周围灰度值差别较大的像素值换成与周围灰度相近的值,使噪声消除图像得到平滑[14-15]。中值滤波在处理过程中不会消除任何像素点所以可以更好的保护图像的边缘,并且由于它不需要统计特性进行计算使得其在使用中比较方便。
1.2目标检测
目标检测也叫目标提取,它将目标的分割和识别合二为一,其具有准确性和实时性。目标自动提取和识别是实现目标实时处理的重要基础。在本实验中目标检测是将前景目标(鱼)从背景(水体)中分割提取出来,实现前景和背景的分割。鱼一般都处于不间断的游泳状态因此属于运动的目标体,如果要在进一步实现鱼的实时跟踪和数据提取就必须要实现对鱼这个运动目标的提取和识别。
1.2.1背景差分
背景差分法[16]是一种常用的目标检测法,特别适用于静态场景中对运动目标的检测。背景差分的主要思想是将当前帧图像与事先存储或实时更新得到的背景图像进行减运算。本实验中背景图像为水体基本是静止不变的,每帧图像中只有鱼目标区域的像素值发生改变,所以是比较适合用背景差分的方法来进行目标提取的。在差分图像中像素值大于某一阈值则判定此像素点为目标运动区域,否则判定为背景区域。将视频帧图像与背景图像进行差分,得到差分图像,可用以下公式:
式中,Ik(x,y)、Fk+1(x,y)、Bk(x,y)分别为差分图像、视频帧图像和背景图像。利用上述公式对Ik(x,y)进行阈值化分割可得到二值化图像。
1.2.2阈值分割
本文采用Ostu(最大类间方差法)确定二值化分割的阈值。Ostu[17]是一种自适应阈值确定的方法,是基于整幅图像的灰度统计特性实现自动选取阈值。Ostu算法的基本思想是用某一假设的灰度值t将图像的灰度分成背景和目标两部分,当两组的类间方差最大时,前景和背景的差别最大,此灰度值就是图像二值化的最佳阈值,二值化效果最好[18]。本文所用图像分割阈值为t=120。图4为采用Ostu阈值分割后的效果。
设一幅图像的像素总数为N,灰度值范围为在0~(M-1),灰度值为i的像素总个数为ni,则各灰度的概率为:
选取阈值t,将图像分成两组A和B,A组包含的像素的灰度值范围为0~t,B组的灰度值范围为(t+1)~(M-1),可得
1.2.3图像形态学处理
经过二值化分割后,已基本可得到正确的鱼体目标了。然而此时的鱼体图像往往含有不同程度的噪声,如小的孤立点和空隙,鱼体边缘有很多不光滑的毛刺、鱼体的白色区域有黑色点或被割裂不连续等。本文采用数字图像中的闭运算,先对目标图像做膨胀处理,再用腐蚀处理方法来进行恢复。
图3 Otsu阈值分割效果图Fig.3 Image processing result using Otsu method
图4 图像形态学处理Fig.4 Image morphological processing
图像形态学中的闭运算可以平滑物体的轮廓通常也会弥合较窄的间断和细长的沟壑。消除小的孔洞,填补轮廓线中的断裂。膨胀运算[19]的作用是将与物体接触的所有背景点合并到该物体中,使边界向外扩张。腐蚀运算[20]的作用是消除边界点,使边界向内部收缩。先用膨胀运算来填充图像中的小间隙和断点,然后用腐蚀运算将孤立点去除。先经过膨胀和腐蚀处理后,原图像的较小的噪声去除,图像得到平滑,从而将运动目标完整的检测出来。
1.2.4连通区域分析
连通域是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域,连通域分析是将图像中各个连通域找出并标记。连通域标记就是对二值图像中的每个不同的连通域进行不同的编号,以区分不同的连通域所代表的不同前景目标。经过目标和检测后得到背景为黑色,目标鱼前景为白色的二值化图像,但计算机不能自动识别出鱼类白色区域为一个连通区域。所以需要采用一定的算法来对每个区域的像素进行标记,把图像中的每个区域块标记和区分出来。
连通域标记步骤:(1)按照从上到下,从左到右的顺序扫描所有二值图像的像素点,把每一行中连续的白的像素组成的一个序列称为一个块,记下它的起点和终点及其所在的行号。(2)除了第一行以外的块,如果它与前一行中的所有块没有相邻区域,则给它一个新的标号;如果仅和上一行中的一个块有相邻,则将上一行的标号赋给它;如果与上一行有2个及其以上的相邻区域,把这几个相连块中最小标号赋给当前块,并将上一行的中与和它相邻的这个块写入等价对,认为他们属于同一类。(3)根据等价对建立等价表(5)对已经标记过的块,查找它在等价表中的最小标号,作为新的标记。(4)将每个目标连通域在图像中标记。
在提取出来的连通区域中,有些并不是目标鱼,由于背景简单,其它杂点多为饵料或者鱼类的排泄物,这些物体的体积要小于鱼的体积,所以统计轮廓的面积把长度小于20,高度小于30的把连通域设成背景并对目标进行标记。
图5 连通域分析Fig.5 Connected component analysis
1.3目标跟踪
1.3.1边缘检测
经过目标检测后,可以得到清晰的鱼类目标,此时对鱼进行边缘提取以方便对其进行跟踪。本文采用Sobel算子对鱼目标的边缘进行提取。Sobel算子结合了高斯平滑和微分所以采用该算子提取的边缘对噪声有一定的鲁棒性。由于Sobel算子的运算复杂度小所以更易于硬件实现并且实时性较好[21]。对于一幅图像,它的边缘图像可由下式获得:
其中:
式中,*为卷积运算,Hx和Hy为Sobel算子,fE(x,y)为提取的边缘图像。
1.3.2形心提取
目标运动实质就是把目标看成一个质点,用目标区域的形心坐标(x,y)来表示物体的位置。?矩特征表征了图像区域的几何特征,其具有旋转、平移、尺度等特性的不变特征,所以又称其为几何不变矩。在图像处理中,几何不变矩可以作为一个重要的特征来表示物体。通过计算区域内的像素点得出区域的不变矩特征,利用目标区域的不变矩特征作为目标图像的形状特征参数,以此来计算目标的形心。采用边缘提取后的目标进行形心计算,不是把每个目标的所有像素点都代入上式,而只是利用边缘像素进行计算,可以减少计算量。
大小为n×m的数字图像f(i,j),其矩计算公式如下:
0阶矩m00是图像灰度f(i,j)的总和。二值图像的m00表示目标的面积。用m00来规格化1阶矩m10和m01,则可等到目标的形心坐标(xc,yc)为:
利用上述公式计算每一帧图像的形心位置,将目标对象形心位置随时间的变化连起来,即可获得目标的运动轨迹。
图6 基于边缘的目标形心提取Fig.6 Target centroid extraction based on the edge
2 应用实例
实验选取个体大小适宜的鱼两条作为试验鱼,饲养于玻璃水槽中。试验的视频由如图7所示的实验装置所得,包括CCD摄像头、OK图像采集卡和循环过滤水槽四部分组成。OK图像采集卡安装在计算机的主机中,通过数据线和CCD摄像头相连接。CCD摄像头安装在玻璃水槽的正上方使镜头正对水面,调整镜头使其能够拍摄整个水面并且能够清晰的显示鱼体。循环过滤槽的作用是过滤水中的残余饵料和鱼的排泄物,使水体的杂质减少。玻璃水槽的四周用白色防水纸张黏好,确保采集的视频图像背景比较均匀和清晰。本试验采用拍摄的视频图像分辨率为606×345像素,位深度为24位,帧率为15帧/s。
图7 鱼类运动视频采集系统Fig.7 Video capture system for fish motion
试验时,首先对拍摄的鱼的运动视频图像进行灰度变换和中值滤波得到较好的灰度图像,其次通过图像间的背景差分和采用分割效果较好的Ostu阈值分割,得到鱼的目标轮廓;通过对图像的膨胀和腐蚀操作去除孤立点和使割裂的部分得到连接。接着对目标连通域标记以区分开目标,最后提取鱼的边缘计算鱼的形心位置,将每一帧图像的形心位置连接,获得鱼的运动轨迹。本文通过实验自主开发出基本可以实时和准确的输出鱼的用轨迹的系统,如图8所示,并且可以文本输出轨迹点进行保存进行excel绘图,如图9所示。
图8 系统界面图Fig.8 Interface of the program
图9 鱼类轨迹图Fig.9 Trajectory of the fish
3 结论
跟踪鱼的运动轨迹是开展鱼类行为学研究的一个基础技术,本文利用计算机图像处理技术构建了一套目标提取的快速方法,并将其应用到鱼类运动视频图像的分割和提取上,然后再应该用快速而识别的算法对鱼类进行识别。试验结果表明,该研究提出的方法针对不是特别复杂场景中的鱼类跟踪具有较好的效果,并且基本实现了鱼类运动轨迹的实时跟踪。
在后续研究中,将进一步研究在实际养殖环境下,鱼群异常行为检测,尤其是带有干扰情形下的异常检测,以期能更有效地应用到现代化水产养殖中,从而提升养殖技术含量,为网箱养殖提供可靠依据。
[1]徐建瑜,崔绍荣,苗香雯,等.计算机视觉技术在水产养殖中的应用与展望[J].农业工程学报,2005,21(8):174-178.
[2]徐建瑜,苗香雯,崔绍荣,等.计算机视觉技术在鱼类应激状态监测中应用研究[J].渔业现代化,2008,35(3):15-18.
[3]范良忠,刘鹰,余心杰,等.基于计算机视觉技术的运动鱼检测算法[J].农业工程学报,2011,27(7):226-230.
[4]于欣,侯晓娇,卢焕达,等.基于光流法与特征统计的鱼群异常行为检测[J].农业工程学报,2014,30(2):162-168.
[5]MA Heng,TSAI Tsuengfang,LIU Chincheng.Real-time monitoring of water quality using temporal trajectory of live fish[J].Expert Systems with Applications,2010,37(7):5 158-5 171.
[6]NOGITA S,BABA K,YAHAGI H,et al.Acute toxicant warning system based on a fish movement analysis by use of AI concept[C]//Artificial Intelligence for Industrial Applications,1988.IEEE AI'88,Proceedings of the International Workshop,1988: 273-276.
[7]ISRAELI D,KIMMEL E.Monitoring the behavior of hypoxia-stressed Carassius auratus using computer vision[J].Aquacultural Engineering,1996,15(6):423-440.
[8]徐建瑜,刘鹰.基于计算机视觉的罗非鱼适应环境的体色变化研究[J].水生生物学报,2009,33(2):164-169.
[9]黄东龙,周勤.水体突发性重金属污染胁迫下斑马鱼的行为反应分析[J].环境监测管理与技术,2011,23(4):27-31.
[10]卢焕达,刘鹰,范良忠.基于计算机是视觉的鱼类行为自动监测系统设计与实现[J].渔业现代化,2011,38(1):19-23.
[11]张学贺,张学东,丁宁.基于OpenCV的运动目标检测与跟踪[J].辽宁科技大学学报,2010,33(5):490-494.
[12]CATTLEMAN R K.Digital image processing[M].Beijing:Publishing House of Electronics Industry,2008.
[13]马彦平,白由路,高祥照,等.基于数字图像的玉米叶面积测量方法研究[J].中国农学通报,2009,25(22):329-334.
[14]阮秋琦.数字图像处理学[M].北京:电子工业出版社,2003.
[15]蒋洁,焦斌亮.Matlab在激光水下图像处理中的应用[J].科技导报,2010,28(10):87-89.
[16]周鸿斌.基于计算机视觉的鱼类运动监测系统研究[A].
[17]OSTU N.A Threshold Selection Method from Gray-Level Histograms[J].IEEE Transactions on System,Man,and Cybernetics,1979,9(1):62-66.
[18]孙少林,马志强,汤伟.灰度图像二值化算法研究[J].价值工程,2010,42(5):142-143.
[19]甘明刚,陈杰,刘劲,等.一种基于三帧差分和边缘信息的运动目标检测方法[J].电子与信息学报,2010,32(4):894-897.
[20]栾庆磊,赵为松.动背景下帧差分法与边缘信息融合的目标检测算法[J].光电工程,2011,38(10):77-83.
[21]张鹤,吴谨,吴雪垠.结合对称差分和边界信息的运动目标检测方法信息技术[J].信息技术,2011,11(2):138-142.
Fish Motion Trajectory Tracing Technology Using Video Images
JIANG Dan-dan,GUI Fu-kun
(National Engineering Research Center of Marine Facilities Aquaculture,Marine Science and Technology School of Zhejiang Ocean University,Zhoushan316022,China)
With the continuous development of the sea cage aquaculture,it is necessary to monitor the water-quality and culture density to assure the superior quality.However,it is difficult to do this work by human labor.The fish have the different stress response as circumstances varied,so observing the fish behavior provides an important method for fish health monitoring and early warning.In this study,fish behavior video was processed by using computer vision technology and programming.The video images were processed following the steps:intensity transformations,gray stretch,filtering de-noising pretreatment.At the end,the target fish was extracted using target segmentation method.Then we will get the eddy contour of the fish to compute the centroid after removing other miscellaneous points.Taking the centroid as a trace point,we got the fish trajectory finally. From this study,we can draw the fish trajectory directly from the video.The program can be used for real-time tracking of the target fish.
aquaculture;image processing;fish swimming behavior;trajectory tracking
TP391.41
A
1008-830X(2015)02-0112-07
2014-11-03
国家科技支撑计划(2012BAB16B02);浙江省学术攀登计划(pd2013217);舟山市海洋专项(2013C41002)
江丹丹(1989-),女,浙江台州人,硕士研究生,研究方向:养殖生物学与养殖工程技术.E-mail:jdd725@126.com
桂福坤(1976-),男,副教授,研究方向:海洋设施养殖工程技术.E-mail:gui2237@163.com