一种基于深度学习的智能仓库巡检方法及系统与流程

文档序号:16267360发布日期:2018-12-14 22:00阅读:388来源:国知局
一种基于深度学习的智能仓库巡检方法及系统与流程

本发明涉及人工智能领域,特别是一种基于深度学习的智能仓库巡检方法及系统。

背景技术

在我国工业快速发展的浪潮下,危险化学品的使用量与存放量急剧增加,加之危险化学品自身所具有的易爆、易燃、毒害、腐蚀、放射等性质,导致其在生产、经营、存储、运输、使用、废弃处置的过程中安全事故频发。随着科技的发展,利用信息化先进技术提升危险化学品全生命周期监管的手段和工具已成为促成危险品行业健康发展的大趋势。目前,大多数仓库是基于rfid技术对危险化学品进行智能仓储管理,该系统结合无线传感网络技术和无线射频识别技术,实时获取仓库中化学品存储状态,代替人力,提高安全性。但是,对于大型的仓库中的每一件货物采用rfid技术,成本较高。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于深度学习的智能仓库巡检方法及系统,利用图像方式对仓库进行管理,相比于rfid技术成本较低。

本发明采用以下方案实现:一种基于深度学习的智能仓库巡检方法,包括以下步骤:

步骤s1:在智能小车端上使用多线程技术进行图像采集和传输图像数据;

步骤s2:服务器通过多线程和共享内存进行实时接收图像数据;

步骤s3:利用步骤s2获得图像数据,通过基于深度学习的ssd目标检测算法对标有化学用品信息的二维码进行识别;

步骤s4:利用步骤s3得到二维码在图像中的位置信息,通过像素大小和摄像头视角的关系,计算得到二维码中心偏离图片中心的角度,将角度信息传输给所述智能小车;

步骤s5:所述智能小车得到角度信息之后,调整自身的位置信息,使二维码处于图像的中央位置,并读取二维码内容信息,将其发送到数据库;

步骤s6:数据库根据接收到的数据,归纳出仓库中危险化学品的种类和数量。

本发明只需要在仓库的货物贴上带有货物信息的二维码,智能小车定时的巡检整个仓库,通过摄像头读取二维码信息,并将读取的信息发送到数据库中进行管理。本发明定时自动获取化学品仓库中每个化学品的存储状态,大大减少了人工劳动,降低了运营成本,提高了管理效率。

进一步地,所述步骤s1中具体包括以下步骤:

步骤s11:智能小车创建图像数据采集和图像传输两个线程;

步骤s12:在图像数据采集线程中,使用v4l2视频底层接口直接读取图像数据,当数据采集完成时,发送同步信号通知另一个线程数据采集完成信号;在图像传输线程中,当接收到同步信号时,将采集的图像数据通过http协议发送到服务器。

进一步地,步骤s2具体包括以下步骤:

步骤s21:服务器创建图像数据接收线程和图像数据处理线程,两者通过生产者信号量和消息者信号量以及数据接收完成同步信号进行通信;

步骤s22:在图像数据接收线程中,先解析接收到的数据,判断是否图像帧头部信息;如果是图像头部信息,通过解析头部信息得到当前帧图像的长度l,将之后的长度为l的信息进行组包,得到当前帧的图像数据,取出生产者信号量,即将其减1;

步骤s23:将当前帧的图像数据放入共享内存中,并把消费者信号量加1,同时发出同步信号;

步骤s24:在图像数据处理线程中,当得到同步信号到来时,将消费者信号量减1,然后处理图像数据,最后将生产者信号量加1。

进一步地,步骤s3中,所述通过基于深度学习的ssd目标检测算法对标有化学用品信息的二维码进行识别具体包括以下步骤:

步骤s31:在百度图库中,下载n(800)张有关二维码的图片作为样本;对下载到的样本进行数据清洗,去除相似样本以及模糊和格式损坏的样本,得到处理后的样本(400张),并在处理后的样本中随机选择一部分(300张)作为训练样本,剩余部分(100张)作为测试样本;

步骤s32:采用imagenet数据集,对特征提取网络vgg进行预训练,使得vgg得到初始化权值;

