一种基于神经网络和图像识别的智能水面漂浮物打捞系统的制作方法

文档序号:17130197发布日期:2019-03-16 01:05阅读:374来源:国知局
一种基于神经网络和图像识别的智能水面漂浮物打捞系统的制作方法

本发明属于神经网络和图像识别的相关方法,具体涉及卷积神经网络和图像处理以及自动化控制领域。



背景技术:

卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(convolutionallayer)和池化层(poolinglayer)。

卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,hubel和wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(convolutionalneuralnetworks-简称cnn)。现在,cnn已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。k.fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。其中,具有代表性的研究成果是alexander和taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。

一般地,cnn的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

cnn主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于cnn的特征检测层通过训练数据进行学习,所以在使用cnn时,避免了显式的特征抽取,而隐式地从训练数据中进行学习。再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了i/o设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。我们通过接收处理器传来的信号控制穿的行进和挡位的变换。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种无需人为控制便能自动、快速、高效率地打捞起瓶子、垃圾、水葫芦等水面漂浮物,达到自主清淤的功能的基于神经网络和图像识别的智能水面漂浮物打捞系统。本发明的技术方案如下:

一种基于神经网络和图像识别的智能水面漂浮物打捞系统,其包括:双体船、图像采集和处理模块、图像识别模块、船体控制模块及智能水面漂浮物打捞模块,其中,所述双体船包括.两个单体船、连接甲板和防水载物台,防水载物台上安装有单片机,通过单片机控制两个单体船中螺旋桨的转速控制船体的转向、调头和巡航;

图像采集和处理模块,用于通过广角摄像头监视水面,每隔nms采集一次水面的图片并进行去噪、去除光照以及前后景分离图像处理;

图像识别模块,对图像进行采集和处理后,根据采集到的图片构造出正负样本数据集,从中随机选择部分数据作为训练数据,利用得到的训练数据,通过卷积神经网络的模型与图像金字塔相结合构建图像识别模型;

船体控制模块,根据图像识别模型来识别并获取漂浮物位置,根据图像识别出的漂浮物坐标与识别区域三等分线坐标的比较,通过一个线性函数求出下一时刻的偏转方向;通过串口通信将下一时刻的偏转方向控制信号传到单片机上从而实现船体控制;

智能水面漂浮物打捞模块,包括:将单片机、电池、发动机、散热器、打捞网、广角摄像头、pc在内的器材,然后将船体控制模块的船体控制程序烧录进单片机中,实现智能水面漂浮物识别系统转向、巡航、掉头功能,在pc端运行图像识别模块,并通过串口将识别结构传输到单片机完成智能水面漂浮物打捞系统的自动识别和打捞工作。

进一步的,所述图像采集和处理模块采取gamma校正的算法去除水面的光照。

进一步的,所述采取gamma校正的算法去除水面的光照,具体包括步骤:首先,根据公式(1)对图像进行归一化,将像素值转换为0~1之间的实数。然后,根据公式(2),对归一化后的像素进行预补偿的操作;最后,通过公式(3)将预补偿后的实数值反变换为0~255之间的整数值;

xnorm=(x+0.5)/256(1)

x=xim*256-0.5(3)

其中xnorm表归一化后的像素值,xim表示伽马校正后的像素值,x表示原始像素值。

进一步的,所述图像识别模块通过卷积神经网络的模型与图像金字塔相结合实现水面漂浮物的识别与定位,根据处理好的图像,输入进卷积神经网络进行训练来获取图像识别模型,从7层神经网络开始试探性增加中间的卷积层和池化层个数,通过实验最终确定为一个11层的卷积神经网络。

进一步的,所述卷积神经网络的结构是采用的lenet-5的7层网络为基础input->convolution(卷积)->pooling(池化)->convolution->pooling->fullconnected(全连接)->softmax(线性操作)。

进一步的,所述船体控制模块,根据图像识别模型来识别并获取漂浮物位置,根据图像识别出的漂浮物坐标与识别区域三等分线坐标的比较,通过一个线性函数求出下一时刻的偏转方向;通过串口通信将下一时刻的偏转方向控制信号传到单片机上从而实现船体控制,具体包括:

