发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能降低河道巡视成本及劳动强度的水面异物识别方法。
为了解决上述技术问题,本发明所提供的一种水面异物识别方法,其特征在于,具体步骤如下:
1)构建一个yolo分类特征模型,并用多种水面异物的图像作为训练样本对yolo分类特征模型进行预训练;
2)利用搭载有姿态传感器、摄像头的遥控水下航行器巡航目标水域,并利用遥控水下航行器上搭载的摄像头拍摄目标水域的水面图像,并将拍摄的水面图像定义为原始图像,并记录原始图像的拍摄时间、拍摄姿态信息;
并且在原始图像的图像高度方向上,水面基线位于图像的中部,水面基线是指图像中的水面与陆地、天空的分界线;
水面图像的拍摄姿态信息是通过姿态传感器获取的拍摄水面图像时的拍摄倾角;
3)复制一份原始图像,将原始图像的复制版转换为灰度图像,并将转换所得的灰度图像定义为一次图像;
4)定义一条水平校准线,及上下各一条水陆衔接区界线,并将两条水陆衔接区界线之间的区域定义为水陆衔接区域;
其中,两条水陆衔接区界线都平行于水平校准线,水平校准线位于两条水陆衔接区界线之间;
所述水平校准线穿过一次图像的中心点,并且水平校准线与一次图像的高度二分线之间的夹角等于原始图像的拍摄倾角;
一次图像的高度二分线是垂直于一次图像的高度方向,并且穿过一次图像中心点的直线;
5)设定一个二值化参数范围,及一个水陆分界标度值,并从设定的二值化参数范围中选取一个二值化参数值,并将选取的二值化参数值设定为当前二值化参数;
6)复制一份一次图像,利用当前二值化参数对一次图像的复制版实施二值化处理,得到一次图像的二值化图像;
7)对步骤6)所得到的二值化图像实施边缘检测;如果检测到该二值化图像中的位于水陆衔接区域内的边缘线的像素数大于设定的水陆分界标度值,则将该二值化图像定义为二次图像,并转至步骤8);
反之,则从设定的二值化参数范围中选取一个新的二值化参数值,并将选取的二值化参数值设定为当前二值化参数,再转至本步骤6);
8)采用纹理分割法对一次图像进行图像分割,找出一次图像中的水陆衔接区域内的纹理分割线,并采用霍夫线变换从二次图像中找出霍夫变换直线;
9)采用最小二乘法对水平校准线、纹理分割线、霍夫变换直线进行两两拟合度计算,并在拟合度最高的两条线中,将像素点多的那条线视为水面轮廓线;
10)从一次图像中提取位于水面轮廓线下侧的图像区域,并将提取的图像区域作为一个新图像实施边缘检测,通过边缘检测方法标记出图像中的各个可疑物体的轮廓线,并将边缘检测后所得的图像定义为异物预判图;
11)预先设定一个轮廓面积阈值,及一个轮廓周长阈值,计算异物预判图中的各个可疑物体的面积、周长,并将满足条件1或条件2的可疑物体定义为待识别异物;
条件1:面积大于预设的轮廓面积阈值;
条件2:周长大于预设的轮廓周长阈值;
异物预判图中,可疑物体的面积是指可疑物体的轮廓线围合区域的面积,可疑物体的周长是指可疑物体的轮廓线的周长;
12)采用yolo2物体检测分类算法及预训练后的yolo分类特征模型对各个待识别异物进行特征识别,从而识别出水面的异物种类。
进一步的,步骤10)中,将提取的图像区域作为一个新图像之后,先对该图像采用开运算滤波处理,再对该图像采用黑帽运算滤波处理,然后再对该图像实施边缘检测。
进一步的,水面图像的拍摄姿态信息还包括通过姿态传感器获取的拍摄水面图像时的拍摄方向;识别出水面的异物种类后,将识别出的异物与原始图像的拍摄时间、拍摄姿态信息关联。
进一步的,巡航目标水域的遥控水下航行器上还搭载有卫星定位模块,利用遥控水下航行器上搭载的摄像头拍摄原始图像时,记录原始图像的拍摄位置信息,识别出水面的异物种类后,将识别出的异物与原始图像的拍摄位置信息关联;水面图像的拍摄位置信息是通过卫星定位模块获取的拍摄水面图像时的卫星定位数据。
本发明提供的水面异物识别方法,利用遥控水下航行器搭载的摄像头拍摄水面图像,并通过算法找出图像中的水面轮廓线;进一步的通过算法识别出水面的异物种类,可以实现对目标水域的远程巡视,能降低河道巡视成本及劳动强度。
具体实施方式
以下对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围,本发明中的顿号均表示和的关系,本发明中的英文字母区分大小写。
本发明实施例所提供的一种水面异物识别方法,其特征在于,具体步骤如下:
1)构建一个yolo分类特征模型,并用多种水面异物的图像作为训练样本对yolo分类特征模型进行预训练;yolo分类特征模型的构建方法为现有技术;
所述水面异物的图像包括树叶图像、瓶体图像、树枝图像、油污图像、袋体图像、船舶图像、鱼网图像等;
2)利用搭载有卫星定位模块、姿态传感器、摄像头的遥控水下航行器巡航目标水域,并利用遥控水下航行器上搭载的摄像头拍摄目标水域的水面图像,并将拍摄的水面图像定义为原始图像,并记录原始图像的拍摄时间、拍摄位置信息、拍摄姿态信息;
并且在原始图像的图像高度方向上,水面基线位于图像的中部,水面基线是指图像中的水面与陆地、天空的分界线,通过机械结构将摄像头固定在遥控水下航行器的适当位置,可以使水面基线位于图像中部;
水面图像的拍摄位置信息是通过卫星定位模块获取的拍摄水面图像时的卫星定位数据;
水面图像的拍摄姿态信息是通过姿态传感器获取的拍摄水面图像时的拍摄倾角及拍摄方向;
所述卫星定位模块、姿态传感器均为现有技术,卫星定位模块可以采用GPS卫星定位模块、北斗卫星定位模块等;
3)复制一份原始图像,将原始图像的复制版转换为灰度图像,并将转换所得的灰度图像定义为一次图像;
4)定义一条水平校准线,及上下各一条水陆衔接区界线,并将两条水陆衔接区界线之间的区域定义为水陆衔接区域;
其中,两条水陆衔接区界线都平行于水平校准线,水平校准线位于两条水陆衔接区界线之间;
所述水平校准线穿过一次图像的中心点,并且水平校准线与一次图像的高度二分线之间的夹角等于原始图像的拍摄倾角;
一次图像的高度二分线是垂直于一次图像的高度方向,并且穿过一次图像中心点的直线;
本实施例中,上侧的水陆衔接区界线与水平校准线之间的间距为46个像素,下侧的水陆衔接区界线与水平校准线之间的间距为100个像素;
5)设定一个二值化参数范围,及一个水陆分界标度值,并从设定的二值化参数范围中选取一个二值化参数值,并将选取的二值化参数值设定为当前二值化参数;
6)复制一份一次图像,利用当前二值化参数对一次图像的复制版实施二值化处理,得到一次图像的二值化图像;
对图像实施二值化处理方法为现有技术,一次图像是一个灰度图像,其二值化参数范围可以设定为0~255,假设二值化参数值的取值为200,利用该二值化参数值对一次图像复制版实施二值化处理的方式为:将一次图像复制版中,所有灰度值大于等于200的像素的灰度值改成255,所有灰度值小于200的像素的灰度值改成0,使得二值化处理后的图像只有黑白两种颜色;
7)对步骤6)所得到的二值化图像实施边缘检测;如果检测到该二值化图像中的位于水陆衔接区域内的边缘线的像素数大于设定的水陆分界标度值,则将该二值化图像定义为二次图像,并转至步骤8);
反之,则从设定的二值化参数范围中选取一个新的二值化参数值,并将选取的二值化参数值设定为当前二值化参数,再转至本步骤6);
对图像实施边缘检测的方法为现有技术,现有的边缘检测方法有很多,本实施例采用的是canny边缘检测算法;
对图像实施边缘检测的目的是找出能正确反映水陆分界状况的二值化图像,假设水陆分界标度值设定为1338,那么通过边缘检测方法检测水陆衔接区域内的边缘线,如果检测到大于1338个像素点的边缘线,即可将该边缘线视为水陆分界线,说明当前二值化图像能正确反映水陆分界状况,可在当前二值化图像的基础上进行后续步骤的操作,否则就说明当前二值化图像的二值化参数值选择不适当,需要重新选取一个新的二值化参数值来制作一个新的二值化图像;
8)采用纹理分割法对一次图像进行图像分割,找出一次图像中的水陆衔接区域内的纹理分割线,并采用霍夫线变换从二次图像中找出霍夫变换直线;
9)采用最小二乘法对水平校准线、纹理分割线、霍夫变换直线进行两两拟合度计算,并在拟合度最高的两条线中,将像素点多的那条线视为水面轮廓线;
采用最小二乘法对两条线进行拟合度计算的方法为现有技术;该方法定义一个二维的图像坐标系,假设图像坐标系以图像左下角的像素点为原点,Y轴平行于图像的高度方向,X轴平行于图像的宽度方向,那么水平校准线、纹理分割线、霍夫变换直线,这三条线对应图像坐标系中的点,对于两条拟合的线,将该两条线上的X轴值相同的点对应的Y轴值做差值,并对该差值的平方求和,求和所得值越小则拟合度越高;
10)从一次图像中提取位于水面轮廓线下侧的图像区域,并将提取的图像区域作为一个新图像实施边缘检测,通过边缘检测方法标记出图像中的各个可疑物体的轮廓线,并将边缘检测后所得的图像定义为异物预判图;
本步骤中采用的边缘检测方法也是canny边缘检测算法,并且将提取的图像区域作为一个新图像之后,先对该图像采用开运算滤波处理,再对该图像采用黑帽运算滤波处理,然后再对该图像实施边缘检测;
开运算滤波可以对图像中的可疑物体周边稍亮一点区域进行灼蚀,滤除可疑物体周边一些孤立的噪点,黑帽运算滤波可以分离图像中的比邻近点暗一点的斑块,从而强化图像中的可疑物体的轮廓;
11)预先设定一个轮廓面积阈值,及一个轮廓周长阈值,计算异物预判图中的各个可疑物体的面积、周长,并将满足条件1或条件2的可疑物体定义为待识别异物;
条件1:面积大于预设的轮廓面积阈值;
条件2:周长大于预设的轮廓周长阈值;
异物预判图中,可疑物体的面积是指可疑物体的轮廓线围合区域的面积,可疑物体的周长是指可疑物体的轮廓线的周长;
12)采用yolo2物体检测分类算法及预训练后的yolo分类特征模型对各个待识别异物进行特征识别,从而识别出水面的异物种类(树叶、瓶体、树枝等);yolo2物体检测分类算法为现有技术。
本发明实施例中,识别出水面的异物种类后,可将识别出的异物与原始图像的拍摄时间、拍摄位置信息、拍摄姿态信息关联,其中的拍摄位置信息、拍摄姿态信息用于标记异物所处的水域。