CN112907652A - 相机姿态获取方法、视频处理方法、显示设备和存储介质 - Google Patents
相机姿态获取方法、视频处理方法、显示设备和存储介质 Download PDFInfo
- Publication number
- CN112907652A CN112907652A CN202110095757.3A CN202110095757A CN112907652A CN 112907652 A CN112907652 A CN 112907652A CN 202110095757 A CN202110095757 A CN 202110095757A CN 112907652 A CN112907652 A CN 112907652A
- Authority
- CN
- China
- Prior art keywords
- processed
- video
- pose
- attitude data
- attitude
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000013519 translation Methods 0.000 claims description 38
- 230000000694 effects Effects 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 12
- 230000003190 augmentative effect Effects 0.000 claims description 5
- 230000036544 posture Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241001149649 Taxus wallichiana var. chinensis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Automation & Control Theory (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
一种相机姿态获取方法及装置、视频处理方法、显示设备和存储介质。相机姿态获取方法包括:获取待处理视频;在多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对待处理视频进行目标跟踪处理,获取在多个视频帧中的第N个视频帧时基于第一跟踪方法得到的第一姿态数据,并获取在第(N+1)个视频帧时基于第二跟踪方法得到的第二姿态数据;根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧对应的多个中间姿态数据;根据第二跟踪方法,获取与多个待处理的视频帧对应的多个参考姿态数据;根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧对应的多个目标姿态数据。
Description
技术领域
本公开的实施例涉及一种相机姿态获取方法、视频处理方法、相机姿态获取装置、显示设备和非瞬时性计算机可读存储介质。
背景技术
短视频具有社交属性强、易创作、时长短的特点,更符合移动互联网时代用户的碎片化内容消费习惯。增强现实(AR,Augmented Reality)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等领域,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,真实世界的信息和虚拟信息互为补充,从而实现对真实世界的“增强”。AR独特的虚实融合特效,决定了AR在短视频领域具有无限的拓展空间。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开一些实施例提供一种相机姿态获取方法,相机姿态获取方法用于显示设备,且包括:获取待处理视频,其中,待处理视频包括多个视频帧;当在多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对待处理视频进行目标跟踪处理的情况下,获取在多个视频帧中的第N个视频帧时基于第一跟踪方法得到的显示设备的第一姿态数据,并获取在第(N+1)个视频帧时基于第二跟踪方法得到的显示设备的第二姿态数据;根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据;根据第二跟踪方法,获取与多个待处理的视频帧一一对应的多个参考姿态数据;根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据,其中,N为正整数,且小于多个视频帧的数量。
本公开一些实施例提供一种视频处理方法,视频处理方法用于显示设备,且包括:获取根据本公开任一实施例提供的相机姿态获取方法确定的多个目标姿态数据;从多个待处理的视频帧中提取待显示的视频帧,获取多个目标姿态数据中与待显示的视频帧对应的目标姿态数据;基于与待显示的视频帧对应的目标位姿数据,对显示设备显示的虚拟模型的姿态进行调整,以得到与待显示的视频帧对应的待显示的虚拟模型;通过显示设备同时显示待显示的视频帧和待显示的虚拟模型。
本公开一些实施例提供一种相机姿态获取装置,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,用于运行计算机可读指令,计算机可读指令被处理器运行时实现根据本公开任一实施例提供的相机姿态获取方法。
本公开一些实施例提供一种显示设备,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,用于运行计算机可读指令,计算机可读指令被处理器运行时实现根据本公开任一实施例提供的视频处理方法。
本公开一些实施例提供一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机可读指令,计算机可读指令被处理器执行时实现根据本公开任一实施例提供的相机姿态获取方法。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开至少一实施例提供的一种相机姿态获取方法的示意性流程图;
图2为本公开至少一实施例提供的一种视频处理方法的示意性流程图;
图3为本公开至少一实施例提供的一种相机姿态获取装置的示意性框图;
图4为本公开至少一实施例提供的一种显示设备的示意性框图;
图5为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图;
图6为本公开至少一实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
目前,在触发电子装置(例如,手机等)中的地标增强现实(AR)特效后,AR特效可以跟随电子装置的移动或转动而相应在屏幕中实时(实际上可能有很小的可以忽略的延迟)地移动或转动(AR特效可能移出屏幕外),即AR特效的运动和电子装置的运动是一致的。地标AR特效是短视频领域的热点之一,地标AR特效可以增加拍摄的趣味性,促使用户更加主动地去拍摄和记录。
一种显示地标AR特效的方法包括:在手机拍摄的视频画面中首次检测到地标建筑后,触发并显示AR特效;后续,当在手机拍摄的视频画面中仍然能检测到地标建筑时,基于3D目标跟踪方法进行跟踪,在此情况下,在手机上显示的地标AR特效与地标建筑可以对齐;当在手机拍摄的视频画面中检测不到地标建筑(例如,手机移动而导致地标建筑移出视频画面,或者手机摇晃太快而导致地标建筑虽然保留在视频画面中但无法检测到)时,可以切换到位姿估计方法(例如,ARKit/ARCore或者陀螺仪(Gyro))以进行跟踪,在此情况下,基于ARKit/ARCore或者陀螺仪提供的相机位姿而显示地标AR特效,由于ARKit/ARCore或者陀螺仪进行跟踪的跟踪准确度较差,在手机上显示的地标AR特效与地标建筑可能不对齐;当在手机拍摄的视频画面中再次能检测到地标建筑时,切换回3D目标跟踪方法进行跟踪,在此情况下,在切换跟踪方法时,地标AR特效可能出现跳变,从而影响用户的视觉体验。
本公开至少一实施例提供一种相机姿态获取方法、视频处理方法、相机姿态获取装置、显示设备和非瞬时性计算机可读存储介质。相机姿态获取方法用于显示设备,且包括:获取待处理视频,其中,待处理视频包括多个视频帧;当在多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对待处理视频进行目标跟踪处理的情况下,获取在多个视频帧中的第N个视频帧时基于第一跟踪方法得到的显示设备的第一姿态数据,并获取在第(N+1)个视频帧时基于第二跟踪方法得到的显示设备的第二姿态数据;根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据;根据第二跟踪方法,获取与多个待处理的视频帧一一对应的多个参考姿态数据;根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据。例如,N为正整数,且小于多个视频帧的数量。
该相机姿态获取方法可以在切换目标跟踪方法时,计算与多个待处理的视频帧一一对应的多个目标姿态数据,从而使基于多个目标姿态数据调整得到的虚拟特效在多个待处理的视频帧对应的时间段内进行平滑过渡,防止虚拟特效出现跳变,改善用户的观看体验。
需要说明的是,本公开实施例提供的相机姿态获取方法可被配置于本公开实施例提供的显示设备上,例如,在一些示例中,相机姿态获取方法可以配置于显示设备的应用程序中。该显示设备可以是个人计算机、移动终端等,该移动终端可以是手机、平板电脑等具有各种操作***的硬件设备。应用程序可以为抖音等。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为本公开至少一实施例提供的一种相机姿态获取方法的示意性流程图。
例如,该相机姿态获取方法可以应用于显示设备,如图1所示,该相机姿态获取方法包括步骤S10至S14。
步骤S10:获取待处理视频,其中,待处理视频包括多个视频帧;
步骤S11:当在多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对待处理视频进行目标跟踪处理的情况下,获取在多个视频帧中的第N个视频帧时基于第一跟踪方法得到的显示设备的第一姿态数据,并获取在第(N+1)个视频帧时基于第二跟踪方法得到的显示设备的第二姿态数据;
步骤S12:根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据;
步骤S13:根据第二跟踪方法,获取与多个待处理的视频帧一一对应的多个参考姿态数据;
步骤S14:根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据。
例如,N为正整数,且小于多个视频帧的数量。
例如,显示设备可以包括视频采集装置,视频采集装置用于拍摄图像和/或视频等。视频采集装置可以包括相机、摄像机等。视频采集装置可以与显示设备一体设置,视频采集装置也可以与显示设备分开设置,而通过无线(例如,蓝牙等)或有线等方式与显示设备通信连接。
例如,步骤S10包括:利用视频采集装置采集待处理视频。例如,待处理视频可以是视频采集装置实时采集的视频,也可以是预先采集并存储在显示设备中的视频。例如,待处理视频可以包括目标对象,目标对象包括地标建筑(例如,岳阳的岳阳楼、南昌的滕王阁、武汉的黄鹤楼、北京三里屯的太古里等)等室外物体,也可以包括桌子和柜子等室内物体,还可以是自然景物,例如,加州红杉树等。
例如,在步骤S11中,第一跟踪方法可以为位姿估计方法,第二跟踪方法可以为目标跟踪方法。
例如,显示设备包括位姿采集装置,位姿估计方法通过位姿采集装置执行,位姿采集装置配置为可执行ARKit/ARCore和/或包括陀螺仪,位姿采集装置还可以包括加速度传感器。例如,位姿采集装置可以与显示设备一体设置,位姿采集装置也可以与显示设备分开设置,而通过无线(例如,蓝牙等)或有线等方式与显示设备通信连接。
例如,通过第一跟踪方法对待处理视频进行目标跟踪处理可以包括:根据位姿估计方法获取显示设备的位姿数据,基于获取到的位姿数据,确定显示设备与目标对象之间的相对位姿,从而对目标对象进行跟踪处理。
例如,位姿估计方法属于非指定对象跟踪,跟踪的误差较大,但是因为位姿估计方法属于不指定对象跟踪,所以不会跟丢对象。例如,位姿估计方法可以基于视觉(Visual)的SLAM(同步摄像机定位与地图重建,Simultaneously Localization and Mapping)技术实现目标跟踪。
例如,目标跟踪方法可以为3D目标跟踪方法,3D目标跟踪方法可以为显示设备本身设置的跟踪方法。该3D目标跟踪方法属于指定对象跟踪,跟踪精度较高。关于基于3D目标跟踪方法与现有技术中的3D目标跟踪方法相同,在此不再赘述。
需要说明的是,在本公开的实施例中,姿态数据(例如,第一姿态数据、第二姿态数据、中间姿态数据、参考姿态数据、目标姿态数据等)可以表示显示设备中的视频采集装置的位置、视角等位姿数据。可以以目标对象作为原点建立一个虚拟坐标系,该虚拟坐标系可以为站心坐标系(即东北天坐标系(ENU坐标系)),站心坐标系的Z轴(即U轴)与参考椭球的法线重合(指向天顶),Y轴(即N轴)与参考椭球的短半轴重合(指向北边),X轴(即E轴)与参考椭球的长半轴重合(指向东边)。第一姿态数据、第二姿态数据、中间姿态数据、参考姿态数据、目标姿态数据均是基于虚拟坐标系确定的,例如,可以基于虚拟坐标系中的坐标值来表示上述姿态数据。
例如,在一些实施例中,预设参数包括预设旋转角速度和预设平移速度。步骤S12可以包括:根据第一姿态数据和第二姿态数据,确定第一姿态差,其中,第一姿态差包括旋转角度差和平移距离差;根据旋转角度差和预设旋转角速度,计算第一时间;根据平移距离差和预设平移速度,计算第二时间;获取第一时间和第二时间中的较大的一个作为纠正时间;获取第N个视频帧对应的时间作为起始时间;根据第一姿态数据、多个待处理的视频帧对应的时间、纠正时间、起始时间和第一姿态差,得到与多个待处理的视频帧一一对应的多个中间姿态数据。
在该实施例中,多个待处理的视频帧的数量与显示设备的帧率(每秒显示多少帧)无关,特效平滑过渡的持续时间与纠正时间相同,该纠正时间基于第一姿态数据和第二姿态数据确定,而与帧率无关,此时,显示设备的显示帧率越高,则多个待处理的视频帧的数量越多,显示设备的显示帧率越低,则多个待处理的视频帧的数量越少。
例如,第一时间通过以下公式计算:
T1=A1/W1,其中,T1表示第一时间,A1表示旋转角度差,W1表示预设旋转角速度。
例如,第二时间通过以下公式计算:
T2=A2/W2,其中,T2表示第二时间,A2表示平移距离差,W2表示预设平移速度。
例如,在一些实施例中,获取多个待处理的视频帧对应的时间包括:在利用视频采集装置采集多个待处理的视频帧时,实时获取显示设备的***时钟,以得到与多个待处理的视频帧分别对应的多个时间。
例如,第N个视频帧对应的时间表示在视频采集装置采集第N个视频帧时,显示设备的***时钟对应的时间。
例如,对于多个待处理的视频帧中的第a个待处理的视频帧,该第a个待处理的视频帧对应的中间姿态数据表示为:
Sam=S1+(t0-ta)/T*(S2-S1),其中,Sam表示第a个待处理的视频帧对应的中间姿态数据,a表示第a个待处理的视频帧的编号,a为正整数,且小于等于多个待处理的视频帧的数量,t0表示起始时间,ta表示第a个待处理的视频帧对应的时间,T表示纠正时间,t0≤ta≤(t0+T),(S2-S1)表示第一姿态差,S1表示第一位姿数据,S2表示第二位姿数据。
例如,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。例如,s1和s2可以相同,但本公开不限于此,s1和s2也可以不相同。
例如,若T1大于T2,则T=T1;若T1小于T2,则T=T2;若T1等于T2,则T可以与T1和T2中任意一个相等。
例如,在一些示例中,根据第一姿态数据、多个待处理的视频帧对应的时间、纠正时间、起始时间和第一姿态差,得到与多个待处理的视频帧一一对应的多个中间姿态数据,包括:根据纠正时间和显示设备的帧率,从待处理视频的多个视频帧中确定多个待处理的视频帧;根据第一姿态数据、多个待处理的视频帧对应的时间、起始时间和第一姿态差,得到与多个待处理的视频帧一一对应的多个中间姿态数据。
例如,多个待处理的视频帧的数量可以表示为:
NF=Ceiling(T*r),
其中,NF表示多个待处理的视频帧的数量,r表示显示设备的帧率,Ceiling表示向上取整函数。
例如,在另一些实施例中,多个待处理的视频帧的数量与显示设备的帧率相关,例如,显示设备的帧率越高,则特效平滑过渡的持续时间越短;显示设备的帧率越低,则特效平滑过渡的持续时间越长;从而不同的显示设备具有不同的视觉效果。例如,在一些示例中,帧率可以为每秒显示24帧。此时,预设参数可以包括预设帧数,该预设帧数由用户预先设定,多个待处理的视频帧的数量等于预设帧数,即在特定数量(即预设帧数)的视频帧内实现特效平滑过渡,此时,由于多个待处理的视频帧的数量是固定的,当显示设备的帧率越高,则多个待处理的视频帧对应的时间则越短,当显示设备的帧率越低,则多个待处理的视频帧对应的时间越长。
例如,在该实施例中,步骤S12可以包括:根据第一姿态数据和第二姿态数据,确定第一姿态差,其中,第一姿态差包括旋转角度差和平移距离差;根据第一姿态数据、第一姿态差和预设帧数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据。
例如,在一些实施例中,根据第一姿态数据、第一姿态差和预设帧数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据,包括:根据预设帧数,从待处理视频的多个视频帧中确定多个待处理的视频帧;根据第一姿态数据、预设帧数和第一姿态差,得到与多个待处理的视频帧一一对应的多个中间姿态数据。
例如,对于多个待处理的视频帧中的第b个待处理的视频帧,第b个待处理的视频帧对应的中间姿态数据表示为:
Sbm=S1+b/X*(S2-S1),
其中,Sbm表示第b个待处理的视频帧对应的中间姿态数据,X表示预设帧数,b为正整数,且表示第b个待处理的视频帧的编号,b=1、2、…、X,(S2-S1)表示第一姿态差,S1表示第一位姿数据,S2表示第二位姿数据。
例如,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。
例如,X可以根据实际情况设置,在一些示例中,X可以为30~60,例如,30、35、45等。
例如,在步骤S12中,根据第一姿态数据和第二姿态数据,确定第一姿态差,包括:根据第一姿态数据得到与第一姿态数据对应的第一旋转角度和第一平移位置;根据第二位姿数据得到与第二姿态数据对应的第二旋转角度和第二平移位置;根据第一旋转角度和第二旋转角度,确定第一姿态差中的旋转角度差;根据第一平移位置和第二平移位置,确定第一姿态差中的平移距离差。
例如,第二旋转角度减去第一旋转角度可以得到旋转角度差,第二平移位置减去第一平移位置可以得到平移距离差。第一平移位置和第二平移位置可以采用虚拟坐标系中的坐标值表示。
例如,在一些实施例中,步骤S14可以包括:根据多个参考姿态数据和第二姿态数据,确定与多个参考姿态数据一一对应的多个第二姿态差;根据多个第二姿态差和多个中间姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据。
例如,对于多个待处理的视频帧中的第c个待处理的视频帧,第c个待处理的视频帧对应的目标姿态数据表示为:
Sct=Scm+ΔS,其中,Sct表示第c个待处理的视频帧对应的目标姿态数据,c表示第c个待处理的视频帧的编号,c为正整数,且小于等于多个待处理的视频帧的数量,Scm表示第c个待处理的视频帧对应的中间姿态数据,ΔS表示第c个待处理的视频帧对应的第二姿态差,ΔS=Scc-S2,Scc表示第c个待处理的视频帧对应的参考姿态数据,S2表示第二位姿数据。
需要说明的是,在本公开的一些实施例中,多个待处理的视频帧可以包括第(N+1)个视频帧,多个参考姿态数据包括第二姿态数据,此时,第一个待处理的视频帧即为第(N+1)个视频帧,第二个待处理的视频帧为第(N+2)个视频帧,以此类推。在另一些实施例中,多个待处理的视频帧可以不包括第(N+1)个视频帧,多个参考姿态数据不包括第二姿态数据,此时,第一个待处理的视频帧为第(N+2)个视频帧,第二个待处理的视频帧为第(N+3)个视频帧,以此类推,此时,第(N+1)个视频帧对应的目标姿态数据可以与第一姿态数据相同。
本公开至少一实施例还提供一种视频处理方法,图2为本公开至少一实施例提供的一种视频处理方法的示意性流程图。
例如,视频处理方法可以用于显示设备,如图1所示,该视频处理方法包括步骤S20至S23。
步骤S20:获取根据本公开任一实施例提供的相机姿态获取方法确定的多个目标姿态数据;
步骤S21:从多个待处理的视频帧中提取待显示的视频帧,获取多个目标姿态数据中与待显示的视频帧对应的目标姿态数据;
步骤S22:基于与待显示的视频帧对应的目标位姿数据,对显示设备显示的虚拟模型的姿态进行调整,以得到与待显示的视频帧对应的待显示的虚拟模型;
步骤S23:通过显示设备同时显示待显示的视频帧和待显示的虚拟模型。
在本公开的实施例提供的视频处理方法中,基于多个目标姿态数据调整虚拟模型在多个待处理的视频帧中的姿态,从而将虚拟模型在多个待处理的视频帧对应的时间内进行平滑过渡,避免虚拟模型出现位置跳变,提升用户的视觉体验。
对于步骤S20的说明可以参考上述相机姿态获取方法的实施例的相关描述,在此不再赘述。
例如,例如,虚拟模型为增强现实特效模型等。虚拟模型可以包括文字、图像、三维模型、音乐、视频等虚拟特效。虚拟模型可以为预先建模得到的模型。
例如,在本公开的一些实施例中,步骤S22可以包括:基于与待显示的视频帧对应的目标位姿数据,计算该虚拟模型在显示设备的显示屏上所对应的姿态,然后将该虚拟模型对应的各种数据按照该目标位姿数据对应的姿态投影到显示屏上,从而得到处于该姿态的虚拟模型,即与待显示的视频帧对应的待显示的虚拟模型。
例如,在一些实施例中,步骤S23可以包括:显示待显示的视频帧;将待显示的虚拟模型叠加在待显示的视频帧上进行显示。
例如,待显示的视频帧和待显示的虚拟模型同时显示在显示设备上。
本公开至少一实施例还提供一种相机姿态获取装置,图3为本公开至少一实施例提供的一种相机姿态获取装置的示意性框图。
例如,如图3所示,相机姿态获取装置30包括处理器300和存储器310。应当注意,图3所示的相机姿态获取装置30的组件只是示例性的,而非限制性的,根据实际应用需要,该相机姿态获取装置30还可以具有其他组件。
例如,处理器300和存储器310之间可以直接或间接地互相通信。
例如,处理器300和存储器310可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器300和存储器310之间也可以通过***总线实现相互通信,本公开对此不作限制。
例如,存储器310用于非瞬时性地存储计算机可读指令。处理器300用于运行计算机可读指令时,计算机可读指令被处理器300运行时实现根据上述任一实施例所述的相机姿态获取方法。关于该相机姿态获取方法的各个步骤的具体实现以及相关解释内容可以参见上述相机姿态获取方法的实施例,重复之处在此不作赘述。
例如,处理器300和存储器310可以设置在服务器端(或云端)。
例如,处理器300可以控制相机姿态获取装置30中的其它组件以执行期望的功能。处理器300可以是中央处理器(CPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器310可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器300可以运行所述计算机可读指令,以实现相机姿态获取装置30的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,在一些实施例中,相机姿态获取装置30可以应用于显示设备,显示设备可以为移动终端,例如,手机、平板电脑等。相机姿态获取装置30中的处理器300、存储器310等均设置在移动终端上。
本公开至少一实施例还提供一种显示设备,图4为本公开至少一实施例提供的一种显示设备的示意性框图。
例如,如图4所示,显示设备40包括处理器400和存储器410。应当注意,图4所示的显示设备40的组件只是示例性的,而非限制性的,根据实际应用需要,该显示设备40还可以具有其他组件。
例如,处理器400和存储器410之间可以直接或间接地互相通信。
例如,处理器400和存储器410可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器400和存储器410之间也可以通过***总线实现相互通信,本公开对此不作限制。
例如,存储器410用于非瞬时性地存储计算机可读指令。处理器400用于运行计算机可读指令时,计算机可读指令被处理器400运行时实现根据上述任一实施例所述的视频处理方法。关于该视频处理方法的各个步骤的具体实现以及相关解释内容可以参见上述视频处理方法的实施例,重复之处在此不作赘述。
例如,处理器400和存储器410可以设置在服务器端(或云端)。
例如,处理器400可以控制显示设备40中的其它组件以执行期望的功能。处理器400可以是中央处理器(CPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器410可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器400可以运行所述计算机可读指令,以实现显示设备40的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,在一些实施例中,显示设备40还包括视频采集装置。待处理视频包括目标对象,目标对象包括地标建筑,视频采集装置被配置为采集目标对象的视频以得到待处理视频。例如,视频采集装置可以包括相机、摄像机等可以拍摄视频和/或图像的装置。
例如,在一些实施例中,显示设备40还包括位姿采集装置。位姿采集装置被配置为采集视频采集装置的位姿数据(例如,第一位姿数据、第二位姿数据、参考位姿数据等)。
例如,位姿采集装置包括陀螺仪、加速度传感器或卫星定位装置等。又例如,位姿采集装置也可以通过ARKit软件、ARcore软件等实现采集位姿数据的功能,位姿采集装置还可以通过SLAM技术实现采集位姿数据的功能。
例如,在一些实施例中,显示设备40可以为移动终端,例如,手机、平板电脑等,位姿采集装置和视频采集装置均设置在移动终端上,例如,位姿采集装置可以为移动终端内部设置的陀螺仪,视频采集装置可以为移动装置上的摄像头(例如,可以包括屏下摄像头等)。本公开不限于此,视频采集装置也可以设置在移动终端之外,例如,视频采集装置可以远程采集视频并通过网络传输到移动终端,以供移动终端进行后续处理。需要说明的是,视频采集装置和位姿采集装置需要一体设置,以便于位姿采集装置采集视频采集装置的位姿数据。
例如,显示设备40还可以包括显示面板,显示面板用于显示待显示的视频帧和待显示的虚拟模型。例如,显示面板可以为矩形面板、圆形面板、椭圆形面板或多边形面板等。另外,显示面板不仅可以为平面面板,也可以为曲面面板,甚至球面面板。
显示设备40可以具备触控功能,即显示设备40可以为触控显示设备。
例如,关于显示设备40执行视频处理方法的过程的详细说明可以参考视频处理方法的实施例中的相关描述,重复之处不再赘述。
图5为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图5所示,在存储介质500上可以非暂时性地存储一个或多个计算机可读指令510。例如,当计算机可读指令510由处理器执行时可以执行根据上文所述的视频处理方法中的一个或多个步骤。
例如,该存储介质500可以应用于上述相机姿态获取装置30和/或显示设备40中。例如,存储介质500可以包括相机姿态获取装置30中的存储器310和/或显示设备40中的存储器410。
例如,关于存储介质500的说明可以参考相机姿态获取装置30的实施例中对于存储器310和/或显示设备40的实施例中对于存储器410的描述,重复之处不再赘述。
图6示出了适于用来实现本公开实施例的电子设备(例如电子设备可以包括上述实施例描述的显示设备)600的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置606加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置606;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置606被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
根据本公开的一个或多个实施例,一种相机姿态获取方法,用于显示设备,包括:获取待处理视频,其中,待处理视频包括多个视频帧;当在多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对待处理视频进行目标跟踪处理的情况下,获取在多个视频帧中的第N个视频帧时基于第一跟踪方法得到的显示设备的第一姿态数据,并获取在第(N+1)个视频帧时基于第二跟踪方法得到的显示设备的第二姿态数据;根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据;根据第二跟踪方法,获取与多个待处理的视频帧一一对应的多个参考姿态数据;根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据,其中,N为正整数,且小于多个视频帧的数量。
根据本公开的一个或多个实施例,预设参数包括预设旋转角速度和预设平移速度,根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据,包括:根据第一姿态数据和第二姿态数据,确定第一姿态差,其中,第一姿态差包括旋转角度差和平移距离差;根据旋转角度差和预设旋转角速度,计算第一时间;根据平移距离差和预设平移速度,计算第二时间;获取第一时间和第二时间中的较大的一个作为纠正时间;获取第N个视频帧对应的时间作为起始时间;根据第一姿态数据、多个待处理的视频帧对应的时间、纠正时间、起始时间和第一姿态差,得到与多个待处理的视频帧一一对应的多个中间姿态数据。
根据本公开的一个或多个实施例,第一时间通过以下公式计算:
T1=A1/W1,其中,T1表示第一时间,A1表示旋转角度差,W1表示预设旋转角速度;
第二时间通过以下公式计算:
T2=A2/W2,
其中,T2表示第二时间,A2表示平移距离差,W2表示预设平移速度;
多个待处理的视频帧中的第a个待处理的视频帧对应的中间姿态数据表示为:
Sam=S1+(t0-ta)/T*(S2-S1),
其中,Sam表示第a个待处理的视频帧对应的中间姿态数据,a表示第a个待处理的视频帧的编号,a为正整数,且小于等于多个待处理的视频帧的数量,t0表示起始时间,ta表示第a个待处理的视频帧对应的时间,T表示纠正时间,t0≤ta≤(t0+T),(S2-S1)表示第一姿态差,S1表示第一位姿数据,S2表示第二位姿数据,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。
根据本公开的一个或多个实施例,预设参数包括预设帧数,多个待处理的视频帧的数量等于预设帧数,根据第一姿态数据、第二姿态数据和预设参数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据,包括:根据第一姿态数据和第二姿态数据,确定第一姿态差,其中,第一姿态差包括旋转角度差和平移距离差;根据第一姿态数据、第一姿态差和预设帧数,得到与待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据。
根据本公开的一个或多个实施例,多个待处理的视频帧中的第b个待处理的视频帧对应的中间姿态数据表示为:
Sbm=S1+b/X*(S2-S1),
其中,Sbm表示第b个待处理的视频帧对应的中间姿态数据,X表示预设帧数,b为正整数,且表示第b个待处理的视频帧的编号,b=1、2、…、X,(S2-S1)表示第一姿态差,S1表示第一位姿数据,S2表示第二位姿数据,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。
根据本公开的一个或多个实施例,根据第一姿态数据和第二姿态数据,确定第一姿态差,包括:根据第一姿态数据得到与第一姿态数据对应的第一旋转角度和第一平移位置;根据第二位姿数据得到与第二姿态数据对应的第二旋转角度和第二平移位置;根据第一旋转角度和第二旋转角度,确定第一姿态差中的旋转角度差;根据第一平移位置和第二平移位置,确定第一姿态差中的平移距离差。
根据本公开的一个或多个实施例,根据多个中间姿态数据和多个参考姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据,包括:根据多个参考姿态数据和第二姿态数据,确定与多个参考姿态数据一一对应的多个第二姿态差;根据多个第二姿态差和多个中间姿态数据,得到与多个待处理的视频帧一一对应的多个目标姿态数据。
根据本公开的一个或多个实施例,对于多个待处理的视频帧中的第c个待处理的视频帧,第c个待处理的视频帧对应的目标姿态数据表示为:
Sct=Scm+ΔS,
其中,Sct表示第c个待处理的视频帧对应的目标姿态数据,c表示第c个待处理的视频帧的编号,c为正整数,且小于等于多个待处理的视频帧的数量,Scm表示第c个待处理的视频帧对应的中间姿态数据,ΔS表示第c个待处理的视频帧对应的第二姿态差,ΔS=Scc-S2,Scc表示第c个待处理的视频帧对应的参考姿态数据,S2表示第二位姿数据。
根据本公开的一个或多个实施例,第一跟踪方法为位姿估计方法,第二跟踪方法为目标跟踪方法。
根据本公开的一个或多个实施例,显示设备包括位姿采集装置,位姿估计方法通过位姿采集装置执行,位姿采集装置配置为可执行ARKit/ARCore和/或包括陀螺仪。
根据本公开的一个或多个实施例,一种视频处理方法用于显示设备,且包括:获取根据本公开任一实施例提供的相机姿态获取方法确定的多个目标姿态数据;从多个待处理的视频帧中提取待显示的视频帧,获取多个目标姿态数据中与待显示的视频帧对应的目标姿态数据;基于与待显示的视频帧对应的目标位姿数据,对显示设备显示的虚拟模型的姿态进行调整,以得到与待显示的视频帧对应的待显示的虚拟模型;通过显示设备同时显示待显示的视频帧和待显示的虚拟模型。
根据本公开的一个或多个实施例,通过显示设备同时显示待显示的视频帧和待显示的虚拟模型包括:显示待显示的视频帧;将待显示的虚拟模型叠加在待显示的视频帧上进行显示。
根据本公开的一个或多个实施例,虚拟模型为增强现实特效模型。
根据本公开的一个或多个实施例,一种相机姿态获取装置包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,用于运行计算机可读指令,计算机可读指令被处理器运行时实现根据本公开任一实施例所述的相机姿态获取方法。
根据本公开的一个或多个实施例,一种显示设备,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,用于运行计算机可读指令,计算机可读指令被处理器运行时实现根据本公开任一实施例所述的视频处理方法。
根据本公开的一个或多个实施例,显示设备还包括:视频采集装置,待处理视频包括目标对象,目标对象包括地标建筑,视频采集装置被配置为采集目标对象的视频以得到待处理视频。
根据本公开的一个或多个实施例,视频采集装置包括相机,显示设备为移动终端,视频采集装置设置在移动终端上。
根据本公开的一个或多个实施例,一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机可读指令,计算机可读指令被处理器执行时实现根据本公开任一实施例所述的相机姿态获取方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种相机姿态获取方法,用于显示设备,包括:
获取待处理视频,其中,所述待处理视频包括多个视频帧;
当在所述多个视频帧中的第(N+1)个视频帧,从第一跟踪方法切换到第二跟踪方法对所述待处理视频进行目标跟踪处理的情况下,获取在所述多个视频帧中的第N个视频帧时基于所述第一跟踪方法得到的所述显示设备的第一姿态数据,并获取在所述第(N+1)个视频帧时基于所述第二跟踪方法得到的所述显示设备的第二姿态数据;
根据所述第一姿态数据、所述第二姿态数据和预设参数,得到与所述待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据;
根据所述第二跟踪方法,获取与所述多个待处理的视频帧一一对应的多个参考姿态数据;
根据所述多个中间姿态数据和所述多个参考姿态数据,得到与所述多个待处理的视频帧一一对应的多个目标姿态数据,
其中,N为正整数,且小于所述多个视频帧的数量。
2.根据权利要求1所述的相机姿态获取方法,其中,所述预设参数包括预设旋转角速度和预设平移速度,
根据所述第一姿态数据、所述第二姿态数据和预设参数,得到与所述待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据,包括:
根据所述第一姿态数据和所述第二姿态数据,确定第一姿态差,其中,所述第一姿态差包括旋转角度差和平移距离差;
根据所述旋转角度差和所述预设旋转角速度,计算第一时间;
根据所述平移距离差和所述预设平移速度,计算第二时间;
获取所述第一时间和所述第二时间中的较大的一个作为纠正时间;
获取所述第N个视频帧对应的时间作为起始时间;
根据所述第一姿态数据、所述多个待处理的视频帧对应的时间、所述纠正时间、所述起始时间和所述第一姿态差,得到与所述多个待处理的视频帧一一对应的多个中间姿态数据。
3.根据权利要求2所述的相机姿态获取方法,其中,
所述第一时间通过以下公式计算:
T1=A1/W1,
其中,T1表示所述第一时间,A1表示所述旋转角度差,W1表示所述预设旋转角速度;
所述第二时间通过以下公式计算:
T2=A2/W2,
其中,T2表示所述第二时间,A2表示所述平移距离差,W2表示所述预设平移速度;
所述多个待处理的视频帧中的第a个待处理的视频帧对应的中间姿态数据表示为:
Sam=S1+(t0-ta)/T*(S2-S1),
其中,Sam表示所述第a个待处理的视频帧对应的中间姿态数据,a表示所述第a个待处理的视频帧的编号,a为正整数,且小于等于所述多个待处理的视频帧的数量,t0表示所述起始时间,ta表示所述第a个待处理的视频帧对应的时间,T表示所述纠正时间,t0<ta≤(t0+T),(S2-S1)表示所述第一姿态差,S1表示所述第一位姿数据,S2表示所述第二位姿数据,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。
4.根据权利要求1所述的相机姿态获取方法,其中,所述预设参数包括预设帧数,所述多个待处理的视频帧的数量等于所述预设帧数,
根据所述第一姿态数据、所述第二姿态数据和预设参数,得到与所述待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据,包括:
根据所述第一姿态数据和所述第二姿态数据,确定第一姿态差,其中,所述第一姿态差包括旋转角度差和平移距离差;
根据所述第一姿态数据、所述第一姿态差和所述预设帧数,得到与所述待处理视频中的多个待处理的视频帧一一对应的多个中间姿态数据。
5.根据权利要求4所述的相机姿态获取方法,其中,所述多个待处理的视频帧中的第b个待处理的视频帧对应的中间姿态数据表示为:
Sbm=S1+b/X*(S2-S1),
其中,Sbm表示所述第b个待处理的视频帧对应的中间姿态数据,X表示所述预设帧数,b为正整数,且表示所述第b个待处理的视频帧的编号,b=1、2、…、X,(S2-S1)表示所述第一姿态差,S1表示所述第一位姿数据,S2表示所述第二位姿数据,S1和S2表示如下:
其中,s1和s2表示缩放因子,r11、r12、r13、r21、r22、r23、r31、r32、r33、r41、r42、r43、r51、r52、r53、r61、r62和r63表示旋转参数,t1x、t1y、t1z、t2x、t2y和t2z表示平移参数。
6.根据权利要求2-5任一项所述的相机姿态获取方法,其中,根据所述第一姿态数据和所述第二姿态数据,确定所述第一姿态差,包括:
根据所述第一姿态数据得到与所述第一姿态数据对应的第一旋转角度和第一平移位置;
根据所述第二位姿数据得到与所述第二姿态数据对应的第二旋转角度和第二平移位置;
根据所述第一旋转角度和所述第二旋转角度,确定所述第一姿态差中的所述旋转角度差;
根据所述第一平移位置和所述第二平移位置,确定所述第一姿态差中的所述平移距离差。
7.根据权利要求1、2、4任一项所述的相机姿态获取方法,其中,根据所述多个中间姿态数据和所述多个参考姿态数据,得到与所述多个待处理的视频帧一一对应的多个目标姿态数据,包括:
根据所述多个参考姿态数据和所述第二姿态数据,确定与所述多个参考姿态数据一一对应的多个第二姿态差;
根据所述多个第二姿态差和所述多个中间姿态数据,得到与所述多个待处理的视频帧一一对应的所述多个目标姿态数据。
8.根据权利要求7所述的相机姿态获取方法,其中,对于所述多个待处理的视频帧中的第c个待处理的视频帧,所述第c个待处理的视频帧对应的目标姿态数据表示为:
Sct=Scm+ΔS,
其中,Sct表示所述第c个待处理的视频帧对应的目标姿态数据,c表示所述第c个待处理的视频帧的编号,c为正整数,且小于等于所述多个待处理的视频帧的数量,Scm表示所述第c个待处理的视频帧对应的中间姿态数据,ΔS表示所述第c个待处理的视频帧对应的第二姿态差,ΔS=Scc-S2,Scc表示所述第c个待处理的视频帧对应的参考姿态数据,S2表示所述第二位姿数据。
9.根据权利要求1-5任一项所述的相机姿态获取方法,其中,所述第一跟踪方法为位姿估计方法,所述第二跟踪方法为目标跟踪方法。
10.根据权利要求9所述的相机姿态获取方法,其中,所述显示设备包括位姿采集装置,所述位姿估计方法通过所述位姿采集装置执行,所述位姿采集装置配置为可执行ARKit/ARCore和/或包括陀螺仪。
11.一种视频处理方法,用于显示设备,包括:
获取根据权利要求1~10任一项所述的相机姿态获取方法确定的所述多个目标姿态数据;
从所述多个待处理的视频帧中提取待显示的视频帧,获取所述多个目标姿态数据中与所述待显示的视频帧对应的目标姿态数据;
基于与所述待显示的视频帧对应的目标位姿数据,对所述显示设备显示的虚拟模型的姿态进行调整,以得到与所述待显示的视频帧对应的待显示的虚拟模型;
通过所述显示设备同时显示所述待显示的视频帧和所述待显示的虚拟模型。
12.根据权利要求11所述视频处理方法,其中,通过所述显示设备同时显示所述待显示的视频帧和所述待显示的虚拟模型包括:
显示所述待显示的视频帧;
将所述待显示的虚拟模型叠加在所述待显示的视频帧上进行显示。
13.根据权利要求11或12所述视频处理方法,其中,所述虚拟模型为增强现实特效模型。
14.一种相机姿态获取装置,包括:
存储器,用于非瞬时性地存储计算机可读指令;
处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时实现根据权利要求1~10任一项所述的相机姿态获取方法。
15.一种显示设备,包括:
存储器,用于非瞬时性地存储计算机可读指令;
处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时实现根据权利要求11~13任一项所述的视频处理方法。
16.根据权利要求15所述的显示设备,还包括:视频采集装置,
其中,所述待处理视频包括目标对象,所述目标对象包括地标建筑,所述视频采集装置被配置为采集所述目标对象的视频以得到所述待处理视频。
17.根据权利要求16所述的显示设备,其中,所述视频采集装置包括相机,所述显示设备为移动终端,所述视频采集装置设置在所述移动终端上。
18.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现根据权利要求1~10中任一项所述的相机姿态获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110095757.3A CN112907652B (zh) | 2021-01-25 | 2021-01-25 | 相机姿态获取方法、视频处理方法、显示设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110095757.3A CN112907652B (zh) | 2021-01-25 | 2021-01-25 | 相机姿态获取方法、视频处理方法、显示设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112907652A true CN112907652A (zh) | 2021-06-04 |
CN112907652B CN112907652B (zh) | 2024-02-02 |
Family
ID=76118760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110095757.3A Active CN112907652B (zh) | 2021-01-25 | 2021-01-25 | 相机姿态获取方法、视频处理方法、显示设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112907652B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658232A (zh) * | 2021-07-13 | 2021-11-16 | 广东技术师范大学 | 基于视频跟踪的建模方法、装置及计算机可读程序介质 |
CN116758157A (zh) * | 2023-06-14 | 2023-09-15 | 深圳市华赛睿飞智能科技有限公司 | 一种无人机室内三维空间测绘方法、***及存储介质 |
CN116934751A (zh) * | 2023-09-15 | 2023-10-24 | 深圳市信润富联数字科技有限公司 | 高精点云的采集方法及装置、存储介质、电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268887A (zh) * | 2014-09-30 | 2015-01-07 | 深圳市科松电子有限公司 | 一种适用于多场景切换的相机姿态标定方法和装置 |
CN107240124A (zh) * | 2017-05-19 | 2017-10-10 | 清华大学 | 基于时空约束的跨镜头多目标跟踪方法及装置 |
CN107646126A (zh) * | 2015-07-16 | 2018-01-30 | 谷歌有限责任公司 | 用于移动设备的相机姿态估计 |
CN108734735A (zh) * | 2017-04-17 | 2018-11-02 | 佳能株式会社 | 对象形状跟踪装置和方法以及图像处理*** |
CN109598744A (zh) * | 2018-11-29 | 2019-04-09 | 广州市百果园信息技术有限公司 | 一种视频跟踪的方法、装置、设备和存储介质 |
CN109993113A (zh) * | 2019-03-29 | 2019-07-09 | 东北大学 | 一种基于rgb-d和imu信息融合的位姿估计方法 |
CN110232662A (zh) * | 2019-05-10 | 2019-09-13 | 昆明理工大学 | 一种人脸位姿协同***下的多新息抗扰滤波方法 |
US20190371003A1 (en) * | 2018-05-30 | 2019-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd . | Monocular vision tracking method, apparatus and non-volatile computer-readable storage medium |
CN111311632A (zh) * | 2018-12-11 | 2020-06-19 | 深圳市优必选科技有限公司 | 一种物***姿跟踪方法、装置及设备 |
CN111325796A (zh) * | 2020-02-28 | 2020-06-23 | 北京百度网讯科技有限公司 | 用于确定视觉设备的位姿的方法和装置 |
CN111339855A (zh) * | 2020-02-14 | 2020-06-26 | 睿魔智能科技(深圳)有限公司 | 基于视觉的目标跟踪方法、***、设备及存储介质 |
CN111709975A (zh) * | 2020-06-22 | 2020-09-25 | 上海高德威智能交通***有限公司 | 多目标跟踪方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-25 CN CN202110095757.3A patent/CN112907652B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268887A (zh) * | 2014-09-30 | 2015-01-07 | 深圳市科松电子有限公司 | 一种适用于多场景切换的相机姿态标定方法和装置 |
CN107646126A (zh) * | 2015-07-16 | 2018-01-30 | 谷歌有限责任公司 | 用于移动设备的相机姿态估计 |
CN108734735A (zh) * | 2017-04-17 | 2018-11-02 | 佳能株式会社 | 对象形状跟踪装置和方法以及图像处理*** |
CN107240124A (zh) * | 2017-05-19 | 2017-10-10 | 清华大学 | 基于时空约束的跨镜头多目标跟踪方法及装置 |
US20190371003A1 (en) * | 2018-05-30 | 2019-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd . | Monocular vision tracking method, apparatus and non-volatile computer-readable storage medium |
CN109598744A (zh) * | 2018-11-29 | 2019-04-09 | 广州市百果园信息技术有限公司 | 一种视频跟踪的方法、装置、设备和存储介质 |
CN111311632A (zh) * | 2018-12-11 | 2020-06-19 | 深圳市优必选科技有限公司 | 一种物***姿跟踪方法、装置及设备 |
CN109993113A (zh) * | 2019-03-29 | 2019-07-09 | 东北大学 | 一种基于rgb-d和imu信息融合的位姿估计方法 |
CN110232662A (zh) * | 2019-05-10 | 2019-09-13 | 昆明理工大学 | 一种人脸位姿协同***下的多新息抗扰滤波方法 |
CN111339855A (zh) * | 2020-02-14 | 2020-06-26 | 睿魔智能科技(深圳)有限公司 | 基于视觉的目标跟踪方法、***、设备及存储介质 |
CN111325796A (zh) * | 2020-02-28 | 2020-06-23 | 北京百度网讯科技有限公司 | 用于确定视觉设备的位姿的方法和装置 |
CN111709975A (zh) * | 2020-06-22 | 2020-09-25 | 上海高德威智能交通***有限公司 | 多目标跟踪方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
韩飞等: ""逼近与跟踪空间翻滚目标的图像视觉伺服控制"", 《控制理论与应用》, vol. 35, no. 10, pages 1473 - 1483 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658232A (zh) * | 2021-07-13 | 2021-11-16 | 广东技术师范大学 | 基于视频跟踪的建模方法、装置及计算机可读程序介质 |
CN113658232B (zh) * | 2021-07-13 | 2024-01-05 | 杭州追形视频科技有限公司 | 基于视频跟踪的建模方法、装置及计算机可读程序介质 |
CN116758157A (zh) * | 2023-06-14 | 2023-09-15 | 深圳市华赛睿飞智能科技有限公司 | 一种无人机室内三维空间测绘方法、***及存储介质 |
CN116758157B (zh) * | 2023-06-14 | 2024-01-30 | 深圳市华赛睿飞智能科技有限公司 | 一种无人机室内三维空间测绘方法、***及存储介质 |
CN116934751A (zh) * | 2023-09-15 | 2023-10-24 | 深圳市信润富联数字科技有限公司 | 高精点云的采集方法及装置、存储介质、电子设备 |
CN116934751B (zh) * | 2023-09-15 | 2024-01-12 | 深圳市信润富联数字科技有限公司 | 高精点云的采集方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112907652B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333491B (zh) | 视频处理方法、显示装置和存储介质 | |
CN107888828B (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
CN112907652B (zh) | 相机姿态获取方法、视频处理方法、显示设备和存储介质 | |
US11776209B2 (en) | Image processing method and apparatus, electronic device, and storage medium | |
WO2021088498A1 (zh) | 虚拟物体显示方法以及电子设备 | |
US11272153B2 (en) | Information processing apparatus, method for controlling the same, and recording medium | |
CN112288853A (zh) | 三维重建方法、三维重建装置、存储介质 | |
US11637968B2 (en) | Image photographing method of electronic device and electronic device | |
TWI752594B (zh) | 一種資訊處理方法、電子設備、儲存媒體和程式 | |
CN109992111B (zh) | 增强现实扩展方法和电子设备 | |
JP2017073753A (ja) | 補正方法、プログラム及び電子機器 | |
CN116079697A (zh) | 一种基于图像的单目视觉伺服方法、装置、设备及介质 | |
WO2022110785A1 (zh) | 定位方法及装置、电子设备、存储介质、计算机程序产品、计算机程序 | |
CN111818265B (zh) | 基于增强现实模型的交互方法、装置、电子设备及介质 | |
CN111833459B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN111710046A (zh) | 交互方法、装置和电子设备 | |
CN112887793B (zh) | 视频处理方法、显示设备和存储介质 | |
CN112132909B (zh) | 参数获取方法及装置、媒体数据处理方法和存储介质 | |
CN112492230B (zh) | 视频处理方法、装置、可读介质及电子设备 | |
CN114529452A (zh) | 用于显示图像的方法、装置和电子设备 | |
CN114332224A (zh) | 3d目标检测样本的生成方法、装置、设备及存储介质 | |
CN114116081B (zh) | 交互式动态流体效果处理方法、装置及电子设备 | |
CN114663601A (zh) | 三维图像的构建方法、装置和电子设备 | |
KR102614102B1 (ko) | 실물 객체에 대한 정밀한 추적을 위한 자동화된 캘리브레이션 시스템, 캘리브레이션 방법 및 캘리브레이션 방법을 기초로 이미지 내에서 실물 객체를 추적하고 실물 객체에 가상 모델을 증강하는 방법 | |
CN114359362A (zh) | 房源信息采集方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |