一种社区安保机器人的垃圾目标识别系统及其识别方法与流程

文档序号:18741987发布日期:2019-09-21 01:52阅读:150来源:国知局
一种社区安保机器人的垃圾目标识别系统及其识别方法与流程

本发明涉及机器人领域,尤其是一种社区安保机器人的垃圾目标识别系统及其识别方法。



背景技术:

随着居民消费水平的提高,社区内人们产生的生活垃圾的数量也随之不断增加。废弃的生活垃圾不仅严重影响社区的环境卫生,而且还容易滋生蚊虫和传播疾病进而危害人们的身体健康。

目前,社区的生活垃圾多由保洁工人定时清理,这种方式对处理居民楼下垃圾桶内的生活垃圾具有很好的效果,但对于社区内其他区域中近乎随机产生的生活垃圾,则显得效果较差和浪费人力。因此,需要开发出一种能够监控社区内生活垃圾变化情况的视觉系统。

当前的垃圾识别系统多基于固定摄像头,当要监控整个社区的垃圾变化情况时,则势必需要布设较多的摄像头,同时,这种识别系统未能把来源于各路监控视频的识别结果整合到一个地图中,因而给后台的监控管理人员也带来了巨大的挑战。

此外,当前的垃圾识别方法多采用了基于深度学习目标识别算法中的两步法(R-CNN和faster-RCNN),但这种方法存在着训练过程较繁琐、优化结果较困难、计算量大、处理一帧图像的时间较长和对于硬件平台的要求较高等问题。



技术实现要素:

本发明要解决的技术问题是提供利用社区安保机器人在自主行走的过程中的实时位姿信息,把图像中识别的生活垃圾的位置通过进行一系列的坐标变换,映射到一个不断更新的二维地图中,从而实现了监控整个社区生活垃圾变化情况的一种社区安保机器人的垃圾目标识别系统及其识别方法。

本发明的目的是这样实现的:

一种社区安保机器人的垃圾目标识别系统,包括建图模块以及分别与所述建图模块信号连接的里程计模块和目标识别模块,所述里程计模块包括轮式里程计和激光里程计以用于计算出当前机器人的位姿并将相应的位姿数据发送至所述建图模块,所述目标识别模块包括一摄像头以用于利用目标识别算法找到垃圾废弃物在图像中的位置并向所述建图模块发布目标的位置和深度信息,所述建图模块用于对来源于所述里程计模块和所述目标识别模块的信息进行处理并构建垃圾废弃物对应的点云地图。

上所述的一种社区安保机器人的垃圾目标识别系统的识别方法,包括如下步骤:

A:位姿计算:

A1:轮式里程计的标定:收集n段数据,每段数据包含两个车轮子的角速度(WL,WR),该段数据持续的时间以及激光雷达的匹配值,基于模型的方法,计算出两轮间距b和两个轮子的半径;

A2:激光雷达数据运动畸变的去除:工控机读取激光数据,STM32上传里程计积分数据,检查里程计队列中的位姿数据与激光雷达数据时间上是否同步,如果同步则不进行处理,否则对位姿数据进行二次插值,最后根据位姿数据对激光雷达数据进行变换并得到去除运动畸变后的激光雷达数据;

A3:对采集到的激光雷达数据使用前端配准算法:首先寻找点云中的匹配点,然后根据匹配计算旋转矩阵R和平移矩阵T,对点云进行位姿变化并计算误差,不断迭代,直至误差小于容忍值;

A4:基于图优化技术对位姿图进行优化;

B:目标定位:目标识别模块利用目标识别算法找到垃圾废弃物在图像中的位置,然后发布目标的位置和深度;

C:点云地图建立:建图模块对来源于里程计模块和目标识别模块信息进行处理,建图模块分别订阅里程计模块和目标识别模块发布的话题,并根据下面的公式进行坐标变换:

z=d

再利用优化后的位姿对目标在相机坐标系下的坐标进行变换,得到其在世界坐标系下的坐标,最后拼接和构建点云地图。

如上所述的一种社区安保机器人的垃圾目标识别系统的识别方法,还包括如下步骤:

D:建立训练集和测试集:

D1:细化垃圾废弃物的定义:选取社区中常见的14种废品作为垃圾废弃物的定义,包括了垃圾袋、快递包装袋、外卖打包盒、猫狗粪便、橘子皮、香蕉皮、柚子皮、烂苹果、香烟盒、厚纸板、废报纸、塑料饮料瓶、啤酒瓶和易拉罐;

D2:搜集垃圾废弃物的照片:采用现场采集和爬取两种方式获取相应的样本图像;

D3:图像的预处理:对收集到的数据进行裁切以及变换到416×416;

D4:样本数据的扩增:采取以下方式扩充扩充样本数据:

a.样本图像的宽和高放大1.5倍;

b.样本图像的宽缩小1/3,高缩小1/2,且保证图像是32的倍数;

c.样本图像的亮度增强;

d.样本图像的亮度减弱;

e.样本图像翻转90°或者180°;

f.样本图像添加噪声;

D5:人工标注:根据步骤D1中的定义,使用图像标注工具imageLabel对样本集中的图像数据进行标注,得到标签数据(x,y,w,h,c);

D6:样本集的划分:按照98:2的比例划分样本集为训练集和测试集;

E:构建改进的yolov3模型:分别创建卷积层、深度可分离卷积层、上采样层、残差层、拼接层和预测层,上采样层使用了双线性插值算法对特征图进行了扩展,残差层将低层的输出与高层的输出相加,拼接层将含有丰富语义的高层输出与分辨率较高的底层输出叠加,预测层包含了3个特征图,每个特征图的每个网格上又包含了3个长宽比不同的anchor box,每个anchor box是一个1×20的向量,包含了以下的预测信息:tX,ty,tw,th,边界框包含物体的置信度以及物体属于垃圾废弃物的概率;

F:训练网络:使用随机初始化策略初始化模型的权重,然后把训练数据丢入模型中,经前向传播后则预测层特征图的每个网格可以得到了一个3×(4+1+15)的预测结果,最后,按照如下的代价函数公式计算预测结果与真实结果的误差:

通过上述代价函数计算预测值与真实值之间的误差,然后将误差反向传播,再通过动量梯度下降策略更新网络的权重和偏差,当代价函数的损失值较小且稳定也就是收敛时,则停止训练;

G:网络测试:把测试集数据丢入模型中,并得到预测结果,设置边界框的置信度阀值Thscores=0.6,剔除置信度较低的预测结果,再设置一个非极大值抑制的阀值为0.5,执行非极大值抑制,防止同一个目标被多重识别,最后输出修正后的预测结果。

本发明相比现有技术,具有如下技术特点:

1、基于里程计模块的位姿建立了一个社区内垃圾废弃物分布的动态地图,降低了管理人员的监控压力,提高了保洁人员的工作效率。

2、基于改进的yolov3,其使用深度可分离卷积替代darknet-53中的一部分传统卷积,极大的降低了模型的计算量,而且基于改进yolov3目标识别算法能够更准确的识别社区内的垃圾废弃物,且模型的参数较少,减少了训练和优化时的时间,提高了模型的识别速度,降低了对硬件的要求。

【附图说明】

下面结合附图对本发明的具体实施方式作进一步详细说明,其中:

图1为本发明的结构示意图;

图2为发明所述里程计模块的计算流程图;

图3为本发明进行目标识别的流程图;

图4为本发明进行点云地图建立的流程图;

图5为本发明改进的yolov3模型的结构图。

【具体实施方式】

一种社区安保机器人的垃圾目标识别系统,包括建图模块以及分别与建图模块信号连接的里程计模块和目标识别模块,里程计模块包括轮式里程计和激光里程计以用于计算出当前机器人的位姿并将相应的位姿数据发送至所述建图模块,更具体的,激光里程计包括了一个16线的激光雷达,轮式里程计包括了2个光电编码器,其实时估算机器人的位姿,目标识别模块包括一摄像头以用于利用目标识别算法找到垃圾废弃物在图像中的位置并向所述建图模块发布目标的位置和深度信息,更具体的,是基于目标识别算法首先找到垃圾废弃物在图像中的位置,然后基于ROS发布包含了垃圾废弃物的位置和深度信息的话题,建图模块用于对来源于里程计模块和目标识别模块的信息进行处理并构建垃圾废弃物对应的点云地图。

上述的一种社区安保机器人的垃圾目标识别系统的识别方法,包括如下步骤:

A:位姿计算:

A1:轮式里程计的标定:收集n段数据,每段数据包含两个车轮子的角速度(WL,WR),该段数据持续的时间以及激光雷达的匹配值,基于模型的方法,计算出两轮间距b和两个轮子的半径;

A2:激光雷达数据运动畸变的去除:工控机读取激光数据,STM32上传里程计积分数据,检查里程计队列中的位姿数据与激光雷达数据时间上是否同步,如果同步则不进行处理,否则对位姿数据进行二次插值,最后根据位姿数据对激光雷达数据进行变换并得到去除运动畸变后的激光雷达数据;

A3:对采集到的激光雷达数据使用前端配准算法:首先寻找点云中的匹配点,然后根据匹配计算旋转矩阵R和平移矩阵T,对点云进行位姿变化并计算误差,不断迭代,直至误差小于容忍值;

A4:基于图优化技术对位姿图进行优化;

B:目标定位:目标识别模块利用目标识别算法找到垃圾废弃物在图像中的位置,然后发布目标的位置和深度;

C:点云地图建立:建图模块对来源于里程计模块和目标识别模块信息进行处理,建图模块分别订阅里程计模块和目标识别模块发布的话题,并根据下面的公式进行坐标变换:

z=d

再利用优化后的位姿对目标在相机坐标系下的坐标进行变换,得到其在世界坐标系下的坐标,最后拼接和构建点云地图。其中的x和z为垃圾目标在相机坐标系下的坐标,u为目标在图像坐标系下位置,d为目标离摄像头距离,fX和cX均为摄像头的内参。利用优化后的位姿对垃圾目标在相机坐标系下的坐标进行变换,得到了其在世界坐标系下的坐标,进行点云拼接和滤波(外点去除滤波器和降采样滤波器),最后构建一个全局的点云地图。

D:建立训练集和测试集:

D1:细化垃圾废弃物的定义:选取社区中常见的14种废品作为垃圾废弃物的定义,包括了垃圾袋、快递包装袋、外卖打包盒、猫狗粪便、橘子皮、香蕉皮、柚子皮、烂苹果、香烟盒、厚纸板、废报纸、塑料饮料瓶、啤酒瓶和易拉罐;

D2:搜集垃圾废弃物的照片:采用现场采集和爬取两种方式获取相应的样本图像;

D3:图像的预处理:对收集到的数据进行裁切以及变换到416×416;

D4:样本数据的扩增:采取以下方式扩充扩充样本数据:

a.样本图像的宽和高放大1.5倍;

b.样本图像的宽缩小1/3,高缩小1/2,且保证图像是32的倍数;

c.样本图像的亮度增强;

d.样本图像的亮度减弱;

e.样本图像翻转90°或者180°;

f.样本图像添加噪声;

D5:人工标注:根据步骤D1中的定义,使用图像标注工具imageLabel对样本集中的图像数据进行标注,得到标签数据(x,y,w,h,c),其中的x和y代表了图像中目标的中心坐标,w和h则代表了目标的宽和高,c代表了目标的类别,c=0表示了背景,c=1-14依次表示了步骤D1中定义的垃圾废弃物;

D6:样本集的划分:按照98:2的比例划分样本集为训练集和测试集;

E:构建改进的yolov3模型:分别创建卷积层、深度可分离卷积层、上采样层、残差层、拼接层和预测层,改进的yolov3模型即是由这6个基本层级构成,使用深度可分离卷积层代替了原yolov3残差模块中的3×3的卷积层,极大的减少了需要计算的参数数量,提高了模型的运算速度,进一步降低了模型对硬件平台的依赖,上采样层使用了双线性插值算法对特征图进行了扩展,残差层将低层的输出与高层的输出相加,避免了梯度消失现象,增加了模型的深度,拼接层将含有丰富语义的高层输出与分辨率较高的底层输出叠加,提高了边界框的回归精度,预测层包含了3个特征图,每个特征图的每个网格上又包含了3个长宽比不同的anchor box,每个anchor box是一个1×20的向量,包含了以下的预测信息:tX,ty,tw,th,边界框包含物体的置信度以及物体属于垃圾废弃物的概率,其中(tX,ty,tw,th,)与目标边界框(x,y,w,h)的关系如下公式所示:

x=σ(tx)+cx

y=σ(ty)+cy

其中(cx,cy)代表了网格偏离图像左上角的坐标,(pw,ph)代表了anchor box的宽和高;

F:训练网络:使用随机初始化策略初始化模型的权重,然后把训练数据丢入模型中,经前向传播后则预测层特征图的每个网格可以得到了一个3×(4+1+15)的预测结果,最后,按照如下的代价函数公式计算预测结果与真实结果的误差:

代价函数中预测值和真实值之间的损失为三类,即:边界框损失、置信度损失和分类损失,其中边界框的中心坐标损失、置信度损失和分类损失均采用了二值交叉熵损失函数,边界框的宽和高则使用欧氏损失函数,更详细地,在置信度损失中,由于网格中可能包含了多个目标,此外每个网格也设置了3个anchor box,因而这里选取输出结果中目标类别置信度最高的anchor box负责预测该目标,通过上述代价函数计算预测值与真实值之间的误差,然后将误差反向传播,再通过动量梯度下降策略更新网络的权重和偏差,当代价函数的损失值较小且稳定也就是收敛时,则停止训练;

G:网络测试:把测试集数据丢入模型中,并得到预测结果,设置边界框的置信度阀值Thscores=0.6,剔除置信度较低的预测结果,再设置一个非极大值抑制的阀值为0.5,执行非极大值抑制,防止同一个目标被多重识别,最后输出修正后的预测结果;观察模型的准确率和查全率是否达到设计要求,否则添加新的训练集对模型继续进行训练。

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