凸透视法。
cvxpnpl的Python项目详细描述
cvxpnpl
凸透视法。
title:cvxpnpl:从点和线对应出发求解绝对位姿估计问题的统一凸解
abstract:我们提出了一种新的基于二维点与线对应的混合组合估计三维姿态的凸方法,即透视n点与线问题(pnpl)。我们将每个点和线的贡献合并为一个统一的二次约束二次问题(qcqp),然后通过shor松弛将其松弛为一个半定规划(sdp)。这使得能够优雅地处理点和线的混合配置。此外,所提出的松弛允许我们在不明确的构形下恢复有限个解。在这种情况下,通过进一步对解空间施加几何约束,然后从多个二次曲面的交点处检索这些姿势,可以找到三维姿势候选。实验提供了符合最先进的最先进的方法的结果,同时提供了对任意数量的点和线的求解的灵活性。
url指向纸张:tba
许可证:apache 2.0
安装
安装软件包的最简单方法是通过pip
pip install cvxpnpl
或者,您可以克隆此repo并从其根文件夹调用
python setup.py install
SDP解算器,BLAS和LAPACK
cvxpnpl使用cvxpy作为不透明凸解算器。然而,cvxpy只是一个抽象层,它调用SCS来获得底层sdp问题的解决方案。scs需要blas和lapack,这对于windows用户来说是很痛苦的。有鉴于此,我建议您通过他们的anaconda通道安装cvxpy,因为它将抽象掉所有的依赖设置。
示例
库公开3个公共函数:pnp
、pnl
和pnpl
。您可以找到几个示例来说明如何在examples folder中使用它们。
基准
为了验证cvxpnpl在不同场景下的健壮性,并将其与其他方法进行比较,我们进行了大量的基准测试。请检查主题的专用README页。