CN116309817A - 一种基于rgb-d相机的托盘检测与定位方法 - Google Patents
一种基于rgb-d相机的托盘检测与定位方法 Download PDFInfo
- Publication number
- CN116309817A CN116309817A CN202211638336.1A CN202211638336A CN116309817A CN 116309817 A CN116309817 A CN 116309817A CN 202211638336 A CN202211638336 A CN 202211638336A CN 116309817 A CN116309817 A CN 116309817A
- Authority
- CN
- China
- Prior art keywords
- plane
- tray
- point cloud
- dimensional
- camera
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000011218 segmentation Effects 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000013135 deep learning Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明提供一种基于RGB‑D相机的托盘检测与定位方法,涉及工厂仓储运输技术领域。本发明采用基于深度学习的视觉目标检测方法训练数据集得到托盘检测模型,再对相机传输来的图像数据进行推理,得出托盘感兴趣区域,然后根据RGB‑D相机内参和深度图像获得托盘三维点云,对其进行三维平面分割,根据平面法向量的朝向确定托盘叉取平面;最后根据托盘叉取平面几何形状获得托盘的几何中心和朝向角。本发明通过构建托盘数据集并进行模型训练,利用深度神经网络强大的学习能力对托盘进行检测识别,不仅对一定程度光线变化和遮挡情况等复杂环境下的托盘检测具有较高的准确性和鲁棒性,还能快速去除背景,减少计算成本,与之前的方法相比具有较高的精度和鲁棒性。
Description
技术领域
本发明涉及工厂仓储运输技术领域,尤其涉及一种基于RGB-D相机的托盘检测与定位方法。
背景技术
随着智能机器人技术的快速发展,自主叉车机器人在工厂货物运输系统中发挥着越来越重要的作用。在工厂仓储环境中,货物一般都是堆放在托盘上,自主叉车机器人通过叉取托盘完成货物的搬运,因此,实现托盘的精确检测与定位,是叉车机器人完成自主搬运货物的关键。
实现工厂仓储环境下的托盘检测与定位存在诸多困难,如工厂仓储环境光照不均、动静态障碍物较多等。当前学界和产业界关于托盘检测和定位的方法均存在一定的不足,比如在普通搬运场景中,自主叉车机器人经过导航到达指定工位叉取仓储托盘时,由于无法精准的识别托盘以及测量托盘的位置及姿态,极易造成碰撞、空操作、不完全叉取等问题,留有安全隐患;又比如在狭窄巷道仓储中,由于工位比较高、叉车臂自重等原因,为了防止发生意外,一般需要人工监测和调整叉车的作业,这样既存在人身安全隐患,又增加了人力成本。综上所述,必须提出一种高精度、高鲁棒性的托盘检测与定位方法。
中国专利“CN106044645B一种基于二维码定位的货物托盘存取系统、及其存取方法”提供一种使用二维码进行托盘检测和定位的方法。具体包括:在托盘叉取平面左中右三个腿上张贴二维码,通过识别并定位二维码标签,判断叉车臂与承载货物的托盘之间的相对位置,以便叉车及时调整,使其能够准确无误地完成货物托盘的取放。这种方法对作业场景光线要求比较高,并且需要叉车离托盘较近的时候才能获得较为准确的结果。并且,张贴的二维码在叉车搬运货物的过程中存在较高的损坏风险,容易造成误操作或检测结果不准的情况,存在严重的安全问题。
中国专利“CN107218927A一种基于TOF相机的货物托盘检测系统和方法”提供了一种基于视觉方法的托盘检测与定位方法。该专利主要包括:采集RGBD图像,将RGB图像转成灰度图,对灰度图像进行轮廓提取,提取出托盘。然后对轮廓进行矩形检测,根据得到的托盘的两个矩形插孔确定托盘的位置,然后结合深度输出中心点位置,获得货物托盘相对于所述TOF相机的位姿关系,从而完成对货物托盘的定位。该技术方案,依靠传统的图像处理方法对托盘进行检测,当托盘存在遮挡以及光照条件不好的情况下,无法获得良好的托盘轮廓提取结果。此外,其输出的中心位置是直接利用的图像几何中心,然后根据相机内参计算得到,由于传感器的测量误差问题,在实际应用中这种方法的检测结果往往很不准确。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于RGB-D相机的托盘检测与定位方法,通过构建托盘数据集并进行模型训练,利用深度神经网络强大的学习能力对托盘进行检测识别,从三维点云中获得托盘的三维坐标和角度,不仅对一定程度光线变化和遮挡情况等复杂环境下的托盘检测具有较高的准确性和鲁棒性,还可以快速去除背景,减少计算成本,具有较高的精度和鲁棒性。
为解决上述技术问题,本发明所采取的技术方案是:
一种基于RGB-D相机的托盘检测与定位方法,包括如下步骤:
步骤一:基于深度学习的图像目标检测;
通过采集工厂实际环境下的托盘图像,构建托盘数据集,利用深度神经网络对数据集进行训练,获得准确、鲁棒的托盘检测模型;将托盘检测模型部署在边缘计算平台,实现相机图像中托盘的检测,输出托盘感兴趣区域;
步骤二:生成托盘三维点云;
通过步骤一得到托盘感兴趣区域,根据相机成像模型,利用RGB-D相机内参矩阵和对应的深度图像,生成感兴趣区域内托盘的三维点云;
步骤三:点云预处理;
通过以距离和点云的分布为约束条件,对步骤二获得的托盘三维点云进行直通滤波和离群点去除,去除点云噪声;
步骤四:点云平面分割;
通过对获得的托盘三维点云进行平面分割,以叉取平面的法向量朝向为约束,确定目标叉取平面点云;然后采用更加严格的约束条件对得到的叉取平面进行二次平面分割,得到最终的目标叉取平面点云,再以该平面点云的法向量作为目标叉取平面的法向量。
步骤五:确定托盘位置和朝向角;
将步骤四得到的目标叉取平面点云投影到二维,得到二值化图像;对该二值化图像进行边缘轮廓提取,并计算轮廓的外接矩形,然后根据托盘叉取平面的几何形状得到二维几何中心点,最后将该二维几何中心点反投影到三维得到三维中心位置;步骤四中二次平面分割得到更平的平面点云后计算法向量,进而转换为朝向角。
进一步地,所述步骤一中,利用深度神经网络对数据集进行训练时,通过深度学习强大的学习能力,对图像中的目标进行正确的分类和定位,包括特征提取网络和区域提取网络,通过构建的数据集,使用真值标签约束网络中的神经元权重与偏置参数,训练权重模型,然后实际部署时,利用权重模型推理出图像中目标的位置和类别。
进一步地,所述步骤二中,相机的内参矩阵如下:
其中,fx、fy分别是x和y方向上的焦距,(cx,cy)是主点坐标;
将图像坐标系下的坐标(xi,yi)转化为相机坐标系下的三维坐标计算公式如下:
其中,Xi、Yi、Zi代表生成的三维点云,(xi,yi)是每一个像素坐标,zi是每一个像素对应的深度值,fx、fy是相机内参中x和y方向上的焦距。
进一步地,所述步骤三中,通过距离阈值对三维点云进行直通滤波去除数据无效区域,在y方向限制点云的范围是0.20m-0.35m,在z方向上限制点云范围在2m-5m,以此过滤掉距离不在合理范围内的点;
通过计算每个点到其邻域K个临近点的平均距离x,并给定邻域平均距离的均值μ和标准差σ,若平均距离x超出邻域平均距离均值3σ以上,则认为该点为离群点并剔除;邻域平均距离的概率密度函数为:
其中,xij为任意两点的邻域距离,μ为任意点邻域平均距离的均值,σ为任意点邻域平均距离的标准差。
进一步地,所述步骤四中,采用RANSAC算法对三维点云进行平面分割,具体过程如下:在进行分割时,假设进行n次迭代过程;每次从点云Pi中随机选取3个点构建平面模型Ax+By+Cz+D=0,然后计算剩余所有点到该平面模型的距离,将计算的距离值满足距离阈值thesh的点视为内点;经过n次迭代后,选取内点数量最多的平面模型作为最终的结果。
进一步地,所述步骤四中,第一次平面分割中,设置迭代次数为500,距离阈值设置为1cm;
根据分割出的平面的法向量进行判断,平面的法向量即平面模型Ax+By+Cz+D=0的前三个系数;假设第一次平面分割得到的法向量是(A1,B1,C1),对分割出的平面的法向量进行判断,若不是目标叉取平面,则把这部分点云从原始点云中去除,对剩余的点云继续进行平面分割,直至得到目标叉取平面S1的法向量满足要求;设置的循环结束条件是剩余的点云大于0.1倍的原始托盘三维点云,法向量的判断条件是|A1|<0.48并且C1>0.65;平面S1用来进行轮廓提取;
二次平面分割中,得到平面S2,以平面S2的法向量(A2,B2,C2)作为托盘最终的法向量,二次平面分割的条件是迭代次数为50,距离阈值设置为0.1cm,法向量的判断条件是A2|<0.48并且C2>0.65;平面S2用于通过其法向量(A2,B2,C2)来计算托盘的朝向角。
进一步地,所述步骤五中,朝向角计算公式如下:
其中,(A2,B2,C2)是二次分割平面的法向量,θ为托盘的朝向角。
进一步地,所述步骤五中,三维中心位置的确定过程如下:
将托盘叉取平面S1旋转角度θ,使其与相机平面平行,经过旋转之后可得到正视托盘时的托盘叉取平面点云Sfront,然后将该三维平面Sfront投影到二维平面,操作具体细节如下:
将所有的三维点云平移到相机坐标系x轴和y轴的正半轴。然后建立一个960×320单通道图像Simage,设置单通道图像内每个像素对应实际物理尺寸的长和宽分别为0.3cm,将所有三维点云投影到二维图像Simage,有点落入的像素,其像素值为1,这样即得到托盘叉取平面二值化图像Si'mage。然后对Si'mage进行Canny轮廓提取,再计算轮廓的最小外接矩形;通过设置矩形框的长度阈值为15,筛选掉太小的矩形框;然后找到这些外接正矩形的最小和最大的像素点[(ximage_min,yimage_min),(ximage_max,yimage_max)],即绘制出整个二维托盘叉取平面的外接正矩形,则二维图像的几何中心点为:
然后再将(xmid,ymid)按照上面的逆过程反向投影至三维;三维点的深度值zmid由平面S2所有点的深度值均值计算得到,如此即得到最终的托盘三维位置和朝向角(xmid,ymid,zmid,θ)。
采用上述技术方案所产生的有益效果在于:本发明提供的基于RGB-D相机的托盘检测与定位方法,是针对工厂仓储复杂环境下的托盘检测和定位问题,将基于深度学习的视觉目标检测和基于几何的点云目标定位相结合,该方法可以有效地帮助自主叉车机器人精准,鲁棒的识别和定位托盘,完成自主叉车机器人对托盘的自主检测定位以及搬运,具有较强的实用价值。具体如下:
(1)利用深度神经网络对托盘进行检测,不仅可以快速提取前景,去除背景,节省大量计算资源,并且对一定光线变化和遮挡情况下的托盘检测具有较好的准确性和鲁棒性。深度学习模型可以快速从图像中对目标托盘进行识别,可以起到快速去除背景和节省计算资源的作用;并且通过构建真实场景下的托盘数据集,深度神经网络可以适应一定光线变化和遮挡情况下的托盘检测。
(2)将从变化的点云中计算三维位置问题转化为计算不变的托盘叉取平面外接矩形几何中心,定位更加精准和鲁棒。通过对三维点云进行平面分割,以平面法向量朝向为约束,得到托盘目标叉取平面的点云。本方法将托盘的位置计算转化为计算目标叉取平面外接正矩形的几何中心,将变化的点云转化为不变的外轮廓,定位结果具有较高的精度。
(3)将基于深度学习的视觉目标检测和基于几何的点云目标定位相结合,兼顾了速度和精度。基于纯图像的托盘检测方法速度较快,但是精度较差,而基于纯点云的方法处理速度较慢,本发明则将两种方法进行了结合,先使用基于深度学习的视觉目标检测,获得图像中托盘的感兴趣区域,然后从感兴趣区域获得托盘的三维点云,最后利用几何方法从三维点云中获得托盘的三维位置和角度,同时兼顾了算法的速度和精度。
附图说明
图1为本发明实施例提供的基于RGB-D相机的托盘检测与定位方法流程图;
图2为本发明实施例提供的托盘叉取平面示意图;
图3为本发明实施例提供的托盘叉取平面旋转示意图;其中,图(a)是托盘叉取平面与相机平面存在夹角的示意图,图(b)是经过旋转之后的托盘三维点云示意图;
图4为本发明实施例提供的托盘位置和角度计算流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本实施例的基于RGB-D相机的托盘检测与定位方法,在自主叉车机器人经过自主导航到达距离托盘所在的作业区域一定距离时,根据定位信息开启托盘检测系统。算法的输入是RGB-D相机的RGB图像和深度图像。其次,通过基于深度学习的图像目标检测算法对相机的RGB图像进行托盘检测,获得托盘的感兴趣区域。然后根据相机成像模型,利用RGB-D相机的内参和感兴趣区域的深度信息,生成感兴趣区域内托盘的三维点云。然后对托盘的三维点云进行平面分割,根据平面的法向量朝向为约束,确定托盘的叉取平面,叉取平面如图2所示。然后根据托盘叉取平面的几何形状和平面法向量,确定托盘的三维位置和朝向角度。具体如下所述。
步骤一:基于深度学习的图像目标检测。
通过采集工厂实际环境下的托盘图像,构建托盘数据集,利用深度神经网络对数据集进行训练,获得准确、鲁棒的托盘检测模型;将托盘检测模型部署在边缘计算平台,实现相机图像中托盘的检测,输出托盘感兴趣区域。
通过深度学习强大的学习能力,对图像中的目标进行正确的分类和定位。主要包含特征提取网络和区域提取网络,通过构建的数据集,使用真值标签约束网络中的神经元权重与偏置参数,训练权重模型。然后实际部署时,利用权重模型推理出图像中目标的位置和类别。
本实施例使用图漾FM851-GI-E1相机采集工厂仓储真实环境下的托盘照片,数据集的采集尽量包含托盘在不同光照,不同距离以及不同旋转角度的情况。获取一定数量的托盘照片后,采用YOLOv5算法的数据标注方式对数据集进行标注,本实施例获取了645张分辨率为960×540图片,总共含有778个图片的真值框。然后把训练数据集输入到YOLOv5m网络模型中训练,得到YOLOv5m模型。然后将模型部署在Nvidia边缘计算平台Jetson XavierNX上,将相机与Jetson Xavier NX连接,托盘目标检测在Jetson Xavier NX上完成。当托盘检测系统启动后,YOLOv5m模型对输入的RGB图像进行推理,得到托盘在图像中的二维检测框[(xmin,ymin),(xmax,ymax)],(xmin,ymin)是二维检测框的左上角像素坐标,(xmax,ymax)是二维检测框的右下角像素坐标。对于得到的检测框,根据检测框的置信度,通过设置阈值筛选掉置信度较低的检测框,以避免误检测。本实施例将阈值设置为0.8。若没有得到满足阈值的目标检测框,则继续进行下一帧图像检测。
步骤二:生成托盘三维点云。
通过步骤一得到托盘感兴趣区域,根据相机成像模型,利用RGB-D相机内参矩阵和对应的深度图像,生成感兴趣区域(即二维检测框)内托盘的三维点云。深度图为同一时间戳下与RGB图像对齐的深度图像。相机的内参矩阵如下:
其中,fx、fy分别是x和y方向上的焦距,(cx,cy)是主点坐标;
将图像坐标系下的坐标(xi,yi)转化为相机坐标系下的三维坐标计算公式如下:
其中,Xi、Yi、Zi代表生成的三维点云,(xi,yi)是每一个像素坐标,zi是每一个像素对应的深度值,fx、fy是相机内参中x和y方向上的焦距。
得到感兴趣区域内的三维点云之后,利用ROS的话题发送机制将得到的三维点云发送给中央处理器,Jetson Xavier NX和中央处理器之间用过网络连接。
步骤三:点云预处理。
由于得到的三维点云往往存在一些噪声点,对后续的平面分割会造成影响,因此需要进行滤波处理。在距离上可以采用直通滤波,以距离为约束,对一些距离过远或者过近的点云进行滤除。同时,根据相机内参生成的点云分布并不均匀,需要剔除分布稀疏的离群点。点云中一般点到其邻域中其他点的距离近似服从高斯分布。针对点云的分布,可以对点云的离群点进行滤除。
本实施例步骤二得到的托盘三维点云是由二维检测框经过相机成像模型计算得到的,虽然已经去除了大部分的背景,但是在生成点云的时候,可能会生成一些距离托盘较远的背景点云,其中存在大量的数据噪声,需要进行滤除来避免影响算法的估计精度。在中央处理器端,利用ROS的话题接收机制,当Jetson Xavier NX端有点云数据发送出来,中央处理器就进行接收。然后通过距离阈值对接收的点云进行直通滤波去除数据无效区域,在y方向限制点云的范围是0.20m-0.35m,在z方向上限制点云范围在2m-5m,以此过滤掉距离不在合理范围内的点。同时,根据相机内参生成的点云分布并不均匀,往往需要剔除分布稀疏的离群点。点云中一般点到其邻域中其他点的距离近似服从高斯分布。邻域平均距离的概率密度函数为:
其中,xij为任意两点的邻域距离,μ为任意点邻域平均距离的均值,σ为任意点邻域平均距离的标准差。由于离群点的邻域中点数量较少,所以邻域平均距离较大。因此,通过计算每个点到其邻域K个临近点的平均距离x,并给定邻域平均距离的均值μ和标准差σ,若平均距离x超出邻域平均距离均值3σ以上,则认为该点为离群点并剔除。
步骤四:点云平面分割。
点云平面分割是为了使用托盘叉取平面的几何形状来精准的确定其三维位置,本实施例使用RANSAC算法对托盘三维点云进行平面分割来获得托盘叉取平面。假设进行n次迭代,每次迭代从点云中随机选取3个点计算平面模型,然后计算剩余每个点到该平面的距离,将满足阈值的点视为内点,重复以上步骤,迭代n次,直到内点数量到达一定数量或迭代结束,选择内点数量最多的模型作为最终结果。由于托盘的三维点云是由二维检测框得到的,并且经过滤波处理后,点云的数量进一步降低,采用RANSAC算法既可以保证精确要求,也可以满足处理速度的需求。对于托盘叉取平面的确定,由于托盘摆放在作业区域,其叉取平面是垂直于地面的,并且其旋转角度一般不会发生较大偏移,因此可以采取分割平面的法向量大小为约束来进行平面的筛选。具体细节如下:
在进行分割时,假设进行n次迭代过程,每次随机从点云Pi中随机选取3个点构建平面模型Ax+By+Cz+D=0,然后计算剩余所有点到该平面的距离,将满足距离阈值thesh的视为内点,进过n次迭代后,选取内点数量最多的模型作为最终的结果。对于第一次平面分割,我们设置迭代次数为500,距离阈值设置为1cm。RANSAC算法每次分割出的平面是点云中最大的平面,当托盘上面没有货物时,一般第一次分割出的最大平面是托盘的顶面,因此需要对分割出的平面进行确定,这可以根据分割出的平面的法向量进行判断,平面的法向量就是平面模型Ax+By+Cz+D=0的前三个系数,假设分割出的法向量是(A1,B1,C1),对分割出的平面的法向量进行判断,若不是目标叉取平面,就把这部分点云从原始点云中去除,对剩余的点云继续进行平面分割,直至得到目标叉取平面S1的法向量满足要求,这里设置的循环结束条件是剩余的点云大于0.1倍的原始托盘三维点云,法向量的判断条件是A1|<0.48并且C1>0.65。
上述得到的目标叉取平面S1用来确定几何形状。托盘的朝向角根据法向量来计算得到,由于传感器的测量误差,该平面的法向量会存在较大波动,因此本实施例对第一次分割出的平面S1采用更加严格的平面约束条件进行二次平面分割,得到平面S2,以S2的法向量(A2,B2,C2)来作为托盘最终的法向量,二次平面分割的条件是迭代次数为50,距离阈值设置为0.1cm,法向量的判断条件是|A2|<0.48并且C2>0.65。
步骤五:确定托盘位置和朝向角。
本实施例采用托盘叉取平面的几何形状来确定其中心位置。已有一些方法采取直接计算叉取平面三维点云质心的方法,但由于传感器的测量误差,每一次测量得到的三维点云都是变化的,计算质心的方法结果往往存在较大误差,难以满足实际操作精度要求。虽然托盘叉取平面的点云是变化的,但是其外轮廓是基本不变的,因此本实施例采取叉取平面外轮廓几何中心作为托盘的中心位置。首先将分割得到的三维点云先投影到二维,得到托盘叉取平面的二值化图像,然后对该二值化图像进行轮廓提取,计算轮廓的外接矩形,外接矩形的几何中心点即是托盘的二维中心点。然后再将该二维中心点反向投影到三维相机坐标系,即可得到托盘的三维坐标。对于朝向角的确定,在上面分割三维平面过程中,可以得到平面的法向量,经过转换即可得到朝向角。但是由于RGB-D相机的测量误差,导致分割出的平面不平整,法向量会发生剧烈的跳动,导致朝向角结果不稳定。因此本实施例采用更加严格的平面参数,对得到的平面进行二次分割,得到更加平整的平面,即可以得到更加稳定的平面法向量,经过转换即可得到稳定的托盘朝向角。
步骤四得到两个平面模型,第一次分割出的平面S1是用来进行轮廓提取的,第二次分割出的平面S2是利用其法向量(A2,B2,C2)来计算托盘的朝向角,朝向角计算公式如下:
其中,(A2,B2,C2)是第二次分割平面的法向量,θ为托盘的朝向角。
然后将托盘叉取平面S1旋转角度θ,使其与相机平面平行,如图3所示,图3(a)是托盘叉取平面与相机平面存在夹角的示意图,图3(b)是经过旋转之后的托盘三维点云,经过旋转之后可得到正视托盘时的托盘叉取平面点云Sfront,然后将该三维平面Sfront投影到二维平面,如图4所示,以上操作具体细节如下:因为托盘的位置不一定,所以分割出的三维点云的x、y坐标可能存在负值,无法将负值投影到二维平面,因此第一步是将所有的三维点云平移到相机坐标系x轴和y轴的正半轴。然后建立一个960×320单通道图像Simage,设置单通道图像内每个像素对应实际物理尺寸的长和宽分别为0.3cm,将所有三维点云投影到二维图像Simage,有点落入的像素,其像素值为1,这样即可得到托盘叉取平面二值化图像Si'mage。然后对Si'mage进行Canny轮廓提取,再计算轮廓的最小外接矩形。由于点云是稀疏的,二值化图像Si'mage会存在内部不连通的情况,在进行轮廓提取时会提取出多个轮廓,进而会得到多个外接正矩形。通过设置矩形框的长度阈值为15,筛选掉太小的矩形框。然后找到这些外接正矩形的最小和最大的像素点[(ximage_min,yimage_min),(ximage_max,yimage_max)],即可绘制出整个二维托盘叉取平面的外接正矩形,那么二维图像的几何中心点为:
然后再将(xmid,ymid)按照上面的逆过程反向投影至三维。三维点的深度值zmid由S2平面所有点的深度值均值计算得到,如此即可得到最终的托盘三维位置和朝向角(xmid,ymid,zmid,θ)。
本实施例提出的方法将基于深度学习的托盘目标检测和基于几何的点云定位相结合,实现了在真实工厂仓储环境下对托盘的高精度,高鲁棒性检测与定位。与Apriltag检测方法作真值对比,本实施例的检测定位精度位置误差在2cm以内,角度误差在2°以内,完全满足精度要求。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (8)
1.一种基于RGB-D相机的托盘检测与定位方法,其特征在于:包括如下步骤:
步骤一:基于深度学习的图像目标检测;
通过采集工厂实际环境下的托盘图像,构建托盘数据集,利用深度神经网络对数据集进行训练,获得准确、鲁棒的托盘检测模型;将托盘检测模型部署在边缘计算平台,实现相机图像中托盘的检测,输出托盘感兴趣区域;
步骤二:生成托盘三维点云;
通过步骤一得到托盘感兴趣区域,根据相机成像模型,利用RGB-D相机内参矩阵和对应的深度图像,生成感兴趣区域内托盘的三维点云;
步骤三:点云预处理;
通过以距离和点云的分布为约束条件,对步骤二获得的托盘三维点云进行直通滤波和离群点去除,去除点云噪声;
步骤四:点云平面分割;
通过对获得的托盘三维点云进行平面分割,以叉取平面的法向量朝向为约束,确定目标叉取平面点云;然后采用更加严格的约束条件对得到的叉取平面进行二次平面分割,得到最终的目标叉取平面点云,再以该平面点云的法向量作为目标叉取平面的法向量;
步骤五:确定托盘位置和朝向角;
将步骤四得到的目标叉取平面点云投影到二维,得到二值化图像;对该二值化图像进行边缘轮廓提取,并计算轮廓的外接矩形,然后根据托盘叉取平面的几何形状得到二维几何中心点,最后将该二维几何中心点反投影到三维得到三维中心位置;步骤四中二次平面分割得到更平的平面点云后计算法向量,进而转换为朝向角。
2.根据权利要求1所述的基于RGB-D相机的托盘检测与定位方法,其特征在于:所述步骤一中,利用深度神经网络对数据集进行训练时,通过深度学习强大的学习能力,对图像中的目标进行正确的分类和定位,包括特征提取网络和区域提取网络,通过构建的数据集,使用真值标签约束网络中的神经元权重与偏置参数,训练权重模型,然后实际部署时,利用权重模型推理出图像中目标的位置和类别。
5.根据权利要求4所述的基于RGB-D相机的托盘检测与定位方法,其特征在于:所述步骤四中,采用RANSAC算法对三维点云进行平面分割,具体过程如下:在进行分割时,假设进行n次迭代过程;每次从点云Pi中随机选取3个点构建平面模型Ax+By+Cz+D=0,然后计算剩余所有点到该平面模型的距离,将计算的距离值满足距离阈值thesh的点视为内点;经过n次迭代后,选取内点数量最多的平面模型作为最终的结果。
6.根据权利要求5所述的基于RGB-D相机的托盘检测与定位方法,其特征在于:所述步骤四中,第一次平面分割中,设置迭代次数为500,距离阈值设置为1cm;
根据分割出的平面的法向量进行判断,平面的法向量即平面模型Ax+By+Cz+D=0的前三个系数;假设第一次平面分割得到的法向量是(A1,B1,C1),对分割出的平面的法向量进行判断,若不是目标叉取平面,则把这部分点云从原始点云中去除,对剩余的点云继续进行平面分割,直至得到目标叉取平面S1的法向量满足要求;设置的循环结束条件是剩余的点云大于0.1倍的原始托盘三维点云,法向量的判断条件是|A1|<0.48并且C1>0.65;平面S1用来进行轮廓提取;
二次平面分割中,得到平面S2,以平面S2的法向量(A2,B2,C2)作为托盘最终的法向量,二次平面分割的条件是迭代次数为50,距离阈值设置为0.1cm,法向量的判断条件是|A2|<0.48并且C2>0.65;平面S2用于通过其法向量(A2,B2,C2)来计算托盘的朝向角。
8.根据权利要求7所述的基于RGB-D相机的托盘检测与定位方法,其特征在于:所述步骤五中,三维中心位置的确定过程如下:
将托盘叉取平面S1旋转角度θ,使其与相机平面平行,经过旋转之后可得到正视托盘时的托盘叉取平面点云Sfront,然后将该三维平面Sfront投影到二维平面,操作具体细节如下:
将所有的三维点云平移到相机坐标系x轴和y轴的正半轴;然后建立一个960×320单通道图像Simage,设置单通道图像内每个像素对应实际物理尺寸的长和宽分别为0.3cm,将所有三维点云投影到二维图像Simage,有点落入的像素,其像素值为1,这样即得到托盘叉取平面二值化图像Si'mage;然后对Si'mage进行Canny轮廓提取,再计算轮廓的最小外接矩形;通过设置矩形框的长度阈值为15,筛选掉太小的矩形框;然后找到这些外接正矩形的最小和最大的像素点[(ximage_min,yimage_min),(ximage_max,yimage_max)],即绘制出整个二维托盘叉取平面的外接正矩形,则二维图像的几何中心点为:
然后再将(xmid,ymid)按照上面的逆过程反向投影至三维;三维点的深度值zmid由平面S2所有点的深度值均值计算得到,如此即得到最终的托盘三维位置和朝向角(xmid,ymid,zmid,θ)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211638336.1A CN116309817A (zh) | 2022-12-19 | 2022-12-19 | 一种基于rgb-d相机的托盘检测与定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211638336.1A CN116309817A (zh) | 2022-12-19 | 2022-12-19 | 一种基于rgb-d相机的托盘检测与定位方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116309817A true CN116309817A (zh) | 2023-06-23 |
Family
ID=86785765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211638336.1A Pending CN116309817A (zh) | 2022-12-19 | 2022-12-19 | 一种基于rgb-d相机的托盘检测与定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116309817A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117589109A (zh) * | 2024-01-19 | 2024-02-23 | 上海强华实业股份有限公司 | 石英中心托盘制作工艺的质量检测与控制方法 |
-
2022
- 2022-12-19 CN CN202211638336.1A patent/CN116309817A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117589109A (zh) * | 2024-01-19 | 2024-02-23 | 上海强华实业股份有限公司 | 石英中心托盘制作工艺的质量检测与控制方法 |
CN117589109B (zh) * | 2024-01-19 | 2024-03-29 | 上海强华实业股份有限公司 | 石英中心托盘制作工艺的质量检测与控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685066B (zh) | 一种基于深度卷积神经网络的矿井目标检测与识别方法 | |
CN111798475B (zh) | 一种基于点云深度学习的室内环境3d语义地图构建方法 | |
CN105678689B (zh) | 高精地图数据配准关系确定方法及装置 | |
CN111563442A (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及系统 | |
CN111507982A (zh) | 一种基于深度学习的点云语义分割方法 | |
CN111046776A (zh) | 基于深度相机的移动机器人行进路径障碍物检测的方法 | |
CN114972968A (zh) | 基于多重神经网络的托盘识别和位姿估计方法 | |
CN111998862B (zh) | 一种基于bnn的稠密双目slam方法 | |
CN115546202B (zh) | 一种用于无人叉车的托盘检测与定位方法 | |
CN112489099A (zh) | 点云配准方法、装置、存储介质及电子设备 | |
CN112683228A (zh) | 单目相机测距方法及装置 | |
CN113705669A (zh) | 一种数据匹配方法、装置、电子设备以及存储介质 | |
CN115032648A (zh) | 一种基于激光雷达密集点云的三维目标识别与定位方法 | |
CN115685160A (zh) | 基于标靶的激光雷达与相机标定方法、系统、电子设备 | |
CN116452852A (zh) | 一种高精度矢量地图的自动生成方法 | |
CN116309817A (zh) | 一种基于rgb-d相机的托盘检测与定位方法 | |
CN115100741A (zh) | 一种点云行人距离风险检测方法、系统、设备和介质 | |
Wang et al. | 3D-LIDAR based branch estimation and intersection location for autonomous vehicles | |
CN116703895B (zh) | 基于生成对抗网络的小样本3d视觉检测方法及其系统 | |
CN113536959A (zh) | 一种基于立体视觉的动态障碍物检测方法 | |
CN113420590A (zh) | 弱纹理环境下的机器人定位方法、装置、设备及介质 | |
CN116309882A (zh) | 一种面向无人叉车应用的托盘检测和定位方法及系统 | |
CN109785388B (zh) | 一种基于双目摄像头的短距离精确相对定位方法 | |
CN115457130A (zh) | 一种基于深度关键点回归的电动汽车充电口检测定位方法 | |
CN115451964A (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 |