一种基于图片跟踪实现模拟场景跟踪的方法及系统
技术领域
本发明设计增强现实技术领域,具体而言,本发明涉及一种基于图片跟踪实现模拟场景跟踪的方法及系统。
背景技术
增强现实(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。
现有AR应用场景中为实现虚实结合,即将现实画面和虚拟模型同时显示到移动设备中并且虚拟模型要始终保持在现实画面的固定位置,需要一套帮助移动设备进行实时空间定位的解决方案,常见的解决方案有两种:
1)SLAM(Simultaneous Localization and Mapping),同步定位与建图,进行实时空间定位的原理:
定位:移动设备通过摄像头获取并分析实时画面,从画面中提取出特征点,通过特征点的变化计算设备在环境中的位置
建图:移动设备在移动中不断提取特征点,通过特征点间的位置关系构建周围环境的特征地图
场景跟踪:将实时画面的特征点与构建的特征地图进行匹配实现实时空间定位
2)Image Target,图像识别
图像预处理:将要识别的图像提前进行特征点提取,并基于这些特征点建立虚拟空间坐标系
图像识别跟踪:移动设备通过摄像头获取并分析实时画面,从画面中提取出特征点,并与预处理过的目标特征进行匹配,匹配成功后实时计算移动设备的虚拟空间位置。
然而,SLAM虽然本身是一套比较完善的空间定位及跟踪的方法,但是只要终端设备移动,就会不断采集数据,采集量大,对终端设备的计算能力要求比较高,在移动设备硬件及算力不足的情况下建图的速度和质量都有明显影响,从而导致定位不准和跟踪延;而Image Target因为提前准备识别图像,所以不需要设备进行实时建图,实时计算量和对设备算力的要求都会小很多,但提前准备识别图像耗时较长因此导致只能在固定场景中使用,并且对场景图像要求比较高,当场景在发生改变、污染、光线变化的情况下会影响使用。
发明内容
本发明旨在解决上述的技术缺陷,提供一种基于图片跟踪实现模拟场景跟踪的方法及系统。
本发明提供了一种基于图片跟踪实现模拟场景跟踪的方法,包括如下步骤:
步骤S1,图像获取:捕捉场景图像用于制作识别跟踪的目标图像,通过解析场景图像,进行拍摄截屏获取目标图像内容;
步骤S2,图像优化:获得步骤S1中的场景图像,读取其图像像素信息,并进行优化矫正裁剪保存;
步骤S3,特征点提取:根据优化后图像的图像像素信息,提取出图片纹理特征点,构建特征点目标信息;
步骤S4,识别跟踪:完成特征点提取之后,开始启动识别跟踪,首先获取到相机实时画面,并进行特征点识别,将实时画面的特征点信息与目标信息进行匹配,当稳定达到匹配阈值即成功匹配,并根据特征点群的位置变化,实时计算并更新移动终端设备在坐标系中的位置;
步骤S5,内容展示:生成产品AR影像并加载在终端设备显示画面中,观察者可360度观察产品外观和内部结构,产品始终都会在终端设备屏幕中间进行展示。
进一步地,步骤S1中捕捉场景图像时,终端设备拍摄界面中会显示至少一个拍摄线框,通过垂直面线框和/或水平面线框用来辅助拍照,识别出立体空间2D映射图像中的垂直面和/或水平面,线框内的区域为最终获取的图像内容,根据线框的提示移动终端设备找到合适的角度进行拍摄并截屏,最终获取图像内容
进一步地,步骤S2中,同步读取图像像素信息,利用陀螺仪获取设备位置姿态,根据位置姿态对线框内的图片进行优化矫正,根据各个轴的角度对线框进行旋转并记录旋转后的线框四个角在屏幕上的位置,通过优化矫正将图像还原成正面观察时正常的平面状态图像形状。
进一步地,步骤S3中,根据步骤S2优化后的图像像素信息,通过算法提取出图片纹理特征点,包括特征点群及位置关系等信息,构建x坐标范围在[l,r]、y坐标范围在[b,t]、z坐标范围在[n,f]的视域体,建立视域体投影矩阵:
建立若干特征点的二维坐标数组T={(p1,p2),(p3,p4),(p5,p6)....},将二维特征点转换为齐次坐标T1={(p1,p2,N,1),(p3,p4,N,1),(p5,p6,N,1)....},其中N为空间点距离终端设备屏幕的距离;之后绑定模型用的空间坐标P=T1*Tj-1,即齐次坐标与投影矩阵的逆矩阵相乘所得;该步骤中可以采集若干个特征点群,设定出一个原点,确定每个特征点群和这个原点的位置和角度,构建特征点目标信息。
进一步地,在步骤S4的匹配过程中,移动设备摄像头的拍摄位置朝向步骤S1中捕捉的真实场景图像所在的区域,使真实场景与系统内保存的图像信息进行匹配,如果由于拍摄位置偏差没有匹配成功,可以移动设备的位置,当摄像头识别出特征点,系统会自动进行匹配,当稳定达到匹配阈值即成功匹配。
进一步地,在步骤S4中成功匹配后,根据特征点群位置中心建立空间虚拟坐标系,根据特征点群的位置变化,通过单应性变换实时计算与之匹配的矩阵投影角度并实时更新移动设备在空间坐标系中的位置。
进一步地,在步骤S5中,由于终端设备在虚拟坐标系内的移动,都会通过步骤S4不停的计算位置,实时更新移动设备在空间坐标系中的位置,例如距离和角度,通过所述位置,就可以计算出观察者应该从其所在角度观察到的产品画面的结构形状,在此过程中产品始终都会在终端屏幕中间进行展示。
本发明还提供了一种基于图片跟踪实现模拟场景跟踪的增强现实系统,包括:
图像获取模块(100),启动终端摄像头后用于捕捉场景图像,通过解析场景图像,识别出立体空间的垂直面和/或水平面,进行拍摄截屏获取图像内容;
图像优化模块(200),其通过读取图像获取模块中的场景图像,读取其图像像素信息,并进行优化矫正裁剪保存;
特征点提取模块(300),其根据通过图像优化模块优化后图像的图像像素信息,提取出图片纹理特征点,包括特征点群及位置关系;
识别跟踪模块(400),其通过获取到相机实时画面,进行特征点识别,将实时画面的特征点信息与目标信息进行匹配,当稳定达到匹配阈值即成功匹配,并根据特征点群位置中心建立空间坐标系,计算移动设备在坐标系中的初始位置,并根据特征点群的位置变化,实时计算与之匹配的矩阵投影角度并更新移动设备在坐标系中的位置;
显示模块(500),生成产品AR影像并加载在终端显示画面中,观察者可360度观察产品外观和内部结构,产品始终都会保持在终端屏幕中间进行展示。
进一步地,图像优化模块(200)提取出的图片纹理特征点信息包括特征点群及位置关系,并可以采集若干个特征点群,设定出一个原点,确定每个特征点群与该原点的位置和角度,构建特征点目标信息。
本发明还提供一种增强现实的终端,其特征在于,包括前述的基于图片跟踪实现模拟场景跟踪的增强现实系统。
本发明通过上述基于图片跟踪实现模拟场景跟踪的方法及系统,实现产品AR展示,传统未经定位的AR展示,如果终端设备移动范围过大比如向下翻转手机,展示的虚拟产品就会移动出手机屏幕,而本发明通过计算,将虚拟产品定位在画面的中间位置,这样无论如何移动终端设备,产品都会在终端设备中间进行展示,如果向下翻转终端设备,终端设备中会显示从下向下看的产品视图,比如要销售一台汽车,汽车无法随身携带,并且有的地点空间比较小汽车无法驶入,这时候就需要在有限空间内展示一个产品,最好360度的展示,展示的内容会随着手机或者AR头盔之类的终端设备移动而移动,比如终端设备中显示一辆虚拟的汽车,因为是AR模拟出来的产品,终端设备转向车顶方向,就是车顶的视角,而转向车底方向,就是车底的视角,把终端设备向前移动,终端设备中虚拟的AR产品模型就会放大,还可以在终端设备中拆解产品,比如把汽车门打开,后备厢打开,机器盖子打开,甚至可以展示发动机运行状态下的状态。而在设备辅助维修方面,通过本发明可以把一个需要维修产品的模型定位在真实设备旁边,维修人员一边看着AR展示,一边实际操作拆解设备进行维修,好处也是终端设备一直定位在某个地方;在互动娱乐方面,可以将游戏中的虚拟场地固定在某个位置,比如像FIFA2019这种操控类的足球游戏,可以把足球场固定在手机画面的中心,也可以充满整个屏幕,但是足球场在虚拟坐标系中的位置一直是固定的,手机只是围绕着坐标原点进行运动,游戏中的球员会在足球场上来回运动,玩家控制的球员也会来回运动,玩家可以移动手机,模拟出在操控球员头上得到视角,增强沉浸式体验感。
本发明的有益效果是:
本发明在图像识别的基础上加以优化形成一种普适性更强的效果更优的方案,利用拍照截屏获取使用场景的图形信息,不用提前准备图像,随时用随时拍,屏蔽掉了图像和场景的差异化和使用场景限制,对拍照截屏获取到的图形进行加工,使跟踪效果更接近于对2D图像的跟踪,达到更优的跟踪效果,移动设备配置高低都可以使用,不影响运行速度,可广泛应用于展品展示、辅助维修、互动娱乐领域。
附图说明
图1为一个实施例的基于图片跟踪实现模拟场景跟踪的方法流程图;
图2为获取真实场景垂直面水平面内容的示意图;
图3为根据图2的拍摄角度进行拍摄后获取的水平面线框内图像与经过优化矫正消除形变后的图像对比图;
图4为特征点提取步骤中记录特征点群及位置关系的示意图;
图5为根据特征点位置计算与之匹配的矩阵投影角度更新其在坐标系中的位置的方法图;
图6为根据特征点群的位置变化实时计算与之匹配的矩阵投影角度并更新移动设备在坐标系中的位置;
图7为基于图片跟踪实现模拟场景跟踪的增强现实系统模块图。
具体实施方式
在本发明实施例中,如图1所示,本发明提供一种基于图片跟踪实现模拟场景跟踪的方法,包括如下步骤:
步骤S1,图像获取:捕捉场景图像,用于制作识别跟踪的目标图像,通过解析场景图像,识别出立体空间的垂直面和/或水平面,进行拍摄截屏获取图像内容;
在该步骤中进入终端设备AR应用捕捉场景图像,目的是为了制作识别跟踪的目标图像,但截屏获取到的图像是立体空间的2D映射图像,为了保证和2D映射图像一样的跟踪效果,需要取出图像中的部分内容,只保留它一个面的内容如水平面、垂直面,如图2所示,图2中终端设备拍摄界面中会显示至少一个拍摄线框,通过垂直面线框和/或水平面线框用来辅助拍照,识别出立体空间2D映射图像中的垂直面和/或水平面,线框内的区域就是最终获取的图像内容,根据线框的提示移动设备找到合适的角度进行拍摄并截屏,最终获取图像内容,后续步骤中AR影像以垂直面和/或水平面为参照投影在终端屏幕中。
步骤S2,图像优化:获得步骤S1中获取的场景图像,读取其图像像素信息,并进行优化矫正裁剪保存;
在实际获取图像的时会发现,截屏时的角度和实际想获取的平面往往存在角度偏差,比如想截取一张水平图像,但移动终端设备未必是与待拍摄面平行来拍摄截取图片的,这就造成获取到的图片有一定的形变,如图3所示,图3a为根据图2的拍摄角度进行拍摄后获取的水平面线框内的图像,由于移动终端设备并非水平放置来拍摄水平面场景截取图片的,造成如图3a所示获取到的图片有一定的形变,在获得截取到的场景图像后,同步读取图片像素信息,为了保证最终图像质量,利用陀螺仪获取设备位置姿态,根据位置姿态对线框内的图片进行优化矫正,例如把窄边的像素点根据计算的结果重新拉伸调整,根据各个轴的角度对线框进行旋转并记录旋转后的线框四个角在屏幕上的位置,通过优化矫正将图像还原成正面观察时正常的平面状态图像形状,图3b中所示的图像即为经过优化矫正消除形变后的图像,与移动终端设备与待拍摄水平面平行时拍摄的效果相同。
最后根据之前保存的线框位置对图片进行裁剪,获取新的图像信息并保存。
步骤S3,特征点提取:根据优化后图像的信息,提取出图片纹理特征点,包括特征点群及位置关系,,构建特征点目标信息;
针对步骤S2优化后的图片,根据图像像素信息,通过算法提取出图片纹理特征点,包括特征点群及位置关系等信息,构建x坐标范围在[l,r]、y坐标范围在[b,t]、z坐标范围在[n,f]的视域体,建立视域体投影矩阵:
建立若干特征点的二维坐标数组T={(p1,p2),(p3,p4),(p5,p6)....},将二维特征点转换为齐次坐标T1={(p1,p2,N,1),(p3,p4,N,1),(p5,p6,N,1)....},其中N为空间点距离终端设备屏幕的距离;之后绑定模型用的空间坐标P=T1*Tj-1,即齐次坐标与投影矩阵的逆矩阵相乘所得;该步骤中可以采集若干个特征点群,设定出一个原点,确定每个特征点群和这个原点的位置和角度,构建特征点目标信息。
步骤S4,识别跟踪:完成特征点提取步骤之后,开始启动识别跟踪算法,算法首先获取到相机实时画面,并进行实时画面特征点识别,将实时画面的特征点信息与步骤S3中所构建的目标信息进行匹配,匹配过程中,移动设备摄像头的拍摄位置朝向步骤S1中捕捉的真实场景图像所在的区域,使真实场景与系统内保存的图像信息进行匹配,如果由于拍摄位置偏差没有匹配成功,可以移动设备的位置,当摄像头识别出特征点,系统会自动进行匹配,当稳定达到匹配阈值即成功匹配,并根据特征点群位置中心建立空间虚拟坐标系,具体算法实现上要引入单应性的概念,单应性是几何中的一个概念,是一个从实射影平面到射影平面的可逆变换,直线在该变换下仍映射为直线;在计算机视觉领域中,空间中同一平面的任意两幅图像可以通过单应性关联在一起,比如一个物体可以通过旋转相机镜头获取两张不同的照片,这两张照片的内容不一定要完全对应,部分对应即可,可以把单应性设为一个二维矩阵M,那么其中一张照片的特征点坐标乘以M就是另一张照片的特征点坐标。单应性有着广泛的实际应用,比如图像校正、图像对齐或两幅图像之间的相机运动计算(旋转和平移)等,通过旋转和平移即可确定相机和图像的相对位置关系。
在数学里齐次坐标,或投影坐标是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一样。如果点Q到成像仪上的点q的映射使用齐次坐标,这种映射可以用矩阵相乘的方式表示,进行如下定义:则可以将单应性简单的表示为:参数s为根据实际工况定义的单应性尺度比例,可以为任意尺度的比例,H为用于定位观察的物体平面的物理变换和使用摄像机内参数矩阵的投影。物理变换部分是与观测到的图像平面相关的部分旋转R和部分平移t的影响之和,表示如下:这里R为3*3大小的矩阵,t表示一个3维的列矢量,摄像设备内参数矩阵用M表示,那么我们重写单应性如下:
where单应性是一个平面上到另外一个平面的映射,那么上述公式中的Q,就可以简化为平面坐标中的Q′,即我们使Z=O。即物体平面上的点我们用x,y表示,拍摄显示设备平面上的点,也用二维点表示,当去掉了Z方向的坐标,那么相对于旋转矩阵R,R可以分解为R=[r1 r2 r3],参考如下的推导:
其中H为:H=sM[r1 r2 t],是一个3×3大小的矩阵,故最终的单应性矩阵可表示如下:
正如图6所示,根据特征点群的位置变化,通过单应性变换实时计算与之匹配的矩阵投影角度并实时更新移动设备在空间坐标系中的位置。
步骤S5,内容展示:生成产品AR影像并加载在设备显示画面中,观察者可360度观察产品外观和内部结构,步骤S1至S4中所做的工作就是为了在内容展示阶段可以将虚拟产品放在固定位置便于观察和展示,由于产品AR影像一直定位在固定点,因此终端设备在虚拟坐标系内的移动,都会被不停的计算位置,实时更新移动设备在空间坐标系中的位置,例如距离和角度,通过所述位置,就可以计算出观察者应该从这个角度看到的产品画面的结构形状,比如计算出来手机是在产品上方的,用户就会看到从上往下看的产品画面,在此过程中产品始终都会在终端屏幕中间进行展示。
图7为一个实施例的基于图片跟踪实现模拟场景跟踪的显示系统模块图。
一种基于图片跟踪实现模拟场景跟踪的增强现实系统,包括:图像获取模块100、图像优化模块200、特征点提取模块300、识别跟踪模块400、显示模块500。
图像获取模块100,用于启动终端摄像头后捕捉场景图像。
当标识场景出现时,用户想在此标识场景下显示产品AR影像,可以进入AR应用启动终端设备的摄像头捕捉场景图像,用于制作识别跟踪的目标图像,当截屏获取到立体空间的2D映射图像时,为了保证和2D映射图像一样的跟踪效果,图像获取模块取出图像中的部分内容,只保留它一个面的内容如水平面、垂直面,终端设备拍摄界面中会显示至少一个拍摄线框,通过垂直面线框和/或水平面线框用来辅助拍照,以确定立体空间2D映射图像中的垂直面和/或水平面,根据线框的提示移动设备找到合适的角度进行拍摄并截屏,最终图像获取模块100获取图像内容。
图像优化模块200,其通过读取图像获取模块中的场景图像,读取其图像像素信息,并进行优化矫正裁剪保存;
在实际获取图像的时会发现,截屏时的角度和实际想获取的平面往往存在角度偏差,比如想截取一张水平图像,但移动终端设备未必是与待拍摄面平行来拍摄截取图片的,这就造成获取到的图片有一定的形变,如图3所示,图3a为根据图2的拍摄角度进行拍摄后获取的水平面线框内的图像,由于移动终端设备并非水平放置来拍摄水平面场景截取图片的,造成如图3a所示获取到的图片有一定的形变,在获得截取到的场景图像后,图像优化模块200读取图片像素信息,为了保证最终图像质量,图像优化模块200利用陀螺仪获取设备位置姿态,根据位置姿态对线框内的图片进行优化矫正,例如把窄边的像素点根据计算的结果重新拉伸调整,根据各个轴的角度对线框进行旋转并记录旋转后的线框四个角在屏幕上的位置,图像优化模块200通过优化矫正将图像还原成正面观察时正常的平面状态图像形状,图3b中所示的图像即为经过优化矫正消除形变后的图像,与移动终端设备与待拍摄水平面平行时拍摄的效果相同。
最后图像优化模块200根据之前保存的线框位置对图片进行裁剪,获取新的图像信息并保存。
特征点提取模块300,其根据通过图像优化模块优化后图像的图像像素信息,提取出图片纹理特征点,包括特征点群及位置关系;
特征点提取模块300针对图像优化模块200优化后的图片,根据图像像素信息,通过前述方法中的步骤S3,即特征点提取步骤中的算法提取出图片纹理特征点,包括特征点群及位置关系等信息,建立投影矩阵,建立若干特征点的二维坐标数组,将二维特征点转换为齐次坐标,之后绑定模型用的空间坐标P=T1*Tj-1,设定出一个原点位置,确定每个特征点群和这个原点的位置和角度,构建特征点目标信息。
识别跟踪模块400,其在特征点提取模块300完成特征点提取构建好特征点目标信息之后,通过获取到相机实时画面,进行实时画面特征点识别,开始启动识别跟踪算法,算法首先获取到相机实时画面,并进行特征点识别,将实时画面的特征点信息与特征点提取模块300所构建的目标信息进行匹配,匹配过程中,移动设备摄像头的拍摄位置朝向图像获取模块100捕捉真实场景图像时所在的区域,使真实场景实时画面与系统特征点提取模块300内保存的图像信息进行匹配,如果由于拍摄位置偏差没有匹配成功,可以移动设备的位置,当摄像头识别出特征点,识别跟踪模块400会自动进行匹配,当稳定达到匹配阈值即成功匹配,根据特征点群的位置变化,识别跟踪模块400采用前述步骤S4,即识别跟踪步骤中的方法实时更新移动设备在空间坐标系中的位置。
显示模块500,用于生成产品AR影像并加载在终端显示画面中。
显示模块500生成产品AR影像并加载在设备显示画面中,由于识别跟踪模块400实时更新移动设备在空间坐标系中的位置,使得内容展示阶段可以将虚拟产品放在固定位置便于观察和展示,由于产品AR影像一直定位在固定点,因此手机设备在虚拟坐标系内的移动,都会被识别跟踪模块400不停的计算位置,例如距离和角度,通过该位置,就可以计算出观察者应该从这个角度看到的产品画面的结构形状,比如计算出来手机是在产品上方的,显示模块500就会显示从上往下看的产品画面,在此过程中产品始终都会在终端屏幕中间进行展示,观察者可360度观察产品外观和内部结构。
另一实施例中,还提供了一种增强现实的终端,包括前述的基于图片跟踪实现模拟场景跟踪的增强现实系统,其可以为手机、平板电脑、VR眼镜等。
应该理解的是,虽然图1的流程图中的各个步骤标注有箭头,但是各个步骤并不是必然按照箭头指示的顺序依次执行。除非本说明书中有明确说明,这些步骤的执行并没有明确的顺序限制,其可以以其他的顺序进行。而且,图1中的各个步骤可以包括多个子步骤,这些子步骤也不必然是按序依次执行,可以与其他步骤或者子步骤轮流或者交替进行。
以上仅是本发明的部分实施方式,对于本领域技术人员来说,在不脱离本发明原理的情况下,可以进行若干改进,这些改进也应当视为本发明的保护范围。