一种基于深度相机的机场自助托运行李的检测方法与流程

文档序号:21324004发布日期:2020-06-30 20:57阅读:876来源:国知局
一种基于深度相机的机场自助托运行李的检测方法与流程

本发明属于机器视觉工业技术领域,具体描述为一种基于深度相机的机场自助行李托运的关键技术方案。



背景技术:

自助行李托运技术在国内仍不成熟,大多都缺少行李的规格、尺寸、体积以及形状以及搬运难易程度的检测。

无论国际还是国内,解决这类检测物体外观与分类的问题,多采用机器视觉的方法,然而对行李物品来说,普通工业相机对行李的外观很难做到精确把控。深度相机是机器视觉发展过程中一项意义重大的技术产品,其应用领域十分广泛,在智能人机交互、人脸技术、三维重建、机器人、ar等领域全面开花。目前国内已有使用深度相机进行行李检测的方案,但是单个深度相机会存在视场范围有限的局限性,此外如何提高算法的精度以及降低复杂度更是一直以来的难点。



技术实现要素:

本发明的目的在于提供一种机器视觉检测方案,包括光学方案的设计以及检测算法的流程。解决现有技术中缺乏行李规格尺寸检测和检测精度低的问题。

参考民航二所的检测需求,主要有以下几点:①能够检测行李形态,并向上位机发送检测结果。行李形态:软包、圆形物品、不规则物品(婴儿车、高尔夫球袋、购物用塑料等等)、行李箱。②能够检测多包行李,并向上位机发送结果。多包行李指:两件(含两件)以上的行李连续放入或者并排放入输送机。③能够检测软包行李是否装在行李框内,并向上位机发送结果。④检测行李尺寸,包含长宽高信息,并向上位机发送结果。

为了达到上述目的,本发明的解决方案是一种基于深度相机的机场自助托运行李的检测方法,包括如下步骤:

步骤1:在自主托运机传送带的正上方顺传送方向依次设置两个深度相机,传送带的上方两侧各设置一根条形光源;

步骤2:通过两台深度相机采集到行李的3维点云进行点云拼接,然后将3维点云转化为2维深度图,降低处理的数据量以提高速度,并对2维深度图进行预处理,预处理包括:降噪和平滑处理;

步骤3:通过预处理后的2维深度图像判断有无行李框;

步骤4:通过预处理后的步骤2得到的2维深度图像结合svm算法判断是否有多件行李;若有多件行李直接反馈给旅客行李超过1件,不符合托运规定,若只有1件行李则进行步骤5;

步骤5:通过预处理后的2维深度图像结合行李面积与行李旋转外接矩形的面积比以及行李的长宽高来判断行李是软包还是硬包;

在有行李框的情况下:若是硬包则直接反馈给旅客硬包行李不用装框,若为软包则进行步骤7;

在没有行李框的情况下:若是硬包则进行步骤6,若是软包则反馈给旅客软包行李需要装框;

步骤6:通过预处理后的2维深度图像并对物体高度对应像素分辨率进行数学建模,来对行李尺寸进行检测,尺寸符合要求进行步骤7,尺寸不符合要求进行则反馈给旅客行李尺寸不符合要求;

步骤7:通过托运,反馈各项检测结果。

进一步的,所述步骤2中,采用基于特征提取的点云融合方法,该方法分为初始融合和精确融合两个阶段;初始融合阶段,是提取两个点云之间的特征寻找特征对应点,借助特征对应点计算转换矩阵;精确融合阶段是把上个步骤计算的转换矩阵作为该阶段的初始值,然后借助精确融合算法进行融合;具体步骤为:

步骤2-1:提取两个点云之间的3d-sift关键点;3d-sift关键点能够采用最少的点来表示全局特征;

步骤2-2:计算特征匹配点:采用kd-tree算法,结合步骤2-1得到的3d-sift关键点,对源点云中的每一个特征点,寻找目标点云中出与其相应的特征匹配点;

步骤2-3:转换矩阵的求解:刚体变换矩阵反应的是两个不同点云之间的空间位置关系,其求解算法的稳定性直接影响着点云融合结果;刚体变换矩阵为h,h矩阵可如下表示:

其中r代表旋转矩阵,t代表平移向量,v代表透视变换向量,s代表整体的比例因子;因为待匹配的图片得到的点云数据只存在旋转和平移变换,不存在形变,所以将v设为零向量,比例因子s=1;其中,旋转矩阵r和平移矩阵t可以通过以下公式来表示:

刚性变换矩阵中涉及到六个未知数α、β、γ、tx、ty、tz;要唯一确定这六个未知参数,需要六个线性方程,即至少需要在待匹配点云重叠区域找到3组对应点对,且3组对应点对不能共线,才可以得到这几个未知数的值,进而完成刚性矩阵的参数估计;针对刚体变换矩阵采用如下方法进行求解;

首先定义数据集,构造算法中需要用到的数学模型;定义两个点集,点集p和q,将p作为源点集,q作为目标点集,其中p={p1,p2,p3,…,pn},q={q1,q2,q3,…,qn},pi,qi∈r3,假设(pi,qi)为一系列的对应点;计算两个点集的协方差,分别用来表示,其中n表示点集中点的个数,两个点集的协方差矩阵用如下公式来计算

