CN112614183A - 托盘位姿检测方法、装置、设备和存储介质 - Google Patents
托盘位姿检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112614183A CN112614183A CN202011561213.3A CN202011561213A CN112614183A CN 112614183 A CN112614183 A CN 112614183A CN 202011561213 A CN202011561213 A CN 202011561213A CN 112614183 A CN112614183 A CN 112614183A
- Authority
- CN
- China
- Prior art keywords
- tray
- coordinates
- target
- determining
- coordinate
- 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 128
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000013528 artificial neural network Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 26
- 238000001914 filtration Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 14
- 238000007689 inspection Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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]
-
- 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/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种托盘位姿检测方法、装置、设备和存储介质。其中方法包括:获取至少一个托盘的深度图像和彩色图像;将彩色图像输入托盘检测模型,以确定托盘的至少一组目标角点坐标,托盘检测模型是基于预设神经网络训练得到的;根据至少一组目标角点坐标,在深度图像中确定托盘的托盘区域;根据托盘的托盘区域中的数据,确定托盘的位姿信息。本发明实施例能够实现对托盘位姿检测的目的。
Description
技术领域
本发明实施例涉及定位技术领域,尤其涉及一种托盘位姿检测方法、装置、设备和存储介质。
背景技术
随着物流行业的快速发展,托盘已广泛应用于生产、运输、仓储和流通等领域。托盘作为物流运作中重要的装卸、存储和运输设备,与无人叉车配套使用在现代物流中发挥着巨大的作用,因此对装载有货物的托盘进行位姿检测是无人叉车实施物流运作中不可或缺的一环。因此,如何对托盘的位姿进行检测,成为目前亟需解决的问题。
发明内容
本发明实施例提供一种托盘位姿检测方法、装置、设备和存储介质,能够实现对托盘位姿检测的目的。
第一方面,本发明实施例提供了一种托盘位姿检测方法,包括:
获取至少一个托盘的深度图像和彩色图像;
将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
第二方面,本发明实施例还提供了一种托盘位姿检测装置,包括:
图像获取模块,用于获取至少一个托盘的深度图像和彩色图像;
角点确定模块,用于将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
区域确定模块,用于根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
位姿确定模块,用于根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
第三方面,本发明实施例还提供了一种托盘位姿检测设备,包括:
图像采集设备,用于采集至少一个托盘的深度图像和彩色图像;
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的托盘位姿检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例中任一所述的托盘位姿检测方法。
本发明实施例公开的技术方案,具有如下有益效果:
通过获取至少一个托盘的深度图像和彩色图像,以将彩色图像输入托盘检测模型,确定托盘的至少一组目标角点坐标,并根据至少一组目标角点坐标在深度图像中确定托盘的托盘区域,然后根据托盘的托盘区域中的数据确定托盘的位姿信息。本发明实施例通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。
附图说明
图1是本发明实施例一提供的一种托盘位姿检测方法的流程示意图;
图2是本发明实施例二提供的一种托盘位姿检测方法的流程示意图;
图3是本发明实施例三提供的一种托盘位姿检测方法的流程示意图;
图4A是本发明实施例三提供的基于托盘的部署方式建立采集设备坐标系的示意图;
图4B是本发明实施例三提供的确定一个托盘的托盘区域的示意图;
图4C是本发明实施例三提供的确定多个托盘的托盘区域的示意图;
图4D是本发明实施例三提供的在X-Y平面内投影像素点,并对所有像素点对应的三维坐标点进行线性拟合得到拟合直线的示意图;
图5是本发明实施例四提供的一种生成托盘检测模型的流程示意图;
图6是本发明实施例四提供的另一种生成托盘检测模型的流程示意图;
图7是本发明实施例四提供的再一种生成托盘检测模型的流程示意图;
图8A是本发明实施例四提供的包括至少一个托盘的若干个彩色图像的数据集的示意图;
图8B是本发明实施例四提供的对数据集中至少一个托盘的若干个彩色图像进行增强处理后得到增强数据集的示意图;
图9是本发明实施例五提供的一种托盘位姿检测装置的结构示意图;
图10是本发明实施例六提供的一种托盘位姿检测设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
下面结合附图对本发明实施例提供的托盘位姿检测方法、装置、设备和存储介质进行详细说明。
实施例一
图1是本发明实施例一提供的一种托盘位姿检测方法的流程示意图,本实施例适用于检测托盘位姿的场景,该方法可由托盘位姿检测装置来执行,该装置可由硬件和/或软件组成,并可集成于托盘位姿检测设备中,该托盘位姿检测设备可以是任意能够自主移动并执行托盘搬运等功能的设备,例如无人叉车或搬运机器人等。该方法具体包括如下:
S101,获取至少一个托盘的深度图像和彩色图像。
本发明实施例中,托盘位姿检测设备上设置有用于采集深度图像和彩色图像的图像采集设备。该图像采集设备可选为深度(Time Of Flight,简称TOF)相机或者立体相机。也就是说,托盘位姿检测设备上处理器可通过控制上述图像采集设备获取至少一个托盘的深度图像和彩色图像。其中,获取的深度图像和彩色图像是指同一时刻采集的两种不同类型的图像,即图像采集设备采集预设区域的图像数据,所述预设区域包括至少一个托盘,一帧图像数据对应一个深度图像和一个彩色图像。
具体的,可当托盘位姿检测设备移动到放置托盘的区域时,可控制深度相机或立体相机获取该区域中至少一个托盘的深度图像和彩色图像。其中获取的深度图像和彩色图像中具有至少一个托盘。
进一步的,为了提高图像获取效率,本实施例还可在检测到托盘且托盘处于深度图像或立体相机的视场角范围内时,才控制图像采集设备开启拍摄操作,以获取至少一个托盘的深度图像和彩色图像。
S102,将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的。
其中,目标角点坐标是指用于检测托盘位姿的顶点坐标。本实施例中一组目标角点坐标优选为位于托盘的对角位置的一组顶点坐标。例如,一组目标角点坐标可为托盘的左上角点坐标和右下角点坐标,或者还可为托盘的左下角点坐标和右上角点坐标,此处对其不做具体限制。
可以理解的是,当至少一组目标角点坐标为一组时,则该组目标角点坐标可为托盘的左上角点坐标和右下角点坐标,或者还可为托盘的左下角点坐标和右上角点坐标;当至少一组目标角点坐标为多组(例如两组)时,则第一组目标角点坐标可为托盘的左上角点坐标和右下角点坐标,第二组目标角点坐标可为托盘的左下角点坐标和右上角点坐标;或者,第一组目标角点坐标为托盘的左下角点坐标和右上角点坐标,第二组目标角点坐标可为托盘的左上角点坐标和右下角点坐标等。
可选的,获取到至少一个托盘的彩色图像和深度图像之后,将彩色图像输入托盘检测模型,以通过该托盘检测模型对该彩色图像进行处理,以确定每个托盘的至少一组目标角点坐标。
需要说明的是,对于本实施例中基于预设神经网络训练托盘检测模型的生成过程,将在下面的示例中进行详细说明,此处对其不作过多赘述。
S103,根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域。
可选的,当确定出每个托盘的至少一组目标角点坐标之后,可根据每个托盘对应的至少一组目标角点坐标,分别在获取的对应深度图像中确定每个托盘对应的矩形区域,并将每个托盘对应的矩形区域确定为该托盘的托盘区域。
需要说明的是,当每个托盘的至少一组目标角点坐标的数量为一组,则根据该组目标角点坐标可在深度图像中确定一个矩形区域;当每个托盘的至少一组目标角点坐标的数量为两组,则根据两组目标角点坐标可在深度图像中确定两个区域。由于一个托盘的四个角点是唯一的,那么基于两组目标角点坐标分别确定的一区域应属于为同一区域。即通过至少一组目标角点坐标能够固定且唯一的确定出托盘的托盘区域。
例如,如果托盘Q的至少一组目标角点坐标为左上角点坐标Z1(x1,y1)和右下角点坐标Z2(x2,y2),则首先在深度图像中,分别确定出与Z1(x1,y1)和Z2(x2,y2)对应的目标点Z1'(x1,y1)和Z2'(x2,y2),以根据Z1'(x1,y1)和Z2'(x2,y2)计算出Δx=|x1-x2|和Δy=|y1-y2|,进而利用Z1'(x1,y1)、Z2'(x2,y2)、Δx=|x1-x2|和Δy=|y1-y2|,计算出该深度图像中托盘Q的右上角点坐标Z3'(x3,y3)和左下角点坐标Z4'(x4,y4)。从而根据Z1'(x1,y1)、Z2'(x2,y2)、Z3'(x3,y3)和Z4'(x4,y4)确定出托盘Q的托盘区域。其中,x3=x1+Δx=x2,y3=y2+Δy=y1,x4=x2-Δx=x1和y4=y1-Δy=y2。
S104,根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
其中,位姿信息包括位置信息和姿态信息。
值得注意的是,由于托盘位姿检测设备的工作特点,使得托盘的姿态有且仅有一个自由度,即为偏航角。也就是说,本发明实施例中确定托盘的姿态信息,即为确定托盘的偏航角。
具体的,本实施例可基于每个托盘的托盘区域中的数据,确定每个托盘的位置信息和姿态信息。进而,基于每个托盘的位置信息和姿态信息,确定出每个托盘的位姿信息。
具体实现时,可基于每个托盘的托盘区域中的数据,分别确定对应托盘的位置信息和姿态信息。其中,确定托盘的位置信息时,可通过从托盘的托盘区域中的数据中获取互为对角的两个顶点坐标,然后根据上述两个顶点坐标各自对应的三维坐标计算每个托盘的托盘中心点坐标,将该托盘中心点坐标确定为托盘的位置信息。
确定托盘的位姿信息时,可通过从每个托盘的托盘区域中的数据中选取多个像素点,并将选取的多个像素点投影到托盘的姿态检测面中,并对投影到姿态检测面中的所有像素点对应的三维坐标进行线性拟合得到拟合结果,然后基于拟合结果确定托盘的姿态信息。其中,对像素点对应的三维坐标进行线性拟合时可采用不同的拟合算法实现,例如可选的拟合算法为RANSAC算法等,此处对其不做具体限制。
本发明实施例提供的技术方案,通过获取至少一个托盘的深度图像和彩色图像,以将彩色图像输入托盘检测模型,确定托盘的至少一组目标角点坐标,并根据至少一组目标角点坐标在深度图像中确定托盘的托盘区域,然后根据托盘的托盘区域中的数据确定托盘的位姿信息。本发明实施例通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。
实施例二
通过上述介绍可知,本发明实施例通过基于获取的托盘深度图像和托盘彩色图像,确定托盘的位姿信息。下面结合图2,在上述实施例的基础上,对本发明实施例提供的托盘位姿检测方法进行进一步优化。如图2所示,该方法具体包括:
S201,获取至少一个托盘的深度图像和彩色图像,并对所述深度图像和所述彩色图像进行对齐处理。
通常,通过深度相机或立体相机获取到至少一个托盘的深度图像和彩色图像后,该深度图像和彩色图像之间可能并未配准。如果使用未配准的深度图像和彩色图像确定托盘的位姿信息,很容易导致确定的位姿不准确、存在误差,进而影响后续搬运托盘的准确性等效果。
为此,本实施例在获取到至少一个托盘的深度图像和彩色图像之后,可将深度图像和彩色图像进行配准。具体实现时可通过调用图像配准程序接口(ApplicationProgramming Interface,简称API),以基于该程序接口对应的图像配准程序对深度图像和彩色图像进行配准,即对深度图像和彩色图像进行对齐处理,使得处理后的深度图像和彩色图像中像素点之间具有一对一的对应关系。
需要说明的是,本实施例获取到至少一个托盘的深度图像中可能存在空洞以及边缘毛刺等噪声,为此本实施例在对深度图像和彩色图像进行对齐处理之前,可选的还可对深度图像进行去噪处理。示例性的,可基于时间和/或空间滤波等方式对深度图像进行平滑处理,以减少空洞以及边缘毛刺等噪声带来的不利影响。
S202,将处理后的所述彩色图像输入所述托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的。
本实施例中,一组目标角点坐标可选的包括第一角点坐标和第二角点坐标。其中第一角点坐标和第二角点坐标优选为托盘的一组互为对角的角点坐标。例如,托盘的左上角点坐标和右下角点坐标,或者还可为托盘的左下角点坐标和右上角点坐标,此处对其不做具体限制。
可选的,通过将对齐处理后的彩色图像输入托盘检测模型,以通过该托盘检测模型可对输入的彩色图像进行处理,确定出每个托盘的至少一组目标角点坐标。
示例性的,本实施例中通过托盘检测模型确定托盘的至少一组目标角点坐标,可表示为Qi[(T0,B0,C0);(T1,B1,C1);…;(Tj,Bj,Cj)]。其中i表示第i个托盘,i为大于或等于1的整数;Tj表示第i个托盘上第j组中第一角点坐标;Bj表示第i个托盘上第j组中第二角点坐标;Cj表示第i个托盘上第j组中第一角点坐标和第二角点坐标的自信度。
S203,对所述托盘的至少一组目标角点坐标进行过滤处理。
具体的,本实施例可采用不同方式,对托盘的至少一组目标角点坐标进行过滤处理。示例性的,可根据自信度阈值和/或托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理,以滤除错误或冗余的角点坐标。其中,自信度阈值和托盘宽高比例阈值,可根据经验进行灵活设置。
具体实现时,可从配置文件中获取预先配置的自信度阈值和/或托盘宽高比例阈值,并根据自信度阈值和/或托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理,以滤除错误或冗余的角点坐标。其中,根据自信度阈值和/或托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理可包括如下几种情况:
情况一,根据自信度阈值,对托盘的至少一组目标角点坐标进行过滤处理,以滤除错误或冗余的角点坐标。
具体的,可将每个托盘的每组目标角点坐标中的自信度,分别与自信度阈值进行比较,以确定出每个托盘中哪些组目标角点坐标中的自信度低于该自信度阈值。然后,将低于该自信度阈值的所有组目标角点坐标过滤掉。
例如,假设自信度阈值为C,托盘Q有四组目标角点坐标,分别为M0(T0,B0,C0)、M1(T1,B1,C1)、M2(T2,B2,C2)和M3(T3,B3,C3),其中T0、T1、T2和T3为每组目标角点坐标中的第一角点坐标,B0、B1、B2和B3为每组目标角点坐标中的第二角点坐标,C0、C1、C2和C3为每组目标角点坐标的自信度。那么,通过将四组目标角点坐标中的自信度:C0、C1、C2和C3,分别与C进行比较,如果C1和C2均低于C,则将第二组目标角点坐标:M1(T1,B1,C1)和第三组目标角点坐标:M2(T2,B2,C2)这两组滤除掉。
情况二,根据托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理,以滤除错误或冗余的角点坐标。
具体的,可根据每个托盘的每组目标角点坐标中的第一角点坐标和第二角点坐标,计算每组目标角点坐标对应的宽高比例。然后,将每组目标角点坐标对应的宽高比例,分别与托盘宽高比例阈值进行比较,以确定出每个托盘中哪些组目标角点坐标中的宽高比例未处于该托盘宽高比例阈值内。然后,将未处于该托盘宽高比例阈值内的所有组目标角点坐标过滤掉。
情况三,根据自信度阈值和托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理,以滤除错误或冗余的角点坐标。
具体的,基于自信度阈值对每个托盘的至少一组目标角点坐标进行初步过滤之后,可能还存在错误或冗余的角点坐标。那么本实施例可基于托盘宽高比例阈值,对初步过滤后的至少一组目标角点坐标进行二次过滤,以筛选出每个托盘的有效组目标角点坐标。也就是说,本实施例可首先基于自信度阈值对每个托盘的至少一组目标角点坐标进行初步过滤,然后基于托盘宽高比例阈值,对初步过滤后的每个托盘的至少一组目标角点坐标进行二次过滤,以筛选出每个托盘的有效组目标角点坐标。
具体实现时,可根据每个托盘初步过滤后的至少一组目标角点坐标中每一组目标角点坐标的第一角点坐标和第二角点坐标计算一宽高比例,然后,将宽高比例与托盘宽高比例阈值进行比较,确定每个托盘中初步过滤后的至少一组目标角点坐标中哪些组目标角点坐标的宽高比例未处于托盘宽高比例阈值对应的数值范围内,并将未处于托盘宽高比例阈值对应数值范围内的所有组目标角点坐标进行过滤。从而得到每个托盘的有效组目标角点坐标。
继续以上述情况一中的示例进行说明,假设托盘宽高比例阈值为P,托盘Q初步过滤后的至少一组目标角点坐标为M0(T0,B0,C0)和M3(T3,B3,C3),那么通过基于M0中T0(XT0,YT0)和B0(XB0,YB0),以及M3中T3(XT3,YT3)和B3(XB3,YB3),分别计算M0对应的宽高比例为和M1对应的宽高比例为然后,将mTB0和mTB3分别与P进行比较,如果mTB0未处于托盘宽高比例阈值P对应的数值范围内,则将M0(T0,B0,C0)这组目标角点坐标滤除掉,得到有效组目标角点坐标为M3(T3,B3,C3)。
又例如,假设托盘宽高比例阈值为P,托盘Q初步过滤后的至少一组目标角点坐标为M0(T0,B0,C0)和M3(T3,B3,C3),那么通过基于M0中T0(XT0,YT0)和B0(XB0,YB0),以及M3中T3(XT3,YT3)和B3(XB3,YB3),分别计算M0对应的宽高比例为和M1对应的宽高比例为然后,将mTB0和mTB3分别与P进行比较,如果mTB0和mTB1均未处于托盘宽高比例阈值P对应的数值范围内,则将M0(T0,B0,C0)和M3(T3,B3,C3)这两组目标角点坐标滤除掉,得到有效组目标角点坐标为空。即无法确定该托盘Q的位姿信息。基于该示例,当确定任意托盘的有效组目标角点坐标为空时,本实施例可通过控制图像采集设备采集该托盘的新深度图像和新彩色图像,并基于新深度图像和新彩色图像检测托盘的位姿信息。
在一些实施例中,还可以根据托盘宽高参考值对托盘的至少一组目标角点坐标进行过滤处理。具体的,当一组目标角点坐标的宽度差值在托盘宽高参考值中的宽度参考值的预设范围内,且一组目标角点坐标的高度差值在托盘宽高参考值中的高度参考值的预设范围内,则该组目标角点坐标有效,反之无效。
需要说明的是,本实施例每组目标角点坐标中的自信度,是为了便于第一次过滤掉错误或冗余的角点坐标,那么经过第一次过滤操作之后,可忽略通过第一次过滤的至少一组目标角点坐标中自信度,即经过第一次过滤的每组角点坐标可表示为Mk(Tk,Bk)。其中,k表示第k组目标角点坐标,k为大于1的整数。
在本发明实施例中,优选根据自信度过滤阈值和托盘宽高比例阈值,对托盘的至少一组目标角点坐标进行过滤处理,以达到尽可能多的将错误或冗余的角点坐标,减少后续确定托盘的位姿信息的干扰因素。
S204,根据过滤处理后的至少一组目标角点坐标,在处理后的深度图像中确定托盘的托盘区域。
具体的,通过对每个托盘的至少一组目标角点坐标进行过滤处理,以得到每个托盘的有效组目标角点坐标后,本实施例可根据每个托盘的有效组目标角点坐标,在经过对齐处理的深度图像中确定每个托盘对应的矩形区域,将每个托盘对应的矩形区域确定为每个托盘的托盘区域。
S205,根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
本发明实施例提供的技术方案,通过获取至少一个托盘的深度图像和彩色图像,以将彩色图像输入托盘检测模型,确定托盘的至少一组目标角点坐标,并根据至少一组目标角点坐标在深度图像中确定托盘的托盘区域,然后根据托盘的托盘区域中的数据确定托盘的位姿信息。本发明实施例通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。此外,通过对获取的深度图像和彩色图像进行对齐处理,以及对托盘的至少一组目标角点坐标进行过滤处理,能够进一步提高对托盘的位姿检测准确性,从而为后续搬运托盘提供有利条件。
实施例三
图3是本发明实施例三提供的一种托盘位姿检测方法的流程示意图。在上述实施例的基础上,对本实施例提供的托盘位姿检测方法进行进一步解释说明。如图3所示,该方法具体包括:
S301,获取至少一个托盘的深度图像和彩色图像,并对所述深度图像和所述彩色图像进行对齐处理。
S302,将处理后的所述彩色图像输入所述托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的。
其中,通过将处理后的彩色图像输入托盘检测模型,以确定托盘的至少一组目标角点坐标。
S303,确定处理后的所述深度图像中与所述第一角点坐标对应的第一目标点坐标,以及与所述第二角点坐标对应的第二目标点坐标。
本实施例中,至少一组目标角点坐标是指经过过滤的有效组目标角点坐标。其中该有效组目标角点坐标包括第一角点坐标和第二角点坐标。第一角点坐标和第二角点坐标优选为托盘的一组互为对角的角点坐标。例如,托盘的左上角点坐标和右下角点坐标,或者还可为托盘的左下角点坐标和右上角点坐标,此处对其不做具体限制。
其中,与第一角点坐标对应的第一目标点坐标,以及与第二角点坐标对应的第二目标点坐标,是指深度图像中与第一角点坐标对应的第一像素点的像素坐标,以及与第二角点坐标对应的第二像素点的像素坐标。本实施例中像素坐标为图像坐标,即为平面坐标。
具体的,经过对齐处理的深度图像和彩色图像中像素点之间具有一对一的对应关系,那么可基于有效组目标角点坐标中的第一角点坐标和第二角点坐标,分别在经过对齐处理的深度图像中,确定与第一角点坐标对应的第一目标点坐标,以及与第二角点坐标对应的第二目标点坐标,以为后续确定托盘的托盘区域奠定基础。
例如,如果托盘Q的有效组目标角点坐标为M3(T3,B3),其中T3为第一角点坐标可表示为T3(XT3,YT3),B3为第二角点坐标可表示为B3(XB3,YB3)。那么根据T3(XT3,YT3)和B3(XB3,YB3),分别在经过对齐处理后的深度图像中确定出与T3对应的第一目标点坐标T3’,以及与B3对应的第二目标点坐标B3’。
S304,根据所述第一目标点坐标和所述第二目标点坐标,确定所述托盘的托盘区域。
继续以上述示例进行说明,如果第一目标点坐标T3'(XT3',YT3')和第二目标点坐标B3'(XB3',YB3'),则根据T3'(XT3',YT3')和B3'(XB3',YB3')计算出ΔxT3',B3'=|XT3'-XB3'|和ΔyT3',B3'=|YT3'-YB3'|,进而利用T3'(XT3',YT3')、B3'(XB3',YB3')、ΔxT3',B3'=|XT3'-XB3'|和ΔyT3',B3'=|YT3'-YB3'|,计算出该深度图像中托盘Q的第三目标点坐标T3”(XT3”,YT3”)和第四目标点坐标B3”(XB3”,YB3”),从而根据T3'(XT3',YT3')、B3'(XB3',YB3')、T3”(XT3”,YT3”)和B3”(XB3”,YB3”)确定出托盘Q的托盘区域。其中,XT3”=XT3'+ΔxT3',B3',YT3”=YB3'+ΔyT3',B3',XB3”=XB3'-ΔxT3',B3'和YB3”=YT3'-ΔyT3',B3'。
又例如,如果托盘数量有3个,分别为托盘Q1、托盘Q2和托盘Q3,则可分别确定出托盘Q1的托盘区域1、托盘Q2的托盘区域2和托盘Q3的托盘区域3。其中,托盘区域确定过程如前述确定托盘Q的托盘区域类似,具体参见确定托盘Q的托盘区域过程,此处对其不做过多赘述。
S305,根据所述托盘的托盘区域中每个像素点的像素坐标,确定所述每个像素点的三维坐标。
本实施例中,三维坐标是指根据托盘区域中每个像素点的像素坐标,计算在图像采集设备坐标系(相机坐标系)下每个像素点对应的坐标。
具体的,本实施例可通过如下公式(1),确定每个像素点的三维坐标:
其中,u和v表示托盘的托盘区域中任一像素点的像素坐标(即二维坐标),fx和fy表示图像采集设备的焦距参数,u0和v0表示图像采集设备的成像点坐标(主点坐标),x、y和z表示托盘的托盘区域中任一像素点在图像采集设备坐标系下的三维坐标。需要说明的是,z还可表示为上述像素点在图像采集设备坐标系下的深度值。本实施例中图像采集设备坐标系可如图4A所示。其中,图4A中图像采集设备坐标系是基于托盘Q的部署方式进行设置。
以S304中的示例一为例继续进行说明,假设根据T3'(XT3',YT3')、B3'(XB3',YB3')、T3”(XT3”,YT3”)和B3”(XB3”,YB3”)确定出托盘Q的托盘区域之后,托盘位姿检测设备基于托盘区域中每个像素点的像素坐标,采用上述公式(1)计算每个像素点的三维坐标。其中包括T3'(XT3',YT3')、B3'(XB3',YB3')、T3”(XT3”,YT3”)和B3”(XB3”,YB3”)分别对应的三维坐标:和进而根据上述四个像素点的三维坐标,确定出深度图像上托盘Q的三维托盘区域,具体如图4B所示。
以S304中的示例二为例继续进行说明,当托盘数量为3个,分别为托盘Q1、托盘Q2和托盘Q3,那么采用上述公式(1)可分别计算出每个托盘在深度图像上的三维托盘区域,具体如图4C所示。本示例中,托盘Q1在深度图像上的三维托盘区域为托盘区域1、托盘Q2在深度图像上的三维托盘区域为托盘区域2和托盘Q3在深度图像上的三维托盘区域为托盘区域3。其中,每个三维托盘区域确定过程如前述确定托盘Q的三维托盘区域类似,具体参见确定托盘Q的三维托盘区域过程,此处对其不做过多赘述。
S306,根据所述托盘的托盘区域中像素点的三维坐标,确定所述托盘的位姿信息。
其中,位姿信息包括位置信息和姿态信息。值得注意的是,由于托盘位姿检测设备的工作特点,使得托盘的姿态有且仅有一个自由度,即为偏航角。也就是说,本发明实施例中确定托盘的姿态信息,即为确定托盘的偏航角。
具体的,可基于每个托盘的托盘区域,确定每个托盘的位置信息和姿态信息,进而基于每个托盘的位置信息和姿态信息,确定每个托盘的位姿信息。
具体实现时,确定每个托盘的托盘区域对应托盘的位置信息时,可根据所述第一目标点坐标对应的三维坐标和所述第二目标点坐标对应的三维坐标,确定每个托盘的中心点坐标,并将该中心点坐标确定为每个托盘的位置信息。其中,中心点坐标可表示为(x,y,z)。
示例性的,本实施例确定每个托盘的中心点坐标,可通过前述公式(1)实现。需要说明的是,基于公式(1)确定托盘的中心点坐标时,公式(1)中的各参数表示含义如下:u表示第一目标点坐标对应的三维坐标,v表示第二目标点坐标对应的三维坐标,fx和fy表示采集设备的焦距参数,u0和v0表示图像采集设备的成像点坐标(主点坐标),x、y和z表示托盘在图像采集设备坐标系下的托盘中心点坐标。
进一步的,确定每个托盘区域对应托盘的姿态信息时,可通过如下步骤实现:
S11,从所述托盘的托盘区域中选取的多个像素点。
S12,将从所述托盘的托盘区域中选取的多个像素点投影到所述托盘的姿态检测面中,并对所述托盘的姿态检测面中的所有像素点对应的三维坐标进行线性拟合,基于拟合结果确定所述托盘的偏航角。
其中,选取的多个像素点方式可采用随机选取方式,此处对其不做具体限定。
由于托盘的姿态检测面为平面,且在图像采集设备坐标系(如图4A所示)中托盘的偏航角只与X轴和Z轴构成的X-Z平面有关。因此,本实施例中托盘的姿态检测面为X-Z检测面,那么可通过在该X-Z检测面上任意两个像素点对应的三维坐标(x1,0,z1)和(x2,0,z2),计算一斜率值然后基于该K值求反正切函数,即可得到托盘的偏航角。
具体实现过程中,因为单个像素点对应的三维坐标数据存在波动,那么基于X-Z检测平面上任意两个像素点对应的三维坐标计算出托盘的偏航角会存在较大误差且不稳定。为此,本实施例通过从每个托盘的托盘区域中选取多个像素点,并将选取的多个像素点投影到X-Z检测平面上,以对该X-Z检测平面上的投影像素点对应的三维坐标进行线性拟合,以得到一条拟合直线。进而根据拟合直线的斜率求反正切值,得到托盘的偏航角。也就是说,本实施例托盘的偏航角即为该拟合直线斜率的反正切值。
其中,可采用任意拟合算法,对X-Z检测平面上投影像素点对应的三维坐标进行拟合。本实施例中拟合算法优选为RANSAC算法。通过使用该RANSAC算法不仅拟合效果好,拟合精度高,并且拟合精度可控。
例如,如图4D所示,图4D为将选取的多个像素点投影到X-Z检测平面的示意图。其中图4D所示的离散点为投影到X-Z检测平面上的所有像素点,那么通过拟合算法对所有像素点对应的三维坐标进行线性拟合处理,得到拟合直线W,该拟合直线可表示为:z=ax+b,其中a为该拟合直线的斜率。那么基于该斜率a计算反正切值,并将该发正切值确定为托盘的偏航角Ry=arctan(a)。
在确定出托盘的位置信息和姿态信息之后,根据位置信息和姿态信息即可得到托盘的位姿信息。示例性的可表示为[x,y,z,0X-Y,Ry,0Y-Z]。其中,(x,y,z)表示托盘的位置信息,(0X-Y,Ry,0Y-Z)表示托盘的姿态信息。
本发明实施例提供的技术方案,通过获取至少一个托盘的深度图像和彩色图像,以将彩色图像输入托盘检测模型,确定托盘的至少一组目标角点坐标,并根据至少一组目标角点坐标在深度图像中确定托盘的托盘区域,然后根据托盘的托盘区域中的数据确定托盘的位姿信息。本发明实施例通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。
实施例四
下面结合图5-图7,对本发明实施例托盘位姿检测方法中托盘检测模型的生成过程进行具体说明。具体实现时,可通过不同方式生成托盘检测模型。下面首先结合图5,对本发明实施例提供的第一种生成托盘检测模型的生成过程进行说明。如图5所示,该方法具体包括:
S401,获取数据集,所述数据集中包括至少一个托盘的若干个彩色图像。
本实施例中,可通过控制深度相机或立体相机拍摄至少一个托盘在各种光照环境、各种方位下的多个彩色图像,以得到数据集;或者,还可通过网络爬虫等工具从互联网端的海量数据库中获取至少一个托盘在各种光照环境、各种方位下的多个彩色图像,以得到数据集等等,此处对其不做具体限制。
进一步的,获取到数据集之后,还可对数据集中图像质量差的彩色图像进行剔除处理,进而基于筛选的高质量彩色图像,可提高托盘检测模型的生成速度和准确度。其中图像质量差的彩色图像可以是但不限于:亮度过暗、亮度过亮和清晰度低画面模糊等。
S402,基于至少一个托盘的若干个彩色图像,对预设神经网络模型进行训练,以生成托盘检测模型。
其中,预设神经网络模型可选为卷积神经网络模型,此处对其不做限制。
具体的,可将获取到的数据集中至少一个托盘的若干个彩色图像作为输入数据,输入至预设神经网络模型中,以利用预设神经网络模型对输入数据进行初始化并不断进行参数调整,直到训练后的神经网络模型的准确度达到准确度阈值为止,并将该训练后的神经网络模型,确定为托盘检测模型。其中,准确度阈值可根据实际应用需要进行灵活设置,此处不做限制。
其次,结合图6对本发明实施例提供的第二种生成托盘检测模型的生成过程进行说明。如图6所示,该方法具体包括:
S501,获取数据集,并对所述数据集进行数据划分,得到训练数据集和测试数据集,所述数据集包括至少一个托盘的若干个彩色图像。
S502,基于所述训练数据集和所述预设神经网络,训练所述托盘检测模型。
S503,基于所述测试数据集,测试当前训练得到的所述托盘检测模型是否满足预设要求,若满足,则停止训练所述托盘检测模型。
本实施例中,可采用等分或非等分的方式,将数据集划分成训练数据集和测试数据集。其中,预设条件可根据实际需要进行灵活设置,例如可选的为托盘检测模型的准确度达到准确度阈值等,此处不做限制。
其中预设要求可选的为托盘检测模型的准确度达到准确度阈值等。
具体的,将训练数据集中的至少一个托盘的若干个彩色图像作为输入数据,输入至预设神经网络模型,以利用预设神经网络模型对输入数据进行初始化并不断进行参数调整,以生成托盘检测模型。然后,利用测试数据集中的至少一个托盘的若干个彩色图像对生成的托盘检测模型进行测试,以验证托盘检测模型的准确度是否达到准确度阈值。
其中,如果达到准确度阈值,则确定该托盘检测模型为最终的托盘检测模型。如果未达到准确度阈值,则再次利用训练数据集对该托盘检测模型进行训练,直到新生成的托盘检测模型的准确度达到准确度阈值为止,将该新生成的托盘检测模型确定为最终的托盘检测模型。
再次,结合图7对本发明实施例提供的第三种生成托盘检测模型的生成过程进行说明。如图7所示,该方法具体包括:
S601,获取数据集,并对所述数据集中至少一个托盘的若干个彩色图像进行增强处理,得到增强数据集。
S602,基于所述增强数据集对预设神经网络模型进行训练,以生成托盘检测模型。
其中,对彩色图像进行增强处理,可包括下述至少一项:亮度调整、图像裁剪、图像平移和添加噪声。
也就是说,获取到包括至少一个托盘的若干个彩色图像的数据集之后,通过对每个彩色图像进行不同方式的增强处理,以增强原始数据集,同时得到更多托盘的彩色图像,达到扩充数据集的目的。
例如,如图8A所示获取的数据集中包括24张托盘的彩色图像,那么通过对着24张托盘的彩色图像分别进行增强处理,可到具有52张托盘彩色图像的增强数据集,参见图8B。
进而,将扩充后的数据集中的彩色图像作为输入数据,输入至预设神经网络模型中,以利用预设神经网络模型对输入数据进行初始化并不断进行参数调整,直到训练后的神经网络模型的准确度达到准确度阈值为止,并将该训练后的神经网络模型,确定为托盘检测模型。
可以理解的是,本实施例通过采用上述多种方式生成托盘检测模型,可以实现托盘检测模型的定制化,以满足不同用户的个性化需求,提高用户使用体验。
实施例五
为了实现上述目的,本发明实施例还提出了一种托盘位姿检测装置。图9是本发明实施例五提供的一种托盘位姿检测装置的结构示意图。如图9所示,本发明实施例提供的托盘位姿检测装置700包括:图像获取模块710、角点确定模块720、区域确定模块730及位姿确定模块740。
其中,图像获取模块710,用于获取至少一个托盘的深度图像和彩色图像;
角点确定模块720,用于将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
区域确定模块730,用于根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
位姿确定模块740,用于根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
作为本发明实施例的一种可选的实现方式,装置700还包括:处理模块;
其中,处理模块,用于对所述深度图像和所述彩色图像进行对齐处理;
相应的,角点确定模块720,具体用于:
将处理后的所述彩色图像输入所述托盘检测模型,以确定所述托盘的至少一组目标角点坐标。
作为本发明实施例的一种可选的实现方式,所述一组目标角点坐标包括:第一角点坐标和第二角点坐标;
相应的,区域确定模块730,具体用于:
确定处理后的所述深度图像中与所述第一角点坐标对应的第一目标点坐标,以及与所述第二角点坐标对应的第二目标点坐标;
根据所述第一目标点坐标和所述第二目标点坐标,确定所述托盘的托盘区域。
作为本发明实施例的一种可选的实现方式,位姿确定模块740包括:三维坐标确定单元、位置确定单元、姿态确定单元和位姿确定单元;
其中,三维坐标确定单元,用于根据所述托盘的托盘区域中每个像素点的像素坐标,确定所述每个像素点的三维坐标;
位置确定单元,用于根据所述第一目标点坐标对应的三维坐标和所述第二目标点坐标对应的三维坐标,确定所述托盘的中心点坐标;
姿态确定单元,用于将从所述托盘的托盘区域中选取的多个像素点投影到所述托盘的姿态检测面中,并对所述托盘的姿态检测面中的所有像素点对应的三维坐标进行线性拟合,基于拟合结果确定所述托盘的偏航角;
位姿确定单元,用于根据所述托盘的中心点坐标和偏航角,确定所述托盘的位姿信息。
作为本发明实施例的一种可选的实现方式,装置700,还包括:过滤模块;
其中,过滤模块,用于对所述托盘的至少一组目标角点坐标进行过滤处理。
作为本发明实施例的一种可选的实现方式,装置700,还包括:数据获取模块、数据划分模块、模型训练模块和模型测试模块;
其中,数据获取模块,用于获取数据集,所述数据集包括至少一个托盘的若干个彩色图像;
数据划分模块,用于对所述数据集进行数据划分,得到训练数据集和测试数据集;
模型训练模块,用于基于所述训练数据集和所述预设神经网络,训练所述托盘检测模型;
模型测试模块,用于基于所述测试数据集,测试当前训练得到的所述托盘检测模型是否满足预设要求,若满足,则停止训练所述托盘检测模型。
作为本发明实施例的一种可选的实现方式,装置700,还包括:增强处理模块;
其中,对所述数据集中至少一个托盘的若干个彩色图像进行增强处理,得到增强数据集,其中,所述增强处理包括下述至少一项:亮度调整、图像裁剪、图像平移和添加噪声。
需要说明的是,前述对托盘位姿检测方法实施例的解释说明也适用于该实施例的托盘位姿检测装置,其实现原理类似,此处不再赘述。
本发明实施例提供的技术方案,通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。
实施例六
图10是本发明实施例六提供的一种托盘位姿检测设备的结构示意图。本实施例中托盘位姿检测设备可为无人叉车或搬运机器人等。如图10所示,该托盘位姿检测设备800包括:图像采集设备810、处理器820、存储装置830、输入装置840和输出装置850;其中图像采集设备810可为深度相机或立体相机等;处理器820的数量可以是一个或多个,图10中以一个处理器820为例;托盘位姿检测设备800的图像采集设备810、处理器820、存储装置830、输入装置840和输出装置850可以通过总线或其他方式连接,图10中以通过总线连接为例。
其中,托盘位姿检测设备800,能够自主移动并执行托盘搬运等功能;
图像采集设备810,用于采集至少一个托盘的深度图像和彩色图像;
一个或多个处理器820;固定在托盘位姿检测设备800本体上,以及
存储装置830,用于存储一个或多个程序,固定在托盘位姿检测设备800本体上,
当所述一个或多个程序被所述一个或多个处理器820执行,使得所述一个或多个处理器820实现本发明实施例中任一实施例所述的托盘位姿检测方法。
存储装置830作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中托盘位姿检测方法对应的程序指令/模块(例如,托盘位姿检测装置700中的图像获取模块710、角点确定模块720、区域确定模块730及位姿确定模块740)。处理器820通过运行存储在存储装置830中的软件程序、指令以及模块,从而执行自主体的各种功能应用以及数据处理,即实现上述的托盘位姿检测方法。
存储装置830可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置830可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置830可进一步包括相对于处理器820远程设置的存储器,这些远程存储器可以通过网络连接至托盘位姿检测设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置840可用于接收输入的数字或字符信息,以及产生用户设置以及功能控制有关的键信号输入。输出装置850可包括显示屏等显示设备。
需要说明的是,前述对托盘位姿检测方法实施例的解释说明也适用于该实施例的托盘位姿检测设备,其实现原理类似,此处不再赘述。
本发明实施例提供的托盘位姿检测设备,通过结合彩色图像和深度图像,对托盘位姿进行检测,不仅实现了对托盘位姿检测的目的,还能充能利用彩色图像丰富的语义信息,以及降低对深度图像的处理复杂度,从而为提高托盘位姿检测的速度提供条件。
实施例七
本发明实施例提供的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例所述的托盘位姿检测方法,该方法包括:
获取至少一个托盘的深度图像和彩色图像;
将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的托盘位姿检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台移动机器人执行本发明实施例各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (10)
1.一种托盘位姿检测方法,其特征在于,包括:
获取至少一个托盘的深度图像和彩色图像;
将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一个托盘的深度图像和彩色图像之后,还包括:
对所述深度图像和所述彩色图像进行对齐处理;
相应的,所述将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,包括:
将处理后的所述彩色图像输入所述托盘检测模型,以确定所述托盘的至少一组目标角点坐标。
3.根据权利要求2所述的方法,其特征在于,所述一组目标角点坐标包括:第一角点坐标和第二角点坐标;
相应的,所述根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域,包括:
确定处理后的所述深度图像中与所述第一角点坐标对应的第一目标点坐标,以及与所述第二角点坐标对应的第二目标点坐标;
根据所述第一目标点坐标和所述第二目标点坐标,确定所述托盘的托盘区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息,包括:
根据所述托盘的托盘区域中每个像素点的像素坐标,确定所述每个像素点的三维坐标;
根据所述第一目标点坐标对应的三维坐标和所述第二目标点坐标对应的三维坐标,确定所述托盘的中心点坐标;
将从所述托盘的托盘区域中选取的多个像素点投影到所述托盘的姿态检测面中,并对所述托盘的姿态检测面中的所有像素点对应的三维坐标进行线性拟合,基于拟合结果确定所述托盘的偏航角;
根据所述托盘的中心点坐标和偏航角,确定所述托盘的位姿信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标之后,还包括:
对所述托盘的至少一组目标角点坐标进行过滤处理。
6.根据权利要求1所述的方法,其特征在于,所述获取至少一个托盘的深度图像和彩色图像之前,所述方法还包括:
获取数据集,所述数据集包括至少一个托盘的若干个彩色图像;
对所述数据集进行数据划分,得到训练数据集和测试数据集;
基于所述训练数据集和所述预设神经网络,训练所述托盘检测模型;
基于所述测试数据集,测试当前训练得到的所述托盘检测模型是否满足预设要求,若满足,则停止训练所述托盘检测模型。
7.根据权利要求6所述的方法,其特征在于,所述获取数据集之后,所述方法还包括:
对所述数据集中至少一个托盘的若干个彩色图像进行增强处理,得到增强数据集,其中,所述增强处理包括下述至少一项:亮度调整、图像裁剪、图像平移和添加噪声。
8.一种托盘位姿检测装置,其特征在于,包括:
图像获取模块,用于获取至少一个托盘的深度图像和彩色图像;
角点确定模块,用于将所述彩色图像输入托盘检测模型,以确定所述托盘的至少一组目标角点坐标,所述托盘检测模型是基于预设神经网络训练得到的;
区域确定模块,用于根据所述至少一组目标角点坐标,在所述深度图像中确定所述托盘的托盘区域;
位姿确定模块,用于根据所述托盘的托盘区域中的数据,确定所述托盘的位姿信息。
9.一种托盘位姿检测设备,其特征在于,包括:
图像采集设备,用于采集至少一个托盘的深度图像和彩色图像;
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的托盘位姿检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7中任一所述的托盘位姿检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561213.3A CN112614183A (zh) | 2020-12-25 | 2020-12-25 | 托盘位姿检测方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561213.3A CN112614183A (zh) | 2020-12-25 | 2020-12-25 | 托盘位姿检测方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112614183A true CN112614183A (zh) | 2021-04-06 |
Family
ID=75245141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011561213.3A Pending CN112614183A (zh) | 2020-12-25 | 2020-12-25 | 托盘位姿检测方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614183A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409397A (zh) * | 2021-05-18 | 2021-09-17 | 杭州电子科技大学 | 一种基于rgbd相机的仓储托盘检测与定位方法 |
CN115546216A (zh) * | 2022-12-02 | 2022-12-30 | 深圳海星智驾科技有限公司 | 一种托盘检测方法、装置、设备及存储介质 |
WO2023272985A1 (zh) * | 2021-06-30 | 2023-01-05 | 兰剑智能科技股份有限公司 | 智能堆垛机及托盘位置异常的识别方法、装置和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180304468A1 (en) * | 2017-04-21 | 2018-10-25 | X Development Llc | Methods and Systems for Detecting, Recognizing, and Localizing Pallets |
CN109795830A (zh) * | 2019-03-04 | 2019-05-24 | 北京旷视科技有限公司 | 自动定位物流托盘的方法及装置 |
CN109829947A (zh) * | 2019-02-25 | 2019-05-31 | 北京旷视科技有限公司 | 位姿确定方法、托盘装载方法、装置、介质及电子设备 |
CN110054121A (zh) * | 2019-04-25 | 2019-07-26 | 北京极智嘉科技有限公司 | 一种智能叉车以及容器位姿偏移检测方法 |
CN111638530A (zh) * | 2020-05-27 | 2020-09-08 | 广州蓝胖子机器人有限公司 | 一种叉车定位的方法、叉车及计算机可读存储介质 |
CN112001972A (zh) * | 2020-09-25 | 2020-11-27 | 劢微机器人科技(深圳)有限公司 | 托盘位姿定位方法、装置、设备及存储介质 |
CN112070759A (zh) * | 2020-09-16 | 2020-12-11 | 浙江光珀智能科技有限公司 | 一种叉车托盘检测与定位方法及系统 |
-
2020
- 2020-12-25 CN CN202011561213.3A patent/CN112614183A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180304468A1 (en) * | 2017-04-21 | 2018-10-25 | X Development Llc | Methods and Systems for Detecting, Recognizing, and Localizing Pallets |
CN109829947A (zh) * | 2019-02-25 | 2019-05-31 | 北京旷视科技有限公司 | 位姿确定方法、托盘装载方法、装置、介质及电子设备 |
CN109795830A (zh) * | 2019-03-04 | 2019-05-24 | 北京旷视科技有限公司 | 自动定位物流托盘的方法及装置 |
CN110054121A (zh) * | 2019-04-25 | 2019-07-26 | 北京极智嘉科技有限公司 | 一种智能叉车以及容器位姿偏移检测方法 |
CN111638530A (zh) * | 2020-05-27 | 2020-09-08 | 广州蓝胖子机器人有限公司 | 一种叉车定位的方法、叉车及计算机可读存储介质 |
CN112070759A (zh) * | 2020-09-16 | 2020-12-11 | 浙江光珀智能科技有限公司 | 一种叉车托盘检测与定位方法及系统 |
CN112001972A (zh) * | 2020-09-25 | 2020-11-27 | 劢微机器人科技(深圳)有限公司 | 托盘位姿定位方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
孟勃;刘雪君;: "一种自动、快速的Kinect标定方法", 计算机工程与科学, no. 06 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409397A (zh) * | 2021-05-18 | 2021-09-17 | 杭州电子科技大学 | 一种基于rgbd相机的仓储托盘检测与定位方法 |
WO2023272985A1 (zh) * | 2021-06-30 | 2023-01-05 | 兰剑智能科技股份有限公司 | 智能堆垛机及托盘位置异常的识别方法、装置和设备 |
CN115546216A (zh) * | 2022-12-02 | 2022-12-30 | 深圳海星智驾科技有限公司 | 一种托盘检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112614183A (zh) | 托盘位姿检测方法、装置、设备和存储介质 | |
CN109767474B (zh) | 一种多目相机标定方法、装置及存储介质 | |
Carrera et al. | SLAM-based automatic extrinsic calibration of a multi-camera rig | |
CN109920004B (zh) | 图像处理方法、装置、标定物组合、终端设备及标定系统 | |
JP2017091079A (ja) | 入力データから検出対象物の像を検出する画像処理装置および方法 | |
CN104715479A (zh) | 基于增强虚拟的场景复现检测方法 | |
CN105118021A (zh) | 基于特征点的图像配准方法及系统 | |
CN108345821B (zh) | 面部追踪方法及设备 | |
CN111462245B (zh) | 一种基于矩形结构的变焦相机姿态标定方法和系统 | |
CN108460333B (zh) | 基于深度图的地面检测方法及装置 | |
CN112083403B (zh) | 用于虚拟场景的定位追踪误差校正方法及系统 | |
CN113329179B (zh) | 拍摄对位方法、装置、设备及存储介质 | |
CN109902675B (zh) | 物体的位姿获取方法、场景重构的方法和装置 | |
JP6956051B2 (ja) | 画像処理装置、運転支援システム、画像処理方法及びプログラム | |
KR20180015961A (ko) | 이미지를 기반으로 한 객체 위치 추정 방법 및 장치 | |
CN110097064A (zh) | 一种建图方法及装置 | |
Sui et al. | Extrinsic calibration of camera and 3D laser sensor system | |
RU2384882C1 (ru) | Способ автоматической компоновки ландшафтных панорамных изображений | |
KR101574195B1 (ko) | 모바일 플랫폼에 기반한 가상 카메라의 자동 캘리브레이션 방법 | |
CN112634377B (zh) | 扫地机器人的相机标定方法、终端和计算机可读存储介质 | |
CN104463964A (zh) | 获取物体三维模型的方法及设备 | |
JP3538506B2 (ja) | ロボットのための画像処理プログラム自動生成方法、その装置およびロボットプログラム自動修正方法 | |
KR102146839B1 (ko) | 실시간 가상현실 구축을 위한 시스템 및 방법 | |
KR102002785B1 (ko) | 영상 기반의 위치정보를 이용한 카메라간 좌표계 교정 장치 및 방법 | |
CN112767482A (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 |