基于无人机和图像识别的水面污染物检测方法与流程

文档序号:14449921阅读:3068来源:国知局
基于无人机和图像识别的水面污染物检测方法与流程

本发明属于水污染物检测技术中的水面漂浮物检测方法,具体涉及基于无人机和图像识别的水面污染物检测方法。



背景技术:

随着经济和社会的快速发展,我国城镇化建设步伐日益加快,大量的人口聚集到城市生活,给城市周边的环境和生态造成了严重的影响,许多饮水水源、城市内河、周边湖泊、水库等水面上出现大量的污染物,这些污染物大多是一些人类生活垃圾、工业排污等,其中包含大量对水质有害的物质,如果不能得到及时清理,势必会破坏生态环境,威胁人类的生存和发展,为了社会可持续发展和人类健康,必须治理水污染问题,及时清除水面污染物,还子孙后代青山绿水,于是,对饮水水源、城市内河、湖泊和水库等水面污染物的监测成了一个迫切需要解决的问题,需要投入大量的人力和物力资源。

为了解决这些问题,目前虽然有些水域场景安装了实时监控设备,但是,这些设备大多是固定在一个地方,只能监控到一定区域内的水面污染物,而且,还会受到供电、网络和硬件安装等诸多因素的限制,存在投入成本高、周期长等缺点。



技术实现要素:

针对现有水面污染物监测技术所存在的问题,本发明所要解决的技术问题就是提供一种基于无人机和图像识别的水面污染物检测方法。

本发明包括以下步骤:

1)无人机上设置的控制器模块对图像采集模块采集的水面污染物图像数据和gps模块收集到的定位信息数据进行采集;

2)控制器模块中arduino嵌入式开发板将所述水面污染物图像数据和所述定位信息数据传送给树莓派数据存储模块;

3)树莓派数据存储模块将所述水面污染物图像数据和所述定位信息数据存储到树莓派数据存储模块中的嵌入式数据库中;

4)地面服务器中水面污染物监测模块自树莓派数据存储模块中接收所述水面污染物图像数据和所述定位信息数据、拍摄时间,以及图像拍摄位置数据;

5)地面服务器中水面污染物监测模块计算图像特征阈值,使用阈值检测到污染物之后,将污染物信息数据传送到污染区标注模块;

6)污染区域标注模块在电子地图上标注出污染物所在区域。

由上可见,本发明由无人机上设置的控制模块、图像采集模块、gps模块和数据存储模块和地面服务器中设置的水面污染物监测模块和污染区域标注模块组成,污染区域标注模块在电子地图上标注出污染物所在区域,可为后期的清污工作提供依据。

本发明在现有基于图像识别的水面污染物检测技术的基础上,借助于无人机灵活、机动的采集图像特点,能涉足人类不易到达和固定摄像头不易安装的地方,扩大监测面积,实现监测水域全覆盖,且不受人类主观因素的影响,能提高检测的准确性和可靠性,为水面污染物的监控和清除提供参考。

本发明与固定的水面污染物检测阈值相比,使用机器学习方法得到的检测阈值更贴合实际水面情况,并随着数据量的增长有更高的准确性,因此使用此阈值能提高检测结果的准确率;同时与固定摄像头的水面污染物检测方法相比,监测的范围更广,可以实现监测水域全覆盖,且克服了人工监测的盲目性,能提高检测的准确性和可靠性。

进一步地,本发明步骤1)中,首先,控制器模块通过初始化驱动模块与图像采集模块采集连接;然后控制器模块通过i2c交互系统接收gps模块传输的数据;控制器模块判断是否采集图像采集模块数据,如果不是,则再通过i2c交互系统接收gps模块传输的数据,如果是,则控制器模块控制图像采集模块打开摄像头,并设置摄像参数;控制器模块创建套接字,并准备服务器地址;控制器模块向图像采集模块发送请求,接收响应后,控制器模块创建连接;控制器模块接收图像采集模块发送的水面污染物图像数据,然后保存为jpeg格式,并完成图像压缩;控制器模块判断图像采集是否完成;如果不是,则控制器模块通过i2c交互系统接收gps模块传输的数据,如果是,则关闭套接字,释放资源;最后,控制器模块将所采集的水面污染物图像和定位信息数据图像数据打包。

在步骤1)中,所述无人机上设置的控制器模块通过图像采集模块和gps模块采集水面污染物图像数据和图像位置定位信息,为后面的污染物识别和定位提供数据源,其中,图像数据保存为jpeg格式,具有占用存储空间小,便于压缩,更适合无线传输等特点。

在步骤2)中,所述图像采集模块、gps模块和树莓派之间通过控制器模块连接,而不是直接连接,图像采集模块、gps模块通过中间的arduino嵌入式开发板进行数据采集和数据转发,这种架构模式能够降低系统的耦合性,同时有效的克服了树莓派微电脑针脚不足的缺陷性。

在步骤5)中,所述水面污染物监测模块先将接受的所述水面污染物图像数据中三分之二数据生成训练数据集;然后水面污染物监测模块从所述训练数据集中提取图像数据的rgb、lbp、hog和污染范围面积特征数据,再训练图像的svm分类器,使用机器学习方法,用提取图像数据的rgb、lbp、hog和污染范围面积特征数据生成的训练数据集进行训练,经计算图像特征阈值后,逐条读取所述水面污染物图像数据中剩余的三分之一数据进行污染物测试;水面污染物监测模块对读取到的图像信息数据中污染物图像特征值进行判断;当污染物图像特征值大于阈值,则将该图像信息数据写入gps模块收集到的定位信息数据中。

