一种采用蝌蚪对受农药污染水体进行生物监测的方法 一、技术领域
本发明属于生物和环保领域,涉及一种用动物进行污水生物监测的方法,具体涉及一种用两栖类蝌蚪做指示生物,结合图像处理技术,根据弹琴蛙(Ranaadenopleura)蝌蚪在不同水体中聚集程度的差异进行水体污染监测的方法。
二、背景技术
随着工农业生产的迅速发展和人口的急剧增长,水体污染正引起越来越多的关注。生物监测不仅能对水环境的质量作出评价,还能直接判断水体中污染物对水生生物的潜在影响、实际毒性,正成为对水体污染进行监测和评价的重要手段以及水体污染的预报手段。目前国内外比较成熟的生物监测技术主要是以鱼、双壳类、鞭毛虫、卤虫、大型水蚤、发光细菌等作为受试生物,利用环境毒理学实验或者建立生物信号检测系统,根据生物个体的异常生理或行为参数变化监测短期内污染物毒性的变化。其中由于鱼类背景资料多,鱼类行为学的研究非常成熟,目前德国、法国、日本和英国等国已出现鱼早期警报系统专利。由于两栖类蝌蚪具有外温性、皮肤呼吸、活动范围较固定等特点,对污染较为敏感,是一种良好的指示生物。
三、发明内容
根据以上问题,本发明的目的是在建立蝌蚪在清洁水体和受农药污染水体中蝌蚪正常、异常行为模式的基础上,结合图像处理技术,利用数码摄像机对水族缸中的受试蝌蚪进行拍摄,利用程序对拍摄的图像进行蝌蚪地识别和定位以及具体指标的计算,建立水体污染程度--具体指标对应关系的数据库,利用该数据库系统,可根据蝌蚪聚集程度计算出的具体指标快捷、准确的判定水体的污染情况。在该发明中采用蝌蚪的聚集程度来反映水体的污染情况。
本发明的实现过程如下:通过图像输入设备对蝌蚪进行图像的采集、利用程序对采集图像中的蝌蚪进行识别和定位,分析水族缸中蝌蚪的具体分布型,在分布型确定的基础上进行聚集程度的计算,计算得到的数据自动导入数据库系统,得到污水受污染程度和计算数据之间的相关关系;再将未知污染程度污水通过上述方法处理,得到相关数据,将相关数据输入数据库系统,可以直接得到水体污染情况。
本发明中,图像输入设备包括可将图像输入电脑的照相、摄像和扫描等设备,对采集的图像中蝌蚪进行识别和定位的程序自行编写,程序编写流程参见附图三,按照本流程编写程序很容易实现图像中蝌蚪的识别和定位。本发明方法及其相关设备、程序构成了一个生物监测平台。
本发明采用外温性、皮肤呼吸、活动范围较固定的蝌蚪作为指示生物,具有方便、快捷和准确等优点。
四、附图说明
下面结合附图详细说明本发明方法:
附图1为生物监测平台的构成示意图;附图2为分析程序流程图,即按照该流程进行数据处理。
由图1看出本发明方法中生物监测平台主要包括指示生物、图像输入设备、计算机、分析程序、监视界面和数据库系统。
本发明中采用蝌蚪数是根据容器的大小用方便观测又能反映出聚集程度的数量,一般采用50-250只/m2,最好用125只/m2。本发明采用双层玻璃缸作为蝌蚪容器可以有效消除蝌蚪在玻璃壁上镜像对图象处理的影响。通过数码摄像机对指示生物进行拍摄,拍摄得到的图像通过1394卡和1394线传入计算机系统,利用编写的程序对图像进行处理和分析,分析得到的数据直接进入数据库系统,通过和数据库系统里的相应数据进行比较,在监视界面上显示出该水体的污染程度。
根据计算机图形学,数字图像是由排成矩形点阵的像素点组成的,在本发明的程序中利用二维矩阵来表示每张图像的像素点的位置特征和每个像素点的灰度值:每个像素点在矩阵中的位置表示其在图像点阵中的位置,每个像素点数值的大小表示其灰度大小(值在0-255之间)。程序中图像处理包括五个过程。第一步通过命令进行图像的读取,必要时需加上图像所在的路径,格式为Ia=imread(filename);第二步是通过命令对图像进行特定尺寸的切割,切割的尺寸以像素点为单位,格式为J=imcrop(Ia,[20.03 101.4580 329 164]);通过命令将图像中所包含的像素点分为10×5样方。第三步是通过设定阈值来区分蝌蚪和背景水体,使之成为二值图像,在该图像中蝌蚪显色为黑色,在矩阵中用数字0表示。通过程序调试,该阈值var(i)一般在0.2-0.3之间,Ib=im2bw(J,var(i))。进一步进行图像的形态学闭运算,Ib=~imclose(Ib,strel(′disk′,1));闭运算后的图像进行收缩运算,Ib=bwmorph(Ib,′shrink′,Inf)。收缩运算的判定规则为:设某中心像素的灰度值为1,若它8个邻点中至少有一个像素为0时,其像素点改为0;除此之外,保持原中心像素点;通过收缩运算,在图像中每个蝌蚪均缩小为一个像素点,在矩阵中用数字1表示,背景均为黑色,用数字0表示。
由于蝌蚪个体间存在灰度的差异,为了增加程序的可靠性,在识别出的蝌蚪数不足实际数目的情况下,会通过循环运算对Ib=im2bw(J,var(i))里的阈值var(i)从0.2-0.3间的某个值以每次增加0.01的程度进行5次尝试。
通过函数bwlabel对每张图像中的蝌蚪进行标注,第1只蝌蚪在矩阵中用数字1表示,第2只蝌蚪在矩阵中用数字2表示,以此类推。通过取矩阵中的最大数值,可得出每张图像中的蝌蚪数。如果检测到的蝌蚪数目不到实际数目,则对闭运算后的图像进行再进行标注,通过函数size统计该步处理后每只蝌蚪所占的像素点,从大到小排序,并计算他们之间的差值。由于同一个浓度组内的蝌蚪大小较为一致,如果蝌蚪间不存在叠加的情况,则每只所占像素点数目相近,如果几个蝌蚪相互叠加,势必使其所占像素点增加。如果检测到的蝌蚪数比实际数目少一个,则将缺少的那个蝌蚪补加到所占像素点最多的蝌蚪上。如果检测到的蝌蚪数比实际数目少2个,有两种情况,一种是3只蝌蚪叠加,一种是两两叠加,为了区分这种情况,根据它们的像素点差值进行判断:如果仅有一个蝌蚪所占的像素点明显高于其他只蝌蚪的,则判断为3只蝌蚪叠加。如果有两只蝌蚪所占的像素点均很多的话,则判断为两两叠加。以此类推。
在程序中通过 find命令可得出收缩运算后所有非0数字在矩阵中的位置,用二维坐标来表示,[x,y]分别表示在矩阵中的行数(row)、列数(column)。通过比较每个蝌蚪像素点所在的行列数和每个样方包括的像素点范围,将蝌蚪归入相应的样方。通过循环运算将同一个浓度所有图像中的蝌蚪都归入相应的样方并进行叠加,由此得出一个频次分布表,内容包括每个样方观察到的不同的蝌蚪数(用x表示),以及该蝌蚪数观察到的频次(f),并按照观察到的蝌蚪数进行升序排列。通过公式求出样本平均数(x)和方差(S2)。
利用公式m*=x+(S2/x)-1求出蝌蚪的平均拥挤度(m*),并按照条件m*/x与数字1的大小关系进行逻辑判断。按照前期实验的结果,所有实验组的蝌蚪均符合负二项分布,因此对蝌蚪的分布型进行聚集分布中的负二项分布的拟合。利用矩法进行k值的估算,(k值是负二项分布的一个参数,其大小和蝌蚪的聚集程度成反比):k=x/p,p=(S2/x)-1,q=1+p。当求出p,q,k三个参数后,即可利用式NPr=N[(k+r-1)!/r!(k-1)!]q-k-rpr来估计各项的理论值。将理论值和观察值进行X2检验,如果符合负二项分布,则弹出消息框“It is Negative Binomial”,并向通过ODBC连接的Access数据库中输入k值。同时程序运行的界面上会出现k值的大小。当所有的图像均处理完后,通过MATLAB数据库工具箱提供的querybuilder(可视查询界面),利用SQL(Structure Query Language,结构化查询语句)进行满足各种条件的查询,同时查询的结果可以报告、表格和图形的方式直观的显示出来,并可在图像上直接显示该组数据的主要统计学指标。通过指示生物对常用的几种农药不同浓度的生物毒性进行监测,建立完善的数据库系统。
通过在水族缸中放入要监测污染程度的水体和指示生物,将两者接触一段时间后,通过上述的生物监测平台和图像处理方法得出K值,通过比较该K值和生物毒性-K值数据库中的相应K值,直接在监视界面上显示该水体的污染程度。
五、具体实施方式
本发明将要监测的污染水体放入玻璃水族缸中,同时放入一定数量的大小均一的受试蝌蚪,本发明中采用的弹琴蛙(Rana adenopleura)蝌蚪均采自峨嵋山未受污染的水体中,由于该蝌蚪相比于其他蝌蚪具有一个明显的优点:其蝌蚪期较长,生长较缓慢,避免了蝌蚪变态期对监测数据的影响。由于玻璃水族缸壁上的蝌蚪影子和蝌蚪灰度差异不大,影响图像处理过程,本发明中采用了双层玻璃缸(里层:40cm(L)×20cm(W)×20cm(H),外层:50cm(L)×30cm(W)×20cm(H))作为实验的器材,双层玻璃缸可以有效消除蝌蚪在玻璃壁上镜像对图象处理的影响,实验时内外两层缸中水位相等。
在试验中采用的农药有阿特拉津和西草净,它们均属于均三氮苯类除草剂。其中阿特拉津经常在地下水中被检测出其含量超过最大可接受浓度。同时阿特拉津也是一种内分泌干扰剂(endrocrine disruptor)和潜在的人类致癌物质。
实验中阿特拉津浓度分别为5mg/L(C1)、10mg/L(C2)、15mg/L(C3)、20mg/L(C4),用丙酮(0.5mL/L,用C_表示)进行助溶,设空白对照(C0),实验设三个平行。西草净浓度分别为3、6、9、12mg/L,用丙酮(0.5mL/L,用C_表示)进行助溶,设空白对照(C0),实验设三个平行。实验共进行四天,每天分三个时间段进行拍摄,09:00-10:30,15:00-16:30,20:00-21:30。每个浓度组拍摄5分钟,并进行k值的分析。三个平行组得到的k值求其平均值。
采用SONY TRV60E作为视频图像的输入设备,将其固定在三角架上对水族缸中的蝌蚪进行拍摄,拍摄的视频图像通过1394线传入计算机中,通过软件UleadVideostudio将视频素材进行捕获和切割,再通过Adobe Premiere将视频图像以固定的帧速率(0.2帧/s)转化为静态图像(.tif)。由于用MATLAB6.5编写的程序对读取的图像格式有一定的要求,同时为了进一步压缩图像的存储空间,通过ACDSee对图像格式进行批量转换,将.tif格式的图像转换成.jpg的图像。转换后的图像就可直接进行程序的分析和处理。程序直接和数据库系统相连接,分析得到的数据可直接导入数据库系统。
程序中对图像处理包括五个过程,第一步通过命令进行图像的读取,必要时需加上图像所在的路径,格式为Ia=imread(filename);第二步是通过命令对图像进行特定尺寸的切割,切割的尺寸以像素点为单位,格式为J=imcrop(Ia,[20.03101.4580 329 164]);通过命令将图像中所包含的像素点分为10×5样方。第三步是通过设定阈值来区分蝌蚪和背景水体,使之成为二值图像,在该图像中蝌蚪显色为黑色,在矩阵中用数字0表示。通过程序调试,该阈值var(i)一般在0.2-0.3之间,Ib=im2bw(J,var(i))。进一步进行图像的形态学运算,Ib=~imclose(Ib,strel(′disk′,1));闭运算后的图像进行收缩运算,Ib=bwmorph(Ib,′shrink′,Inf)。通过收缩运算,在图像中每个蝌蚪均缩小为一个像素点,在矩阵中用数字1表示,背景均为黑色,用数字0表示。
由于蝌蚪个体间存在灰度的差异,为了增加程序的可靠性,在识别出的蝌蚪数不足实际数目的情况下,会通过循环运算对Ib=im2bw(J,var(i))里的阈值var(i)从0.2-0.3间的某个值以每次增加0.01的程度进行5次尝试。
通过函数bwlabel对每张图像中的蝌蚪进行标注,第1只蝌蚪在矩阵中用数字1表示,第2只蝌蚪在矩阵中用数字2表示,以此类推。通过取矩阵中的最大数值,可得出每张图像中的蝌蚪数。如果检测到的蝌蚪数目不到实际数目,则对闭运算后的图像进行再进行标注,通过函数size统计该步处理后每只蝌蚪所占的像素点,从大到小排序,并计算他们之间的差值。由于同一个浓度组内的蝌蚪大小较为一致,如果蝌蚪间不存在叠加的情况,则每只所占像素点数目相近,如果几个蝌蚪相互叠加,势必使其所占像素点增加。如果检测到的蝌蚪数比实际数目少一个,则将缺少的那个蝌蚪补加到所占像素点最多的蝌蚪上。如果检测到的蝌蚪数比实际数目少2个,有两种情况,一种是3只蝌蚪叠加,一种是两两叠加,为了区分这种情况,根据它们的像素点差值进行判断:如果仅有一个蝌蚪所占的像素点明显高于其他只蝌蚪的,则判断为3只蝌蚪叠加。如果有两只蝌蚪所占的像素点均很多的话,则判断为两两叠加。以此类推。
在程序中通过find命令可得出收缩运算后所有非0数字在矩阵中的位置,用二维坐标来表示,[x,y]分别表示在矩阵中的行数(row)、列数(column)。通过比较每个蝌蚪像素点所在的行列数和每个样方包括的像素点范围,将蝌蚪归入相应的样方。通过循环运算将同一个浓度所有图像中的蝌蚪都归入相应的样方并进行叠加,由此得出一个频次分布表,内容包括每个样方观察到的不同的蝌蚪数(用x表示),以及该蝌蚪数观察到的频次(f),并按照观察到的蝌蚪数进行升序排列。通过公式求出样本平均数(x)和方差(S2)。
利用公式m*= x+(S2/ x)-1求出蝌蚪的平均拥挤度(m*),并按照条件m*/ x与数字1的大小关系进行逻辑判断。按照前期实验的结果,所有实验组的蝌蚪均符合负二项分布,因此对蝌蚪的分布型进行聚集分布中的负二项分布的拟合。利用矩法进行k值的估算,(k值是负二项分布的一个参数,其大小和蝌蚪的聚集程度成反比):k=x/p,p=(S2/x)-1,q=1+p。当求出p,q,k三个参数后,即可利用式NPr=N[(k+r-1)!/r!(k-1)!]q-k-rpr来估计各项的理论值。将理论值和观察值进行X2检验,如果符合负二项分布,则弹出消息框“It is Negative Binomial”,并向通过ODBC连接的Access数据库中输入k值。同时程序运行的界面上会出现k值的大小。当所有的图像均处理完后,通过MATLAB数据库工具箱提供的querybuilder(可视查询界面),利用SQL(Structure Query Language)语句进行满足各种条件的查询,同时查询的结果可以报告、表格和图形的方式直观的显示出来,并可在图像上直接显示该组数据的主要统计学指标。
本发明四天试验(每天3组平行)各浓度阿特拉津溶液k值情况分别如下表:
第天 C0 C- C1 C2 C3 C4
0.3021 0.4394 0.3241 0.249 0.2259 0.4144
1 0.391 0.4719 0.4395 0.254 0.2828 0.4398
0.3602 0.3848 0.2914 0.204 0.298 0.2714
0.475 0.1904 0.151 0.1988 0.16 0.1921
2 0.379 0.4201 0.2332 0.2412 0.2253 0.1988
0.4078 0.3783 0.3116 0.2073 0.199 0.242
0.2306 0.2102 0.18 0.2121 0.2277 0.1402
3 0.5679 0.2966 0.2274 0.1334 0.1959 0.3216
0.5185 0.2933 0.2454 0.157 0.2176 0.3247
0.2182 0.2518 0.148 0.2539 0.216 0.2024
4 0.4486 0.305 0.2536 0.1758 0.2256 0.1979
0.4671 0.3461 0.2541 0.1863 0.1456 0.1875
C1、C2、C3、C4各组的k值总体上小于C-和C0。在实验的第一天,除C4溶液外,C1、C2、C3溶液中蝌蚪的分布均随着浓度的升高k值减低。实验的第二、第三、第四天,实验组和对照组之间k值的差异进一步增大。通过MATLAB语言进行方差分析,表明不同浓度间的k值存在显著差异(p=4.13797e-007<0.05),经多重比较,C1、C2、C3、C4与C0均存在显著差异,C1、C2、C3、C4各浓度组之间没有显著差异,C-和C0没有显著差异,表明阿特拉津农药影响蝌蚪的聚集程度。
本发明设计各浓度西草净溶液中k值情况:
第天 C0 C- C1 C2 C3 C4
0.3461 0.3549 0.1802 0.1195 0.2262 0.3602
1 0.4373 0.1899 0.4098 0.3432 0.3233 0.2478
0.3072 0.1645 0.4584 0.2442 0.2749 0.2354
0.4622 0.2177 0.2495 0.2039 0.2584 0.1964
2 0.2996 0.3485 0.3221 0.189 0.1185 0.2002
0.2829 0.4042 0.1905 0.2463 0.2343 0.1936
0.4218 0.594 0.2253 0.1816 0.0766 0.1365
3 0.2808 0.5529 0.3307 0.1127 0.0835 0.1788
0.3852 0.416 0.2276 0.1666 0.1573 0.1427
0.3723 0.406 0.2874 0.209 0.1127 0.1256
4 0.3594 0.6007 0.2284 0.2604 0.0993 0.1029
0.4403 0.3462 0.3574 0.1221 0.1458 0.2093
除实验的第一天外,实验的第二、第三、第四天各溶液基本上随着西草净浓度的升高k值降低,表明蝌蚪随着西草净浓度的增高聚集程度增大。经方差分析,表明不同浓度间k值存在显著差异(p=0.01<0.05),多重比较表明,C0、C_和C2,C3,C4均有显著差异,C1,C2,C3,C4之间均没有显著差异。
通过在水族缸中放入要监测污染程度的水体和指示生物,将两者接触一段时间(至少1~2h,一般需24h)后,通过上述的生物监测平台和图像处理方法得出k值,通过比较该k值和生物毒性-k值数据库中的相应k值,直接在监视界面上显示该水体的污染程度(是否污染,以及该污染程度和数据库中含有的农药哪个污染水平相当)。