公式中p和q分别表示两个点集的质心;采用如下公式计算质心:

对两个点集的协方差矩阵进行奇异值分解,则旋转矩阵r和平移矩阵t可以通过如下公式来计算:

其中,u和v都是正交阵,u和v均满足uut=i,vvt=i。d是对角阵,主对角线上的每个元素都称为奇异值;可以用a表示svd(covpq),由矩阵奇异值分解的推导过程可知,ata的标准化的特征向量组成的矩阵就是v,aat的标准化的特征向量组成的矩阵就是u,ata的特征值的正平方根组成的对角阵就是d;公式中d还必须满足以下公式的约束条件:

计算出的旋转量r和平移量t然后构造出最终的转换矩阵h。

步骤2-4:点云近似最近点精确融合算法:

分别在待匹配的源点云p和目标点云q中,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优匹配参数r和t,使得误差函数最小;误差函数为e(r,t)为:

步骤2-4-1:在源点云p中取点集pi∈p;

步骤2-4-2:找出目标点云q中的对应点集qi∈q,使得||qi-pi||=min;

步骤2-4-3:计算旋转矩阵r和平移矩阵t,使得误差函数e(r,t)最小;

步骤2-4-4:对pi使用上一步求得的旋转矩阵r和平移矩阵t进行旋转和平移变换,得到新对应的点集pi’={pi’=rpi+t,pi∈p};

步骤2-4-5:计算pi’与对应点集qi的平均距离d;d的计算公式如下:

步骤2-4-6:如果d小于某一给定的阈值或者大于预设的最大迭代次数,则停止迭代计算;否则返回第2-4-2步,直到满足收敛条件为止。

初始融合算法的是将两个处于不同的视角、不同位置的点云数据,通过计算转换矩阵,统一到相同的坐标系中,缩小两个点云之间视角、距离的差异;但是这种方法,只能把不同的点云大致对齐;精确融合阶段就是在初始融合的基础之上,用精确融合算法进行处理,进一步缩小不同点云之间的距离直到重合在一起,从而将不同的的点云融合;迭代最近点算法(icp)是很经典的点云融合算法,可以获得非常精确的配准效果,且在较好的初值情况下,可以得到很好的算法收敛性;

进一步的,所述步骤3的具体方法为:

步骤3-1:采用双阈值法对2维深度图像进行二值化,较大的阈值th为深度相机到传送带的高度,较小阈值tl深度相机到行李框边缘最大高度的距离,在tl和th之间的置为255,其余的像素值置为0;

步骤3-2:对步骤3-1得到的二值图提取骨架,若存在行李框,则提取的骨架应该是个类矩形,若是仅仅为一件行李箱样的行李,则骨架会是类似于一条直线;骨架部分在图中表现为白色部分,其余背景则为黑色

步骤3-3:若骨架是个类矩形,则在此二值图上提取这个类矩形的旋转外接矩形,则可得到提取的骨架的大致长和宽;

步骤3-4:根据外接矩形的长宽判定有无行李框,若外接矩形的长宽和实际行李框的长宽近似相等,则判定存在行李框,否则不存在行李框。

进一步的,所述步骤4的具体方法为:

步骤4-1:采集只有一个行李和有多个行李的二位深度图像分别为正样本和负样本;

步骤4-2:对样本图像进行预处理,将正样本和负样本放缩到40×40的相同尺寸大小,目的是为了减小数据量提高训练速度;

步骤4-3:利用得到的预处理后的正样本和负样本采用k-折交叉验证方法和svm模型训练分类器;k-折交叉验证的步骤为:将数据集d随机分为k个包,k可取5,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练,此时训练集由d变成了k*d,最后计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率;k-折交叉验证可有效的避免过学习以及欠学习状态的发生,最后得到的结果也更为可信;

步骤4-4:采用训练好的分类器对图像进行分类,判断是否有多件行李。

进一步的,所述步骤5判断是否为硬包的方法为:

步骤5-1:对预处理后的2维深度图像进行边缘检测,并标记连通域,提取面积最大的连通域即为表示行李的连通域,判断行李区域的深度值方差是否大于阈值,我们可暂定若是平整的硬包,每个像素深度值与均值的差应小于等于5,所以阈值为像素点数×52,此阈值可根据深度图像的采集精度进行略微修改。若方差大于阈值则为软包,否则应进入步骤5-2进一步判断(因为像电脑包等软包表面也较为平整);

步骤5-2,计算行李连通域的旋转外接矩形,然后计算连通域和旋转外接矩形的面积比,若低于设置阈值则为软包,否则进行步骤5-3;

步骤5-3:计算行李的高度,若高度低于设定阈值则为软包,否则进入步骤5-4:

步骤5-4:计算行李的尺寸的长宽,范围是最大行李为900长×500宽×750高,最小行李为250长×100宽×200高,若尺寸在此范围内则最终判定为为硬包,若小于最小行李长宽为软包需要装框托运,若大于最大行李尺寸则系统应提醒该行李不符合托运规定。

