V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mathzhaoliang
V2EX  ›  分享创造

华为手机实测车辆的 3D 位姿检测

  •  
  •   mathzhaoliang ·
    neozhaoliang · 2020-03-17 23:26:06 +08:00 · 1942 次点击
    这是一个创建于 1500 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用了一部华为荣耀 9 手机,没有标定内参和焦距,直接拍摄了一个园区场景:

    采集了场地上几个点的经纬度坐标,并标记了它们在上图中的像素,然后把手机相机当作理想针孔相机模型,用 cv2.projectPoints 计算了世界坐标系下的点在图像上的重投影,发现误差几乎可以忽略:

    用 mask r-cnn 检测图中车辆以后,根据 bounding box 和 mask 的信息用 scipy.optimize.minimize 函数估算了车辆的 3d 位姿 (大地 xy 坐标,与北方夹的偏航角),结果如下图:

    效果还不错。

    现在流行用神经网络直接给出 3d 的位姿信息,我用的方法比较笨,调的 scipy 库。但是我想思想应该是一致的吧。我这个手机是快 3 年前买的,现在看来确实很符合理想针孔相机模型,畸变可以忽略。

    注意这个方法不需要标定相机内参,任何手机拍一段视频都可以用来进行分析,前提只要标定场景中几个点的坐标。

    Plank
        1
    Plank  
       2020-03-18 11:29:54 +08:00
    这种有啥应用场景吗?
    mathzhaoliang
        2
    mathzhaoliang  
    OP
       2020-03-18 13:52:39 +08:00
    @Plank 无人驾驶或者园区监控吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5349 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:14 · PVG 15:14 · LAX 00:14 · JFK 03:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.