一种对象识别方法、装置及存储介质与流程

文档序号:29165446发布日期:2022-03-09 02:20阅读:91来源:国知局
一种对象识别方法、装置及存储介质与流程

1.本技术实施例涉及自动驾驶技术领域,具体涉及一种对象识别方法、装置及存储介质。


背景技术:

2.在自动驾驶领域,自动驾驶车辆通常会采集两类数据,例如,行车记录仪拍摄的图像,雷达采集的点云数据。通常会分别标注(例如使用cloud compare等标注工具)图像和点云数据中的物体,然后再将同一物体关联。通过这两类数据能够识别与估计周围环境中车辆、车道线、行人、交通标识等关键要素的语义和几何信息,以便辅助自动驾驶车辆对环境进行感知并规划自动行驶路线。
3.由于需要标注的数据包括行人、各种机动车及非机动车辆(分类型)、路牌、路面标识等。在对点云数据中的物体进行标注时,需要进行多次缩放、平移、旋转等操作,整个标注操作比较繁琐,导致识别物体的效率一般。


技术实现要素:

4.本技术实施例提供一种对象识别方法、装置及存储介质,能够提高对象识别效率。
5.第一方面,本技术实施例从对象识别装置角度提供了一种对象识别方法,所述方法包括:
6.根据预设映射关系和所述第一图像中的目标对象,确定所述初始点云数据中的目标点云对象,其中,所述预设映射关系包括所述第一图像和所述初始点云数据之间的坐标映射关系,所述目标对象与所述目标点云对象对应同一实体目标;所述第一图像和所述初始点云在时域上同步;
7.获取所述目标对象覆盖的目标点云数据;
8.根据所述目标对象的对象类型和所述目标点云数据,确定所述目标对象的标注样本;
9.根据所述标注样本和所述对象类型得到对象识别结果。
10.第二方面,本技术实施例还提供实施上述第一方面中所述的对象识别方法的一种对象识别装置,所述对象识别装置包括:
11.处理模块,用于根据预设映射关系和第一图像中的目标对象,确定初始点云数据中的目标点云对象,其中,所述预设映射关系包括所述第一图像和所述初始点云数据之间的坐标映射关系,所述目标对象与所述目标点云对象对应同一实体目标;所述第一图像和所述初始点云在时域上同步;
12.输入输出模块,用于获取所述目标对象覆盖的目标点云数据;
13.所述处理模块还用于根据所述目标对象的对象类型和所述目标点云数据,确定所述目标点云数据中每一个对象的标注样本;根据所述标注样本和所述对象类型得到对象识别结果。
14.第三方面,本技术实施例还提供了一种处理设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本技术实施例中第一方面提供的对象识别方法中的步骤。
15.第四方面,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本技术实施例中第一方面提供的对象识别方法中的步骤。
16.与现有技术相比,本技术实施例中,根据预设映射关系和所述目标对象确定初始点云数据中的目标点云对象,而目标对象与目标点云对象对应同一实体目标,因此,在第二图像上获取的目标对象覆盖的目标点云则是对应到初始点云数据中目标点云对象的点。这样,根据所述目标对象的对象类型和所述目标点云即可确定所述目标对象的标注样本,且该标注样本为对目标对象的多维标注,更加能够提高识别与估计周围环境中车辆、车道线、行人、交通标识等关键要素的语义和几何信息,进而辅助自动驾驶车辆对环境进行感知并规划自动行驶路线。一方面中,充分的利用在图像上标注速度通常比传统点云标注要快这一特性,所以能够有效提高标注速度。具体来说,先通过标注出第二图像中的目标对象(例如物体),再利用程序标注出初始点云数据中对应的物体,这样就能够有效提高标注速度。另一方面中,由于能够快速的将第一图像中的目标对象、以及初始点云数据中的目标点云对象分别进行标注,从而有效提高标注对象的效率和准确率。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例中对象识别方法的一种流程示意图;
19.图2a是本技术实施例中雷达采集的初始点云的一种示意图;
20.图2b是本技术实施例中将初始点云映射到第一图像后得到的第二图像的一种示意图;
21.图2c是本技术实施例中确定第二图像中目标对象覆盖的目标点云的一种示意图;
22.图3是本技术实施例中标注样本的一种示意图;
23.图4是本技术实施例中对象识别装置的一种结构示意图;
24.图5是本技术实施例中实施对象识别方法的实体设备的一种结构示意图;
25.图6是本技术实施例中实施对象识别方法的手机的一种结构示意图;
26.图7是本技术实施例中实施对象识别方法的服务器的一种结构示意图。
具体实施方式
27.本技术实施例的说明书和权利要求书及上述附图中的术语“目标”、“候选”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,
例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本技术实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本技术实施例方案的目的。
28.本技术实施例供了一种对象识别方法、装置及存储介质,可用于自动驾驶领域中识别驾驶环境中采集到的对象。例如,可应用在行车记录仪录制的视频上,或者应用到检测待识别对象的变化等应用场景,本技术实施例不对此作限定。该方法可应用于终端或者服务器侧,本技术实施例以终端侧为例,服务器侧可参考对终端侧的说明。
29.一些实施方式中,本方案应用于自动驾驶系统时,该自动驾驶系统可包括服务端、至少一个对象识别装置。其中,对象识别装置可为服务端、车载终端,或者为与车载终端通信连接的移动终端,也可为安装于车载终端或者移动终端的应用,本技术实施例不对此作限定。以下进行详细说明。本技术实施例以车载终端为例。
30.一些实施方式中,车载终端通过拍摄装置实时采集初始图像或初始视频,以及通过雷达采集与上述初始图像或者初始视频在时域同步的点云数据。然后根据上述初始图像或者初始视频和点云数据对识别出的目标对象进行三维标注,例如车辆识别、障碍识别、路况识别、交通标志识别等。
31.先对本技术实施例中出现的术语进行相关解释:
32.点云:可以表达物体的空间轮廓和具体位置,通过点云能看到街道、房屋的形状,物体距离摄像机的距离也是可知的;其次,点云本身和视角无关,可以任意旋转,从不同角度和方向观察一个点云,而且不同的点云只要在同一个坐标系下就可以直接融合。在做如本技术实施例中识别行驶道路中出现的环境特征相关的3d视觉时,主要是处理点云。
33.点云是一些点的集合,点云提供三维空间的数据,不需要像图像一样通过透视几何反推三维数据。点云是某个坐标系下的点的数据集,其中,点包括三维坐标x,y,z、颜色、分类值、强度值、时间等。点云在组成特点上分为两种,一种是有序点云,一种是无序点云。
34.有序点云:一般由深度图还原的点云,有序点云按照图方阵一行一行的,从左上角到右下角排列,当然其中有一些无效点因为。有序点云按顺序排列,可以很容易的找到它的相邻点信息。有序点云在某些处理的时候还是很便利的,但是很多情况下是无法获取有序点云的。
35.无序点云:无序点云就是其中的点的集合,点排列之间没有任何顺序,点的顺序交换后没有任何影响。无序点云是比较普遍的点云形式,有序点云也可看做无序点云来处理。
36.1、点云的获取方式:
37.点云通过三维成像传感器获得,比如通过双目相机、三维扫描仪、rgb-d相机等设备获得。目前主流的rgb-d相机有微软的kinect系列、intel的realsense系列、structure sensor(需结合ipad使用)等。点云可通过扫描的rgb-d图像,以及扫描相机的内在参数创建
点云,方法是通过相机校准,使用相机内在参数计算真实世界的点(x,y)。因此,rgb-d图像是网格对齐的图像,而点云则是更稀疏的结构。此外,获得点云的方法还包括lidar激光探测与测量,例如主要通过星载、机载和地面三种方式获取。
38.2、点云的内容:
39.根据激光测量原理得到的点云,包括三维坐标(xyz)和激光反射强度(intensity),强度信息与目标的表面材质、粗糙度、入射角方向以及仪器的发射能量、激光波长有关。根据摄影测量原理得到的点云,包括三维坐标(xyz)和颜色信息(rgb)。结合激光测量和摄影测量原理得到点云,包括三维坐标(xyz)、激光反射强度(intensity)和颜色信息(rgb)。
40.3、点云的属性:
41.点云的属性包括空间分辨率、点位精度、表面法向量等。
42.点云的存储格式包括:pts、las、pcd、.xyz和.pcap等。
43.4、三维点云有多种表示方法
44.不同的表示对应着不同的处理方法。比较容易的处理方式为将其投影为二维图像或者转换为三维体素(voxel),从而将无序的空间点转变为规则的数据排列;也可以使用原始点作为表示,不做任何变换,该方式的好处为最大可能保留所有原始信息。此外,点云作为空间无序点集,可以被看作普适意义上的图数据。点云还有另外一种表示,称作网格(mesh),其也可以被看作是构建了局部连接关系的点,即为图。将点云看作图数据,可以使用图领域新兴的图卷积(graph convolution)技术进行处理。需要提及的是,原始点的表示和图表示之间并无明确界限(事实上原始点云和网格(mesh)之间有一定区别,但若从语义理解方法的角度看,可暂时忽略此区别,将mesh看作是增加了一种连接关系)。
45.5、3d目标检测可以分为3类:multi-view method,projection-based method,point-based method
46.projection-based methods
47.(1)point-based method
48.大多数基于点的方法都试图在特征提取过程中使信息损失最小化,是目前性能最好的一组方法。
49.与上述多视图方法相比,基于分割的方法对于复杂场景和遮挡对象有更好的效果
50.6、激光雷达和深感摄像头:
51.本技术实施例中,测距离可采用激光雷达和深感摄像头。
52.其中,激光雷达是探测物体距离和记录深度信息的微型装置,以发射激光束探测目标的位置、速度等特征量的雷达系统,由激光发射机、光学接收机、转台和信息处理系统等组成,可获得目标的距离、方位、高度、速度、姿态、甚至形状等参数,从而进行探测、跟踪和识别。
53.激光雷达主要具备下述两个功能:
54.(1)测算物体离手机的大致距离
55.通过发射肉眼不可见的激光束来测算距离
56.(2)记录投射范围内事物的深度信息
57.深感摄像头:
58.摄像机标定(camera calibration)是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵pp的过程。摄像机标定的过程分为两个部分:
59.第一步:从世界坐标系转换为相机坐标系,这一步是三维点到三维点的转换,包括rr、tt(相机外参)等参数;
60.第二步:从相机坐标系转为图像坐标系,这一步是三维点到二维点的转换,包括kk(相机内参)等参数。
61.摄像机内参:确定摄像机从三维空间到二维图像的投影关系。
62.摄像机外参:决定摄像机坐标与世界坐标系之间相对位置关系。
63.其中,需要特别说明的是,本技术实施例涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。本技术实施例涉及的对象识别装置可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、个人数字助理等,但并不局限于此。对象识别装置以及服务端可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做限制。
64.下面开始介绍本技术实施例提供的对象识别方法。
65.参阅图1,图1示出了本技术实施例中对象识别方法的一种流程示意图,在介绍本技术实施例所提供的一种对象识别方法,先介绍本技术实施例中识别点云对象的前期操作,具体包括步骤101和步骤102:
66.101、获取时域同步的第一图像和初始点云。
67.其中,第一图像可为拍摄装置(例如行车记录仪)采集的图像,该第一图像中可能包括多个检测对象,每个检测对象对应一种实体目标,实体目标可包括运动对象(例如行驶中的运动设备、行走或奔跑的人等)或物体,例如可为行人、各种机动车及非机动车辆(分类型)、路牌、路面标识、卡车或者小轿车或者三轮车或者行人等。一些实施方式中,第一图像可为经过预处理后的图像,例如第一图像为包括检测对象的图像,其他未包括检测对象的图像可丢弃处理,通过预处理进行初筛,以便提高标注对象的效率。
68.初始点云由雷达获取,初始点云数据中包括多个点云对象,每个点云对象对应一种实体目标。同理,实体目标可包括运动对象(例如行驶中的运动设备、行走或奔跑的人等)或物体,例如可为行人、各种机动车及非机动车辆(分类型)、路牌、路面标识、卡车或者小轿车或者三轮车或者行人等。
69.本技术实施例中,第一图像和初始点云在时域上同步采集,获取第一图像和初始点云之前,需要对拍摄装置进行摄像机标定。
70.初始点云对应的点云坐标系,与第一图像对应的图像坐标系之间具有变换关系(也可称作预设映射关系),能够将初始点云数据中的点的坐标,与第一图像中的像素点坐标之间进行相互变换。初始点云数据中的各点都能够表征目标对象上任意点的空间位置。
71.由于第一图像和初始点云在时域上同步采集,因此,根据该预设映射关系可知,第一图像中的检测对象与初始点云数据中与该检测对象位置对应的点云对象对应同一实体目标。即后文中的目标对象与目标点云对象在位置上对应。
72.例如,以自动驾驶车外出跑一趟回来为例,该自动驾驶车同时带有摄像头的数据,
以及激光点云的数据。
73.在获取第一图像和初始点云之前,需要提前对摄像头做内参标定,得到摄像头的内参矩阵k(3x3);以及对摄像头-激光雷达的外参标定,得到外参矩阵t
lc
(4x4矩阵),外参矩阵t
lc
(4x4矩阵)包括旋转(rlc,3x3矩阵)和平移(t
lc
,3x1矩阵)。下述为外参矩阵的一种表达方式:
[0074][0075]
由于激光雷达的视场通常比较大,一个激光雷达需要多个摄像头才能完全覆盖它的视场。比如一个360
°
视场的激光雷达,通常需要4个甚至8个摄像头与之共同使用。因此,在标定时就需要同时标定多个摄像头分别跟激光雷达之间的外参。
[0076]
一些实施方式中,还可对初始点云数据进行增强和完整化,具体如下:
[0077]
由激光雷达收集的点云数据,特别是那些来自室外场景的点云数据,遭受不同种类的质量问题,如噪音,异常值,和遗漏点。可以采用下述方式补全缺失的点,移除掉异常的点。
[0078]
(1)discriminative methods
[0079]
传统的方法包括局部表面拟合、邻域平均和猜测底层噪声模型。
[0080]
pointcleannet提出了一种基于数据驱动的方法去消除错误点减少噪声。
[0081]
pcpnet首先对异常值进行分类并丢弃它们,然后估计一个将噪声投影到原始表面的修正投影。
[0082]
total denoising,在不需要额外数据的情况下实现非监督降噪对点云数据。
[0083]
临界点层(cpl)在保留重要点的同时学会减少点的数量。这一层是确定性的,不确定顺序的,并且通过避免邻接搜索也很有效。
[0084]
通过将采样后的点近似为原始点的混合来逼近点采样的可微松弛。
[0085]
(2)generative methods
[0086]
通过生成假样本,帮助定位网络的潜在缺陷。
[0087]
point perturbation and point generation:扰动是通过对已有的点进行可忽略的移动来实现的,生成是通过添加一些独立分散的点或少量具有预定义形状的点簇来实现的。
[0088]
除了对抗性生成,生成模型也用于点云数据上采样。向上采样点云数据通常有两种动机。一是减少数据的稀疏性和不规则性,二是恢复遮挡造成的缺失点。
[0089]
一些实施方式中,可采用下述方式获取时域同步的第一图像和初始点云:
[0090]
对采集的点云数据进行采样,得到采样结果;
[0091]
对所述采样结果进行滤波处理,得到所述初始点云数据。
[0092]
本实施方式中,对采集到的激光雷达点云数据可以先做一次下采样,得到降低密度的点云数据。再对下采样的结果做双边滤波,使结果更平滑,同时可以保留边缘信息。最终得到的是处理后的点云数据。用这个最终数据代替原始的点云数据,为后续识别点云对象做准备,进而可以加快速度,提高识别准确率。
[0093]
102、确定所述第一图像中的目标对象。
[0094]
其中,目标对象可包括运动设备和物体中的至少一种。一些实施方式中,可根据
deeplabv3、yolo等ai识别方法识别出第一图像中的目标对象(即感兴趣的目标对象),具体可将目标对象在第一图像中用矩形框标记出来。(如图2b中的矩形框,每一个矩形框代表一个识别的目标对象,均对应着各自目标对象的对象类别)。
[0095]
本技术实施例不对目标对象的个数、对象类型等属性特征作限定。
[0096]
本技术实施例中,为了后续将初始点云数据映射到第一图像上,还可先获取所述目标对象对应的第一像素点集合。获取该第一像素点集合后,即可根据初始点云数据与第一图像之间的预设映射关系,将初始点云映射到第一图像上。其中,所述第一像素点集合是指所述目标对象中各像素点映射到空间坐标系后的点集合。
[0097]
一些实施方式中,所述获取所述第一图像中目标对象对应的第一像素点集合,包括:
[0098]
从所述第一图像中识别至少一个所述目标对象,所述目标对象至少包括运动设备和物体中的一项;
[0099]
将所述目标对象还原到空间位置,得到第一像素点集合,所述第一像素点集合是指所述目标对象中各像素点映射到空间坐标系后的点集合;
[0100]
在得到第一像素点集合后,可将初始点云数据中各点的空间位置与目标物体框对应,即将初始点云数据中各点的空间位置映射到目标物体框内。其中,所述目标物体框为用于标注所述目标对象的标注框。
[0101]
在确定所述第一图像中的目标对象后,即可开始进行对象识别。下面介绍本技术实施例所提供的一种对象识别方法,本技术实施例包括:
[0102]
103、根据预设映射关系和所述目标对象,确定所述初始点云数据中的目标点云对象。
[0103]
其中,所述预设映射关系包括所述第一图像和所述初始点云数据之间的坐标映射关系。该预设映射关系包括所述第一图像上任意像素点与所述初始点云上的任意点之间的坐标映射关系(也可称作坐标变换关系、坐标转换关系,本技术实施例均不对此作限定)。
[0104]
所述目标对象与所述目标点云对象对应同一实体目标。即在第一图像中识别出的目标对象为车辆1时,对应到初始点云上标注出的目标点云对象实质上也是该车辆1,仅仅是显示或表征该同一车辆1的方式不同。
[0105]
104、获取所述目标对象覆盖的目标点云数据。
[0106]
其中,目标点云则是初始点云数据中对应目标点云对象的点云数据,即目标点云为识别出的要标注的点云对象。
[0107]
由于目标点云对象与目标对象对应同一实体目标,因此,根据预设映射关系将初始点云数据映射到第一图像上后,就相当于同时将目标点云对象的点云数据映射到第一图像中目标对象所占的区域。因此,目标点云数据是指将初始点云投射到第一图像上后,与目标点云对象对应的目标对象在第一图像上所覆盖的区域内的点云数据,例如图2c所示。
[0108]
一些实施方式中,所述根据预设映射关系和所述目标对象,确定所述初始点云数据中的目标点云对象;以及获取所述目标对象覆盖的目标点云,包括下述步骤(1)和步骤(2):
[0109]
(1)根据所述映射关系将所述初始点云数据映射到所述第一图像中,以将所述目标点云对象映射到所述目标对象在所述第一图像的所占区域,得到第二图像。
[0110]
一些实施方式中,可采用下述投影公式将初始点云数据映射到第一图像中:
[0111][0112]
其中,u和v为所提取的棋盘格的角点在图像坐标系的坐标,r
lc
和t
lc
是图像坐标系向激光点云坐标系的变换矩阵,p是lidar点云数据中某个点的三维坐标,z称为深度,k是摄像头的内参数矩阵,例如3x3矩阵,[fx,0,cx;0,fy,cy,0,0,1],k可以通过标定获得,k的取值可固定不变。该公式(1)为三元一次方程,且有唯一解,该唯一解即初始点云投影到第一图像上后的坐标。
[0113]
以图2a所示的初始点云数据为例,通过上述公式(1)可以将空间的初始点云数据还原到第一图像上,得到如图2b所示的第二图像。将初始点云数据还原到第一图像上后,即可得到某个点云数据在第二图像上对应的像素坐标。最终的还原结果可参考图2b。
[0114]
同时使用deeplabv3或yolo等ai识别方法,将感兴趣的目标对象在第二图像中用矩形框标记出来。(如图2b中的矩形框,每一个矩形框代表一个识别结果,都对应着各自目标对象的对象类别)。
[0115]
(2)根据所述目标对象确定目标点云数据。
[0116]
其中,所述目标点云数据为所述第二图像上与所述目标对象位置匹配的区域内的点云数据的集合。即,所述目标点云数据是指覆盖所述目标对象的点的集合。该目标点云数据中的点均来自上述初始点云数据。具体来说,确定目标点云时,可通过将第二图片上同一矩形框对应的3d点云数据提取出来,将该3d点云数据记为一次分类结果。
[0117]
一些实施方式中,所述根据所述目标对象确定目标点云数据,包括:
[0118]
a、获取所述初始点云数据在所述第二图像上的第二坐标集合。
[0119]
其中,第二坐标集合包括初始点云数据中各点在第二图像上的坐标;
[0120]
由于初始点云能够表征初始点云数据中的任意点的三维坐标,且第二图像也具有对应的图像坐标系,因此,在步骤(2)中将初始点云数据映射到第二图像上后,就可以获取被映射到第二图像上的初始点云数据中的各点的坐标,将这些点的坐标的集合看作上述第二坐标集合。
[0121]
一些实施方式中,可采用下述方式获取上述第二坐标集合:
[0122]
获取初始点云数据、深度、第一表达式和目标像素点的坐标,所述目标像素点为所述初始点云数据中的任意像素点;
[0123]
根据所述深度、所述第一表达式和所述目标像素点的坐标,将所述初始点云映射到第一图像上,得到所述初始点云数据在所述第二图像上的第二坐标集合。
[0124]
b、根据所述第二坐标集合和所述目标对象,确定所述第二图像中与所述目标对象匹配的目标点云数据。
[0125]
其中,所述目标点云数据包含于所述初始点云,即目标点云为初始点云的子集或全集,具体根据第二图像中识别出的目标对象的个数、对象类型来定,本技术实施例不对此作限定。
[0126]
本实施方式中,将所述初始点云数据映射到所述第一图像中实质上是将初始点云数据中各点的空间位置(或坐标)映射到所述第二图像中的目标标注框,所述目标标注框用
于标注所述目标对象。
[0127]
相应的,由于已经通过对象识别相关方式从第二图像中识别出目标对象,且用目标标注框分别将目标对象标注(例如框选、加背景等突出显示方式,本技术实施例不对此作限定),因此,所述确定所述第二图像中与所述目标对象匹配的目标点云数据,包括:
[0128]
从所述初始点云数据中获取所述目标点云对象的点云数据;
[0129]
根据所述第二坐标集合,将所述目标点云对象的点云数据即目标点云对象的空间位置与目标标注框对应,得到所述目标点云数据;所述目标标注框用于标注所述第二图像中的目标对象。
[0130]
举例来说,基于图2b所示的图,通过对第二图像进行对象识别,识别出目标对象(例如图2b中的矩形框线),这些矩形框线内的目标对象都对应有初始点云数据中的点,由于将第二图像中的目标对象作为识别目标,因此仅需要将第二图像上该目标对象所覆盖的点集合作为要保留的目标点云数据,即通过第二图像的图像识别结果(即图2b中的矩形框线)保留对应第二图像中除目标对象覆盖的点云3d点。目标点云可参考图2c所示的效果图。
[0131]
一些实施方式中,所述获取所述初始点云在所述第二图像上的第二坐标集合,确定所述第二图像中与所述目标对象匹配的目标点云数据,包括:
[0132]
a、获取初始点云、深度、第一表达式和目标像素点的坐标。
[0133]
其中,所述目标像素点为所述初始点云数据中的任意像素点。
[0134]
一些实施方式中,第一表达式可为上述公式(1)。
[0135]
b、根据所述深度、所述第一表达式和所述目标像素点的坐标,将所述初始点云数据映射到第一图像上,得到所述初始点云在所述第一图像上的第二坐标集合。
[0136]
c、识别所述第一图像中的目标对象,根据所述目标对象确定目标点云数据。
[0137]
其中,所述目标点云数据为所述第一图像上与所述目标对象位置匹配的区域内的点云的集合。
[0138]
由于目标点云数据已得出,那么可根据上述预设映射关系将目标点云数据还原到初始点云数据中,这样还原到初始点云数据中的目标点云数据所覆盖的点点数据就是目标点云对象。因此,可在初始点云数据上对该目标点云对象进行标注。
[0139]
可见,通过本实施方式,能够快速的将第一图像中的目标对象、以及初始点云数据中的目标点云对象分别进行标注,从而有效提高标注对象的效率和准确率。
[0140]
105、根据所述目标对象的对象类型和所述目标点云数据确定所述目标对象的标注样本。
[0141]
其中,标注样本是指具有多维坐标数据的至少一个点云对象,该标注样本除了具备点云数据的空间位置,还同时具备点云对象的对象类型,对象类型则是对点云对象的一种标注。例如图3所示,图3为基于图2c从第二图像中筛选出目标点云数据后,在初始点云数据中对目标点云数据所占据的点的标注了对象类型后的一种示意图,即图3为标注样本的一种示意图。
[0142]
对象类型是指所述目标对象的属性,例如,行人、各种机动车及非机动车辆(分类型)、路牌、路面标识、卡车或者小轿车或者三轮车或者行人等。
[0143]
由于在上述第二图像中确定出目标点云数据,而第二图像中也已经识别出目标对象,也就是说第二图像中的目标对象的对象类型能够被识别出来(例如通过图像识别方
式),再加上标注样本能够表征第一目标图像的轮廓、在第二图像中的坐标等信息,那么,将标注样本和对象类型进行匹配后即可作为识别结果输出。
[0144]
一些实施方式中,所述根据所述目标点云对象得到点云样本和所述目标点云对象的对象类型,包括:
[0145]
对映射到所述第二图像上的所述初始点云数据进行聚类,以去除所述初始点云数据中孤立的点,得到所述目标点云数据和所述目标点云对象的对象类型,所述目标点云数据包括至少一个目标点云对象的点云数据。
[0146]
其中,聚类可采用kd-tree、oc-tree+k-nearestneighbor等方式,本技术实施例均不对此作限定。
[0147]
可见,通过聚类,能够找到离群的孤立点并去除,从而得到最终的识别结果,即目标点云数据。
[0148]
相较于现有技术中需要分别标注图像和点云数据中的物体,再将同一物体关联,且需要多次缩放、平移、旋转等操作,才能在点云数据中找出所需要标注的数据而言。由于本技术实施例充分的利用在图像上标注速度通常比传统点云标注要快这一特性,所以能够有效提高标注速度。具体来说,先通过标注出第二图像中的目标对象(例如物体),再利用程序标注出初始点云数据中对应的物体,这样就能够有效提高标注速度。
[0149]
另一些实施方式中,还可以利用对第一图像的识别结果(即识别出目标对象),运行程序标注初始点云数据中的对应物体,进而显著加快标注速度。
[0150]
106、输出识别结果。
[0151]
其中,所述识别结果根据所述标注样本和所述对象类型得到。该识别结果可直接包括所述标注样本和所述对象类型,也可是将所述标注样本和所述对象类型进行匹配的结果,具体本技术实施例不对此作限定。
[0152]
本技术是实施例中,根据预设映射关系和所述目标对象确定初始点云数据中的目标点云对象,而目标对象与目标点云对象对应同一实体目标,因此,在第二图像上获取的目标对象覆盖的目标点云数据则是对应到初始点云数据中目标点云对象的点。这样,根据所述目标对象的对象类型和所述目标点云数据即可确定所述目标对象的标注样本,且该标注样本为对目标对象的多维标注,更加能够提高识别与估计周围环境中车辆、车道线、行人、交通标识等关键要素的语义和几何信息,进而辅助自动驾驶车辆对环境进行感知并规划自动行驶路线。
[0153]
具体来说,一方面中,本技术实施例充分的利用在图像上标注速度通常比传统点云标注要快这一特性,所以能够有效提高标注速度。具体来说,先通过标注出第二图像中的目标对象(例如物体),再利用程序标注出初始点云数据中对应的物体,这样就能够有效提高标注速度。另一方面中,由于能够快速的将第一图像中的目标对象、以及初始点云数据中的目标点云对象分别进行标注,从而有效提高标注对象的效率和准确率。
[0154]
图1至图3中任一项所对应的实施例中所提及的任一技术特征也同样适用于本技术实施例中的图4至图7所对应的实施例,后续类似之处不再赘述。
[0155]
以上对本技术实施例中一种对象识别方法进行说明,以下对执行上述对象识别方法的对象识别装置进行介绍。
[0156]
参阅图4,如图4所示的一种对象识别装置40的结构示意图,其可应用于对自动驾
驶领域中采集的图像和点云数据进行对象识别,例如对行车记录仪采集的图像进行对象识别并标注,以及对雷达获取的点云数据进行对象识别,以便辅助自动驾驶车辆对驾驶中的环境特征进行识别和路线规划。本技术实施例中的对象识别装置40能够实现对应于上述图1-图3任一所对应的实施例中由对象识别装置所执行的对象识别方法的步骤。装置40实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述装置40可包括输入输出模块401和处理模块402。所述输入输出模块401和处理模块402的功能实现可参考图1-图3任一所对应的实施例中所执行的操作,此处不作赘述。
[0157]
一些实施方式中,所述输入输出模块401可用于获取时域同步的第一图像和初始点云;
[0158]
所述处理模块402可用于根据预设映射关系和第一图像中的目标对象,确定初始点云数据中的目标点云对象,其中,所述预设映射关系包括所述第一图像和所述初始点云数据之间的坐标映射关系,所述目标对象与所述目标点云对象对应同一实体目标;所述第一图像和所述初始点云在时域上同步;
[0159]
所述输入输出模块401可用于获取所述目标对象覆盖的目标点云数据;
[0160]
所述处理模块402还用于根据所述目标对象的对象类型和所述目标点云数据,确定所述目标点云数据中每一个对象的标注样本;根据所述标注样本和所述对象类型得到对象识别结果;
[0161]
所述输入输出模块401还可用于输出识别结果,所述识别结果由所述处理模块根据所述标注样本和所述对象类型得到。
[0162]
一些实施例中,所述处理模块402具体用于:
[0163]
根据所述映射关系将所述初始点云数据映射到所述第一图像中,以将所述目标点云对象映射到所述目标对象在所述第一图像的所占区域,得到第二图像;
[0164]
根据所述目标对象确定目标点云数据,所述目标点云数据为所述第二图像上与所述目标对象位置匹配的区域内的点云的集合。
[0165]
一些实施例中,所述处理模块402还用于:
[0166]
获取所述第一图像中目标对象对应的第一像素点集合。
[0167]
一些实施例中,所述处理模块402具体用于:
[0168]
从所述第一图像中识别至少一个所述目标对象,所述目标对象至少包括运动设备和物体中的一项;
[0169]
将所述目标对象还原到空间位置,得到第一像素点集合,所述第一像素点集合是指所述目标对象中各像素点映射到空间坐标系后的点集合;
[0170]
一些实施例中,所述处理模块402具体用于:
[0171]
获取所述初始点云在所述第二图像上的第二坐标集合;
[0172]
根据所述第二坐标集合和所述目标对象,确定所述第二图像中与所述目标对象匹配的目标点云数据,所述目标点云数据包含于所述初始点云数据。
[0173]
一些实施例中,所述处理模块402具体用于:
[0174]
从所述初始点云数据中获取所述目标点云对象的点云数据;
[0175]
根据所述第二坐标集合,将所述目标点云对象的点云数据与目标标注框对应,得
到所述目标点云;所述目标标注框用于标注所述第二图像中的目标对象。
[0176]
一些实施例中,所述处理模块402具体用于:
[0177]
获取初始点云数据、深度、第一表达式和目标像素点的坐标,所述目标像素点为所述初始点云数据中的任意像素点;
[0178]
根据所述深度、所述第一表达式和所述目标像素点的坐标,将所述初始点云数据映射到第一图像上,得到所述初始点云数据在所述第一图像上的第二坐标集合;
[0179]
识别所述第一图像中的目标对象,根据所述目标对象确定目标点云数据,所述目标点云数据为所述第一图像上与所述目标对象位置匹配的区域内的点云的集合。
[0180]
一些实施例中,所述处理模块402获取所述目标点云对象覆盖的目标点云数据之后,还用于:
[0181]
对映射到所述目标点云数据进行聚类,以去除所述目标点云数据中的离散点,所述目标点云数据包括至少一个目标点云对象的点云数据。
[0182]
一些实施例中,所述处理模块402根据预设映射关系和第一图像中的目标对象,确定初始点云数据中的目标点云对象之前,还用于:
[0183]
对采集的点云数据进行采样,得到采样结果;
[0184]
对所述采样结果进行滤波处理,得到所述初始点云数据。
[0185]
本技术实施例中,由于处理模块402对根据预设映射关系和所述目标对象确定初始点云数据中的目标点云对象,而目标对象与目标点云对象对应同一实体目标,因此,在第二图像上获取的目标对象覆盖的目标点云数据则是对应到初始点云数据中目标点云对象的点。这样,根据所述目标对象的对象类型和所述目标点云即可确定所述目标对象的标注样本,且该标注样本为对目标对象的多维标注,更加能够提高识别与估计周围环境中车辆、车道线、行人、交通标识等关键要素的语义和几何信息,进而辅助自动驾驶车辆对环境进行感知并规划自动行驶路线。
[0186]
上面从模块化功能实体的角度对本技术实施例中的执行对象识别方法的对象识别装置40进行了描述,下面从硬件处理的角度分别对本技术实施例中的执行对象识别方法的对象识别装置进行描述。需要说明的是,在本技术实施例图4所示的实施例中的输入输出模块401对应的实体设备可以为输入/输出单元、收发器、射频电路、通信模块和输出接口等,处理模块402对应的实体设备可以为处理器。图4所示的对象识别装置40可以具有如图5所示的结构,当图4所示的对象识别装置40具有如图5所示的结构时,图5中的处理器和收发器能够实现前述对应该对象识别装置40的装置实施例提供的输入输出模块401和处理模块402相同或相似的功能,图5中的存储器存储处理器执行上述对象识别方法时需要调用的计算机程序。
[0187]
本技术实施例还提供了另一种对象识别装置,如图6所示,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术实施例方法部分。该对象识别装置可以为包括手机、平板电脑、个人数字助理(英文全称:personal digital assistant,英文简称:pda)、销售对象识别装置(英文全称:point of sales,英文简称:pos)、车载电脑等任意对象识别装置,以对象识别装置为手机为例:
[0188]
图6示出的是与本技术实施例提供的对象识别装置相关的手机的部分结构的框图。参考图6,手机包括:射频(英文全称:radio frequency,英文简称:rf)电路710、存储器
720、输入单元730、显示单元740、传感器780、音频电路760、无线保真(英文全称:wireless-fidelity,英文简称:wi-fi)模块7100、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0189]
下面结合图6对手机的各个构成部件进行具体的介绍:
[0190]
rf电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,rf电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:low noise amplifier,英文简称:lna)、双工器等。此外,rf电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:global system of mobile communication,英文简称:gsm)、通用分组无线服务(英文全称:general packet radio service,英文简称:gprs)、码分多址(英文全称:code division multiple access,英文简称:cdma)、宽带码分多址(英文全称:wideband code division multiple access,英文简称:wcdma)、长期演进(英文全称:long term evolution,英文简称:lte)、电子邮件、短消息服务(英文全称:short messaging service,英文简称:sms)等。
[0191]
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0192]
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0193]
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(英文全称:liquid crystal display,英文简称:lcd)、有机发光二极管(英文全称:organic light-emitting diode,英文简称:oled)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事
件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
[0194]
手机还可包括至少一种传感器780,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0195]
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经rf电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
[0196]
wi-fi属于短距离无线传输技术,手机通过wi-fi模块7100可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wi-fi模块7100,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
[0197]
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
[0198]
手机还包括给各个部件供电的电源790(比如电池),电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0199]
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0200]
在本技术实施例中,该手机所包括的处理器780还具有控制执行以上由图4所示的对象识别装置40执行的方法流程。上述实施例中由对象识别装置所执行的步骤可以基于该图7所示的手机结构。例如,所述处理器722通过调用存储器732中的指令,执行以下操作:
[0201]
根据预设映射关系和第一图像中的目标对象,确定初始点云数据中的目标点云对象,其中,所述预设映射关系包括所述第一图像和所述初始点云数据之间的坐标映射关系,所述目标对象与所述目标点云对象对应同一实体目标;所述第一图像和所述初始点云在时域上同步;
[0202]
通过输入单元730获取所述目标对象覆盖的目标点云数据;
[0203]
根据所述目标对象的对象类型和所述目标点云数据,确定所述目标点云数据中每一个对象的标注样本;根据所述标注样本和所述对象类型得到对象识别结果;
[0204]
还可以通过rf电路710输出识别结果。
[0205]
如图7所示,图7是本技术实施例提供的一种服务器结构示意图,该服务器820可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:central processing units,英文简称:cpu)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器820上执行存储介质830中的一系列指令操作。
[0206]
服务器820还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如windows server,mac os x,unix,linux,freebsd等等。
[0207]
上述实施例中由对象识别装置40所执行的步骤可以基于该图7所示的服务器820的结构。例如,例如上述实施例中由图7所示的服务端50所执行的步骤可以基于该图7所示的服务器结构。例如,所述处理器822通过调用存储器832中的指令,执行以下操作:
[0208]
通过输入输出接口858获取时域同步的第一图像和初始点云;
[0209]
确定所述第一图像中的目标对象;根据预设映射关系和所述目标对象,确定所述初始点云数据中的目标点云对象,所述预设映射关系为所述第一图像和所述初始点云数据之间的坐标映射关系,所述目标对象与所述目标点云对象对应同一实体目标;获取所述目标对象覆盖的目标点云;根据所述目标对象的对象类型和所述目标点云确定所述目标对象的标注样本;
[0210]
通过输入输出接口858输出识别结果,所述识别结果由所述处理模块根据所述标注样本和所述对象类型得到。
[0211]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0212]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0213]
在本技术实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0214]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0215]
另外,在本技术实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集
成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0216]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0217]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0218]
以上对本技术实施例所提供的技术方案进行了详细介绍,本技术实施例中应用了具体个例对本技术实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术实施例的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1