CN115937002A - 用于估算视频旋转的方法、装置、电子设备和存储介质 - Google Patents
用于估算视频旋转的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115937002A CN115937002A CN202211104575.9A CN202211104575A CN115937002A CN 115937002 A CN115937002 A CN 115937002A CN 202211104575 A CN202211104575 A CN 202211104575A CN 115937002 A CN115937002 A CN 115937002A
- Authority
- CN
- China
- Prior art keywords
- frame image
- current frame
- image
- dimensional space
- calculating
- 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 61
- 239000011159 matrix material Substances 0.000 claims abstract description 94
- 238000005457 optimization Methods 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000013519 translation Methods 0.000 claims description 21
- 238000006073 displacement reaction Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种用于估算视频旋转的方法、装置、电子设备和存储介质。其中的方法包括:对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。应用本公开可以对视频的旋转进行比较精确的估算。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于估算视频旋转的方法、装置、电子设备和存储介质。
背景技术
在现有技术中,有时需要对视频文件中出现的旋转进行估算。一般情况下,现有技术中通常使用如下的方法来估算视频旋转:
方法1:旋转平均(Rotation average)算法。
在该方法中,可以基于多个两帧图像之间的相对旋转,来求解全局的旋转。该方法的计算速度快,但是由于其中并未利用二维空间点(2D点)的信息,因此无法保证求解得到的旋转在画面里的贴合度,所以估算的精度不高。
方法2:运动恢复结构(Structure from Motion,SFM)算法,或者同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)算法。
在上述方法中,可以使用SFM算法或SLAM算法直接求解整个视频的每一帧位姿(平移+旋转)和场景三维空间点(3D点)的坐标。该方法的估算精度高,但计算速度慢,而且容易在很多运动模式和场景下失败,鲁棒性无法得到保证。而且,上述算法是基于发生了较大平移的情况。如果没有发生平移,则计算的结果的精度会较差。
另外,实际应用场景下的运动非常多样性,像画面静止、纯平移、纯旋转、纯远景等,因此,对于现有技术中的不同的算法都有相应的糟糕的例子(bad case)。
发明内容
本公开的实施例提供了一种用于估算视频旋转的方法、装置、电子设备和存储介质。
第一方面,本公开的实施例提供了一种用于估算视频旋转的方法,所述方法包括:
对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;
根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;
根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;
根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
第二方面,本公开的实施例提供了一种用于估算视频旋转的装置,所述用于估算视频旋转的装置包括:初步计算模块和优化模块;
所述初步计算模块,用于对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;
所述优化模块,用于根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
第三方面,本公开的实施例提供了一种电子设备,包括存储器、处理器、总线及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述用于估算视频旋转的方法的步骤。
第四方面,本公开的实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述用于估算视频旋转的方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开一具体实施例中的用于估算视频旋转的方法的流程示意图。
图2为本公开另一具体实施例中的用于估算视频旋转的方法的流程示意图。
图3为本公开一具体实施例中的用于估算视频旋转的装置的结构示意图。
图4为本公开一具体实施例中的电子设备的结构示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文中使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
为使本公开的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本公开作进一步详细的说明。
图1为本公开一具体实施例中的用于估算视频旋转的方法的流程图。如图1所示,本公开一具体实施例中的用于估算视频旋转的方法包括如下所述步骤:
步骤101,对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
在对视频旋转进行估计时,通常是从一个视频文件中指定或确定一段可能出现旋转的视频来进行估算。因此,可以将该所指定或确定的一段视频作为待处理视频。
在本公开的技术方案中,对于待处理视频中的每一帧图像,都需要进行相同的操作:根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数。
例如,对于作为示例,在本公开的一种可能的实施方式中,对于待处理视频中的第a帧图像,可以将该第a帧图像作为当前帧图像,然后根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
另外,在本公开的技术方案中,可以使用多种具体的方式来计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。以下将以其中的一种具体实现方式为例,对本公开的技术方案进行介绍。
例如,作为示例,在本公开的一种可能的实施方式中,所述根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵可以包括如下的步骤:
步骤11,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的基础矩阵。
在本步骤中,对于待处理视频中的每一帧图像,都需要获取该帧图像与其前后K帧图像中的每一帧图像之间的匹配关系;其中,K为自然数。
例如,作为示例,在本公开的一种可能的实施方式中,假设上述K的取值为40,则对于待处理视频中的第a帧图像,将分别获取该第a帧图像与第a-40帧图像~第a-1帧图像(前40帧图像)以及第a+1帧图像~第a+40帧图像(后40帧图像)中的每一帧图像之间的匹配关系。由于每两帧图像之间可以获取一个匹配关系,因此一共可获得80个匹配关系。
以此类推,对于待处理视频中的每一帧图像,均可以进行如上所述的处理,并分别得到相应的匹配关系。
另外,在本公开的技术方案中,可以根据实际应用情况的需要预先设置上述K的取值。
例如,作为示例,在本公开的一种可能的实施方式中,所述K的取值可以是30、40或50。当然,也可以是其他合适的取值,在此不再一一列举。
另外,在本公开的技术方案中,可以使用多种具体的方式来获取当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系。
例如,作为示例,在本公开的一种可能的实施方式中,可以将当前帧图像与其前后K帧图像中的每一帧图像都分别进行特征提取和匹配,得到当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系。
另外,作为示例,在本公开的一种可能的实施方式中,所述匹配关系可以是两帧图像之间的匹配点对。
另外,在本公开的技术方案中,在得到当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系之后,可以根据上述匹配关系,计算得到当前帧图像与各帧图像之间的基础矩阵(Fundamental matrix)。
另外,在本公开的技术方案中,可以使用多种具体的方式来计算得到当前帧图像与各帧图像之间的基础矩阵。
例如,作为示例,在本公开的一种可能的实施方式中,对于两帧图像,可以根据两帧图像之间的匹配关系,通过直接线性变换法(例如,8点法+最小二乘法)计算得到两帧图像之间的基础矩阵。
再例如,作为示例,在本公开的一种可能的实施方式中,对于两帧图像,可以根据两帧图像之间的匹配关系,通过随机抽样一致算法(Random sample consensus,RANSAC)算法计算得到两帧图像之间的基础矩阵。
步骤12,根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
在本公开的技术方案中,在获得基础矩阵中,即可根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
另外,在本公开的技术方案中,可以使用多种具体的方式来根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
例如,作为示例,在本公开的一种可能的实施方式中,所述根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵可以包括如下步骤:
步骤121,根据基础矩阵计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转和相对平移,以及图像获取装置的内参数矩阵。
基础矩阵中包含了由不同视点处得到的图像之间重要的几何关系,描述了对应点之间满足的极线约束条件,也包含了图像获取装置(例如,照相机、摄像机或摄像头等)的所有内参数和外参数信息。
因此,在本公开的技术方案中,在得到基础矩阵之后,可以进一步对每一个基础矩阵进行分解,从而可以得到当前帧图像与各帧图像之间的相对旋转和相对平移,并可根据该基础矩阵计算得到图像获取装置的内参数矩阵(Intrinsic Matrix)。
例如,作为示例,在本公开的一种可能的实施方式中,可以通过自标定方法(通过图像本身的特征求解图像获取装置的内参数的方法),根据基础矩阵计算得到图像获取装置的内参数矩阵。
步骤122,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转,计算得到当前帧图像的全局旋转初值。
在本公开的技术方案中,在得到当前帧图像与各帧图像之间的相对旋转之后,可以进一步根据当前帧图像与各帧图像之间的相对旋转,计算得到当前帧图像的全局旋转初值。
另外,在本公开的技术方案中,可以使用多种具体的方式来计算得到当前帧图像的全局旋转初值。
例如,作为示例,在本公开的一种可能的实施方式中,可以通过旋转平均(Rotation average)算法,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转,计算得到当前帧图像的全局旋转初值。
以此类推,对于待处理视频中的每一帧图像,均可以进行如上所述的处理,并分别得到每一帧图像的全局旋转初值。
步骤102,根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵。
在本公开的技术方案中,在得到当前帧图像的全局旋转初值之后,可以进一步进行优化,以提高全局旋转的精度。
因此,在本步骤中,可以根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数。
另外,在本公开的技术方案中,可以使用多种具体的方式来根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵。
例如,作为示例,在本公开的一种可能的实施方式中,所述根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵可以包括:
步骤21,对当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系进行降采样。
在本步骤中,将先对当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系进行降采样,得到各个降采样后的匹配关系;其中,M为小于或等于K的自然数。
另外,在本公开的技术方案中,可以使用多种具体的方式来对当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系进行降采样。
例如,作为示例,在本公开的一种可能的实施方式中,对两帧图像之间的匹配关系进行降采样可以包括:
步骤211,将两帧图像均对应划分为N×N个格子,且每个格子的初始状态为空;其中,N为根据实际应用场景预先设置的值;
步骤212,从两帧图像的匹配点对中选取一个未被选取过的匹配点对;
步骤213,当所选取的匹配点对中的任意一个点所在的格子的状态为空时,保留该所选取的匹配点对,并将该所选取的匹配点对的两个点所在的格子的状态设置为非空;当所选取的匹配点对中的两个点所在的格子的状态均为非空时,删除该所选取的匹配点对;
步骤214,当两帧图像的匹配点对中有未被选取过的匹配点对时,返回执行步骤212。
通过上述的步骤211~214,可以对两帧图像之间的匹配关系进行降采样,减少两帧图像之间的匹配点对,从而可以有效地减少相应的计算量。
另外,在本公开的技术方案中,可以根据实际应用情况的需要预先设置上述M的取值。
例如,作为示例,在本公开的一种可能的实施方式中,所述M的取值可以是3、4或5。当然,也可以是其他合适的取值,在此不再一一列举。
当M的取值远远小于K的取值时,可以进一步减少相应的计算量,提高计算速度。
步骤22,根据各个降采样后的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应矩阵。
单应(Homography)矩阵一般用于描述同一平面的点在不同图像之间的映射关系,是一个3×3的齐次矩阵。通过单应矩阵可以将两幅待拼接图像拼接在一起。
因此,在本公开的技术方案中,在得到当前帧图像与其前后M帧图像中的每一帧图像之间的降采样后的匹配关系之后,可以根据各个降采样后的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应矩阵。
步骤103,根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数。
在本公开的技术方案中,在得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵之后,可以根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵,来设置相应的损失函数e。然后,再使用优化方法来最小化所述损失函数e,得到最小化的损失函数。
另外,在本公开的技术方案中,可以使用多种具体的方式来设置损失函数,以下将以其中的一种具体实现方式为例,对本公开的技术方案进行说明。
例如,作为示例,在本公开的一种可能的实施方式中,所述损失函数e可以表示为:
其中,e为损失函数,n为待处理视频的总帧数,i表示第i帧,j表示第j帧,I(i)表示第i帧视频的所有相邻帧;F(i,j)表示第i帧和第j帧之间的匹配点对的集合,k为匹配点对的序号,h为核函数,为第i帧和第j帧之间的第k个匹配点对的重投影误差。
另外,作为示例,在本公开的一种可能的实施方式中,所述核函数h可以是任意一种鲁棒核函数。
例如,作为示例,在本公开的一种可能的实施方式中,所述核函数h可以表示为:
其中,h为核函数,x为核函数的自变量,表示误差,σ为误差的标准差。
另外,在本公开的技术方案中,可以使用多种具体的优化方法来最小化所述损失函数。
例如,作为示例,在本公开的一种可能的实施方式中,可以使用非线性最小二乘方法来最小化所述损失函数,得到最小化的损失函数。当然,也可以使用其他合适的优化方法,在此不再一一列举。
步骤104,根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
在本公开的技术方案中,由于上述的损失函数中只有全局旋转的值为未知量,其他的参数均为已知量,因此,根据最小化的损失函数和各个单应矩阵,可以计算得到一个全局旋转的值,从而可以将该全局旋转的值作为当前帧的全局旋转优化值。
通过上述的步骤101~104,可以计算得到当前帧图像的全局旋转优化值。
以此类推,对于待处理视频中的每一帧图像,均可以进行如上所述的处理,并分别得到每一帧图像的全局旋转优化值,从而可以对视频旋转进行比较精确的估算。
另外,更进一步的,在本公开的技术方案中,还可以进一步判断当前帧图像中的二维空间点(2D点)的平均重投影误差与预先设置的误差阈值之间的大小。如果当前帧图像中的二维空间点的平均重投影误差小于预先设置的误差阈值,则说明当前帧图像基本没平移。因此,可以将步骤104中计算得到当前帧图像的全局旋转优化值作为当前帧图像的全局旋转估计值。
而如果当前帧图像中的二维空间点的平均重投影误差大于或等于预先设置的误差阈值,说明当前帧图像存在较大的平移,则还可以进一步进行后续的处理。
例如,作为示例,如图2所示,在本公开的一种可能的实施方式中,所述用于估算视频旋转的方法还可以进一步包括如下步骤:
步骤105,当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移。
在本公开的技术方案中,可以先判断当前帧图像中的各个二维空间点(2D点)的平均重投影误差与预先设置的误差阈值之间的大小。如果当前帧图像中的2D点的平均重投影误差大于或等于预设的误差阈值,则可以根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移。
在进行上述计算时,可以使用步骤121中所得到的当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,从而可以减少相应的计算量。
另外,作为示例,在本公开的一种可能的实施方式中,可以通过位移平均(translation average)算法,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移。
步骤106,根据匹配点对在各帧图像上的对应的二维空间点的位置,计算得到该匹配点对所对应的三维空间点的轨迹。
在使用图像获取装置(例如,照相机、摄像机或摄像头等)对世界坐标系中的三维空间点(3D点)进行拍摄时,3D点在各帧图像上的投影对应于各帧图像上的二维空间点(2D点)。当图像获取装置所处的位置和/或角度发生变化时,同一个3D点在不同帧图像中对应的2D点的位置也会随之发生变化。因此,可以根据各个2D点的坐标来得到所对应的3D点的轨迹(Track)。例如,可以将同一个3D点所对应的各个2D点的位置串连起来,形成该3D点的轨迹。
所以,在本公开的技术方案中,可以根据匹配点对在各帧图像上的对应的二维空间点的位置(即同一个3D点在不同帧图像中对应的2D点的位置),计算得到该匹配点对所对应的三维空间点的轨迹。
例如,作为示例,在本公开的一种可能的实施方式中,所述步骤106可以包括如下的步骤:
将二维空间点在相邻两帧图像之间的匹配关系作为边,将所述二维空间点作为节点,计算得到对应的连通域;
将所述连通域作为所述二维空间点所对应的三维空间点的轨迹。
此外,在本公开的技术方案中,还可以进一步对各个三维空间点的轨迹进行降采样,以尽量减小相应的计算量。
例如,作为示例,在本公开的一种可能的实施方式中,在得到三维空间点的轨迹之后,还可以进一步包括如下的步骤:
步骤91,将每帧图像均对应划分为N×N个格子,且每个格子的初始状态为空;其中,N为根据实际应用场景预先设置的值;
步骤92,从各个三维空间点的轨迹中选取一个未被选取过的三维空间点的轨迹(例如,可以选取一个长度最大的未被选取过的三维空间点的轨迹);
步骤93,当所选取的三维空间点的轨迹中有至少一个所对应的二维空间点所在的格子的状态为空时,保留该所选取的三维空间点的轨迹,并将该所选取的三维空间点的轨迹所对应的所有二维空间点所在的格子的状态设置为非空;当所选取的三维空间点的轨迹所对应的所有二维空间点所在的格子的状态均为非空时,删除该所选取的三维空间点的轨迹;
步骤94,当各个三维空间点的轨迹中有未被选取过的三维空间点的轨迹时,返回执行步骤92。
通过上述的步骤91~94,可以对得到的各个三维空间点的轨迹进行降采样,减少三维空间点的轨迹,从而可以有效地减少相应的计算量。
步骤107,根据当前帧图像的全局旋转优化值和当前帧图像的全局位移,对三维空间点的轨迹进行三角化,计算得到三维空间点在世界坐标系中的位置。
在本公开的技术方案中,在得到三维空间点的轨迹之后,可以根据当前帧图像的全局旋转优化值和全局位移,对三维空间点的轨迹进行三角化(triangulation),利用上述的几何信息构建三角形,从而可以计算得到三维空间点在世界坐标系中的位置。
步骤108,进行全局的光束法平差优化,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
在本公开的技术方案中,还可以进一步进行全局的光束法平差(BundleAdjustment),使得重投影误差最小,从而可以最终得到优化后的当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
另外,作为示例,在本公开的另一种可能的实施方式中,所述用于估算视频旋转的方法还可以进一步包括:
当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,可以通过全局运动恢复结构(Structure from Motion,SFM)算法,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
另外,在本申请的技术方案中,还提出了一种用于估算视频旋转的装置。
如图3所示,本公开一具体实施例中的用于估算视频旋转的装置300包括:初步计算模块301和优化模块302;
所述初步计算模块301,用于对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;
所述优化模块302,用于根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
另外,作为示例,在本公开的另一种可能的实施方式中,所述优化模块302,还可以用于当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移;根据匹配点对在各帧图像上的对应的二维空间点的位置,计算得到该匹配点对所对应的三维空间点的轨迹;根据当前帧图像的全局旋转优化值和当前帧图像的全局位移,对三维空间点的轨迹进行三角化,计算得到三维空间点在世界坐标系中的位置;进行全局的光束法平差优化,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
另外,在本申请的技术方案中,还提出了一种电子设备。
图4示出了本公开一实施例提供的一种电子设备的结构示意图。
如图4所示,该电子设备可以包括处理器401、存储器402、总线403以及存储在存储器402上并可在处理器401上运行的计算机程序,其中,处理器401和存储器402通过总线403完成相互间的通信。所述处理器401执行所述计算机程序时实现上述方法的步骤,例如包括:对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
另外,本公开一实施例中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
综上所述,在本公开的技术方案中,由于对于待处理视频中的每一帧图像,获取当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的基础矩阵,根据基础矩阵计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转和相对平移,以及图像获取装置的内参数矩阵;然后,再根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转,计算得到当前帧图像的全局旋转初值;随后对当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系进行降采样,根据各个降采样后的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;随后再根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;然后,根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值,从而可以对视频的旋转进行比较精确的估算。
而且,在本公开的技术方案中,由于在单应优化中对匹配关系进行了降采样,因此可以大大减少相应的计算量,提高计算速度,整体保证了系统的效率。
而且,在本公开的技术方案中,还进一步对三维空间点的轨迹进行了降采样,因此可以进一步减少相应的计算量,提高计算速度。
此外,本公开的技术方案中所提出的是一种多层级的鲁棒、准确、高效视频旋转估计方案,该方案可以将通过旋转平均算法计算得到的全局旋转作为初值,利用多帧单应优化来提升精度,因此估算精度高,可以解决大部分旋转估计场景(例如,静止、纯旋转、远景等)中的旋转估计的问题,并可以进一步使用SFM算法来兜底平移场景,因此无论是在发生平移还是没有发生平移的场景中,都可以进行旋转估算,而且估算结果的精度高,从而可以适用于更多的实际应用场景。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (13)
1.一种用于估算视频旋转的方法,其特征在于,所述方法包括:
对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;
根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;
根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;
根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
2.根据权利要求1所述的方法,其特征在于,所述根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵包括:
对当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系进行降采样;
根据各个降采样后的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵。
3.根据权利要求2所述的方法,其特征在于,对两帧图像之间的匹配关系进行降采样包括:
将两帧图像均对应划分为N×N个格子,且每个格子的初始状态为空;其中,N为预先设置的值;
从两帧图像的匹配点对中选取一个未被选取过的匹配点对;
当所选取的匹配点对中的任意一个点所在的格子的状态为空时,保留该所选取的匹配点对,并将该所选取的匹配点对的两个点所在的格子的状态设置为非空;当所选取的匹配点对中的两个点所在的格子的状态均为非空时,删除该所选取的匹配点对;
当两帧图像的匹配点对中有未被选取过的匹配点对时,返回执行从两帧图像的匹配点对中选取一个未被选取过的匹配点对的步骤。
4.根据权利要求1所述的方法,其特征在于,所述根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵包括:
根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的基础矩阵;
根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵。
5.根据权利要求4所述的方法,其特征在于,所述根据基础矩阵计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵包括:
根据基础矩阵计算得到当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转和相对平移,以及图像获取装置的内参数矩阵;
根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对旋转,计算得到当前帧图像的全局旋转初值。
6.根据权利要求1所述的方法,其特征在于,所述方法还进一步包括:
当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移;
根据匹配点对在各帧图像上的对应的二维空间点的位置,计算得到该匹配点对所对应的三维空间点的轨迹;
根据当前帧图像的全局旋转优化值和当前帧图像的全局位移,对三维空间点的轨迹进行三角化,计算得到三维空间点在世界坐标系中的位置;
进行全局的光束法平差优化,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
7.根据权利要求6所述的方法,其特征在于,所述根据匹配点对在各帧图像上的对应的二维空间点的位置,计算得到该匹配点对所对应的三维空间点的轨迹包括:
将二维空间点在相邻两帧图像之间的匹配关系作为边,将所述二维空间点作为节点,计算得到对应的连通域;
将所述连通域作为所述二维空间点所对应的三维空间点的轨迹。
8.根据权利要求7所述的方法,其特征在于,所述方法还进一步包括:
将每帧图像均对应划分为N×N个格子,且每个格子的初始状态为空;其中,N为预先设置的值;
从各个三维空间点的轨迹中选取一个未被选取过的三维空间点的轨迹;
当所选取的三维空间点的轨迹中有至少一个所对应的二维空间点所在的格子的状态为空时,保留该所选取的三维空间点的轨迹,并将该所选取的三维空间点的轨迹所对应的所有二维空间点所在的格子的状态设置为非空;当所选取的三维空间点的轨迹所对应的所有二维空间点所在的格子的状态均为非空时,删除该所选取的三维空间点的轨迹;
当各个三维空间点的轨迹中有未被选取过的三维空间点的轨迹时,返回执行从各个三维空间点的轨迹中选取一个未被选取过的三维空间点的轨迹的步骤。
9.根据权利要求1所述的方法,其特征在于,所述方法还进一步包括:
当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,通过全局运动恢复结构算法,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
10.一种用于估算视频旋转的装置,其特征在于,所述装置包括:初步计算模块和优化模块;
所述初步计算模块,用于对于待处理视频中的每一帧图像,根据当前帧图像与其前后K帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像的全局旋转初值和图像获取装置的内参数矩阵;其中,K为自然数;
所述优化模块,用于根据当前帧图像与其前后M帧图像中的每一帧图像之间的匹配关系,计算得到当前帧图像与其前后M帧图像中的每一帧图像之间的单应性矩阵;其中,M为小于或等于K的自然数;根据当前帧图像的全局旋转初值和图像获取装置的内参数矩阵设置损失函数,并使用优化方法得到最小化的损失函数;根据最小化的损失函数和各个单应矩阵,计算得到当前帧图像的全局旋转优化值。
11.根据权利要求10所述的装置,其特征在于:
所述优化模块,还用于当当前帧图像中的二维空间点的平均重投影误差大于或等于预设的误差阈值时,根据当前帧图像与其前后K帧图像中的每一帧图像之间的相对平移,计算得到当前帧图像的全局位移;根据匹配点对在各帧图像上的对应的二维空间点的位置,计算得到该匹配点对所对应的三维空间点的轨迹;根据当前帧图像的全局旋转优化值和当前帧图像的全局位移,对三维空间点的轨迹进行三角化,计算得到三维空间点在世界坐标系中的位置;进行全局的光束法平差优化,计算得到当前帧图像的全局旋转估计值、全局位移估计值以及当前帧中的各个匹配点对对应的三维空间点在世界坐标系中的坐标估计值。
12.一种电子设备,包括存储器、处理器、总线及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述用于估算视频旋转的方法的步骤。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9任一项所述用于估算视频旋转的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104575.9A CN115937002B (zh) | 2022-09-09 | 2022-09-09 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
PCT/CN2023/116492 WO2024051591A1 (zh) | 2022-09-09 | 2023-09-01 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104575.9A CN115937002B (zh) | 2022-09-09 | 2022-09-09 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115937002A true CN115937002A (zh) | 2023-04-07 |
CN115937002B CN115937002B (zh) | 2023-10-20 |
Family
ID=86647871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211104575.9A Active CN115937002B (zh) | 2022-09-09 | 2022-09-09 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115937002B (zh) |
WO (1) | WO2024051591A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051591A1 (zh) * | 2022-09-09 | 2024-03-14 | 北京字跳网络技术有限公司 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140168461A1 (en) * | 2011-06-13 | 2014-06-19 | University Of Florida Research Foundation, Inc. | Systems and methods for estimating the structure and motion of an object |
CN109493415A (zh) * | 2018-09-20 | 2019-03-19 | 北京大学 | 一种航拍影像三维重建的全局运动初始化方法和系统 |
US20190234746A1 (en) * | 2016-09-14 | 2019-08-01 | Zhejiang University | Method for simultaneous localization and mapping |
CN110335315A (zh) * | 2019-06-27 | 2019-10-15 | Oppo广东移动通信有限公司 | 一种图像处理方法及装置、计算机可读存储介质 |
CN111160298A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 一种机器人及其位姿估计方法和装置 |
CN112444242A (zh) * | 2019-08-31 | 2021-03-05 | 北京地平线机器人技术研发有限公司 | 一种位姿优化方法及装置 |
CN113112404A (zh) * | 2021-04-02 | 2021-07-13 | 广州图匠数据科技有限公司 | 一种基于滑动窗口的图像拼接方法及装置 |
CN114943773A (zh) * | 2022-04-06 | 2022-08-26 | 阿里巴巴(中国)有限公司 | 相机标定方法、装置、设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3182373B1 (en) * | 2015-12-17 | 2019-06-19 | STMicroelectronics S.A. | Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm |
CN106550174B (zh) * | 2016-10-28 | 2019-04-09 | 大连理工大学 | 一种基于单应性矩阵的实时视频稳像方法 |
CN109327712A (zh) * | 2018-09-18 | 2019-02-12 | 中国科学院自动化研究所 | 固定场景的视频消抖方法 |
CN113744277B (zh) * | 2020-05-29 | 2024-07-02 | 广州汽车集团股份有限公司 | 一种基于局部路径优化的视频去抖方法及系统 |
CN115937002B (zh) * | 2022-09-09 | 2023-10-20 | 北京字跳网络技术有限公司 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
-
2022
- 2022-09-09 CN CN202211104575.9A patent/CN115937002B/zh active Active
-
2023
- 2023-09-01 WO PCT/CN2023/116492 patent/WO2024051591A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140168461A1 (en) * | 2011-06-13 | 2014-06-19 | University Of Florida Research Foundation, Inc. | Systems and methods for estimating the structure and motion of an object |
US20190234746A1 (en) * | 2016-09-14 | 2019-08-01 | Zhejiang University | Method for simultaneous localization and mapping |
CN109493415A (zh) * | 2018-09-20 | 2019-03-19 | 北京大学 | 一种航拍影像三维重建的全局运动初始化方法和系统 |
CN110335315A (zh) * | 2019-06-27 | 2019-10-15 | Oppo广东移动通信有限公司 | 一种图像处理方法及装置、计算机可读存储介质 |
CN112444242A (zh) * | 2019-08-31 | 2021-03-05 | 北京地平线机器人技术研发有限公司 | 一种位姿优化方法及装置 |
CN111160298A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 一种机器人及其位姿估计方法和装置 |
CN113112404A (zh) * | 2021-04-02 | 2021-07-13 | 广州图匠数据科技有限公司 | 一种基于滑动窗口的图像拼接方法及装置 |
CN114943773A (zh) * | 2022-04-06 | 2022-08-26 | 阿里巴巴(中国)有限公司 | 相机标定方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
胡闯: "三维点云重建中的全局参数估计", 中国优秀硕士学位论文全文数据库, no. 01, pages 138 - 2111 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051591A1 (zh) * | 2022-09-09 | 2024-03-14 | 北京字跳网络技术有限公司 | 用于估算视频旋转的方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115937002B (zh) | 2023-10-20 |
WO2024051591A1 (zh) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110631554B (zh) | 机器人位姿的确定方法、装置、机器人和可读存储介质 | |
CN109727288B (zh) | 用于单目同时定位与地图构建的系统和方法 | |
CN108986161B (zh) | 一种三维空间坐标估计方法、装置、终端和存储介质 | |
CN111598993B (zh) | 基于多视角成像技术的三维数据重建方法、装置 | |
KR102647351B1 (ko) | 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치 | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
WO2015135323A1 (zh) | 一种摄像机跟踪方法及装置 | |
CN106934827A (zh) | 三维场景的重建方法和装置 | |
KR20190042187A (ko) | 깊이 값을 추정하는 방법 및 장치 | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
GB2580691A (en) | Depth estimation | |
WO2018214086A1 (zh) | 场景的三维重建方法、装置及终端设备 | |
CN113689578B (zh) | 一种人体数据集生成方法及装置 | |
KR101869605B1 (ko) | 평면정보를 이용한 3차원 공간 모델링 및 데이터 경량화 방법 | |
TWI738196B (zh) | 一種圖像深度估計方法、電子設備、儲存介質 | |
US20150138193A1 (en) | Method and device for panorama-based inter-viewpoint walkthrough, and machine readable medium | |
WO2012177166A1 (en) | An efficient approach to estimate disparity map | |
CN109685879B (zh) | 多视影像纹理分布的确定方法、装置、设备和存储介质 | |
WO2021027543A1 (zh) | 基于单目图像的模型训练方法、装置及数据处理设备 | |
da Silveira et al. | Dense 3d scene reconstruction from multiple spherical images for 3-dof+ vr applications | |
CN113673400A (zh) | 基于深度学习的实景三维语义重建方法、装置及存储介质 | |
JP2023021087A (ja) | 両眼画像マッチング方法、装置、デバイス、及び記憶媒体 | |
WO2024051591A1 (zh) | 用于估算视频旋转的方法、装置、电子设备和存储介质 | |
CN105339981B (zh) | 用于使用一组基元配准数据的方法 | |
CN106408654B (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 |