通过串口通信接收电脑端传输的方向信号,然后arduino单片机根据获取信号操控船体发动机进行相应方向的前行,其中根据图像识别模型识别的位置,对不同位置设计不同的船体航行控制。将图像垂直等分成3分,从左至右记为左区域、中间区域、右区域,根据图像识别出的漂浮物坐标与识别区域三等分线坐标的比较,通过一个线性函数求出下一时刻的偏转方向。当识别图像区域没有目标物体时,控制船体进入巡检模式直到识别出目标物体后进行有目的的打捞。

进一步的,在t时刻,双体船的运动情况可以归纳为下面四类:

1)当x<=l/3时,即漂浮物在识别区域的左边时,说明双体船应该向左转向打捞漂浮物,因此nleft<nright,达到船体左转的目标;

2)当x>=2l/3时,即漂浮物在识别区域的右边,说明双体船应该向右转向打捞漂浮物,因此nleft>nright,达到船体右转的目标;

3)当l/3<x<2l/3时,即漂浮物在识别区域的中间,说明双体船应该直行打捞漂浮物,因此nleft=nright,达到船体直行的目标;

4)当模型输出为null时,即目前识别区域中没有漂浮物,我们让双体船原地旋转一周,nleft=-nright,再直行,以便寻找漂浮物;

其中,l为识别范围的宽度,nleft为左边马达的转速,nright为右边马达的转速。

本发明的优点及有益效果如下:

本发明是一艘基于人工智能识别与自动控制技术的智能打捞船。它以硬件实体船为平台,采用深度学习的图像识别算法,通过对水面图像样本预处理后形成训练样本,从而对神经网络进行训练,使其能够识别摄像头所拍摄的画面中是否存在漂浮物,并计算出漂浮物方位来引导打捞船前往打捞。通过智能识别和自动控制技术,该船无需人为控制便能自动、快速、高效率地打捞起瓶子、垃圾、水葫芦等水面漂浮物,达到自主清淤的功能。

同时本发明通过机器学习和神经网络训练打捞物模型,可根据实际需求训练不同的模型来更好的投入实际运用。其中船体创新性的采用双体船,使得船体能在水面上更加平衡和灵活的完成打捞作业。使用arduino单片机开发,用l289p驱动芯片控制电动机的转速与正反转,让船体的控制更加简单与精确;加入无线远程控制功能,实现船体与电脑wi-fi功能相连接,实现通过手机端实时监测水面及打捞船运行状况的效果。

本发明具有以下几个特点:a)通过机器学习训练目标打捞物的模型,在实际应用中,根据不同的需要可以训练出不同的模型以满足实际需求。b)采用图像处理对采集的图像进行处理。由于采集的图像不像一般的在陆地上的图像,而是水面上的图像,水面的倒影、反光、波浪等因素会对一般的图像识别产生很大的影响。而我们通过图像处理的方法,对水面图片进行处理,使目标打捞物的图像识别更加精确。c)打捞船采用的是双体船。它有两个小船身组成,由两个电机控制螺旋桨。使得船体在水面上更加平衡和灵活。d)单片机采用arduino单片机开发,开源的语言让代码更加方便编写。对两个电机的控制采用l289p驱动芯片同时控制两个电机的正反转,而速度则是采用pwm进行调速。e)与电脑wi-fi功能相结合,实现通过手机端实时监测水面及打捞船运行状况。

附图说明

图1是本发明提供优选实施例一种基于图像识别的水面漂浮物打捞系统的搭建流程图;

图2为本发明实施例提供的船体结构设计模型;

图3为本发明实施例提供的图像去噪后图像灰度关系;

图4为本发明实施例提供的神经网络结构示意图;

图5为本发明实施例提供的卷积神经网络预测误差图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

参考图1,图1为本发明实施例提供一种基于图像处理和图像识别的水面漂浮物打捞的流程图,具体包括:

