CN109523519B - 一种海水中海胆数量统计的方法、系统和存储介质 - Google Patents
一种海水中海胆数量统计的方法、系统和存储介质 Download PDFInfo
- Publication number
- CN109523519B CN109523519B CN201811245910.0A CN201811245910A CN109523519B CN 109523519 B CN109523519 B CN 109523519B CN 201811245910 A CN201811245910 A CN 201811245910A CN 109523519 B CN109523519 B CN 109523519B
- Authority
- CN
- China
- Prior art keywords
- sea
- sea urchin
- image
- area
- urchin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种海水中海胆数量统计的方法,包括依次执行如下步骤:步骤1:获取海胆分布图像;步骤2:计算水域海胆密度;步骤3:分析海胆迁移路线;步骤4:海水水质情况分析。本发明的有益效果是:1.利用水下机器人采集海水中海胆的分布信息,从而分析海水水质,避免了人工采集海水样本的复杂工作;2.将计算机视觉技术应用到检测海水的水质情况中,相对于采用各种化学设备进行分析,提高了准确性;3.将深度学习技术应用到从水下机器人采集图像中自主提取海胆特征,并检测出所有疑似海胆个体,避免了因距离原因无法较好地检测出远处海胆个体的问题,提高了检测海胆个体的准确性。
Description
技术领域
本发明涉及图像处理与计算机视觉检测领域,尤其涉及一种海水中海胆数量统计的方法、系统和存储介质。
背景技术
海水的水质检测对于监测其周围的生态环境有着非常重要的作用。生态环境的变化和各种生物的生存情况也是有着十分密切的联系。在现有的海水水质测量中,一般专业人员使用专业的仪器进行检测。专业人员往往需要亲自到现场中,进行采集海水的水质样本,然后送往实验室进行检测,这个过程往往需要很长的时间周期和检测成本。由于需要花费较长的时间周期去检测水质,因此其无法实时获取水质的变化情况。某些现场环境相对复杂的地域,同时对于专业人员去采集样本带来了一定的影响,增加了采集样本数据的难度。
在海水的水质情况测量中,海胆起到一个非常重要的作用。在某一海水水域,如果单位面积下,海水中海胆的数量越多,说明该单位面积下,海水的水质情况越好。因此,海胆的分布密度和海水的水质情况呈正相关联系。基于此,我们可以通过检测单位水域面积中,海胆的数量来检测水域的水质情况。此外,我们通过海胆的迁移路线,来预测水质的变化情况(海胆向某一水域方向迁移,说明该水域的水质情况相对较好)。
发明内容
本发明提供了一种海水中海胆数量统计的方法,包括依次执行如下步骤:
步骤1:获取海胆分布图像;通过水下机器人采集获得海胆的图像;
步骤2:计算水域海胆密度;通过获取的海胆分布图像计算水域中海胆的分布密度,检测海水水质情况;若水域中海胆的分布密度大于所设定阈值,则说明这块水域的水质情况不错,否则水质情况一般;
步骤3:分析海胆迁移路线;通过对水域海胆密度的计算,获取到单个海胆,然后对海胆进行轨迹跟踪并分析,从而继续监测海水的水质情况;
步骤4:海水水质情况分析;对检测到的所有海胆的移动路线进行统计和分析,从而得出海水水质的相关情况。
作为本发明的进一步改进,在所述步骤1中,对采集到的图像进行形变去除,该形变去除包括依次执行如下步骤:
摄像机标定步骤:获取摄像头的内参;
消除畸变步骤:结合摄像机标定所得到的参数信息来校正方向,从而消除图像的畸变;
校正方向步骤:通过校正方向,使得左右摄像机拍摄的图像处于行平齐状态;
裁剪图像步骤:对左右摄像机获取的图像,进行裁剪,获取有用的信息部分,消除多余的空白区域。
作为本发明的进一步改进,所述步骤2包括以下步骤:
初步筛选步骤:为提高检测海胆的准确性,初步筛选出海胆物体,减小从原始图像中漏掉海胆个体的可行性;
尺寸检测步骤:通过初步筛选步骤获取的海胆的二值图像,作进一步检测,筛选出其中真正的海胆区域;
密度计算步骤:机器人连续获取数百张海胆分布图像,然后统计数百张图像中的海胆总数Nt,t代表海胆分布图像的实际总数,A代表单张图像所覆盖的实际海域面积,海胆密度记为如果P大于经验值Z,则这t张所覆盖的实际海域水质情况不错,否则水质情况,相对一般。
作为本发明的进一步改进,所述初步筛选步骤包括依次执行如下步骤:构建训练样本步骤:采用数据集进行数据增强操作,获得更多的海胆图像数据集,并且对原始的海胆图像数据集依次进行随机的平移、旋转操作,构建出训练样本;
样本标定步骤:对构建训练样本步骤所获得的数据集中的每一张图像建立其对应的标签图像;
训练网络步骤:所述训练网络的输入为海胆图像,网络输出为输入图像所对应的标签图像,通过使用BP算法来更新神经元的权重和偏置,最终使得神经网络达到收敛状态,表示网络训练完毕;
筛选海胆步骤:待网络训练完毕之后,将需要检测的海胆图像输入到训练网络中,训练网络最终会输出一张二值图像,其中像素值为1的所有区域,便是疑似海胆区域。
作为本发明的进一步改进,所述训练网络步骤中的BP算法包括依次执行如下步骤:
D1:先随机初始化每条连接线权重(w1和w2)和偏置b;
D2:输入数据x1,x2,BP算法都会先执行前向传输得到预测值a;
D3:根据真实值a'与预测值a之间的误差逆向反馈更新神经网络中每条连接线的权重和每层的偏置;
D4:重复步骤D1-D3,直到网络收敛,此时训练完毕。
作为本发明的进一步改进,所述尺寸检测步骤包括依次执行如下步骤:形态学操作步骤:采用形态学操作来对二值图像进行边缘的平滑操作,以减少海胆的刺对检测海胆轮廓的影响;
获取海胆的轮廓步骤:对图像中每一个单独的白色区域,绘制其外接轮廓,并将其保存下来;
尺寸判断步骤:设置一个尺寸判断范围来进一步检测出海胆个体。
作为本发明的进一步改进,在所述尺寸判断步步骤中包括依次执行如下步骤:
F1:获取每一个候选海胆的区域面积,并标记为Si,i表示当前候选海胆的序号;
F2:获取Si的最小外接矩形Qi;
F3:获取Qi的长度和宽度,分别记为Li和Wi;如果则不符合海胆的形状,将Si所对应的候选海胆删除,否则继续执行步骤F4;
F4:计算Si,如果Si的值大小位于所设定的像素值范围内,则判断为海胆,海胆数N加1,否则将Si所对应的候选海胆删除。
作为本发明的进一步改进,所述步骤3包括依次执行如下步骤:
定义初始跟踪区域步骤:绘制一个最小矩形区域,使得该区域恰好能将当前海胆包围起来,该矩阵区域即为初始化的跟踪区域,标记为L,并记录初始化跟踪区域的尺寸大小,长度和宽度分别记为W和H;
寻找最佳匹配区域步骤:通过差异度公式的计算和分析获取最有可能成为海胆运动后的区域;
匹配模板区域更新步骤:计算公式为:T'(x,y)=(1-α)T(x,y)+αR(x,y),T(x,y)、R(x,y)和T'(x,y)均表示在点(x,y)处对应的像素值,0≤x<W,0≤y<H,α表示更新比重;
所述寻找最佳匹配区域步骤包括依次执行如下步骤:
H1:设置搜索模板;设置一个搜索范围模板是m×n,其中m=W+10,n=H+10;
H2:计算差异度;计算搜索模板与匹配模板内像素值的绝对差的总和,并作为匹配的差异度;
H3:求取所有的差异度;由于0≤i<m,0≤j<n,故对于所有的i和j,求取从而完成区域匹配操作;
H4:在所有Sij中,寻找其最小值;
H5:记录Sij取得最小值时候,当前的i和j的值;当Sij取值最小,说明取值最小对应的区域,与匹配模板区域的差异度最小,说明其是最有可能成为海胆运动后的区域;
所述H2步骤的计算差异度公式为:
其中,T(x,y)表示在W×H大小的匹配模板区域中,坐标点(x,y)对应的像素值大小,Tij(x,y)表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中坐标点(x,y)对应的像素值大小,Tij(x,y)中的x和y取值范围分别是:i≤x<i+W,j≤y<j+H,Sij表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中,计算的像素值的绝对值总和。
本发明还公开了一种海水中海胆数量统计的系统,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求中所述的方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求中所述的方法的步骤。
本发明的有益效果是:1.利用水下机器人采集海水中海胆的分布信息,从而分析海水水质,避免了人工采集海水样本的复杂工作;2.将计算机视觉技术应用到检测海水的水质情况中,相对于采用各种化学设备进行分析,提高了准确性;3.将深度学习技术应用到从水下机器人采集图像中自主提取海胆特征,并检测出所有疑似海胆个体,避免了因距离原因无法较好地检测出远处海胆个体的问题,提高了检测海胆个体的准确性;4.结合水下机器人的双目视觉技术,并结合海胆个体尺寸大小,进一步提高检测海胆个体的准确性;5.利用计算机视觉技术,分析了海胆的迁移路线,为检测海水水质的变化情况提供了有效信息。
附图说明
图1是本发明的整体流程图;
图2是本发明的双目采集图像;
图3是本发明的局部流程图;
图4是本发明的单个神经元结构。
具体实施方式
随着机器人技术的迅速发展,其已经可以替代人类完成许多简单的任务,且机器人的效率很高,故其应用场景越来越广泛。基于此,在本发明中,我们采用机器人潜入水下,拍摄海胆的分布图像;在获取海胆分布图像之后,我们利用计算机视觉技术来分析海胆的数量和海胆的迁移路线,从而分析海水的水质情况。
如图1所示,本发明公开了一种海水中海胆数量统计的方法,包括依次执行如下步骤:
步骤1:获取海胆分布图像;通过水下机器人采集获得海胆的图像;由于水下机器人采用的是两个摄像头(双目)进行采集图像,故对于采集到的图像,会有一些形变,具体可如图2所示,流程图如图3所示。
步骤2:计算水域海胆密度;在检测海水水质情况中,本发明采用海胆的分布情况,来间接体现海水的水质情况。倘若在一片水域中,海胆分布的比较多,则说明这片水域的水质情况相对不错。通过获取的海胆分布图像计算水域中海胆的分布密度,检测海水水质情况;若水域中海胆的分布密度大于所设定阈值(经验值),则说明这块水域的水质情况不错,否则水质情况一般;
步骤3:分析海胆迁移路线;通过对水域海胆密度的计算,获取到单个海胆,然后对海胆进行轨迹跟踪并分析,从而继续监测海水的水质情况(海胆往往会向水质的不错的区域移动);
对于海胆来说,海胆每天移动的距离非常小,每个月才移动几米。故我们可以在一段时间后,利用水下机器人继续采集海胆图像。由于水下机器人采用GPS定位,可以标记上次采集图像地点,在我们隔一段时间后,利用上次GPS位置信息,在原位置继续采集海胆图像,此时,海胆已经移动一定距离,可以获取其移动路线。当长时间采集数据,便可以获取其较长额移动路线。通过路线便可以分析出海水的水质情况。
在较短时间内,由于海胆移动距离较小,我们可以对单个海胆进行跟踪,然后分析大多数海胆的移动的密集方向,从而判定海水的水质情况。
步骤4:海水水质情况分析;对于海胆图像的每一个海胆,均执行步骤3的操作,故我们可以获取到每一个海胆的移动路线。但是对于海水的水质分析来说,单个海胆的移动路线不具有代表性,因此,我们需要对检测到的所有海胆的移动路线进行统计和分析,从而得出海水水质的相关情况。
通过对所有的海胆移动路线进行分析,海胆移动方向相对密集的区域同时也就说明这大多数的海胆希望往该方向移动,说明该方向的水域水质更适合它们的生存,故这些方向所代表的海水水质也就相对较好,从而完成了海水水质情况的定性分析。
在所述步骤1中,对采集到的图像进行形变去除,该形变去除包括依次执行如下步骤:
摄像机标定步骤:获取摄像头的内参;要想获取去除图像的一些形变,首先需要进行摄像头的标定。具体为:需要获取摄像头的内参(焦距、图像中心和畸变系数)等,在这里,我们采用目前很常用的方法张正友标定法则。
消除畸变步骤:结合摄像机标定所得到的参数信息来校正方向,从而消除图像的畸变;
校正方向步骤:通过校正方向,使得左右摄像机拍摄的图像处于行平齐状态(在两幅图像中,同一个海胆位于同一水平位置,但是不位于同一竖直位置,在左摄像机拍摄图像中,海胆o的中心位置位于图像中的(x,y)位置,而在右摄像机拍摄图像中,海胆o的中心位置位于图像中的(x',y)位置);裁剪图像步骤:对左右摄像机获取的图像,进行裁剪,获取有用的信息部分,消除多余的空白区域。
在检测海水水质情况中,本发明采用海胆的分布情况,来间接体现海水的水质情况。倘若在一片水域中,海胆分布的比较多,则说明这片水域的水质情况相对不错。基于此,我们通过计算水域中海胆的分布密度,如果密度大于一个阈值(经验值),则说明这块水域的水质情况不错,否则水质情况一般。所述步骤2包括以下步骤:
初步筛选步骤:为提高检测海胆的准确性,在此环节中,我们使用深度学习的方法,初步筛选出海胆物体,从而尽可能减小从原始图像中漏掉海胆个体的可行性;
尺寸检测步骤:通过初步筛选步骤获取的海胆的二值图像,其中像素值为1的区域为疑似海胆区域(可能还包含其他物体,不一定是海胆),接下来我们需要作进一步检测,筛选出其中真正的海胆区域;
密度计算步骤:在尺寸检测步骤中,我们便获取了当前图像中,海胆的总数N。但由于当前图像所覆盖的区域过小,因此,海胆密度不足以代表海水水质情况,因此,我们需要扩大检测区域。在机器人连续获取数百张海胆分布图像之后,其覆盖的区域面积就相对较大。
机器人连续获取数百张海胆分布图像,然后统计数百张图像中的海胆总数Nt,t代表海胆分布图像的实际总数,A代表单张图像所覆盖的实际海域面积,海胆密度记为如果P大于经验值Z,则这t张所覆盖的实际海域水质情况不错,否则水质情况,相对一般。
所述初步筛选步骤包括依次执行如下步骤:
构建训练样本步骤:采用数据集进行数据增强操作,获得更多的海胆图像数据集,并且对原始的海胆图像数据集依次进行随机的平移、旋转操作,构建出训练样本;具体执行如下:
(i)平移。对原始数据集中的每一张海胆图像进行随机的方向平移的操作,具体如下:
(i-1)、定义两个随机数a和b。a的取值为0和1,b的取值为0,1,2,3等;
(i-2)、如果a取值为0,表示进行平移操作,否则不进行平移操作;
(i-3)、b的取值0,1,2,3分别代表向竖直向上、水平向右,竖直向下以及水平向左平移10个像素。
(ii)旋转。对原始数据集中的每一张海胆图像进行随机的方向旋转的操作,具体如下:
(ii-1)、定义两个随机数a和b。a的取值为0和1,b的取值为0,1等;
(ii-2)、如果a取值为0,表示进行旋转操作,否则不进行旋转操作;(ii-3)、b的取值0,1分别代表顺时针、逆时针旋转5度。
样本标定步骤:对构建训练样本步骤所获得的数据集中的每一张图像建立其对应的标签图像;具体执行如下:
(a)标注的值为0或者1;
(b)对于每一张海胆图像进行逐像素的标注,0表示背景像素(非海胆物体像素),1表示前景像素,即海胆区域部分像素。
训练网络步骤:所述训练网络的输入为海胆图像,网络输出为输入图像所对应的标签图像,通过训练策略,使用BP(反向传播)算法来更新神经元的权重和偏置,最终使得神经网络达到收敛状态,表示网络训练完毕;
筛选海胆步骤:待网络训练完毕之后,将需要检测的海胆图像输入到训练网络中,训练网络最终会输出一张二值图像,其中像素值为1的所有区域,便是疑似海胆区域。通过采用深度学习的技术,直接从原始图像中提取海胆特征,可以很好地将远处和近处的疑似海胆物体都提取出来。
所述BP(反向传播)算法具体解析如下:
简单小神经网络的结构可如图4所示,其中每一个圆圈代表着一个神经元,w1和w2代表神经元之间的权重,b表示偏置,g(z)为激活函数,从而使得输出变得非线性,a表示输出,x1和x2表示输入,则针对当前结构,输出的可表示为公式(1)。由公式(1)可得,在输入数据和激活函数不变的情况下,神经网络的输出的值a是与权重和偏置有关的。通过调节不同的权重和偏置,神经网络的输出也会有不同的结果。
a=g(x1*w1+x2*w2+1*b) (1)
已知神经网络输出的值(预测值)为a,假设其对应的真实值为a'。
所述训练网络步骤中的BP算法包括依次执行如下步骤:
D1:在BP算法中,先随机初始化每条连接线权重(w1和w2)和偏置b;
D2:输入数据x1,x2,BP算法都会先执行前向传输得到预测值a;
D3:根据真实值a'与预测值a之间的误差逆向反馈更新神经网络中每条连接线的权重和每层的偏置;
权重和偏置的更新方法如公式(2)-(4)所示,即对E分别求w1,w2,b的偏导。其中η表示的是学习率,在此公式中,其是一个设置好的参数。
D4:重复步骤D1-D3,直到网络收敛,即E的值最小或者基本保持不变,此时表示网络已经训练完毕。
所述尺寸检测步骤包括依次执行如下步骤:
形态学操作步骤:对于海胆来说,其是一个不规则的物体,海胆身体周围有许多的刺,从而无法获取一个海胆的完整轮廓(轮廓线条会断开),这会给检测海胆轮廓带来不小的误差,因此,我们需要将其周围的刺给去除掉。我们采用形态学操作来对二值图像进行边缘的平滑操作,以减少海胆的刺对检测海胆轮廓的影响;
获取海胆的轮廓步骤:在对原始图像进行形态学操作之后,基本上消除比较尖锐的边缘部分,接下来,我们对图像中每一个单独的白色区域(在二值图像中,像素值为1的区域显示为白色),绘制其外接轮廓,并将其保存下来;每一个单独的白色区域的外接轮廓也就对应着每一个候选海胆的轮廓。
尺寸判断步骤:在获取海胆的轮廓步骤中,我们获取到了所有的候选海胆轮廓。在这些候选海胆中,有些是非海胆物体(在初步筛选步骤中的背景分割中没有被去除掉),因此,我们需要通过尺寸进一步地筛选出真实的海胆物体。此外,由于在原始图像中可能包含远处和近处的海胆,远处的海胆在图像中,尺寸相对较小,因此我们设置一个尺寸判断范围来进一步检测出海胆个体。
在所述尺寸判断步步骤中包括依次执行如下步骤:
F1:获取每一个候选海胆的区域面积(对于每一个候选海胆,我们已经获取其轮廓,只需统计轮廓内像素点的个数,则统计结果便为区域面积),并标记为Si,i表示当前候选海胆的序号;
F2:获取Si的最小外接矩形Qi;
F3:获取Qi的长度和宽度,分别记为Li和Wi;如果则不符合海胆的形状(从而将远处和近处的海胆尺寸都考虑到),将Si所对应的候选海胆删除,否则继续执行步骤F4;
F4:除了长宽比之外,我们还需计算Si,如果Si过小或者过大,则不可能为海胆,如果Si的值大小位于所设定的像素值范围内(如果Si的值大小在20个像素值大小和40个像素值大小之间),则判断为海胆(由于采用的是双目采集的方法来获取图像,故如果海胆离得越远,则面积越小,且不同海胆的大小不一致),海胆数N加1,否则将Si所对应的候选海胆删除。
所述步骤3包括依次执行如下步骤:
定义初始跟踪区域步骤:对于当前海胆来说,绘制一个最小矩形区域,使得该区域恰好能将当前海胆包围起来,该矩阵区域即为初始化的跟踪区域,标记为L,并记录初始化跟踪区域的尺寸大小,长度和宽度分别记为W和H;
寻找最佳匹配区域步骤:通过差异度公式的计算和分析获取最有可能成为海胆运动后的区域;
匹配模板区域更新步骤:由于海胆目标是运动的,因此,我们也需要对匹配模板区域进行更新,否则,如果一直使用没有进行更新操作的匹配模板区域与搜索范围中的搜索模板进行匹配,则会产生一定的误差,影响最终的结果。匹配模板区域的更新具体操作如下:
1)已知当前的匹配模板区域为T,尺寸大小为W×H,则更新后的匹配模板区域记为T',尺寸同样为W×H;
2)在定义初始跟踪区域中,匹配模板区域初始化的值为初始跟踪区域L;
3)区域R为当前图像中海胆移动后的区域;
4)更新后的匹配模板区域T',计算公式为:T'(x,y)=(1-α)T(x,y)+αR(x,y),T(x,y)、R(x,y)和T'(x,y)均表示在点(x,y)处对应的像素值,0≤x<W,0≤y<H,α表示更新比重,其值一般取0.0.1(经验值),由于海胆移动幅度不是太大,原始匹配区域T所占的海胆信息量较大,故其所占比重也相应较大。
所述寻找最佳匹配区域步骤包括依次执行如下步骤:
H1:设置搜索模板;设置一个搜索范围模板是m×n,其中m=W+10,n=H+10;在其余的图像中,滑动该搜索模板,搜索模板所覆盖的区域和匹配模板区域进行求解相似度,相似度最高的搜索模板区域,则为当前图像中的海胆移动后的区域;
H2:计算差异度;计算搜索模板与匹配模板内像素值的绝对差的总和,并作为匹配的差异度;
H3:求取所有的差异度;由于0≤i<m,0≤j<n,故对于所有的i和j,求取从而完成区域匹配操作;
H4:在所有Sij中,寻找其最小值;
H5:记录Sij取得最小值时候,当前的i和j的值;当Sij取值最小,说明取值最小对应的区域,与匹配模板区域的差异度最小,说明其是最有可能成为海胆运动后的区域;则在当前图像中,海胆移动后的区域位置是:以坐标点(i,j)为左上角顶点,以W×H为矩形框的区域部分,该区域标记为R。
所述H2步骤的计算差异度公式为:
其中,T(x,y)表示在W×H大小的匹配模板区域中,坐标点(x,y)对应的像素值大小,Tij(x,y)表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中坐标点(x,y)对应的像素值大小,Tij(x,y)中的x和y取值范围分别是:i≤x<i+W,j≤y<j+H,Sij表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中,计算的像素值的绝对值总和,0≤i<m,0≤j<n。
本发明还公开了一种海水中海胆数量统计的系统,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求中所述的方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求中所述的方法的步骤。
本发明的有益效果是:1.利用水下机器人采集海水中海胆的分布信息,从而分析海水水质,避免了人工采集海水样本的复杂工作;2.将计算机视觉技术应用到检测海水的水质情况中,相对于采用各种化学设备进行分析,提高了准确性;3.将深度学习技术应用到从水下机器人采集图像中自主提取海胆特征,并检测出所有疑似海胆个体,避免了因距离原因无法较好地检测出远处海胆个体的问题,提高了检测海胆个体的准确性;4.结合水下机器人的双目视觉技术,并结合海胆个体尺寸大小,进一步提高检测海胆个体的准确性;5.利用计算机视觉技术,分析了海胆的迁移路线,为检测海水水质的变化情况提供了有效信息。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (6)
1.一种海水中海胆数量统计的方法,其特征在于,包括依次执行如下步骤:
步骤1:获取海胆分布图像;通过水下机器人采集获得海胆的图像;
步骤2:计算水域海胆密度;通过获取的海胆分布图像计算水域中海胆的分布密度,检测海水水质情况;若水域中海胆的分布密度大于所设定阈值,则说明这块水域的水质情况不错,否则水质情况一般;
步骤3:分析海胆迁移路线;通过对水域海胆密度的计算,获取到单个海胆,然后对海胆进行轨迹跟踪并分析,从而继续监测海水的水质情况;
步骤4:海水水质情况分析;对检测到的所有海胆的移动路线进行统计和分析,从而得出海水水质的相关情况;
所述步骤2包括以下步骤:
初步筛选步骤:为提高检测海胆的准确性,初步筛选出海胆物体,减小从原始图像中漏掉海胆个体的可行性;
尺寸检测步骤:通过初步筛选步骤获取的海胆的二值图像,作进一步检测,筛选出其中真正的海胆区域;
密度计算步骤:机器人连续获取数百张海胆分布图像,然后统计数百张图像中的海胆总数Nt,t代表海胆分布图像的实际总数,A代表单张图像所覆盖的实际海域面积,海胆密度记为如果P大于经验值Z,则这t张所覆盖的实际海域水质情况不错,否则水质情况,相对一般;
所述尺寸检测步骤包括依次执行如下步骤:
形态学操作步骤:采用形态学操作来对二值图像进行边缘的平滑操作,以减少海胆的刺对检测海胆轮廓的影响;
获取海胆的轮廓步骤:对图像中每一个单独的白色区域,绘制其外接轮廓,并将其保存下来;
尺寸判断步骤:设置一个尺寸判断范围来进一步检测出海胆个体;
在所述尺寸判断步步骤中包括依次执行如下步骤:
F1:获取每一个候选海胆的区域面积,并标记为Si,i表示当前候选海胆的序号;
F2:获取Si的最小外接矩形Qi;
F3:获取Qi的长度和宽度,分别记为Li和Wi;如果则不符合海胆的形状,将Si所对应的候选海胆删除,否则继续执行步骤F4;
F4:计算Si,如果Si的值大小位于所设定的像素值范围内,则判断为海胆,海胆数N加1,否则将Si所对应的候选海胆删除;
所述步骤3包括依次执行如下步骤:
定义初始跟踪区域步骤:绘制一个最小矩形区域,使得该区域恰好能将当前海胆包围起来,该矩阵区域即为初始化的跟踪区域,标记为L,并记录初始化跟踪区域的尺寸大小,长度和宽度分别记为W和H;
寻找最佳匹配区域步骤:通过差异度公式的计算和分析获取最有可能成为海胆运动后的区域;
匹配模板区域更新步骤:计算公式为:T'(x,y)=(1-α)T(x,y)+αR(x,y),T(x,y)、R(x,y)和T'(x,y)均表示在点(x,y)处对应的像素值,0≤x<W,0≤y<H,α表示更新比重;
所述寻找最佳匹配区域步骤包括依次执行如下步骤:
H1:设置搜索模板;设置一个搜索范围模板是m×n,其中m=W+10,n=H+10;
H2:计算差异度;计算搜索模板与匹配模板内像素值的绝对差的总和,并作为匹配的差异度;
H3:求取所有的差异度;由于0≤i<m,0≤j<n,故对于所有的i和j,求取从而完成区域匹配操作;
H4:在所有Sij中,寻找其最小值;
H5:记录Sij取得最小值时候,当前的i和j的值;当Sij取值最小,说明取值最小对应的区域,与匹配模板区域的差异度最小,说明其是最有可能成为海胆运动后的区域;
所述H2步骤的计算差异度公式为:
其中,T(x,y)表示在W×H大小的匹配模板区域中,坐标点(x,y)对应的像素值大小,Tij(x,y)表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中坐标点(x,y)对应的像素值大小,Tij(x,y)中的x和y取值范围分别是:i≤x<i+W,j≤y<j+H,Sij表示在以点(i,j)为左上角坐标点,绘制的大小为m×n的搜索模板区域中,计算的像素值的绝对值总和。
2.根据权利要求1所述的方法,其特征在于,在所述步骤1中,对采集到的图像进行形变去除,该形变去除包括依次执行如下步骤:
摄像机标定步骤:获取摄像头的内参;
消除畸变步骤:结合摄像机标定所得到的参数信息来校正方向,从而消除图像的畸变;
校正方向步骤:通过校正方向,使得左右摄像机拍摄的图像处于行平齐状态;
裁剪图像步骤:对左右摄像机获取的图像,进行裁剪,获取有用的信息部分,消除多余的空白区域。
3.根据权利要求1所述的方法,其特征在于,所述初步筛选步骤包括依次执行如下步骤:
构建训练样本步骤:采用数据集进行数据增强操作,获得更多的海胆图像数据集,并且对原始的海胆图像数据集依次进行随机的平移、旋转操作,构建出训练样本;
样本标定步骤:对构建训练样本步骤所获得的数据集中的每一张图像建立其对应的标签图像;
训练网络步骤:所述训练网络的输入为海胆图像,网络输出为输入图像所对应的标签图像,通过使用BP算法来更新神经元的权重和偏置,最终使得神经网络达到收敛状态,表示网络训练完毕;
筛选海胆步骤:待网络训练完毕之后,将需要检测的海胆图像输入到训练网络中,训练网络最终会输出一张二值图像,其中像素值为1的所有区域,便是疑似海胆区域。
4.根据权利要求3所述的方法,其特征在于,所述训练网络步骤中的BP算法包括依次执行如下步骤:
D1:先随机初始化每条连接线权重(w1和w2)和偏置b;
D2:输入数据x1,x2,BP算法都会先执行前向传输得到预测值a;
D3:根据真实值a'与预测值a之间的误差逆向反馈更新神经网络中每条连接线的权重和每层的偏置;
D4:重复步骤D1-D3,直到网络收敛,此时训练完毕。
5.一种海水中海胆数量统计的系统,其特征在于,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-4中任一项所述的方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245910.0A CN109523519B (zh) | 2018-10-24 | 2018-10-24 | 一种海水中海胆数量统计的方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245910.0A CN109523519B (zh) | 2018-10-24 | 2018-10-24 | 一种海水中海胆数量统计的方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109523519A CN109523519A (zh) | 2019-03-26 |
CN109523519B true CN109523519B (zh) | 2023-09-26 |
Family
ID=65773987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811245910.0A Active CN109523519B (zh) | 2018-10-24 | 2018-10-24 | 一种海水中海胆数量统计的方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109523519B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014083721A1 (ja) * | 2012-11-27 | 2014-06-05 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
CN104318325A (zh) * | 2014-10-14 | 2015-01-28 | 广东省环境监测中心 | 多流域实时智能水质预测方法及系统 |
-
2018
- 2018-10-24 CN CN201811245910.0A patent/CN109523519B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014083721A1 (ja) * | 2012-11-27 | 2014-06-05 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
CN104318325A (zh) * | 2014-10-14 | 2015-01-28 | 广东省环境监测中心 | 多流域实时智能水质预测方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于RBF神经网络的胶州湾东北部海水环境质量状况分析;邓宗成等;《海洋通报》;20080415(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109523519A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062915B (zh) | 一种基于改进YOLOv3模型的实时钢管缺陷检测方法 | |
Lines et al. | An automatic image-based system for estimating the mass of free-swimming fish | |
CN110889844B (zh) | 一种基于深度聚类分析的珊瑚分布及健康状况评估方法 | |
CN109902761B (zh) | 一种基于海洋环境因子融合和深度学习的渔情预测方法 | |
CN110633711B (zh) | 训练特征点检测器的计算机装置、方法及特征点检测方法 | |
CN109708658B (zh) | 一种基于卷积神经网络的视觉里程计方法 | |
CN114781514A (zh) | 一种融合注意力机制的漂浮物目标检测方法及系统 | |
CN115497015A (zh) | 一种基于卷积神经网络的河流漂浮污染物识别方法 | |
CN114170212A (zh) | 一种基于ct影像中肺小结节假阳检测方法及系统 | |
CN111898677A (zh) | 一种基于深度学习的浮游生物自动检测方法 | |
CN115546113A (zh) | 掌子面裂隙图像与前方三维结构参数预测方法及系统 | |
Rofallski et al. | Measuring artificial reefs using a multi-camera system for unmanned underwater vehicles | |
CN110334727B (zh) | 一种隧道裂缝智能匹配检测方法 | |
CN108154513A (zh) | 基于双光子成像数据的细胞自动探测和分割方法 | |
CN114273826A (zh) | 用于大型待焊接工件的焊接位置自动识别方法 | |
CN109523519B (zh) | 一种海水中海胆数量统计的方法、系统和存储介质 | |
CN117011759A (zh) | 钻爆法隧道掌子面围岩多元地质信息解析方法及系统 | |
CN116740036A (zh) | 一种钢管管端引熄弧板切割点位检测方法和系统 | |
CN114120129B (zh) | 基于无人机图像和深度学习的滑坡滑移面的三维识别方法 | |
CN115619721A (zh) | 海底浅层沉积物中的生物扰动作用的定量估算方法 | |
CN114120359A (zh) | 一种基于堆叠沙漏网络的群养猪体尺测量方法 | |
CN114111602A (zh) | 一种基于图像技术的桥梁表面裂缝宽度计算方法 | |
CN111833307A (zh) | 一种风力机叶片裂纹诊断方法及装置 | |
CN111914751A (zh) | 一种图像人群密度识别检测方法及系统 | |
Iakushkin et al. | Underwater biotope mapping: automatic processing of underwater video data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |