CN116052113A - 点云数据的处理方法、装置、智能芯片、存储介质和车辆 - Google Patents
点云数据的处理方法、装置、智能芯片、存储介质和车辆 Download PDFInfo
- Publication number
- CN116052113A CN116052113A CN202211712979.6A CN202211712979A CN116052113A CN 116052113 A CN116052113 A CN 116052113A CN 202211712979 A CN202211712979 A CN 202211712979A CN 116052113 A CN116052113 A CN 116052113A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- grid
- data
- value
- cloud data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 108
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本公开提供了一种点云数据的处理方法、装置、智能芯片、存储介质和车辆,涉及人工智能领域,具体涉及智能交通、计算机视觉和自动驾驶等技术领域。点云数据的处理方法由智能芯片执行,具体实现方案为:根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元;根据点云数据的深度值和反射强度值,对目标网格单元对应的点云统计数据进行更新;以及响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
Description
技术领域
本公开涉及人工智能领域,具体涉及智能交通、计算机视觉和自动驾驶等技术领域,尤其涉及一种点云数据的处理方法、装置、智能芯片、存储介质和车辆。
背景技术
随着计算机技术和电子技术的发展,计算机视觉技术在众多领域得到广泛应用。例如,在自动驾驶技术中,通常需要依赖计算机视觉进行道路环境分析,并根据分析结果来进行驾驶决策。
具体地,通常需要依赖计算机视觉中的目标检测、语义分割和实例分割等任务来识别车辆所在道路环境中的障碍物。该些任务的实施需要依赖传感器检测的数据,且为了便于该些任务的实施,通常需要对传感器检测到的数据进行预处理,以得到执行任务的神经网络模型的输入数据。
发明内容
本公开旨在提供一种利于提高点云数据处理效率和计算机视觉任务的执行效率的点云数据的处理方法、装置、智能芯片、存储介质和车辆。
根据本公开的第一个方面,提供了一种智能芯片执行的点云数据的处理方法,包括:根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元;根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元;以及响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
根据本公开的第二个方面,提供了一种集成于智能芯片的点云数据的处理装置,包括:网格化处理模块,用于根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元;统计数据更新模块,用于根据点云数据的深度值和反射强度值,对目标网格单元对应的点云统计数据进行更新;以及目标任务执行模块,用于响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
根据本公开的第三个方面,提供了一种智能芯片,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的点云数据的处理方法。
根据本公开的第四个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的点云数据的处理方法。
根据本公开的第五个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于可读存储介质和电子设备其中至少之一上,所述计算机程序/指令在被处理器执行时实现本公开提供的点云数据的处理方法。
根据本公开的第六个方面,提供了一种自动驾驶车辆,包括本公开提供的智能芯片。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的点云数据的处理方法和装置的应用场景示意图;
图2是根据本公开实施例的点云数据的处理方法的流程示意图;
图3是根据本公开实施例的对点云数据进行网格化处理的原理示意图;
图4是根据本公开实施例的对点云数据进行更新的原理示意图;
图5是根据本公开实施例的用来实施点云数据的处理方法的逻辑架构图;
图6是根据本公开实施例的用来实施点云数据的处理方法的芯片架构图;
图7是根据本公开实施例的点云数据的处理装置的结构框图;以及
图8是用来实施本公开实施例的点云数据的处理方法的智能芯片的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在自动驾驶车辆中,在使用神经网络模型执行计算机视觉任务时,可以依赖激光雷达等传感器检测的数据。为了计算机视觉任务的实施,通常需要借助主处理器(CPU)对激光雷达等传感器采集的点云数据进行预处理。随后由CPU将预处理后的数据发送给执行计算机视觉任务的数据处理单元(Data Processing Unit,DPU)。但点云数据的预处理通常需要耗费CPU较多的计算资源,这会影响整个自动驾驶系统的性能和运行稳定性。
为了解决该问题,本公开提供了一种点云数据的处理方法、装置、智能芯片、存储介质和自动驾驶车辆。以下先结合图1对本公开提供的方法和装置的应用场景进行描述。
图1是根据本公开实施例的点云数据的处理方法和装置的应用场景示意图。
如图1所示,该实施例的应用场景100可以包括自动驾驶车辆110,该自动驾驶车辆110可以在道路上行驶。该自动驾驶车辆110例如可以集成有用于感知环境的传感器,例如可以集成有视觉类摄像机和雷达类测距传感器。其中,视觉类摄像机可以包括单目摄像机、双目立体视觉摄像机、全景视觉摄像机和/或红外相机等。雷达类测距传感器例如可以包括激光雷达、毫米波雷达和超声波雷达等。
在一实施例中,自动驾驶车辆110中的自动驾驶系统例如可以借由激光雷达检测的点云数据执行计算机视觉的目标任务。目标任务例如可以包括目标检测任务、语义分割任务或实例分割任务等。为了便于目标任务的实施,例如可以先对点云数据进行预处理,以将点云数据转换为可以表示点云数据的特征的点云统计数据。随后,将点云统计数据作为用于执行目标任务的神经网络模型的输入,以得到目标任务的执行结果。其中,执行目标任务的神经网络模型例如可以基于卷积神经网络构建,本公开对此不做限定。
在完成目标任务后,自动驾驶系统例如可以根据目标任务的执行结果来确定自动驾驶车辆110所在的环境信息(例如障碍物位置、障碍物速度等),并根据环境信息来确定自动驾驶策略。
在一实施例中,道路两侧例如还可以设置有监控设备120,该监控设备120可以监控道路的环境图像,并将监控的图像经由网络发送给电子设备130。自动驾驶车辆110例如也可以将实时的驾驶信息和传感器检测到的数据上传给电子设备130,以便于电子设备130对自动驾驶车辆110进行远程监控,并在自动驾驶车辆110行驶异常时及时地远程介入,便于提高自动驾驶车辆110的行驶安全性。
电子设备130例如可以为具有处理功能的各种电子设备,包括但不限于膝上型便携计算机、台式计算机和服务器等。该电子设备130例如可以对接收到的能够反映自动驾驶车辆110所在环境的数据进行融合,以形成全景图像,实现对自动驾驶车辆110的全方位远程监控。如此,远程监控人员可以根据该全景图像判定自动驾驶车辆110是否可以正常行驶,是否需要远程控制自动驾驶车辆110。
在一实施例中,自动驾驶车辆110中可以集成有智能芯片,该智能芯片具有点云处理的处理功能,以对激光雷达采集的点云数据进行处理并执行计算机视觉的目标任务。其中,该智能芯片例如可以为现场可编辑逻辑门阵列(Field Programmable Gate Array,FPGA)等,本公开对此不做限定。
需要说明的是,本公开提供的点云数据的处理方法可以由自动驾驶车辆110执行,具体例如可以由设置有自动驾驶车辆110中的智能芯片执行。相应地,本公开提供的点云数据的处理装置可以设置在自动驾驶车辆110中,具体例如可以设置在自动驾驶车辆110中设置的智能芯片中。
应该理解,图1中的自动驾驶车辆110、监控设备120和电子设备130的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的自动驾驶车辆110、监控设备120和电子设备130。
以下将结合图2~图6对本公开提供的点云数据的处理方法进行详细描述。
图2是根据本公开实施例的点云数据的处理方法的流程示意图。
如图2所示,该实施例的点云数据的处理方法200可以包括操作S210~操作S230。该点云数据的处理方法由智能芯片执行。该智能芯片可以为可编程逻辑阵列芯片等具有处理功能的芯片,本公开对此不做限定。
在操作S210,根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元。
根据本公开的实施例,预定网格的尺寸可以根据实际需求进行设定,例如预定网格可以为尺寸为192×192的网格、尺寸为384×384的网格或尺寸为1152×1152的网格等。
根据本公开的实施例,每个点云数据可以包括(pc_x,pc_y,pc_z,intensity)。其中,(pc_x,pc_y,pc_z)为点云数据的三维坐标,intensity为反射强度值。该实施例可以实时地接收雷达传感器检测到的点云数据,并对接收到的每个点云数据进行网格化处理。
该实施例中,可以根据宽度值和高度值的差,来确定点云数据映射到预定网格后所在的网格单元的行数,根据宽度值和高度值的和,来确定点云数据映射到预定网格后所在的网格单元的列数。根据行数和列数,即可唯一确定一个网格单元,作为目标网格单元。
例如,设定点云数据的宽度值为pc_x,点云数据的高度值为pc_y,该实施例例如可以采用以下公式(1)和公式(2)分别确定行数pos_y和列数pos_x。
pos_y=(range-(a*(pc_x-pc_y)))*scale 公式(1)
pos_x=(range-(a*(pc_x+pc_y)))*scale 公式(2)
其中,range为根据经验设定的取值上限值,该取值上限值的取值与例如可以与激光雷达的检测深度相关。若检测深度越大,则取值上限值的取值越大。可以理解的是,预定网格的尺寸大小例如可以与检测深度正相关。其中,a为根据经验设定的超参数,该a的取值例如可以为0.707107等,本公开对此不做限定。scale为缩放比例,该缩放比例的取值可以根据实际需求进行设定,例如,该缩放比例可以与预定网格的尺寸正相关,本公开对此不做限定。
在操作S220,根据点云数据的深度值和反射强度值,对目标网格单元对应的点云统计数据进行更新。
根据本公开的实施例,点云统计数据例如可以包括:映射到网格单元的点云数据的以下关于深度值的数据中的至少之一:深度值平均值、深度值最大值、深度值最小值;以及以下关于反射强度值的数据中的至少之一:强度值平均值、强度值最大值、强度值最小值。可以理解的是,点云统计数据的类型可以根据实际需求进行设定,本公开对此不做限定。
在一实施例中,点云统计数据例如还可以包括映射到网格单元的点云数据的总数,以利于了解映射到各网格单元的点云数据的分布密度,为目标任务的执行提供更为丰富的信息。
该实施例中,可以根据点云数据的深度值,对点云统计数据中关于深度值的数据进行更新。例如,若点云统计数据包括深度值最小值,该实施例可以对点云数据的深度值与深度值最小值进行比较,若点云数据的深度值小于深度值最小值,则将深度值最小值替换为点云数据的深度值。例如,若点云统计数据包括深度值平均值,该实施例可以先计算当前的深度值平均值与当前的点云数据的总数相乘,随后计算相乘得到的数值与点云数据的深度值的和。最后将计算得到的和与(当前的点云数据的总数+1)的比值,作为更新后的深度值平均值。同时,可以将当前的点云数据的总数加1,作为更新后的点云数据的总数。类似地方式,可以对点云统计数据中关于反射强度值的数据进行更新。
在操作S230,响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
根据本公开的实施例,目标任务例如可以包括目标检测任务、语义分割任务或实例分割任务等。该实施例通过操作S210~操作S220,可以将点云数据转换为表示点云特征的特征数据。该特征数据即为点云统计数据。该实施例可以将预定网格中每个网格单元的点云统计数据以向量形式表示。随后,将预定网格中所有网格单元的点云统计数据整理为矩阵形式,或者向量序列形式,作为执行目标任务的神经网络模型(例如CNN模型)的输入数据。神经网络模型通过对输入数据进行处理,可以得到检测结果、语义分割结果或实例分割结果,从而完成目标任务的执行。
根据本公开的实施例,一帧点云数据例如可以包括28800个点云数据,该实施例可以在对该28800个点云数据均完成网格化处理,并根据该28800个点云数据完成对对应的网格单元的点云统计数据的更新后,执行目标任务。
通过本公开实施例的技术方案,可以由智能芯片单个芯片来实现点云数据的预处理和目标任务的执行,相较于相关技术中需要借助主处理器CPU对点云数据进行预处理的技术方案,可以减小通信开销,避免对CPU计算资源的占用。并因此可以提高目标任务的执行效率,利于保障自动驾驶系统的运行稳定性和高性能。另外,本公开实施例通过根据宽度值和高度值来对点云数据进行网格化处理,可以提高目标任务执行过程中对不同深度处对应目标的识别能力,利于自动驾驶系统更好地辨识目标与车辆的距离,从而利于提高自动驾驶决策的准确性,利于提高自动驾驶车辆的驾驶安全性。
图3是根据本公开实施例的对点云数据进行网格化处理的原理示意图。
根据本公开的实施例,在对点云数据进行网格化处理之前,例如可以先确定点云数据的深度值是否位于预定深度范围内。若是,再对点云数据进行网格化处理。其中,预定深度范围例如可以根据激光雷达的检测范围来确定。如此,可以将激光雷达采集的非正常的点云数据过滤掉,减少非必要点云数据的处理,提高点云数据的处理效率。
在一实施例中,在对点云数据进行网格化处理时,例如可以先根据点云数据的高度值和宽度值,采用上文描述的公式(1)~(2)确定点云数据所对应的目标网格单元的行数和列数,随后确定该行数和列数是否均为大于0的数,若是,则再根据行数和列数来确定预定网格中与点云数据对应的目标网格单元。如此,可以剔除掉无意义的点云数据,减少非必要点云数据的处理,提高点云数据的处理效率。这是由于,若行数或列数小于等于0,则说明对点云数据映射后未落入预定网格,这在一定程度上反映了点云数据的高度值和宽度值不合理。
例如,如图3所示,该实施例300可以经由操作S311~S315来实现对点云数据的网格化处理。
在操作S311,获取点云数据(pc_x,pc_y,pc_z,intensity)。具体地,可以实时地接收激光雷达经由千兆介质无关接口(GMII Interface)发送的激光雷达数据包。通过解析该激光雷达数据包,可以获取得到点云数据(pc_x,pc_y,pc_z,intensity)。其中,解析激光雷达数据包的原理与相关技术类似,在此不再赘述。
在操作S312,确定点云数据的深度值pc_z是否在预定范围内。该预定范围例如可以包括深度值下限值min_height和深度值上限值max_height。若该点云数据的深度值大于等于深度值下限值min_height且小于等于深度值上限值max_height,则可以确定点云数据的深度值pc_z在预定范围内。若在预定范围内,则执行操作S313。若不在预定范围内,则丢弃获取的点云数据,并返回操作S311以重新获取新的点云数据。
在操作S313,根据点云数据的宽度值pc_x与高度值pc_y的差,确定点云数据对应的目标网格单元在预定网格中所在的行数,同时可以根据点云数据的宽度值pc_x与高度值pc_y的和,确定点云数据对应的目标网格单元在预定网格中所在的列数。例如,可以采用上文描述的公式(1)和公式(2)来分别确定行数和列数。
在操作S314,确定行数是否大于0,且列数是否大于0。若均大于0,则执行操作S315。否则,丢弃获取的点云数据,并返回操作S311以重新获取新的点云数据。
在操作S315,根据行数和列数确定预定网格中与点云数据对应的目标网格单元。例如,若预定网格以网格单元序列的形式存储,则可以确定目标网格单元在预定网格中的排列位置point2grid_[i]=pos_y*width+pos_x。其中,width为预定网格中单行包括的网格单元的个数。
图4是根据本公开实施例的对点云数据进行更新的原理示意图。
根据本公开的实施例,智能芯片例如可以维护有与预定网格对应的指向表,该指向表中包括与预定网格中的每个网格单元对应的指向值,该指向值例如可以用于对应的每个网格单元是否具有对应的点云统计数据。换言之,该指向值可以在一定程度上反映是否已经存在映射到对应的网格单元的点云数据。如此,在对点云数据进行更新时,可以依据该指向值确定是对目标网格单元对应的点云统计数据进行更改,还是需要生成目标网格单元对应的点云统计数据。在需要生成目标网格单元时,则无需先读取已有的点云统计数据,如此,可以减少数据的非必要读取,提高点云数据的更新效率。
如图4所示,该实施例400中,智能芯片可以维护有指向表410,该指向表410中的每个指向值可以占据1个bit的空间。若智能芯片的存储空间中每个存储地址addr具有64个bit的空间,则每个存储地址addr可以存储64个指向值。例如,设定预定网格420的尺寸为192×192,则存储空间中三个存储地址即可存储与预定网格中的一行网格单元对应的指向值。相应地,共计576个存储地址即可存储与192×192的预定网格包括的所有的网格单元对应的指向值。
基于该指向表410,该实施例在更新点云统计数据时,可以先根据指向表410确定目标网格单元是否有对应的点云统计数据。
例如,可以先根据指向值与网格单元之间的映射关系,来确定与目标网格单元431对应的目标指向值432。即,根据目标网格单元431在预定网格420中的位置,查询指向表410,从而得到目标指向值432。例如,存储地址addr 0中第0个bit的存储空间,存储的是与预定网格420中第1行第1列的网格单元对应的指向值。存储地址addr 0中第1个bit的存储空间,存储的是与预定网格420中第1行第2列的网格单元对应的指向值,以此类推,存储地址addr 575中第63个bit的存储空间,存储的是与预定网格420中第192行第192列的网格单元对应的指向值。随后,根据确定的目标指向值的取值,确定目标网格单元是否有对应的点云统计数据。例如,若该指向值的取值为0,则可以确定目标网格单元没有对应的点云统计数据。若该指向值的取值不为0,则可以确定目标网格单元有对应的点云统计数据。
若确定目标网格单元有对应的点云统计数据,则可以根据点云数据的深度值和反射强度值,来对目标网格单元431对应的点云统计数据433进行更新。例如,可以根据已有的点云统计数据和点云数据的深度值和反射强度值,确定新的点云统计数据,从而完成对点云统计数据的更新。
若确定目标网格单元没有对应的点云统计数据,则可以根据点云数据的深度值和反射强度值确定目标网格单元对应的点云统计数据433。即,根据深度值和反射强度值生成点云统计数据433。可以理解的是,在生成目标网格单元对应的点云统计数据后,可以对指向表410中与目标网格单元对应的指向值,即更改目标指向值432,以使得更改后的目标指向值指示目标网格单元431具有对应的点云统计数据。例如,可以将目标指向值432由0更改为非0值。
在一实施例中,预定网格中各网格单元对应的点云统计数据例如可以存储在与智能芯片连接的存储器的预定存储空间中。其中,预定存储器例如可以为双倍速率(DoubleData Rate,DDR)同步动态随机存储器等,而智能芯片内置的存储器例如可以为随机存取存储器RAM、制度存储器ROM等,本公开对此不做限定。该实施例通过将点云统计数据存储至预定存储空间,可以减少对智能芯片内置存储器的占用,利于提高智能芯片的处理效率。其中,预定存储空间例如可以具有与预定网格中的每个网格单元唯一对应的子空间,以用于存储该每个网格单元对应的点云统计数据。
如此,该实施例400在目标网格单元有对应的点云统计数据的情况下,可以先从预定存储空间中与目标网格单元对应的子空间中读取点云统计数据。随后,根据点云数据的深度值和反射强度值,对读取的点云统计数据进行更新。
在一实施例中,可以在完成对对应的点云统计数据的更新后(例如可以包括生成点云统计数据之后),将更新后的点云统计数据再存储至目标网格单元对应的子空间中。具体例如可以将对应的子空间中存储的原数据删除,并将更新后的点云统计数据写入对应的子空间。
图5是根据本公开实施例的用来实施点云数据的处理方法的逻辑架构图。
如图5所示,例如可以采用实施例500所示的逻辑架构来实现点云数据的处理方法。
该实施例500中,逻辑架构可以由智能芯片中的功能模块和外置存储器DDR 520共同来实现。
其中,与预定网格中的网格单元对应的点云统计数据存储在DDR 520中。智能芯片可以设置有DDR读取&写入模块519,用于从DDR 520中读取已有的点云统计数据,并将更新后的点云统计数据写入DDR 520中。
例如,根据实际需求,点云统计数据可以包括与网格单元对应的点云数据的强度值平均值、强度值总和、最大深度值和与网格单元对应的点云数据的总数。相应地,智能芯片中的功能模块可以包括强度值求和模块511、强度值求平均的模块513、计数模块512和最大深度值确定模块514。强度值求和模块511用于对映射到每个网格单元的点云数据的反射强度值求和,总而实现对强度值总和的更新。计数模块512用于对映射到每个网格单元的点云数据进行计数,从而对与网格单元对应的点云数据的总数进行更新。强度值求平均的模块513用于根据强度值求和模块511更新的强度值总和与计数模块512计数得到的与网格单元对应的点云数据的总数,计算强度值平均值,从而实现对强度值平均值的更新。
在一实施例中,智能芯片例如还可以维护有如上文描述的指向表,指向表模块518用于存储并维护该指向表。在接收到新的点云数据(pc_x,pc_y,pc_z,intensity)后,智能芯片例如可以先根据宽度值pc_x和高度值pc_y,确定点云数据对应的目标网格单元在预定网格中的位置。随后由指向表模块518根据该位置查询指向表,得到与目标网格单元对应的指向值。
若该指向值为非0值,则DDR读取&写入模块519可以根据目标网格单元在预定网格中的位置从DDR 520中读取目标网格单元对应的点云统计数据。随后,经由强度值求和模块511、计数模块512、最大深度值确定模块514对读取的点云统计数据中的强度值总和、与目标网格单元对应的点云数据的总数、最大深度值分别进行更新。具体地,强度值求和模块511可以将读取的强度值总和与点云数据中的反射强度值intensity相加,得到更新后的强度值总和。计数模块512可以将与目标网格单元对应的点云数据的总数加1,得到更新后的总数。最大深度值确定模块514可以将读取的最大深度值与点云数据中的深度值pc_z进行比较。若深度值pc_z大于读取的最大深度值,则采用深度值pc_z替换读取的最大深度值。否者,维持读取的最大深度值不变。
在一实施例中,在完成对强度值总和、与目标网格单元对应的点云数据的总数的更新后,强度值求平均的模块513例如可以根据更新后的强度值总和及更新后的总数,计算强度值平均值,并采用计算得到的强度值平均值更新读取的强度值平均值。
若查询的指向值为0值,则强度值求和模块511可以直接将点云数据中的反射强度值作为强度值总和,最大深度值可以将点云数据中的深度值作为最大强度值,计数模块512可以将总数的取值设定为1。
在一实施例中,例如还可以在计数模块512更新后的总数达到一帧点云包括的点云总数后,强度值求平均的模块513再根据更新后的强度值总和及更新后的总数,计算强度值平均值。即,可以响应于根据一帧点云数据完成对所述预定网格中网格单元对应的点云统计数据的更新后,再根据点云统计数据中的强度值总和及与网格单元对应的点云数据的总数,来对强度值平均值进行更新。如此,可以减少对强度值平均值的更新次数,并因此减少智能芯片的计算量,提高点云数据的处理效率。这是由于通常在执行目标任务时,需要以一帧点云数据的点云统计数据作为输入,中间阶段计算的强度值平均值没有价值。
在一实施例中,智能芯片中的DDR读取&写入模块519例如可以遍历的从DDR中与各个网格单元对应的子空间中读取已有的点云统计数据,随后由强度值求平均的模块513根据读取的已有的点云统计数据中的强度值总和与点云数据的总数,计算强度值平均值。随后由DDR读取&写入模块519将计算得到的强度值平均值存储至与网格单元对应的子空间中。或者,智能芯片可以在完成一帧点云数据的处理后,先控制指向表模块518确定取值为非0的指向值,将与该非0的指向值具有映射关系的网格单元作为待更新网格单元。随后,由DDR读取&写入模块519遍历的从DDR 520中与待更新网格单元对应的子空间中读取已有的点云统计数据,再由强度值求平均的模块513根据读取的已有的点云统计数据中的强度值总和与点云数据的总数,计算强度值平均值。如此,可以减少强度值平均值的计算阶段中,对DDR 520中空的子空间的遍历,提高点云数据的处理效率。
在一实施例中,在每次根据点云数据完成对点云统计数据的更新后,压缩封装数据模块517都可以对更新后的数据进行压缩封装,以整理成固定格式的数据后,由DDR读取&写入模块519将压缩封装得到的固定格式的数据写入DDR 520中。可以理解的是,除了一帧点云数据中的最后一个点云数据外,根据其他点云数据更新点云统计数据后,压缩封装的点云统计数据中的强度值平均值可以为默认的初始值,本公开对此不做限定。
在一实施例中,根据实际需求,智能芯片中还可以设置由深度值求和模块515,以用于对与每个网格单元对应的点云数据的深度值求和。智能芯片中还可以设置有深度值求平均的模块516,用于根据计数模块512更新后的总数和深度值求和模块515更新后的深度值总和,计算深度值平均值。可以理解的是,深度值平均值的计算原理和计算时机可以分别与强度值平均值的计算原理、计算时机类似,在此不再赘述。
图6是根据本公开实施例的用来实施点云数据的处理方法的芯片架构图。
如图6所示,该实施例600中,执行点云数据的处理方法的智能芯片620例如可以包括GMII接口621、数据包解析模块622、预处理模块623和CNN模块624。其中,预处理模块623例如可以包括上文描述的图5中的各逻辑模块。GMII接口621用于通过网络接收激光雷达610发送的数据包。数据包解析模块622用于对GMII接口621接收到的数据包进行解析,得到点云数据601。随后,预处理模块623可以对该点云数据601进行预处理,从而得到点云统计数据602。根据需求,点云统计数据602例如可以为6维数据,分别包括表示点云统计数据不为空的no empty数据、强度值平均值、强度值总和、网格单元对应的点云数据的总数count、深度值平均值和最大深度值等,例如,该6维数据占据的空间可以分别为4字节、6字节、4字节、4字节、6字节和4字节,本公开对此不做限定。在预处理得到6维数据后,可以将该6维数据写入DDR 630中。
在将一帧点云的数据均写入DDR 630之后,CNN模块624例如可以从DDR 630中读取一帧点云的点云统计数据,并根据读取的点云统计数据,采用CNN模型执行计算机视觉的目标任务,例如可以执行实例分割任务,本公开对此不做限定。
基于本公开提供的智能芯片执行的点云数据的处理方法,本公开还提供了一种设置于智能芯片的点云数据的处理装置。以下将结合图7对该装置进行详细描述。
图7是根据本公开实施例的点云数据的处理装置的结构框图。
如图7所示,该实施例的点云数据的处理装置700可以包括网格化处理模块710、统计数据更新模块720和目标任务执行模块730。该点云数据的处理装置700可以集成于智能芯片中。
网格化处理模块710用于根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中点云数据对应的目标网格单元。在一实施例中,网格化处理模块710可以用于执行上文描述的操作S210,在此不再赘述。
统计数据更新模块720用于根据点云数据的深度值和反射强度值,对目标网格单元对应的点云统计数据进行更新。在一实施例中,统计数据更新模块720可以用于执行上文描述的操作S220,在此不再赘述。
目标任务执行模块730用于响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。在一实施例中,目标任务执行模块730可以用于执行上文描述的操作S230,在此不再赘述。
根据本公开的实施例,上述统计数据更新模块720可以包括统计数据确定子模块和数据更新子模块。统计数据确定子模块用于根据与预定网格对应的指向表,确定目标网格单元是否有对应的点云统计数据。其中,指向表中包括与预定网格中的网格单元对应的指向值,指向值指示对应的网格单元是否具有对应的点云统计数据。数据更新子模块用于响应于目标网格单元有对应的点云统计数据,根据点云数据的深度值和反射强度值对目标网格单元对应的点云统计数据进行更新。
根据本公开的实施例,上述统计数据更新模块720还可以包括数据确定子模块,用于响应于目标网格单元没有对应的点云统计数据,根据点云数据的深度值和反射强度值确定目标网格单元对应的点云统计数据。上述点云数据的处理装置700还可以包括指向值更改模块,用于响应于根据点云数据的深度值和反射强度值确定了目标网格单元对应的点云统计数据,更改指向表中与目标网格单元对应的指向值,以使得更改后指向值指示目标网格单元具有对应的点云统计数据。
根据本公开的实施例,上述点云数据的处理装置700还可以包括数据存储模块,用于响应于完成对目标网格单元对应的点云统计数据的更新,将更新后的点云统计数据存储至预定存储空间中与目标网格单元对应的子空间。上述数据更新子模块可以包括数据读取单元和数据更新单元。数据读取单元用于从与目标网格单元对应的子空间中读取点云统计数据。数据更新单元用于根据点云数据的深度值和反射强度值对读取的点云统计数据进行更新。
根据本公开的实施例,点云统计数据包括与网格单元对应的点云数据的强度值平均值、强度值总和、最大深度值及与网格单元对应的点云数据的总数。上述统计数据更新模块720具体可以用于根据点云数据的深度值和反射强度值,对目标网格单元对应的点云统计数据中的强度值总和、最大深度值及与网格单元对应的点云数据的总数进行更新。上述点云数据的处理装置700还可以包括平均值更新模块,用于响应于根据一帧点云数据完成对预定网格中网格单元对应的点云统计数据的更新,根据与网格单元对应的点云统计数据中的强度值总和及与网格单元对应的点云数据的总数,对与网格单元对应的点云统计数据中的强度值平均值进行更新。
根据本公开的实施例,上述平均值更新模块可以包括待更新单元确定子模块、数据读取子模块、平均值确定子模块和数据存储子模块。待更新单元确定子模块用于根据与预定网格对应的指向表,确定预定网格中的待更新网格单元。其中,指向表中包括与预定网格中的网格单元对应的指向值,指向值指示对应的网格单元是否具有对应的点云统计数据;待更新网格单元为具有对应的点云统计数据的网格单元。数据读取子模块用于从预定存储空间中与待更新网格单元对应的子空间中,读取与待更新网格单元对应的点云统计数据。平均值确定子模块用于根据读取的点云统计数据中的强度值总和及点云数据的总数,确定与待更新网格单元对应的强度值平均值。数据存储子模块用于将与待更新网格单元对应的强度值平均值存储至与待更新网格单元对应的子空间中。
根据本公开的实施例,上述网格化处理模块710可以用于响应于点云数据的深度值位于预定深度范围内,根据点云数据中的宽度值和高度值,对点云数据进行网格化处理。
根据本公开的实施例,上述网格化处理模块710可以包括行数确定子模块、列数确定子模块和目标单元确定子模块。行数确定子模块用于根据宽度值与高度值的差,确定点云数据对应的目标网格单元在预定网格中所在的行数。列数确定子模块用于根据宽度值与高度值的和,确定点云数据对应的目标网格单元在预定网格中所在的列数。目标单元确定子模块用于响应于行数和列数大于0,根据行数和列数,确定预定网格中与点云数据对应的目标网格单元。
根据本公开的实施例,上述智能芯片包括可编程逻辑阵列芯片。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开实施例的点云数据的处理方法的智能芯片800的示意性框图。该智能芯片可以设置于电子设备中,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,智能芯片800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
智能芯片800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如点云数据的处理方法。例如,在一些实施例中,点云数据的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到智能芯片800。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的点云数据的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行点云数据的处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (22)
1.一种智能芯片执行的点云数据的处理方法,包括:
根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中所述点云数据对应的目标网格单元;
根据所述点云数据的深度值和反射强度值,对所述目标网格单元对应的点云统计数据进行更新;以及
响应于根据一帧点云数据完成对所述预定网格中网格单元对应的点云统计数据的更新,根据所述预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
2.根据权利要求1所述的方法,其中,所述根据所述点云数据的深度值和反射强度值,对所述目标网格单元对应的点云统计数据进行更新包括:
根据与所述预定网格对应的指向表,确定所述目标网格单元是否有对应的点云统计数据;其中,所述指向表中包括与所述预定网格中的网格单元对应的指向值,所述指向值指示对应的网格单元是否具有对应的点云统计数据;以及
响应于所述目标网格单元有对应的点云统计数据,根据所述点云数据的深度值和反射强度值对所述目标网格单元对应的点云统计数据进行更新。
3.根据权利要求2所述的方法,其中,所述根据所述点云数据的深度值和反射强度值,对所述目标网格单元对应的点云统计数据进行更新还包括:
响应于所述目标网格单元没有对应的点云统计数据,根据所述点云数据的深度值和反射强度值确定所述目标网格单元对应的点云统计数据;以及
所述方法还包括:响应于根据所述点云数据的深度值和反射强度值确定了所述目标网格单元对应的点云统计数据,更改所述指向表中与所述目标网格单元对应的指向值,以使得更改后指向值指示所述目标网格单元具有对应的点云统计数据。
4.根据权利要求2或3所述的方法,还包括:
响应于完成对所述目标网格单元对应的点云统计数据的更新,将更新后的点云统计数据存储至预定存储空间中与所述目标网格单元对应的子空间;
所述响应于所述目标网格单元有对应的点云统计数据,根据所述点云数据的深度值和反射强度值对所述目标网格单元对应的点云统计数据进行更新包括:
从与所述目标网格单元对应的子空间中读取点云统计数据;以及
根据所述点云数据的深度值和反射强度值对读取的点云统计数据进行更新。
5.根据权利要求1~4中任一项所述的方法,其中,点云统计数据包括与网格单元对应的点云数据的强度值平均值、强度值总和、最大深度值及与所述网格单元对应的点云数据的总数;所述根据所述点云数据的深度值和反射强度值,对所述目标网格单元对应的点云统计数据进行更新包括:
根据所述点云数据的所述深度值和所述反射强度值,对所述目标网格单元对应的点云统计数据中的强度值总和、最大深度值及与网格单元对应的点云数据的总数进行更新;
所述方法还包括:响应于根据一帧点云数据完成对所述预定网格中网格单元对应的点云统计数据的更新,根据与所述网格单元对应的点云统计数据中的强度值总和及与所述网格单元对应的点云数据的总数,对与所述网格单元对应的点云统计数据中的强度值平均值进行更新。
6.根据权利要求5所述的方法,其中,根据与所述网格单元对应的点云统计数据中的强度值总和及与所述网格单元对应的点云数据的总数,对与所述网格单元对应的点云统计数据中的强度值平均值进行更新包括:
根据与所述预定网格对应的指向表,确定所述预定网格中的待更新网格单元;其中,所述指向表中包括与所述预定网格中的网格单元对应的指向值,所述指向值指示对应的网格单元是否具有对应的点云统计数据;所述待更新网格单元为具有对应的点云统计数据的网格单元;
从预定存储空间中与所述待更新网格单元对应的子空间中,读取与所述待更新网格单元对应的点云统计数据;
根据读取的点云统计数据中的强度值总和及点云数据的总数,确定与所述待更新网格单元对应的强度值平均值;以及
将与所述待更新网格单元对应的强度值平均值存储至与所述待更新网格单元对应的子空间中。
7.根据权利要求1所述的方法,其中,所述根据点云数据中的宽度值和高度值,对点云数据进行网格化处理包括:
响应于所述点云数据的深度值位于预定深度范围内,根据点云数据中的宽度值和高度值,对所述点云数据进行网格化处理。
8.根据权利要求1或7所述的方法,其中,根据点云数据中的宽度值和高度值,对点云数据进行网格化处理包括:
根据所述宽度值与所述高度值的差,确定所述点云数据对应的目标网格单元在所述预定网格中所在的行数;
根据所述宽度值与所述高度值的和,确定所述点云数据对应的目标网格单元在所述预定网格中所在的列数;以及
响应于所述行数和所述列数大于0,根据所述行数和所述列数,确定所述预定网格中与所述点云数据对应的目标网格单元。
9.根据权利要求1-8中任一项所述的方法,其中,所述智能芯片包括可编程逻辑阵列芯片。
10.一种集成于智能芯片的点云数据的处理装置,包括:
网格化处理模块,用于根据点云数据中的宽度值和高度值,对点云数据进行网格化处理,得到预定网格中所述点云数据对应的目标网格单元;
统计数据更新模块,用于根据所述点云数据的深度值和反射强度值,对所述目标网格单元对应的点云统计数据进行更新;以及
目标任务执行模块,用于响应于根据一帧点云数据完成对所述预定网格中网格单元对应的点云统计数据的更新,根据所述预定网格中网格单元对应的点云统计数据执行计算机视觉的目标任务。
11.根据权利要求10所述的装置,其中,所述统计数据更新模块包括:
统计数据确定子模块,用于根据与所述预定网格对应的指向表,确定所述目标网格单元是否有对应的点云统计数据;其中,所述指向表中包括与所述预定网格中的网格单元对应的指向值,所述指向值指示对应的网格单元是否具有对应的点云统计数据;以及
数据更新子模块,用于响应于所述目标网格单元有对应的点云统计数据,根据所述点云数据的深度值和反射强度值对所述目标网格单元对应的点云统计数据进行更新。
12.根据权利要求11所述的装置,其中,所述统计数据更新模块还包括:
数据确定子模块,用于响应于所述目标网格单元没有对应的点云统计数据,根据所述点云数据的深度值和反射强度值确定所述目标网格单元对应的点云统计数据;
所述装置还包括:指向值更改模块,用于响应于根据所述点云数据的深度值和反射强度值确定了所述目标网格单元对应的点云统计数据,更改所述指向表中与所述目标网格单元对应的指向值,以使得更改后指向值指示所述目标网格单元具有对应的点云统计数据。
13.根据权利要求11或12所述的装置,还包括:
数据存储模块,用于响应于完成对所述目标网格单元对应的点云统计数据的更新,将更新后的点云统计数据存储至预定存储空间中与所述目标网格单元对应的子空间;
其中,所述数据更新子模块包括:
数据读取单元,用于从与所述目标网格单元对应的子空间中读取点云统计数据;以及
数据更新单元,用于根据所述点云数据的深度值和反射强度值对读取的点云统计数据进行更新。
14.根据权利要求10~13中任一项所述的装置,其中,点云统计数据包括与网格单元对应的点云数据的强度值平均值、强度值总和、最大深度值及与所述网格单元对应的点云数据的总数;所述统计数据更新模块用于:
根据所述点云数据的所述深度值和所述反射强度值,对所述目标网格单元对应的点云统计数据中的强度值总和、最大深度值及与网格单元对应的点云数据的总数进行更新;
所述装置还包括平均值更新模块,用于响应于根据一帧点云数据完成对所述预定网格中网格单元对应的点云统计数据的更新,根据与所述网格单元对应的点云统计数据中的强度值总和及与所述网格单元对应的点云数据的总数,对与所述网格单元对应的点云统计数据中的强度值平均值进行更新。
15.根据权利要求14所述的装置,其中,所述平均值更新模块包括:
待更新单元确定子模块,用于根据与所述预定网格对应的指向表,确定所述预定网格中的待更新网格单元;其中,所述指向表中包括与所述预定网格中的网格单元对应的指向值,所述指向值指示对应的网格单元是否具有对应的点云统计数据;所述待更新网格单元为具有对应的点云统计数据的网格单元;
数据读取子模块,用于从预定存储空间中与所述待更新网格单元对应的子空间中,读取与所述待更新网格单元对应的点云统计数据;
平均值确定子模块,用于根据读取的点云统计数据中的强度值总和及点云数据的总数,确定与所述待更新网格单元对应的强度值平均值;以及
数据存储子模块,用于将与所述待更新网格单元对应的强度值平均值存储至与所述待更新网格单元对应的子空间中。
16.根据权利要求10所述的装置,其中,所述网格化处理模块用于:
响应于所述点云数据的深度值位于预定深度范围内,根据点云数据中的宽度值和高度值,对所述点云数据进行网格化处理。
17.根据权利要求16所述的装置,其中,所述网格化处理模块包括:
行数确定子模块,用于根据所述宽度值与所述高度值的差,确定所述点云数据对应的目标网格单元在所述预定网格中所在的行数;
列数确定子模块,用于根据所述宽度值与所述高度值的和,确定所述点云数据对应的目标网格单元在所述预定网格中所在的列数;以及
目标单元确定子模块,用于响应于所述行数和所述列数大于0,根据所述行数和所述列数,确定所述预定网格中与所述点云数据对应的目标网格单元。
18.根据权利要求10~17中任一项所述的装置,其中,所述智能芯片包括可编程逻辑阵列芯片。
19.一种智能芯片,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1~8中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1~8中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于可读存储介质和电子设备其中至少之一上,所述计算机程序/指令在被处理器执行时实现根据权利要求1~8中任一项所述方法的步骤。
22.一种自动驾驶车辆,包括:根据权利要求19所述的智能芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211712979.6A CN116052113A (zh) | 2022-12-29 | 2022-12-29 | 点云数据的处理方法、装置、智能芯片、存储介质和车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211712979.6A CN116052113A (zh) | 2022-12-29 | 2022-12-29 | 点云数据的处理方法、装置、智能芯片、存储介质和车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116052113A true CN116052113A (zh) | 2023-05-02 |
Family
ID=86125820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211712979.6A Pending CN116052113A (zh) | 2022-12-29 | 2022-12-29 | 点云数据的处理方法、装置、智能芯片、存储介质和车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116052113A (zh) |
-
2022
- 2022-12-29 CN CN202211712979.6A patent/CN116052113A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112801164B (zh) | 目标检测模型的训练方法、装置、设备及存储介质 | |
CN113902897B (zh) | 目标检测模型的训练、目标检测方法、装置、设备和介质 | |
CN112633384A (zh) | 基于图像识别模型的对象识别方法、装置和电子设备 | |
CN113947188A (zh) | 目标检测网络的训练方法和车辆检测方法 | |
CN112863187A (zh) | 感知模型的检测方法、电子设备、路侧设备和云控平台 | |
EP4145408A1 (en) | Obstacle detection method and apparatus, autonomous vehicle, device and storage medium | |
CN114677655A (zh) | 多传感器目标检测方法、装置、电子设备以及存储介质 | |
CN114494776A (zh) | 一种模型训练方法、装置、设备以及存储介质 | |
CN115205717A (zh) | 障碍物点云数据处理方法以及飞行设备 | |
CN114677653A (zh) | 模型训练方法、车辆关键点检测方法及相应的装置 | |
CN113177497B (zh) | 视觉模型的训练方法、车辆识别方法及装置 | |
CN113920273B (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN116052113A (zh) | 点云数据的处理方法、装置、智能芯片、存储介质和车辆 | |
CN115761698A (zh) | 一种目标检测方法、装置、设备及存储介质 | |
CN114445802A (zh) | 点云处理方法、装置及车辆 | |
CN115131315A (zh) | 一种图像的变化检测方法、装置、设备及存储介质 | |
CN114429631A (zh) | 三维对象检测方法、装置、设备以及存储介质 | |
CN114581711A (zh) | 目标对象检测方法、装置、设备、存储介质以及程序产品 | |
CN113989300A (zh) | 车道线分割的方法、装置、电子设备和存储介质 | |
CN113706705A (zh) | 用于高精地图的图像处理方法、装置、设备以及存储介质 | |
CN112861811A (zh) | 目标识别方法、装置、设备、存储介质及雷达 | |
US20230142243A1 (en) | Device environment identification method and apparatus, electronic device, and autonomous vehicle | |
CN117351303A (zh) | 目标检测模型的训练方法、目标检测方法、装置及设备 | |
CN114049615B (zh) | 行驶环境中交通对象融合关联方法、装置及边缘计算设备 | |
US20220383626A1 (en) | Image processing method, model training method, relevant devices and electronic device |
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 |