在步骤5)中,地面服务器首先从收集到的水面图像数据集中分离出一部分作为训练集,之后服务器运行机器学习方法,将收集到的水面污染物图像数据分为两类,并计算出其中水面污染物对象的颜色、灰度、纹理和面积等特征的平均值,并将此作为水面污染物检测阈值;利用该阈值,本发明从测试集中检测出水面污染物数据并输出保存到水面污染物信息文件中。

附图说明

图1为本发明的系统总体结构图。

图2为本发明的图像采集模块和gps模块流程图。

图3为本发明的水面污染物检测模块流程图。

具体实施方式

下面结合附图1、2、3对本发明作进一步说明:

本发明系统总体分为无人机和地面服务器两部分。无人机部分设置了图像采集模块1、控制器模块2、gps模块3和数据存储模块4四个模块。地面服务器部分安装了水面污染物监测模块5和污染区域标注模块6。

无人机部分的图像采集模块1由数码摄像头实现,用于水面图像数据的采集。

gps模块3用于水面污染物的位置信息的采集。

控制器模块2由arduino嵌入式开发板实现,用于与图像采集模块1和gps模块3进行数据交互,并将所拍摄的水面图像数据和位置信息数据打包后传输到数据存储模块4。

数据存储模块4由微电脑树莓派实现,数据存储模块4用于接收控制器模块2传输的数据并将数据存储到数据存储模块4的数据库中。

水面污染物监测模块5用于接收控制器模块4传输的水面图像信息数据,水面图像信息数据包括图像数据和位置信息数据;如果控制器模块2检测到系统网络连接正常后,数据存储模块4将水面图像信息数据传输到水面污染物检测模块5中,并清空安装在树莓派中的嵌入式数据库;在完成水面污染物检测后,水面污染物检测模块5将输出水面污染物位置信息数据到污染区域标注模块6中,进行位置标注。

污染物区域标注模块6读取已识别的水面污染物的位置信息数据,读取后使用高德或者百度电子地图的api在地图上标注出污染物的位置,供后期清污工作提供参考。

本发明基于无人机和图像识别的水面污染物检测方法步骤如下:

1、控制器模块2对图像采集模块1采集的水面污染物图像数据和gps模块3收集到的定位信息数据进行采集:

首先,控制器模块2通过其内部的初始化驱动模块与图像采集模块1采集连接,然后控制器模块2通过i2c交互系统接收gps模块3传输的数据。

然后,控制器模块2判断是否采集图像采集模块1数据,如果不是,则再通过i2c交互系统接收gps模块3传输的数据,如果是,则控制器模块2控制图像采集模块1打开摄像头,并设置摄像参数,控制器模块1创建套接字,并准备服务器地址。

arduino嵌入式开发板上的微控制器与数码摄像头之间通过spi协议交互数据,微控制器与gps模块通过i2c协议交互;在初始化阶段,微控制器需要初始化一个spi交互实例和i2c交互实例。本实施例使用zd-a2数码摄像头作为图像采集模块,在接收数据前需要初始化驱动程序和采集系统。

gps的采样频率较数码相机采集图像慢,因此微控制器在采集数据时以gps模块采样为基准,微控制器将读取gps模块所采集到的当前拍照时所在水面位置的经纬度、时间。

控制器模块2向图像采集模块1发送请求,接收响应后,控制器模块2创建连接;控制器模块接2收图像采集模块1发送的水面污染物图像数据,然后保存为jpeg格式,并完成图像压缩。

控制器模块2判断图像采集是否完成。如果不是,则控制器模块2通过i2c交互系统接收gps模块3传输的数据,如果是,则关闭套接字,释放资源。

最后,控制器模块2将所采集的水面污染物图像和定位信息数据图像数据打包。

2、控制器模块2中arduino嵌入式开发板将打包的采集的水面污染物图像数据和定位信息数据图像数据,以及当前时间传送至树莓派数据存储模块4中。

3、树莓派数据存储模块4将水面污染物图像数据和所述定位信息数据存储到树莓派数据存储模块4中的嵌入式数据库中。

4、在网络支持下,地面服务器中水面污染物监测模块5自树莓派数据存储模块4中的嵌入式数据库中接收所述水面污染物图像数据和所述定位信息数据、拍摄时间,以及图像拍摄位置数据。服务器为pc。

5、水面污染物监测模块5计算图像特征阈值,使用阈值检测到污染物之后,将污染物信息数据传送到污染区标注模块6:

水面污染物监测模块5先将接受的水面污染物图像数据中三分之二数据生成训练数据集;然后水面污染物监测模块5从训练数据集中提取图像数据的rgb、lbp、hog和污染范围面积特征数据,再训练图像的svm分类器,使用机器学习方法,用提取图像数据的rgb、lbp、hog和污染范围面积特征数据生成的训练数据集进行训练,经计算图像特征阈值后,逐条读取水面污染物图像数据中剩余的三分之一数据进行污染物测试。

水面污染物监测模块5再对读取到的图像信息数据中污染物图像特征值进行判断,当污染物图像特征值大于阈值时,则将该图像信息数据写入gps模块3收集到的定位信息数据中。

6、污染区域标注模块6在电子地图上标注出污染物所在区域。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1