发明内容
本发明的一个目的是提供一种新的激光雷达异常点云数据的修正方案。
根据本发明的第一方面,提供一种激光雷达异常点云数据的修正方法,包括:
确定当前帧点云数据中的异常点云数据;一帧点云数据是由激光雷达在一个扫描周期内沿扫描方向顺次扫描得到的多个点云数据组成,每个点云数据包含本次扫描在本次扫描周期内的扫描次序和本次扫描得到的距离数据;
在扫描次序小于所述异常点云数据的扫描次序的正常点云数据中,确定扫描次序与所述异常点云数据的扫描次序最接近的正常点云数据作为第一正常点云数据;
在扫描次序大于所述异常点云数据的扫描次序的正常点云数据中,确定扫描次序与所述异常点云数据的扫描次序最接近的正常点云数据作为第二正常点云数据;
根据所述异常点云数据、所述第一正常点云数据、所述第二正常点云数据,利用线性差值算法修正所述异常点云数据的距离数据。
可选的,所述根据所述异常点云数据、所述第一正常点云数据、所述第二正常点云数据,利用线性差值算法修正所述异常点云数据的距离数据,包括:
确定总扫描次序差值,所述总扫描次序差值为所述第二正常点云数据的扫描次序减去所述第一正常点云数据的扫描次序的差值;
确定总距离差值,所述总距离差值为所述第二正常点云数据的距离数据减去所述第一正常点云数据的距离数据的差值;
还包括:
确定第一扫描次序差值,所述第一扫描次序差值为所述异常云数据的扫描次序减去所述第一正常点云数据的扫描次序的差值;
确定第一比值,所述第一比值为所述第一扫描次序差值与所述总扫描次序差值的比值;
确定第一修正值,所述第一修正值为所述总距离差值与所述第一比值的乘积;
计算所述第一正常点云数据的距离数据与所述第一修正值的和值,作为修正后的异常点云数据的距离数据;
或者,
确定第二扫描次序差值,所述第二扫描次序差值为所述第二正常点云数据的扫描次序减去所述异常云数据的扫描次序的差值;
确定第二比值,所述第二比值为所述第二扫描次序差值与所述总扫描次序差值的比值;
确定第二修正值,所述第二修正值为所述总距离差值与所述第二比值的乘积;
计算所述第二正常点云数据的距离数据减去所述第二修正值的差值,作为修正后的异常点云数据的距离数据。
可选的,所述确定当前帧点云数据中的异常点云数据,包括:
判断所述点云数据的距离数据是否在所述激光雷达的测距范围内;
若否,则确定所述点云数据为异常点云数据。
可选的,所述确定当前帧点云数据中的异常点云数据,包括:
确定帧间距离差值,所述帧间距离差值为当前帧点云数据与前一帧点云数据中扫描次序相同的点云数据的距离数据之间的差值的绝对值;
在当前帧点云数据中提取目标点云数据,所述目标点云数据为当前帧点云数据中帧间距离差值大于第一阈值的点云数据;
将扫描次序连续的目标点云数据划分为到同一个目标点云组中;
如果所述目标点云组中的目标点云数据的个数小于第二阈值,则将该目标点云组确定为第一目标点云组,所述第一目标点云组内的目标点云数据均为异常点云数据。
可选的,根据点云数据的扫描次序和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中;或者,每个点云数据还包含本次扫描的扫描角度数据,根据点云数据的角度数据和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中;
所述方法还包括:
如果所述目标点云组中的目标点云数据的个数大于等于第二阈值,则将该目标点云组确定为第二目标点云组;
确定第二目标点云组中的每个目标点云数据的近邻点云数据的个数,所述目标点云数据的近邻点云数据:在当前帧的二维帧空间中,距离所述目标点云数据的距离在预设距离内的点云数据;
如果所述目标点云数据的近邻点云数据的个数小于第二阈值,则确定所述目标点云数据为异常点云数据。
可选的,根据点云数据的扫描次序和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中;或者,每个点云数据还包含本次扫描的扫描角度数据,根据点云数据的角度数据和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中;
所述方法还包括:
如果所述目标点云组中的目标点云数据的个数大于等于第二阈值,则将该目标点云组确定为第二目标点云组;
确定第二目标点云组中的每个目标点云数据的平均距离,所述目标点云数据的平均距离是指:在当前帧的二维帧空间中,与所述目标点云数据最接近的K个点云数据距离所述目标点云数据的平均距离;
如果所述平均距离大于第三阈值,则确定该目标点云数据为异常点云数据。
可选的,所述第三阈值是通过以下方式确定:
根据第二目标点云组的各个目标点云数据的所述平均距离的均值和标准差确定所述第三阈值。
可选的,在确定当前帧点云数据中的异常点云数据之前,还包括:
对所述当前帧点云数据进行中值滤波处理。
根据本发明的第二方面,提供一种激光雷达异常点云数据的修正装置,包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如本发明的第一方面提供的任一项所述的激光雷达异常点云数据的修正方法。
根据本发明的第三方面,提供一种计算机存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如本发明的第一方面提供的任一项所述的激光雷达异常点云数据的修正方法。
在本发明实施例提供的异常点云数据的修正方法中,对异常点云数据,采用与异常点云数据的扫描次序邻近的第一正常点云数据和第二正常点云数据按照差值算法进行修正,修正后的异常点云数据保持了当前帧点云数据的连续性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<激光雷达异常点云数据的修正方法>
本发明实施例提供的激光雷达异常点云数据的修正方法的执行主体为激光雷达异常点云数据的修正装置。该装置可以是与激光雷达连接的外部电子设备,与激光雷达连接,为激光雷达提供数据修正服务。该装置可以为激光雷达,也可以是包含激光雷达的各种电子设备,例如扫地机器人。或者该装置还可以为激光雷达或者前述电子设备中的硬件模块和/或软件模块。需要说明的是,下述实施例中将以激光雷达作为激光雷达异常点云数据的修正方法的执行主体,对本申请提供的方法进行说明。
本发明实施例提供的激光雷达异常点云数据的修正方法,如图1所示,包括如下S101-S104:
S101、确定当前帧点云数据中的异常点云数据。
其中,当前帧点云数据是由激光雷达在一个扫描周期内沿扫描方向顺次扫描得到的多个点云数据组成,每个点云数据包含本次扫描在本次扫描周期内的扫描次序和本次扫描得到的距离数据。
激光雷达的扫描结果与距离有关,上述的距离数据可以是指激光雷达扫描得到的与扫描对象的距离R。此外,在一个实施例中,扫描方向可以是顺时针,也可以是逆时针。
在一个扫描周期内,激光雷达按照扫描方向顺次进行扫描,一个扫描周期内的总扫描次数=激光雷达的扫描角度范围/激光雷达的扫描角分辨率。例如,在一个扫描周期内,激光雷达的扫描角度的跨度是从0°~360°,则扫描角度范围是360°,如果扫描角分辨率为1°,则一个周期内的总扫描次数为360次,如果扫描角分辨率为0.5°,则一个周期内的总扫描次数为720次。
在一个扫描周期内,按照扫描的时间先后顺序标记每次扫描的扫描次序。可以看出,对于任意一次扫描,扫描次序为该次扫描的扫描角度/扫描角分辨率。
基于上述内容可知,将激光雷达的扫描角度范围记为T,激光雷达的扫描角分辨率记为
扫描角度记为θ,扫描次序记为i,则θ≤T,i为整数,/>
一帧点云数据中的点云数据的扫描次序i依次为:/>
此外,扫描次序i对应的扫描角度,可以记为θ
i。/>
在一种示例中,若激光雷达的扫描角度范围T为360°,扫描角扫描角分辨率
为1°,则扫描角度分别为1°、2°、3°……360°,扫描次序分别为:1、2、3……360。
在另一种示例中,若激光雷达的扫描角度范围T为360°,扫描角扫描角分辨率
为5°,则扫描角度分别为5°、10°、15°……360°,扫描次序分别为:1、2、3……72。
此外,基于上述内容可知,一个点云数据可以表示为(i,R
i),一帧点云数据可以表示为:[(1,R
1),(2,R
2),……,(i-2,R
i-2),(i-1,R
i-1),(i,R
i),(i+1,R
i+1),(i+2,R
i+2),……,
]。
S102、在扫描次序小于异常点云数据的扫描次序的正常点云数据中,确定扫描次序与异常点云数据的扫描次序最接近的正常点云数据作为第一正常点云数据。
S103、在扫描次序大于异常点云数据的扫描次序的正常点云数据中,确定扫描次序与异常点云数据的扫描次序最接近的正常点云数据作为第二正常点云数据。
示例性的,当前帧点云数据表示为[(1,R
1),(2,R
2),……,(i-2,R
i-2),(i-1,R
i-1),(i,R
i),(i+1,R
i+1),(i+2,R
i+2),……,
]。
在一种示例中,根据上述S101确定出(i,Ri)为异常点云数据,且(i-1,Ri-1)和(i+1,Ri+1)为正常点云数据,则根据上述S102可确定出(i,Ri)的第一正常点云数据为(i-1,Ri-1),根据上述S103可确定出的第二正常点云数据为(i+1,Ri+1)。
在另一种示例中,若根据上述S101确定出(i,Ri)和(i+1,Ri+1)均为异常点云数据,(i-1,Ri-1)和(i+2,Ri+2)为正常点云数据。则根据上述S102可确定出(i,Ri)的第一正常点云数据为(i-1,Ri-1),根据上述S103可确定出(i,Ri)的第二正常点云数据为(i+2,Ri+2)。根据上述S102可确定出(i+1,Ri+1)的第一正常点云数据为(i-1,Ri-1),根据上述S102可确定出(i+1,Ri+1)的第二正常点云数据为(i+2,Ri+2)
需要说明的是,本发明实施例对上述S102和S103之间的顺序并不做限定。
S104、根据异常点云数据、第一正常点云数据、第二正常点云数据,利用线性差值算法修正异常点云数据的距离数据。
具体的,上述实施例的线性差值算法为针对一维数据序列的插值方法,可以是根据一维数据序列中需要插值的数据点的左右邻近的两个正常数据点(正常点数据是指无需进行插值的数据点),来对需要插值的数据点进行估计。其中,估计原理为将左右邻近的两个正常数据点间的距离均匀分配到需要插值的数据点。
基于上述内容可知,上述S104可通过下述两种方式实现:
方式一:
参照如图2所示,A、确定总扫描次序差值,总扫描次序差值为第二正常点云数据的扫描次序减去第一正常点云数据的扫描次序的差值。
B、确定总距离差值,总距离差值为第二正常点云数据的距离数据减去第一正常点云数据的距离数据的差值。
C1、确定第一扫描次序差值,第一扫描次序差值为异常云数据的扫描次序减去第一正常点云数据的扫描次序的差值。
C2、确定第一比值,第一比值为第一扫描次序差值与总扫描次序差值的比值。
C3、确定第一修正值,第一修正值为总距离差值与第一比值的乘积。
C4、计算第一正常点云数据的距离数据与第一修正值的和值,作为修正后的异常点云数据的距离数据。
示例性的,异常点云数据包括(i-g,Ri-g),(i-g+1,Ri-g+1),…,(i,Ri),…,(i+h-1,Ri+h-1),(i+h,Ri+h),这些异常点云数据的第一正常点云数据为(i-g-1,Ri-g-1),第二正常点云数据为(i+h+1,Ri+h+1)。
总扫描次序差值可表示为:i+h+1-(i-g-1)=h+g+2;
总距离差值可表示为:Ri+h+1-Ri-g-1;
对于异常点云数据(i,R
i),第一扫描次序为i-(i-g-1)=g+1,第一比值为
第一修正值为/>
异常点云数据(i,R
i)的修正值为
方式二:
A、确定总扫描次序差值,总扫描次序差值为第二正常点云数据的扫描次序减去第一正常点云数据的扫描次序的差值。
B、确定总距离差值,总距离差值为第二正常点云数据的距离数据减去第一正常点云数据的距离数据的差值。
D1、确定第二扫描次序差值,第二扫描次序差值为第二正常点云数据的扫描次序减去异常云数据的扫描次序的差值。
D2、确定第二比值,第二比值为第二扫描次序差值与总扫描次序差值的比值。
D3、确定第二修正值,第二修正值为总距离差值与第二比值的乘积。
D4、计算第二正常点云数据的距离数据减去第二修正值的差值,作为修正后的异常点云数据的距离数据。
示例性的,异常点云数据包括(i-g,Ri-g),(i-g+1,Ri-g+1),…,(i,Ri),…,(i+h-1,Ri+h-1),(i+h,Ri+h),这些异常点云数据的第一正常点云数据为(i-g-1,Ri-g-1),第二正常点云数据为(i+h+1,Ri+h+1)。
总扫描次序差值可表示为:i+h+1-(i-g-1)=h+g+2;
总距离差值可表示为:Ri+h+1-Ri-g-1;
对于异常点云数据(i,R
i),第二扫描次序为i+h+1-i=h+1,第二比值为
第二修正值为/>
异常点云数据(i,R
i)的修正值为
在本发明实施例提供的异常点云数据的修正方法中,对异常点云数据,采用与异常点云数据的扫描次序邻近的第一正常点云数据和第二正常点云数据按照差值算法进行修正,修正后的异常点云数据保持了当前帧点云数据的连续性。
可选的,在实现上述S101时,可通过下述几种方式确定当前帧点云数据中的异常点云数据:
方式一:
a1、判断点云数据的距离数据是否在激光雷达的测距范围内。
a2、若否,则确定点云数据为异常点云数据。
具体的,激光雷达只能扫描得到位于自身测距范围内的扫描对象的距离数据,因此,当激光雷达得到点云数据的距离数据不在激光雷达的测距范围内,说明该距离数据异常。进一步的,将该异常的距离数据对应的点云数据记为异常点云数据。
在一个实施例中,若点云数据的距离数据在激光雷达的测距范围内,则将该点云数据确定为正常点云数据。
方式二,参考图3所示,执行以下步骤:
b1、确定帧间距离差值,帧间距离差值为当前帧点云数据与前一帧点云数据中扫描次序相同的点云数据的距离数据之间的差值的绝对值。
b2、在当前帧点云数据中提取目标点云数据,目标点云数据为当前帧点云数据中帧间距离差值大于第一阈值的点云数据。
需要说明的是,上述的第一阈值可以是预设值,例如第一阈值可以设置为20mm到40mm之间的任意一个数值。上述的第一阈值还可以为根据实验数据得到。
b3、将扫描次序连续的目标点云数据划分为到同一个目标点云组中。
在一种示例中,若当前帧点云数据中的目标点云数据依次为:(1,R1),(2,R2),(3,R3),(4,R4),(5,R5),(12,R12),(13,R13),(14,R14),(68,R68),(69,R69),(70,R70),(71,R71),(72,R72)。则根据上述a3,将目标点云数据共划分为三个目标点云数组,分别为:
目标点云组一:(1,R1),(2,R2),(3,R3),(4,R4),(5,R5);
目标点云组二:(12,R12),(13,R13),(14,R14);
目标点云组三:(68,R68),(69,R69),(70,R70),(71,R71),(72,R72)。
b4、如果目标点云组中的目标点云数据的个数小于第二阈值,则将该目标点云组确定为第一目标点云组,第一目标点云组内的目标点云数据均为异常点云数据。
需要说明的是,上述的第二阈值可以为预设值,可以为根据实验数据得到。
基于上述b3中的举例说明,若b4中的第二阈值为4,则将上述目标点云组二确定为第一目标点云组,同时将该第一目标点云组中的目标点云数据确定为异常点云数据,即上述的点云数据(12,R12),(13,R13),(14,R14)均为异常点云数据。
在一个实施例中,将经过方式二确定的异常点云数据之外的其它点云数据视为正常点云数据。
当然,在其它实施例中,也可以进一步确定第一目标点云组以外的其它目标点云组中是否包含异常点云数据,可以参见方式三和方式四。
在上述方式二的基础上,还提供下述的方式三以进一步确定当前帧点云数据中的异常点云数据:
c1、如果目标点云组中的目标点云数据的个数大于等于第二阈值,则将该目标点云组确定为第二目标点云组。
在一种示例中,继续基于上述b3和b4中的示例,当第二阈值为4时,则将上述的目标点云组一和目标点云组三确定为第二目标点云组。
c2、根据点云数据的扫描次序和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中。或者,每个点云数据还包含本次扫描的扫描角度数据,根据点云数据的角度数据和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中。
具体的,将当前帧的各个点云数据映射到当前帧的二维帧空间,即将当前帧中的各个点云数据表示在二维帧空间中。需要说明的是,二维帧空间可以用二维极坐标表示。
如果根据点云数据的扫描次序和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中,且利用二维极坐标系统表示二维帧空间,则如图4所示,二维极坐标系中的极角为每个点云数据的角度数据θi,二维极坐标系中的极径为每个点云数据的距离数据Ri。其中,每个点云数据的角度数据即为上述的扫描角度θi。
如果根据点云数据的角度数据和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中,且利用二维极坐标系统表示二维帧空间,则如图5所示,二维极坐标系中的极角为每个点云数据的扫描次序i,二维极坐标系中的极径为每个点云数据的距离数据Ri。
c3、确定第二目标点云组中的每个目标点云数据的近邻点云数据的个数。目标点云数据的近邻点云数据是指:在当前帧的二维帧空间中,距离该目标点云数据的距离在预设距离内的点云数据;
上述的预设距离可以为预设的距离,例如为120mm。
在实现上述c3时,首先,计算当前帧中的每个点云数据与第二目标点云组中的一个目标点云数据的距离;然后,将与目标点云数据的距离小于预设距离的点云数据作为目标点云数据的近邻点云数据;进一步统计目标点云数据的近邻点云数据的个数。重复前述步骤,可确定出第二目标点云组中的每个目标点云数据的近邻点云数据的个数。
需要说明的是,计算帧中的任意两个点云数据之间的距离为本领域的公知常识,在此不再赘述。
c4、如果目标点云数据的近邻点云数据的个数小于第二阈值,则确定目标点云数据为异常点云数据。
具体的,当目标点云数据的近邻点云数据的个数小于第二阈值,则说明目标点云数据为突变的点云数据,即为异常的点云数据。
在上述方式二的基础上,还提供下述的方式四以进一步确定当前帧点云数据中的异常点云数据:
d1、如果目标点云组中的目标点云数据的个数大于等于第二阈值,则将该目标点云组确定为第二目标点云组。
d2、根据点云数据的扫描次序和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中;或者,每个点云数据还包含本次扫描的扫描角度数据,根据点云数据的角度数据和距离数据将当前帧的各个点云数据映射到当前帧的二维帧空间中。
需要说明的是,上述d1、d2分别与上述c1、c2的说明相同,这里不再赘述。
d3、确定第二目标点云组中的每个目标点云数据的平均距离。目标点云数据的平均距离是指:在当前帧的二维帧空间中,与该目标点云数据最接近的K个点云数据距离该目标点云数据的平均距离。
上述的K为正整数,可以为预设值,例如为7。
在实现上述d3时,首先,计算当前帧中的每个点云数据与第二目标点云组中的一个目标点云数据的距离;然后,将全部距离从小到大排列,提取出前K个距离,该K个距离对应的点云数据即为与目标点云数据最接近的K个点云数据;进一步计算该K个距离的平均距离,得到该个目标点云数据的平均距离。重复前述步骤,则可确定第二目标点云组中的每个目标点云数据的平均距离。
需要说明的是,计算帧中的任意两个点云数据之间的距离为本领域的公知常识,在此不再赘述。
d4、如果目标点云数据的平均距离大于第三阈值,则确定该目标点云数据为异常点云数据。
具体的,若第二目标点云组中的目标点云数据的平均距离大于第三阈值,则说明目标点云数据为突变的点云数据,即为异常的点云数据。
其中,上述的第三阈值可以为预设值,也可以根据当前帧点云数据确定。基于此,可根据下述方式确定上述d4中的第三阈值:
根据第二目标点云组的各个目标点云数据的平均距离的均值和标准差确定第三阈值。
需要说明的是,根据第二目标点云组的各个目标点云数据的平均距离,计算根据第二目标点云组的各个目标点云数据的平均距离对应的均值和标准差为本领域的公知常识,在此不再赘述。
可选的,若将上述的平均距离的均值记为u,标准差记为v,则可根据下述公式确定第三阈值thr:
thr=u+a*v。
其中,a可以为预设值,例如a=1.5。
需要说明的是,在一种可选的实施例中,在确定每一帧点云数据中的异常点云数据时,可对上述方式一、方式二、方式三、方式四进行任意组合。例如,若上述四种方式中,只要有一种方式确定一个点云数据为异常点云数据,则将该点云数据最终确定为异常点云数据;对应的,只有上述四种方式都确定一个点云数据为正常点云数据,才将该点云数据最终确定为正常点云数据。
在一种可选的实施例中,为了降低当前帧点云数据中的噪声,以提高确定当前帧点云数据中异常点云数据的准确性,则在上述S101之前,本发明提供的激光雷达异常点云数据的修正方法还包括下述S110:
S110、对当前帧点云数据进行中值滤波处理。
可选的,在对当前帧点云数据进行中值滤波处理时,可在空域上进行,也可在时域上进行。
当在空域上进行时,上述S110的具体实现过程为:
首先,在当前帧点云数据中,对于当前需要进行中值滤波的点云数据(j,Rj),以点云数据(j,Rj)为中心构建长度L的点云数据窗口,点云数据窗口中的点云数据分别为当前帧点云数据中的点云数据(j-N,Rj-N),……,(j,Rj),……,(j+N,Rj+N)。
其中,L=2N+1,N≥1,为正整数。j表示当前帧中进行中值滤波的点云数据的扫描次序,j为整数,
/>
其次,按照点云数据的距离数据的大小,将窗口内的点云数据从小到大进行排列,将位于排序中间位置的点云数据的距离数据,即排序中的第j个点云数据的距离数据,作为点云数据(j,Rj)的距离数据。基于此,完成对点云数据(j,Rj)的中值滤波。
当在时域上进行时,上述S110的具体实现过程为:
在连续多个扫描周期获得的多个帧中,假设当前帧为第m帧,对于第m帧的一个点云数据(j,Rj),获取第m帧的前N个帧中与第m帧的点云数据(j,Rj)的扫描次序相同的点云数据,以及获取第m帧的后N个帧中与第m帧的点云数据(j,Rj)的扫描次序相同的点云数据,将这2N+1个点云数据的距离数据从小到大进行排列,将位于排序中间位置的点云数据的距离数据作为第m帧的点云数据(j,Rj)的距离数据。其中,N≥1,为正整数。
将当前帧中的每一个点云数据执行上述步骤,以完成对当前帧中所有点云数据的中值滤波。
<激光雷达异常点云数据的修正装置>
在本实施例中,还提供了一种激光雷达异常点云数据的修正装置10,用于实施本发明任意一项实施例提供的激光雷达异常点云数据的修正方法,如图6所示,包括:
存储器11,用于存储计算机指令。
处理器12,用于从存储器11中调用计算机指令,以执行上述实施例提供的任意一项激光雷达异常点云数据的修正方法。
在本实施例中,激光雷达异常点云数据的修正装置10可以具体各种实体形式。例如,激光雷达异常点云数据的修正装置10可以是激光雷达,或者搭载有激光雷达的扫地机器人等。例如:该装置可以是与激光雷达连接的外部电子设备,与激光雷达连接,为激光雷达提供数据修正服务。
<计算机存储介质>
在本实施例中,还提供一种计算机存储介质,该存储介质存储有计算机指令,当存储介质中的计算机指令由处理器执行时,实现上述实施例提供的任意一种激光雷达异常点云数据的修正方法。
本发明可以是计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表包括:便携式计算机盘、硬盘、随机存取存储器(RAM、只读存储器(ROM、可擦式可编程只读存储器(EPROM或闪存、静态随机存取存储器(SRAM、便携式压缩盘只读存储器(CD-ROM、数字多功能盘(DVD、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA或可编程逻辑阵列(PLA,该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。