一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种识别物体放置于智能箱柜不同区域的方法与流程

2022-02-20 20:04:47 来源:中国专利 TAG:


1.本发明涉及智能家居,智能箱柜的图像处理技术领域,尤其涉及识别物体放置于智能箱柜不同区域的方法。


背景技术:

2.随着计算机技术的发展和计算机视觉原理的应用,利用图像识别技术对诸如智能箱柜等产品内的物体进行准确识别具有广泛的应用价值。
3.目前,智能箱柜有两种工作模式:动态模式和静态模式,采用的图像采集设备多为普通相机。
4.静态模式就是在用户每次触发开关门的动作时,放置在智能箱柜内的图像采集装置会对箱柜内进行拍摄,然后,将开门前和开门后的图像发送回云端服务器,云端服务器分析开门前和开门后物体的变换,从而对物体进行识别。
5.动态模式,通过内置或外置的图像采集装置,跟踪用户手部运动的情况,从而确认手部的姿态,进而对物体进行识别,得到物体的取出还是录入。
6.通过上述两种方式对物体种类、物品存取等信息进行识别和录入,可以实现智能箱柜的智能化管理。
7.相关专利有:cn202010403622 .4 增强现实图像数据处理方法、装置、设备和存储介质cn202010310655 .4 一种智能冰箱及食材录入方法在上述相关技术的实施过程中,会存在如下的问题:在静态模式中:获取图像的结束会在用户关闭智能箱柜的门时发生,加上图像的传输、分析、检测等时间消耗,达不到实时的效果,且智能箱柜中存在大量的遮挡、覆盖的物体、造成较大的识别误差。
8.目前市面上的智能箱柜采用较多的都是动态模式,有效避免了物体遮挡的问题,但动态模式是依靠手的运动去获取物体的,对于外置图像采集设备,它只采集到物体放置或取出智能箱柜途中的图像,并不知道物体是放置到智能箱柜的哪一个区域和哪一个部分,内置图像采集设备,从图像上看能知道用户把物体放置到哪个区域,但计算机却无法从图像上分辨出来物体放置位置。
9.其次,当前智能箱柜物体识别和用户行为检测方面的研究存在一定的局限性。智能箱柜内使用的检测算法并未考虑智能箱柜实际背景,而是大多使用以公共开源或局部的数据集训练的算法模型,但实际应用场景中数据会跟开源数据相差较大,且没有考虑智能箱柜内部的封闭结构特点,当用户量一多,会产生各种各自独特的用户场景,其实际效果并不能得到很好的保证。


技术实现要素:

10.针对现有技术中的不足,本发明的目的是提供一种能够保证实际应用效果的识别
物体放置于智能箱柜不同区域的方法。
11.本发明解决其技术问题所采用的技术方案是:一种识别物体放置于智能箱柜不同区域的方法,使用深度相机模组对用户开、闭智能箱柜的行为进行视频采集,获取深度图像;对深度相机模组进行非线性标定,获得相机内参,并对获取的深度图像进行畸变校正,获取视图集,该视图集包括左视图集和右视图集;基于视图集进行整个智能箱体的隔板信息获取,得到隔板直线信息群;对隔板直线信息群进行聚类、过滤、筛选、分类、排序,获得隔板在智能箱柜二维空间上的建模;依据左视图集检测出来的直线中心点在右视图集中寻找与之匹配的中心点,对检测出来的隔板进行投影建模,获取隔板之间的距离,得到每一个分区的深度信息;利用目标检测模型对采集的图像进行检测,对手部的运动位置进行获取,追踪用户手部的运动轨迹,结合建模好的智能箱柜,获取物体放置的区域;利用建模好的智能箱体结合物体识别模型对物体进行识别和分析。
12.进一步的,所述的深度相机模组为rgb双目视觉深度相机或两个单目相机,rgb双目视觉深度相机包括有两个摄像头。
13.进一步的,对深度相机模组进行非线性标定的方法为:通过张正友标定法对深度相机模组进行标定,获得相机焦距、中心点在像素坐标系中的位置、径向畸变系数、切向畸变系数,并剔除影像中的径向畸变和切向畸变。
14.进一步的,隔板信息获取的方法为:对左视图集进行下采样,把下采样图像灰度化和降噪,对处理后的图像进行二值化,使用图像梯度算子获取二值化图像的边缘区域,使用霍夫直线变换对边缘图像进行检测,得到图像上的隔板直线信息群。
15.进一步的,对隔板直线信息群进行聚类、过滤、筛选、分类、排序的方法为:通过就近原则对霍夫直线变换的检测下出现的多根直线进行聚类,根据三角公式分别求每条直线之间的距离,根据直线聚类函数,直线间的距离小于阈值的,选择最长的直线作为保留直线,其余的直线去掉,距离大于阈值的直线都进行保留,将聚类后剩下的直线群分为横向直线群和竖向直线群两类;对横向直线群根据线的长度进行排序和修正,获得每条横隔板的长度,对隔板长度进行排序,获得最长的隔板的左右横坐标,根据最长的隔板的左右横坐标对每条横隔板的长度进行修正,让每条横隔板的长度保持在一样的长度;对竖向直线群根据智能箱柜的构造原理和竖线条数进行过滤和修正;把横向直线群和竖向直线群,根据直线坐标在一张图像上从上到下增加的原则,混合在一起,使所有直线的纵坐标呈现从小到大,取在横线和横线之间的竖线进行分析,只保留最中间的直线作为最佳的竖线;根据过滤后的竖向直线群,对竖向直线进行长度的修正,分别求最佳竖向直线靠最近的两条横直线的纵坐标,与最佳竖向直线的起始点纵坐标值和终点纵坐标值进行对比,按照直线长度超过减少,不超过填补的原则,进行纵坐标的修正;通过修正后的横向直线群和竖向直线群,从而对智能箱柜进行二维图像分区。
16.进一步的,获得隔板在智能箱柜二维空间上的建模的方法为:
检测过滤、筛选处理后直线群里的所有直线,根据检测到的直线按照直线的纵坐标从小到大对智能箱柜进行分层划分,每条直线代表智能箱柜的一条隔板,分别求每条横隔板直线的中心点和纵向隔板直线的中心点,建立整个智能箱柜的隔板在二维图像上的分区图。
17.进一步的,获得隔板在智能箱柜三维空间上的建模的方法为:左视图集上直线群上的直线的像素值基于匹配窗口和综合互相关系数cnf,在右视图集上寻找与之匹配的像素点,通过左右视图对应的两个像素点位置和双目立体视觉测距公式对智能箱柜的横隔板和竖隔板进行建模,将二维图像中心点投射到三维坐标上,获取其深度图像的点的深度距离值。
18.进一步的,追踪用户手部的运动轨迹的方法为:获取摄像头采集到待检测的图像,通过目标检测模型检测用户的手部信息和物体信息,从而对运动的物体进行检测,以及运动目标在每一帧待检测图像中的运动方向,接着,判定运动目标保持同一运动方向的连续m帧待检测图像,在m的取值达到预设的图像识别阈值时,确认用户手部的运动方向。
19.进一步的,获取物体放置的区域的方法为:将能确认用户手部的运动方向对应的图像集名为a,找到双目摄像头另外一个摄像采集图像对应的图像集b,通过检测模型获取图像集a中手部信息的区域四个角点的坐标,根据相机内参的内参矩阵和外参矩阵,求得另外一个图像集b上对应手部信息的区域四个角点的坐标,基于双目视觉视距计算公式,求得用户手部信息的区域四个角点对应的世界坐标,对四个角点对应的世界坐标进行双线性插值,求得用户手部质心位置h(x,y,z);手部质心运动轨迹中的手部质心位置h(x,y,z)满足智能箱柜建模得到的分区设定的深度范围时,则手部质心对应的位置为存取的隔板层数,从而实现物体存取位置的识别。
20.进一步的,建模好的智能箱体结合物体识别模型对物体进行识别的方法为:通过跟踪用户手部的运动轨迹,从而确认用户的行为动作;当判断用户的行为是放时,通过识别模型获取物体的特征,和判断出用户放置区域世界坐标,根据用户放置区域世界坐标所属于智能箱柜的某个分层和分区,将物体的特征放置到智能箱柜的分区所述的区域中;当判断用户的行为是取时,通过识别模型中获取物体的特征,和判断用户取行为置区域世界坐标,根据用户取置区域世界坐标所属于智能箱体的分区,将物体的特征与所述该物体智能箱体的分区内的特征群进行匹配,判定物体的类别。
21.进一步的,建模好的智能箱体结合物体识别模型对物体进行分析的方法为:对每个分层或分区的区域里面的物体进行类别聚类,每个大类里面的物体之间是不存在互斥性,而每个大类与大类之间存在互斥性,通过对每一个分区进行类别聚类,获取每一个分区的具体用途,从而进一步对智能箱柜分区进行归类。
22.原理说明:1.使用深度相机对用户开、闭智能箱柜的行为进行视频采集,通过rgb双目视觉深度相机获取用户操作智能箱柜的行为图像。
23.2.对双目相机设备进行非线性标定,通过基于张正友标定法对两个相机模组进行
标定,并对获取的两幅物体影像进行畸变校正,剔除影像中的径向畸变和切向畸变,完成对相机模组的标定并对结果进行最大似然估计。
24.3.对采集的左视图集进行下采样、降低图像处理的计算量,接着把图像灰度化和高斯平滑,去掉一些影响较大的噪声,通过二值化和图像梯度算子获取图像的边缘,然后进行霍夫直线变换对智能箱柜整体图像进行隔板检测,获取整个智能箱体的隔板信息群。
25.4.对霍夫变换取得的隔板直线群进行聚类、过滤、筛选、分类、排序,获得隔板在智能箱柜二维空间上的建模;其中采用距离算法对隔板直线群进行聚类,过滤掉那些距离靠的过近的直线,保留最优的直线,对聚类后剩下的直线群分成两类横向直群群和竖向直线群,根据智能箱柜的构造原理和竖线条数进行横线群和竖线群进行排序、过滤和修正,求过滤后直线群的中心坐标,构建智能箱柜在二维坐标上的分区图。
26.5.依据左视图集检测出来的直线中心点在右视图中寻找与之匹配的中心点,利用双目立体视觉原理对检测出来的隔板进行投影建模,获取隔板之间的距离,得到每一个分区的深度信息;以左视图集直线群中心周围相邻像素点的强度构成一个匹配窗口,匹配的窗口大小按照从小到大的顺序遍历,从左到右遍历右图像同一行所有的像素点,取同尺寸局部窗口内像素点的强度,通过互相关公式分别求取每个像素在不同匹配窗口下两个矩阵的互相关系数,获取其相应的匹配点;基于左右图像两个匹配点的视差值,获得每个隔板中心点对应的三维坐标。
27.6.利用目标检测模型对采集的图像进行检测,对手部的运动位置进行获取,追踪用户手部的运动轨迹,根据双目立体视觉原理对手部质心位置进行建模,结合建模好的智能箱柜的各个分区,对手部位置进行判定,获取物体放置的区域。
28.7.物体识别模型结合用户本身的智能箱柜环境对物体进行识别和分析,通过用户行为的判定,当用户行为为放时,提取物体的特征入智能箱柜建模后的特征区域,当用户行为为取时,获取手质心在智能箱体的位置,读取智能箱体相应区域的特征,进行类别判定。
29.8.对智能箱柜每个区域的类别进行聚类,建立类别树型模型,分析类别与类别的相关程度,智能箱柜每个分区内避免互斥的大类的放置,分析用户放置分区类别的聚合程度,打造用户的行为习惯封闭环。
30.本发明的有益效果是:基于霍夫直线变换对智能箱柜的隔板进行检测,双目视觉原理对智能箱柜进行独立建模,使每个用户的智能箱柜都有自己独特的分区存储环境,再通过检测模型得到用户存取的行为,对当前存取行为进行三维建模,获得用户存取物体的区域,结合物体的存取区域,物体识别模型对物体进行判别。其过程中减少物体匹配的次数,提高了物体识别的效率,减少了智能箱柜服务器的计算量,能对每个物体的录入过程进行分区,知道每个物体放置到箱柜的哪一个位置。物体识别的过程又结合了用户当前智能箱柜内部环境的先验知识,从而提高了物体录入效率、准确率,提升了用户体验的同时,降低了智能箱柜成本。
附图说明
31.图1 为本发明的流程示意图;
图2 为本发明实施例中采用的深度相机简图;图3 为本发明实施例中采用的智能箱柜实际的分层图;图4 为本发明实施例中智能箱柜经过霍夫检测和一系列后续处理的直线示意图;图5 为本发明实施例中采用的双目立体视觉测距示意图;图6 为本发明实施例中采用单应性变换示意图;图7 为本发明实施例中采用的物体类别聚类图。
具体实施方式
32.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。在下列段落中参照附图以举例方式更具体地描述本发明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
33.需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
34.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例
35.结合图1显示,一种识别物体放置于智能箱柜不同区域的方法,该生成方法包括以下步骤:步骤1:使用深度相机对用户开、闭智能箱柜的行为进行视频采集。
36.普通相机常是指含有一个摄像头,又没有其他而外功能的相机。利用透镜成像的原理,来实现图像的成像,成像的图像上是没有物体离相机远近的信息的,对该设备产生的图像进行物体检测和语义分割进行算法解析只能获得物体与物体大概的距离,而且非常不准确。
37.为了能够实现对智能箱柜进行建模,实现从图像中获得物体离相机距离的信息,采用了深度相机。深度相机获取的图像能够对现实世界进行建模,通过深度相机获取的图像称之为深度图像。
38.深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离值作为像素值的图像,获取深度图像的方法可以分为两类:主动深度传感和被动测距传感。
39.主动测距传感最大的特征是,通过设备自己发送能量来完成深度信息的采集,常见的方法主要包括tof(time of flight)、结构光、激光扫描等。
40.tof相机是通过对目标场景发射连续的近红外脉冲,然后用传感器接收由物体反射回的光脉冲。通过比较发射光脉冲与经过物体反射的光脉冲的相位差,可以推算得到光
脉冲之间的传输延迟而得到物体相对于发射器的距离,最终得到一副深度图像。tof相机的深度图像有着分辨率低,设备要求高的缺点。
41.结构光相机将具有特定模式的光投射到场景上,并由图像传感器捕获带有结构光的图案,由于结构光的模式图案会因为物体的形状发生变形,因此通过模式图像在捕捉得到的图像中的位置以及形变程度利用三角原理计算即可得到场景中各点的深度信息。结构光技术成熟、消耗资源少,但容易受到环境光的影响。
42.被动测距传感中最常用的方法是双目立体视觉,该方法通过两个相隔一定距离的相机同时获取同一场景的两份图像,通过立体匹配算法找到两幅图像中对应的像素点,随后根据三角原理计算出视差信息,通过视差信息的转换可用于表达场景中物体的深度信息。其优点在于成本低、适用场景广、测量精度高,缺点也很明显,由于rgb双目相机严重依赖与双目图像的特征匹配,难以应用于缺乏纹理的场景和物体的测距。
43.本实例中,基于应用环境和数据的特点,采用了rgb双目视觉深度相机对用户的行为图像进行采集,且智能箱柜天然的隔板特征可以非常便于双目图像特征的匹配。如图2所示,rgb双目视觉深度相机有两个摄像头组成,一些场景下,可能相机上还有红外光源的发射装置,将一个摄像头改为红外摄像头,能采集红外图像,虚线为可选设备。
44.需要说明的是,rgb双目视觉深度相机可以通过组合两个单目相机或多个单目相机去实现本实例的功能。
45.需要说明的是,本实例只是类举了深度相机是rgb双目视觉深度相机。现实或在其他实例中,会有多个相同功能或不同功能的摄像头模组通过不同方式进行结合的情况,从而实现多种功能如红外图像显示、深度图像采集等等。而且摄像头模组放置的区域会根据项目或用户的需求多种多样,例如可能放置到智能箱柜内或左边、右边、下面、门架等情况,便于多角度、多层次,从不同智能箱柜层、分离或整合图像进行目标识别和分析。
46.在一些实施例中,图像采集装置可实施为结构光深度相机。
47.具体的,将深度相机放置到智能箱柜的顶部,当用户打开智能箱柜的门时,rgb双目视觉深度相机会自动启动,对用户的行为进行图像采集,深度相机的视角是可以调节的,主要采集智能箱柜的正面图像。本实例采用的深度相机能够对整个智能箱柜的构造进行采集,获取的图像会包括智能箱柜的上下内部结构图和左右冰箱开箱结构图。该实例采用的智能箱柜以单开门多分层的冰箱作为说明,该冰箱含有冷藏区、保鲜区、冷冻区、储物架等部位,如图3所示。
48.步骤2:对双目两个相机模组进行非线性标定,通过基于张正友标定法对两个相机模组进行标定,并对获取的两幅物体影像进行畸变校正,剔除影像中的径向畸变和切向畸变,完成对相机模组的标定并对结果进行最大似然估计。
49.具体的,在本方案中,双目相机标定内参矩阵和外参矩阵,计算过程为:其中(x,y,1)表示世界坐标,(x,y,1)表示相机像素坐标,h表示将世界坐标(x,y,1) 转化为对应像素坐标(x,y,1)的单应性矩阵,r2×3表示旋转矩阵,t2×1表示平移矩阵,a表示相机坐标系转化为图像物理坐标系的内参矩阵。
50.进一步的,在本方案中,a表示相机坐标系转化为图像物理坐标系的内参矩阵,具体表示为:为:分别为图像物理坐标轴的尺度因子,表示光学畸变在传感器上的中心点坐标。
51.整个标定的过程,着眼于单应性矩阵h,只要求出单应性矩阵h,内参矩阵a和外参矩阵都可求出。
52.单应性变换,反映的是从一个二维平面映射到三维空间,再从三维空间映射到另一个二维平面的过程。由于单应性变换能描述出两个坐标系之间的非线性变换,因此在图像拼接、图像校正、增强现实等领域中有着广泛运用。
53.单应性变换矩阵描述了世界坐标和对应像素坐标的映射关系;单应性变换示意图如附图图6所示。
54.x-y-z为三维空间坐标系,可理解为世界坐标系;x-y为像素平面空间坐标系;x
°
,y
°
为变换后平面坐标系。单应性变换可以描述为:x-y坐标系上的一点(x ,y),在x-y-z坐标系上对应一条经过原点和该点的直线l, 该直线与(x
°
,y
°
)坐标系平面相交于点(x
°
,y
°
),则从点(x ,y)到点(x
°
,y
°
)的过程称为单应性变换。
55.单应性变换的求解过程如下:表达式中,h1~h9为单应性矩阵的9个变换参数;进而得x-y平面坐标系到x
°
,y
°
平面坐标系的映射关系为h矩阵拥有9个变换参数,求解方法是给单应性矩阵h添加约束,令其模等于1,如下:则待求解的方程为:
根据待求解方程存在8个自由度,正常条件下,使用四个坐标点构成的方程组,即可求解h矩阵。
56.h矩阵就是内参矩阵和外参矩阵的混合体,利用旋转矩阵的向量是正交阵的性质,根据两垂直平面上的旋转向量互相垂直和旋转向量长度相等的约束条件,和多张图像上对于的特征点,可以求出内参矩阵的参数,通过内参矩阵和外参矩阵、h矩阵之间对应关系,可以求得外参矩阵。
57.需要说明的是,本实例中,还考虑了透镜畸变的影响,加入了径向和切向畸变的参数,选择四个坐标求出的h矩阵的值作为初始值,然后通过ehrenberg-marquita(lm)算法进行迭代求解。
58.其中,x
j 为世界坐标系下三维空间点,其在图像坐标系上的投影为x
ij
,n,m分别是图像坐标系上x,y轴上各自的像素长度,a是相机的内参矩阵,ri为旋转矩阵,ti为平移向量,k1,k2,k3为径向畸变,p1,p2为切向畸变参数,三维空间点经过相机内参a,外参ri,ti变换后得到的二维像素为x
°

59.对两摄像头分别进行标定,获得相机内参:焦距、中心点在像素坐标系中的位置、径向畸变系数、切向畸变系数,从而使用单应性矩阵对双目摄像头所拍摄图像进行校正,获取左视图集、右视图集。
60.需要说明的是,在一些实例中,双目相机的内外参数已经进行了初始化,可直接获得其内参矩阵和外参矩阵,省略对相机模组标定的过程。
61.步骤3:使用霍夫直线变换对智能箱柜整体图像进行隔板检测,获取整个智能箱体的隔板信息。
62.步骤3.1:对rgb双目视觉深度相机左视图集进行下采样。
63.具体的,在本实例中采用双目摄像头的左视图集进行下采样,因为双目视觉深度相机的两个摄像头是采集同一场景不同角度的图像,对于本实例霍夫变换采用哪个摄像头采集到的图像进行检测都是一样的。其中,下采样的倍数是4,原相机设备采集的图像是高分辨率,而霍夫变换对图像的要求不高,通过下采样,能够降低图像处理的计算量。
64.步骤3.2:把下采样图像灰度化和降噪。
65.具体的,对下采样后的图像灰度化,霍夫变换变换对颜色不敏感,灰度化能够降低后续图像处理的计算量。然后通过高斯滤波,进行降噪,高斯滤波就是使用一个模板去扫描图像的每一个像素,用模板内领域像素的加权平均灰度值代替模板中心像素点的值,这里加权使用的是高斯核函数
其中*表示卷积操作,i为原图像,i
σ
为高斯模糊后的图像,g
σ
是标准差为σ的二维卷积核,定义为:步骤3.3:对上述处理后的图像进行二值化,使用图像梯度算子获取二值化图像的边缘区域。
66.降噪的图像进行图像二值化处理,就是对将图像上的像素点的灰度值设置为0或255,将整个图像呈现出明显的黑白效果的过程,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。
67.进一步的,使用scharr算子对x和y方向进行求导,求图像x和y方向的梯度,求图像x和y方向的梯度,其中g
x
和gy分别是水平变化和竖直方向的算子。
68.把图像每一个像素求到的图像x和y方向的梯度,取绝对值相加,获得图像的梯度,图像的梯度反应在二值化后的图像上就是图像的边缘。
69.步骤3.4:使用霍夫直线变换对边缘图像进行检测,得到图像上的隔板直线信息群。
70.霍夫变换是一个关于图像领域类的一个算法,被用来检测图像中的各类曲线,比如直线,圆,椭圆等等,简单来说就是把笛卡尔坐标系下的形状变换成霍夫空间的形状。
71.这里所用的霍夫变换中的直线检测。其中的思想是在笛卡尔原始坐标系下的一个点对应了霍夫参数空间坐标系中的一条直线,同样,参数空间坐标系的一条直线对应原始坐标系下的一个点,因为原始坐标系下直线上的所有点,其斜率和截距都是相同的,所有它们在参数坐标系下对应同一个点,这样将原始坐标下的所有点转换到参数坐标系下,看参数坐标下有没有聚集点,这样的聚集点就对应原始坐标系下的直线。
72.原笛卡尔原始坐标系上的直线用参数方程表示,这样原图一个点就对应参数(ρ,θ)平面上的一条曲线。
73.将极坐标(ρ,θ)量化成有限个间隔框,根据原始坐标中每个点的坐标(x,y),在θ=0°‑
180
°
内以小格的步长计算各个ρ值,所得值落在某个小格内,便使该小格的累加计数器加1,当原始坐标中全部的点都变换后,对小格进行检验,计数值最大的小格,其(ρ,θ)值对应于原始坐标中所求的直线。
74.在一些实施例中,隔板的检测还可以通过深度学习模型进行,所述的深度学习模型以基于anchor的一阶段的yolo系列网络模型,二阶段的基于anchor的fast r-cnn网络模型,无anchor的fcos网络模型等为主,本方案不做方法和模型方面的限制。
75.需要说明的是,在一些实施例中,用于隔板检测的深度学习模型可以和物品检测模块使用同一个模型,从而达到减低计算量、降低系统复杂度的目的。深度学习策略可以有效融合物品识别模型,并且隔板边缘的检出率较高。
76.步骤4:对霍夫变换取得的隔板直线群进行聚类、过滤、分类、排序、修正,获得隔板在智能箱柜二维空间上的建模。
77.具体的,智能箱柜在原始霍夫直线变换的检测下会出现较多的直线,通过就近原则对直线进行聚类,这里采用距离算法。获取每条直线在图像上起始点的坐标值和终点的坐标值,求该直线的中心点的坐标求该直线的中心点的坐标其中,n表示直线的数量,分别为直线起始和终点的横坐标与纵坐标。
78.根据三角公式分别求每条直线之间的距离,根据直线聚类函数,直线间的距离小于阈值的,选择最长的直线作为保留直线,其余的直线去掉,距离大于阈值的直线都进行保留。
[0079]079]079]
其中x,y 分别是横直线和竖直线,为直线聚类函数,