本发明利用双深度相机进行三维点云拼接的方法,降低了值机系统机器的高度同时覆盖最大行李尺寸范围,有效地实现了机场行李外观检测与场景分类识别,实现了旅客值机时行李自助托运的功能,从而可以减少机场的人力资源成本,提高工作效率。

附图说明

图1是本发明的光学方案示意图。

图2是整体算法的流程图。

图3是步骤4中行李形态判断的算法流程图。

图4是步骤5中有无行李框识别的算法流程图。

图5是intelrealsensed435深度相机获取的带有行李框的彩色图和深度图。

图6是intelrealsensed435深度相机获取的不带行李框的彩色图和深度图。

图7是深度相机采集的原始点云图像。

图8是intelrealsense采集到的原始点云示意图。

具体实施方式

下面结合附图,对本发明的技术方案进行清楚详细地说明:

本发明提供的光学方案如图1所示,采用了双intelrealsensed435深度相机以增大视野范围,2根条形光分别位于传送带两侧保证光照均匀。

整体的算法流程图如图2所示,涵盖了步骤2到步骤7的整体技术路线。先通过两台深度相机采集到三维点云并消除消除离群点后,接下来进行点云拼接,然后将三维点云转化为二维深度图。然后通过深度图像结合svm算法判断是否有多件行李。再之后通过深度图像结合行李面积与行李旋转外接矩形的面积比以及行李的长宽高来判断行李的形态(即判断是软包还是硬包)。之后通过深度图像结合svm算法判断有无行李框。对于单件行李,通过深度图像并对物体高度对应像素分辨率进行数学建模,来对行李尺寸进行检测。最后根据步骤三到步骤六的检测结果反馈此次行李托运是否通过。下面将结合附图对各个步骤进行详细介绍。

步骤2采集到的原始点云应做消除离群点的预处理操作,用到的方法有做横向滤波法、纵向滤波法、两点间距滤波等滤波方法,完成点云拼接并转化为深度图后,应进行平滑和去噪的预处理操作,以提高图像质量。

步骤3行李框的识别主要借助于深度图像。首先对深度图像进行双阈值法二值化操作,设托盘边缘高度为hp,将阈值范围在h∈[hp-er,hp+er]的像素值置为255,其余为0,其中er为允许误差范围,这一步的目的是为了将非行李框的高度进行过滤。然后提取托盘边缘的骨架,寻找骨架图像的旋转外接矩形,再将旋转外接矩形的长和宽与实际测量的行李框长宽进行比较,若在误差允许范围以内,则认为存在行李框。算法流程图如附图3所示。

步骤4的多行李识别由于情况较为复杂,多件行李可能紧邻在一起甚至叠放在一起,这里采用svm构造一个二分类器。算法流程图如图4所示。预计先采集1000张样本图像,正负样本各占一半,有行李框的图像参见图6,没有行李框的图像参见图7。将图像缩放至40*40大小然后对数据进行简单的缩放操作作为输入。使用k-折交叉验证的方法,将样本集等分为5份,每次使用其中1份作为训练集,其余4份作为测试集。得到训练集后训练集,使用svm模型进行训练,获得分类模型。这里选择rbf核函数,其中gamma为自动选取;惩罚系数c取值为2,其他均为默认参数。接下来将待检测的图像同样放缩到40*40大小,获得待测的特征向量。将待测特征向量输入至分类器,获得分类结果。

步骤5主要是通过二值化深度图像分割出行李区域,由于步骤2种进行了多行李的判断(不是多行李的情况才能进入下一步的检测,否则返回ng),所以这里针对的是单件行李。明显地看到深度图可以很明显地捕获物品的外形,然后通过边缘提取找到行李边缘,在进行连通域填充,然后进行面积筛选,去掉过小的和过大的面积,在适合的面积区域寻找旋转外接矩形,然后通过连通域的面积比外接矩形的面积的比例判断行李行否是需要装框的不规则行李,根据大量实验可得面积比的阈值可设为0.85。考虑到电脑包等需要装框的行李也很规则,上述算法可能会失效,因此再加入行李高度和尺寸作为判断条件。行李软硬包的判断算法流程图如图5所示。

当判断行李是硬包且没有错误地放在行李框内时,接下来进行步骤6行李尺寸的检测。由于深度相机采集到的深度图在不同平面高度时,其像素分辨率也会不同,遵循近大远小的规则,也就是当被拍摄物体距离镜头较近时,深度图中每个像素表示的实际大小会更大。而在行李尺寸检测中,我们需要找出像素大小对应的实际大小。通过实验发现,随着被拍摄物体高度的升高,像素大小对应的实际大小的增大过程并不是线性的,因此可以多组测量典型值然后利用二次函数曲线去拟合。如果行李尺寸在不在要求范围内则直接返回ng。

当步骤3到步骤6都符合行李托运规定时,步骤7返回ok,否则返回ng,提醒乘客行李不符合托运规定。

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