步骤s33:将步骤s32预训练的vgg网络加上多尺度输出,形成ssd网络结构;在二维码训练集上对ssd网络进行训练,使得ssd网络能够输出为二维码的概率以及二维码的位置信息。其中,对ssd网络进行训练具体为:将初始的学习率设置为0.01,在迭代40k后将学习率下降10倍,在随后的10k又将学习率下降10倍。在训练65k后,ssd能够输出较高精度的是否为二维码的概率以及二维码的位置信息。

进一步地,步骤s4中,所述计算得到二维码中心偏离图片中心的角度具体为:将角度坐标设计成一个极坐标系,初始的角度设为90°,假设摄像头的广角是60°,图像的信息采集是以摄像头正前方为中心,左右各30°的图像;图像数据大小是640×480,通过识别出的二维码的位置计算出其质心的坐标α,由以上条件根据以下公式,获得该图像的质心与中央角度的偏离角度θ:

进一步地,步骤s5中,所述智能小车得到角度信息之后,调整自身的位置信息具体为:将智能小车其中一个轮子速度设为0,根据需要的角度信息在另一个轮子上施加一定的速度,使得小车的位置得到调整。

进一步地,步骤s6中,所述数据库采用两个线程,其中一个线程为数据接收线程,用以进行实时数据接收,在接收完成之后把数据放进缓冲区中;另一线程为数据处理线程,用以取出缓冲区的数据进行处理;所述数据处理线程中,接收到化学品入库信息时,将数据库中对应药品的数量相应增加,当接收到化学品出库的信息时,数据库中对应药品的数量相应减少。

较佳的,本发明还提供了一种基于上文所述方法的系统,包括用以进行图像采集与图像传输的智能小车、用以执行步骤s2至步骤s4的服务器图像处理模块、以及用以执行步骤s6的数据库;所述智能小车包括树莓派3b+主控模块、l298n电机驱动模块、直流减速电机模块、以及摄像头模块。

与现有技术相比,本发明有以下有益效果:本发明采用智能小车代替传统人工进行巡检,效率高,能够防止人员发生各种意外。同时,采用小车定时巡检能够减少人力劳动,降低运营成本,提高管理效率。

附图说明

图1为本发明实施例的系统结构示意图。

图2为本发明实施例的采集流程示意图。

图3(a)与图3(b)为本发明实施例图像传输流程图。

图4为本发明实施例图像接收流程图。

图5为本发明实施例图像处理流程图。

图6为本发明实施例目标检测算法ssd网络结构图。

图7为本发明实施例角度计算示意图。

图8为本发明实施例模拟危险化学品仓库巡检测试图。

图9为本发明实施例二维码标定测试图。

图10为本发明实施例数据库管理与显示示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本实施例提供了一种基于深度学习的智能仓库巡检方法,包括以下步骤:

步骤s1:在智能小车端上使用多线程技术进行图像采集和传输图像数据;

步骤s2:服务器通过多线程和共享内存进行实时接收图像数据;

步骤s3:利用步骤s2获得图像数据,通过基于深度学习的ssd目标检测算法对标有化学用品信息的二维码进行识别;

步骤s4:利用步骤s3得到二维码在图像中的位置信息,通过像素大小和摄像头视角的关系,计算得到二维码中心偏离图片中心的角度,将角度信息传输给所述智能小车;

步骤s5:所述智能小车得到角度信息之后,调整自身的位置信息,使二维码处于图像的中央位置,并读取二维码内容信息,将其发送到数据库;

步骤s6:数据库根据接收到的数据,归纳出仓库中危险化学品的种类和数量。

本发明只需要在仓库的货物贴上带有货物信息的二维码,智能小车定时的巡检整个仓库,通过摄像头读取二维码信息,并将读取的信息发送到数据库中进行管理。本发明定时自动获取化学品仓库中每个化学品的存储状态,大大减少了人工劳动,降低了运营成本,提高了管理效率。

在本实施例中,所述步骤s1中具体包括以下步骤:

步骤s11:智能小车创建图像数据采集和图像传输两个线程;

步骤s12:在图像数据采集线程中,使用v4l2视频底层接口直接读取图像数据,当数据采集完成时,发送同步信号通知另一个线程数据采集完成信号;在图像传输线程中,当接收到同步信号时,将采集的图像数据通过http协议发送到服务器。

在本实施例中,步骤s2具体包括以下步骤:

步骤s21:服务器创建图像数据接收线程和图像数据处理线程,两者通过生产者信号量和消息者信号量以及数据接收完成同步信号进行通信;

步骤s22:在图像数据接收线程中,先解析接收到的数据,判断是否图像帧头部信息;如果是图像头部信息,通过解析头部信息得到当前帧图像的长度l,将之后的长度为l的信息进行组包,得到当前帧的图像数据,取出生产者信号量,即将其减1;

步骤s23:将当前帧的图像数据放入共享内存中,并把消费者信号量加1,同时发出同步信号;

步骤s24:在图像数据处理线程中,当得到同步信号到来时,将消费者信号量减1,然后处理图像数据,最后将生产者信号量加1。

在本实施例中,步骤s3中,所述通过基于深度学习的ssd目标检测算法对标有化学用品信息的二维码进行识别具体包括以下步骤:

步骤s31:在百度图库中,下载n(800)张有关二维码的图片作为样本;对下载到的样本进行数据清洗,去除相似样本以及模糊和格式损坏的样本,得到处理后的样本(400张),并在处理后的样本中随机选择一部分(300张)作为训练样本,剩余部分(100张)作为测试样本;

步骤s32:采用imagenet数据集,对特征提取网络vgg进行预训练,使得vgg得到初始化权值;

步骤s33:将步骤s32预训练的vgg网络加上多尺度输出,形成ssd网络结构;在二维码训练集上对ssd网络进行训练,使得ssd网络能够输出为二维码的概率以及二维码的位置信息。其中,对ssd网络进行训练具体为:将初始的学习率设置为0.01,在迭代40k后将学习率下降10倍,在随后的10k又将学习率下降10倍。在训练65k后,ssd能够输出较高精度的是否为二维码的概率以及二维码的位置信息。

在本实施例中,步骤s4中,所述计算得到二维码中心偏离图片中心的角度具体为:将角度坐标设计成一个极坐标系,初始的角度设为90°,假设摄像头的广角是60°,图像的信息采集是以摄像头正前方为中心,左右各30°的图像;图像数据大小是640×480,通过识别出的二维码的位置计算出其质心的坐标α,由以上条件根据以下公式,获得该图像的质心与中央角度的偏离角度θ:

在本实施例中,步骤s5中,所述智能小车得到角度信息之后,调整自身的位置信息具体为:将智能小车其中一个轮子速度设为0,根据需要的角度信息在另一个轮子上施加一定的速度,使得小车的位置得到调整。

在本实施例中,步骤s6中,所述数据库采用两个线程,其中一个线程为数据接收线程,用以进行实时数据接收,在接收完成之后把数据放进缓冲区中;另一线程为数据处理线程,用以取出缓冲区的数据进行处理;所述数据处理线程中,接收到化学品入库信息时,将数据库中对应药品的数量相应增加,当接收到化学品出库的信息时,数据库中对应药品的数量相应减少。

较佳的,本实施例还提供了一种基于上文所述方法的系统,包括用以进行图像采集与图像传输的智能小车、用以执行步骤s2至步骤s4的服务器图像处理模块、以及用以执行步骤s6的数据库;所述智能小车包括树莓派3b+主控模块、l298n电机驱动模块、直流减速电机模块、以及摄像头模块。

如图1所示,所述智能小车为树莓派小车,树莓派小车进行仓库巡检,在小车上搭载摄像头,利用多线程技术采集图像数据,将采集的数据通过http协议发送到服务器;服务器通过多线程和共享内存进行实时接收图像数据;将接收到的图像通过基于深度学习的ssd目标检测算法对标有化学用品信息的二维码进行识别;通过像素大小和摄像头视角的关系,计算得到二维码中心位置偏离图片中心的角度,将角度信息传输给智能小车;小车得到此角度数据之后,调整轮子的转向,不断向二维码靠近,通过连续的读每一帧并修正,使小车能够不断的靠近二维码,并读取二维码的信息,将二维码的信息发送到数据库;数据库根据接收到的数据,归纳出仓库中危险化学品的种类和数量。

如图2所示,本实施例采用v4l2视频底层接口直接读取图像数据。首先,打开摄像头设备,得到摄像头的文件描述符。然后设置摄像头的分辨率、输出格式等。随后,开启图像采集线程,当图像数据采集完成时,发送采集完成同步信号。

如图3(a)、图3(b)所示,小车上的图像通过socket套接字传输到服务器端,将树莓派小车作为socket的服务端,将服务器作为socket的客户端。为了支持多个客户端能同时能连接到服务端,这里让每个连接上的客户端都有自己的视频传输线程,保证了系统的并发性。如图3(a)所示,创建服务端,来监听客户端的连接,为每一个客户端创建一个视频连接的线程来保证实时性。图3(b)阐述的是传输图像的过程。根据http协议,首先接收客户端的请求和客户端的请求命令,并解析请求命令。然后发送http的头部信息。最后是等待图像采集完成的同步信号,当接收到同步信号时,取出图像数据进行组包发送到服务器。

如图4所示,阐述的是图像接收流程图。先根据http协议发送请求,然后发送请求命令。对接收到的数据进行解析,判断是否图像帧头部信息。如果是图像帧头信息。通过解析头部信息可以得到当前帧图像的长度l,将之后的长度为l的信息进行组包,得到当前帧的图像数据。取出生产者信号量,即将其减1。然后将当前帧的图像数据放入共享内存中,并把消费者信号量加1,同时发出同步信号。

如图5所示,阐述的是图像处理流程图。当得到同步信号到来时,将消费者信号量减1,然后取出图像数据。对图像数据进行随机旋转、镜像等预处理操作,将其输入到训练好的ssd网络中。在本实施例中,ssd的输出是二分类(有无二维码的概率)以及二维码的位置信息。在二维码训练集上对ssd网络进行训练,将初始的学习率设置为0.01,在迭代40k后将学习率下降10倍,在随后的10k又将学习率下降10倍。在训练65k后,训练精度达到90.3%,测试精度达到88.8%。

如图6所示,阐述的是目标检测算法ssd网络结构图。本实施例采用在imagenet预训练好的vgg作为特征提取网络,加上多尺度输出,形成ssd网络结构。图中的classes为2,表示有无二维码的概率。在设计好网络后,需要制作有关二维码相关的样本。在百度图库中,下载800张有关二维码的图片作为样本。将所得到的样本进行数据清洗,去除相似样本以及模糊和格式损坏的样本,最终选取400张图片作为样本,其中随机选择300张作为训练样本,剩余的100张作为测试样本。经过65k次的训练后,训练精度达到90.3%,测试精度达到88.8%。

如图7所示,阐述的是角度计算示意图。本实施例将角度坐标设计成一个极坐标系,初始的角度设为90°,如图7所示。假设摄像头的广角是60°,图像的信息采集是以摄像头正前方为中心,左右各30°的图像。图像数据大小是640×480,可以通过识别出的二维码的位置计算出其质心的坐标α,由以上条件根据相应的公式,就可以获得该图像的质心与中央角度的偏离角度θ了。

如图8所示,阐述的是模拟危险化学品仓库巡检测试。图中的纸箱子代表危险化学品,上面贴有二维码标签,智能小车自动在过道上行驶并扫描每个二维码信息,当智能小车读取完一个二维码信息时会自动向前行驶读取下一个二维码。

如图9所示,阐述的是二维码标定测试图。智能小车获取每一帧图像后会根据ssd目标检测算法标定二维码的位置,并计算其与中心点的角度,从而指引小车的下一步行驶路线。

如图10所示,阐述的是数据库管理与显示。当智能小车读取完二维码信息后会自动发送给数据库,数据库会把所得到的信息统计与整理并显示在界面上。可以看到在界面上显示了三种危险化学品,左边界面显示三种危险化学品的数量,右边界面显示每个危险化学品的记录时间与状态(入库/出库)。同时可以点击查询详细信息按钮去查看每个危险化学品的存储状态。

本实施例针对化学仓库内化学事故频发致使人员伤亡财产损失的问题,提出了一种基于深度学习的智能仓库巡检系统。采用基于深度学习的ssd目标检测算法,对货物上的二维码进行检测,具有鲁棒性高和实时性高的特点。通过在训练集的训练,训练精度达到90.3%,测试精度达到88.8%。现场试验测试结果表明,本智能小车巡检系统能够定时自动获取化学品仓库中每个化学品的存储状态,大大减少了人工劳动,降低了运营成本,提高了管理效率。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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