CN114972136A - 3d目标检测模型的训练方法、3d目标检测方法及装置 - Google Patents

3d目标检测模型的训练方法、3d目标检测方法及装置 Download PDF

Info

Publication number
CN114972136A
CN114972136A CN202110215194.7A CN202110215194A CN114972136A CN 114972136 A CN114972136 A CN 114972136A CN 202110215194 A CN202110215194 A CN 202110215194A CN 114972136 A CN114972136 A CN 114972136A
Authority
CN
China
Prior art keywords
point cloud
frame
sample
target
cloud frame
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
Application number
CN202110215194.7A
Other languages
English (en)
Inventor
王春微
马超
叶超强
杨臻
张维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110215194.7A priority Critical patent/CN114972136A/zh
Publication of CN114972136A publication Critical patent/CN114972136A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20068Projection on vertical or horizontal image axis

Abstract

本申请提供了一种3D目标检测模型的训练方法、3D目标检测方法及装置,涉及计算机视觉领域。该训练方法包括:获取训练样本,基于训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型,训练样本包括目标点云帧和目标图像帧,目标点云帧和目标图像帧是通过对初始图像帧和初始点云帧进行模态同步的重采样,并通过物体间的遮挡关系分别处理重采样后的点云帧和图像帧得到的,本申请实施例的方案能够对初始点云帧和初始图像帧进行增强,提高训练样本的多样性,有利于提高训练得到的3D目标检测模型的性能。

Description

