本发明涉及一种数据处理方法,具体涉及一种基于ros2数据处理的优化方法,属于自动驾驶。
背景技术:
1、在无人驾驶技术研究中,在自动驾驶领域,数据作为整个数据闭环的驱动力,推动着算法不断迭代。如何快速处理数据,获取有效素材,决定了算法模型的迭代速度。如图1所示,展示了一个常规的数据处理流程。
2、数据接入处理流程,同时分配给定位数据解析节点,图像处理节点和激光抽帧节点进行数据处理。定位解析节点负责提取定位相关信息,比如位置,车身姿态等信息;图像处理节点负责提取多个相机的全部原始图片,并对图片进行去畸变处理,同时保存原始图片和去畸变后的图片。图像处理完成后,原始图像数据进入俯视图处理节点,根据每一帧图像的采集时间,对不同的相机进行时间同步,找到每个相机都有对应时刻的图片数据,然后拟合成一张俯视图;激光抽帧节点负责抽取不同角度的多路激光雷达数据,提取的激光雷达数据进入激光合并节点,根据数据采样时间戳进行数据同步,合并成一个激光雷达文件。数据对齐节点负责对合并后的激光雷达数据进行抽样,按照每10帧抽取1帧作为最后的数据输出。同时以这一帧激光雷达的时间戳作为基准,去匹配这一刻不同相机的采样图片数据。最后,数据对齐后的激光雷达数据,不同相机的原始图片和俯视图数据,以及定位数据汇入素材整理节点,按照不同的输出目录要求进行数据分类。
3、现有的方案需要提取所有的图片和激光雷达数据,方便数据同步节点和俯视图节点进行数据同步对齐。但是由于数据量非常大,单个相机的采样帧率为30hz,激光雷达的采样帧率为10hz,定位数据的采样帧率为100hz,一小时的数据量可以达到100g,数据存放在网络磁盘上,数据提取的过程中涉及到大量的网络接口操作,导致数据处理耗时非常长。一小时的数据完成整个数据处理流程,大约需要24小时。
技术实现思路
1、本发明所要解决的技术问题是,克服现有技术的缺点,提供一种基于ros2数据处理的优化方法,。
2、为了达到以上目的,本发明具体技术方案如下:一种基于ros2数据处理的优化方法,包括如下步骤,
3、步骤1,将各通信节点数据接入处理流程,首先进入时间戳对齐节点,从数据包中把各传感器数据的所有时间戳解析出来并对齐;
4、步骤2,将时间戳对齐节点的输出产物分别输送至激光抽帧节点、图像处理节点和定位数据解析节点,作为各自节点的输入数据;
5、步骤3,经过图像处理节点之后的原始图像数据流入俯视图处理节点进行图像合并;
6、步骤4,图像处理节点和激光合并节点的输出产物流入数据对齐节点,进行数据对齐;由于相机的采样频率和激光雷达采样频率不同,对于算法而言,只有同一时刻的相机和激光数据才能还原当时的驾驶场景环境,所以需要对数据进行对齐处理;
7、步骤5,最终所有节点的产物流入素材整理节点,按照不同的目录结构进行数据整理。
8、进一步的,所述步骤1中,所述时间戳对齐节点将数据包中由若干传感器收集的数据的所有时间戳进行解析,所述传感器至少包括相机、激光雷达及惯导系统,由此获取车身周围的场景信息;通过相机以图象可视化的方式获取车身周围的场景;通过激光雷达在光线条件有限的情况下获取车身周围的场景信息,而且探测距离远;通过惯导系统获取车身的坐标位置、姿态及加速等信息;对于原始数据,各个设备的数据都是压缩在单个文件里,需要通过本工作流将数据从单个文件中提取出来。
9、所述步骤1中,以激光雷达的采集数据作为基准进行对齐,以最大程度的保留不同时刻下场景的全量传感器数据;将起始帧时间戳最小的激光雷达作为主激光雷达,以主激光雷达的时间戳为准,按照10帧保留1帧的方法保留抽帧后的目标激光雷达时间戳,然后用抽帧后的激光雷达时间戳去对齐不同相机的图片数据,如果在全部相机都能找到对齐的图像数据,则保留这一帧的激光雷达时间戳和各个相机的图片时间戳。
10、进一步的,所述相机包括用于车身周围环境的监测的周视相机和用于车身周围盲区的监测的环视相机,所述周视相机为6个,分别为中路前周视相机fcf、左前周视相机flb、右前周视相机frb、左后周视相机blf、右后周视相机brf和中路后周视相机bcb;所述环视相机为6个,分别为中路前环视相机f_fcf、左前环视相机f_fll、右前环视相机f_frr、左后环视相机f_bll、右后环视相机f_brr和中路后环视相机f_bcb。
11、进一步的,最后输出的pcd_ts.json文件中保留了目标激光雷达数据,images_ts.json文件中保留了多路相机对齐后的目标图片时间戳。
12、进一步的,所述步骤2中,各个节点依次遍历各自的时间戳的json文件,提取目标文件;对于激光抽帧节点,数据量减少为之前的1/10;对于图像抽帧节点,数据量减少为之前的1/30,对于定位解析节点,数据量减少为之前的1/100。
13、进一步的,所述步骤5中,按照业务场景,处理后的素材需要分类整理成联合标注、纯图片、小bev、6+2大bev、6大bev、bev-od和激光7个目录,对于每个目录,有自己的子目录结构,为了方便算法团队对处理后的素材进行快速定位和使用,素材整理节点会结合不同的业务部门的需求对素材进行归档整理。
14、进一步的,所述小bev采用四个环视相机,大bev采用四个环视相机和两个周视相机,6+2大bev采用六个鱼眼环视相机和两个周视相机。
15、进一步的,所述步骤2中,所述步骤5中,业务场景包括真值标注,动态视觉感知训练,静态视觉感知训练,激光雷达感知训练;文件夹按照业务场景进行分类,服务于下游的业务,根据各自的业务需要,可以再对应目录下找到需要的素材。
16、由于激光雷达的采样帧率最低,为了尽可能多的保留有效数据,以激光雷达数据作为基准进行对齐,可以最大程度的保留不同时刻下场景的全量传感器数据;因为激光雷达在不同的方位都有激光雷达,以起始帧时间戳最小的雷达作为主雷达,可以更早的记录汽车驾驶场景,故而以主激光雷达的时间戳为准,默认按照10帧保留1帧的方法保留抽帧后的目标激光雷达时间戳,然后用抽帧后的激光雷达时间戳去对齐不同相机的图片数据,如果在全部相机都能找到对齐的图像数据,以激光主雷达的时间戳为基准,按照该时间戳附近33ms范围内,去匹配各个相机的图像时间戳;则保留这一帧的激光雷达时间戳和各个相机的图片时间戳。
17、与现有技术相比,本发明的有益效果为:。
18、1.本发明只针对不同的传感器的时间戳进行数据对齐,而不是传感器数据进行同步,大大降低了数据量,明显提升了对齐速度;
19、2.通过调整工作流,显著降低了整体数据量,降低了网络io和磁盘io读写操作,提升了数据处理速度。
20、3.支持抽帧间隔设置,允许用户灵活定义抽帧间隔。
1.一种基于ros2数据处理的优化方法,其特征在于:包括如下步骤,
2.根据权利要求1所述的基于ros2数据处理的优化方法,其特征在于:所述步骤1中,所述时间戳对齐节点将数据包中由若干传感器收集的数据的所有时间戳进行解析,所述传感器至少包括相机、激光雷达及惯导系统;由此获取车身周围的场景信息;通过相机以图象可视化的方式获取车身周围的场景;通过激光雷达在光线条件有限的情况下获取车身周围的场景信息,而且探测距离远;通过惯导系统获取车身的坐标位置、姿态及加速等信息;对于原始数据,各个设备的数据都是压缩在单个文件里,需要通过本工作流将数据从单个文件中提取出来。
3.根据权利要求2所述的基于ros2数据处理的优化方法,其特征在于:所述步骤1中,以激光雷达的采集数据作为基准进行对齐,以最大程度的保留不同时刻下场景的全量传感器数据;将起始帧时间戳最小的激光雷达作为主激光雷达,以主激光雷达的时间戳为准,按照10帧保留1帧的方法保留抽帧后的目标激光雷达时间戳,然后用抽帧后的激光雷达时间戳去对齐不同相机的图片数据,如果在全部相机都能找到对齐的图像数据,则保留这一帧的激光雷达时间戳和各个相机的图片时间戳。
4.根据权利要求3所述的基于ros2数据处理的优化方法,其特征在于:所述相机包括用于车身周围环境的监测的周视相机和用于车身周围盲区的监测的环视相机,所述周视相机为6个,分别为中路前周视相机fcf、左前周视相机flb、右前周视相机frb、左后周视相机blf、右后周视相机brf和中路后周视相机bcb;所述环视相机为6个,分别为中路前环视相机f_fcf、左前环视相机f_fll、右前环视相机f_frr、左后环视相机f_bll、右后环视相机f_brr和中路后环视相机f_bcb。
5.根据权利要求2所述的基于ros2数据处理的优化方法,其特征在于:最后输出的pcd_ts.json文件中保留了目标激光雷达数据,images_ts.json文件中保留了多路相机对齐后的目标图片时间戳。
6.根据权利要求1所述的基于ros2数据处理的优化方法,其特征在于:所述步骤2中,各个节点依次遍历各自的时间戳的json文件,提取目标文件;对于激光抽帧节点,数据量减少为之前的1/10;对于图像抽帧节点,数据量减少为之前的1/30,对于定位解析节点,数据量减少为之前的1/100。
7.根据权利要求1所述的基于ros2数据处理的优化方法,其特征在于:所述步骤5中,按照业务场景,处理后的素材需要分类整理成联合标注、纯图片、小bev、6+2大bev、6大bev、bev-od和激光7个目录,对于每个目录,有自己的子目录结构,为了方便算法团队对处理后的素材进行快速定位和使用,素材整理节点会结合不同的业务部门的需求对素材进行归档整理。
8.根据权利要求7所述的基于ros2数据处理的优化方法,其特征在于:所述小bev采用四个环视相机,大bev采用四个环视相机和两个周视相机,6+2大bev采用六个鱼眼环视相机和两个周视相机。
9.根据权利要求1所述的基于ros2数据处理的优化方法,其特征在于:所述步骤2中,所述步骤5中,业务场景包括真值标注,动态视觉感知训练,静态视觉感知训练,激光雷达感知训练;文件夹按照业务场景进行分类,服务于下游的业务,根据各自的业务需要,可以再对应目录下找到需要的素材。