具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
可移动平台在行驶过程中,可以通过可移动平台上的路径规划(planning)模块来对可移动平台的行驶状态进行决策规划。其中,点云分割是对可移动平台的行驶状态进行决策规划的重要环节。如图1所示,是一些实施例的点云分割过程的示意图。在步骤101中,可以由可移动平台上的点云采集装置采集三维点云,然后,在步骤102中,对于行驶在地面上的可移动平台(例如无人车),可以对采集到的三维点云进行地面分割,即将三维点云中的三维点分割为地面点和非地面点。对于其他类型的可移动平台(例如可移动机器人),可以对采集到的三维点云进行分割,以将三维点云中的三维点分割为可移动平台行驶路面上的点和不在可移动平台行驶路面上的点。为了便于描述,下文以行驶路面为地面进行说明。在步骤103中,如果一个三维点为地面点,则执行步骤104,为该三维点添加地面点标签,否则执行步骤105,对该三维点进行动静态分割,即将该三维点分割为静止不动的静态点和发生运动的动态点。在步骤106中,如果一个三维点为静态点,则执行步骤107,为该三维点添加静态点标签,否则执行步骤108,为该三维点添加动态点标签,并在步骤109中输出带标签的三维点云至下游模块。其中,可以为三维点云中的全部或者部分三维点打标签。所述标签可以包括用于表征三维点是否为地面点的第一标签和用于表征三维点是否为静态点的第二标签中的至少一者,还可以包括用于表征三维点的其他信息的标签。
所述下游模块可以是可移动平台上的planning模块,例如电子控制单元(Electronic Control Unit,ECU)、中央处理器(Central Processing Unit,CPU)等。Planning模块在接收到带标签的三维点云之后,可以基于三维点的标签对可移动平台的行驶状态进行决策规划。所述行驶状态可以包括可移动平台的位姿和速度中的至少一者。如图2所示,是一些实施例的决策规划过程的示意图。在步骤201和步骤202中,planning模块可以接收三维点云并读取三维点云中携带的标签。在步骤203中,可以基于标签确定三维点云中的三维点是否为可移动平台行驶路面(例如地面)上的点。以地面点为例,如果是,则执行步骤204,从地面点中识别出属于车道线的三维点,并根据车道线的方向确定可移动平台的姿态,以使可移动平台沿着车道线的方向行驶。如果是非地面点,则执行步骤205,判断该非地面点是否为静态点。如果是,则执行步骤206,根据静态点的方位确定可移动平台的位姿。例如,判断该静态点是否处于预先规划的行驶路径上,如果是,则重新规划路径,以避免可移动平台与静态点相撞。如果该非地面点为动态点,则执行步骤207,根据该静态点的方位和速度确定可移动平台的姿态和速度中的至少一者。例如,若该动态点处于可移动平台预先规划的行驶路径上,且该动态点的移动速度小于或等于可移动平台的移动速度,则控制可移动平台减速行驶,或者调整可移动平台的姿态,以使可移动平台绕过该动态点。又例如,可以控制可移动平台按照与动态点相同的速度行驶。
由此可知,点云分割是对可移动平台的行驶状态进行决策规划的重要环节,准确地进行点云分割有助于对可移动平台的行驶状态进行准确的决策规划。传统的点云分割方式一般是先对点云进行检测识别,以确定点云所属的类别,再基于点云所属的类别确定可能发生运动的点云,并对可能发生运动的点云进行跟踪,从而区分出运动的点云和静止的点云。这种方式称为基于检测(detection)的点云分割方式。
目前,基于检测的点云分割方式主要有两种。一种是图像空间的目标检测,将检测结果表示为二维的包围盒,最后将三维点云投影到图像,判断三维点云是否在图像的二维包围盒中。另一种是点云空间的目标检测,将检测结果表示为三维包围盒,直接在三维空间中判断三维点云是否在检测出的三维包围盒中。然而,上述两种方式是基于数据驱动的,都需要通过训练集来训练检测模型,并通过检测模型进行目标检测。在遇到训练集之外的异形车等物体时,检测模型往往会失效,从而影响点云分割的可靠性。此外,基于图像的检测方式需要额外依赖图像进行检测,不适用于激光雷达智能传感器使用,且相机和激光雷达一旦布置位置较远,物体遮挡时投影会出现前背景偏差,且在近处前背景偏差问题尤为显著。而基于空间的检测方式准确度一般低于基于图像的检测方式,并且在远处点云稀疏的区域尤其明显。综上所述,传统的点云分割方式的可靠性较低。
基于此,本公开提供一种三维点云分割方法,用于对可移动平台采集到的三维点云进行点云分割,如图3所示,所述方法包括:
步骤301:基于预先建立的运动假设模型中的运动假设,将所述可移动平台采集到的多帧三维点云投影到预设坐标系下,获取所述运动假设对应的投影密度;
步骤302:基于多个所述运动假设对应的投影密度,从多个所述运动假设中确定匹配运动假设;
步骤303:基于所述匹配运动假设对所述多帧三维点云中的第一三维点云进行点云分割。
本公开利用了多假设跟踪(Multiple Hypothesis Tracking,MHT)技术,MHT会为每个候选目标建立一个潜在的跟踪假设树,然后,计算每一个跟踪的概率,选出最有可能的跟踪组合。本公开只依赖三维点云本身进行点云分割,不需要检测出三维点云所属的类别,因此没有对图像目标检测的依赖,更不存在和图像坐标系原点对齐减少遮挡偏差的需求;由于本公开不依赖数据驱动的方法,因此也不存在数据训练集之外异形物体漏检的风险;本公开对点云密度要求很低,因此在远处点云稀疏的区域,利用本公开的方法也能够实现较为准确的点云分割。
本公开可以对点云采集装置采集到的三维点云中的每个三维点进行处理,以对所述每个三维点进行点云分割,也可以对采集到的三维点云先进行预分割(也称为地面分割),以确定可移动平台行驶路面上的三维点和可移动平台行驶路面以外的三维点,再对可移动平台行驶路面以外的三维点进行点云分割。其中,所述行驶路面可以是车辆行驶的地面或者可移动机器人行驶的玻璃平面等。预分割可以采用RANSAC地面模型拟合等方式实现,本公开对此不做限制。对于后一种情况,可以在预分割之后,为三维点云中的每个三维点添加第一标签,用于指示所述每帧三维点云中属于所述可移动平台行驶路面之外的三维点,然后,仅将每帧三维点云中携带所述第一标签的三维点投影到预设坐标系下。对于不携带第一标签的三维点,可以不进行处理。
在一些实施例中,由于点云采集装置采集三维点云的频率较高,相邻两帧三维点云中的三维点的运动不够显著,可以对可移动平台采集到的多帧原始三维点云进行分频处理,得到需要进行点云分割的多帧三维点云。这样,一方面可以提高进行点云分割的各帧三维点云中三维点的运动显著性,另一方面可以降低算力消耗,节约***资源。可选地,可以采用二分频。例如,可以将三维点云的时间戳对200ms取模,如果结果为0,则对该帧三维点云进行点云分割,如果结果不为0则对该帧三维点云不进行点云分割。由于运动属性的判定利用单帧点云是无法完成的,需要在时间序列上才能判定哪些点云是运动的。因此,可以需要进行点云分割的多帧三维点云加入点云队列,并为队列中的多帧三维点云进确定匹配运动假设,从而进行点云分割。进一步地,为了提高观测证据的显著性,还可以待点云队列累积到一定时长(例如,3秒),再执行本公开的点云分割过程。如果点云队列未累积到一定时长,则继续累积。
在步骤301中,可以由可移动平台上的点云采集装置(例如激光雷达、视觉传感器等)采集三维点云。所述可移动平台可以是无人车、无人机、无人船、可移动机器人等。预设坐标系可以是可移动平台当前的车体坐标系,该坐标系以可移动平台当前的位置为坐标原点。或者,预设坐标系也可以是世界坐标系或者预先选定的其他坐标系。
运动假设模型用于对可移动平台的运动速度进行假设,一个运动假设模型中可以包括一个或多个运动假设,每种运动假设可对应一种运动速度矢量,即,不同的运动假设可以具有不同的运动速度大小和/或运动方向。如图4所示,是一些实施例的运动假设模型的示意图。其中,每个带箭头的射线表示一个运动假设,射线的长度表示速度的大小,射线的方向表示速度的方向。例如,第一象限的射线401至404表示速度方向为0°至90°,速度大小为正;第二象限的射线405至409表示速度方向为-90°至0°,速度大小为正;第三象限的射线(图中未示出)表示速度方向为-90°至0°,速度大小为负;第四象限的射线410表示速度方向为0°至90°,速度大小为负。其中,射线407和射线408的方向相同但长度不同,表示速度方向相同但速度大小不同的两种运动假设。在可移动平台为车辆的情况下,由于车辆都是在平地上运动,因此,所有假设中,竖直方向上的运动都认为速度为0。在可移动平台为可移动机器人或者无人机等情况下,竖直方向上的运动速度也可能不为0。
本领域技术人员可以理解,以上实施例中的运动假设模型仅为示例性说明,在实际应用中,运动假设模型中包括的运动假设的数量以及各个运动假设对应的速度方向和大小可以根据实际需要(例如,点云分割的准确度要求、***算力等)确定,本公开对此不做限制。在一些实施例中,运动假设模型中各个运动假设的运动速度的范围和运动方向的范围中的至少一者可以基于可移动平台所处的环境特征而确定。所述环境特征可包括用于表征环境类型(例如,城市环境、高速公路环境)的特征,用于表征环境光照情况(例如,白天、夜晚)的特征,和/或用于表征环境气候(例如,晴天、大雾、暴雪)的特征。环境特征可基于可移动平台采集到的道路语义信息、可移动平台的位置信息、可移动平台接收到的信息等确定。在可移动平台所处环境的环境特征不同的情况下,所采用的运动假设模型中包括的运动假设的速度和/或方向也可以不同。例如,在大雾、暴雪等恶劣气候环境下,运动假设的速度一般较小。又例如,在高速公路环境下,速度的范围一般较小。在另一些实施例中,还可以根据可移动平台的类型(例如,车辆、无人机、可移动机器人等)来确定运动假设的速度和方向的范围。
在一些实施例中,运动假设模型中的各个运动假设在所述可移动平台行驶方向上的运动速度在[-40m/s,40m/s]范围内,在与所述可移动平台行驶方向垂直的方向上的运动速度在[-10m/s,10m/s]范围内;在另一些实施例中,运动假设模型中的各个运动假设的运动方向在[-90°,90°)范围内。上述范围可以覆盖可移动平台为车辆时的大多数运动场景,当然,在不同的场景下也可以采用不同的运动假设。
应当说明的是,在实际应用中,可以将可移动平台的行驶过程按时间划分为若干段,当每一段对应的时间足够短(例如,小于或等于3秒),则可以将可移动平台在每个时间段内的运动过程视为匀速直线运动。在匀速直线运动模型下,将可移动平台的横向速度和纵向速度按照一定时间间隔进行采样,可以得到图4所示的运动假设模型。在其他情况下,也可以采用匀加速运动模型、匀减速运动模型等其他运动假设模型对可移动平台的运动过程进行模拟。
在建立好运动假设模型之后,可以基于运动假设模型中的运动假设,将所述可移动平台采集到的多帧三维点云投影到预设坐标系下,获取所述运动假设对应的投影密度。进一步地,还可以基于所述运动假设以及所述可移动平台采集所述多帧三维点云中的每帧三维点云时的位姿,将所述多帧三维点云投影到预设坐标系下:
其中,P
i-n,k表示第i-n帧三维点云在第k个运动假设下的投影点的位置,P
i-n为第i-n帧三维点云中的三维点的位置,预设坐标系为采集第i帧三维点云时的车体坐标系,odom
i-n和odom
i分别表示采集第i-n帧三维点云时可移动平台的位姿和采集第i帧三维点云时可移动平台的位姿,Δt表示采集第i-n帧三维点云与采集第i帧三维点云之间的时间间隔,v
h表示第k个运动假设对应的速度,-1表示矩阵求逆操作。上述过程通过odom
i-n将P
i-n转换到世界坐标系,再通过
将世界坐标系下的点转换到预设坐标系,并通过n*Δt*v
h补偿可移动平台自身运动,从而得到投影点的位置。对于可移动平台是车辆的情况下,可以利用车载***中常使用的消息同步机制,同步接收相同时间戳的三维点云和odometry数据(即车辆的位姿数据),从而为多帧三维点云之间的投影提供位置姿态参考,补偿车辆自身运动造成的偏差。可以对所有三维点云帧和所有运动假设分别作出上述变换,从而完成运动假设的注入。
理想情况下,如果运动假设与可移动平台的真实运动方式相同,则各个投影点对应的是同一个点。在实际情况下,由于可移动平台的运动过程并不能完全等价于匀速直线模型,以及由于噪声和运动假设与可移动平台的运动方式之间存在差异等原因,各个投影点之间可能存在一定的偏差,但只要运动假设与可移动平台的运动方式足够接近,各个投影点之间的偏差应该是较小的,也就是说,各个投影点之间的位置是比较接近的。因此,可以根据投影密度来确定运动假设与可移动平台的运动方式之间是否匹配。因此,在步骤302中,可以基于多个所述运动假设对应的投影密度,从多个所述运动假设中确定匹配运动假设。
具体来说,可以将投影密度最大的运动假设确定为匹配运动假设。进一步地,还可以判断投影密度最大的运动假设与其他任一投影密度之差是否均大于预设值。如果是,则将所述最大投影密度对应的运动假设确定为匹配运动假设。进一步地,还可以判断最大投影密度是否大于预设的投影密度阈值,如果最大投影密度大于预设的投影密度阈值,且投影密度最大的运动假设与其他任一投影密度之差均大于预设值,则将所述最大投影密度对应的运动假设确定为匹配运动假设。通过这种方式,可以提高运动假设的显著性,从而提高点云分割的准确性和可靠性。如果最大权重与至少一个其他权重之差不大于预设值,或者最大投影密度不大于预设的投影密度阈值,则确定所述匹配运动假设不存在。
下面以运动假设A为例,对获取投影密度的方式进行说明,其他运动假设对应的投影密度的获取方式可参见获取运动假设A的投影密度的方式。可以将预设坐标系预先划分为多个栅格,各个栅格的面积和/或形状可以相同,也可以不同。例如,为了便于处理,可以将预设坐标系预先划分为多个尺寸相同的矩形栅格。然后,分别获取运动假设A在各个栅格内对应的投影密度。如图5A所示,每个方格代表一个栅格,方格中的每个数字代表在该栅格内存在投影点的三维点云的帧数,图5A所示的图称为栅格权重图。投影密度可以基于在栅格内存在投影点的三维点云的帧数与栅格面积之比来确定。由于各个栅格的面积都相同,因此可以直接基于在栅格内存在投影点的三维点云的帧数来确定匹配运动假设。应当说明的是,一帧三维点云在一个栅格内可能存在多个投影点,只要这帧三维点云在栅格内存在投影点,无论投影的数量是多少,都将该栅格内存在投影点的三维点云的帧数加1。例如,三维点云1、三维点云2和三维点云3在栅格1内的投影点数分别为1、3和0,则将栅格1内存在投影点的三维点云的帧数记为2。通过统计帧数而不是统计落入栅格内的投影点的点数,能够减少因为扫描到的不同区域内三维点的数量分布不均匀导致的误差。
可以为每个运动假设分别生成一个栅格权重图,假设有H个运动假设,则生成H个栅格权重图。每一个运动假设h,可以将三维点云队列中的全部三维点云帧按照运动假设h变换到当前帧,统计落入每个栅格中的历史三维点云的帧数,如果运动假设h比较接近该栅格内三维点云的真实运动方式,则对应运动假设h的历史三维点云将会大概率重叠在相似的区域,对应的该栅格权重就会变高;反之如果运动假设h与真实运动方式差异较大,则经过运动假设注入的历史点云将小概率重叠,其对应的权重就会很低。
由于邻近区域内的多个三维点的运动方式一般是类似的,因此,若所述栅格内存在匹配运动假设,可以将所述栅格的匹配运动假设确定为所述栅格中各个点对应的三维点的匹配运动假设。
然后,还可以基于匹配运动假设生成掩膜(mask)图,mask图与栅格权重图等尺寸,mask图中的每个栅格包括一个栅格参数,用于记录该栅格的匹配运动假设。如图5B所示,图中的h1至h4分别表示对应栅格的匹配运动假设,null表示栅格不存在匹配运动假设。
在步骤303中,可以基于mask图,对所述多帧三维点云中的第一三维点云进行点云分割,即确定第一三维点云中的三维点是动态点还是静态点。其中,动态点表示运动速度不为0的三维点,静态点表示运动速度为0的三维点。若一个栅格中的匹配运动假设的速度为0,将所述第一三维点云中投影到所述栅格中的三维点分割为静态点。若一个栅格中的匹配运动假设的速度不为0,将所述第一三维点云中投影到所述栅格中的三维点分割为动态点。所述第一三维点云可以包括所述多帧三维点云中的部分或全部三维点云帧。若一个栅格中不存在匹配运动假设,可以将所述第一三维点云中投影到所述栅格中的三维点分割为属性未知的三维点。
基于点云分割结果,可以为所述第一三维点云中的各个三维点打标签。所述标签可以包括数字、字母、符号中的至少一者。以标签包括数字为例,可以用比特1表示动态点,用比特0表示静态点,还可以用比特01表示属性未知的三维点。
在实际应用中,点云分割结果可用于所述可移动平台上的规划单元对所述可移动平台的行驶状态进行规划。例如,规划单元可以基于点云分割结果得到的标签,确定行驶路径上的障碍物的运动速度,从而决定是否需要控制可移动平台的速度和姿态以躲避障碍物。点云分割结果还可以输出至可移动平台上的多媒体***,例如,显示屏、语音播放***等,用于向用户输出多媒体提示信息。
如图6所示,是本公开实施例的点云分割方法的总体流程图。
在步骤601中,可以根据高速公路、城市街道等场景生成多运动假设。
在步骤602中,可以同步接收一帧三维点云以及采集到该帧三维点云的时刻可移动平台的位姿数据。
在步骤603中,可以从接收到的三维点云中去除可移动平台行驶路面(例如,地面)上的点。
在步骤604中,可以按照分频设置判断是否使用本帧三维点云,例如,本帧三维点云的时间戳与200ms进行取模得到的结果为0,则使用本帧三维点云,执行步骤605;否则不使用本帧三维点云,执行步骤606。
在步骤605中,可以将三维点云加入点云队列。
在步骤606中,判断点云队列是否达到最小可计算长度。如果是,执行步骤607,否则返回步骤602。
在步骤607中,可以为当前队列注入H个运动假设。
在步骤608中,可以验证假设并生成mask图。即,分别用每个运动假设将当前帧上的三维点投影到预设坐标系下,判断预设坐标系中的各个栅格是否存在匹配运动假设,并基于每个栅格的匹配运动假设生成mask图。
在步骤609中,可以遍历三维点云,并查询运动mask图,从而为三维点云中的各个三维点生成标签,用于表示各个三维点为动态点或者静态点。
在步骤610中,可以将带标签的三维点云输出至下游模块,例如,可移动平台的planning模块和多媒体***。
在步骤611中,判断程序是否结束。如果程序未结束,则返回步骤602继续进行点云分割。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
本公开实施例还提供一种点云分割装置,包括处理器,所述处理器用于执行以下步骤:
基于预先建立的运动假设模型中的运动假设,将所述可移动平台采集到的多帧三维点云投影到预设坐标系下,获取所述运动假设对应的投影密度;
基于多个所述运动假设对应的投影密度,从多个所述运动假设中确定匹配运动假设;
基于所述匹配运动假设对所述多帧三维点云中的第一三维点云进行点云分割。
在一些实施例中,不同的运动假设对应不同的运动速度和/或运动方向。
在一些实施例中,所述运动假设的运动速度的范围和/或运动方向的范围基于所述可移动平台所处环境的环境特征而确定。
在一些实施例中,所述运动假设在所述可移动平台行驶方向上的运动速度在[-40m/s,40m/s]范围内,在与所述可移动平台行驶方向垂直的方向上的运动速度在[-10m/s,10m/s]范围内。
在一些实施例中,所述运动假设的运动方向在[-90°,90°)范围内。
在一些实施例中,所述处理器用于:基于所述运动假设以及所述可移动平台采集所述多帧三维点云中的每帧三维点云时的位姿,将所述多帧三维点云投影到预设坐标系下。
在一些实施例中,所述多帧三维点云中的每帧三维点云中包括第一标签,用于指示所述每帧三维点云中属于所述可移动平台行驶路面之外的三维点;所述处理器用于:将所述每帧三维点云中携带所述第一标签的三维点投影到预设坐标系下。
在一些实施例中,所述处理器还用于:获取所述可移动平台采集到的多帧原始三维点云;对所述多帧原始三维点云进行分频处理,得到所述多帧三维点云。
在一些实施例中,所述处理器用于:若最大投影密度与其他任一投影密度之差均大于预设值,将所述最大投影密度对应的运动假设确定为匹配运动假设。
在一些实施例中,所述处理器用于:若最大权重与至少一个其他权重之差不大于预设值,确定所述匹配运动假设不存在。
在一些实施例中,所述处理器用于:获取所述运动假设在各个栅格内对应的投影密度。
在一些实施例中,所述处理器还用于:若所述栅格内存在匹配运动假设,将所述栅格的匹配运动假设确定为所述栅格中各个点对应的三维点的匹配运动假设。
在一些实施例中,所述处理器用于:在基于所述运动假设将所述多帧三维点云投影到预设坐标系下之后,获取在所述栅格内存在投影点的三维点云的帧数;将所述帧数与所述栅格的面积之比确定为所述运动假设在所述栅格内对应的投影密度。
在一些实施例中,所述处理器用于:若一个栅格中的匹配运动假设的速度为0,将所述第一三维点云中投影到所述栅格中的三维点分割为静态点;和/或若一个栅格中的匹配运动假设的速度不为0,将所述第一三维点云中投影到所述栅格中的三维点分割为动态点。
在一些实施例中,所述处理器用于:若一个栅格中不存在匹配运动假设,将所述第一三维点云中投影到所述栅格中的三维点分割为属性未知的点。
在一些实施例中,所述处理器还用于:基于点云分割结果,为所述第一三维点云中的各个三维点打标签。
在一些实施例中,所述三维点云基于安装于所述可移动平台上的视觉传感器或者激光雷达采集得到;和/或对所述第一三维点云进行点云分割得到的点云分割结果用于所述可移动平台上的规划单元对所述可移动平台的行驶状态进行规划。
本公开实施例的点云分割装置中处理器所执行的方法的具体实施例可参见前述方法实施例,此处不再赘述。
图7示出了本说明书实施例所提供的一种更为具体的数据处理装置硬件结构示意图,该设备可以包括:处理器701、存储器702、输入/输出接口703、通信接口704和总线705。其中处理器701、存储器702、输入/输出接口703和通信接口704通过总线705实现彼此之间在设备内部的通信连接。
处理器701可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器702可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器702可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器702中,并由处理器701来调用执行。
输入/输出接口703用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口704用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线705包括一通路,在设备的各个组件(例如处理器701、存储器702、输入/输出接口703和通信接口704)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器701、存储器702、输入/输出接口703、通信接口704以及总线705,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
如图8所示,本公开实施例还提供一种可移动平台800,包括壳体801;点云采集装置802,设于所述壳体801上,用于采集三维点云;以及三维点云分割装置803,设于所述壳体801内,用于执行本公开任一实施例所述的方法。其中,所述可移动平台800可以是无人机、无人车、无人船、可移动机器人等设备,所述点云采集装置802可以是视觉传感器(例如双目视觉传感器、三目视觉传感器等)或者激光雷达。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法中由第二处理单元执行的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本公开的范围。
本领域技术人员在考虑公开及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。