2016,VR年间,oculus、HTC、sony等那样的超重量级生产商竞相开售或宣布了自身的消費级硬件配置商品来守好顾客销售市场,确信众多VR发烧友们中的很多人都早就需从了一款虚拟现实技术机器设备。在这种硬件配置之中,OculusRiftCV1(下列全名CV1)不容置疑是最不会受到人瞩目的硬件配置商品之一,确是它有二零一四年拿了Facebook20亿美元那样的热点事件取悦。
文中创作者系G-Wearable前端工程师。 大家都知道,OculusRift应用的是主动型电子光学精准定位技术性,那它到底是怎样搭建的呢? 基础搭建步骤: OculusRift机器设备上不容易隐秘着一些红外灯(即是标识点),这种红外灯能够向外起飞红外线,后用红外摄像头动态性摄制。获得红外线图像后,将监控摄像头搜集到的图像传送到推算出来模块中,根据视觉效果优化算法过滤装置掉不必要的信息,进而获得红外灯的所属方位,再作利用PnP优化算法,即利用四个不共面的红外灯在机器设备上的方向信息、四个点获得的图像信息才可最终将机器设备划归监控摄像头平面坐标,标值出有机器设备的三维模型,并为此来动态性监管游戏玩家的头顶部、手臂健身运动。 录:确立可看如下图,注意上边这种鲜红色的小点点。
接下去我将向大伙儿解读一下我的悬疑小说全过程,及其优化算法的一些关键点。 头显上的LED灯 破译OculusRift的精准定位技术性 前原文中我谈及大家务必利用四个不共面的红外灯在机器设备上的方向信息来进行精准定位,而假如想告知各有不同的红外灯在机器设备上的方向信息,就必不可少必须区分各有不同的红外灯。 为何那么讲到呢,如果不区分红外灯,那麼当DK2(录:兹手指头贞)在室内空间中健身运动时,监控摄像头捕获光斑后,要进行关系(姿势线性拟合给出的全过程)的频次不容易十分大,荐个例子: 1)如果有N预测分析图像点和M=N认真观察图像点,则有N!/(N-M)!有可能的关系 2)针对N=40和M=20(对DK2LED的总数),有3.31029的关系,因此 就算是电子计算机,也没法比较慢地得到 結果。
很好像,DK2一定是应用了某类先验的方法区分光斑。那麼那么问题来了,DK2到底是怎样区分的呢? 我曾经看到有文章内容中猜想讲到DK2是根据LED灯的亮灭来区分的,本质上却并不是这样。
由于尽管根据LED灯的亮灭来区分非常简单,由于亮灭最更非常容易区分出去,可是这类方式有一个缺少,便是没法区分是姿势变化导致的LED灯被遮住,還是LED灯自身就引燃了,因此 ,DK2没用以这一方式,只是应用LED灯光信息的高矮来搭建的。大家来认真观察用灰度监控摄像头摄制的图: 比照上边两图,能够寻找亮斑的尺寸有转变。
能够显出鲜红色一部分,在图2时光点更高,深蓝色则忽视。接手上大家看详细的做法。
这儿必不可少讲到一下,在推论确立的做法全过程中,我曾经误认为DK2断定光点尺寸,随后依据多帧图像的规律性来鉴别LED灯的ID,但本质上DK2是用以差分法来鉴别光点尺寸。我在这比较简单给大伙儿解读一下我的悬疑小说全过程。 最先我就用自身的监控摄像头摄制了很多相片进行认真观察后寻找假如把监控摄像头用60HZ上下頻率摄制,图像每10张就不容易刚开始不断。 我再作给光斑编写成个号,如下图: 例如,2号点的可以用人眼识别的高矮次序:太弱,太弱,强悍,强悍,太弱,强悍,太弱,太弱,太弱,强悍。
那麼是否那样呢?怎样在DK2中答复这种高矮关联呢? 最先,不明SDK的windows的driver不容易发送至一个刚开始信息,让头贞刚开始运行; 接着,这一driver就不容易大大的对接到下边信息: X1X2X3X4是一个32位系统数,是图像剖析后得到 的室内空间座标(基本原理后边给大伙儿表明),DX则不告知做什么用,可是认真观察上边的num,换算出去是40,index从1刚开始,大大的下降到40,表述DK2在一个一个的识别LED灯,此外,这种信息每17ms上下发上来一次,和60HZ的摄制頻率类似,大部分能够确定是利用每10帧确定一个LED的方法。
本文来源:手机在线买球APP-www.rennes35.com