【问题标题】:Object detection in 2D laser scan二维激光扫描中的物体检测
【发布时间】:2015-11-03 21:21:00
【问题描述】:

目前,我拼命尝试基于 2D 激光扫描(另一个机器人)检测物体(机器人)。在以下两张图片中,蓝色箭头对应于激光扫描仪的姿势,并指向我想要检测的对象。

one side of the object

two sides of the object

由于它基本上是 2D 图片,我的第一个方法是寻找一些 OpenCV 实现,例如 HoughLinesPLSDDetector 以检测线条。不幸的是,由于 OpenCV 的重点更多地放在具有“真实”线条的“真实”图像上,因此据我正确理解,这种方法并不真正适用于点云。另一个著名的库是点云库,它更侧重于 3D 点云。

我目前的方法是分割激光扫描,然后使用一些迭代最近点 (ICP) C++ 实现在激光扫描中找到 2D 点云模板。由于我对对象检测和所有这些好东西不太熟悉,我很确定还有一些更复杂的解决方案......

你有什么建议吗?

提前非常感谢:)

【问题讨论】:

    标签: opencv registration point-cloud-library ros object-detection


    【解决方案1】:

    要从点获取线,您可以尝试RANSAC。 您将迭代地拟合线到点,然后删除与新线对应的点并重复直到没有足够的点或支撑太低或类似的东西。

    希望对你有帮助。

    【讨论】:

    • 感谢您的回答。我认为问题在于线条是机器人形状的非常粗略的近似。此外,我认为调整后的 RANSAC 需要相当长的时间来计算,因为我必须为每个新点拟合一条新线。
    • 嗯,很难从你的问题中推断出机器人的形状。但是你可以用 RANSAC 拟合任何形状,你只需要提供函数,它可以确定点的子集是否很好地拟合模型。
    猜你喜欢
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多