用多个Kinect体感摄像头实现真正360度运动捕捉系统

以前我在这里写过博客文章,研究用微软的Kinect体感摄像头做运动捕捉,当时设计了两种方案,一种是用NiTE中间件,在它的基础上改进了一点点,但处理360度转身主要靠插值,说白了就是靠猜测,效果不是很理想;另一种是结合深度信息和颜色信息来直接定位关节,虽然能处理转身的问题,但颜色识别不太稳定,灯光的影响很大。

前些日子,一位国外网友提供了一个思路,何不试一下多体感摄像头同时捕捉?我的屋子空间很小,没法实验,但热心的外国网友说他可以帮助实验,于是有了下面这个新的方案。

多摄像头的坐标系标定是个麻烦事,这也是我以前不敢尝试的原因之一。那天我在GitHub看到一个项目,是二维空间的坐标系标定,思路让我眼前一亮,把各个坐标系变换到一个公共坐标系不就行了吗?于是,我把身体本身作为公共坐标系,两脚中心作为原点,右股关节到左股关节的方向作为X轴,两脚中心到脑袋的方向作为Y轴,X轴与Y轴的叉乘得到的向量方向作为Z轴。怎样把摄像头空间变换到身体空间?就是摄像头看到的身体姿态的逆变换,就这样,多摄像头的坐标系标定搞定了,共十几行代码。

搞定了坐标系的问题,问题就很简单了,把多个体感摄像头得到的关节位置合并就可以了,比如,一个体感摄像头看不到某关节,但另一个角度的体感摄像头能看到,就可以补充丢失的信息。理论上,只要三个体感摄像头两两间隔120度就可以覆盖360度的全空间范围。

当然还有一些重要的细节需要处理,但总体思路就是这样,不算复杂,经过两个星期的调试,这个运动捕捉系统已经能用了。

下面是项目地址:http://www.mesh-online.net/mocap.html

提供所有的源代码和预编译的二进制文件,大家可以下载下来研究一下,如果有问题,可以给我发邮件。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值