2. 常州市传感网与环境感知重点实验室, 江苏 常州 213022
2. Changzhou Key Laboratory of Sensor Networks and Environmental Sensing, Changzhou 213022, China
当前,我国水产养殖业迅猛发展,水产养殖总量占全球总量的70%[1]。水产养殖业的发展对改善我国农村经济结构、缓解农民就业压力起到了不可或缺的作用。然而,由于传统水产养殖以人工观察为主,随着养殖年限的增加,其弊端也日益凸显出来[2],主要表现在:养殖户靠养殖经验管理鱼塘,存在主观误判的可能;不能对水质变化做出及时、有效的对策;不能实时获取水下鱼群的健康状况等。随着信息与通信技术的发展,物联网技术也越来越多地应用于水产养殖监控系统。基于现场总线的监控系统[3]和基于无线传感网的监控系统[4]是其中两种主流的监控方案。基于现场总线的监控系统通过有线的方式传输数据,系统机制比较成熟,但存在布线困难、线路易损坏、维护成本高等缺点。基于无线传感网的监控系统利用无线网络实现节点间的通信,信息实时性强、可扩展性好。目前,国内外大量学者开展了无线传感网络在水产养殖方面的研究。杨旭辉等[5]构建基于ZigBee的节能型水产养殖环境监测系统;马从国等[6]研究了基于无线传感网的水产养殖池塘溶解氧智能监控系统;Daudi等[7]设计了基于无线传感网的水产养殖水质测控系统。虽然上述智能化水产养殖监控系统在池塘水质监测与调控中都取得了一定的成果,但缺少对鱼群实时生长状况的监控及鱼群健康状况的智能化识别,不能完全实现水产养殖的实时化与自动化。
文中提出一种基于智能视觉物联网的水产养殖监测系统。智能视觉物联网简称“视联网”,相较于其他物联网,其主要增加了对视觉标签的支持。本系统不仅可以实时对水质信息进行监测,还可以实时获得鱼群的健康参数。另外采用客户端/服务器模式,支持客户端远程查询服务器数据,并设计有专门网站,方便用户查询水质与鱼群信息,真正实现了水产养殖的智能化与便捷化。
1 系统整体架构及硬件设计 1.1 系统的整体架构本系统采用的整体架构如图 1所示,主要由终端感知模块、数据传输模块、服务器模块、客户端模块以及供电模块构成。
终端感知模块由ZigBee终端节点、溶解氧传感器、温度传感器、pH传感器以及网络摄像机组成。此模块主要负责对池塘溶解氧、温度、pH值、鱼群视频进行实时采集,采用ZigBee协议等将采集到的数据分别发送给ZigBee协调器和无线路由器[8-9]。数据传输模块由ZigBee协调器、MCU、GSM以及无线路由器构成。此模块主要负责对感知终端发送的数据进行接收,同时对数据做必要处理后发送给服务器。服务器模块主要用于接收水质数据以及无线路由器发送的视频数据。对水质数据进行必要的解码,获取池塘溶解氧、温度、pH参数,并利用图像识别相关知识对鱼群图像进行识别,得到鱼群健康参数,显示这些数据并将其存入数据库。客户端模块主要实现对服务器数据进行远程读取,从而使得用户可以在任何时间、任何地点查看监控数据。
1.2 终端感知模块设计终端感知节点是智能视觉物联网的基本元素,其主要功能是对水质参数以及鱼群视频进行监测。文中提出的终端感知硬件设计方案如图 2所示,MSP430芯片作为终端节点的处理核心,对溶解氧传感器、温度传感器和pH传感器采集到的水质数据进行处理,从而获得池塘溶解氧、温度、pH值等水产养殖环境关键参数。然后,通过串口将数据发送给CC2530芯片的ZigBee无线通信模块[10],此模块具有在ZigBee组网内实现数据的发送与接收的功能。鱼群视频采集模块负责采集水下鱼群图像,由于水产养殖监测对距离有一定的要求,本模块采用网络摄像机,在终端硬件系统上加载裁剪后的嵌入式系统,利用嵌入式系统实现视频的采集与无线传输。
考虑到安全性,文中为采集到的数据设计了一种数据帧格式,由于网络摄像机已经对视频数据流进行了编码,只需对水质数据进行编码即可。此编码的帧格式如表 1所示,由帧头、节点编号、温度数据、pH数据、帧尾组成。
数据传输模块主要实现水质数据和鱼群视频的传输。利用CC2530芯片模块、8051单片机以及GSM模块实现水质数据的传输。由于ZigBee是短距离无线通信芯片,虽然它的理论最大距离可以达到上千米,但是在实际中,由于建筑物等对信号的阻挡,最大传输距离不大于100 m[11],远远达不到实际应用的需求,因此采用GSM网络实现数据的远距离发送。鱼群视频图像利用无线局域网络进行传输,传输速度快,可以满足实时性的要求。
2 软件设计 2.1 终端感知软件设计智能视觉物联网系统中最基本的单元就是终端感知模块,其工作流程如图 3所示。
针对监测系统的需要,终端感知模块的任务是转换并处理传感器采集的水质数据。在实际监测中,每隔若干时间对水质信息进行一次采集,采集完后立刻将数据通过Sink节点发送给GSM远程通信模块。GSM模块会将接收到的数据利用GSM网络发送到服务器端或者直接以短信的形式发送到用户的手机上。整个硬件系统采用模块化编程,每个功能模块采用子函数的方式编写。这样不仅可以缩短开发时间,而且增加了程序的可移植性[12]。
2.2 服务器软件的设计服务器软件的设计是基于MFC框架的,MFC是微软公司提供的一个基础类库,封装了很多Windows API,为系统界面开发提供了便捷。本系统的服务器软件包括主界面模块和数据库管理模块两部分。
主界面模块主要由实时视频监控窗口、水质数据显示模块以及鱼群健康状况显示模块3个部分。实时视频监控窗口主要用来传输当前池塘内鱼群监控画面。水质数据显示模块将WSN通信技术融合起来,实现了对池塘溶解氧、水温、pH等关键因素的自动检测,并以数值的方式显示在服务器软件界面上。鱼群健康状况显示模块利用图像识别技术对鱼群视频进行识别,获取鱼群健康信息,包括鱼群速度、鱼群加速度、鱼群巡游深度等信息,并将其存入数据库中。系统主界面模块如图 4所示。
数据库管理模块负责将水质参数与鱼群的健康参数的监测结果录入到系统数据库,形成一些既相互联系又各自独立的表格。数据库支持添加、查询、删除、编辑等数据项[13]。
在运行过程中,只有数据满足更新条件时,才会自动添加更新后的信息,这样就会避免定时更新数据带来的数据遗漏与数据冗余现象。本系统采用了SQL Server数据库来实现上述功能。SQL Server数据库易于使用,适合大容量数据的应用。系统的数据库模块如图 5所示。
鱼群识别算法主要是对水产养殖系统中的鱼群进行自动化检测、识别,以此来获得鱼群的健康状况,从而可以实时获得鱼群的健康状况,提高时效性并降低人力损耗。设计的鱼群识别流程如图 6所示。
先通过网络摄像机采集到鱼群视频图像,其后对其进行预处理,去除图像获取及传输过程中的噪声、减小处理时间。在目标检测部分综合使用手动选取目标与自动检测目标,用户可以根据实际需求选择相应模式,一旦目标选定之后,相当于给鱼群打上了一个视觉标签,提取该鱼群特征。目标跟踪模块采用CamShift对鱼群进行跟踪,并绘制其轨迹,记录鱼群参数,从而判断鱼群健康状况[14]。
3.2 图像预处理在鱼群图像的采集、传输过程中,由于诸多因素的干扰,会引入大量噪声,造成图像质量变差[15],因此,为了使检测的鱼群图像变得更加清楚明显,需要对质量较差的图像进行前期处理。本系统在设计实现时首先将RGB空间的彩色图像变换到HSV空间,然后将基于直方图修正的图像增强方法应用到彩色图像的亮度分量上,保持色调信息H和饱和度信息S不变,最后再变换回RGB空间,以此来改善视频图像的质量。用数学方法可表示成:
原图像HSV模型的像素值x为
$ x = \left[{H, S, V} \right] $ |
增强后HSV模型的像素值x′为
$ x' = [H, S, {\rm{log}}\left( \mathit{V} \right)] $ |
在对获取到的鱼群视频进行预处理后,要对其进行前景背景分离以提取鱼群目标。针对动态目标的自动检测有3种方法,即背景差分法、帧间差分法、光流场法。在对摄像机固定且视频背景固定的场景下,背景差分法的检测效果非常好,因此应用十分广泛。图 7为背景差分法的结构流程。
背景差分法的算法描述如式(1)所示。
$ D\left( {x, y} \right) = \left\{ \begin{array}{l} 1, \;\left| {{f_k}\left( {x, y} \right) - {B_k}\left( {x, y} \right)} \right| > T\\ 0, \;其他 \end{array} \right. $ | (1) |
式中:取一帧图像,fk(x, y)为该目标图像中点(x, y)的灰度值;Bk(x, y)为背景图像中点(x, y)的灰度值;T为人为定义的阈值。
获得背景图像的方式一般包含两个:一是利用不存在目标的单帧图像作为背景;二是背景建模。对于简单背景的图像来说,利用不含目标的图像作为背景方便且可靠性高。在本系统中,利用提前拍摄好的图像作为背景,将视频帧与背景做差运算,再对获得的差分图像二值化和形态学处理。在对二值化提取目标时,文中提出利用二值图像中连通域的面积、连通域最小外接矩形的长宽比、连通域面积占最小外界矩形面积的比重以及连通域的位置坐标来去除多余连通域,从而提取出目标区域。在自动目标检测不准确或者需要单独对某个目标进行检测时,可选择手动检测模式。在视频初始帧中,人为框定想要跟踪的目标,将其坐标、颜色等信息提取出来,利用这些特征进行跟踪。
3.4 目标跟踪将目标提取模块提取的目标打上视觉标签,利用相关跟踪算法对该目标进行跟踪,并把识别结果存入该视觉标签。对目标进行准确实时地跟踪可以获得目标的运动参数,如运动速度、加速度、坐标位置等。当鱼类受到外界群种入侵或者其它刺激时,其加速度与速度会发生较大突变,且值会比较大。而当鱼群巡游高度过高时,一般都是因为水中溶解氧浓度过低,鱼群需要冒头来呼吸氧气[16]。因此可以根据鱼群运动参数来检测鱼群健康状况。文中采用Camshift算法对鱼群目标进行跟踪,其跟踪原理是根据颜色的概率信息实现跟踪[17-18]。鱼群跟踪算法的过程由下面步骤组成:
1) 确定鱼群初始区域;
2) 计算出鱼群目标的HSV直方图;
3) 基于上述直方图得到待检测图的逆向投影;
4) 通过MeanShift算法在逆向投影里搜索,直至收敛或超过极大搜索数。
4 实验结果及分析本实验在鱼塘中进行,实时获取池塘溶解氧、水温、pH值以及水下鱼群视频图像,分析得到鱼群健康状况。本方案主要对两部分内容进行了测试:
1) 试验无线传感网络中,对于水质数据的采集以及传输是否正确,数据采集方案是否合理。
2) 试验鱼群识别算法是否能准确实时跟踪鱼群,获得鱼群运动的准确速度、加速度以及巡游深度信息,判断结果是否与实际结果相吻合。
4.1 水质数据检测水质数据可以实时反映出水体的质量状况。在本系统中,提出利用数据变化更新数据库信息的方案,即当检测数据变化大于设定阈值时才会记录进数据库,因此数据记录的间隔是不固定的。表 2为温度、pH值检测数据。
表 2中显示的是在8 h内记录的8个数据,其中溶解氧变化范围为7.9~8.5;温度变化范围为20~21℃;pH值变化范围为7.3~7.6。当溶解氧变化达到±0.5 mg·L-1、温度变化达到±0.5℃或pH变化达到±0.5时,本系统会自动将数据记录在数据库中。在大型池塘应用中,水质数据的变化是比较缓慢的,因此利用此数据更新方案减少重复冗余数据的存储,并且可以存储异常数据发生的瞬间时刻。实验证明,该方案可以满足对水质监测的实时性与准确性要求。
4.2 鱼群运动参数检测鱼群运动参数可以实时反映出鱼群的健康状况[19],利用鱼群运动参数可以避免人工观察带来的一系列弊端。在本系统中,考虑鱼群运动参数存在不稳定因素,速度、加速度等信息更新较快,在存储鱼群参数时主要是利用固定间隔来对数据进行存储,如表 3所示。另外当鱼群信息异常时,会自动将异常时刻实验时,根据鱼塘大小、摄像机摆放位置、摄像机焦距等信息,计算出实际鱼群速度、加速度及深度信息。设定鱼群健康参数阈值,当速度超过30 cm/s或者加速度超过30 cm/s2就判定为鱼群受到刺激;当巡游深度高于250 cm,则判断为缺少氧气。如表 3,在ID3时刻鱼群缺氧,ID5和ID7时刻鱼群受到刺激。实验证明,该方案可以对鱼群实时健康监控的要求。
文中设计开发的基于智能视觉物联网的水产养殖测控系统,可以有效地对水质数据以及鱼群异常行为进行监控。取得主要结论如下:
1) 采用无线传感网络技术对采集的水质数据及视频图像进行传输,增加系统灵活性,提高系统适用范围。
2) 利用智能图像识别技术对采集的视频图像数据进行处理,获得鱼群健康参数,解决了传统水产养殖需要人工对监控视频进行观测的弊端,实现了自动化、智能化的水产养殖监测系统。
3) 经大量测试,该系统可以准确、实时、连续地对水质信息以及鱼群的行为进行监测,实时报警并将数据存入异常数据。
[1] | 曾洋泱, 匡迎春, 沈岳, 等. 水产养殖水质监控技术研究现状及发展趋势[J]. 渔业现代化, 2013, 40(1): 40-44. (0) |
[2] | 唐启升, 丁晓明, 刘世禄, 等. 我国水产养殖业绿色、可持续发展战略与任务[J]. 中国渔业经济, 2014, 32(1): 6-14. (0) |
[3] | 王誉树, 蔡强, 郭冬莲, 等. 基于CAN总线的水产养殖水质在线监控系统设计与实现[J]. 电子器件, 2014, 37(4): 708-713. (0) |
[4] | 颜波, 石平. 基于物联网的水产养殖智能化监控系统[J]. 农业机械学报, 2014, 45(1): 259-265. DOI:10.6041/j.issn.1000-1298.2014.01.040 (0) |
[5] | 杨旭辉, 周庆国, 韩根亮, 等. 基于ZigBee的节能型水产养殖环境监测系统[J]. 农业工程学报, 2015, 31(17): 183-190. DOI:10.11975/j.issn.1002-6819.2015.17.024 (0) |
[6] | 马从国, 赵德安, 王建国, 等. 基于无线传感器网络的水产养殖池塘溶解氧智能监控系统[J]. 农业工程学报, 2015, 31(7): 193-200. (0) |
[7] | SIMBEYE D S, YANG S F. Water quality monitoring and control for aquaculture based on wireless sensor networks[J]. Journal of networks, 2014, 9(4): 840-849. (0) |
[8] | 孙小平, 王向东, 李树江. 嵌入式温室大棚远程监控系统的设计与实现[J]. 应用科技, 2016, 43(2): 33-36. (0) |
[9] | 冯驰, 刘希胜. 基于ZigBee的无线环境监测网络设计[J]. 应用科技, 2009, 36(5): 39-42. (0) |
[10] | 邓小蕾, 李民赞, 武佳, 等. 集成GPRS、GPS、ZigBee的土壤水分移动监测系统[J]. 农业工程学报, 2012, 28(9): 130-135. (0) |
[11] | 钱志鸿, 朱爽, 王雪. 基于分簇机制的ZigBee混合路由能量优化算法[J]. 计算机学报, 2013, 36(3): 485-493. (0) |
[12] | 史兵, 赵德安, 刘星桥, 等. 基于无线传感网络的规模化水产养殖智能监控系统[J]. 农业工程学报, 2011, 27(9): 136-140. (0) |
[13] | 李慧, 刘星桥, 李景, 等. 基于物联网Android平台的水产养殖远程监控系统[J]. 农业工程学报, 2013, 29(13): 175-181. DOI:10.3969/j.issn.1002-6819.2013.13.023 (0) |
[14] | SHIAU Y H, CHEN C C, LIN S I. Using bounding-surrounding boxes method for fish tracking in real world underwater observation[J]. International journal of advanced robotic systems, 2013, 10(4): 261-270. (0) |
[15] | 宋君毅. 基于图像处理的鱼群监测技术研究[D]. 天津: 天津理工大学, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10060-1015367216.htm (0) |
[16] | 卢焕达, 刘鹰, 范良忠. 基于计算机视觉的鱼类行为自动监测系统设计与实现[J]. 渔业现代化, 2011, 38(1): 19-23. (0) |
[17] | 赵文倩, 匡逊君, 李明富. 基于改进的Camshift运动目标跟踪算法的研究[J]. 信息技术, 2012(7): 165-169. (0) |
[18] | 刘超, 惠晶. 基于改进CAMShift的运动目标跟踪算法[J]. 计算机工程与应用, 2014, 50(11): 149-153, 217. DOI:10.3778/j.issn.1002-8331.1311-0228 (0) |
[19] | CAI Desuo, LI Ronghui. Research on fish habitat based on acoustic fish tracking system[J]. Journal of convergence information technology, 2012, 7(23): 195-201. DOI:10.4156/jcit (0) |