CN114820681A - 一种基于rgb相机的库位检测方法及*** - Google Patents

一种基于rgb相机的库位检测方法及*** Download PDF

Info

Publication number
CN114820681A
CN114820681A CN202210348251.3A CN202210348251A CN114820681A CN 114820681 A CN114820681 A CN 114820681A CN 202210348251 A CN202210348251 A CN 202210348251A CN 114820681 A CN114820681 A CN 114820681A
Authority
CN
China
Prior art keywords
library
area
rgb camera
reservoir
data set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210348251.3A
Other languages
English (en)
Inventor
冯善初
魏璇
施盛华
王洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Cotek Robot Co ltd
Original Assignee
Zhejiang Cotek Robot Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Cotek Robot Co ltd filed Critical Zhejiang Cotek Robot Co ltd
Priority to CN202210348251.3A priority Critical patent/CN114820681A/zh
Publication of CN114820681A publication Critical patent/CN114820681A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20032Median filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于RGB相机的库位检测方法及***,至少包括以下步骤:步骤S1:根据控制指令,获取RGB相机采集的当前库区图像;其中,库区为多个库位组成的一片区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;步骤S2:根据预先存储的库区标定信息对当前库区图像进行图像处理,以映射相应库区标定信息得到待检测库位图;步骤S3:将待检测库位图输入预先训练好的网络模型中进行处理,得到库位状态并输出检测结果。

Description

