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

2020-03-17 23:26:06 +08:00
 mathzhaoliang

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

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

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

效果还不错。

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

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

2093 次点击
所在节点    分享创造
2 条回复
Plank
2020-03-18 11:29:54 +08:00
这种有啥应用场景吗?
mathzhaoliang
2020-03-18 13:52:39 +08:00
@Plank 无人驾驶或者园区监控吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653711

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX