增强现实实现方法、装置和终端设备的制造方法_2

文档序号:9305068阅读:来源:国知局
(Xl’,y/))。
[0051]S34、判断根据提取的特征点对集合和拍摄该拍摄对象的拍摄装置的拍摄参数是否能够恢复出拍摄对象的局部三维点云数据,如果是,执行步骤S35,否则,执行步骤S36。
[0052]具体实施时,可以利用双视几何方法恢复局部三维点云数据。具体的,利用得到的特征点对集合求解基础矩阵F,然后对F进行分解,得到拍摄两帧图像时的相对位姿(用矩阵表示),利用得到的相对位姿和拍摄装置的拍摄参数,对每一对特征点对计算其对应的三维数据。假设((Xl,Y1), (X1' ,Y1'))对应的三维点云数据据为:(Xl,Y1, Z1),依次类推,可以得到提取到的其它特征点对对应的三维点云数据。具体实施时,需要至少7个特征点对可以求解出基础矩阵F,即在进行特征点对提取时需要至少提取到7个特征点对,如果提取到的特征点对少于7个,则无法得到拍摄两帧图像时的相对位姿。亦即根据该两帧图像无法恢复出拍摄对象的局部三维点云数据。
[0053]具体实施时,如果能够求解出F,且F能够成功分解出两帧图像的相对位姿,则确定能够恢复出拍摄对象的局部三维点云数据,否则,确定无法恢复出拍摄对象的局部三维点云数据。
[0054]S35、确定选择出的任一帧图像为第一关键帧图像,流程结束;
[0055]S36、从获取的图像序列中重新选择间隔预设距离的两帧图像,并执行步骤S32。
[0056]需要说明的是,本发明实施例中,关键帧图像是能够代表拍摄装置(例如本例中的移动终端)当前拍摄的局部区域的图像,如果产生了新的关键帧,则表明拍摄装置运动到了新的区域。因此,在确定出第一帧关键之后,后续确定出的关键帧需要满足以下至少一个条件:
[0057]I)与上一帧关键帧图像之间的拍摄时间间隔大于时间间隔预设值。
[0058]例如,可以设置两帧关键帧图像之间的时间间隔大于20s。
[0059]2)与上一帧关键帧图像之间的物理距离大于距离预设值。
[0060]具体实施时,两帧图像之间的物理距离可以通过图像的特征点对应的三维数点云据确定出。例如,可以设定两帧图像之间的物理距离大于I米。
[0061]3)与上一帧关键帧图像之间的重叠区域不超过区域预设值。
[0062]具体实施时,两帧图像之间的物理距离可以通过图像的特征点对应的三维数点云据确定出。例如,可以设定两巾贞图像之间的重叠区域不超过20%。
[0063]亦即,本发明实施例中,在确定出第一帧关键帧图像之后,在后续拍摄装置的运动过程中,拍摄到当前帧图像之后,可以选择该当前帧图像与当前关键帧图像进行计算,如果成功恢复出三维数据并满足上述至少一个条件,则选择当前帧图像为当前关键帧图像,继续此过程,可以得到一系列的关键帧图像,并将拍摄时间最晚的图像确定为当前关键帧图像。
[0064]S23、确定拍摄时间最晚的关键巾贞图像为当如关键巾贞图像。
[0065]S24、根据当前关键帧图像或者选择出的至少一帧关键帧图像确定拍摄对象的完整三维点云数据。
[0066]S25、获得待展示的增强现实AR信息。
[0067]S26、根据完整三维点云数据和当前关键帧图像,确定AR信息在当前帧图像上的展示方位。
[0068]S27、根据确定出的展示方位在当前帧图像上展示获得的AR信息。
[0069]具体实施时,步骤S24中,根据当前关键帧图像确定拍摄对象的完整三维点云数据,可以包括两种方式,一种是从本地查找关键帧图像对应的完整三维点云数据,一种是从网络侧服务器查找该关键帧图像对应的完整三维点云数据。这种情况下,查找到的完整三维点云数据中包含AR信息,相应的,步骤S25中,便可以直接从查找到的完整三维点云数据中提取其包含的AR信息。其适用于以下应用场景:预先在本地或者网络侧存储的地图数据库中已经有拍摄对象的完整三维点云数据,例如,用户对面前的商场进行拍摄,根据用户拍摄的图像便能够查找到商场的完整三维点云数据,根据完整三维点云数据中包含的AR信息,用户便可以实时获取该商场内不同楼层的AR信息或者不同商家的AR信息。以下分别针对在本地以及网络侧服务器存储完整三维点云数据的方式进行描述。
[0070]方式一、根据当前关键帧图像在本地存储的图像与完整三维点云数据之间的对应关系中,查找当前关键帧图像对应的完整三维点云数据。
[0071]具体实施时,终端设备可以自行存储完整的地图数据库,在地图数据库中可以预先存储有建立好的图像与完整三维点云数据的对应关系,并根据图像信息建立索引,且完整三维点云数据中可以包含有AR信息。
[0072]相应的,步骤S26和步骤S27中,可以按照图4所示的流程确定AR信息在当前关键帧图像上的展示方位并进行展示:
[0073]S41、根据当前关键帧图像,从本地预先存储的图像与完整三维点云数据之间的对应关系中,查找与当前关键帧图像匹配的匹配图像。
[0074]具体的,可以根据当前关键帧图像进行图片搜索,查找与当前关键帧图像最为接近的图像,确定查找到的图像为匹配图像。具体实施时,为了减少终端设备的计算量,本发明实施例中,可以在得到第一帧关键帧图像之后,便将其确定为当前关键帧图像并查找其对应的匹配图像,如果没有查找到匹配图像,再继续确定后续的关键帧图像,并将后续确定出的关键帧图像作为当前关键帧图像进行查找。
[0075]S42、判断是否查找到与关键帧图像匹配的匹配图像,如果是,执行步骤S43,否则,执行步骤S410。
[0076]S43、确定匹配图像对应的完整三维点云数据为拍摄对象的完整三维点云数据。
[0077]S44、从查找到的完整三维点云数据中提取其包含的AR信息。
[0078]S45、根据当前关键帧图像和完整三维点云数据确定拍摄该拍摄对象的拍摄装置的拍摄位姿;
[0079]其中,拍摄位姿包括拍摄装置的拍摄位置和拍摄方位。
[0080]较佳的,可以按照以下方法确定拍摄装置的拍摄位姿:
[0081]步骤一、根据当前关键帧图像的局部三维点云数据,确定匹配图像上对应的局部三维点云数据;
[0082]步骤二、根据当前关键帧图像的局部三维点云数据和匹配图像上对应的局部三维点云数据,确定当前关键帧图像与匹配图像之间的相对位姿。
[0083]步骤三、将确定出的相对位姿作为拍摄装置的拍摄位姿。
[0084]具体的,可以根据有效求解二次方程最小值(ESM, Efficient Second-orderMinimi sat 1n)算法确定当前关键巾贞图像与匹配图像之间的相对位姿。
[0085]S46、根据确定出的拍摄位姿,确定提取到的AR信息在当前关键帧图像中的展示方位;
[0086]S47、确定当前帧图像与当前关键帧图像的相对位姿;
[0087]具体实施时,由于当前关键帧可以用于在初始定位(亦即需要确定完整三维点云数据时,利用关键帧来搜索的过程)以及丢失后重新定位(仍然为利用关键帧继进行搜索)中,其利用当前关键帧查找完整三维点云数据或者查找到的其对应的局部三维点云数据,然后再获得其对应的AR信息,在确定出AR信息在当前关键帧中的展示方位后,由于其是相对于关键帧的,但是当前关键帧是当前时刻之前已经获取的图像,而在拍摄装置的运动过程中,当前还在源源不断的获得新的图像帧序列,因此,为了在当前帧(图像序列中拍摄时间最晚的图像)图像上实时展示AR信息,还需要确定AR信息在当前帧图像上的展示方位,由于确定当前帧图像和当前关键帧图像的相对位姿的方法与确定拍摄装置的拍摄位姿的方法相同,这里不再赘述。
[0088]S48、根据确定出的相对位姿和AR在当前关键帧图像上的展示方位,确定AR信息在当前帧上的展示方位;
[0089]S49、根据确定出的展示方位,在当前帧图像上展示AR信息,流程结束;
[0090]S410、重新确定当如关键巾贞图像,并执彳丁步骤S41。
[0091]方式二、在网络侧服务器上存储完整地图数据库
[0092]这种方式下,终端设备在确定出拍摄对象的局部三维点云数据和关键当前帧图像之后,可以发送给网络侧服务器,由网络侧服务器确定拍摄对象对应的完整三维点云数据和拍摄装置的拍摄位姿。
[0093]具体实施时,网络侧服务器确定拍摄对象对应的完整三维点云数据和拍摄装置的拍摄位姿的流程与终端设备确定拍摄对象对应的完整三维点云数据和拍摄装置的拍摄位姿的流程相似,具体可以参见步骤S41?S49。
[0094]需要说明的是,若网络侧未查找到与当前关键帧图像匹配的匹配图像时,将通知终端设备,由终端设备重新确定拍摄对象的局部三维点云数据集合和当前关键帧图像。具体实施时,网络侧服务器在查找到匹配图像及其对应的完整三维点云数据之后,还可以将查找到的匹配图像和其对应的完整三维点云数据下发给终端设备,由终端设备自己确定拍摄装置的拍摄位姿。
[0095]由于获知了摄像装置的拍摄位姿,从而能够将拍摄对象与完整三维点云数据精确匹配并精准展示AR信息,同时能够使得展示的AR信息更加真实。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1