一种基于RGB相机的库位检测方法及***
技术领域
本发明涉及移动机器人技术领域,尤其涉及一种基于RGB相机的库位检测方法及***。
背景技术
目前各种移动机器人已经应用在智能自动化行业,并发挥着非常重要的作用,尤其在物流仓储行业,扮演着重要角色。当机器人在大量集中库位场景下进行货物搬运时,如何提高机器人取货、卸货及搬运效率,同时使得库位利用率最大化,进而增加机器人货物搬运的智能性、安全性与可靠性是亟待解决的问题。要解决解决上述问题,在机器人进行货物搬运之前必须要知道库位的状态是否可用。
故,针对现有技术的缺陷,实有必要提出一种技术方案以解决现有技术存在的技术问题,能够利用RGB相机采集库区图像,通过自主标定实现对库位的识别、坐标计算与分割,根据现场拍摄收集并增强数据集,训练网络模型,加载网络模型推理库位类别,得到库位的状态是否可用。
发明内容
有鉴于此,确有必要提供一种基于RGB相机的库位检测方法与***,在机器人开始货物搬运时,实时检测库位状态是否可用,为调度端下一步的规划提供状态输入。通过RGB相机对库区图像采集,经过标定模块算法处理,对库区包含的库位轮廓标定,实现库位轮廓点的提取与分割,在检测任务到来时将标定信息映射到当前库区图,分割出待检测库位,加载网络模型并推理,得出库位状态为“占据”还是“空闲”,从而保证后续环的节取、卸货目标库位规划的合理性与有效性,保障机器人在搬运任务时规避“占据”库位,增加机器人的安全性与可靠性。
为了解决现有技术存在的技术问题,本发明的技术方案如下:
一种基于RGB相机的库位检测方法,至少包括以下步骤:
步骤S1:根据控制指令,获取RGB相机采集的当前库区图像;其中,库区为多个库位组成的一片区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
步骤S2:根据预先存储的库区标定信息对当前库区图像进行图像处理,以映射相应库区标定信息得到待检测库位图;
步骤S3:将待检测库位图输入预先训练好的网络模型中进行处理,得到库位状态并输出检测结果。
作为进一步的改进方案,步骤S2中,库区标定信息通过以下步骤得到:
步骤S21:移除库区所在地面上放物体,采用与地面颜色不同的红、蓝、绿三原色之一对库位轮廓进行标识,使库位轮廓与地面具有一定对比度;在此基础上,启动RGB相机,采集库区图像;
步骤S22:对库区图像预处理;
步骤S23:对库区图像RGB三通道分离,以其中一个通道作为后续的数据输入,对其进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,完成库位标定。
作为进一步的改进方案,步骤S3中,预先训练好的网络模型通过以下步骤得到:
步骤S31:构建车库“空闲”增强数据集和“占据”增强数据集并添加相应标签;
步骤S32:构建MobileNetV3-Large网络模型,并用步骤S31构建的数据集对模型进行训练;
步骤S33:训练完成后,输出网络模型。
作为进一步的改进方案,所述步骤S2中,如果并未找到当前库区的标定信息,则先执行库位标定流程生成库区标定信息。
作为进一步的改进方案,步骤S3中,通过预先训练的网络模型每个库位状态分类,得到库位检测结果“空闲”或“占据”。
作为进一步的改进方案,采用红色地贴胶带在灰色地面库区围绕每个库位边缘粘贴库位轮廓,步骤S23中,提取红色通道作为后续的数据输入。
作为进一步的改进方案,步骤S31中,通过手机拍摄空库位和货物视频与图像,再对视频剪切得到初步数据集,对其进行扩展与增强,包含对空库位颜色、角度、大小的随机调整生成,将“空闲”增强数据集与货物图像随机组合生成“占据”增强数据集;对增强后的“空闲”与“占据”数据集添加标签。
作为进一步的改进方案,步骤S33,采用数据集训练MobileNetV3-Large网络模型后,生成模型权重文件。
作为进一步的改进方案,所述步骤S22进一步包括以下步骤:
对库区图Ω执行直方图均衡化,并对均衡化的结果进行滤波,首先采用中值滤波,遍历图像中的像素点,对中心像素点的四邻域内所有像素的灰度值进行排序,然后选择排序后的灰度中间值代替中心元素灰度值。再进行尺寸3*3的均值滤波,同样遍历图像中的像素点,对中心像素邻域内所有像素值取平均,代替中心像素。最后执行高斯滤波,高斯核大小为3*3,公式如下:
Figure BDA0003577957890000041
其中,f(x,y)表示坐标为(x,y)处的像素值,σ为标准差,得到库区Ωfilter
将库区图像Ωfilter进行通道分割,得到R、G、B三个单通道灰度图像,像素值在0-255之间,0位黑色,255位白色,以R通道作为数据输入,执行阈值分割操作,阈值取200,遍历R通道图,按照如下所示公式对R通道库区图执行像素变换:
Figure BDA0003577957890000042
将像素值大于200的库位边缘像素值设为255,再将像素值除以255,得到二值化的库区图Ωthres
作为进一步的改进方案,所述步骤S23进一步包括以下步骤:
步骤3-1、分析Ωthres拓扑结构,寻找库区图中的外边界和孔边界,外边界由外边界点组成,孔边界由孔边界点组成,外边界点和孔边界点定义如下:
Figure BDA0003577957890000043
其中0≤x<m,0≤y<n,m和n为Ωthres的行和列数;从左至右,由上到下遍历Ωthres,设置标志位NBD表示新的边界,LNBD表示父边界,每遍历到新的一行将NBD初始化为1;
步骤3-2、遍历到第一个外边界点(x,y),将(x,y)的标志位NBD加1,记(x,y-1)处的像素点为(x2,y2),以(x,y)为中心,从(x2,y2)处顺时针旋转,找出(x,y)八邻域内第一个非零像素,记为(x1,y1),如果没有非零像素,将标志位设为-NBD,跳转至步骤3-4;
步骤3-3、重新将像素点(x1,y1)用(x2,y2)表示,(x,y)用(x3,y3)表示,以(x2,y2)为起点,逆时针旋转,寻找(x3,y3)八邻域内的第一个非零像素点,记为(x4,y4);
步骤3-4、如果f(x3,y3+1)等于零,设f(x3,y3)的值为-NBD,如果f(x3,y3+1)不为零,设f(x3,y3)的值为NBD,否则不改变(x3,y3)处的像素值;
步骤3-5、检查步骤3-3中的逆时针旋转是否回到了起点,即(x4,y4)=(x,y),如果回到了起点,证明对(x,y)像素的检索完成,转跳至步骤3-6,否则,转跳至步骤3-3继续逆时针旋转查找非零元素;
步骤3-6、如果(x,y)处的标志位不等于1,则将该处的LNBD为|NBD|,中心像素向由移动,以(x,y+1)为中心,如果遍历到库区图右边界,以下一行左边界像素点为中心,重复执行步骤3-1到步骤3-5,至遍历到图像(m-1,n-1)点结束,得到库区图包含的所有轮廓和轮廓点集;
步骤3-7、在步骤3-6中得到库区包含的所有轮廓和轮廓点集,进一步滤波,以剔除不满足条件的无效库位轮廓;对于具有n个点组成的一组轮廓可以表示为{(x0,y0),(x1,y1),...,(xn-1,yn-1)},则轮廓面积S计算公式如下:
Figure BDA0003577957890000051
其中,×为叉乘;将得到的每个轮廓按照上式求解面积,根据应用场景下的库位面积设定阈值,丢弃面积小于阈值的轮廓及轮廓点集,得到包含有效库位的轮廓及轮廓点集;
步骤3-8、对步骤3-7得到的库位轮廓作最小外接矩形。根据多边形的最小外界矩形必然和多边形的其中一条边共线的原理,利用旋转卡尺算法枚举库位轮廓的边,做外接矩形,比较得到的所有外接矩形的面积,选取其中最小的一个就是库位的最小外接矩形。库位的轮廓必然包含在其最小外接矩形之内,只需将最小外接矩形映射到库区图,就可以剪切出一个包括单独库位的矩形库位图ω;
步骤3-9、在ω中库位的轮廓和矩形边界之间为无效区域,遍历无效区域将无效区域内的像素值更改为0,去除无效区域对ω的干扰。将库区图中所有的库位执行步骤3-7至步骤3-9,完成对库位的分割,以库位ID为键,分割出的库位与步骤3-6中的库位轮廓点集以及最小外接矩形为值,生成键值对并保存到本地,置位标定完成标志,完成库位标定。
步骤3-10、对新的未标定库区重复执行步骤3-1至步骤3-9,完成对所有库区包含的库位标定。
作为进一步的改进方案,步骤S3进一步包括以下步骤:
步骤4-1、在项目现场、菜鸟驿站等不同应用场景下,采用手机拍摄不同样式、不同颜色的500张空库位图像作为“空闲”类别的原始样本。另外,拍摄库位视频用于后续对数据集的扩充,同时拍摄有物体占据的库位图像1000张作为“占用”类别。额外拍摄各种形状的快递包裹500张,作为物体样本。
步骤4-2、从步骤4-1中的库位视频中截取感兴趣区,首先加载视频流,通过鼠标在视频中点选两点A(r1,c1)和B(r2,c2),以A、B为对角生成矩形感兴趣区。
步骤4-3、逐帧读取视频流,将视频帧转换为Mat格式灰度图,第i帧感兴趣区的第j列像素值的和以Sij表示,如果存在N(c1<N<c2)个列的像素和相比前一帧同列像素和的差值的绝对值大于阈值Tij,如下式所示:
Figure BDA0003577957890000061
Figure BDA0003577957890000071
其中,M为视频流总的帧数,阈值Tij=0.8*Sij,如果n大于N,证明当前帧感兴趣内的图像较上一帧有明显变化,则保存感兴趣区为一个样本。
步骤4-4、扩充“空闲”数据集,对步骤4-1得到的500张空库位的副本进行以下几种操作:
(1)随机变换库位颜色;
(2)在0-180°之间随机生成角度,将副本按照该角度旋转。
(3)在0.1-10之间随机生成尺度因子,对副本进行缩放。
(4)随机生成椒盐噪声,添加到副本中。
(5)二值化图像,对副本二值化;
将以上5步得到的副本添加到“空闲”库位数据集中,将其扩充到1000张,得到增强“空闲”库位数据集。
步骤4-5、将步骤4-1中的“占据”库位数据集和步骤4-4得到的增强“空闲”库位数据集以及步骤4-1中得到的500张物体样本,进行几种操作进行增强:
(1)从500张物体样本中依次抽取n张,n为1-30的随机生成数字,再从增强“空闲”库位数据集中依次抽取10张。
(2)将n张物体样本按照步骤4-4中的5种方法进行操作。
(3)将(2)中的结果随机覆盖到步骤(1)中的10张增强“空闲”库位样本之上,得到“占据”库位样本。
经过以上几步操作后,得到物体颜色不同,库位地面颜色不同,物体形状各异摆放的占用库位3158张,作为增强“占据”库位数据集。
步骤4-6、将步骤4-4和步骤4-5得到的增强“空闲”数据集和增强“占据”数据集合并,得到包含4158张库位图像的数据集。
步骤4-7、将最终得到的数据集按照其真实分类,利用labImg工具进行标注,标注信息存储为xml格式,将标注好的数据集按照训练集比测试集8:2的比例划分。在GPU服务器上搭建训练模型所用的虚拟环境,完成后将训练集输入至MobileNetV3-Large网络进行模型训练,得到可用于库位检测的网络模型。
本发明还公开了一种基于RGB相机的库位检测***,该***至少包括移动机器人、RGB相机和控制单元,其中,
RGB相机与控制单元相连接,用于获取库区图像并输出给控制单元;其中,库区为多个库位组成的一片区域,库位用于供机器人取、放货物区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
所述移动机器人与控制单元相连接,用于根据控制单元反馈的库位检测结果规划目标库位,从而规避“占据”库位,自主移动实现货物的搬运与取卸功能;
控制单元用于根据移动机器人的控制指令执行库位检测操作并输出结果,以向移动机器人当前库位状态信息。
作为进一步的改进方案,所述控制单元至少包括视频流预处理模块、库位标定模块、库位检测模块,其中,
所述视频流与处理模块用于执行直方图均衡以增加库位边缘与地面的对比度,中值滤波去除库区上方的椒盐噪声,均值滤波和高斯滤波对库区图像平滑处理,以减少高斯噪声干扰;
所述库位标定模块用于根据库区图,进行R、B、G三通道分离,以某一通道为数据输入,进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,实现库位标定;
所述库位检测模块包括对数据集的制作与增强,将其输入至MobileNetV3-Large网络进行训练,得到可推理的网络模型,对待检测库位图分类,得到库位的最终状态。
作为进一步的改进方案,所述RGB相机为带有无线传输功能的单目RGB相机,相机视频可以通过无线传输到其他接收端,该相机安装在库区中心正上方,垂直向下俯视库区。
与现有技术相比较,本发明采用单目RGB相机现实对数量众多的库位的一键自主标定,包括库位的识别、轮廓点计算与分割,标定结果准确,速度快且无需人工参与,采用轻量级神经网络模型对库位状态检测,具有高准确率、低参数量、低计算量、部署简单的优点,为机器人在货物搬运时快速提供库位状态,满足机器人实时性要求,极大提高了机器人货物搬运库位规划的合理性与安全性,提高了机器人的稳定性与可靠性。
附图说明
图1为本发明基于RGB相机的库位检测方法的流程框图。
图2为本发明一种优选实施方式中基于RGB相机的库位标定与检测方法流程图。
图3为本发明中库位标定流程图。
图4为本发明中库位检测流程图。
图5为本发明基于RGB相机的库位检测***的原理框图。
如下具体实施例将结合上述附图进一步说明本发明。
具体实施方式
以下将结合附图对本发明提供的技术方案作进一步说明。
参见图1,所示为为本发明基于RGB相机的库位检测的流程框图,至少包括以下步骤:
步骤S1:根据控制指令,获取RGB相机采集的当前库区图像;其中,库区为多个库位组成的一片区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
步骤S2:根据预先存储的库区标定信息对当前库区图像进行图像处理,以映射相应库区标定信息得到待检测库位图;
步骤S3:将待检测库位图输入预先训练好的网络模型中进行处理,得到库位状态并输出检测结果。
上述技术方案中,由于采用与地面颜色不同的红、蓝、绿三原色之一进行标识,从而能够方便的识别和分割库位,大大简化了图像处理的难度。
进一步的,在步骤S2中,库区标定信息通过以下步骤得到:
步骤S21:移除库区所在地面上放物体,采用与地面颜色不同的红、蓝、绿三原色之一对库位轮廓进行标识,使库位轮廓与地面具有一定对比度;在此基础上,启动RGB相机,采集库区图像;
步骤S22:对库区图像预处理;
步骤S23:对库区图像RGB三通道分离,以其中一个通道作为后续的数据输入,对其进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,完成库位标定。
步骤S3中,预先训练好的网络模型通过以下步骤得到:
步骤S31:构建车库“空闲”增强数据集和“占据”增强数据集并添加相应标签;
步骤S32:构建MobileNetV3-Large网络模型,并用步骤S31构建的数据集对模型进行训练;
步骤S33:训练完成后,输出网络模型。
参见图2,所示为本发明中的一种优选实施方式,其中,基于RGB相机的库位标定与检测方法,具体包括以下步骤:
(1)采用与地面颜色不同的红、蓝、绿三原色之一的地贴胶带粘贴库位边缘,启动相机,采集库区图像,解析相机视频流,同时新建缓冲文件夹,初始化库位标定与检测状态变量,根据可视化界面下发指令,进入标定或检测流程就绪状态;具体过程如下:
步骤1-1、移除库区所在地面上放物体,采用红色地贴胶带在灰色地面库区围绕每个库位边缘粘贴库位轮廓,使库位与轮廓具有一定对比度。
步骤1-2、启动置顶相机,配置IP地址,垂直向下感知库区,利用相机自带无线传输功能将库区视频流通过rtsp地址传输到控制单元,地址如下:
rtsp://192.168.1.33/2
利用IP地址第四网段的唯一性,为库区分配唯一的ID,即上述33号,新建33库区缓冲问价夹,用以存放标定结果图像。创建视频流解析线程,循环捕获rtsp地址上的相机数据并解码,得到8位无符号3通道RGB库区图像,并将其以Mat格式存放,记为Ω。
(2)对库区图像预处理,包含采用直方图均衡增加库位边缘与地面的对比度,中值滤波去除库区上方的椒盐噪声,均值滤波和高斯滤波对库区图像平滑处理,较少高斯噪声干扰;具体过程如下:
步骤2-1、对步骤1-2得到Mat类型的库区图Ω执行直方图均衡化,对均衡化的结果进行滤波,首先采用中值滤波,遍历图像中的像素点,对中心像素点的四邻域内所有像素的灰度值进行排序,然后选择排序后的灰度中间值代替中心元素灰度值。再进行尺寸3*3的均值滤波,同样遍历图像中的像素点,对中心像素邻域内所有像素值取平均,代替中心像素。最后执行高斯滤波,高斯核大小为3*3,公式如下:
Figure BDA0003577957890000121
其中,f(x,y)表示坐标为(x,y)处的像素值,σ为标准差,得到库区Ωfilter
步骤2-2、响应可视化界面下发的命令,对于标定命令,复位开始检测、标定完成、检测完成标志,置位开始标定标志,保存步骤1-2中的库区ID与缓存文件夹路径。对于检测命令,复位开始标定、标定完成、检测完成标志,置位开始检测标志,并检测该库区是否已经完成标定,如果没有完成标定,结束响应,等待标定命令。否则,继续流程。
步骤2-3、在步骤(1)中得到库位标定命令,标定线程进入运行状态,读取步骤1-3得到滤波后的库区图像。
步骤2-4、将库区图像Ωfilter进行通道分割,得到R、G、B三个单通道灰度图像,像素值在0-255之间,0位黑色,255位白色,以R通道作为数据输入,执行阈值分割操作,阈值取200,遍历R通道图,按照如下所示公式对R通道库区图执行像素变换:
Figure BDA0003577957890000131
将像素值大于200的库位边缘像素值设为255,再将像素值除以255,得到二值化的库区图Ωthres
(3)对库区图像RGB三通道分离,以R通道作为后续的数据输入,对其进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,完成库位标定;如图3所示,具体过程如下:
步骤3-1、分析Ωthres拓扑结构,寻找库区图中的外边界和孔边界,外边界由外边界点组成,孔边界由孔边界点组成,外边界点和孔边界点定义如下:
Figure BDA0003577957890000132
其中0≤x<m,0≤y<n,m和n为Ωthres的行和列数。从左至右,由上到下遍历Ωthres,设置标志位NBD表示新的边界,LNBD表示父边界,每遍历到新的一行将NBD初始化为1。
步骤3-2、遍历到第一个外边界点(x,y),将(x,y)的标志位NBD加1,记(x,y-1)处的像素点为(x2,y2),以(x,y)为中心,从(x2,y2)处顺时针旋转,找出(x,y)八邻域内第一个非零像素,记为(x1,y1),如果没有非零像素,将标志位设为-NBD,跳转至步骤3-4。
步骤3-3、重新将像素点(x1,y1)用(x2,y2)表示,(x,y)用(x3,y3)表示,以(x2,y2)为起点,逆时针旋转,寻找(x3,y3)八邻域内的第一个非零像素点,记为(x4,y4)
步骤3-4、如果f(x3,y3+1)等于零,设f(x3,y3)的值为-NBD,如果f(x3,y3+1)不为零,设f(x3,y3)的值为NBD,否则不改变(x3,y3)处的像素值。
步骤3-5、检查步骤3-3中的逆时针旋转是否回到了起点,即(x4,y4)=(x,y),如果回到了起点,证明对(x,y)像素的检索完成,转跳至步骤3-6,否则,转跳至步骤3-3继续逆时针旋转查找非零元素。
步骤3-6、如果(x,y)处的标志位不等于1,则将该处的LNBD为|NBD|,中心像素向由移动,以(x,y+1)为中心,如果遍历到库区图右边界,以下一行左边界像素点为中心,重复执行步骤3-1到步骤3-5,至遍历到图像(m-1,n-1)点结束,得到库区图包含的所有轮廓和轮廓点集。
步骤3-7、在步骤3-6中得到库区包含的所有轮廓和轮廓点集,不可避免包含误提取的轮廓,因此必须经过进一步滤波,剔除不满足条件的无效库位轮廓。对于具有n个点组成的一组轮廓可以表示为{(x0,y0),(x1,y1),...,(xn-1,yn-1)},则轮廓面积S计算公式如下:
Figure BDA0003577957890000141
其中,×为叉乘。将得到的每个轮廓按照上式求解面积,根据本发明应用场景下的库位面积设定阈值,丢弃面积小于阈值的轮廓及轮廓点集,得到包含有效库位的轮廓及轮廓点集。
步骤3-8、在实际应用中,库位的形状存在非严格矩形的情况,为解决此类库位的标定,对步骤3-7得到的库位轮廓作最小外接矩形。根据多边形的最小外界矩形必然和多边形的其中一条边共线的原理,利用旋转卡尺算法枚举库位轮廓的边,做外接矩形,比较得到的所有外接矩形的面积,选取其中最小的一个就是库位的最小外接矩形。库位的轮廓必然包含在其最小外接矩形之内,只需将最小外接矩形映射到库区图,就可以剪切出一个包括单独库位的矩形库位图ω。
步骤3-9、在ω中库位的轮廓和矩形边界之间为无效区域,遍历无效区域将无效区域内的像素值更改为0,去除无效区域对ω的干扰。将库区图中所有的库位执行步骤3-7至步骤3-9,完成对库位的分割,以步骤1-4中的库位ID为键,分割出的库位与步骤3-6中的库位轮廓点集以及最小外接矩形为值,生成键值对并保存到本地,置位标定完成标志,完成库位标定。
步骤3-10、对新的未标定库区重复执行步骤3-1至步骤3-9,完成对所有库区包含的库位标定。
(4)通过手机拍摄空库位和货物视频与图像,再对视频剪切得到初步数据集,对其进行扩展与增强,包含对空库位颜色、角度、大小的随机调整生成“空闲”增强数据集,将“空闲”增强数据集与货物图像随机组合生成“占据”增强数据集。对增强后的“空闲”与“占据”数据集添加标签,采用MobileNetV3-Large网络模型对数据集训练,生成模型权重文件。
步骤4-1、在项目现场、菜鸟驿站等不同应用场景下,采用手机拍摄不同样式、不同颜色的500张空库位图像作为“空闲”类别的原始样本。另外,拍摄库位视频用于后续对数据集的扩充,同时拍摄有物体占据的库位图像1000张作为“占用”类别。额外拍摄各种形状的快递包裹500张,作为物体样本。
步骤4-2、从步骤4-1中的库位视频中截取感兴趣区,首先加载视频流,通过鼠标在视频中点选两点A(r1,c1)和B(r2,c2),以A、B为对角生成矩形感兴趣区。
步骤4-3、逐帧读取视频流,将视频帧转换为Mat格式灰度图,第i帧感兴趣区的第j列像素值的和以Sij表示,如果存在N(c1<N<c2)个列的像素和相比前一帧同列像素和的差值的绝对值大于阈值Tij,如下式所示:
Figure BDA0003577957890000161
Figure BDA0003577957890000162
其中,M为视频流总的帧数,阈值Tij=0.8*Sij,如果n大于N,证明当前帧感兴趣内的图像较上一帧有明显变化,则保存感兴趣区为一个样本。
步骤4-4、扩充“空闲”数据集,对步骤4-1得到的500张空库位的副本进行以下几种操作:
(1)随机变换库位颜色;
(2)在0-180°之间随机生成角度,将副本按照该角度旋转。
(3)在0.1-10之间随机生成尺度因子,对副本进行缩放。
(4)随机生成椒盐噪声,添加到副本中。
(5)二值化图像,对副本二值化;
将以上5步得到的副本添加到“空闲”库位数据集中,将其扩充到1000张,得到增强“空闲”库位数据集。
步骤4-5、将步骤4-1中的“占据”库位数据集和步骤4-4得到的增强“空闲”库位数据集以及步骤4-1中得到的500张物体样本,进行几种操作进行增强:
(1)从500张物体样本中依次抽取n张,n为1-30的随机生成数字,再从增强“空闲”库位数据集中依次抽取10张。
(2)将n张物体样本按照步骤4-4中的5种方法进行操作。
(3)将(2)中的结果随机覆盖到步骤(1)中的10张增强“空闲”库位样本之上,得到“占据”库位样本。
经过以上几步操作后,得到物体颜色不同,库位地面颜色不同,物体形状各异摆放的占用库位3158张,作为增强“占据”库位数据集。
步骤4-6、将步骤4-4和步骤4-5得到的增强“空闲”数据集和增强“占据”数据集合并,得到包含4158张库位图像的数据集。
步骤4-7、将最终得到的数据集按照其真实分类,利用labImg工具进行标注,标注信息存储为xml格式,将标注好的数据集按照训练集比测试集8:2的比例划分。在GPU服务器上搭建训练模型所用的虚拟环境,完成后将训练集输入至MobileNetV3-Large网络进行模型训练,得到可用于库位检测的网络模型。
(5)启动检测流程,分割当前库区图像,得到库区包含的库位图,加载已训练好的模型权重文件,部署网络模型到控制器GPU之上,对库位图推理,实现库位状态分类,得到库位检测结果“空闲”或“占据”;如图4所示,具体过程如下:
步骤5-1、接收对库区k的检测命令,在步骤3-9中的键值对中查找k,如果未找到,证明该库位没有完成库区标定流程,结束库位检测流程,复位标志位。
步骤5-2、按照步骤1-2所述方法,读取相机当前拍摄到的库区k的图像Ω,以k为键在步骤(4)中得到标定结果键值对中查找,得到Ω内包含的所有库区位id、库位最小外接矩形、库位轮廓,将其映射到Ω之上,按照映射过来的最小外接矩形剪切出当前待检测库区k包含的所有库位,按照步骤3-9所述方法将最小外接矩形内的无效区域像素值设为0,去除该区域对检测流程的干扰,得到待检测库位图。
步骤5-3、将步骤5-2得到的待检测库位图输入至步骤4-7训练好的网络模型中进行推理,即可得到库位的状态,实现对库位的检测。
本发明还提供了一种实现基于RGB相机的库位标定与检测***,该***包括移动机器人、RGB相机、控制单元、带有库位的库区;所述库区为多个库位组成的一片区域,所述库位用于供机器人取、放货物区域,该区域的边界粘贴红色地贴胶带。
所述移动机器人为工业AGV,可根据该***提供的库位检测结果规划目标库位,自主移动、规避“占据”库位,实现货物的搬运与取卸功能。
所述RGB相机为带有无线传输功能的单目RGB相机,相机视频可以通过无线传输到其他接收端,该相机安装在库区中心正上方,垂直向下俯视库区。
所述控制单元包括视频流预处理模块、库位标定模块、库位检测模块;
所述视频流与处理模块包含直方图均衡,增加库位边缘与地面的对比度,中值滤波去除库区上方的椒盐噪声,均值滤波和高斯滤波对库区图像平滑处理,较少高斯噪声干扰。
所述库位标定模块对根据库区图,进行R、B、G三通道分离,以R通道为数据输入,进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,实现库位标定。
所述库位检测模块包括对数据集的制作与增强,将其输入至MobileNetV3-Large网络进行训练,得到可推理的网络模型,对待检测库位图分类,得到库位的最终状态。
参见图5,所示为本发明基于RGB相机的库位检测***的原理框图,该***至少包括移动机器人、RGB相机和控制单元,其中,
RGB相机与控制单元相连接,用于获取库区图像并输出给控制单元;其中,库区为多个库位组成的一片区域,库位用于供机器人取、放货物区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
所述移动机器人与控制单元相连接,用于根据控制单元反馈的库位检测结果规划目标库位,从而规避“占据”库位,自主移动实现货物的搬运与取卸功能;
控制单元用于根据移动机器人的控制指令执行库位检测操作并输出结果,以向移动机器人当前库位状态信息。
上述技术方案中,RGB相机为带有无线传输功能的单目RGB相机,相机视频可以通过无线传输到其他接收端,该相机安装在库区中心正上方,垂直向下俯视库区。
控制单元至少包括视频流预处理模块、库位标定模块、库位检测模块,其中,
所述视频流与处理模块用于执行直方图均衡以增加库位边缘与地面的对比度,中值滤波去除库区上方的椒盐噪声,均值滤波和高斯滤波对库区图像平滑处理,以减少高斯噪声干扰;
所述库位标定模块用于根据库区图,进行R、B、G三通道分离,以某一通道为数据输入,进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,实现库位标定;
所述库位检测模块包括对数据集的制作与增强,将其输入至MobileNetV3-Large网络进行训练,得到可推理的网络模型,对待检测库位图分类,得到库位的最终状态。
视频流预处理模块、库位标定模块和库位检测模块执行上述基于RGB相机的库位检测方法所述的相关算法,在此不再赘述。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于RGB相机的库位检测方法,其特征在于,至少包括以下步骤:
步骤S1:根据控制指令,获取RGB相机采集的当前库区图像;其中,库区为多个库位组成的一片区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
步骤S2:根据预先存储的库区标定信息对当前库区图像进行图像处理,以映射相应库区标定信息得到待检测库位图;
步骤S3:将待检测库位图输入预先训练好的网络模型中进行处理,得到库位状态并输出检测结果。
2.根据权利要求1所述的基于RGB相机的库位检测方法,其特征在于,步骤S2中,库区标定信息通过以下步骤得到:
步骤S21:移除库区所在地面上方物体,采用与地面颜色不同的红、蓝、绿三原色之一对库位轮廓进行标识,使库位轮廓与地面具有一定对比度;在此基础上,启动RGB相机,采集库区图像;
步骤S22:对库区图像预处理;
步骤S23:对库区图像RGB三通道分离,以其中一个通道作为后续的数据输入,对其进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,完成库位标定。
3.根据权利要求2所述的基于RGB相机的库位检测方法,其特征在于,步骤S3中,预先训练好的网络模型通过以下步骤得到:
步骤S31:构建车库“空闲”增强数据集和“占据”增强数据集并添加相应标签;
步骤S32:构建MobileNetV3-Large网络模型,并用步骤S31构建的数据集对模型进行训练;
步骤S33:训练完成后,输出网络模型。
4.根据权利要求3所述的基于RGB相机的库位检测方法,其特征在于,所述步骤S2中,如果并未找到当前库区的标定信息,则先执行库位标定流程生成库区标定信息。
5.根据权利要求3所述的基于RGB相机的库位检测方法,其特征在于,步骤S3中,通过预先训练的网络模型每个库位状态分类,得到库位检测结果“空闲”或“占据”。
6.根据权利要求1或2所述的基于RGB相机的库位检测方法,其特征在于,采用红色地贴胶带在灰色地面库区围绕每个库位边缘粘贴库位轮廓,步骤S23中,提取红色通道作为后续的数据输入。
7.根据权利要求3所述的基于RGB相机的库位检测方法,其特征在于,步骤S31中,通过手机拍摄空库位和货物视频与图像,再对视频剪切得到初步数据集,对其进行扩展与增强,包含对空库位颜色、角度、大小的随机调整生成,将“空闲”增强数据集与货物图像随机组合生成“占据”增强数据集;对增强后的“空闲”与“占据”数据集添加标签。
8.根据权利要求3所述的基于RGB相机的库位检测方法,其特征在于,步骤S33,采用数据集训练MobileNetV3-Large网络模型后,生成模型权重文件。
9.一种基于RGB相机的库位检测***,其特征在于,该***至少包括移动机器人、RGB相机和控制单元,其中,
RGB相机与控制单元相连接,用于获取库区图像并输出给控制单元;其中,库区为多个库位组成的一片区域,库位用于供机器人取、放货物区域,库位轮廓采用与地面颜色不同的红、蓝、绿三原色之一进行标识;
所述移动机器人与控制单元相连接,用于根据控制单元反馈的库位检测结果规划目标库位,从而规避“占据”库位,自主移动实现货物的搬运与取卸功能;
控制单元用于根据移动机器人的控制指令执行库位检测操作并输出结果,以向移动机器人提供当前库位状态信息。
10.根据权利要求9所述的基于RGB相机的库位检测***,其特征在于,所述控制单元至少包括视频流预处理模块、库位标定模块、库位检测模块,其中,
所述视频流与处理模块用于执行直方图均衡以增加库位边缘与地面的对比度,中值滤波去除库区上方的椒盐噪声,均值滤波和高斯滤波对库区图像平滑处理,以减少高斯噪声干扰;
所述库位标定模块用于根据库区图,进行R、G、B三通道分离,以某一通道为数据输入,进行阈值分割,突出边缘像素,再提取边缘点,经过滤波处理,去除误提取和离群边缘点,而后计算库位最小外接矩形,按照最小外接矩形对库区中的所有库区分割,增加库位ID并关联对应库位轮廓和背景图,重建库位轮廓,实现库位标定;
所述库位检测模块包括对数据集的制作与增强,将其输入至MobileNetV3-Large网络进行训练,得到可推理的网络模型,对待检测库位图分类,得到库位的最终状态。
CN202210348251.3A 2022-04-01 2022-04-01 一种基于rgb相机的库位检测方法及*** Pending CN114820681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210348251.3A CN114820681A (zh) 2022-04-01 2022-04-01 一种基于rgb相机的库位检测方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210348251.3A CN114820681A (zh) 2022-04-01 2022-04-01 一种基于rgb相机的库位检测方法及***

Publications (1)

Publication Number Publication Date
CN114820681A true CN114820681A (zh) 2022-07-29

Family

ID=82532656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210348251.3A Pending CN114820681A (zh) 2022-04-01 2022-04-01 一种基于rgb相机的库位检测方法及***

Country Status (1)

Country Link
CN (1) CN114820681A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115479592A (zh) * 2022-08-30 2022-12-16 浙江国自机器人技术股份有限公司 库位标定方法、装置、***、电子装置和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115479592A (zh) * 2022-08-30 2022-12-16 浙江国自机器人技术股份有限公司 库位标定方法、装置、***、电子装置和存储介质

Similar Documents

Publication Publication Date Title
US20210342586A1 (en) Systems and methods for extracting and vectorizing features of satellite imagery
Zhai et al. Detecting vanishing points using global image context in a non-manhattan world
CN104778721B (zh) 一种双目图像中显著性目标的距离测量方法
CN113658132B (zh) 基于计算机视觉的结构件焊缝检测方法
CN110084243B (zh) 一种基于二维码和单目相机的档案识别与定位方法
JP2019514123A (ja) 地理的領域におけるコンテナ内に格納された量の遠隔決定
CN104794435B (zh) 一种基于视觉的无人机对地运动目标检测方法
CN110309808B (zh) 一种大范围尺度空间下的自适应烟雾根节点检测方法
CN110210428B (zh) 一种基于mser的远距离复杂环境下的烟雾根节点检测方法
CN110910339B (zh) Logo缺陷检测方法及装置
CN112084869A (zh) 一种基于紧致四边形表示的建筑物目标检测方法
CN114331986A (zh) 一种基于无人机视觉的坝体裂纹识别与测量方法
CN115797350B (zh) 桥梁病害检测方法、装置、计算机设备和存储介质
CN111027538A (zh) 一种基于实例分割模型的集装箱检测方法
CN111680690A (zh) 一种文字识别方法及装置
CN112883881B (zh) 一种条状农产品无序分拣方法及装置
CN116228757B (zh) 一种基于图像处理算法的深海网箱网衣检测方法
CN108694716B (zh) 一种工件检测方法、模型训练方法及设备
CN115841633A (zh) 一种电力塔和电力线关联矫正的电力塔和电力线检测方法
CN112183361A (zh) 一种结合目标检测与动态差分的进球检测方法及***
CN114820681A (zh) 一种基于rgb相机的库位检测方法及***
Ji et al. An evaluation of conventional and deep learning‐based image‐matching methods on diverse datasets
CN115131363A (zh) 基于语义信息的定位方法、装置和终端设备
Bode et al. Bounded: Neural boundary and edge detection in 3d point clouds via local neighborhood statistics
CN111738310B (zh) 物料分类方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination