具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
下面结合附图对本发明示例实施方式进行详细说明。
图1示出了可以应用于本发明实施例的目标定位方法或目标定位装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括点云获取装置101、终端设备102、103,网络104和服务器105。网络104用以在点云获取装置101、终端设备102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备102、103通过网络104与服务器105交互,以接收或发送消息等。其中,终端设备102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
点云获取装置101用以获取目标物体的点云,点云获取装置101获得目标物体的点云之后会将该点云经网络104上传至服务器105。该点云获取装置101可例如是深度相机、三维激光扫描仪或照相式扫描仪等可以获取目标物体的点云信息的装置。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备102、103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
服务器105可例如获取目标物体在当前视角下的当前相机坐标系中的三维点云信息;服务器105可例如生成所述当前视角下的第一相机坐标系与所述当前相机坐标系的第一变换矩阵;服务器105可例如获得所述目标物体在所述当前视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的目标变换矩阵;服务器105可例如根据所述第一变换矩阵和所述目标变换矩阵确定所述目标物体的物体中心在所述物体坐标系中的位置信息。
应该理解,图1中的点云获取装置、终端设备、网络和服务器的数目仅仅是示意性的,服务器105可以是一个实体的服务器,还可以为多个服务器组成,根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2是根据一示例性实施例示出的一种目标定位方法的流程图。
参照图2,本实施例提供的目标定位方法可以包括以下步骤。
步骤S201,获取目标物体在当前视角下的当前相机坐标系中的三维点云信息。
本发明实施例中,所述目标物体例如可以是在分拣仓内待分拣包装盒,其形状大小等已知。在机器臂抓取包装盒进行分拣的过程中,包装盒可以作为目标物体被机器臂抓取。
本发明实施例中,通过测量仪器得到的产品外观表面的点数据集合称之为三维点云,它包括三维坐标X、Y、Z,可以表示目标物体表面的三维位置。点云可以在各个坐标系之间进行转换。
其中,相机坐标系可以指的是坐标系原点在相机内部的坐标系。但本公开并不限定于此,例如本公开实施例中相机坐标系不限定是相机的坐标系,可能是扫描仪的坐标系或者其它任意获取点云的装置的坐标系。其中,点云获取装置可以是深度相机、三维扫描仪等,本公开对此不做限制。
在本公开实施例中,所述当前视角指的是获取目标物体三维点云的点云获取装置在当前位置相对于目标物体的视角位置。
本公开实施例中,所述当前相机坐标系指的是坐标系原点在当前获取目标物体点云的点云获取装置内的坐标系,所以当前视角下的当前相机坐标系指的是坐标系原点在当前视角下的点云获取装置内的坐标系。
步骤S202,生成所述当前视角下的第一相机坐标系与所述当前相机坐标系的第一变换矩阵。
需要说明的是,第一相机坐标系并不限定是一个坐标系,而可以是一类相机坐标系集合,也可称为第一相机坐标系集合。在第一相机坐标系集合中会存在对应于多个视角下的第一相机坐标系,其中包括当前视角下的第一相机坐标系。
本公开实施例中,两个坐标系之间的变换关系可以通过一个旋转平移矩阵描述。即第一变换矩阵可以是从所述当前视角下的当前相机坐标系向当前视角下的第一相机坐标系转换的旋转平移矩阵。
例如,假如目标物体为眼镜,在当前视角下的当前相机坐标系中该眼镜的三维点云信息可以用Pi表示,在当前视角下的第一相机坐标系中该眼镜的三维点云信息可以用Nk表示,i和k分别表示在各自坐标系下该眼镜的点云个数。通过一个旋转平移矩阵T,可以将当前视角下的当前相机坐标系中的点云Pi旋转平移至当前视角下的第一相机坐标系中。该过程可以用公式(1)表示。
Nk=T*Pi (1)
在本公开实施例中,旋转平移矩阵T可以表示为如下形式:
其中,R3×3为旋转矩阵,包含了姿态信息,可以从旋转矩阵里得到目标物体的旋转角度。t3×1为平移矩阵,包含了位置信息,从中可以平移矩阵中得到目标物体的位置信息平移位置信息。
如图3所示,图3是根据本发明实施例示出的一种三种坐标通过平移转换矩阵相互转换的示意图。在一些实施例中,通过第一变换矩阵可以将当前视角下的当前相机坐标系C转换为当前视角下的第一相机坐标系B。
步骤S203,获得所述目标物体在所述当前视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的目标变换矩阵。
在本公开实施例中,目标物体的物体坐标系的原点可以在目标物体的中心位置处。
继续参考图3,目标变换矩阵可以将当前视角下的第一相机坐标系转换为物体坐标系。
步骤S204,根据所述第一变换矩阵和所述目标变换矩阵确定所述目标物体的物体中心在所述物体坐标系中的位置信息。
本公开实施例中,根据所述第一变换矩阵和所述目标变换矩阵可以将所述目标物体在物体坐标系中表示,其中物体坐标系的原点位置处就是该目标物体的中心位置。
如图3所示,已知第一变换矩阵和目标变换矩阵/>那么物体坐标系转换为当前相机坐标系的平移转换矩阵/>就可以求出,有了/>就可以进一步的求出当前相机坐标系转换为物体坐标系的旋转平移矩阵/>在示例性实施例中,已知当前相机坐标系转换为物体坐标系的旋转平移矩阵/>就可以将当前相机坐标系下的目标物体的三维点云向物体坐标系转换,然后就可以得到目标物体在物体坐标系下的三维点云。其中,物体坐标系的原点位置处就是该目标物体的中心位置。
图2所示实施例所提供的技术方案中,通过第一变换矩阵和目标变换矩阵,将目标物体在当时视角下的当前相机坐标系中的三维点云转化为物体坐标系下的三维点云。该技术方案通过矩阵的变换将目标物体的三维点云转换至物体坐标系下,精准的找到了目标物体的中心位置。
图4根据本发明实施例示出的另一种目标定位方法的流程图。
在本公开实施例中,对目标物体定位之前首先要构建目标物体的物体坐标系。构建目标物体的物体坐标系可以包括以下步骤:步骤S401,将第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到同一坐标系下以生成所述目标物体的三维模型;步骤S402,以所述目标物体的三维模型的中心为所述目标物体的物体坐标系的原点,以构建所述目标物体的物体坐标系。
在示例性实施例中,所述第一目标场景是指三维建模前获取目标物体的三维点云时,目标物体所在场景。该第一目标场景例如可以是车间、厂房等,本公开对此不做限制。在各个视角下获取该第一目标场景三维点云的点云获取装置自身都可以单独构成一个相机坐标系,将上述各个视角下获取的点云获取装置构成的相机坐标系统称为第一相机坐标系。
在本公开实施例中,多帧点云通过闭环优化算法来获得最终的目标物体的三维点云模型,作为后续识别定位的基础。
在示例性实施例中,在已知第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息的前提下,可以选择上述各个视角下的第一相机坐标系中的某一视角下的相机坐标系作为参考相机坐标系。例如,可以选择目标物体正向视角下的第一相机坐标系作为参考相机坐标系。在本公开实施例中,假设目标物体有正面、背面、上面、下面、左侧面、右侧面等至少六个面,点云获取装置从目标物体正面所对的方向获取该目标物体表面的三维点云,则该点云获取装置就是目标物体正向视角下的点云获取装置。
在本公开实施例中,将目标物体在其他各个视角下的点云与正向视角下的点云做配准。例如可以采用快速特征直方图描述子作为匹配依据,将各个视角下的点云与正向视角下的点云做配准,然后采用ICP(Iterative Closest Point)配准将目标物体在各个视角下的三维点云转换到同一坐标系下以生成目标物体的三维模型。
在示例性实施例中,可以选择目标物体的三维模型的中心为所述目标物体的物体坐标系的原点,以构建所述目标物体的物体坐标系,并使用主成分分析(PrincipalComponents Analysis,PCA)算法分析所述目标物体的三维模型,将主成分分析得到的前三个特征向量分别作为所述物体坐标系的X、Y、Z轴。由此目标物体的物体坐标系构建完成。
在上述步骤S401中,将所述第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到同一坐标系下以生成所述目标物体的三维模型过程中,就可以生成第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云转换到物体坐标系的第二变换矩阵。其中,第二变换矩阵是一个矩阵集合,包括至少一个矩阵。第二变换矩阵包括第一目标场景在各个视角下的第一相机坐标系的三维点云转换到同一坐标系下对应的多个平移转换矩阵。其中,所述同一坐标系可以指定任意一个坐标系,本公开对此不做限制。
如图5所示,生成第二变换矩阵可以包括以下步骤。
步骤S501,获得第一目标场景在各个视角下的第一相机坐标系中的三维点云信息。
在示例性实施例中,可以使用点云获取装置从相对于该目标物体的不同的角度获取第一目标场景的三维点云信息。例如,可以通过kinect传感器从不同的角度获取第一目标场景的RGB-D图像,该RGB-D图像包括深度图和彩色图。获得RGB-D图像后可以通过相机标定、对齐等操作获取第一目标场景的RGB点云,该RGB点云既可以包括第一目标场景在各个视角下的第一相机坐标系中的三维点云信息,还可以包括第一目标场景表面的颜色信息。
步骤S502,根据所述第一目标场景的三维点云信息,获得第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息。
在示例性实施例中,获得第一目标场景的各个视角的点云之后可以进行一些预处理。例如,采用深度方向直通滤波等来去除背景点云,然后使用采样一致性的算法来拟合目标物体所在平面,并将该平面点云去掉。
例如,假设目标物体(这里可以假设是装有用户已经下单的物品的包装盒)置放于车间的传送带上,可以通过kinect传感器从不同的角度获取包装盒在传送带上的场景的RGB-D图像,该RGB-D图像包括深度图和彩色图。通过相机标定、对齐等操作后可以获取盒子在传送带上的场景的RGB点云。然后通过采样一致性的算法拟合出传送带的平面,并去除该传送带平面的点云。去除背景点云和平面点云后可以得到各个视角下包装盒的RGB点云信息。但是该物体的RGB点云信息相对来说还存在一些毛刺点。接下来还需要将包装盒RGB点云转换到图像坐标系下,采用图像处理技术去除图片中边缘毛刺等,然后再将包装盒的彩色图像投影到三维空间。由此便可以获得第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维RGB点云。
步骤S503,获得所述第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的第二变换矩阵;其中,所述目标变换矩阵选取自所述第二变换矩阵。
在示例性实施例中,已知目标物体的物体坐标系和目标物体在各个视角下的第一相机坐标系中的三维点云,可以求出所述第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的第二变换矩阵。
图5所示实施例提供的目标定位方法,通过将第一目标场景中目标物体在各个视角下的三维点云信息转换到同一坐标系下以实现对目标物体的三维建模,然后根据目标物体的三维模型可以获取目标物体在各个视角下的第一相机坐标系中的三维点云,获取各个视角下的第一相机坐标系与物体坐标系至今的第二变换矩阵,该第二变换矩阵不是单指一个矩阵,而是一个矩阵集合。
图6根据本发明实施例示出的另一种目标定位方法的流程图。
参照图6,本实施例提供的目标定位方法可以包括以下步骤。
步骤S601,获得第二目标场景在所述当前视角下的当前相机坐标系中的彩色点云信息。
本公开实施例中,所述彩色点云信息可以是那些既具备三维坐标信息又具备彩色信息的点的集合,该彩色信息可以例如是RGB信息,也可例如是HSV信息等,本公开对此不做限定。在本公开实施例中均以RGB为例进行举例说明。
在示例性实施例中,可以使用深度相机获得第二目标场景的彩色点云信息,例如可以使用kinect传感器获得第二目标场景的RGB图像和深度图像,然后经过相机标定和对齐以获得第二目标场景的彩色点云。
对目标进行定位是因为系统无法判断一个场景中目标物体的具体位置。在示例性实施例中,将待识别物体所在场景统一可以称为第二目标场景。该第二目标场景可以是包括目标物体的车间、厂房等空间,另外在该第二目标场景中不仅包含了目标物体还可能包含了其它非目标物体,可以将第二目标场景中包含的物体统称为待识别物体。
在本公开示例性实施例中,当前视角指的是获取目标物体三维点云的点云获取装置当前位置相对于目标物体的视角位置,当前相机坐标系指的坐标系原点在当前获取目标物体点云的点云获取装置内的坐标系,所以当前视角下的当前相机坐标系指的是坐标系原点在当前视角下的点云获取装置内的坐标系。
步骤S602,根据所述第二目标场景的彩色点云信息获得所述第二目标场景中各个待识别物体的彩色图像。
在示例性实施例中,根据所述第二目标场景的彩色点云信息获得所述第二目标场景中各个待识别物体的彩色图像之前需要对第二目标场景的彩色点云进行一些去噪、去背景处理,主要包括如图7所示步骤。
步骤S701,对所述第二目标场景的彩色点云进行去噪、去背景处理,并根据处理后的第二目标场景的彩色点云生成所述第二目标场景的彩色图像。
在示例性实施例中,获得第二目标场景的各个视角的彩色点云之后需进行一些预处理。比如采用深度方向直通滤波等来去除背景点云,然后使用采样一致性的算法来拟合目标物体所在平面,并将该平面点云去掉。例如,如果目标物体盒子置放于车间的传送带上,我们可以通过采样一致性的算法拟合出传送带的平面,并去除该传送带平面的点云。
步骤S702,对所述第二目标场景的彩色图像进行形态学处理以去除彩色图像的边缘毛刺,并根据处理后的彩色图像生成第二目标场景的彩色点云。
去除背景点云和平面点云后可以得到各个视角下较粗糙的目标物体的彩色点云信息,接下来还需要将目标物体粗糙的彩色点云转换到图像坐标系下,采用图像处理技术去除图片中边缘毛刺等,然后再将目标物体的彩色图像投影到三维空间。由此便可以获得第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维彩色点云。
通过上述实施例提供的去噪、去背景方法可以有效的去除第二目标场景中无效彩色点云,使得第二目标场景中的彩色点云只保留了待识别物体的彩色点云。
在示例性实施例中,获得第二目标场景中待识别物体的彩色点云后可以通过如图8所示的步骤获待识别物体的彩色点云。
步骤S801,对所述第二目标场景的彩色点云进行物体分割以获得第二目标场景中各个待识别物体的彩色点云。
在示例性实施例中,可以通过点云的物体分割对第二目标场景中的各个待识别物体进行分割聚类。例如,可以通过欧式聚类分割将具有一定间隔的待识别物体分割出来,再例如,可以通过基于法线与曲率的区域生成算法将表面法线变换的相邻物体分割出来。
步骤S802,根据所述第二目标场景中各个待识别物体的彩色点云,获得所述第二目标场景中各个待识别物体的彩色图像。
通过步骤S801,可以将第二目标场景中各个待识别物体的彩色点云分割出来。由于彩色点云本身具又彩色信息,所以我们可一根据待识别物体的彩色点云生成各个待识别物体的彩色图像。
在示例性实施例中,获得所述第二目标场景中各个待识别物体的彩色图像之后需要执行步骤S603。
步骤S603,获取所述第一目标场景中目标物体在所述各个视角下的彩色图像。
在示例性实施例中,不仅可以获取目标物体在各个视角的第一相机坐标系下的三维点云,还可以获取目标物体在各个视角下的彩色图像。例如,可以使用深度相机获取第一目标场景中目标物体在各个视角下的第一相机坐标系中的彩色点云,该彩色点云同样也包括了目标物体的彩色信息。根据目标物体在各个视角下第一相机坐标系的彩色点云获取目标物体在各个视角下的彩色图像。
步骤S604,根据所述各个待识别物体的彩色图像和所述第一目标场景中目标物体在所述各个视角下的彩色图像,在所述各个待识别物体中识别出所述目标物体。
在示例性实施例中,将各个待识别物体的彩色图像和所述第一目标场景中目标物体在各个视角下的彩色图像做匹配。例如,可以选取ORB特征作为特征描述子,与模型库中目标物体在各个视角下的彩色图像做匹配,该模型库可以包括目标物体的三维点云模型,目标物体在各个视角下的彩色图像以及所述第二变换矩阵等。上述模型库的构建过程已在图4所示实施例中描述,此处不再赘述。在上述过程中,首先可以确定待识别物体中的哪个物体是目标物体,同时可以确定第一目标场景中目标物体在各个视角下的彩色图像中哪一幅彩色图像的视角与目标物体的视角最为相似。
例如,假设目前要定位的目标物体是一个彩色盒子,该盒子所在的第一目标场景是一个车间传送带上,该传送带上同时存在杯子、书本等物品。另外,必须说明的是,在进行定位之前,系统已经在第二目标场景中例如从前、后、左、右、上、下等六个视角方向获得了该盒子的彩色图。定位时,假设通过深度相机从正面视角获得了待识别物体的彩色点云,待识别物体可以包括盒子、杯子、书本等。通过预处理和点云物体分割可以获得各个待识别物体的彩色点云,通过各个待识别物体的彩色点云可以生成各个待识别物体的正面彩色图。将各个待识别物体的正面彩色图与第二目标场景中的盒子的六个视角下的彩色图做匹配。经过匹配后可以确定第一目标场景中的待识别物体中的目标物体,另外还可在第二目标场景中六个视角下的彩色图中确定一个拍摄视角为正向的彩色图像。
在上述示例性实施例中,可以通过将第二目标场景中的待识别物体和第一目标场景中各个视角下的目标物体做匹配,在第二目标场景中的待识别物体中确定目标物体,同样可以在第一目标场景中确定一个与第二目标场景中的目标物体获取视角相同的目标物体的三维点云信息。
通过图6所示实施例可以获取目标物体在当前视角下的当前相机坐标系中的三维点云信息。然后就可以生成所述当前视角下的第一相机坐标系与所述当前相机坐标系的第一变换矩阵。
在示例性实施例中,当前视角下的第一相机坐标系指的是第一目标场景中与第二目标场景中的目标物体获取视角相同的目标物体所在的相机坐标系。
在示例性实施例中,获得第一变换矩阵后还要获得所述目标物体在所述当前视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的目标变换矩阵。
在示例性实施例中,已知所述第一变换矩阵和所述目标变换矩阵,可以将第二目标场景中的目标物体在当前视角下的当前坐标系中的三维点云转换到相机坐标系下,以确定所述目标物体的物体中心在所述物体坐标系中的位置信息。
图9根据一示例性实施例示出的一种目标定位装置的框图。参照图9,该装置900包括:点云获取模块901、第一变换矩阵获取模块902、目标变换矩阵获取模块903和中心位置确定模块904。
其中,点云获取模块901可以配置为获取目标物体在当前视角下的当前相机坐标系中的点云信息。
第一变换矩阵获取模块902可以配置为生成所述当前视角下的第一相机坐标系与所述当前相机坐标系的第一变换矩阵。
目标变换矩阵获取模块903可以配置为获得所述目标物体在当前视角下的第一相机坐标系中点云信息转换到所述目标物体的物体坐标系的目标变换矩阵。
中心位置确定模块904可以配置为根据所述第一变换矩阵和所述目标变换矩阵确定所述目标物体的物体中心在所述物体坐标系中的位置信息。
图10据一示例性实施例示出的一种目标定位装置的框图。如图10所示,目标变换矩阵获取模块903包括:第一目标场景三维点云获取单元9031,可以配置为获得第一目标场景在各个视角下的第一相机坐标系中的三维点云信息;目标物体三维点云获取单元9032,可以配置为根据所述第一目标场景在各个视角下的第一相机坐标系中的三维点云信息,获得第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息;第二变换矩阵生成单元9033,可以配置为获得所述第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的第二变换矩阵。其中,所述目标变换矩阵选取自所述第二变换矩阵。
图11根据一示例性实施例示出的一种目标定位装置的框图。该第二变换矩阵生成单元9033可以包括:三维模型生成子单元90331,可以配置为将所述第一目标场景中目标物体在各个视角下的第一相机坐标系中的三维点云信息转换到同一坐标系下以生成所述目标物体的三维模型;原点选择子单元90332,以所述目标物体的三维模型的中心为所述目标物体的物体坐标系的原点,以构建所述目标物体的物体坐标系。
图12根据一示例性实施例示出的一种目标定位装置的框图。参考图12,该目标定位装置900可以包括:第二目标场景彩色点云获取模块905,可以配置为获得第二目标场景在所述当前视角下的当前相机坐标系中的彩色点云信息;待识别物体彩色图像获取模块906,可以配置为根据所述第二目标场景的彩色点云信息获得所述第二目标场景中各个待识别物体的彩色图像;目标物体彩色图像获取模块907,可以配置为获取所述第一目标场景中目标物体在所述各个视角下的彩色图像;目标物体识别模块908,可以配置为根据所述各个待识别物体的彩色图像和所述第一目标场景中目标物体的彩色图像在所述各个待识别物体中识别出所述目标物体。
图13根据一示例性实施例示出的一种目标定位装置的框图。如图13所示,待识别物体彩色图像获取模块906包括:待识别物体彩色点云获取单元9061,可以配置为对所述第二目标场景的彩色点云进行物体分割以获得第二目标场景中各个待识别物体的彩色点云;获取待识别物体彩色图像单元9062,可以配置为根据所述第二目标场景中各个待识别物体的彩色点云,获得所述第二目标场景中各个待识别物体的彩色图像。
图14根据一示例性实施例示出的一种目标定位装置的框图。如图14所示,待识别物体彩色图像获取模块906还包括:预处理单元9063,可以配置为对所述第二目标场景的彩色点云进行去噪、去背景处理,并根据处理后的第二目标场景的彩色点云生成所述第二目标场景的彩色图像;第二目标场景彩色点云获取单元9064,可以配置为对所述第二目标场景的彩色图像进行形态学处理以去除彩色图像的边缘毛刺,并根据处理后的彩色图像生成第二目标场景的彩色点云。
由于本发明的示例实施例的目标定位装置900的各个功能模块与上述目标定位方法的示例实施例的步骤对应,因此在此不再赘述。
下面参考图15,其示出了适于用来实现本申请实施例的终端设备的计算机系统1500的结构示意图。图15示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15所示,计算机系统1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有系统1500操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的示例性实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请示例性实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述示例性实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取目标物体在当前视角下的当前相机坐标系中的三维点云信息;生成所述当前视角下的第一相机坐标系与所述当前相机坐标系的第一变换矩阵;获得所述目标物体在所述当前视角下的第一相机坐标系中的三维点云信息转换到所述目标物体的物体坐标系的目标变换矩阵;根据所述第一变换矩阵和所述目标变换矩阵确定所述目标物体的物体中心在所述物体坐标系中的位置信息。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本发明实施例的方法,例如图2的一个或多个所示的步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。