CN113793349A - 目标检测方法及装置、计算机可读存储介质、电子设备 - Google Patents
目标检测方法及装置、计算机可读存储介质、电子设备 Download PDFInfo
- Publication number
- CN113793349A CN113793349A CN202110007102.6A CN202110007102A CN113793349A CN 113793349 A CN113793349 A CN 113793349A CN 202110007102 A CN202110007102 A CN 202110007102A CN 113793349 A CN113793349 A CN 113793349A
- Authority
- CN
- China
- Prior art keywords
- data
- pixel data
- target
- coordinate
- edge
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- 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
-
- 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/20084—Artificial neural networks [ANN]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Abstract
本公开涉及人工智能技术领域,提供了一种目标检测方法、装置、计算机可读存储介质及电子设备,该方法包括:获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据;将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据;根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。本公开能够通过实例分割网络和边缘提取网络对图像数据进行处理,提高目标检测的准确率。
Description
技术领域
本公开涉及人工智能技术领域,特别涉及一种目标检测方法、目标检测装置、计算机可读存储介质及电子设备。
背景技术
随着人工智能技术的发展,机器人在很多方面已经代替人力。比如,在仓储自动化应用中,机器人可以完成进箱拣选物品。机器人进箱拣选指的是机器人在视觉引导的基础上,根据系统下发的拣选任务,从周转箱内按任务要求把相应数量的商品取出,并放入指定投放箱的技术。
在现有技术中,一般采用基于传统的计算机视觉算法实现目标检测,基于传统的计算机视觉算法的目标检测大多数需要依赖物品的先验信息,根据先验信息进行建模。但物品更新换代频繁,采集物品的先验信息的耗时长,且传统的视觉算法的参数普适性较差,受环境影响较大。
鉴于此,本领域亟需开发一种新的目标检测方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种目标检测方法、目标检测装置、计算机可读存储介质及电子设备,进而至少在一定程度上提高目标检测的准确率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种目标检测方法,所述方法包括:获取含有多个目标对象的RGB数据和点云数据,根据所述RGB数据和所述点云数据生成RGBD数据和深度数据;将所述RGBD数据输入实例分割网络,得到多个包围框和与各所述包围框对应的第一像素数据,以及将所述深度数据输入边缘提取网络,以得到与所述深度数据对应的边缘像素数据;根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,并根据所述目标像素数据确定各所述目标对象的坐标信息。
在本公开的一些示例性实施例中,所述边缘像素数据和所述第一像素数据为二值数据,所述二值数据包括第一数值和第二数值;根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,包括:分别遍历各所述包围框内的所述第一像素数据,获取所述第一像素数据为第一数值的目标坐标点,并在所述边缘像素数据中获取与所述目标坐标点对应的目标边缘数据;判断所述目标边缘数据是否为所述第一数值,并根据判断结果确定所述目标像素数据。
在本公开的一些示例性实施例中,根据所述判断结果确定所述目标像素数据,包括:若所述目标边缘数据为所述第一数值,则将所述目标坐标点对应的所述第一像素数据修正为第二数值,并将修正后的第一像素数据作为所述目标像素数据。
在本公开的一些示例性实施例中,根据所述目标像素数据确定各所述目标对象的坐标信息,包括:对所述目标像素数据进行开操作,以得到与各所述包围框对应的第二像素数据,并根据所述第二像素数据确定各所述目标对象的坐标信息。
在本公开的一些示例性实施例中,根据所述第二像素数据确定各所述目标对象的坐标信息,包括:分别对各所述包围框对应的所述第二像素数据进行连通域分析,以得到与各所述包围框对应的多个连通域;获取各所述包围框对应的最大连通域的坐标信息,根据各所述最大连通域的坐标信息确定各所述目标对象的坐标信息。
在本公开的一些示例性实施例中,获取含有多个目标对象的RGB数据和点云数据,包括:根据二维相机拍摄得到包含所述多个目标对象的所述RGB数据,以及根据三维相机拍摄得到包含所述多个目标对象的所述点云数据,其中,所述二维相机的分辨率大于所述三维相机的分辨率。
在本公开的一些示例性实施例中,所述点云数据包括第一坐标数据、第二坐标数据和第三坐标数据;根据所述RGB数据和所述点云数据生成RGBD数据和深度数据,包括:将所述第三坐标数据配置为所述深度数据;根据变换矩阵对所述RGB数据进行坐标变换,得到与所述第三坐标数据具有相同个数的三通道数据,并根据所述第三坐标数据和所述三通道数据生成所述RGBD数据。
根据本公开的一个方面,提供一种目标检测装置,所述目标检测装置包括:数据获取模块,用于获取含有多个目标对象的RGB数据和点云数据,根据所述RGB数据和所述点云数据生成RGBD数据和深度数据;数据分析模块,用于将所述RGBD数据输入实例分割网络,得到多个包围框和与各所述包围框对应的第一像素数据,以及将所述深度数据输入边缘提取网络,以得到与所述深度数据对应的边缘像素数据;坐标确定模块,用于根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,并根据所述目标像素数据确定各所述目标对象的坐标信息。
根据本公开的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的目标检测方法。
根据本公开的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的目标检测方法。
由上述技术方案可知,本公开示例性实施例中的目标检测方法及装置、计算机可读存储介质、电子设备至少具备以下优点和积极效果:
本公开的目标检测方法首先获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据;接着将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据;最后根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。本公开中的目标检测方法一方面能够利用边缘提取网络得到的边缘像素数据对实例分割网络得到的第一像素数据进行修正,结合了实例分割网络和边缘提取网络的优点,提高了目标检测的准确率;另一方面,该目标检测方法不需要事先获取目标对象信息,避免了因采集目标对象信息导致的耗时过长的问题,提高了目标检测方法的普适性。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本公开的一实施例的目标检测方法的流程示意图;
图2示意性示出了根据本公开的一实施例的生成深度数据和RGBD数据的流程示意图;
图3示意性示出了根据本公开的一实施例的确定各目标对象的坐标信息的流程示意图;
图4示意性示出了根据本公开的一实施例的对第一像素数据进行修正的流程示意图;
图5示意性示出了根据本公开的一实施例的具体应用场景的结构示意图;
图6示意性示出了根据本公开的一实施例的具体实施例的目标检测方法的流程示意图;
图7示意性示出了根据本公开的一实施例的第一像素数据构成的图像的结构示意图;
图8示意性示出了根据本公开的一实施例的边缘像素数据构成的图像的结构示意图;
图9示意性示出了根据本公开的一实施例的第二像素数据构成的图像的结构示意图;
图10示意性示出了根据本公开的一实施例的最小包围框构成的图像的结构示意图;
图11示意性示出了根据本公开的一实施例的目标检测装置的框图;
图12示意性示出了根据本公开的一实施例的电子设备的模块示意图;
图13示意性示出了根据本公开的一实施例的程序产品示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本领域的相关技术中,一方面,采用基于传统计算机视觉算法实现目标检测,比如,尺度不变特征变换(SIFT,Scale-invariant feature transform)、基于形状的特征匹配(shapebase)、点对特征匹配(PPF,Point Pair Feature)、模板匹配等。另一方面,采用基于深度学习实现目标检测,比如,基于包围框预测加mask实例分割的方法,或基于深度学习边缘提取的方法。但是,基于传统计算机视觉算法的目标检测大多数需要依赖目标的先验信息,需要事先对先验信息建模,比如,提取SIFT、shapebase、PPF特征,保存图像模板、记录目标尺寸等,采集目标的先验信息耗时长,且因目标的更新换代频繁,采集工作需要频繁进行,且传统的计算机视觉算法的参数普适性较差,不利用项目在不同环境下的无缝迁移。另外,基于深度学习的方法采用包围框预测加mask实例分割的方式,分割精度低,导致目标检测准确率低。且基于深度学习边缘提取的方法,若在颜色图像上提取边缘,则目标纹理、阴影会带来大量假边缘,不利用进一步分割,若在深度图上提取边缘,其精度则严重依赖点云质量。
基于相关技术中存在的问题,在本公开的一个实施例中提出了一种目标检测方法,图1示出了目标检测方法的流程示意图,如图1所示,该目标检测方法至少包括以下步骤:
步骤S110:获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据;
步骤S120:将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据;
步骤S130:根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。
本公开实施例中的信息推荐方法,一方面能够利用边缘提取网络得到的边缘像素数据对实例分割网络得到的第一像素数据进行修正,结合了实例分割网络和边缘提取网络的优点,提高了目标检测的准确率;另一方面,该目标检测方法不需要事先获取目标对象信息,避免了因采集目标对象信息导致的耗时过长的问题,提高了目标检测方法的普适性。
为了使本公开的技术方案更清晰,接下来对目标检测方法的各步骤进行说明。
在步骤S110中,获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据。
在本公开的示例性实施例中,RGB数据和点云数据是针对该多个目标对象的同一场景进行拍摄所得。RGB数据包括含有多个目标对象的RGB图像的像素值,该RGB数据具体包括该RGB图像上的每个像素点在R(红)、G(绿)、B(蓝)三个通道的像素值。点云数据包括含有多个目标对象的XYZ坐标数据,具体包括点云图像中每个像素点的X轴、Y轴、Z轴三个通道的X轴坐标值、Y轴坐标值和Z轴坐标值。其中,点云数据的坐标原点为三维相机所在的位置,X轴与Y轴所形成的平面为与相机成像平面平行的平面,Z轴坐标值表示目标对象与三维相机之间的距离。
在本公开的示例性实施例中,RGBD数据是包含R(红)、G(绿)、B(蓝)、D(深度值)四通道信息的二维图像数据,深度数据包括D(深度值)的单通道二维图像数据。
在本公开的示例性实施例中,可以通过二维相机拍摄得到包含多个目标对象的RGB图像,以及根据三维相机拍摄得到包含多个目标对象的点云数据,其中,所述二维相机的分辨率大于所述三维相机的分辨率。
另外,该RGB图像也可以通过三维相机拍摄得到,并且,本公开对二维相机和三维相机的拍摄参数不做具体限定。
在本公开的示例性实施例中,点云数据包括第一坐标数据、第二坐标数据和第三坐标数据,第一坐标数据可以表示X轴坐标值,第二坐标数据可以表示Y轴坐标值;或第一坐标数据可以表示Y轴坐标值,第二坐标数据可以表示X轴坐标值;第三坐标数据表示Z轴坐标值。
在本公开的示例性实施例中,可以根据RGB数据和点云数据生成三维相机视角下的RGBD数据和深度数据,也可以生成二维相机视角下的RGBD数据和深度数据,公开对此不做具体限定。
本公开实施例以生成三维相机视角下的RGBD数据和深度数据为例进行说明,图2示出了生成深度数据和RGBD数据的流程示意图,如图2所示,该流程至少可以包括步骤S210至步骤S220中,详细介绍如下:
在步骤S210中,将第三坐标数据配置为深度数据。
在本公开的示例性实施例中,获取点云数据中Z轴通道的Z轴坐标值,将各Z轴坐标值配置为深度数据。
举例而言,将二维相机输出的RGB数据标记为rgb,三维相机输出的点云数据标记为depth(x,y,z),最终生成的三维相机视角下的RGBD数据标记为rgbd,生成的三维相机视角下的深度数据标记为d。
具体地,获取点云数据depth(x,y,z)的z通道的坐标值,伪代码可表示为:d=depth.splitChannels[2](分离点云数据的通道,并抽取z通道)。其中,点云数据分别包括x,y,z三个通道数据,x,y,z三个通道数据的数组下标分别可以是0,1,2。
在步骤S220中,根据变换矩阵对RGB数据进行坐标变换,得到与第三坐标数据具有相同个数的三通道数据,并根据第三坐标数据和三通道数据生成RGBD数据。
在本公开的示例性实施例中,获取二维相机坐标系变换到三维相机坐标系的变换矩阵T,变换矩阵T可以通过相机的外参标定技术获得,本公开对此不做具体限定。其中,变换矩阵由公式(1)所示:
其中,R33表示旋转部分,为3*3矩阵,t31表示平移部分,为3*1矩阵。
另外,通过内参标定技术获取二维相机的内参矩阵M,其中,内参矩阵由公式(2)所示:
其中,fx、fy为二维相机的焦距,cx、cy为图像的中心像素坐标。
在本公开的示例性实施例中,逐一遍历点云数据depth(x,y,z)中的每一个坐标点,首先,获取所有的坐标点,如公式(3)所示:
其中,0≤i<depth.rows,0≤j<depth.cols。
接着,将点云数据中的坐标点变换到二维相机坐标系下,如公式(4)所示:
然后,将点云数据的坐标点投影到二维相机成像平面上,如公式(5)所示:
再然后,计算点云坐标点对应的RGB数据中的像素坐标,如公式(6)所示:
最后,在RGB数据中获取与坐标点(v,u)对应的rgb(v,u),根据rgb(v,u)与d(i,j)配置rgbd(i,j),生成的RGBD数据如公式(7)所示:
rgbd(i,j)={rgb(v,u),d(i,j)}, (7)
其中,rgb(v,u)包含R(红)、G(绿)、B(蓝)三通道数据,d(i,j)包含深度数据。
在步骤S120中,将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据。
在本公开的示例性实施例中,各包围框为与RGB图像的长宽保持平行关系的矩形,实例分割网络输出各包围框的位置坐标信息,具体可以包括各包围框的左上顶点和右下顶点的二维图像坐标信息。
另外,实例分割网络还输出与各包围框对应的第一像素数据,第一像素数据为各包围框内所包含的所有像素点的像素值。其中,该第一像素数据包括二值数据,具体为包括第一数值和第二数值的二值数据集合,第一数值为任一正整数,第二数值为零。比如,第一数值可以是1,还可以是255或其它的正整数,本公开对第一数值的取值不做具体限定。
需要说明的是,假设第一数值为1,第二数值为0,若在包围框内的某像素点对应的第一像素数据为1,则表示该像素点为目标对象所在的像素点;若某像素点的第一像素数据为0,则表示该像素点内不包含目标对象。可以对包围框中的各像素点对应的第一像素数据进行判断,进一步根据第一像素数据计算目标对象所在的较小包围框,可以利用OpenCV的cv::minAreaRect()函数计算较小包围框。
在本公开的示例性实施例中,将RGBD数据输入实例分割网络,通过实例分割网络对RGBD数据进行特征提取,以得到多个包围框和与各包围框对应的第一像素数据。其中,该实例分割网络可以是任一具有包围框预测功能和mask实例分割功能的网络模型,比如,该实例分割网络可以是MaskRCNN网络模型,还可以是DeepMask,MultipathNet,FCIS网络模型等,本公开对实例分割网络的类型不做具体限定。
在本公开的示例性实施例中,边缘像素数据所构成的图像是与深度数据所构成的图像大小一致的二值边缘图像,边缘像素数据为包括第一数值和第二数值的二值数据,该二值边缘图像表征多个目标对象的边缘特征。其中,第一像素数据中的第一数值的取值和边缘像素数据中的第一数值的取值可以相同,也可以不同,本公开对此不做具体限定。
需要说明的是,假设第一数值为1,第二数值为0,若某一像素点对应的边缘像素数据为1,则表示该像素点为目标对象的边缘;若该像素点对应的边缘像素数据为0,则表示该像素点为目标对象的非边缘点,该非边缘点可以是目标对象中除过边缘的其它部分所在的像素点,也可以与目标对象无关的像素点。
在本公开的示例性实施例中,边缘提取网络是基于深度学习边缘提取的方法对深度数据进行特征提取,以得到包括多个目标对象的边缘像素数据。其中,该边缘提取网络可以是任一具有边缘提取功能的神经网络模型,比如,可以是RCF网络模型,还可以是DeepContour、DeepEdge网络模型等,本公开对此不做具体限定。
在步骤S130中,根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。
在本公开的示例性实施例中,根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据。图3示出了确定各目标对象的坐标信息的流程示意图,如图3所示,该流程至少包括步骤S310至步骤S320,详细介绍如下:
在步骤S310中,分别遍历各包围框内的第一像素数据,获取第一像素数据为第一数值的目标坐标点,并在边缘像素数据中获取与目标坐标点对应的目标边缘数据。
在本公开的示例性实施例中,逐一遍历各包围框内的第一像素数据,若该第一像素数据为第一数值时,获取该第一像素数据对应的目标坐标点。并根据该目标坐标点在边缘像素数据中获取与该目标在坐标点对应的目标边缘数据。
在本公开的示例性实施例中,若该包围框内的第一像素数据为第二数值,则维持该第一像素数据不变。
在步骤S320中,判断目标边缘数据是否为第一数值,并根据判断结果确定目标像素数据。
在本公开的示例性实施例中,若目标边缘数据为第一数值,则将目标坐标点对应的第一像素数据修正为第二数值,并将修正后的第一像素数据作为目标像素数据。
在本公开的示例性实施例中,若目标边缘数据为第二数值,则维持该目标坐标点处的第一像素数据不变。
举例而言,图4示出了本公开具体实施例的对第一像素数据进行修正的流程示意图,如图4所示,在步骤S410中,在多个包围框中获取第一包围框和第一包围框对应的第一像素数据;在步骤S420中,遍历该第一包围框对应的第一像素数据,判断该第一像素数据是否为第一数值;在步骤S430中,若该第一像素数据为第二数值,则维持第一像素数据不变;在步骤S440中,若第一像素数据为第一数值,则获取该第一像素数值对应的目标坐标点,并获取边缘像素数据在目标坐标点处的目标边缘数据;在步骤S450中,判断该目标边缘数据是否为第一数值;在步骤S460中,若该目标边缘数据为第二数值,则维持第一像素数据不变;在步骤S470中;若该目标边缘数据为第一数值,则将该目标坐标点对应的第一像素数据修正为第二数值,得到修正后的目标像素数据;在步骤S480中,取出下一个包围框和对应的第一像素数据,重复执行步骤S420至步骤S470,直至对所有包围框均进行上述处理。
也就是说,在同一坐标点处,若第一像素数据和边缘像素数据均不为零时,则将该坐标点的第一像素数据修正为零。比如,若在坐标点为(x0,y0)处,第一像素数据为1,边缘像素数据为255,则将该第一像素数据修正为0,以得到修正后的第一像素数据。
其中,根据修正后的第一像素数据和未修正的第一像素数据生成目标像素数据,生成的目标像素数据是与第一像素数据大小相同的二值数据。
在本公开的示例性实施例中,根据目标像素数据确定各目标对象的坐标信息,包括:获取目标像素数据中为第一数值的第一坐标点,第一坐标点的坐标位置即为多个目标对象的坐标信息。
在本公开的示例性实施例中,对目标像素数据进行开操作,以得到与各包围框对应的第二像素数据,并根据第二像素数据确定各目标对象的坐标信息。
其中,开操作是图像形态学处理技术中的先腐蚀后膨胀操作,根据预设检测框对各包围框中的目标像素数据进行开操作,其中,在对各包围框进行开操作的过程中,预设检测框的像素大小可以根据包围框的像素大小进行动态变化。比如,若第一包围框的像素大小为50*50,则采用像素大小为5*5的预设检测框对第一包围框中的目标像素数据进行开操作;若第二包围框的像素大小为30*30,则采用像素大小为3*3的预设检测框对第二包围框中的目标像素数据进行开操作,本公开对预设检测框的像素大小不做具体限定。
具体地,分别对各包围框对应的第二像素数据进行连通域分析,以得到与各包围框对应的多个连通域;获取各包围框对应的最大连通域的坐标信息,根据各最大连通域的坐标信息确定各目标对象的坐标信息。
其中,对各包围框对应的第二像素数据中像素值为第一数值的第二像素数据进行连通域分析,获取与各包围框对应的多个连通域,分别保留各包围框对应的最大连通域。
另外,将其余连通域对应的第二像素数值修正为0。
在本公开的示例性实施例中,获取各包围框对应的最大连通域的像素点坐标,利用OpenCV的cv::minAreaRect()函数可计算出多个目标对象的最小包围框,各目标对象的坐标信息即为该最小包围框对应的坐标位置。
在本公开的一具体实施例中,该目标检测方法应用于机器人在周转箱内对物品进行拣选的场景中,图5示出了本公开的具体应用场景的结构示意图,如图5所示,在该物品拣选场景中包括拣选工位501、物品周转箱502,物品周转箱502中放置有多个物品503、配置于物品周转箱502上方的二维相机504和三维相机505、机器人506。
图6示出了具体实施例的目标检测方法的流程示意图,如图6所示,该流程至少包括步骤S610至步骤S670,具体介绍如下:
在步骤S610中,启动二维相机504对物品周转箱502中的多个物品503进行拍照,得到RGB图像数据,以及启动三维相机505对多个物品503进行拍照,得到点云数据(xyz坐标数据);
在步骤S620中,利用二维相机504与三维相机505的坐标变换矩阵和二维相机504的内参矩阵,根据RGB图像数据和点云数据生成三维相机504视角下的RGBD数据与深度数据;
在步骤S630中,将RGBD数据输入实例分割网络,以得到多个包围框和与包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到边缘像素数据;其中,由该实例分割网络输出的第一像素数据构成的图像如图7所示,由该边缘提取网络输出的边缘像素数据构成的图像如图8所示。
在步骤S640中,根据边缘像素数据分别对各包围框对应的第一像素数据进行修正,以得到各包围框对应的目标像素数据;
在步骤S650中,根据预设检测框分别对各包围框对应的目标像素数据进行开操作,以得到各包围框对应的第二像素数据;其中,由该第二像素数据构成的图像如图9所示,各包围框在物品503的边缘处产生了断裂。
在步骤S660中,对各包围框对应的第二像素数据进行连通域分析,获取各包围框对应的最大连通域,并根据最大连通域的像素点坐标确定最小包围框,最小包围框的坐标位置即为各物品503的坐标信息;其中,由最小包围框构成的图像如图10所示。
在步骤S670中,将各物品503的坐标信息发送至机器人506,以使机器人506根据该坐标信息进行物品503拣选。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
以下介绍本公开的装置实施例,可以用于执行本公开上述的目标检测方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的目标检测方法的实施例。
图11示意性示出了根据本公开的一个实施例的目标检测装置的框图。
参照图11所示,根据本公开的一个实施例的目标检测装置1100,目标检测装置1100包括:数据获取模块1101、数据分析模块1102和坐标确定模块1103。具体地:
数据获取模块1101,用于获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据;
数据分析模块1102,用于将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据;
坐标确定模块1103,用于根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。
在本公开的示例性实施例中,坐标确定模块1103还可以用于预设检测框边缘像素数据和预设检测框第一像素数据为二值数据,预设检测框二值数据包括第一数值和第二数值;根据预设检测框边缘像素数据对预设检测框第一像素数据进行数据修正,以得到与各预设检测框包围框对应的目标像素数据,包括:分别遍历各预设检测框包围框内的预设检测框第一像素数据,获取预设检测框第一像素数据为第一数值的目标坐标点,并在预设检测框边缘像素数据中获取与预设检测框目标坐标点对应的目标边缘数据;判断预设检测框目标边缘数据是否为预设检测框第一数值,并根据判断结果确定预设检测框目标像素数据。
在本公开的示例性实施例中,坐标确定模块1103还可以用于根据预设检测框判断结果确定预设检测框目标像素数据,包括:若预设检测框目标边缘数据为预设检测框第一数值,则将预设检测框目标坐标点对应的预设检测框第一像素数据修正为第二数值,并将修正后的第一像素数据作为预设检测框目标像素数据。
在本公开的示例性实施例中,坐标确定模块1103还可以用于根据预设检测框目标像素数据确定各预设检测框目标对象的坐标信息,包括:对预设检测框目标像素数据进行开操作,以得到与各预设检测框包围框对应的第二像素数据,并根据预设检测框第二像素数据确定各预设检测框目标对象的坐标信息。
在本公开的示例性实施例中,坐标确定模块1103还可以用于根据预设检测框第二像素数据确定各预设检测框目标对象的坐标信息,包括:分别对各预设检测框包围框对应的预设检测框第二像素数据进行连通域分析,以得到与各预设检测框包围框对应的多个连通域;获取各预设检测框包围框对应的最大连通域的坐标信息,根据各预设检测框最大连通域的坐标信息确定各预设检测框目标对象的坐标信息。
在本公开的示例性实施例中,数据获取模块1101还可以用于获取含有多个目标对象的RGB数据和点云数据,包括:根据二维相机拍摄得到包含预设检测框多个目标对象的预设检测框RGB数据,以及根据预设检测框三维相机拍摄得到包含预设检测框多个目标对象的预设检测框点云数据,其中,预设检测框二维相机的分辨率大于预设检测框三维相机的分辨率。
在本公开的示例性实施例中,数据获取模块1101还可以用于预设检测框点云数据包括第一坐标数据、第二坐标数据和第三坐标数据;根据预设检测框RGB数据和预设检测框点云数据生成RGBD数据和深度数据,包括:将预设检测框第三坐标数据配置为预设检测框深度数据;根据变换矩阵对预设检测框RGB数据进行坐标变换,得到与预设检测框第三坐标数据具有相同个数的三通道数据,并根据预设检测框第三坐标数据和预设检测框三通道数据生成预设检测框RGBD数据。
上述各目标检测装置的具体细节已经在对应的目标检测方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图12来描述根据本发明的这种实施方式的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230、显示单元1240。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1210可以执行如图1中所示的步骤S110,获取含有多个目标对象的RGB数据和点云数据,根据RGB数据和点云数据生成RGBD数据和深度数据;步骤S120,将RGBD数据输入实例分割网络,得到多个包围框和与各包围框对应的第一像素数据,以及将深度数据输入边缘提取网络,以得到与深度数据对应的边缘像素数据;步骤S130,根据边缘像素数据对第一像素数据进行数据修正,以得到与各包围框对应的目标像素数据,并根据目标像素数据确定各目标对象的坐标信息。
存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)12201和/或高速缓存存储单元12202,还可以进一步包括只读存储单元(ROM)12203。
存储单元1220还可以包括具有一组(至少一个)程序模块12205的程序/实用工具12204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1200也可以与一个或多个外部设备1400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得观众能与该电子设备1200交互的设备通信,和/或与使得该电子设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1250进行。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图13所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1300,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
1.一种目标检测方法,其特征在于,包括:
获取含有多个目标对象的RGB数据和点云数据,根据所述RGB数据和所述点云数据生成RGBD数据和深度数据;
将所述RGBD数据输入实例分割网络,得到多个包围框和与各所述包围框对应的第一像素数据,以及将所述深度数据输入边缘提取网络,以得到与所述深度数据对应的边缘像素数据;
根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,并根据所述目标像素数据确定各所述目标对象的坐标信息。
2.根据权利要求1所述的目标检测方法,其特征在于,所述边缘像素数据和所述第一像素数据为二值数据,所述二值数据包括第一数值和第二数值;
根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,包括:
分别遍历各所述包围框内的所述第一像素数据,获取所述第一像素数据为第一数值的目标坐标点,并在所述边缘像素数据中获取与所述目标坐标点对应的目标边缘数据;
判断所述目标边缘数据是否为所述第一数值,并根据判断结果确定所述目标像素数据。
3.根据权利要求2所述的目标检测方法,其特征在于,根据所述判断结果确定所述目标像素数据,包括:
若所述目标边缘数据为所述第一数值,则将所述目标坐标点对应的所述第一像素数据修正为第二数值,并将修正后的第一像素数据作为所述目标像素数据。
4.根据权利要求1所述的目标检测方法,其特征在于,根据所述目标像素数据确定各所述目标对象的坐标信息,包括:
对所述目标像素数据进行开操作,以得到与各所述包围框对应的第二像素数据,并根据所述第二像素数据确定各所述目标对象的坐标信息。
5.根据权利要求4所述的目标检测方法,其特征在于,根据所述第二像素数据确定各所述目标对象的坐标信息,包括:
分别对各所述包围框对应的所述第二像素数据进行连通域分析,以得到与各所述包围框对应的多个连通域;
获取各所述包围框对应的最大连通域的坐标信息,根据各所述最大连通域的坐标信息确定各所述目标对象的坐标信息。
6.根据权利要求1所述的目标检测方法,其特征在于,获取含有多个目标对象的RGB数据和点云数据,包括:
根据二维相机拍摄得到包含所述多个目标对象的所述RGB数据,以及根据三维相机拍摄得到包含所述多个目标对象的所述点云数据,其中,所述二维相机的分辨率大于所述三维相机的分辨率。
7.根据权利要求6所述的目标检测方法,其特征在于,所述点云数据包括第一坐标数据、第二坐标数据和第三坐标数据;
根据所述RGB数据和所述点云数据生成RGBD数据和深度数据,包括:
将所述第三坐标数据配置为所述深度数据;
根据变换矩阵对所述RGB数据进行坐标变换,得到与所述第三坐标数据具有相同个数的三通道数据,并根据所述第三坐标数据和所述三通道数据生成所述RGBD数据。
8.一种目标检测装置,其特征在于,包括:
数据获取模块,用于获取含有多个目标对象的RGB数据和点云数据,根据所述RGB数据和所述点云数据生成RGBD数据和深度数据;
数据分析模块,用于将所述RGBD数据输入实例分割网络,得到多个包围框和与各所述包围框对应的第一像素数据,以及将所述深度数据输入边缘提取网络,以得到与所述深度数据对应的边缘像素数据;
坐标确定模块,用于根据所述边缘像素数据对所述第一像素数据进行数据修正,以得到与各所述包围框对应的目标像素数据,并根据所述目标像素数据确定各所述目标对象的坐标信息。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的目标检测方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的目标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110007102.6A CN113793349A (zh) | 2021-01-05 | 2021-01-05 | 目标检测方法及装置、计算机可读存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110007102.6A CN113793349A (zh) | 2021-01-05 | 2021-01-05 | 目标检测方法及装置、计算机可读存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113793349A true CN113793349A (zh) | 2021-12-14 |
Family
ID=78876799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110007102.6A Pending CN113793349A (zh) | 2021-01-05 | 2021-01-05 | 目标检测方法及装置、计算机可读存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113793349A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114170423A (zh) * | 2022-02-14 | 2022-03-11 | 成都数之联科技股份有限公司 | 一种图像文档版面识别方法、装置及其系统 |
-
2021
- 2021-01-05 CN CN202110007102.6A patent/CN113793349A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114170423A (zh) * | 2022-02-14 | 2022-03-11 | 成都数之联科技股份有限公司 | 一种图像文档版面识别方法、装置及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
US9727775B2 (en) | Method and system of curved object recognition using image matching for image processing | |
CN108256479B (zh) | 人脸跟踪方法和装置 | |
WO2018121737A1 (zh) | 关键点预测、网络训练及图像处理方法和装置、电子设备 | |
US11145080B2 (en) | Method and apparatus for three-dimensional object pose estimation, device and storage medium | |
CN112581629A (zh) | 增强现实显示方法、装置、电子设备及存储介质 | |
US9639943B1 (en) | Scanning of a handheld object for 3-dimensional reconstruction | |
CN114550177B (zh) | 图像处理的方法、文本识别方法及装置 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
WO2016068869A1 (en) | Three dimensional object recognition | |
CN107895377B (zh) | 一种前景目标提取方法、装置、设备及存储介质 | |
CN108229494B (zh) | 网络训练方法、处理方法、装置、存储介质和电子设备 | |
CN111382637A (zh) | 行人检测跟踪方法、装置、终端设备及介质 | |
CN113689508B (zh) | 点云标注方法、装置、存储介质及电子设备 | |
CN114627244A (zh) | 三维重建方法及装置、电子设备、计算机可读介质 | |
CN113793370B (zh) | 三维点云配准方法、装置、电子设备及可读介质 | |
US11361548B2 (en) | Method and system for multi instance visual tracking based on observer motion modelling | |
CN113793349A (zh) | 目标检测方法及装置、计算机可读存储介质、电子设备 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
CN113762173B (zh) | 人脸光流估计及光流值预测模型的训练方法和装置 | |
WO2019165626A1 (en) | Methods and apparatus to match images using semantic features | |
US11769263B2 (en) | Three-dimensional scan registration with deformable models | |
CN114612976A (zh) | 关键点检测方法及装置、计算机可读介质和电子设备 | |
JP6996200B2 (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
CN111260544A (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 |