3D目标检测模型的训练方法、3D目标检测方法及装置
技术领域
本申请涉及计算机视觉领域,尤其涉及一种3D目标检测模型的训练方法、3D目标检测方法、数据增强方法及装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
计算机视觉中的三维(three dimension,3D)目标检测能够提供图像中目标物体的三维大小以及旋转角度等多种指标,在多个应用领域受到广泛关注。现有的3D目标检测主要包括单模态3D目标检测和多模态3D目标检测。单模态3D目标检测利用图像数据或激光数据等单模态的数据实现目标检测。多模态3D目标检测利用图像数据和激光数据等多种模态的数据共同实现目标检测,该方案的检测效果显著优于单模态3D目标检测的检测效果。训练样本对3D目标检测模型的训练效果至关重要。数据增强方法能够大大增加训练样本的多样性,提高模型的鲁棒性。
目前,基于单模态3D目标检测发展出了一系列有效的数据增强方法。例如,将其他场景中的物体的点云和3D标注框粘贴至当前场景中,以增加当前场景中的训练样本的多样性,提高模型的精度。然而,多模态3D目标检测的训练过程中所需的训练样本包括多种模态的数据,多种模态的数据之间具有一致性,单模态3D目标检测中的数据增强方法无法应用于多模态3D目标检测的训练过程中。现有的多模态3D目标检测的训练过程中所采用的数据增强仅局限于旋转、平移以及缩放等操作,无法有效增加训练样本的数量,难以提升模型的性能。
因此,如何提高3D目标检测的准确性成为一个亟待解决的问题。
发明内容
本申请提供一种3D目标检测模型的训练方法、3D目标检测方法、数据增强方法及装置,能够增加训练样本的多样性,提高3D目标检测模型的准确性。
第一方面,提供了一种3D目标检测模型的训练方法,包括:获取训练样本,训练样本包括:目标点云帧和目标点云帧上的标签,目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的图像块所在区域的2D框;目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将至少一个样本的图像块添加至初始图像帧中得到的,初始图像帧和初始点云帧之间具有对应关系,至少一个样本用于指示至少一个物体;基于训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型。
根据本申请实施例的方案,训练样本是通过对初始图像帧和初始点云帧进行增强后得到的,增加了训练样本中的物体的数量,相对于以初始图像帧和初始点云帧作为训练样本而言,本申请的方案能够提高训练样本的多样性,进而训练得到的模型的性能,即提高检测的准确性,降低误检率。而且,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间的一致性。
具有对应关系的图像帧和点云帧可以理解为配对的图像帧和点云帧。
至少一个样本的点云和至少一个样本的图像块可以是在至少一个点云帧和至少一个图像帧中分别提取到的标注样本的点云和图像块。该至少一个图像帧中的各个图像帧和至少一个点云帧中的各个点云帧是一一对应的。
该至少一个样本的点云和图像块可以是在采样池中采样得到的。采样池中包括多个候选样本的点云和图像块。该多个候选样本的点云和图像块可以是通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云和图像块。
结合第一方面,在第一方面的某些实现方式中,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,包括:中间点云帧是通过将该至少一个样本中的不同样本的点云分别添加至初始点云帧中的不同区域得到的。
结合第一方面,在第一方面的某些实现方式中,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
根据本申请实施例的方案,样本的点云与初始点云帧中的物体的点云之间不存在重叠区域,可以避免出现中间点云帧中多个物体在三维空间上出现碰撞的不合理的情况,保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
结合第一方面,在第一方面的某些实现方式中,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域,包括:在BEV上,该至少一个样本的3D框与初始点云帧中的物体所在区域的3D框在中间点云帧中不存在重叠区域。
结合第一方面,在第一方面的某些实现方式中,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
根据本申请实施例的方案,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,满足中间点云帧中的点云的稀疏性,避免出现与实际情况不符的情况,进一步提高了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
例如,该至少一个样本的点云添加至初始点云帧中该至少一个样本的3D框的坐标所指示的区域。
结合第一方面,在第一方面的某些实现方式中,至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
根据本申请实施例的方案,根据样本的点云在初始点云帧中所在的区域得到样本的图像块在初始图像帧上所在的区域,能够避免由于相机外参的抖动带来的影响,保证样本的点云在初始点云帧中的位置与样本的图像块在初始图像帧中的位置的一致性,从而提高训练样本的准确性,进而保证3D目标检测模型的训练效果。
结合第一方面,在第一方面的某些实现方式中,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
结合第一方面,在第一方面的某些实现方式中,中间点云帧中的物体包括第一物体,在第一物体在初始点云帧的物体的情况下,被第一物体遮挡的点包括中间点云帧中的第一3D点,第一3D点为至少一个样本的点云中的点,且第一3D点位于第一物体的视角范围内,且第一3D点与原点之间的距离大于第一物体与原点之间的距离。
结合第一方面,在第一方面的某些实现方式中,中间点云帧中的物体包括第一物体,在第一物体在初始点云帧的物体的情况下,被第一物体遮挡的点包括中间点云帧中的第二3D点和第三3D点。第二3D点为背景点,且第二3D点位于第一物体的视角范围内。第三3D点为前景点,且第三3D点位于第一物体的视角范围内;第三3D点与原点之间的距离大于第一物体与原点之间的距离;且第三3D点不属于第一物体。
结合第一方面,在第一方面的某些实现方式中,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
结合第一方面,在第一方面的某些实现方式中,至少一个样本的点云在中间点云帧中所在区域为中间点云帧中的目标区域。
根据本申请实施例的方案,可以将样本的点云放置于目标区域中,增加目标区域中的物体的数量,以得到更满足需求的训练样本。
结合第一方面,在第一方面的某些实现方式中,目标区域为路面区域。
本申请实施例中的模型可以应用于自动驾驶领域。在自动驾驶领域中,通常更关注路面区域的物体,将样本的点云添加至路面区域中,能够增加路面区域上的物体的数量,同时保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
第二方面,提供了一种3D目标检测方法,包括:获取待处理的图像帧和待处理的点云帧,待处理的图像帧和待处理的点云帧之间具有对应关系;采用训练好的3D目标检测模型对待处理的图像帧和待处理的点云帧进行3D目标检测,得到检测结果,其中,训练好的3D目标检测模型是基于训练样本对3D目标检测模型进行训练得到的,训练样本包括:目标点云帧和目标点云帧上的标签,目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的图像块所在区域的2D框;目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将至少一个样本的图像块添加至初始图像帧中得到的,初始图像帧和初始点云帧之间具有对应关系,至少一个样本用于指示至少一个物体。
根据本申请实施例的方案,训练好的3D目标检测模型是通过第一方面中的方法训练得到的,其中的训练样本是通过对初始图像帧和初始点云帧进行增强后得到的,相对于以初始图像帧和初始点云帧作为训练样本而言,本申请的方案能够提高训练样本的多样性,进而训练得到的模型的性能,即提高检测的准确性,降低误检率。而且,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间的一致性。
结合第二方面,在第二方面的某些实现方式中,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
结合第二方面,在第二方面的某些实现方式中,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
结合第二方面,在第二方面的某些实现方式中,至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
结合第二方面,在第二方面的某些实现方式中,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
结合第二方面,在第二方面的某些实现方式中,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
结合第二方面,在第二方面的某些实现方式中,至少一个样本的点云在中间点云帧中所在区域为中间点云帧中的目标区域。
结合第二方面,在第二方面的某些实现方式中,目标区域为路面区域。
第三方面,提供了一种数据增强方法,包括:获取初始点云帧和初始图像帧,初始点云帧和初始图像帧之间具有对应关系;将至少一个样本的点云添加至初始点云帧中,得到中间点云帧;将至少一个样本的图像块添加至初始图像帧中,得到中间图像帧,其中,至少一个样本用于指示至少一个物体;过滤中间点云帧中被中间点云帧中的物体遮挡的点,得到目标点云帧;根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧。
本申请实施例中的方案得到的目标点云帧和目标图像帧可以作为训练样本,相对于以初始图像帧和初始点云帧作为训练样本而言,本申请的方案增加了训练样本的多样性,提高训练得到的模型的性能,例如,提高识别率,降低误检率。同时,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间投影关系的一致性。
至少一个样本的点云和至少一个样本的图像块可以是在至少一个点云帧和至少一个图像帧中分别提取到的标注样本的点云和图像块。该至少一个图像帧中的各个图像帧和至少一个点云帧中的各个点云帧是一一对应的。
结合第三方面,在第三方面的某些实现方式中,该至少一个样本的点云和图像块可以是在采样池中采样得到的。采样池中包括多个候选样本的点云和图像块,该多个候选样本的点云和图像块可以是通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云和图像块。
结合第三方面,在第三方面的某些实现方式中,将至少一个样本的点云增加至初始点云帧,包括:将至少一个样本中的不同样本的点云分别添加至初始点云帧中的不同区域。
结合第三方面,在第三方面的某些实现方式中,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
结合第三方面,在第三方面的某些实现方式中,该至少一个样本的点云在初始点云中所在的区域与初始点云中的物体的点云所在的区域之间不存在重叠区域,包括:在鸟瞰视角上,该至少一个样本的3D框与初始点云帧中的物体所在区域的3D框在中间点云帧中不存在重叠区域。
结合第三方面,在第三方面的某些实现方式中,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于该至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
结合第三方面,在第三方面的某些实现方式中,该至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
结合第三方面,在第三方面的某些实现方式中,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
结合第三方面,在第三方面的某些实现方式中,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧,包括:按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块,得到目标图像帧。
结合第三方面,在第三方面的某些实现方式中,将至少一个样本的点云增加至初始点云帧,包括:将该至少一个样本的点云添加至初始点云帧中的目标区域。
结合第三方面,在第三方面的某些实现方式中,目标区域为路面区域。
第四方面,提供了一种3D目标检测模型的训练装置,装置包括用于执行上述第一方面以及第一方面中的任意一种实现方式中的方法的模块或单元。
第五方面,提供了一种3D目标检测装置,装置包括用于执行上述第二方面以及第二方面中的任意一种实现方式中的方法的模块或单元。
第六方面,提供了一种数据增强装置,装置包括用于执行上述第三方面以及第三方面中的任意一种实现方式中的方法的模块或单元。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面、第三方面、第四方面、第五方面以及第六方面中相同的内容。
第七方面,提供一种3D目标检测模型的训练装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
上述第七方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第八方面,提供了一种3D目标检测装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
上述第八方面中的处理器既可以是中央处理器,也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器、神经网络处理器和张量处理器等等。其中,TPU是谷歌为机器学习全定制的人工智能加速器专用集成电路。
第九方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面、第二方面或第三方面中的任意一种实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面、第二方面或第三方面中的任意一种实现方式中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面、第二方面或第三方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面、第二方面或第三方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
第十二方面,提供一种车辆,该车辆包括上述第四方面、第五方面或第六方面中的任意一种实现方式中的装置。
附图说明
图1是本申请实施例提供的一种自动驾驶汽车的结构示意图;
图2是本申请实施例提供的一种自动驾驶系统中的控车过程的示意性流程图;
图3是本申请实施例提供的一种数据增强装置的结构示意图;
图4是本申请实施例提供的一种数据增强方法的示意性流程图;
图5是本申请实施例提供的一种路面区域提取过程和样本筛选过程的示意图;
图6是本申请实施例提供的一种点云过滤过程和图像块粘贴过程的效果图;
图7是本申请实施例提供的一种点云过滤过程的示意性流程图;
图8是本申请实施例提供的一种点云过滤效果的示意图;
图9是本申请实施例提供的3D目标检测模型的训练方法的示意性流程图;
图10是本申请实施例提供的3D目标检测方法的示意性流程图;
图11为本申请实施例提供的一种3D目标检测模型的训练装置的示意性框图;
图12为本申请实施例提供的一种3D目标检测装置的示意性框图;
图13为本申请实施例提供的一种3D目标检测模型的训练装置的示意性框图;
图14为本申请实施例提供的一种3D目标检测装置的示意性框图;
图15为本申请实施例提供的一种车辆驾驶过程的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
目标检测是计算机视觉领域的基本任务之一。目标检测不仅需要识别出图像中的物体,即识别出物体对应的类别,还需要给出物体的位置。三维(three dimensions,3D)目标检测能够基于二维图像或激光点云等数据输出物体的类别以及物体在三维空间中的长宽高或旋转角等信息。
本申请的方法能够应用于自动驾驶、机器人导航、无人机导航以及虚拟/增强现实等需要进行3D目标检测的领域中,下面主要对自动驾驶的场景进行说明。
图1是本发明实施例提供的车辆100的功能框图。在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。
在一个示例中,车辆100可以在处于自动驾驶模式中的同时控制目标车辆,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100可包括各种子系统,例如,行进系统110、传感系统120、控制系统130、一个或多个外围设备140以及电源160、计算机系统150和用户接口170。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
示例性地,行进系统110可以包括用于向车辆100提供动力运动的组件。在本申请实施例中,行进系统可以用于在避障过程中,驱动车辆执行相应的运动行为,例如前进、后退、转向等等。行进系统110包括引擎111、传动装置112、能量源113和车轮114。
传感系统120可以包括感测关于车辆100周边的环境的信息的若干个传感器。在本申请实施例中,传感系统可以用于获取环境信息和道路结构信息,从而基于这些获取的信息,执行后续的控制。
例如,传感系统120可以包括定位系统121(例如,全球定位系统(globalpositioning system,GPS)、北斗系统或者其他定位系统)、惯性测量单元(inertialmeasurement unit,IMU)122、雷达123、激光测距仪124、相机125以及车速传感器126。传感系统120还可以包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
其中,定位系统121可以用于估计车辆100的地理位置。IMU 122可以用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 122可以是加速度计和陀螺仪的组合。
示例性地,雷达123可以利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。
示例性地,激光测距仪124可以利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪124可以包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
示例性地,相机125可以用于捕捉车辆100的周边环境的多个图像。例如,相机125可以是静态相机或视频相机。
示例性地,车速传感器126可以用于测量车辆100的速度。例如,可以对车辆进行实时测速。测得的车速可以传送给控制系统130以实现对车辆的控制。
控制系统130为控制车辆100及其组件的操作。控制系统130可以包括各种元件,比如可以包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍规避系统136。
示例性地,转向系统131可以操作来调整车辆100的前进方向。例如,在一个实施例中可以为方向盘系统。油门132可以用于控制引擎111的操作速度并进而控制车辆100的速度。
示例性地,制动单元133可以用于控制车辆100减速;制动单元133可以使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可以将车轮114的动能转换为电流。制动单元133也可以采取其他形式来减慢车轮114转速从而控制车辆100的速度。
如图1所示,计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。上述物体和/或特征可以包括交通信号、道路边界和障碍物。计算机视觉系统134可以使用物体识别算法、运动中恢复结构(structurefrom motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
示例性地,路线控制系统135可以用于确定车辆100的行驶路线。障碍规避系统136可以用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
在一个实例中,控制系统130可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
如图1所示,车辆100可以通过外围设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。
在一些实施例中,外围设备140可以提供车辆100与用户接口170交互的手段。无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。
电源160可以向车辆100的各种组件提供电力。
车辆100的部分或所有功能可以受计算机系统150控制,其中,计算机系统150可以包括至少一个处理器151,处理器151执行存储在例如存储器152中的非暂态计算机可读介质中的指令153。计算机系统150还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
例如,处理器151可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,CPU)。
可选地,该处理器可以是诸如专用集成电路(application specific integratedcircuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器152可包含指令153(例如,程序逻辑),指令153可以被处理器151来执行车辆100的各种功能,包括以上描述的那些功能。存储器152也可包括额外的指令,比如包括向行进系统110、传感系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
示例性地,除了指令153以外,存储器152还可存储数据,例如,道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统150使用。
用户接口170可以用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可以包括在外围设备140的集合内的一个或多个输入/输出设备,例如,无线通信系统141、车载电脑142、麦克风143和扬声器144。
在本申请的实施例中,计算机系统150可以基于从各种子系统(例如,行进系统110、传感系统120和控制系统130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机系统150可以利用来自控制系统130的输入以便控制制动单元133来避免由传感系统120和障碍规避系统136检测到的障碍物。在一些实施例中,计算机系统150可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器152可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
在道路行进的自动驾驶汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,自动驾驶汽车车辆100或者与自动驾驶车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
本申请实施例提供的3D目标检测模型可以部署于如图1所示的车辆100中,基于传感系统120采集的数据检测周围环境内的物体。本申请实施例中的方法能够提高训练样本的多样性,有利于提高模型的准确性,即提高检测结果的准确性,有利于提高驾驶的安全性。
上述车辆100可以为传统汽车、新能源车、智能汽车等,所谓传统汽车是指利用汽车、柴油等提供能源的汽车,新能源车则指最新出现的利用电能、燃气等新能源提供能源的车辆,智能汽车则是指装载有智能控制单元等智能设备的车,上述车辆100的车辆类型例如可以包括轿车、卡车、客车、工程车、公交车等,本申请实施例不做特别的限定。在本申请实施例中,主要以道路上行驶的各类汽车为例进行介绍。
图2示出了一种自动驾驶系统中的控车过程的示意性流程图。具体地,控车过程包括以下步骤:
S1:采集感知数据。
示例性地,步骤S1可以由图1中的传感系统120执行。
具体地,感知数据包括摄像机、激光雷达等多种设备所采集的行驶环境中的数据。
示例性地,激光雷达可以以10fps的频率采集外部环境返回信息。
示例性地,摄像机可以以25fps或30fps的速度采集外部环境信息。例如,该摄像机可以为图1中的相机125。
S2:执行目标检测。
本申请实施例得到的3D目标检测模型可以用于执行步骤S2。
示例性地,待检测的目标指的是行驶环境中的目标。待检测的目标可以包括动态目标和静态目标。例如,动态目标包括行人或车辆等。静态目标包括交通牌、车道线或可行驶区域(freespace)等。
S3:执行目标跟踪。
示例性地,步骤S3可以由图1中的计算机视觉系统134执行。
基于目标检测的结果可以执行目标跟踪。
示例性地,目标跟踪可以用于检测目标的速度或预测目标的运动轨迹等。
S4:融合多个传感器输出的障碍物信息。
各传感器在感知方面有着不同的优势,多传感器融合使各个传感器都发挥其作用,达到融合的结果优于任意单个传感器结果的目的。无人驾驶系统通常有多个传感器对环境3D目标同时进行冗余的检测,多个传感器对相同目标均得到各自的检测结果。该步骤即融合所有传感器的目标检测结果,去除重复结果,输出去重后的最终检测结果。
S5:规划控制。
基于障碍物信息进行路径规划与自车行驶状态的控制。
本申请实施例中的3D目标检测模型可以部署于车载感知设备的计算节点(如车载计算机)上,提升3D目标检测的准确度。
由于本申请实施例涉及神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002952933040000111
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。
f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入。例如,激活函数可以是ReLU,tanh或sigmoid函数。
神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0002952933040000112
其中,
Figure BDA0002952933040000113
是输入向量,
Figure BDA0002952933040000114
是输出向量,
Figure BDA0002952933040000115
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0002952933040000116
经过如此简单的操作得到输出向量
Figure BDA0002952933040000117
由于DNN层数多,系数W和偏移向量
Figure BDA0002952933040000118
的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0002952933040000119
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA00029529330400001110
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。通常地,loss越小,该深度神经网络的训练质量越高,loss越大,深度神经网络的训练质量越低。类似的,loss波动越小,训练越稳定;loss波动越大,训练越不稳定。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
例如,神经网络模型每次训练产生的loss值在神经网络模型中从后向前逐层传递。传递到每一层时,同时计算出该层参数的更新量(偏导运算),这个更新量与梯度(gradient)相关。gradient的值与loss的值是线性正相关的。
单模态3D目标检测指的是基于图像数据或激光数据等单一模态的数据进行3D目标检测的方案。多模态3D目标检测指的是基于融合图像数据和激光数据进行3D目标检测的方案。多模态3D目标检测的准确性高于单模态3D目标检测的准确性,逐渐成为主流检测方案。有效的数据增强方法能够提高训练样本的多样性,进而提高训练得到的模型性能,例如,提高模型的准确性以及鲁棒性等。
基于单模态3D目标检测发展出了一系列有效的数据增强方法。例如,将其他场景中的物体的点云和3D标注框粘贴至当前场景中,以增加当前场景中的训练样本的多样性,提高模型的精度。然而,多模态3D目标检测的训练过程中所需的训练样本包括多种模态的数据,多种模态的数据之间具有一致性,单模态3D目标检测中的数据增强方法无法应用于多模态3D目标检测的训练过程中。现有的多模态3D目标检测的训练过程中所采用的数据增强仅局限于旋转、平移以及缩放等操作,无法有效增加训练样本的数量,难以提升模型的性能。
本申请实施例提出一种数据增强方法,在图像帧和点云帧实现模态同步的重采样,并通过物体间的遮挡关系分别处理重采样后的点云帧(即后文中的中间点云帧)和图像帧(即后文中的中间图像帧),保证了点云帧和图像帧之间投影关系的一致性,能够提高训练样本的多样性,有利于提高训练得到的3D目标检测模型的性能。
为了更好地描述本申请实施例的方法,下面结合附图对本申请实施例的数据增强装置进行说明。
图3示出了本申请实施例的一种数据增强装置,如图3所示,装置300包括目标区域提取模块310、采样模块320、点云添加模块330、点云过滤模块340、图像块处理模块350和图像块添加模块360。
其中,目标区域提取模块310、点云添加模块330和点云过滤模块340属于点云处理单元。图像块处理模块350和图像块添加模块360属于图像处理单元。
目标区域提取模块310用于提取初始点云帧中的目标区域。目标区域提取模块310为可选模块。
示例性地,初始点云帧中的目标区域可以为平面区域。
例如,目标区域提取模块310可以通过点云平面拟合的方式,从初始点云帧中提取平面区域。
可选地,目标区域可以为路面区域。
采样模块320用于从采样池中采样得到至少一个样本的点云和图像块。采样池中包括多个候选样本的点云和图像块。该多个候选样本的点云和图像块可以是通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云和图像块。
其中,至少一个样本用于指示至少一个物体。
采样模块320为可选模块。样本的点云和图像块也可以通过其他方式获得,具体描述参见后文中的步骤S420。
点云添加模块330用于将至少一个样本的点云添加至初始点云帧中,得到中间点云帧。
在装置300包括目标区域提取模块310的情况下,点云添加模块330可以将该至少一个样本的点云添加至初始点云帧中的目标区域中。
可选地,该至少一个样本的点云在初始点云帧中所在区域可以由该至少一个样本的3D框指示。该至少一个样本在初始点云帧中所在区域即为该至少一个样本的点云在初始点云帧中的目标位置,样本的点云即为落在样本的3D框中的点云。具体描述参见后文中的步骤S420。
点云过滤模块340用于过滤中间点云帧中被中间点云帧中的物体遮挡的点,得到目标点云帧。或者说,点云过滤模块340用于根据中间点云帧中的物体之间的遮挡关系过滤被中间点云帧中的物体遮挡的点。具体描述参见后文中的步骤S430。
图像块处理模块350用于将该至少一个样本的图像块添加至初始图像帧中。
可选地,该至少一个样本的图像块在初始图像帧中所在区域可以根据该至少一个样本的点云在初始点云帧中所在区域投影得到。该至少一个样本的图像块在初始图像帧中所在区域即为该至少一个样本的图像块在初始图像帧中的目标位置。
具体地,根据初始图像帧的相机参数将该至少一个样本的点云在初始点云帧中所在区域投影至初始图像帧中,得到该至少一个样本的图像块在初始图像帧中所在区域。
在该情况下,进一步地,图像块处理模块350还可以用于对至少一个样本的图像块进行处理,得到处理后的至少一个样本的图像块,并将处理后的至少一个样本的图像块平移至该至少一个样本的图像块在初始图像帧中所在区域。
例如,图像块处理模块350对至少一个样本的图像块进行缩放处理,得到与该至少一个样本的图像块在初始图像帧中所在区域大小一致的图像块,并对缩放处理后得到的图像块进行平移处理,将缩放处理后的至少一个样本的图像块平移至该至少一个样本的图像块在初始图像帧中所在区域。
具体描述参见后文中的步骤S420。
图像块调整模块360用于根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧。
具体描述参见后文中的步骤S440。
本申请实施例中的方案能够增加训练样本的多样性,提高训练得到的模型的性能,即提高检测的准确性,降低误检率。同时,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间的一致性。
下面结合图4至图8对本申请实施例的数据增强方法进行说明。
图4示出了本申请实施例提供的一种数据增强方法400。本申请实施例的方法能够应用于各种计算设备,该计算设备可以是终端设备也可以是服务器,其中,终端设备可以包括但不限于车辆、个人计算机、相机、服务器计算机、手持式或膝上型设备、移动设备、移动机器人或无人机等。其中,移动设备可以包括手机、平板电脑、个人数字助理或媒体播放器等。
在一种可能的实现方式中,由终端设备执行本申请实施例中的数据增强方法,以增加训练样本,在另一种可能的实现方式中,终端设备可以将数据发送至其他设备,例如云端服务器或其他终端设备,由其他设备执行本申请实施例中的数据增强方法。进一步地,其他设备可以将处理后的结果发送至终端设备。本申请实施例中仅以方法400应用于自动驾驶领域为例对方法400进行说明,不对本申请实施例的方案的应用领域构成限定。
通过方法400得到的训练样本可以用于训练多模态3D目标检测模型。
示例性地,方法400可以由图3的装置300执行。
方法400包括步骤S410至步骤S440,下面对步骤S410至步骤S440进行说明。
S410,获取初始点云帧和初始图像帧。
初始点云帧和初始图像帧之间具有对应关系。
本申请实施例中,具有对应关系的图像帧和点云帧可以理解为配对的图像帧和点云帧。
初始点云帧中的物体和初始图像帧中的物体相同。
示例性地,初始点云帧和初始图像帧可以是在同一时刻或同一时段基于同一场景采集的得到的。
示例性地,初始点云帧可以是通过激光雷达采集的数据。
示例性地,初始图像帧可以是通过相机采集的数据。例如,初始图像帧可以为RGB图像。
可替换地,初始点云帧和初始图像帧也可以是经过方法400处理后得到的。也就是说,将通过方法400处理后得到的目标点云帧和目标图像帧重新作为初始点云帧和初始图像帧,再次执行方法400。
S420,将至少一个样本的点云添加至初始点云帧中,得到中间点云帧;将至少一个样本的图像块添加至初始图像帧中,得到中间图像帧。其中,至少一个样本用于指示至少一个物体。
示例性地,步骤S420可以由图3中的点云添加模块330和图像块处理模块350执行。具体地,点云添加模块330将至少一个样本的点云添加至初始点云帧中,得到中间点云帧。图像块处理模块350将至少一个样本的图像块添加至初始图像帧中,得到中间图像帧。
示例性地,一个样本可以用于指示一个物体,该样本的点云为该样本所指示的物体的点云,即该样本的点云可以表示该物体的表面的点的集合,该样本的图像块为该样本所指示的物体的图像块,即该样本的图像块指的是画面中包括该物体的图像。
步骤S420可以理解为,将该至少一个样本所指示的物体的点云添加至初始点云帧中,得到中间点云帧;并将至少一个样本所指示的物体的图像块添加至初始图像帧中,得到中间图像帧。
例如,该至少一个样本包括如图6所示的样本,该样本用于指示骑自行车的人。将该骑自行车的人的点云添加至初始点云帧中,得到如图6的(a)所示的中间点云帧。将该骑自行车的人的图像块添加至初始图像帧中,得到如图6的(e)所示的中间图像帧。
可选地,至少一个样本的点云和至少一个样本的图像块可以是在至少一个点云帧和至少一个图像帧中分别提取到的标注样本的点云和图像块。该至少一个图像帧中的各个图像帧和至少一个点云帧中的各个点云帧是一一对应的。
也就是说,该至少一个图像帧和该至少一个点云帧中包括至少一组配对的图像帧和点云帧。一个样本的点云和图像块是从一组配对的图像帧和点云帧中提取的。
该至少一个样本的点云和图像块可以是从一组配对的图像帧和点云帧中提取的,也可以是分别从多组配对的图像帧和点云帧中提取的。
示例性地,根据在同一时刻或同一时段基于同一场景采集的得到的图像帧和点云帧可以得到配对的图像帧和点云帧。
该配对的图像帧和点云帧上具有标注样本。标注样本指的是具有标注真值的样本。标注样本的图像块和点云可以称为2D图像-3D点云对。标注真值也可以称为标签。
示例性地,标注真值可以是预先标注的该样本的真实数据。
点云帧上的标注样本用于指示该点云帧中的物体。点云帧上的标注样本的标注真值包括预先标注的该标注样本的3D框,即该标注样本所指示的物体所在区域对应的3D框。或者说,该标注样本的3D框为用于指示物体的点云所在区域的3D框。该标注样本的点云即为落在该标注样本的3D框内的点云。标注样本的3D框可以理解为标注样本的点云的边界框。
例如,该标注样本的3D框可以是人工标注的。
或者说,样本的点云可以为通过标注样本的标注真值在配对的点云帧和图像帧中的点云帧中提取到的标注样本的点云。即样本的点云可以为通过标注样本的3D框在配对的点云帧和图像帧中的点云帧中提取到的标注样本的3D框内的点云。
示例性地,将样本的点云添加至初始点云帧中,可以包括:将该样本的点云及其标签添加至初始点云帧中。
例如,将该样本的3D框和落在该3D框内的点云添加至初始点云帧中。
图像帧上的标注样本用于指示该图像帧中的物体。图像帧上的标注样本的标注真值包括预先标注的该标注样本的2D框,即该标注样本所指示的物体所在区域对应的2D框。或者说,该标注样本的2D框位用于指示物体的图像块所在区域的2D框。该标注样本的图像块即为落在该标注样本的2D框内的图像块。样本的2D框可以理解为样本的图像块的边界框。
例如,该标注样本的2D框可以是人工标注的。
再如,该标注样本的2D框可以是通过将点云帧上的被标注的物体所在区域对应的3D框投影至图像帧上得到的。
标注样本的图像块可以是图像帧中该标注样本的2D框所在区域的图像块。例如,通过该标注样本的2D框在图像帧上裁剪获得的图像块即为该标注样本的图像块。
也就是说,样本的图像块可以为通过标注样本的标注真值在配对的点云帧和图像帧中的图像帧中提取到的标注样本的图像块。即样本的图像块可以为通过标注样本的2D框在配对的点云帧和图像帧中的图像帧中提取到的该标注样本的2D框内的图像块。
示例性地,将样本的图像块添加至初始图像帧中,可以包括:将该样本的图像块及其标签添加至初始图像帧中。
例如,将该样本的2D框和落在该2D框内的图像块添加至初始图像帧中。
例如,一个标注样本用于指示车1#,点云帧中的车1#所在区域对应的3D框可以是人工标注的,车1#的点云即为落在该3D框内的点云。图像帧中的车1#所在区域对应的2D框可以是根据车1#所在区域对应的3D框投影得到的,车1#的图像块即为落在该2D框内的图像区域。
进一步地,该至少一个样本的点云和图像块可以是在采样池中采样得到的。采样池中包括多个候选样本的点云和图像块。
示例性地,该步骤可以由图3中的采样模块320执行。
该多个候选样本的点云和图像块可以是通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云和图像块。具体的提取方法可以参考前文中的描述,此处不再赘述。
示例性地,将至少一个样本的点云增加至初始点云帧,可以包括:将至少一个样本的点云粘贴至初始点云帧。
进一步地,将至少一个样本中的不同样本的点云分别添加至初始点云帧中的不同区域。
例如,将该至少一个样本中的不同样本的点云分别粘贴至初始点云帧中的不同区域。
由于中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,至少一个样本的点云在初始点云帧中被添加的区域即为该至少一个样本的点云在中间点云帧中的区域,即“至少一个样本的点云在初始点云帧中所在区域”和“至少一个样本的点云在中间点云帧中所在区域”可以理解为相同的区域。
也就是说,该不同样本的点云在中间点云帧中的位置是不重叠的。例如,该不同样本的3D框在中间点云帧中不存在重叠区域。
可选地,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
样本的点云所在的区域可以由样本的3D框指示。初始点云帧中的物体的点云所在区域可以由初始点云帧上的标签指示。初始点云帧上的标签包括用于指示初始点云帧上的物体所在区域的3D框。
可选地,该至少一个样本的点云在初始点云中所在的区域与初始点云中的物体的点云所在的区域之间不存在重叠区域,包括:在鸟瞰视角(bird eye view,BEV)上,该至少一个样本的3D框与初始点云帧中的物体所在区域的3D框在中间点云帧中不存在重叠区域。
在真实采集到的点云帧中不会出现多个物体重叠的情况,本申请实施例的方案中,样本的点云与初始点云帧中的物体的点云之间均不存在重叠区域,可以避免出现中间点云帧中多个物体在三维空间上出现碰撞的不合理的情况,保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
也就是说,该至少一个样本的点云可以被添加至初始点云帧中的任意位置,只要保证至少一个样本的点云以及初始点云帧中的物体的点云之间均不存在重叠区域即可。
可选地,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于该至少一个样本所指示的至少一个物体所在的场景采集的点云帧。如前所述,一个样本的点云和图像块是从已配对的点云帧和图像帧中提取到的。已配对的点云帧和图像帧即为基于原场景采集的点云帧和图像帧。该至少一个样本的点云在原场景的点云帧中的区域也可以理解为该至少一个样本的点云在已配对的点云帧和图像帧中的点云帧中的区域。
如前所述,本申请实施例的方案可以应用于自动驾驶领域,在该情况下,本申请实施例中的物体/样本在点云帧中的区域可以为不同场景下的物体/样本在自车坐标系中的区域,或者说,物体/样本在不同场景下相对于自车的区域。
例如,样本为车1#,车1#在被采集时位于自车1#的左前方,则车1的点云在原场景的点云帧中的区域即为自车1#的左前方的区域。车1#的点云添加至初始点云帧中的位置即为自车2#的左前方的区域。自车1#和自车2#可以是同一辆车,也可以是不同的车。
也就是将一个点云帧中位于自车1#左前方的车的点云添加至初始点云帧中位于自车2#的左前方的位置上。
具体地,将该至少一个样本的点云添加至初始点云帧中该至少一个样本对应的3D框的坐标所指示的区域。
样本的3D框的坐标可以是该样本被采集时刻的自车坐标系下的坐标。将该样本对应的3D框的坐标作为初始点云帧被采集时刻的自车坐标系下的坐标即可得到该样本的点云在初始点云帧中的区域。
或者说,将样本的点云直接粘贴在初始点云帧中该样本的3D框的坐标所指示的区域。
本申请实施例的方案中,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,满足中间点云帧中的点云的稀疏性,避免出现与实际情况不符的情况,进一步提高了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。例如,与自车距离不同的物体,在点云帧中的该物体的点云的稀疏性是不同的,与自车距离较近的物体的点云较为稠密,与自车距离较远的物体的点云较为稀疏,样本的点云在中间点云帧中所在区域与样本的点云在原场景的点云帧中所在区域相同,能够保证样本所指示的物体与自车之间距离的一致性,进而保证了中间点云帧中的点云的稀疏性。再如,位于自车不同方向上的物体,在点云中该物体的点云的稀疏性是不同的,在点云帧中位于自车左前方的物体的右侧点云较为稠密,在点云帧中位于自车右前方的物体的左侧点云较为稠密,样本的点云在中间点云帧中所在区域与样本的点云在原场景的点云帧中所在区域相同,能够保证样本所指示的物体与自车之间方位的一致性,进而保证了中间点云帧中的点云的稀疏性。
进一步地,将该至少一个样本的点云添加至初始点云帧中的目标区域。
示例性地,目标区域提取可以由图3中的目标区域提取模块310执行。
示例性地,初始点云帧中的目标区域可以为平面区域。
例如,目标区域提取模块310可以通过点云平面拟合的方式,从初始点云帧中提取平面区域。
示例性地,方法400可以应用于自动驾驶领域,目标区域可以为路面区域。相应地,至少一帧样本为路面区域上的样本。例如,该至少一帧样本所指示的物体可以包括动态物体,比如,路面上的行人或车辆等。
例如,通过点云平面拟合的方式,从初始点云帧中提取路面区域。
在自动驾驶领域中,通常更关注路面区域的物体,将样本的点云添加至路面区域中,能够增加路面区域上的物体的数量,同时保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
下面给出一个示例说明将至少一个样本的点云添加至初始点云帧的过程。应理解,以下仅为示例,不对本申请实施例的范围构成限定。
S11,在采样池的多个候选样本的点云和图像块中采样得到多个样本的点云和图像块,该多个样本为路面区域上的样本;
S12,将该多个样本的点云添加至初始点云帧中的路面区域,该多个样本的点云在原场景的点云帧中的位置与该多个样本的点云在初始点云帧中的位置相同;
S13,删除多个样本中与初始点云中的物体的点云所在的区域存在重叠区域的样本,多个样本中剩余的样本即为该至少一个样本。
示例性地,该至少一个样本的图像块在初始图像帧中所在区域与该至少一个样本的图像块在原场景的图像帧中所在区域相同。原场景的图像帧指的是基于该至少一个样本所指示的物体所在的场景采集的图像帧。如前所述,一个样本的点云和图像块是从已配对的点云帧和图像帧中提取到的。已配对的点云帧和图像帧即为基于原场景采集的点云帧和图像帧。该至少一个样本的图像块在原场景的图像帧中所在区域即为该至少一个样本的图像块在该已配对的点云帧和图像帧中的图像帧中所在区域。
具体地,将该至少一个样本的图像块添加至初始图像帧中该至少一个样本的2D框的坐标所指示的区域。
样本对应的2D框的坐标可以是该样本被采集时刻的自车坐标系下的坐标。将该样本对应的2D框的坐标作为初始图像帧被采集时刻的自车坐标系下的坐标即可得到该样本的图像块在初始图像帧中所在区域。
或者说,将样本的图像块直接粘贴在初始图像帧中该样本的2D框的坐标所指示的区域。
例如,至少一个样本中的第一样本的图像块位于初始图像帧中的第一区域,初始图像帧中的第一区域可以为初始图像帧中第一样本的2D框的坐标所指示的区域。
由于相机外参的抖动,上述方式得到的样本的点云在初始点云帧中的位置可能与样本的图像块在初始图像帧中的位置不能完全对应。也就是说,由于相机外参的抖动,上述方式得到的样本在初始点云帧中对应的3D框和样本在初始图像帧中对应的2D框并不完全对应,这样会影响3D目标检测模型的训练效果。
可选地,该至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
例如,该至少一个样本中的第一样本的点云被添加至初始点云帧中的第一区域,第一样本的图像块被添加至初始图像帧中的第一区域,初始图像帧中的第一区域是通过将初始点云帧中的第一区域投影至初始图像帧中得到的。
也就是说,根据初始图像帧的相机参数以及投影关系将样本在初始点云帧中对应的3D框投影到初始图像帧中,得到的区域即为样本的图像块在初始图像帧中所在区域。也就是得到样本的图像块在初始图像帧中的新的2D框。
通过投影转换得到的区域的大小可能与样本的图像块的原始大小不符,可以对样本的图像块进行预处理,进而将预处理后的样本的图像块添加至相应区域。
具体地,将至少一个样本的图像块添加至初始图像帧中,包括:将至少一个样本的图像块添加至初始图像帧中,对至少一个样本的图像块进行处理,并将处理后的至少一个样本的图像块平移至该至少一个样本的图像块在初始图像帧中所在区域。
示例性地,该步骤可以由图3中的图像块处理模块350执行。
例如,该至少一个样本中的第一样本的点云被添加至初始点云帧中的第一区域,将第一区域投影至初始图像帧中,得到初始图像帧中的第一区域,对第一样本的图像块进行缩放处理,得到与初始图像帧中的第一区域大小一致的图像块,并对缩放处理后得到的图像块进行平移处理,将缩放处理后的第一样本的图像块平移至初始图像帧中的第一区域。
在本申请实施例中,根据样本的点云在初始点云帧中的位置得到样本的图像块在初始图像帧上的位置,能够避免由于相机外参的抖动带来的影响,保证样本的点云在初始点云帧中的区域与样本的图像块在初始图像帧中的区域的一致性,从而提高训练样本的准确性,进而保证3D目标检测模型的训练效果。
图5中示出了初始点云帧中的路面区域以及增加的样本的点云。图5中的(a)示出了初始图像帧和初始点云帧的示意图,图5的(b)中示出了初始点云帧中提取到的路面区域的点云。图5的(c)中示出了添加至初始点云帧中的7个样本的点云,以及添加至初始图像帧中的7个样本的图像块。如图5的(c)所示,增加的7个样本的点云均位于初始点云帧中的路面区域,且添加的7个样本的点云所在的区域和该初始点云帧中的物体的点云所在的区域之间没有重叠区域。应理解,图5的(c)中的增加的样本的数量仅为示意,还可以增加更多或更少的样本。
S430,过滤中间点云帧中被中间点云帧中的物体遮挡的点,得到目标点云帧。
或者说,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点,得到目标点云帧。
示例性地,步骤S430可以由图3中的点云过滤模块340执行。
中间点云帧中的物体之间的遮挡关系也可以理解为至少一个样本的点云和初始点云帧中的点云之间的遮挡关系。
中间点云帧中的物体之间的遮挡关系指的是从观察点出发所确定的物体之间的遮挡关系。观察点也可以理解为中间点云帧中的原点,或者说,观察点也可以称为拍摄点或采集点。
示例性地,本申请实施例的方案可以应用于自动驾驶领域,在该情况下,点云帧和图像帧可以是在自车上采集到的,观察点即为自车位置,点云帧的原点即为自车坐标系下的原点。
例如,图15示出了车辆驾驶过程中的示意图,自车上设置有激光雷达11和相机12,激光雷达11用于采集点云帧,点云帧中的点的坐标即为自车坐标系下的坐标,相机12用于采集图像帧。应理解,图15中的激光雷达11和相机12的位置仅为示例,在实际应用中,激光雷达和相机还可以设置于自车的其他位置。
在图15所示的时刻,激光雷达11采集到的点云帧中包括物体21、物体22和物体23的点云,相机12采集到的图像帧中包括物体21、物体22和物体23的图像块。激光雷达11采集到的点云帧中的原点即为自车位置,也就是说,图15所示的时刻采集的激光雷达11采集到的点云帧的观察点即为图15所示的时刻的自车位置。从该观察点出发,物体23的一部分被物体21遮挡。
中间点云帧中的物体可以包括至少一个样本所指示的物体以及初始点云帧中的物体。
示例性地,中间点云帧中的一个3D框即可对应一个物体。
将至少一个样本的图像块添加至初始图像帧之后,物体的图像块之间可能存在重叠的情况,如果直接将样本的图像块粘贴到初始图像帧中,可能会导致图像和点云之间出现不一致的情况。
例如,如图6所示,样本用于指示骑自行车的人,骑自行车的人的点云被粘贴至初始点云帧,初始点云帧中包括汽车的点云。在如图6的(a)所示的中间点云帧中,从观察者的角度,即以自车为原点的角度出发,骑自行车的人的点云添加至汽车的点云的后方,即骑自行车的人被汽车部分遮挡。如图6的(d)所示,骑自行车的人的图像块被添加至图6的(d)所示的初始图像帧中的虚线框中,得到如图6的(e)所示的中间图像帧,骑自行车的人的图像块与汽车的图像块即存在重叠区域。点云中的点投影到图6的(e)所示的图像帧上后若落在图像帧中的重叠区域,即点若与重叠区域中的像素对应,则该3D点可能会抓取错误的图像信息,即存在点云帧和图像帧存在不一致的情况。不一致的情况具体包括:前景点不一致和背景点不一致。
前景点指的是位于3D框中的点。点云中的前景点若投影到图像帧上后落在图像帧上的重叠区域,即前景点若与重叠区域中的像素对应,则该前景点可能会抓取错误的图像信息。例如,汽车的点云中的部分前景点若投影至如图6中的(e)所示的图像上,则可能会落在骑自行车的人的图像块中,错误抓取骑自行车的人的图像信息,也就是说点云中的点与图像中的像素出现错误的对应关系。
背景点指的是不位于3D框中的点。点云中的背景点若投影到图像帧上后落在图像帧上的重叠区域,即背景点若与重叠区域中的像素对应,则该背景点可能会抓取错误的图像信息。图6的(a)中的部分背景点若投影至如图6中的(e)所示的图像上,可能会落在自行车的图像块中,错误抓取骑自行车的人的图像信息,也就是说点云中的点与图像中的像素出现错误的对应关系。
具体地,物体之间的遮挡关系可以是根据物体的距离信息确定的。物体的距离信息用于指示物体与原点之间的距离。
从观察者的视角而言,距离原点较近的物体可以遮挡距离原点较远的物体。
可选地,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
示例性地,按照由近及远的顺序依次对中间点云帧中的物体进行处理,在对中间点云帧中的物体进行处理的过程中,过滤中间点云帧中被中间点云帧中的物体遮挡的点。
由近及远的顺序指的是与原点之间的距离由小到大的顺序。
也就是说,按照由近及远的顺序依次对中间点云帧中的物体进行处理指的是,先被处理距离原点最近的物体遮挡的点,最后处理被距离原点最远的物体遮挡的点。这样可以提高处理效率。
下面以中间点云帧中的一个物体(第一物体)为例具体说明步骤S430。中间点云帧中的其他物体的处理方式与该物体的处理方式相同。
若当前处理的物体(第一物体)为初始点云帧中的物体,则只需对增加至初始点云帧中的至少一个样本的点云中的点进行处理。若当前处理的物体为至少一个样本所指示的物体,则需要对中间点云帧中的点进行处理,即既需要过滤该物体的视角范围内的背景点,又需要过滤被该物体遮挡的前景点。
可选地,若第一物体为初始点云帧中的物体,过滤中间点云帧中的第一3D点(被中间点云帧中的物体遮挡的点的一例)。
第一3D点为至少一个样本的点云中的点,且第一3D点位于第一物体的视角范围内,且第一3D点与原点之间的距离大于第一物体与原点之间的距离。
可选地,若第一物体为至少一个样本所指示的物体,过滤中间点云帧中的第二3D点和第三3D点(被中间点云帧中的物体遮挡的点的一例)。
第二3D点为背景点,即第二3D点不处于任一3D框中;且第二3D点位于第一物体的视角范围内。
第三3D点为前景点,即第三3D点处于3D框中;且第三3D点位于第一物体的视角范围内;第三3D点与原点之间的距离大于第一物体与原点之间的距离;且第三3D点不属于第一物体。
物体的视角范围可以通过多种方式表示。
示例性地,物体的视角范围可以通过球坐标系下的坐标表示。
点云中的3D点的坐标通常为直角坐标系下的坐标,将直角坐标系下的坐标转换为球坐标系下的坐标。
点云中的一点p在直角坐标系下的坐标为(x,y,z),转换为球坐标系下的坐标为
Figure BDA0002952933040000221
其中,r表示点p到原点的距离,θ表示原点与点p之间的连线与z轴之间的夹角,
Figure BDA0002952933040000222
表示原点与点p之间的连线在xy轴构成的平面上的投影线与正x轴之间的夹角。
球坐标系的坐标满足以下公式:
Figure BDA0002952933040000223
θ=arccos(z/r),
Figure BDA0002952933040000224
物体的视角范围可以通过物体对应的3D框的坐标中的θ和
Figure BDA0002952933040000225
的角度范围表示。
物体对应的3D框的8个顶点的坐标的集合可以表示为
Figure BDA0002952933040000226
该物体的视角范围V可以表示为:
Figure BDA0002952933040000227
θmin=min(θk),k=1,2,...,8;
θmax=max(θk),k=1,2,...,8;
Figure BDA0002952933040000228
Figure BDA0002952933040000229
对于点云帧中的任一点
Figure BDA00029529330400002210
若θq∈[θminmax],且
Figure BDA00029529330400002211
则点q位于该物体的视角范围内。
下面结合图7举例说明步骤S430的处理流程。应理解,图7中的处理流程中的步骤之间的执行顺序仅为示意,不对本申请实施例中的方案构成限定。
图7中的处理流程具体包括步骤S701至步骤S711。下面对步骤S701和步骤S711进行说明。
S701,提取中间点云帧中的N个物体,N为大于或等于1的整数。
提取中间点云帧的中的N个物体可以理解为提取中间点云帧中的N个物体对应的3D框。
N个物体可以表示为物体i,i的取值范围为[1,N],i为整数。
S702,对该N个物体进行排序。
示例性地,按照该N个物体与原点之间的距离从小到大的顺序对该N个物体进行排序。也就是说,按照由近及远的顺序为该N个物体排序,排序后的N个物体可以表示为物体i,i的取值范围为[1,N],i为整数。i的值越小,则物体i与原点之间的距离越小。例如,当N为大于1的整数时,物体1与原点的距离最小,物体N与原点的距离最大。
按照由近及远的顺序依次处理中间点云帧中被物体遮挡的点,能够提高处理效率。
应理解,步骤S702为可选步骤。
S703,计算物体i的视角范围。
物体i即为当前处理的物体。
S704,筛选点云。
具体地,从中间点云帧中筛选出处于物体i的视角范围内的点。处于物体i的视角范围内的点即为待过滤的点。
S705,判断物体i是否为样本所指示的物体。
或者说,判断物体i是否为初始点云帧中的物体。
若物体i为样本所指示的物体,转至步骤S706;若的物体i不是样本所指示的物体,转至步骤S711。
或者说,若物体i不是初始点云帧中的物体,转至步骤S706;若物体i是初始点云帧中的物体,转至步骤S711。
S706,判断待过滤的点是否为背景点。
或者说,判断待过滤的点是否为前景点。
若待过滤的点为背景点,转至步骤S707;若待过滤的点不是背景点,转至步骤S709。
或者说,若待过滤的点不是前景点,转至步骤S707;若待过滤的点是前景点,转至步骤S709。
S707,过滤该待过滤的点。
转至步骤S708。
S708,判断i是否小于或等于N。
若i小于或等于N,则将i值加1,转至步骤S703和步骤S705,更新步骤S703和步骤S705中的i值;否则,结束当前处理流程。
S709,判断待过滤的点是否位于物体i的后方。
也就是说,判断待过滤的点与原点之间的距离是否大于物体i与原点之间的距离。
若待过滤的点位于物体i的后方,则转至步骤S707,否则转至步骤S710。
S710,保留该待过滤的点。
转至步骤S704,直至处理完处理物体i的视角范围内的所有点。
S711,判断待过滤的点是否为样本的点云中的点。
例如,判断待过滤的点是否是粘贴至初始点云帧中的点,即待处理的点是否为粘贴点。
若待过滤的点是样本的点云中的点,转至步骤S709;若待过滤的点不是样本的点云中的点,转至步骤S710。
图6和图8示出了两个场景下的过滤结果的示意图。
图6的(a)为样本的点云直接粘贴至初始点云帧中得到的中间点云帧的示意图,图6的(b)中示出了通过图7中的方法得到的中间点云帧中需要过滤的点以及保留的点,图6的(c)示出了过滤后的结果,即目标点云帧的示意图。
图8的(a)为样本的点云直接粘贴至初始点云帧中得到的中间点云帧的示意图,图8的(b)中示出了通过图7中的方法得到的过滤后的结果,即目标点云帧的示意图。
S440,根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧。
示例性地,步骤S440可以由图3中的图像块调整模块360执行。
物体之间的遮挡关系可以是根据物体的距离信息确定的。物体的距离信息用于指示物体与原点之间的距离。即中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的。这样可以保证目标点云帧和目标图像帧中的遮挡关系一致。
具体地,步骤S440包括:按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块。
即与观察点之间的距离更近的物体的图像块覆盖在与观察点之间的距离更远的物体的图像块之上。
或者说,从中间图像帧中提取所有物体的图像块,进而按照物体由远及近的顺序粘贴物体的图像块。
例如,如图6所示的中间点云帧中,相对于骑自行车的人,汽车与自车的距离更近,在中间图像帧上先粘贴骑自行车的人的图像块,再粘贴骑汽车的图像块,得到如图6的(f)所示的目标图像帧,其中,骑自行车的人的图像块被部分覆盖。
目标点云帧即为增强后的初始点云帧,目标图像帧即为增强后的初始图像帧。目标点云帧和目标图像帧可以作为训练样本用于训练多模态3D目标检测模型。
本申请实施例中的方案得到的目标点云帧和目标图像帧可以作为训练样本,相对于以初始图像帧和初始点云帧作为训练样本而言,本申请的方案增加了训练样本的多样性,提高训练得到的模型的性能,例如,提高识别率,降低误检率。同时,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间投影关系的一致性。
此外,样本的点云在初始点云帧中所在的区域与初始点云帧中的物体的点云所在的区域之间不存在重叠区域,保证了物体之间在三维空间中不存在碰撞的情况,即保证了目标点云帧的合理性。
如前所述,通过方法400得到的训练样本可以用于训练多模态3D目标检测模型。
本申请实施例提供一种3D目标检测模型的训练方法,基于方法400得到的训练样本训练3D目标检测模型,能够提高模型的性能。
图9示出了本申请实施例提供的3D目标检测模型的训练方法900。图9所示的方法可以由神经网络模型的训练装置来执行,该训练装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行3D目标检测模型的训练方法的装置,也可以是由云服务设备和终端设备构成的系统。
方法900中的训练数据包括基于图4中的方法得到的数据,为了避免不必要的重复,下面在介绍方法900时适当省略重复的描述。
方法900包括步骤S910至步骤S920。下面对步骤S910至步骤S920进行详细介绍。
S910,获取训练样本。
训练样本包括目标点云帧和目标点云帧上的标签以及目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的点云所在区域的2D框。
目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将该至少一个样本的图像块添加至初始图像帧中得到的,初始点云帧和初始图像帧之间具有对应关系,至少一个样本用于指示至少一个物体。
具有对应关系的图像帧和点云帧可以理解为配对的图像帧和点云帧。
初始点云帧和初始图像帧之间具有对应关系,相应的,目标点云帧与目标图像帧之间也具有对应关系。
初始点云帧和初始图像帧的获取方式可以参考前述步骤S410中的描述,此处不再赘述。
示例性地,目标点云帧可以如图6的(c)所示,与其对应的目标图像帧可以如图6的(f)所示。
将一个样本的点云添加至初始点云帧中也可以理解为将该样本所指示的物体的点云添加至初始点云帧中。
将一个样本的图像块添加至初始图像帧中也可以理解为将该样本所指示的物体的图像块添加至初始图像帧中。
例如,该至少一个样本包括如图6所示的样本,该样本用于指示骑自行车的人。将骑自行车的人的点云添加至初始点云帧中,得到如图6的(a)所示的中间点云帧。将该骑自行车的人的图像块添加至初始图像帧中,得到如图6的(e)所示的中间点云帧。
用于指示目标点云帧中的物体的点云所在区域的3D框可以理解为用于指示目标点云帧中的物体的点云在目标点云帧中所在区域的标注框。或者说,在目标点云帧中落在该3D框中的点即为该目标点云帧中的该物体的点云。例如,图6中示出了一种3D框的示意图。
用于指示目标图像帧中的物体的点云所在区域的2D框可以理解为用于指示目标图像帧中的物体的点云在目标图像帧中所在区域的标注框。或者说,在目标图像帧中落在该2D框中的图像块即为目标图像帧中包括该物体的图像块。例如,图6中示出了一种2D框的示意图。
本申请实施例中,标签也可以称为标注真值。
示例性地,目标点云帧上的标签可以是预先标注的。目标图像帧上的标签可以是预先标注的。例如,目标点云帧上的标签可以是人工标注的。目标图像帧上的标签可以是人工标注的。
可替换地,目标点云帧上的标签可以是根据中间点云帧上的标签确定的。中间点云帧中的标签是根据初始点云帧上的标签和该至少一个样本的点云的标签确定的。目标图像帧中的标签可以是根据中间图像帧中的标签确定的。中间图像帧中的标签是根据初始图像帧上的标签和该至少一个样本的图像块的标签确定的。
本申请实施例中,点云帧上的标签包括用于指示物体所在区域的3D框,图像帧上的标签包括用于指示物体所在区域的2D框。
在该情况下,将该至少一个样本的点云添加至初始点云帧上可以理解为将该至少一个样本的点云及其标签添加至初始点云帧上。将该至少一个样本的图像块添加至初始点云帧上可以理解为将该至少一个样本的图像块及其标签添加至初始图像帧上。例如,将该至少一个样本的点云及样本的3D框添加至初始点云帧上。样本的3D框为样本所指示的物体的点云的边界框。将该至少一个样本的图像块以及样本的2D框添加至初始图像帧上。样本的2D框为样本所指示的物体的图像块的边界框。
可选地,至少一个样本的点云和至少一个样本的图像块可以是在至少一个点云帧和至少一个图像帧中分别提取到的标注样本的点云和图像块。
该至少一个图像帧中的各个图像帧和至少一个点云帧中的各个点云帧是一一对应的。
也就是说,该至少一个图像帧和该至少一个点云帧中包括至少一组配对的图像帧和点云帧。一个样本的点云和图像块是从一组配对的图像帧和点云帧中提取的。
该至少一个样本的点云和图像块可以是从一组配对的图像帧和点云帧中提取的,也可以是分别从多组配对的图像帧和点云帧中提取的。
该配对的点云帧和图像帧包括标注样本。标注样本指的是具有标注真值的样本。
样本的点云可以为通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云。样本的图像块可以为通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的图像块。
进一步地,该至少一个样本的点云和图像块可以是在采样池中采样得到的。采样池中包括多个候选样本的点云和图像块。该多个候选样本的点云和图像块可以是通过标注样本的标注真值在配对的点云帧和图像帧中提取到的标注样本的点云和图像块。
样本的获取方式的详细描述可以参考前述步骤S420,此处不再赘述。
中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,包括:中间点云帧是通过将该至少一个样本中的不同样本的点云分别添加至初始点云帧中的不同区域得到的。
例如,通过将该至少一个样本中的不同样本的点云分别粘贴至初始点云中的不同区域得到中间点云帧。
也就是说,不同样本的点云在中间点云帧中的位置是不重叠的。例如,该不同样本的3D框在中间点云帧中不存在重叠区域。
可选地,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
示例性地,样本的点云所在的区域可以由样本的3D框指示。初始点云帧中的物体的点云所在区域可以由初始点云帧上的标签指示。初始点云帧上的标签包括用于指示初始点云帧上的物体所在区域的3D框。
可选地,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域,包括:在BEV上,该至少一个样本的3D框与初始点云帧中的物体所在区域的3D框在中间点云帧中不存在重叠区域。
需要说明的是,由于中间点云帧是将样本的点云添加至初始点云帧中得到的,本申请实施例中,样本的点云在初始点云帧上所在区域与样本的点云在中间点云帧上所在区域可以理解为相同的含义。
这样,样本的点云与初始点云帧中的物体的点云之间均不存在重叠区域,可以避免出现中间点云帧中多个物体在三维空间上出现碰撞的不合理的情况,保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
可选地,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于该至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
如前所述,一个样本的点云和图像块是从已配对的点云帧和图像帧中提取到的。已配对的点云帧和图像帧即为基于原场景采集的点云帧和图像帧。该至少一个样本的点云在原场景的点云帧中的区域也可以理解为该至少一个样本的点云在已配对的点云帧和图像帧中的点云帧中的区域。
具体地,至少一个样本的点云在原场景的点云帧中所在区域是由该至少一个样本的3D框的坐标所指示的,则至少一个样本的点云在中间点云帧中所在区域也可以由该至少一个样本的3D框的坐标指示。
也就是说,将该至少一个样本的点云添加至初始点云帧中该至少一个样本的3D框的坐标所指示的区域。
这样,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,满足中间点云帧中的点云的稀疏性,避免出现与实际情况不符的情况,进一步提高了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
可选地,该至少一个样本的点云在中间点云帧中所在区域位于中间点云帧中的目标区域中。
这样,可以将样本的点云放置于目标区域中,增加目标区域中的物体的数量,以得到更满足需求的训练样本。
示例性地,初始点云帧中的目标区域可以为平面区域。
例如,可以通过点云平面拟合的方式,从初始点云帧中提取平面区域。
可选地,该目标区域为路面区域。
相应地,至少一帧样本为路面区域上的样本。例如,该至少一帧样本所指示的物体可以包括动态物体,比如,路面上的行人或车辆等。
示例性地,方法400可以应用于自动驾驶领域。在自动驾驶领域中,通常更关注路面区域的物体,将样本的点云添加至路面区域中,能够增加路面区域上的物体的数量,同时保证了中间点云帧的合理性,进而保证基于中间点云帧得到的目标点云帧的合理性,以目标点云帧作为训练样本,能够提高训练得到的3D目标检测模型的性能。
与至少一个样本的点云所在区域的确定方式类似,至少一个样本的图像块在中间图像帧中所在区域可以与该至少一个样本的图像块在原场景的图像帧中所在区域相同。原场景的图像帧指的是基于该至少一个样本所指示的物体所在的场景采集的图像帧。
如前所述,一个样本的点云和图像块是从已配对的点云帧和图像帧中提取到的。已配对的点云帧和图像帧即为基于原场景采集的点云帧和图像帧。该至少一个样本的图像块在原场景的图像帧中的位置也可以理解为该至少一个样本的图像块在已配对的点云帧和图像帧中的图像帧中的位置。
具体地,至少一个样本的图像块在原场景的图像帧中所在区域是由该至少一个样本的2D框的坐标所指示的,则至少一个样本的图像块在中间图像帧中所在区域也可以由该至少一个样本的2D框的坐标指示。
也就是说,将该至少一个样本的图像块添加至初始图像帧中该至少一个样本的2D框的坐标所指示的区域。
由于相机外参的抖动,上述方式得到的样本的点云在初始点云帧中的位置可能与样本的图像块在初始图像帧中的位置不能完全对应。
可选地,该至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
例如,该至少一个样本中的第一样本的点云被添加至初始点云帧中的第一区域,第一样本的图像块被添加至初始图像帧中的第一区域,初始图像帧中的第一区域是通过将初始点云帧中的第一区域投影至初始图像帧中得到的。
这样,根据样本的点云在初始点云帧中所在的区域得到样本的图像块在初始图像帧上所在的区域,能够避免由于相机外参的抖动带来的影响,保证样本的点云在初始点云帧中的位置与样本的图像块在初始图像帧中的位置的一致性,从而提高训练样本的准确性,进而保证3D目标检测模型的训练效果。
可选地,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
可选地,中间点云帧中的物体包括第一物体,在第一物体在初始点云帧的物体的情况下,被第一物体遮挡的点包括中间点云帧中的第一3D点,第一3D点为至少一个样本的点云中的点,且第一3D点位于第一物体的视角范围内,且第一3D点与原点之间的距离大于第一物体与原点之间的距离。
可选地,中间点云帧中的物体包括第一物体,在第一物体在初始点云帧的物体的情况下,被第一物体遮挡的点包括中间点云帧中的第二3D点和第三3D点。
第二3D点为背景点,且第二3D点位于第一物体的视角范围内。
第三3D点为前景点,且第三3D点位于第一物体的视角范围内;第三3D点与原点之间的距离大于第一物体与原点之间的距离;且第三3D点不属于第一物体。
具体的过滤方式可以参考步骤S430中的描述,此处不再赘述。
可选地,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
例如,从中间图像帧上提取所有物体的图像块,按照中间点云帧中的物体与观察点之间的距离由远及近的顺序,先在中间图像帧上粘贴距离自车最远的物体的图像块,最后粘贴距离观察点最近的物体的图像块。
S920,基于训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型。
该3D目标检测模型可以为神经网络模型,例如,该3D目标检测模型可以包括卷积神经网络。
具体地,以目标点云帧和目标图像帧作为3D目标检测模型的输入,以目标点云帧上的标签和目标图像帧上的标签作为3D目标检测模型的目标输出对3D目标检测模型进行训练,直至训练完成,得到训练好的3D目标检测模型。具体训练过程可以采用现有方案中的训练方式,本申请实施例对此不做限定。
训练好的3D目标检测模型可以用于实现3D目标检测。
根据本申请实施例的方案,训练样本是通过对初始图像帧和初始点云帧进行增强后得到的,相对于以初始图像帧和初始点云帧为训练样本,本申请的方案能够提高训练样本的多样性,进而训练得到的模型的性能,即提高检测的准确性,降低误检率。而且,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间的一致性。
表1示出了在采用3D目标检测模型的结构相同的情况下,基于本申请的训练方法得到的模型和现有方案训练得到的模型的性能的对比结果。或者,表1也可以理解为基于基准训练样本和通过本申请的数据增强方法增强后的训练样本训练得到的模型的性能的对比结果。
表1
Figure BDA0002952933040000291
表1分别示出了基于本申请的方法得到的模型和现有方案训练得到的模型在均值平均精度(mean average precision,MAP)、nuScenes数据集检测分数(nuScenesdetection score,NDS)以及在轿车(Car)、卡车(Truck)、工程车(construction vehicle,C.V.)、公交车(Bus)、拖车(Trailer)、护栏(Barrier)、摩托车(motorcycle,Motor.)、自行车(Bicycle)、行人(Pedestrain,Ped.)以及交通锥标(trafficcone,T.C.)等各类物体的检测精度。表1中的数据的单位为%。如表1所示,基于本申请的方法得到的模型的mAP能够提升5个百分点,即基于本申请的方法得到的模型的性能明显优于基于现有方案得到的模型。
表2和表3示出了基于本申请的方法得到的模型以及其他方案得到的模型在自动驾驶数据集nuScenes数据集上的性能对比结果。
表2
方法 mAP NDS Car Truck C.V. Bus
Pointpillars 30.5 45.3 68.4 23.0 4.1 28.2
3DSSD 42.6 56.4 81.2 47.2 12.6 61.4
Pointpainting 46.4 58.1 77.9 35.8 15.8 36.2
CBGS 52.8 63.3 81.1 48.5 10.5 54.9
Centerpoint 60.3 67.3 85.2 53.5 20.0 63.6
本申请 66.8 71.0 87.5 57.3 28.0 65.2
表3
方法 Trailer Barrier Motor. Bicycle Ped. T.C.
Pointpillars 23.4 38.9 27.4 1.1 59.7 30.8
3DSSD 30.5 47.9 36.0 8.6 70.2 31.1
Pointpainting 37.3 60.2 41.5 24.1 73.3 62.4
CBGS 42.9 65.7 51.5 22.3 80.1 70.9
Centerpoint 56.0 71.1 59.5 30.7 84.6 78.4
本申请 60.7 72.6 74.3 50.9 87.9 83.6
表2和表3示出了Pointpillars模型、3D单阶段物体检测(3D single-stageobject detection,3DSSD)模型、Pointpainting模型、点云3D物体检测的类平衡分组和采样(class-balanced grouping and sampling for point cloud 3D object detection,CBGS)方式、centerpoint模型以及通过本申请的方法得到的模型的性能对比结果。由表2和表3可以看出,本申请的方法得到的模型的3D检测精度明显优于其他方法得到的模型的3D检测精度。
表4示出了基于本申请的方法得到的模型以及其他方案得到的模型在自动驾驶数据集Waymo数据集上的性能对比结果。
表4
Figure BDA0002952933040000301
其中,表4示出了centerpoint模型以及通过本申请的方法得到的模型在车辆(Vehicle)、行人(Pedestrian)、骑自行车的人(Cyclist)等多个大类中的难度等级1(Level1)条件下的mAP和难度等级2(level 2)条件下的mAP的对比结果以及在所有(all)类别中的难度等级1条件下的mAP和朝向加权的均值平均精度(mean average precision weightedby heading,mAPH)以及难度等级2条件下的mAP和mAPH的对比结果。如表4所示,本申请的方案对多种目标的检测精度上均具有明显的性能增益。如表4所示,本申请的方法得到的模型的3D检测精度明显优于其他方法得到的模型的3D检测精度。
图10示出了本申请实施例提供的3D目标检测方法1000的示意性流程图,该方法可以由能够进行3D目标检测的装置或设备执行,例如,该装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器、汽车或具有激光雷达和相机等的车载感知设备等运算能力足以用来执行3D目标检测方法的装置,也可以是由云服务设备和终端设备构成的系统。
图10中的3D目标检测方法1000中使用的训练好的3D目标检测模型可以是通过上述图9中的方法构建的。方法1100包括步骤S1110至步骤S1120。方法1100中的具体实现方式可以参照前述方法900,为了避免不必要的重复,下面在介绍方法1100时适当省略重复的描述。
S1110,获取待处理的图像帧和待处理的点云帧,待处理的图像帧和待处理的点云帧之间具有对应关系。
示例性地,待处理的点云帧和待处理的图像帧可以是在同一时刻或同一时段基于同一场景采集的得到的。
示例性地,待处理的点云帧可以是通过车载激光雷达采集的数据。
示例性地,待处理的图像帧可以是通过车载相机采集的数据。例如,待处理的图像帧可以为RGB图像。
S1120,采用训练好的3D目标检测模型对待处理的图像帧和待处理的点云帧进行3D目标检测,得到检测结果。
其中,训练好的3D目标检测模型是基于训练样本对3D目标检测模型进行训练得到的,训练样本包括:目标点云帧和目标点云帧上的标签,目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的图像块所在区域的2D框;目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将至少一个样本的图像块添加至初始图像帧中得到的,初始图像帧和初始点云帧之间具有对应关系,至少一个样本用于指示至少一个物体。
该3D目标检测模型可以为神经网络模型,例如,该3D目标检测模型可以包括卷积神经网络。
根据本申请实施例的方案,训练好的3D目标检测模型是通过第一方面中的方法训练得到的,其中的训练样本是通过对初始图像帧和初始点云帧进行增强后得到的,相对于以初始图像帧和初始点云帧作为训练样本而言,本申请的方案能够提高训练样本的多样性,进而训练得到的模型的性能,即提高检测的准确性,降低误检率。而且,根据中间点云帧中的物体之间的遮挡关系,过滤被遮挡的点云,保证了目标点云帧中的合理性,同时,根据中间点云帧中的物体之间的遮挡关系,调整物体的图像块之间的覆盖顺序,也进一步保证了目标图像帧的合理性,同时能够保证目标点云帧和目标图像帧之间的一致性。
可选地,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
可选地,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
可选地,至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
可选地,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
可选地,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
可选地,至少一个样本的点云在中间点云帧中所在区域为中间点云帧中的目标区域。
可选地,目标区域为路面区域。
下面结合图11至图14对本申请实施例的装置进行说明。应理解,下面描述的装置能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的装置时适当省略重复的描述。
图11是本申请实施例的3D目标检测模型的训练装置的示意性框图。图11所示的3D目标检测模型的训练装置3000包括获取单元3010和处理单元3020。
获取单元3010和处理单元3020可以用于执行本申请实施例的3D目标检测模型的训练方法,具体地,可以用于执行方法900。
获取单元3010用于获取训练样本,训练样本包括:目标点云帧和目标点云帧上的标签,目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的图像块所在区域的2D框;目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将至少一个样本的图像块添加至初始图像帧中得到的,初始图像帧和初始点云帧之间具有对应关系,至少一个样本用于指示至少一个物体。
处理单元3020用于基于训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型。
可选地,作为一个实施例,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
可选地,作为一个实施例,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
可选地,作为一个实施例,至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
可选地,作为一个实施例,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
可选地,作为一个实施例,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
可选地,作为一个实施例,至少一个样本的点云在中间点云帧中所在区域为中间点云帧中的目标区域。
可选地,作为一个实施例,目标区域为路面区域。
图12是本申请实施例提供的3D目标检测装置4000的示意性框图。图12所示的3D目标检测装置4000包括获取单元4010和处理单元4020。
获取单元4010和处理单元4020可以用于执行本申请实施例的3D目标检测方法,例如,可以用于执行方法1100。
具体地,获取单元4010用于获取待处理的图像帧和待处理的点云帧,待处理的图像帧和待处理的点云帧之间具有对应关系。
处理单元4020用于采用训练好的3D目标检测模型对待处理的图像帧和待处理的点云帧进行3D目标检测,得到检测结果,其中,训练好的3D目标检测模型是基于训练样本对3D目标检测模型进行训练得到的。
训练样本包括:目标点云帧和目标点云帧上的标签,目标图像帧和目标图像帧上的标签,目标点云帧上的标签包括用于指示目标点云帧中的物体的点云所在区域的3D框,目标图像帧上的标签包括用于指示目标图像帧中的物体的图像块所在区域的2D框;
目标点云帧是通过过滤中间点云帧中被中间点云帧中的物体遮挡的点得到的,目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,中间图像帧是通过将至少一个样本的图像块添加至初始图像帧中得到的,初始图像帧和初始点云帧之间具有对应关系,至少一个样本用于指示至少一个物体。
可选地,作为一个实施例,中间点云帧中的至少一个样本的点云所在区域与初始点云帧中的物体的点云所在区域之间不存在重叠区域。
可选地,作为一个实施例,至少一个样本的点云在中间点云帧中所在区域与至少一个样本的点云在原场景的点云帧中所在区域相同,原场景的点云帧为基于至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
可选地,作为一个实施例,至少一个样本的图像块在中间图像帧中所在区域是通过将至少一个样本的点云在中间点云帧中所在区域投影至初始图像帧中得到的。
可选地,作为一个实施例,被中间点云帧中的物体遮挡的点包括:位于中间点云帧中的物体的视角范围内,且在中间点云帧中与观察点之间的距离大于中间点云帧中的物体与观察点之间的距离的点。
可选地,作为一个实施例,中间点云帧中的物体之间的遮挡关系是根据中间点云帧中的物体与观察点之间的距离确定的,以及目标图像帧是根据中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,包括:目标图像帧是按照中间点云帧中的物体与观察点之间的距离由远及近的顺序依次覆盖中间图像帧中的物体的图像块得到的。
可选地,作为一个实施例,至少一个样本的点云在中间点云帧中所在区域为中间点云帧中的目标区域。
可选地,作为一个实施例,目标区域为路面区域。
需要说明的是,上述训练装置3000以及装置4000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图13是本申请实施例提供的3D目标检测模型的训练装置的硬件结构示意图。图13所示的3D目标检测模型的训练装置5000(该装置5000具体可以是一种计算机设备)包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的3D目标检测模型的训练方法的各个步骤。具体地,处理器5002可以执行上文中图9所示的方法中的步骤S920。
处理器5002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的3D目标检测模型的训练方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的3D目标检测模型的训练方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成图11所示的训练装置中包括的单元所需执行的功能,或者,执行本申请方法实施例的图9所示的3D目标检测模型的训练方法。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取初始点云帧和初始图像帧。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
图14是本申请实施例的3D目标检测装置的硬件结构示意图。图14所示的3D目标检测装置6000包括存储器6001、处理器6002、通信接口6003以及总线6004。其中,存储器6001、处理器6002、通信接口6003通过总线6004实现彼此之间的通信连接。
存储器6001可以是ROM,静态存储设备和RAM。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002和通信接口6003用于执行本申请实施例的3D目标检测方法的各个步骤。具体地,处理器6002可以执行上文中图10所示的方法中的步骤S1120。
处理器6002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的3D目标检测装置中的单元所需执行的功能,或者执行本申请方法实施例的3D目标检测方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的3D目标检测方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例的3D目标检测装置中包括的单元所需执行的功能,或者执行本申请方法实施例的3D目标检测方法。
通信接口6003使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。例如,可以通过通信接口6003获取待处理的点云帧和待处理的图像帧。
总线6004可包括在装置6000各个部件(例如,存储器6001、处理器6002、通信接口6003)之间传送信息的通路。
应注意,尽管上述装置5000和装置6000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置5000和装置6000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置5000和装置6000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置5000和装置6000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13和图14中所示的全部器件。
本申请实施例提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行本申请实施例中的数据增强方法或3D目标检测模型的训练方法或3D目标检测方法。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中的数据增强方法或3D目标检测模型的训练方法或3D目标检测方法。
本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,本申请实施例中的数据增强方法或3D目标检测模型的训练方法或3D目标检测方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于本申请实施例中的数据增强方法或3D目标检测模型的训练方法或3D目标检测方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
本申请实施例提供一种终端,该终端包括装置3000、装置4000、装置5000或装置6000中的任一种装置。
上述终端可以为车辆,上述装置既可以是安装在车辆上的,又可以是独立于车辆的,例如可以是利用无人机、其他车辆、机器人等来控制该被控车辆。
在其他可能的场景下,该终端还可以为无人机或者机器人等可能的设备。本申请是以车辆为例进行阐述,但是该方案可以扩展到其他可能的终端类型。
本申请实施例提供一种可穿戴设备,该可穿戴设备包括装置3000、装置4000、装置5000或装置6000中的任一种装置。可穿戴设备可以为增强现实(augmented reality,AR)眼镜或AR头盔等。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (38)

1.一种3D目标检测模型的训练方法,其特征在于,包括:
获取训练样本,所述训练样本包括:目标点云帧和所述目标点云帧上的标签,目标图像帧和所述目标图像帧上的标签,所述目标点云帧上的标签包括用于指示所述目标点云帧中的物体的点云所在区域的3D框,所述目标图像帧上的标签包括用于指示所述目标图像帧中的物体的图像块所在区域的2D框;
所述目标点云帧是通过过滤中间点云帧中被所述中间点云帧中的物体遮挡的点得到的,所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,所述中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,所述中间图像帧是通过将所述至少一个样本的图像块添加至初始图像帧中得到的,所述初始图像帧和所述初始点云帧之间具有对应关系,所述至少一个样本用于指示至少一个物体;
基于所述训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型。
2.根据权利要求1所述的方法,其特征在于,所述中间点云帧中的所述至少一个样本的点云所在区域与所述初始点云帧中的物体的点云所在区域之间不存在重叠区域。
3.根据权利要求1或2所述的方法,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域与所述至少一个样本的点云在原场景的点云帧中所在区域相同,所述原场景的点云帧为基于所述至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述至少一个样本的图像块在所述中间图像帧中所在区域是通过将所述至少一个样本的点云在所述中间点云帧中所在区域投影至所述初始图像帧中得到的。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述被所述中间点云帧中的物体遮挡的点包括:位于所述中间点云帧中的物体的视角范围内,且在所述中间点云帧中与观察点之间的距离大于所述中间点云帧中的物体与所述观察点之间的距离的点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述中间点云帧中的物体之间的遮挡关系是根据所述中间点云帧中的物体与观察点之间的距离确定的,以及
所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整所述中间图像帧中的物体的图像块的覆盖顺序得到的,包括:
所述目标图像帧是按照所述中间点云帧中的物体与所述观察点之间的距离由远及近的顺序依次覆盖所述中间图像帧中的物体的图像块得到的。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域为所述中间点云帧中的目标区域。
8.根据权利要求7所述的方法,所述目标区域为路面区域。
9.一种3D目标检测方法,其特征在于,包括:
获取待处理的图像帧和待处理的点云帧,所述待处理的图像帧和待处理的点云帧之间具有对应关系;
采用训练好的3D目标检测模型对待处理的图像帧和待处理的点云帧进行3D目标检测,得到检测结果,其中,所述训练好的3D目标检测模型是基于训练样本对3D目标检测模型进行训练得到的,
所述训练样本包括:目标点云帧和所述目标点云帧上的标签,目标图像帧和所述目标图像帧上的标签,所述目标点云帧上的标签包括用于指示所述目标点云帧中的物体的点云所在区域的3D框,所述目标图像帧上的标签包括用于指示所述目标图像帧中的物体的图像块所在区域的2D框;
所述目标点云帧是通过过滤中间点云帧中被所述中间点云帧中的物体遮挡的点得到的,所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,所述中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,所述中间图像帧是通过将所述至少一个样本的图像块添加至初始图像帧中得到的,所述初始图像帧和所述初始点云帧之间具有对应关系,所述至少一个样本用于指示至少一个物体。
10.根据权利要求9所述的方法,其特征在于,所述中间点云帧中的所述至少一个样本的点云所在区域与所述初始点云帧中的物体的点云所在区域之间不存在重叠区域。
11.根据权利要求9或10所述的方法,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域与所述至少一个样本的点云在原场景的点云帧中所在区域相同,所述原场景的点云帧为基于所述至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述至少一个样本的图像块在所述中间图像帧中所在区域是通过将所述至少一个样本的点云在所述中间点云帧中所在区域投影至所述初始图像帧中得到的。
13.根据权利要求9至12中任一项所述的方法,其特征在于,所述被所述中间点云帧中的物体遮挡的点包括:位于所述中间点云帧中的物体的视角范围内,且在所述中间点云帧中与观察点之间的距离大于所述中间点云帧中的物体与所述观察点之间的距离的点。
14.根据权利要求9至13中任一项所述的方法,其特征在于,所述中间点云帧中的物体之间的遮挡关系是根据所述中间点云帧中的物体与观察点之间的距离确定的,以及
所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整所述中间图像帧中的物体的图像块的覆盖顺序得到的,包括:
所述目标图像帧是按照所述中间点云帧中的物体与所述观察点之间的距离由远及近的顺序依次覆盖所述中间图像帧中的物体的图像块得到的。
15.根据权利要求9至14中任一项所述的方法,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域为所述中间点云帧中的目标区域。
16.根据权利要求15所述的方法,所述目标区域为路面区域。
17.一种数据增强方法,其特征在于,包括:
获取初始点云帧和初始图像帧,初始点云帧和初始图像帧之间具有对应关系;
将至少一个样本的点云添加至初始点云帧中,得到中间点云帧;
将至少一个样本的图像块添加至初始图像帧中,得到中间图像帧,其中,至少一个样本用于指示至少一个物体;
过滤中间点云帧中被中间点云帧中的物体遮挡的点,得到目标点云帧;
根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧。
18.一种3D目标检测模型的训练装置,其特征在于,包括:
获取单元,用于获取训练样本,所述训练样本包括:目标点云帧和所述目标点云帧上的标签,目标图像帧和所述目标图像帧上的标签,所述目标点云帧上的标签包括用于指示所述目标点云帧中的物体的点云所在区域的3D框,所述目标图像帧上的标签包括用于指示所述目标图像帧中的物体的图像块所在区域的2D框;
所述目标点云帧是通过过滤中间点云帧中被所述中间点云帧中的物体遮挡的点得到的,所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,所述中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,所述中间图像帧是通过将所述至少一个样本的图像块添加至初始图像帧中得到的,所述初始图像帧和所述初始点云帧之间具有对应关系,所述至少一个样本用于指示至少一个物体;
处理单元,用于基于所述训练样本对3D目标检测模型进行训练,得到训练好的3D目标检测模型。
19.根据权利要求18所述的装置,其特征在于,所述中间点云帧中的所述至少一个样本的点云所在区域与所述初始点云帧中的物体的点云所在区域之间不存在重叠区域。
20.根据权利要求18或19所述的装置,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域与所述至少一个样本的点云在原场景的点云帧中所在区域相同,所述原场景的点云帧为基于所述至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
21.根据权利要求18至20中任一项所述的装置,其特征在于,所述至少一个样本的图像块在所述中间图像帧中所在区域是通过将所述至少一个样本的点云在所述中间点云帧中所在区域投影至所述初始图像帧中得到的。
22.根据权利要求18至21中任一项所述的装置,其特征在于,所述被所述中间点云帧中的物体遮挡的点包括:位于所述中间点云帧中的物体的视角范围内,且在所述中间点云帧中与观察点之间的距离大于所述中间点云帧中的物体与所述观察点之间的距离的点。
23.根据权利要求18至22中任一项所述的装置,其特征在于,所述中间点云帧中的物体之间的遮挡关系是根据所述中间点云帧中的物体与观察点之间的距离确定的,以及
所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整所述中间图像帧中的物体的图像块的覆盖顺序得到的,包括:
所述目标图像帧是按照所述中间点云帧中的物体与所述观察点之间的距离由远及近的顺序依次覆盖所述中间图像帧中的物体的图像块得到的。
24.根据权利要求18至23中任一项所述的装置,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域为所述中间点云帧中的目标区域。
25.根据权利要求24所述的装置,所述目标区域为路面区域。
26.一种3D目标检测装置,其特征在于,包括:
获取单元,用于获取待处理的图像帧和待处理的点云帧,所述待处理的图像帧和待处理的点云帧之间具有对应关系;
处理单元,用于采用训练好的3D目标检测模型对待处理的图像帧和待处理的点云帧进行3D目标检测,得到检测结果,其中,所述训练好的3D目标检测模型是基于训练样本对3D目标检测模型进行训练得到的,
所述训练样本包括:目标点云帧和所述目标点云帧上的标签,目标图像帧和所述目标图像帧上的标签,所述目标点云帧上的标签包括用于指示所述目标点云帧中的物体的点云所在区域的3D框,所述目标图像帧上的标签包括用于指示所述目标图像帧中的物体的图像块所在区域的2D框;
所述目标点云帧是通过过滤中间点云帧中被所述中间点云帧中的物体遮挡的点得到的,所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整中间图像帧中的物体的图像块的覆盖顺序得到的,所述中间点云帧是通过将至少一个样本的点云添加至初始点云帧中得到的,所述中间图像帧是通过将所述至少一个样本的图像块添加至初始图像帧中得到的,所述初始图像帧和所述初始点云帧之间具有对应关系,所述至少一个样本用于指示至少一个物体。
27.根据权利要求26所述的装置,其特征在于,所述中间点云帧中的所述至少一个样本的点云所在区域与所述初始点云帧中的物体的点云所在区域之间不存在重叠区域。
28.根据权利要求26或27所述的装置,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域与所述至少一个样本的点云在原场景的点云帧中所在区域相同,所述原场景的点云帧为基于所述至少一个样本所指示的至少一个物体所在的场景采集的点云帧。
29.根据权利要求26至28中任一项所述的装置,其特征在于,所述至少一个样本的图像块在所述中间图像帧中所在区域是通过将所述至少一个样本的点云在所述中间点云帧中所在区域投影至所述初始图像帧中得到的。
30.根据权利要求26至29中任一项所述的装置,其特征在于,所述被所述中间点云帧中的物体遮挡的点包括:位于所述中间点云帧中的物体的视角范围内,且在所述中间点云帧中与观察点之间的距离大于所述中间点云帧中的物体与所述观察点之间的距离的点。
31.根据权利要求26至30中任一项所述的装置,其特征在于,所述中间点云帧中的物体之间的遮挡关系是根据所述中间点云帧中的物体与观察点之间的距离确定的,以及
所述目标图像帧是根据所述中间点云帧中的物体之间的遮挡关系调整所述中间图像帧中的物体的图像块的覆盖顺序得到的,包括:
所述目标图像帧是按照所述中间点云帧中的物体与所述观察点之间的距离由远及近的顺序依次覆盖所述中间图像帧中的物体的图像块得到的。
32.根据权利要求26至31中任一项所述的装置,其特征在于,所述至少一个样本的点云在所述中间点云帧中所在区域为所述中间点云帧中的目标区域。
33.根据权利要求32所述的装置,其特征在于,所述目标区域为路面区域。
34.一种数据增强装置,其特征在于,包括:
获取单元,用于获取初始点云帧和初始图像帧,初始点云帧和初始图像帧之间具有对应关系;
处理单元,用于:
将至少一个样本的点云添加至初始点云帧中,得到中间点云帧;
将至少一个样本的图像块添加至初始图像帧中,得到中间图像帧,其中,至少一个样本用于指示至少一个物体;
过滤中间点云帧中被中间点云帧中的物体遮挡的点,得到目标点云帧;
根据中间点云帧中的物体之间的遮挡关系,调整中间图像帧中的物体的图像块的覆盖顺序,得到目标图像帧。
35.一种3D目标检测模型的训练装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至8中任一项所述的方法。
36.一种3D目标检测装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求9至16中任一项所述的方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至8或权利要求9至16中任一项所述的方法。
38.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至8或权利要求9至16中任一项所述的方法。
CN202110215194.7A 2021-02-25 2021-02-25 3d目标检测模型的训练方法、3d目标检测方法及装置 Pending CN114972136A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110215194.7A CN114972136A (zh) 2021-02-25 2021-02-25 3d目标检测模型的训练方法、3d目标检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110215194.7A CN114972136A (zh) 2021-02-25 2021-02-25 3d目标检测模型的训练方法、3d目标检测方法及装置

Publications (1)

Publication Number Publication Date
CN114972136A true CN114972136A (zh) 2022-08-30

Family

ID=82973214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110215194.7A Pending CN114972136A (zh) 2021-02-25 2021-02-25 3d目标检测模型的训练方法、3d目标检测方法及装置

Country Status (1)

Country Link
CN (1) CN114972136A (zh)

Similar Documents

Publication Publication Date Title
US20230169321A1 (en) Stereo depth estimation using deep neural networks
EP3832532A2 (en) Multi-view deep neural network for lidar perception
US10732004B2 (en) Method and apparatus for displaying virtual route
US20200324795A1 (en) Neural network training using ground truth data augmented with map information for autonomous machine applications
US20240127062A1 (en) Behavior-guided path planning in autonomous machine applications
EP3623761B1 (en) Localization method and apparatus of displaying virtual object in augmented reality
WO2021262603A1 (en) Sensor fusion for autonomous machine applications using machine learning
CN112740268B (zh) 目标检测方法和装置
WO2019161300A1 (en) Detecting objects and determining confidence scores
EP3644278A1 (en) Method and apparatus for localization based on images and map data
CN111986128A (zh) 偏心图像融合
US11842440B2 (en) Landmark location reconstruction in autonomous machine applications
DE102022128030A1 (de) 3d-flächenrekonstruktion mit punktwolkenverdichtung unter verwendung künstlicher intelligenz für autonome systeme und anwendungen
US20230135234A1 (en) Using neural networks for 3d surface structure estimation based on real-world data for autonomous systems and applications
EP4148599A1 (en) Systems and methods for providing and using confidence estimations for semantic labeling
US11663807B2 (en) Systems and methods for image based perception
US20230136860A1 (en) 3d surface structure estimation using neural networks for autonomous systems and applications
CN114972136A (zh) 3d目标检测模型的训练方法、3d目标检测方法及装置
CN114549610A (zh) 一种点云数据的处理方法及相关装置
EP4131174A1 (en) Systems and methods for image based perception
US11966452B2 (en) Systems and methods for image based perception
US20230043716A1 (en) Systems and Methods for Image Based Perception
US11966838B2 (en) Behavior-guided path planning in autonomous machine applications
US20230075425A1 (en) Systems and methods for training and using machine learning models and algorithms
US11443147B2 (en) Systems and methods for object detection using stereovision information

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