主要内容

检测

使用PointPillars对象检测器检测对象

    描述

    bboxes=检测(探测器ptCloud检测输入点云中的对象,ptCloud.函数将检测到的对象的位置作为一组边界框返回。

    bboxes分数) =检测(探测器ptCloud为每个边界框返回特定于类的置信度评分。

    ___标签) =检测(探测器ptCloud返回分配给每个边界框的标签。对象类使用的标签在训练期间通过使用trainPointPillarsObjectDetector函数。

    detectionResults=检测(探测器DS检测数据存储中一系列点云中的对象DS

    例子

    ___) =检测(___名称=值)指定选项,使用一个或多个名称-值参数以及来自以前语法的参数的任何组合。例如,检测(检测器、ptCloud阈值= 0.5)检测输入点云内的对象,检测阈值为0.5

    例子

    全部折叠

    将一个预先训练好的PointPillars对象检测器加载到工作区中。

    pretrainedDetector =负载(“pretrainedPointPillarsDetector.mat”“探测器”);探测器= pretrainedDetector.detector;

    方法读取输入点云pcread函数。

    ptCloud = pcread (“PandasetLidarData.pcd”);

    在点云上运行预先训练的对象检测器。

    [bboxes、分数、标签]=检测(探测器,ptCloud);bboxCar = bboxes(标签”= =“汽车”:);bboxTruck = bboxes(标签”= =“卡车”:);

    方法可视化结果pcshow函数。为了更好的可视化,选择一个感兴趣的区域,roi,从点云数据。控件显示汽车、卡车的边界框showShape函数。

    ROI = [0.0 89.12 -49.68 49.68 -5.0 5.0];指数= findPointsInROI (ptCloud roi);图ax = pcshow(select(ptCloud, indexes).Location);变焦(ax, 1.5) showShape (“长方体”、bboxCar颜色=“绿色”,父母= ax,透明度= 0.3,线宽= 1);showShape (“长方体”、bboxTruck颜色=“红色”,父母= ax,透明度= 0.3,线宽= 1)

    输入参数

    全部折叠

    pointcolumns对象检测器,指定为pointPillarsObjectDetector对象。

    输入点云,指定为pointCloud对象。这个对象必须包含渲染点云所需的位置、强度和RGB颜色。

    数据存储,指定为有效的数据存储对象,它是点云的集合。必须设置此数据存储以便使用函数返回单元格数组或表,其中第一列包含点云。有关创建数据存储对象的更多信息,请参见数据存储函数。

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

    例子:检测(检测器、ptCloud阈值= 0.5)

    检测阈值,指定为范围[0,1]中的标量。该函数删除得分低于该阈值的检测。要减少误报,请增加此值。

    为每个检测到的对象选择最强的边界框,指定为逻辑1真正的)或0).

    • 真正的-函数返回每个对象的最强边界框。函数使用selectStrongestBboxMulticlass函数,该函数使用非最大抑制来消除重叠的边界框,基于它们的置信度得分。

      默认情况下,检测将此代码用于selectStrongestBboxMulticlass功能:

      selectStrongestBboxMulticlass (bbox,分数,RatioType =“联盟”...OverlapThreshold = 0.1);

    • -函数返回所有检测到的边界框。然后可以使用自定义流程消除重叠的边界框。

    迷你批处理的大小,指定为正标量。使用MiniBatchSize参数处理大量点云集合。利用这个参数,函数将点云分组为小批,并将它们作为批处理,以提高计算效率。增加小批尺寸以减少处理时间。减小大小以使用更少的内存。

    性能优化,指定为“汽车”“没有”

    • “汽车”—自动选择适合检测器所在网络和环境的优化。这些优化以第一次调用的一些开销和可能的额外内存使用为代价提高了性能。

    • “没有”—禁用所有加速功能。

    输出参数

    全部折叠

    在点云内检测到的对象的位置,作为9矩阵。矩阵中的每一行的形式为[xyz长度宽度高度球场偏航,表示边界框的尺寸和位置。是边界框的数量。

    边界框的检测置信度分数,返回为列向量的元素。是边界框的数量。每次检测的分数是其目标度预测和分类分数的乘积。每个分数都在[0,1]的范围内。分数越高表示检测的信心越高。

    边界框的标签,作为对象返回1分类数组。是点云中边界框的数量。定义在训练对象检测器时用于标记对象的类名。

    检测结果作为包含列的表返回,盒子分数,标签.表的每一行都对应一个来自输入数据存储的点云。

    列名 价值 描述
    盒子 9矩阵,是边界框的数量。 在相应的点云中找到的对象的边界框。
    分数 列向量元素 边界框的检测分数。
    标签 1分类数组 边界框的标签。

    要评估检测结果,请使用evaluateDetectionAOS函数。

    指标= evaluateDetectionAOS (detectionResults testLabels);

    扩展功能

    版本历史

    介绍了R2021b

    Baidu
    map