l为直线距离的阈值, x-max 为除x
max
其余的横直线 , y-max 为除y
max
其余的竖直线。
[0080]
当比对的直线群为横直线,取最长的横直线x
max
,比对的直线群为竖直线,取最长
的竖直线y
max
,x/y
max
为最长横直线和竖直线的长度公式。
[0081]
如某个区域内三条竖直线靠的很近,只有一条直线是本实例需要的,第一、第二条,第三条直线的中心分别为以某个中心为基础点,两条直线的距离为 ,,说明三条直线距离是很近的,通过只保留最长的直线x
max

[0082]
对聚类后剩下的直线群分成两类,如果起始点的坐标值的纵坐标和终点的坐标值的纵坐标相差不过10,则该直线是横线,若起始点的坐标值的横坐标和终点的坐标值的横坐标相差不过10,则该直线是竖线,横线放置到横线群,竖线放置于竖线群中。
[0083]
直线群分类的公式如下: 其中c 表示横线,r表示竖线 ,其他参数同上。
[0084]
在本实例中,只需要在智能箱柜内隔板的信息,智能箱柜外检测出来的直线是不需要的。
[0085]
对横线群根据线的长度进行排序和修正。
[0086]
具体的,获得每条横隔板的长度,对隔板长度进行排序,获得最长的隔板的左右横坐标,根据最长的隔板的左右横坐标对每条横隔板的长度进行修正,让每条横隔板的长度保持在一样的长度。
[0087]
横线群修正公式如下:横线群修正公式如下:其中,为最长的横隔板的左右点横坐标,为其他的横隔板的左右点的纵坐标,n≠i是除了最长横隔板外的其他横直线,表示其他横直线左右点横坐标等于最长的横隔板的左右点横坐标。
[0088]
对竖线群根据智能箱柜的构造原理和竖线条数进行过滤和修正。
[0089]
具体的,正常的智能箱柜的纵向隔板不会超过两个,所以经过霍夫直线检测出来的需求的竖向直线也不能超过三个(两边的直线和中心的直线)。
[0090]
把横向直线群和竖向直线群,根据直线坐标在一张图像上从上到下增加的原则,
混合在一起,使所有直线的纵坐标呈现从小到大,取在横线和横线之间的竖线进行分析。根据上述两条横线之间的竖向直线的数量不能超过三条的结论进行过滤,只保留最中间的直线作为最佳的竖线。
[0091]
根据过滤后的竖向直线群,对竖向直线进行长度的修正,分别求该最佳竖向直线靠最近的两条横直线的纵坐标,与最佳竖向直线的起始点纵坐标值和终点纵坐标值进行对比,按照直线长度超过减少,不超过填补的原则,进行纵坐标的修正。
[0092]
竖线群修正公式如下:如下:其中y
urxmax
表示横线群的纵坐标,y
ucymax
表示竖线群的纵坐标,分别是竖线离最近两条横线的纵坐标,表示原竖线的横坐标,将该最佳竖向直线的上下纵坐标赋值为最近两条横线的纵坐标,原横坐标不变,从而获得修正后的竖向直线。
[0093]
通过修正后的横向直线群和竖向直线群,从而对智能箱柜进行二维图像分区。
[0094]
根据上述的一系列聚类、过滤、分类、修正原则,直线群里面都是代表性的直线,每条直线代表智能箱柜的一条隔板,如图4 所示,图4表示智能箱柜经过霍夫检测和一系列后处理得到的直线示例简图,为了便于分析和显示,没有使用实际智能箱柜经过霍夫检测后和一系列后处理得到的直线图。分别求每条横隔板直线的中心点和纵向隔板直线的中心点,建立整个智能箱柜的隔板在二维图像上的分区图。
[0095]
直线群中心点公式如下:直线群中心点公式如下:经过过滤后,直线群里面只有m条直线,n为初始的直线数,分别为隔板直线的中心点,i表示第几层隔板,k表示当隔板为横向隔板时等于r,为竖向隔板时等于c,其它参数的含义不变。
[0096]
根据检测到的直线按照直线的纵坐标从小到大对智能箱柜进行分层划分,如第一条横直线表示智能箱柜第一层的横向分隔板,注明其类型,第二条直线表示智能箱柜第二层的分隔板,以此往下类推,存在竖隔板的分割层,注明为竖向分隔板,如下表1。
[0097]
表1 智能箱柜隔板二维建模
其中竖隔板的分区中心点坐标包含上层横直线的中心坐标和其竖向直线的中心坐标。
[0098]
需要说明的是,构建智能箱柜分区图时还需要设置个剩余层,用于存放储物架和未能检测到隔板分区的层,因为霍夫变换很多时候检测不到背景纹理相差过小的背景区域,刚好很多时候储物架属于这部分,所以储物架上的物体和未能检测到的隔板都归于一个层内。
[0099]
可选的,隔板检测还可以通过分析隔板边缘的颜色、结构和纹理,进行基于图像模板方法检测出隔板的边缘信息,用于隔板直线的聚类、过滤等操作。
[0100]
步骤5:依据左视图集检测出来的直线中心点在右视图中寻找与之匹配的中心点,利用双目立体视觉原理对检测出来的隔板进行投影建模,获取隔板之间的距离,得到每一个分区的深度信息。
[0101]
记左视图集上直线群的某条直线中心像素点记为,由于经过了极线矫正,则可以在右视图集同一行中搜索匹配点,记为。取以为中心周围相邻像素点的强度构成一个匹配窗口,匹配的窗口大小按照从小到大的顺序遍历,窗口尺寸记为 window_size(n)。然后从左到右遍历右图像同一行所有的像素点,取同尺寸局部窗口内像素点的强度,通过公式分别求取每个像素在不同匹配窗口下两个矩阵的互相关系数c(n), 具体的公式表示为:其中和分别表示左右矩阵对应像素点的强度,和分
别表示左右矩阵匹配窗口内像素点的平均强度,和分别表示左右矩阵的幅值变化量,对矩阵进行归一化处理;对于右视图集水平极线上的每个像素点,综合不同匹配窗口计算得到的互相关系数c(n),以窗口大小倒数作加权公式表示每个像素点的综合互相关系数cnf,当cnf最大时对应的像素点即为 的像素匹配点,cnf的具体公式表示为:其中 c(n)表示不同匹配窗口的互相关系数,v表示不同匹配窗口的窗口尺寸,n表示使用的匹配窗口数。
[0102]
经过左右视图的匹配后,获得本实例每个隔板在左右视图的中心坐标其中左边为左视图直线中心点坐标,右边为右视图直线中心点坐标。
[0103]
双目立体视觉就是基于视差原理利用两台成像设备,同一时刻采集同一场景两张图像,同一个像素点之间互相匹配,求得相同像素的差异,通过三角形法则求得深度值。
[0104]
通过测距公式如图5所示:p点(x,y,z)是待计算深度的目标,p
l 、p
r 分别为左右两幅图像对应的两点,f
l 、f
r 分别为左右两幅图像对应点到镜头的距离,x
l 、y
l
分别是p在左图像上的位置,x
r 、yr别是p在右图像上的位置,b为两摄像头之间的距离也就是基线,通过基线和两幅图像的视觉差,可求得物体离相机的距离。
[0105]
三维建模的测距公式如下:
求出左视图集检测出来的直线中心点在右视图集上对应的中心点的位置,根据测距公式,可对智能箱柜的横隔板和竖隔板进行建模,将二维图像中心点投射到三维坐标上,获取其深度图像的点的深度距离值,获取隔板之间的间距和每一层的长度,如下表2。
[0106]
表2 智能箱柜隔板三维建模
其中隔板范围的纵向隔板中会有两个值,分别表示隔板左区域和右区域,距离是基于隔板距离的建模公式获得。
[0107]
隔板距离的建模公式:其中隔板包含该隔板中心点的三维坐标,i表示隔板的层数,r表示该隔板为横隔板,c表示隔板为竖隔板,表示该隔板的深度距离,只要深度值在某个隔板的范围内,它就属于该智能箱柜的某一层,横向隔板只需要确认所属的隔板层的中心坐标即可,竖向隔板需要该层对应的横向隔板和竖向隔板共同确认分区,如第五层,距离
确认隔板所属的分层,确认隔板分层所属的分区。
[0108]
根据上述的列表,对智能箱柜进行三维上的建模,为每个智能箱柜保存其建模后的分层和分区结构作为初始值。
[0109]
步骤6:利用目标检测模型对采集的图像进行检测,对手部的运动位置进行获取,追踪用户手部的运动轨迹,结合建模好的智能箱柜,获取物体放置的区域。
[0110]
获取摄像头采集到待检测的图像,通过目标检测模型检测用户的手部信息和物体信息,从而对运动的物体进行检测,以及运动目标在每一帧待检测图像中的运动方向,接着,判定运动目标保持同一运动方向的连续m帧待检测图像,在m的取值达到预设的图像识别阈值时,确认用户手部的运动方向。
[0111]
将能确认用户手部的运动方向对应的图像集名为a,找到双目摄像头另外一个摄像采集图像对应的图像集b,通过检测模型获取图像集a中手部信息的区域四个角点的坐标,根据上述步骤2求得双目摄像头的内参矩阵和外参矩阵,求得另外一个图像集b上对应手部信息的区域四个角点的坐标,基于双目视觉视距计算公式,求得用户手部信息的区域四个角点对应的世界坐标,对四个角点对应的世界坐标进行双线性插值,求得用户手部质心位置h(x,y,z)。
[0112]
手部质心运动轨迹中的手部质心位置h(x,y,z)满足上述实例智能箱柜建模的到的分区设定的深度范围时,则手部质心对应的位置为存取的隔板层数,从而实现物体存取位置的识别。
[0113]
物体存放位置公式:上述公式表示选取与手部质心位置最小的隔板的长度所属的分层或分区作为物体存取位置,li为隔板距离,h(y,z)或h(z)为手部质心位置的三维坐标。
[0114]
例如,如果li1<h(x,y,z)<d21,则手部质心的位置识别结果为第二层。
[0115]
如果min(l
5-h(z)),且min(l
5-h(y)),则手部质心的位置识别结果为第五层,用户将物体存放在智能箱柜的第五层第一个分区。
[0116]
需要说明的是,通过设备得到的图像很多时候都是对本实例需求无用信息,且如果在这阶段进行图像匹配会浪费大量的计算力,达不到实时的效果,所以输入目标检测模型都是双目摄像头某个摄像头采集的图像,另外摄像头采集的图像只作为手部建模的时候用。
[0117]
步骤7:利用建模好的智能箱体结合物体识别模型对物体进行识别和分析。
[0118]
利用建模好的智能箱体的各个分区和已经得到物体所在的位置,调用物体识别模型进行分区识别。在上述检测模型中获取物体,传入物体识别模型,提取的特征会放置在建模好的智能箱体的分区中。
[0119]
通过上述步骤6跟踪用户手部的运动轨迹,从而确认用户的行为动作。
[0120]
当上述动作判断用户的行为是放时,通过识别模型获取物体的特征,和判断出用户放置区域世界坐标,根据用户放置区域世界坐标所属于智能箱柜的某个分层和分区,将
物体的特征放置到智能箱柜的分区所述的区域中。
[0121]
当上述动作判断用户的行为是取时,通过识别模型中获取物体的特征,和判断用户取行为置区域世界坐标,根据用户取置区域世界坐标所属于智能箱体的分区,将物体的特征与所述该物体智能箱体的分区内的特征群进行匹配,判定物体的类别。
[0122]
对每个分区的物体进行分析,聚类,获取用户的行为习惯,通过对每个分区物体的归类,得到该用户是否将某些不能放置在一起的物品都放置到智能箱柜的同一个分层或分区内。
[0123]
对每个分层或分区的区域里面的物体进行类别聚类,如图7所示,类和类之间是树型结构,在同一子树下的物体是属于一个大类的,每个大类下面存在较多的小类,每个大类里面的物体之间是不存在互斥性,这里的互斥性是指可以放置在智能箱柜的同一个分层或分区内,而每个大类与大类之间是互斥性的,也就是每个大类里面的物体都不能和别的大类里面的物体放置在智能箱柜的同一个分层或分区内。
[0124]
如:某个分区中放置了苹果、香蕉、梨、鱼。通过对类别进行聚类,果、香蕉、梨为水果类,而鱼为肉类,这两者是不适合放置在一起的,这时会通过客户端或智能设备提醒用户,更换存储区域。
[0125]
通过对每一个分区进行类别聚类,获取每一个分区的具体用途,从而进一步对智能箱柜分区进行归类。
[0126]
如:第一个分区放置了苹果、香蕉、梨,第二个分区放置牛奶、调味品,第三个分区放置鱼、牛肉,可通过对每个分区类别进行归类得到第一个分区是水果类,第二个分区是饮品、干货类、第三个分区为肉类,可获取第一个分区是保鲜区、第二个分区是冷藏区,第三个分区是冷冻区。
[0127]
本发明的有益效果是:基于霍夫直线对智能箱柜的隔板进行检测,双目视觉原理对智能箱柜进行独立建模,使每个用户的智能箱柜都有自己独特的分区存储环境,对当前存取行为进行三维建模,获得用户存取物体的区域,结合物体的存取区域,物体识别模型对物体进行判别。其过程中减少物体匹配的次数,提高了物体识别的效率,减少了智能箱柜服务器的计算量,能对每个物体的录入过程进行分区。
[0128]
本发明的上述实施例并不是对本发明保护范围的限定,本发明的实施方式不限于此,凡此种种根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,对本发明上述结构做出的其它多种形式的修改、替换或变更,均应落在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献