主要内容

detectISSFeatures

检测空间站在点云特征点

自从R2022a

    描述

    例子

    = detectISSFeatures (ptCloud)检测固有形状签名(ISS)特征点的输入点云ptCloud。国际空间站是一个3 d形状表示三维物体识别的方法。ISS特征点是点丰富的三维结构变化在他们的社区。

    (,指数)= detectISSFeatures (ptCloud)此外返回空间站特征点检测的线性指标。

    ___= detectISSFeatures (ptCloud,名称=值)指定选项使用一个或多个名称参数除了从以前的语法输出参数的任意组合。例如,detectISSFeatures (ptCloud半径= 0.05)计算国际空间站凸起周围0.05范围内的每个点识别特征点。

    例子

    全部折叠

    厚度的点云文件读入工作区。

    ptCloud = pcread (“teapot.ply”);

    检测ISS点云的特征点,并显示点云,ISS特征点。

    点= detectISSFeatures (ptCloud);图(Name =“检测到的特征点”)pcshow (ptCloud)plot3(点(:1),点(:,2),点(:,3),“五角星形”,MarkerSize = 5, MarkerFaceColor = 0.6 - 0.6[1],颜色=“红色”)

    图检测特征点包含一个坐标轴对象。坐标轴对象包含2散射类型的对象,线。一个或多个行显示的值只使用标记

    PCD的点云文件读入工作区。

    ptCloud = pcread (“highwayScene.pcd”);

    转换的输入点云应用旋转和翻译。

    eulerAngles = [0 0 30];反式= (5 5 0);tform = rigidtform3d (eulerAngles、反式);ptCloudTform = pctransform (ptCloud tform);

    检测ISS特征点在原始的、固定和转化,动点云。

    [~,indicesFixed] = detectISSFeatures (ptCloud);[~,indicesMoving] = detectISSFeatures (ptCloudTform);

    检测到的特征点的提取FPFH特征点云。

    ptCloudFixed =选择(ptCloud indicesFixed);fixedFeature = extractFPFHFeatures (ptCloudFixed);ptCloudMoving =选择(ptCloudTform indicesMoving);movingFeature = extractFPFHFeatures (ptCloudMoving);

    固定和移动的点云之间的匹配特性。

    [matchingPairs,分数]= pcmatchfeatures (fixedFeature movingFeature,ptCloudFixed ptCloudMoving方法=“详尽”);

    估计使用匹配的变换特性。

    fixedPts =选择(ptCloudFixed matchingPairs (: 1));matchingPts =选择(ptCloudMoving matchingPairs (:, 2));estimatedTform = estgeotform3d (fixedPts.Location,matchingPts.Location,“刚性”);

    使用估计变换点云对齐。

    ptCloudAligned = pctransform (ptCloudTform,反(estimatedTform));

    可视化对齐的点云。

    pcshowpair (ptCloud ptCloudAligned)标题(“对齐点云”)

    图包含一个坐标轴对象。坐标轴对象标题对齐的点云包含2散射类型的对象。

    MAT文件,其中包含点云数据加载到工作区。从数据中提取前两个点云。

    inputData =负载(“livingRoom.mat”);movingPtCloud = inputData.livingRoomData {1};fixedPtCloud = inputData.livingRoomData {2};

    可视化提取点云。

    pcshowpair (movingPtCloud fixedPtCloud VerticalAxis =“Y”VerticalAxisDir =“向下”)标题(“点云对齐”)

    图包含一个坐标轴对象。坐标轴对象之前标题点云对齐包含2散射类型的对象。

    检测ISS特征点的点云。

    [~,indicesMoving] = detectISSFeatures (movingPtCloud);[~,indicesFixed] = detectISSFeatures (fixedPtCloud);

    从每个点云提取特征点,并注册点云。

    movingISSPtCloud =选择(movingPtCloud indicesMoving);fixedISSPtCloud =选择(fixedPtCloud indicesFixed);tform = pcregistericp (movingISSPtCloud fixedISSPtCloud,推断= true);

    使用注册的点云对齐变换,并可视化结果。

    movingPtCloudAligned = pctransform (movingPtCloud tform);图pcshowpair (movingPtCloudAligned fixedPtCloud VerticalAxis =“Y”VerticalAxisDir =“向下”)标题(“对齐点云”)

    图包含一个坐标轴对象。坐标轴对象标题对齐的点云包含2散射类型的对象。

    输入参数

    全部折叠

    输入点云,指定为一个pointCloud对象。

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    例子:detectISSFeatures (ptCloud半径= 0.05)计算国际空间站凸起周围0.05范围内的每个点识别特征点。

    邻域半径计算ISS凸起,指定为积极的标量。国际空间站的凸起点是衡量社区丰富的三维结构变化,决定是否点是一个功能点。函数计算一个指定半径内的散射矩阵每一个点来确定它的ISS凸起和识别特征点。默认值是6倍的平均输入点云中的每个点的距离其最近的邻近点。单位是米。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    邻域半径的应用non-maxima抑制算法,指定为积极的标量。默认值是4倍的平均输入点云中的每个点距离其最近的邻近点。增加这个值可以减少检测特征点的数量。单位是米。

    请注意

    NonMaxRadius值必须小于或等于的价值半径。否则,该函数减少的价值NonMaxRadius的价值半径

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    第二特征值比首次在散射矩阵,特征值指定为一个积极的标量的范围(0 1]。这个比率定义函数使用x- - - - - -,y- - - - - -,z相互重合的内在参照系。比率越低价值的功能不包括点类似的三维特性以及第一和第二轴。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    第三个特征值比第二个散射矩阵的特征值,指定为一个积极的标量的范围(0 1]。这个比率定义函数使用x- - - - - -,y- - - - - -,z相互重合的内在参照系。比率越低价值,功能不包括类似的三维特性的点在第二和第三轴。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    所需的最小数量的邻居一个空间站的功能点,指定为一个正整数。增加这个值可以降低特征点检测的总数。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    输出参数

    全部折叠

    国际空间站在输入点云特征点,作为一个返回3矩阵。是特征点的总数。每行包含(xyz一个特征点的坐标。

    线性指数检测到空间站的特征点,作为一个返回1的矩阵。

    算法

    内在的形状签名(ISS)是一个三维形状表示的方法。ISS特征点富含三维结构变化在他们的社区。该方法应用建模、可视化和分类的三维点云。

    检测空间站在点云特征点,detectISSFeatures函数遵循这些步骤。

    • 计算一个点在指定的散射矩阵半径在每一个点。

    • 计算特征值λ1,λ2,λ3减少数量级的散射矩阵。这些特征值代表一个方向在三维空间中基于点的位置变化的数量。

    • 使用特征值,函数定义了一个观点,而不是内在参照系的本金x- - - - - -,y- - - - - -,z相互重合。

    • 使用λ2/λ1,λ3/λ2作为标准,以避免点具有相似的空间传播沿轴同时检测特征点。您可以指定特征值比率λ2/λ1λ3/λ2使用MaxGamma21MaxGamma32参数,分别。

    • 计算每个点的ISS卓越使用最小的特征值,λ3。ISS特征点是点与最大空间站凸起在指定半径大约每一点。

    • 您可以进一步处理这些特征点匹配点云,估计姿势的转换,和检测3 d对象。

    版本历史

    介绍了R2022a