s101:双体船结构模型:在搭载图像处理和分析平台的条件下,船体的稳定性是一个不可忽视的重要因素。因此本系统采用双体船的结构,将本船体结构(参考图2)分为了三个部分:1.两个单体船(称为片体)2.连接甲板3.防水载物台(用于放置单片机等控制系统)。通过控制两个单体船中螺旋桨的转速可以轻松的控制船体的转向、调头和巡航等功能。

s102:图像采集和处理:在进行图像识别前,我们通过外界的广角摄像头监视水面,每隔15ms采集一次水面的图片并进行去噪、去除光照以及前后景分离等图像处理。

其中,在水面漂浮物识别中光照会给图像的识别带来许多问题,比如:水面倒影,水面反光等。因此除去光照影响是十分重要的,我们采取gamma校正的算法除去水面的光照。首先,根据公式(1)对图像进行归一化,将像素值转换为0~1之间的实数。然后,根据公式(2),对归一化后的像素进行预补偿的操作。最后,通过公式(3)将预补偿后的实数值反变换为0~255之间的整数值。

xnorm=(x+0.5)/256(1)

x=xim*256-0.5(3)

其中xnorm表归一化后的像素值,xim表示伽马校正后的像素值,x表示原始像素值。

经过gamma校正后的输入和输出图像灰度关系参考图3。

s103:图像识别模型:通过卷积神经网络的模型与图像金字塔相结合实现水面漂浮物的识别与定位。其中卷积神经网络的结构是采用的lenet-5的7层网络为基础input->convolution->pooling->convolution->pooling->fullconnected->softmax,网络结构图参考图4。根据摄像头捕捉到的图片构造出正负样本数据集,从中随机选择部分数据作为训练数据,其余数据作为测试数据。并且在预测前对目标图像进行去除光照、前后景分离等处理。利用得到的训练数据通过对应的构造函数和训练函数进行卷积神经网络的构造和训练,利用得到的测试数据通过对应的预测函数进行卷积神经网络的预测。为了实现复杂背景下的漂浮物识别,从7层神经网络开始试探性增加中间的卷积层和池化层个数,通过实验最终确定为一个11层的卷积神经网络便能达到满意的实验效果。预测误差值如图5所示,此时,卷积神经网络预测误差的数量级较小,误差率较低。可以预知使用卷积神经网络可以得到较好的建模效果。

s104:船体控制模型:该智能水面漂浮物打捞系统的转向操作是根据图像识别模型识别出的漂浮物位置坐标信息来控制的。当图像识别模型的识别结果(漂浮物定位框参考左上角的横坐标x)传到单片机时,单片机通过改变两个步进电机的转速从而来控制双体船的前进方向。因此在t时刻,双体船的运动情况可以归纳为下面四类:

1)当x<=l/3时,即漂浮物在识别区域的左边时,说明双体船应该向左转向打捞漂浮物,因此nleft<nright,达到船体左转的目标。

2)当x>=2l/3时,即漂浮物在识别区域的右边,说明双体船应该向右转向打捞漂浮物,因此nleft>nright,达到船体右转的目标。

3)当l/3<x<2l/3时,即漂浮物在识别区域的中间,说明双体船应该直行打捞漂浮物,因此nleft=nright,达到船体直行的目标。

4)当模型输出为null时,即目前识别区域中没有漂浮物,我们让双体船原地旋转一周,nleft=-nright,再直行,以便寻找漂浮物。

其中,l为识别范围的宽度,nleft为左边马达的转速,nright为右边马达的转速。

s105:智能水面漂浮物打捞系统的搭建:将单片机、电池、发动机、散热器、打捞网等器材组装成一个智能水面漂浮物打捞船。然后,放置一个广角摄像头和pc电脑,将智能水面漂浮物打捞系统的单片机接入pc电脑。将s105中构造好的船体控制程序烧录进智能水面漂浮物识别系统的单片机中,实现智能水面漂浮物识别系统转向、巡航、掉头等功能。在pc端运行图像识别的程序,并通过串口将识别结构传输到单片机完成智能水面漂浮物打捞系统的自动识别和打捞工作。至此,基于图像识别的智能水面漂浮物打捞系统已全部搭建完成。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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