CN114697542A - 视频处理方法、装置、终端设备及存储介质 - Google Patents

视频处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN114697542A
CN114697542A CN202011638369.7A CN202011638369A CN114697542A CN 114697542 A CN114697542 A CN 114697542A CN 202011638369 A CN202011638369 A CN 202011638369A CN 114697542 A CN114697542 A CN 114697542A
Authority
CN
China
Prior art keywords
frame
video
video frame
processed
image
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.)
Pending
Application number
CN202011638369.7A
Other languages
English (en)
Inventor
胡振邦
刘阳兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan TCL Group Industrial Research Institute Co Ltd
Original Assignee
Wuhan TCL Group Industrial Research Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan TCL Group Industrial Research Institute Co Ltd filed Critical Wuhan TCL Group Industrial Research Institute Co Ltd
Priority to CN202011638369.7A priority Critical patent/CN114697542A/zh
Publication of CN114697542A publication Critical patent/CN114697542A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

本申请适用于图像处理技术领域,提供了视频处理方法、装置、终端设备及存储介质,包括:针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。本申请实施例能够使得存在畸变的待处理视频准确地实现视频稳化。

Description

视频处理方法、装置、终端设备及存储介质
技术领域
本申请属于图像处理技术领域,尤其涉及一种视频处理方法、装置、终端设备及存储介质。
背景技术
视频稳化(Video Stabilization),也可称为视频稳像、视频稳定处理,是指对摄像头采集的原始视频序列进行处理,去除其中的抖动的技术。目前,视频稳化技术都是针对普通摄像头拍摄的普通视频实现的,而对于由存在镜头畸变的摄像头拍摄的存在畸变的视频,难以准确地实现视频稳化。
发明内容
有鉴于此,本申请实施例提供了视频处理方法、装置、终端设备及存储介质,以解决现有技术中如何准确地实现视频稳化的问题。
本申请实施例的第一方面提供了一种视频处理方法,包括:
针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;
根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
本申请实施例的第二方面提供了一种视频处理装置,包括:
稳化视频帧确定单元,用于针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;
稳化视频生成单元,用于根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得终端设备实现如所述视频处理方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得终端设备实现如所述视频处理方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的视频处理方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,由于对于待处理视频中的每一非首帧视频帧,能够先确定该非首帧视频帧的矫正图像后,再根据该矫正图像,确定非首帧视频帧的稳化视频帧,因此,即使非首帧视频帧存在畸变,也能够准确地确定其对应的稳化视频帧;由于该稳化视频帧能够准确地减少非首帧视频帧的画面抖动程度,因此,最终根据首帧视频帧及每一非首帧视频帧对应的稳化视频帧,能够准确地生成待处理视频对应的稳化视频,即,使得该待处理视频最终能够以稳化视频的形式,呈现稳定、基本无抖动的视频画面。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频处理方法的实现流程示意图;
图2是本申请实施例提供的一种待成像点成像过程的示意图;
图3是本申请实施例提供的一种图像的坐标变换示意图;
图4是本申请实施例提供的一种缩略图的示例图;
图5是本申请实施例提供的一种根据运动参数矩阵实现视频稳化的原理框架示意图;
图6是本申请实施例提供的一种视频处理装置的示意图;
图7是本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
通常,在摄像头拍摄的原始视频序列中,相邻两帧视频帧之间的运动可以分解为:与摄像头运动方向一致的背景画面运动(由摄像头运动产生),以及与摄像头运动不一致的前景画面运动(由拍摄场景中的被拍摄对象的运动产生)。视频稳化的基本原理为通过算法估计出相邻两帧视频帧的背景画面运动,得到摄像头运动的运动参数,并根据该运动参数来对当前的视频帧进行射影变换处理,从而降低摄像头运动对最终呈现的视频画面的影响,进而实现稳定、无抖动的视频画面呈现。然而,目前的视频稳化技术都是针对普通摄像头拍摄的普通视频实现的,该普通视频的视频帧通常较少存在畸变。而对于存在镜头畸变的摄像头(例如由广角镜头、远摄镜头等镜头组成的摄像头),由于其拍摄的视频帧通常为存在较严重的畸变的视频图像,因而难以直接根据相邻的两帧视频帧准确地计算得到摄像头运动的运动参数,从而难以对当前的视频帧进行准确的变换处理,进而导致存在畸变的视频难以准确地实现视频稳化。为了解决该技术问题,本申请实施例提供了一种视频处理方法、装置、终端设备及存储介质,通过对于待处理视频中的每一非首帧视频帧,先确定该非首帧视频帧的矫正图像后,再根据该矫正图像,确定非首帧视频帧的稳化视频帧,使得即使非首帧视频帧存在畸变,也能够准确地确定其对应的稳化视频帧;由于该稳化视频帧能够准确地减少非首帧视频帧的画面抖动程度,因此,根据该待处理视频中的首帧视频帧及每一非首帧视频帧对应的稳化视频帧,能够准确地生成待处理视频对应的稳化视频,即,使得该待处理视频最终能够以稳化视频的形式,呈现稳定、基本无抖动的视频画面。
实施例一:
图1示出了本申请实施例提供的一种视频处理方法的流程示意图,该视频处理方法的执行主体为终端设备,包括但不限于智能手机、平板电脑、可穿戴设备、电脑、服务器等计算设备,还可以为摄像机、机器人等。如图1所示的视频处理方法详述如下:
在S101中,针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧。
本申请实施例中,非首帧视频帧可以为待处理视频中除第一帧视频帧(即首帧视频帧)以外的任意一个视频帧,例如,若待处理视频一共包括10帧视频帧,则第2帧到第10帧均为非首帧视频帧。
本申请实施例中,对于待处理视频中的非首帧视频帧,其对应的稳化视频帧,具体为减少了该非首帧视频帧中的画面抖动,能够呈现相对稳定的画面的视频帧。需要说明的是,由于首帧视频帧是待处理视频中的第一帧视频帧,后续拍摄到的非首帧视频帧存在的画面抖动,可以理解为以首帧视频帧的画面作为基准,相对于首帧视频帧存在的画面抖动,因此,该作为基准的首帧视频帧可以无需进行稳化视频帧的求取,即,本申请实施例中,可以只针对待处理视频中的每一非首帧视频帧进行处理,确定非首帧视频帧的稳化视频帧。
对于本申请实施例的待处理视频,其包括的视频帧通常为存在图像畸变的视频帧,若对待处理视频的非首帧视频帧直接进行稳化处理,通常无法得到准确的稳化视频帧。因此,本步骤中,针对待处理视频中的每一非首帧视频帧,先确定该非首帧视频帧的矫正图像,再根据该矫正图像,确定该非首帧视频帧的稳化视频帧。其中,非首帧视频帧的矫正图像为:对该非首帧视频帧进行矫正处理后得到的基本不存在图像畸变的图像。
可选地,在所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像之前,还包括:
获取目标视频;
根据所述目标视频中各帧视频帧的畸变情况,确定待处理视频。
本申请实施例中,待处理视频具体从目标视频中获得。而该目标视频可以由一个或者多个摄像头拍摄生成,通过获取一个或者多个摄像头拍摄到的视频数据,即可获取到该目标视频。
获取到的目标视频中,既可能包含存在畸变的视频帧,也可能包含不存在畸变的视频帧,而本申请实施例中,具体是对存在畸变的视频进行处理,因此,可以根据目标视频中各帧视频帧的畸变情况,确定待处理视频,该待处理视频包括的各帧视频帧均为存在畸变的视频帧。
在一个实施例中,摄像头在拍摄得到目标视频时,其拍摄参数存在变化,该拍摄参数包括能够拍摄得到基本无畸变的视频帧的第一拍摄参数,还包括能够拍摄得到存在畸变的视频帧的第二拍摄参数。在该实施例中,可以将目标视频中,对应第二拍摄参数的视频帧确定为存在畸变情况的视频帧,从而将对应第二拍摄参数的各帧视频帧组合,即得到待处理视频。
在另一个实施例中,该目标视频根据多个摄像头拍摄得到的视频数据得到,其中,该多个摄像头包括存在镜头畸变的摄像头,还包括不存在镜头畸变的普通摄像头。示例性地,该存在镜头畸变的摄像头,可以为由广角镜头或者远摄镜头等存在镜头畸变的镜头组成的摄像头。在该多个摄像头中,每个摄像头可以存在其对应的唯一标识信息(例如设备码),而对于一个摄像头拍摄得到的各帧视频帧,可以携带该摄像头的唯一标识信息。可以通过提前存储各个摄像头的唯一标识信息及其镜头类型(包括存在镜头畸变的类型以及不存在镜头畸变的类型)的对应关系,并在获取到目标视频后,根据目标视频中的各帧视频帧携带的唯一标识信息及该对应关系,确定各帧视频帧对应的摄像头的镜头类型,若其对应的镜头类型为存在镜头畸变的类型,则将该视频帧判定为存在畸变情况的视频帧。根据存在畸变情况的各个视频帧,即可组合得到待处理视频。
在又一个实施例中,可以对目标视频中的各帧视频帧分别进行图像检测,并将存在变形的人脸图像、变形的物体图像的视频帧,确定为存在畸变情况的视频帧。根据存在畸变情况的各个视频帧,即可组合得到待处理视频。
可选地,所述待处理视频为通过目标摄像头拍摄得到的视频,所述目标摄像头为存在镜头畸变的摄像头。
本申请实施例中,目标摄像头为存在镜头畸变的摄像头,例如由广角镜头或者远摄镜头等存在透视失真的镜头组成的摄像头。由于该目标摄像头为存在镜头畸变的摄像头,因此该目标摄像头拍摄的视频中,每一帧视频帧通常为画面存在变形和失真的视频图像,即,每一帧视频帧通常存在畸变。因此,可以直接以该目标摄像头拍摄得到的视频,作为本申请实施例的存在畸变的待处理视频。在一个实施例中,可以在目标摄像头拍摄得到待处理视频之后,再对该完整的待处理视频中的每一非首帧视频帧分别进行处理,得到每帧非首帧视频帧的稳化视频帧,即,稳化视频帧的确定过程为非实时过程。在另一个实施例中,目标摄像头实时拍摄得到待处理视频的最新的非首帧视频帧后,即实时对该帧非首帧视频帧进行处理,确定该非首帧视频帧的矫正图像,并根据该矫正图像实时地输出该非首帧视频帧的稳化视频帧,从而实现待处理视频的实时稳化输出。
可选地,所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:
针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像。
本申请实施例中,对于待处理视频中的每一非首帧视频帧,可以根据拍摄该非首帧视频帧时的畸变参数,进行畸变矫正处理,得到该非首帧视频帧的矫正图像。
可选地,所述针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像,包括:
从所述待处理视频中获取所述非首帧视频帧;
根据预设的畸变复原映射矩阵及所述非首帧视频帧,生成所述非首帧视频帧的矫正图像;所述畸变复原映射矩阵用于表示非首帧视频帧与所述非首帧视频帧对应的矫正图像的像素坐标映射关系。
本申请实施例中,可以按序从待处理视频中获取一帧非首帧视频帧作为当前的待矫正的视频帧,或者,也可以从待处理视频中获取多帧非首帧视频帧一同作为当前的待矫正的视频帧,从而并行地对多帧非首帧视频帧进行畸变矫正处理。
本申请实施例中,预设的畸变复原映射矩阵为表示非首帧视频帧与该非首帧视频帧对应的矫正图像的像素坐标映射关系的矩阵。具体地,该畸变复原映射矩阵存储了预设的第一像素坐标与预设的第二像素坐标的对应关系。该第一像素坐标为根据该待处理视频的视频帧的图像大小,所预设的第一图像坐标系的像素坐标,该第一图像坐标系用于表示该待处理视频的视频帧被矫正后所对应的图像坐标系,即,该预设的第一图像坐标系能够表示非首帧视频帧对应的矫正图像的图像坐标系,因此,该预设的第一像素坐标能够表示非首帧视频帧对应的矫正图像的像素坐标。而该第二像素坐标为根据待处理视频的视频帧的图像大小,所预设的第二图像坐标系的像素坐标,该第二图像坐标系用于表示该待处理视频的视频帧被矫正前的图像坐标系,因此,该预设的第二像素坐标能够表示非首帧视频帧的像素坐标。从而,该预设的畸变复原映射矩阵中,存储的第一像素坐标与第二像素坐标的对应关系,即可表示非首帧视频帧对应的矫正图像的像素坐标与该非首帧视频帧的像素坐标的对应关系。
根据该预设的畸变复原映射矩阵,可以在生成非首帧视频帧对应的矫正图像之前,提前以该预设的第一像素坐标作为需要生成的矫正图像的像素坐标,依次确定该预设的第一像素坐标对应的第二像素坐标,从而在非首帧视频帧中获取像素坐标与该第二像素坐标一致的像素点的像素值(例如灰度值、RGB值),作为该预设的第一像素坐标的像素值,进而能够依次确定当前需要生成的非首帧视频帧的矫正图像的每个像素坐标对应的像素值,根据这些像素值,生成该非首帧视频帧的矫正图像。例如,设根据该畸变映射矩阵,确定预设的第一像素坐标(1,2)对应的第二像素坐标为(3,5),则从非首帧视频中获取与该第二像素坐标一致的像素坐标(3,5)的像素值(例如为灰度值125),根据该像素值,确定需生成的非首帧视频帧的矫正图像中,与该第一像素坐标一致的像素坐标(1,2)的像素值为灰度值125,以此类推,确定需生成的非首帧视频帧的矫正图像中每个像素坐标的像素值,最终生成该非首帧视频帧的矫正图像。
本申请实施例中,由于通过预设的畸变复原映射矩阵,能够快速确定非首帧视频帧与非首帧视频帧对应的矫正图像的像素坐标映射关系,因此能够根据该预设的畸变复原映射矩阵及该非首帧视频帧,快速地生成非首帧视频帧的矫正图像,从而提高视频处理效率。
可选地,在所述从所述待处理视频中获取所述非首帧视频帧之前,还包括:
根据所述待处理视频的拍摄参数,依次确定各个第一像素坐标对应的第二像素坐标;其中,所述拍摄参数包括内参矩阵和畸变参数;各个所述第一像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第一图像坐标系的像素坐标;所述第二像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第二图像坐标系的像素坐标;所述第一图像坐标系用于表示所述待处理视频的视频帧被矫正后所对应的图像坐标系,所述第二图像坐标系用于表示所述待处理视频的视频帧矫正前的图像坐标系;
根据所述第一像素坐标及所述第二像素坐标,得到畸变复原映射矩阵。
本申请实施例中,待处理视频的拍摄参数包括拍摄该待处理视频时,摄像头的内参矩阵及畸变参数。具体地,该内参矩阵包括水平方向的成像焦距、垂直方向的成像焦距以及光心坐标的信息的矩阵。该内参矩阵可以表示为
Figure BDA0002879226780000091
其中fx为目标摄像头在水平方向的成像焦距,fy为目标摄像头在垂直方向的成像焦距,cx、cy分别表示目标摄像头分别在水平、垂直方向成像的光心坐标。畸变参数包括光轴畸变参数及镜头畸变参数。光轴畸变参数包括水平方向上的光轴偏离角度τx、垂直方向上的光轴偏离角度τy。镜头畸变参数包括径向畸变系数、离心畸变系数及薄棱镜畸变系数;具体地,径向畸变系数可以包括k1~k6六个系数,分别为镜头径向畸变对应的泰勒级数展开式的前六个系数;离心畸变系数可以包括p1、p2两个系数,分别为镜头离心畸变对应的泰勒级数展开式的前两个系数;薄棱镜畸变系数可以包括s1~s4四个系数,分别为镜头径向畸变对应的泰勒级数展开式的前四个系数。即,畸变参数一共可以包括上述的k1、k2、k3、k4、k5、k6、p1、p2、s1、s2、s3、s4、τx、τy这14个参数。
本申请实施例中,第一像素坐标与第二像素坐标的定义如上所述,第一像素坐标为根据待处理视频的视频帧的图像大小而预设的,用于表示待处理视频的视频帧被矫正后所对应的第一图像坐标系的像素坐标。第二像素坐标为根据待处理视频的视频帧的图像大小而预设的,用于表示待处理视频的视频帧矫正前所对应的第二图像坐标系的像素坐标。由于该第一像素坐标为预设的表示待处理视频的视频帧被矫正后,所对应的第一图像坐标系的像素坐标,即该视频帧消除了畸变之后对应的像素坐标,因此,该第一像素坐标可以等价为在物理空间的待成像点经过不存在镜头畸变的摄像头拍摄后,得到的在不存在畸变的视频帧中的像素坐标。而该第二像素坐标可以等价为在物理空间的待成像点经过存在镜头畸变的摄像头拍摄后,得到的存在畸变的视频帧中的像素坐标。因此,本申请实施例中,可以根据第一像素坐标,确定该第一像素坐标对应的待成像点,再根据上述的内参矩阵及畸变参数,计算该待成像点经过存在镜头畸变的摄像头拍摄后,对应的第二像素坐标,从而确定各个第一像素坐标对应的第二像素坐标。
示例性地,以下对物理空间中的待成像点,通过存在镜头畸变的摄像头(即目标摄像头)拍摄时,生成待处理视频中对应的一帧存在畸变的视频帧的过程进行描述:
如图2所示,设待成像点P在世界坐标系的坐标为(Xw,Yw,Zw),在拍摄待成像点P时,先将该待成像点P在世界坐标系的坐标(Xw,Yw,Zw),通过旋转位移矩阵T转换为目标摄像头的相机坐标系的坐标(Xc,Yc,Zc),再对坐标(Xc,Yc,Zc)进行归一化处理,确定该待成像点在没有经过畸变前,应投影在目标摄像头的镜头前的归一化平面上的归一化坐标(x',y')。其中,归一化平面与目标摄像头的镜头光轴垂直,与相机坐标系的Xc-Yc平面平行,镜头光轴经过归一化平面x’-y’的坐标原点。上述三个坐标的转换关系如下式(称为归一化公式):
Figure BDA0002879226780000101
其中,旋转位移矩阵
Figure BDA0002879226780000102
r11~r33为用于描述旋转运动的元素,tx,ty,tz为用于描述平移运动的元素。
然而,由于目标摄像头为存在镜头畸变的摄像头,以及考虑到实际的成像平面难以准确地保持与镜头光轴垂直(即目标摄像头存在光轴畸变),因此,在实际的成像平面中的成像点,具体为经过镜头畸变、光轴畸变得到的成像点。具体地,假设在没有任何畸变的情况下,待成像点对应的归一化坐标为(x',y'),则根据预设的镜头畸变公式,可以确定该待成像点经过镜头畸变得到的归一化镜头畸变坐标(x”,y”),该预设的镜头畸变公式为:
Figure BDA0002879226780000111
其中,φx、φy分别为水平方向、垂直方向的镜头畸变模型函数,k1、k2、k3、k4、k5、k6、p1、p2、s1、s2、s3、s4为上述的镜头畸变参数,具体地,镜头畸变模型函数的表达式如下:
Figure BDA0002879226780000112
其中,r2=x'2+y'2
上述得到的待成像点对应的归一化镜头畸变坐标(x”,y”)会继续经过光轴畸变,得到经过镜头畸变、光轴畸变后的归一化畸变坐标(x”',y”')。归一化畸变坐标(x”',y”')可以根据归一化镜头畸变坐标(x”,y”)和预设的光轴畸变公式确定,该预设的光轴畸变公式为:
Figure BDA0002879226780000113
其中,
Figure BDA0002879226780000114
τx、τy为上述的光轴畸变参数,s为缩放因子;Q33xy)指代Q(τxy)中第三行第三列的项:cos(τy)cos(τx),Q13xy)指代Q(τxy)中第一行第三列的项:sin(τy)cos(τx),Q23xy)指代Q(τxy)中第二行第三列的项:sin(τx)。
待成像点经过上述的镜头畸变、光轴畸变得到在成像平面的归一化畸变坐标(x”',y”')后,根据上述的内参矩阵通过像素坐标计算公式进行计算,将归一化畸变坐标转换为图像上的像素坐标,得到待成像点最终在视频帧上的像素坐标(u,v)。该像素坐标计算公式如下:
Figure BDA0002879226780000121
其中,fx、fy分别为上述的目标摄像头分别在水平方向的成像焦距和在垂直方向的成像焦距,cx、cy分别为上述的目标摄像头在水平、垂直方向成像的光心坐标。
上述过程即为实际物理空间中的一个待成像点经过目标摄像头拍摄后,最终对应呈现在待处理视频的视频帧的畸变成像过程,该畸变成像过程可以概括为:待成像点在世界坐标系的坐标(Xw,Yw,Zw)→转化为相机坐标系的坐标(Xc,Yc,Zc)→投影到归一化平面,得到归一化坐标(x',y')→根据预设的镜头畸变公式,得到归一化镜头畸变坐标(x”,y”)→根据预设的光轴畸变公式,得到归一化畸变坐标(x”',y”')→根据预设的像素坐标计算公式,转化为存在畸变的视频帧中的像素坐标(u,v)。而若该待成像点经过不存在镜头畸变的摄像头进行拍摄,则最终呈现的不存在畸变的视频帧的成像过程可以概括如下:成像点在世界坐标系的坐标(Xw,Yw,Zw)→转化为相机坐标系的坐标(Xc,Yc,Zc)→投影到归一化平面,得到归一化坐标(x',y')→根据内参矩阵转化为不存在畸变的视频帧中的像素坐标(u',v')。
由于各个预设的第一像素坐标,能够等价为在物理空间中的待成像点经过不存在镜头畸变的摄像头拍摄后,得到的不存在畸变的视频帧中的像素坐标(u',v'),因此,可以根据拍摄参数中的内参矩阵以及上述的归一化公式,反向计算该第一像素坐标对应的待成像点在归一化平面上的归一化坐标,其计算公式如下:
Figure BDA0002879226780000122
之后,根据提前获取的内参矩阵、畸变参数,确定上述的镜头畸变公式、光轴畸变公式以及像素坐标公式中的各个系数,并仿照畸变成像过程,将该归一化坐标(x',y')代入该镜头畸变公式,得到归一化镜头畸变坐标(x”,y”)→将(x”,y”)代入该光轴畸变公式,得到归一化畸变坐标(x”',y”')→将(x”',y”')代入该像素坐标公式,得到畸变成像的第二像素坐标(u,v),从而最终得到第一像素坐标(u',v')对应在畸变成像的待处理视频的视频帧上的第二像素坐标。
按照上述方法,依次确定各个第一像素坐标对应的畸变成像的第二像素坐标。之后,将该第一像素坐标和第二像素坐标进行对应存储,即得到畸变复原映射矩阵。在一个实施例中,该畸变复原矩阵中的每一个矩阵元素均存储了对应的一个像素坐标的值及对应的一个第二像素坐标的值,从而实现第一像素坐标及第二像素坐标的对应存储。例如,设值为(1,1)的第一像素坐标对应的第二像素坐标的值为(5,2),则对应在畸变复原矩阵中的任意一个矩阵元素中存储“(1,1),(5,2)”的信息,从而实现这两个像素坐标的对应存储。在另一个实施例中,该畸变复原矩阵为二维矩阵,该二维矩阵中的每一个矩阵元素的行列位置对应一个第一像素坐标,从而,只需在各个矩阵元素中存储该第一像素坐标对应的第二像素坐标的值,即可实现第一像素坐标与第二像素坐标的对应存储。例如,对于值为(1,1)的第一像素坐标,其在畸变复原矩阵中对应的矩阵元素的行列位置为(1,1),而确定出的第一像素坐标对应的第二像素坐标为(5,2),则可以在该行列位置为(1,1)的矩阵元素中存储该第二像素坐标的值(5,2),即,畸变复原矩阵中第一行第一列的矩阵元素存储了信息“(5,2)”,该矩阵元素的行列位置即可唯一对应第一像素坐标(1,1),从而能够实现第一像素坐标与第二像素坐标的对应存储。
可选地,上述的内参矩阵和畸变参数,可以在拍摄待处理视频前,提前通过以下的相机标定步骤得到:
通过摄像头拍摄棋盘格物体,得到棋盘格图像;该摄像头为用于拍摄待处理视频的摄像头;
对所述棋盘格图像进行角点检测,确定角点像素坐标,所述角点图像坐标为所述棋盘格物体的角点在所述棋盘格图像上的像素坐标;
根据所述角点像素坐标及所述棋盘格物体的角点在世界坐标系上的坐标,以及,根据上述的归一化公式、镜头畸变公式、光轴畸变公式、像素坐标计算公式,标定摄像头的内参矩阵和畸变参数。
本申请实施例中,摄像头为用于拍摄待处理视频的摄像头,例如目标摄像头,可以通过提前标定该摄像头的内参矩阵和畸变参数,即可得到拍摄该待处理视频时的拍摄参数。棋盘格物体具体为具有黑白相间的多个棋盘格的物体,具体可以绘制有棋盘格的板或者一张棋盘格图片。棋盘格物体上的角点为棋盘格物体上黑色棋盘格与白色棋盘格的交界点,棋盘格物体的角点在世界坐标系上的坐标提前确定。具体地,设棋盘格物体上单个棋盘格的宽度为grid_w,高度为grid_h,则棋盘格物体上第i行第j列的角点在世界坐标系上的坐标为(Xw,Yw,Zw)ij=(i*grid_w,j*grid_h,0)。
通过摄像头拍摄该棋盘格物体,得到棋盘格图像,并对该棋盘格图像进行角点检测(可通过现有的基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测等方法实现角点检测),确定棋盘格图像上的角点像素坐标。每个角点图像坐标即为棋盘格物体的一个角点成像于该棋盘格图像的像素坐标,即,通过摄像头的拍摄,世界坐标系上棋盘格物体的每个角点经过上述的畸变成像过程,最终成像于棋盘格图像中的该角点像素坐标处。因此,可以根据提前确定的每个角点在世界坐标系上的坐标、该角点对应的角点像素坐标,以及上述畸变成像过程的归一化公式、预设的镜头畸变公式、预设的光轴畸变公式、像素坐标计算公式等式子建立方程,最终求解得到目标摄像头当前的旋转位移矩阵T、内参矩阵以及畸变参数,将该内参矩阵以及畸变参数作为已标定的数据进行存储。可选地,可以通过开启多线程、单指令多数据流(Single Instruction Multiple Data,SIMD)等方法来加速方程求解的过程,以提高内参矩阵及畸变参数的标定效率。
本申请实施例中,由于能够根据棋盘格物体对应的棋盘格图像中检测到的角点像素坐标,以及,提前确定的各个角点在世界坐标系上的坐标准确地建立方程求解,从而能够准确地通过相机标定方法确定用于拍摄待处理视频的摄像头的内参矩阵及畸变参数。
本申请实施例中,由于能够提前根据待处理视频对应的内参矩阵、畸变参数准确地得到畸变复原映射矩阵,从而能够保证对待处理视频的非首帧视频帧进行畸变矫正处理的准确性,使得后续能够准确地生成非首帧视频帧的稳化视频帧。
可选地,所述根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧,包括:
A1:根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵;
A2:根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
在步骤A1中,对于每一非首帧视频帧,根据该非首帧视频帧对应的矫正图像(简称为第一矫正图像),以及该非首帧视频帧的前一帧视频帧对应的矫正图像(简称为第二矫正图像),确定该非首帧视频帧的运动参数矩阵。该运动参数矩阵用于表示该非首帧视频帧与该非首帧视频帧的前一帧视频帧之间的射影变换关系,该射影变换关系即反映了:在拍摄该非首帧视频帧的前一帧视频帧和该非首帧视频帧这两帧视频帧时,由于摄像头运动所造成的视频帧的图像坐标系变换。由于非首帧视频帧及该非首帧视频帧的前一帧视频帧均为存在畸变的视频帧,而一般的运动估计算法都是基于不存在畸变的视频帧进行运动参数矩阵的估计的,因此,本申请实施例中,具体是将非首帧视频帧和非首帧视频帧的前一帧视频帧进行矫正处理,得到上述的第一矫正图像和第二矫正图后,再根据该第一矫正图像及第二矫正图像来确定该运动参数矩阵的。
具体地,对视频帧的图像坐标系进行运动建模,如图3所示。设坐标系
Figure BDA0002879226780000151
Figure BDA0002879226780000152
(即以图3所示点C为坐标原点,以轴
Figure BDA0002879226780000153
Figure BDA0002879226780000154
分别作为两个方向的坐标轴的坐标系)为第一矫正图像对应的坐标系,坐标系
Figure BDA0002879226780000155
(即以图3所示点O为坐标原点,以轴
Figure BDA0002879226780000161
Figure BDA0002879226780000162
分别作为两个方向的坐标轴的坐标系)为第二矫正图像对应的坐标系。其中,坐标系
Figure BDA0002879226780000163
中的
Figure BDA0002879226780000164
轴与坐标系
Figure BDA0002879226780000165
Figure BDA0002879226780000166
Figure BDA0002879226780000167
轴的夹角为θx,比例系数为
Figure BDA0002879226780000168
坐标系
Figure BDA0002879226780000169
中的
Figure BDA00028792267800001610
轴与坐标系
Figure BDA00028792267800001611
Figure BDA00028792267800001612
轴的夹角为θy,比例系数为
Figure BDA00028792267800001628
坐标系
Figure BDA00028792267800001629
的原点C与坐标系
Figure BDA00028792267800001615
的原点O在沿
Figure BDA00028792267800001616
轴方向的距离为dx=Sx·|OB|、沿
Figure BDA00028792267800001617
轴方向的距离为dx=Sy·|OA|。设视频帧的背景画面中某一点p在第二矫正图像中的坐标为
Figure BDA00028792267800001618
其对应在第一矫正图像中的坐标为
Figure BDA00028792267800001619
由图3,可得出以下几何关系:
∠PFE=∠PDO=∠GEO=∠PGE=∠PHI=∠PIO=∠PJK=∠IKO=90°
Figure BDA00028792267800001620
Figure BDA00028792267800001621
Figure BDA00028792267800001622
|OJ|+|OB|=|OK|-|JK|+|OB|
因此,结合比例系数Sx和dx=Sx·|OB|,可得
Figure BDA00028792267800001623
同样地,
Figure BDA00028792267800001624
Figure BDA00028792267800001625
Figure BDA00028792267800001626
|OF|+|OA|=|OE|+|EF|+|OA|,
因此,结合比例关系Sy和dx=Sy·|OA|,可得
Figure BDA00028792267800001627
综上,可得以下关系式:
Figure BDA0002879226780000171
Figure BDA0002879226780000172
其中,a=Sx·cos(θx),b=-Sx·sin(θx),c=dx,e=Sy·sin(θy),f=Sy·cos(θy),g=dy。
即,通过上述的系数a、b、c、e、f、g即可描述第二矫正图像上的像素点到第一矫正图像上的像素点的坐标变换关系,该坐标变换关系即能够体现从第二矫正图像到第一矫正图像的运动关系,因此可以根据a、b、c、e、f、g构建运动参数矩阵
Figure BDA0002879226780000173
该运动参数矩阵Mi即能够体现从第二矫正图像到第一矫正图像的射影变换关系,也即能够表示非首帧视频帧的前一帧视频帧到与该非首帧视频帧的射影变换关系,反映目标摄像头拍摄前后两帧视频帧时的运动情况。
可选地,所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:
针对待处理视频中的每一非首帧视频帧,按照预设缩放系数进行缩小处理,得到所述非首帧视频帧对应的缩略图;以及,根据所述缩略图,确定所述非首帧视频帧的矫正图像;
对应地,所述根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵,包括:
根据所述矫正图像,确定所述缩略图对应的运动参数矩阵;
根据所述缩略图对应的运动参数矩阵及所述预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
本申请实施例中,为了减少矫正处理及运动估计算法的计算量,先将非首帧视频帧进行缩小处理,得到对应的缩略图后,再进行矫正处理以及确定运动参数矩阵。具体地,对于每一非首帧视频帧,按照预设缩放系数对该非首帧视频帧进行缩小处理,得到目标尺寸的第一缩略图。之后,根据提前按照目标尺寸的缩略图标定存储的畸变复原映射矩阵,以及该第一缩略图,生成目标尺寸的第一矫正图像。同样地,该非首帧视频帧的前一帧视频帧也经过同样的缩小处理和畸变矫正处理,得到目标尺寸的第二矫正图像。
经过上述的处理,第一矫正图像和第二矫正图像均为图像大小小于原始的视频帧、且经过畸变矫正处理的视频图像,根据该第一矫正图像和第二矫正图像,通过运动估计算法,确定第一矫正图像相对于第二矫正图像的运动参数矩阵,该运动参数矩阵即为非首帧视频帧的缩略图对应的运动参数矩阵。由于该缩略图对应的运动参数矩阵具体是基于非首帧视频帧缩小处理后的第一缩略图得到的运动参数矩阵,因此在得到该缩略图对应的运动参数矩阵后,需将该缩略图对应的运动参数矩阵乘以预设缩放系数,得到原始尺寸的非首帧视频帧对应的运动参数矩阵。
可选地,运动估计算法对用于确定运动参数矩阵的第一矫正图像和第二矫正图像的规格有一定的要求,例如,要求图像的目标比例为16:9。设待处理视频的视频帧的原始尺寸为2048x1536,则需要先将该非首帧视频帧进行比例裁剪,裁剪为1920x1080的尺寸,以满足16:9的目标比例要求,之后再对该裁剪后的图像进行预设缩放系数的缩小处理,得到该非首帧视频帧对应的目标尺寸的第一矫正图像(例如预设缩放系数为10,则目标尺寸为192x 108)。同样地,第二矫正图像是对非首帧视频帧的前一帧视频帧进行比例裁剪及缩小处理后得到的目标尺寸的视频图像。由于非首帧视频帧具体是经过比例裁剪、缩小处理得到目标尺寸的缩略图后再进行矫正处理的,因此矫正处理所依据的畸变复原映射矩阵也为目标尺寸,该畸变复原映射矩阵的确定过程需结合上述的比例裁剪方式和预设缩放系数进行。示例性地,如图4所示,设在与原始的待处理视频的视频帧左上角点的水平距离为offsetx,垂直距离为offsety处进行裁剪,得到裁剪后的视频帧,并通过预设缩放系数s进行缩小处理,得到目标尺寸的缩略图,则对应地,根据待处理视频的视频帧的图像大小预设的第一像素坐标,具体为根据该待处理视频的视频帧进行缩小处理后的图像大小(即目标尺寸),所预设的像素坐标,该第一像素坐标(u',v')对应在归一化平面上的归一化坐标(x',y')的计算公式如下:
Figure BDA0002879226780000191
之后再将该归一化坐标(x',y')代入上述的镜头畸变公式,得到归一化镜头畸变坐标(x”,y”)→将(x”,y”)代入上述的光轴畸变公式,得到归一化畸变坐标(x”',y”')→将(x”',y”')代入上述的像素坐标公式,得到畸变成像对应的第二像素坐标(u,v)。按照上述方法,依次确定各个预设的第一像素坐标(u',v')对应的第二像素坐标(u,v),并将该第一像素坐标和第二像素坐标进行对应存储,得到畸变复原映射矩阵。
本申请实施例中,先将每一非首帧视频帧进行缩小处理得到对应的缩略图后再进行矫正处理以及确定运动参数矩阵,使得矫正处理和运动估计算法所需处理的图像尺寸较小,从而减少了矫正处理及运动估计算法的运算量,提高了运动参数矩阵的确定效率。
可选地,所述步骤A1包括:
A11:分别获取所述第一矫正图像的第一关键点以及所述第二矫正图像中与所述第一关键点匹配的第二关键点,得到各对关键点对;其中,一个第一关键点与其对应的所述第二关键点构成一对关键点对;
A12:根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵。
具体地,所述步骤A11包括:
通过特征点检测算法获取第一矫正图像的第一关键点;
根据所述第一关键点,通过稀疏光流算法得到在第二矫正图像中与所述第一关键点匹配的第二关键点,得到各对关键点对。
具体地,本申请实施例中,可以对第一矫正图像进行特征点检测,将检测到的特征点作为第一关键点。其中,特征点检测可以通过基于分段测试的特征点(Features fromAccelerated Segment Test,FAST)检测算法、二进制鲁棒不变的可缩放关键点(BinaryRobust Invariant Scalable Keypoints,BRISK)检测算法、尺度不变特征(Oriented Fastand Rotated Brief,ORB)检测算法等算法来实现。可选地,将第一矫正图像进行特征点检测得到特征点后,进一步进行特征点过滤,将特征点分布密集区域的部分特征点滤除,使得特征点在该第一矫正图像中均匀分布,将过滤后的特征点作为第一关键点。可选地,可通过网格过滤法进行特征点过滤,即,将第一矫正图像划分为若干个大小相等的网格,每个网格中保留数量相等的特征点作为第一关键点。通过特征点滤除过实现了关键点在图像中的均匀分布,避免纹理密集区域出现过多的关键点,提高后续通过稀疏光流算法找到对应的第二关键点的准确性和效率,同时能减少后续运动参数矩阵确定的计算量。
在得到第一关键点后,通过稀疏光流算法确定第二矫正图像中与各个第一关键点一一对应的各个第二关键点,得到各对关键点对。其中,一个第一关键点与其对应的第二关键点构成一对关键点对。本申请实施例中,稀疏光流算法为现有的一类专门针对图像上稀疏的点进行图像配准的方法,即在参考图上给定若干个点(即本申请实施例中在第一矫正图像中确定的第一关键点),找到其在当前图像中的对应点(即本申请实施例中第二矫正图像中对应的第二关键点)。
在得到关键点对集合后,在步骤A12中,根据各个关键点对中的第一关键点的第一坐标和对应的各个第二关键点的第二坐标,确定第一坐标到第二坐标的射影变换关系,从而确定非首帧视频帧的运动参数矩阵。
可选地,所述第一矫正图像具体为所述非首帧视频帧的缩略图对应的矫正图像,所述第二矫正图像具体为所述非首帧视频帧的前一帧视频帧的缩略图对应的矫正图像,对应地,所述步骤A12,包括:
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的缩略图对应的运动参数矩阵;
根据所述非首帧视频帧的缩略图对应的运动参数矩阵,以及预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
本申请实施例中,第一矫正图像具体为:非首帧视频帧的缩略图对应的矫正图像,第二矫正图像具体为:非首帧视频帧的前一帧视频帧的缩略图对应的矫正图像,因此,通过第一矫正图像中的第一关键点的第一坐标,以及对应的第二矫正图像中的第二关键点的第二坐标,确定出的运动参数矩阵,为非首帧视频帧的缩略图对应的运动参数矩阵。
在确定该非首帧缩略图对应的运动参数矩阵后,需要乘以预设缩放系数,从而得到该非首帧视频帧的运动参数。其中,该预设缩放参数为缩略图相对于待处理视频的视频帧所缩小的倍数。
本申请实施例中,为了进一步减少矫正处理和运动参数矩阵确定过程中的运算量,第一矫正图像为非首帧视频帧的缩略图对应的矫正图像,第二矫正图像为非首帧视频帧的前一帧视频帧的缩略图对应的矫正图像,根据这两个矫正图像,能够更快速地确定非首帧视频帧的缩略图对应的运动参数矩阵,并在之后结合预设缩放系数,即能够方便准确地确定非首帧视频帧的运动参数矩阵,从而提高确定运动参数矩阵的效率。
可选地,上述的步骤A12,包括:
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,利用预设优化函数,计算得到所述运动参数矩阵;
所述预设优化函数为:
Figure BDA0002879226780000211
在所述预设优化函数中,arg max为求解
Figure BDA0002879226780000221
最大值时,对应的参数a、b、c、e、f、g的值的函数,所述参数a、b、c、e、f、g为运动参数矩阵Mi的矩阵元素;k为关键点对的序号,K为关键点对的总数量,且k、K均为正整数;当
Figure BDA0002879226780000222
Figure BDA0002879226780000223
时,所述预设优化函数中的zk=1,否则,zk=0;其中,
Figure BDA0002879226780000224
为序号为k的关键点对中的所述第一关键点的第一坐标,
Figure BDA0002879226780000225
为序号为k的关键点对中的所述第二关键点的第二坐标,μ为预设的误差阈值。
本申请实施例中,对于运动参数矩阵
Figure BDA0002879226780000226
具体利用预设优化函数
Figure BDA0002879226780000227
求解
Figure BDA0002879226780000228
值最大时,对应的参数a、b、c、e、f、g的值作为运动参数矩阵Mi的矩阵元素的值,从而确定出该运动参数矩阵Mi
具体地,设
Figure BDA0002879226780000229
为第一矫正图像中第k个第一关键点,
Figure BDA00028792267800002210
为该第一关键点的第一坐标(其中i为非首帧视频帧的帧序号,ti为该非首帧视频帧的时间戳),设
Figure BDA00028792267800002211
为第二矫正图像中与第k个第一关键点对应的第二关键点,
Figure BDA00028792267800002212
Figure BDA00028792267800002213
为该第二关键点的第二坐标(其中i-1为非首帧视频帧的前一帧视频帧的帧序号,ti-1为非首帧视频帧的前一帧视频帧的时间戳),Mi为待确定的运动参数矩阵,则可构建超定方程
Figure BDA00028792267800002214
并通过最小二乘法估计得到运动参数矩阵
Figure BDA00028792267800002215
具体地,该超定方程可以表示为:
Figure BDA00028792267800002216
则,运动参数矩阵的最优解为,使得
Figure BDA0002879226780000231
Figure BDA0002879226780000232
在误差范围内相等,并且
Figure BDA0002879226780000233
Figure BDA0002879226780000234
在误差范围内相等的解。因此,可以构建预设优化函数
Figure BDA0002879226780000235
以μ为预设的误差阈值,当
Figure BDA0002879226780000236
Figure BDA0002879226780000237
时,zk=1;否则,zk=0;从而求得
Figure BDA0002879226780000238
值最大时,a、b、c、e、f、g的值即为最优解,从而准确得到该运动参数矩阵
Figure BDA0002879226780000239
其中,预设的误差阈值μ单位可以为像素,其大小可以根据实际情况进行设置,例如,可以取1像素、2像素等。
示例性地,可以从关键点对集合中获取三对关键点对(设关键点序号为k=1、k=2、k=3)的坐标,并构建如下的线性方程组进行求解运算:
Figure BDA00028792267800002310
通过以上的线性方程组,可以求解得到多组a、b、c、e、f、g的解,并从这多组解中获取使得
Figure BDA00028792267800002311
的值最大的一组a、b、c、e、f、g的解作为最终解,并根据该最终解得到运动参数矩阵Mi
可选地,本申请实施例中,除了步骤A1中所述的根据矫正图像,确定非首帧视频帧的运动参数矩阵,还可以通过获取拍摄该待处理视频时的镜头运动数据,对非首帧视频帧以及非首帧视频帧的前一帧视频帧之间进行运动估计,从而确定运动参数矩阵。具体地,包括:
若获取到所述待处理视频对应的镜头运动数据,则根据所述镜头运动数据,确定所述运动参数矩阵;其中,所述待处理视频对应的镜头运动数据反映了拍摄所述待处理视频时摄像头的运动状态。
本申请实施例中,待处理视频对应的镜头运动数据反映了拍摄该待处理视频时摄像头的运动状态,该镜头运动数据可以为辅助传感器(例如陀螺仪)的数据,通过该镜头运动数据,即可确定拍摄前后两帧视频帧时摄像头经过的运动变化,从而能够根据该运动变化确定前后两帧视频帧之间的射影变换关系,得到该运动参数矩阵。进一步地,运动参数矩阵的确定需要足够量的镜头运动数据,因此,可以在检测到获取的镜头运动数据的数据量达到预设数据量(例如100组镜头运动数据)时,根据这些镜头运动数据进行运动估计,确定运动参数矩阵。
具体地,该镜头运动数据为陀螺仪数据,该陀螺仪与拍摄该待处理视频的摄像头的相对位置关系保持固定,使得该陀螺仪测得的数据能够反映摄像头的运动状态。而虽然陀螺仪的数据能够反映摄像头的运动状态,但是由于该陀螺仪与摄像头毕竟不是同一装置,因此,本申请实施例中,在以陀螺仪的数据作为镜头运动数据时,还进一步采用预设的标定参数作为描述镜头运动数据的误差的参数,从而根据该镜头运动参数及该标定参数,能够准确地得到反映摄像头实际运动情况的运动参数矩阵。
具体地,当运动数据具体为陀螺仪数据时,该陀螺仪的数据包括陀螺仪采集到的三个方向的瞬时转速,可以表示为ωt=[ux,uy,uz]。标定参数包括拍摄待处理视频的摄像头与陀螺仪的时间戳差值td、陀螺仪的转动误差qd、摄像头的单帧成像耗时ts,以及摄像头的内参矩阵L。其中,摄像头和陀螺仪的时间戳差值是由于摄像头和陀螺仪不是同一装置,即二者采用不同的时间戳产生的,例如,对于摄像头来说,当前时刻为t1,而对于陀螺仪来说,当前时刻可能为t2,t1和t2之间的差异即为摄像头和陀螺仪的时间戳差值;陀螺仪的运动误差是由于陀螺仪采集的陀螺仪数据为三个方向的瞬时转速,而具体是需要得到陀螺仪的运动幅度才能够反映陀螺仪的运动变换情况,该陀螺仪的转动幅度是根据累计一段时间的多个瞬时转速进行积分运算得到的,由于该瞬时转速为离散数值,因此根据陀螺仪数据获取到的陀螺仪的运动幅度存在误差,该误差即为陀螺仪的转动误差。摄像头的单帧成像耗时为摄像头拍摄得到一帧视频图像所需要的时长;摄像头的内参矩阵具体由摄像头水平方向的成像焦距fx、摄像头垂直方向的成像焦距fy、摄像头水平、垂直方向成像的光心坐标cx和cy,以及摄像头的总畸变参数τ组成,其中总畸变参数τ具体可以由上述的光轴畸变参数和镜头畸变参数计算得到,例如可以为各个光轴畸变参数的值与各个镜头畸变参数的值累加得到的值;该摄像头的内参矩阵可以表示为
Figure BDA0002879226780000251
本申请实施例中,可以通过以下的运动估计公式来确定运动估计参数:
Figure BDA0002879226780000252
其中,Mi为待求解的运动参数矩阵,ωt为陀螺仪在t时刻的瞬间转速,q(ωt)为ωt的四元组矩阵表示,
Figure BDA0002879226780000253
表示所述陀螺仪在
Figure BDA0002879226780000254
时刻到
Figure BDA0002879226780000255
时刻的累计旋转幅度的四元组矩阵表示,如前文所述
Figure BDA0002879226780000256
为摄像头的内参矩阵,qd为所述陀螺仪的转动误差,td表示所述摄像头和所述陀螺仪的时间戳差值,ts表示所述摄像头单帧成像耗时,U()为对括号中的内容转换得到的3*3矩阵。
具体地,上述的ωt的四元组矩阵q(ωt)的确定过程如下:根据ωt=[ux,uy,uz]提取模数
Figure BDA0002879226780000257
模数N表示转动速度,单位是弧度/秒。
Figure BDA0002879226780000258
表示转动方向。定义
Figure BDA0002879226780000259
将所述陀螺仪数据转换为四元组矩阵
Figure BDA0002879226780000261
具体地,两个四元组矩阵q1=[l1,m1,n1,o1]、q2=[l2,m2,n2,o2]对应的陀螺仪数据之间的累计旋转幅度可以通过如下方式计算:
Figure BDA0002879226780000262
而对于四元组矩阵[l,m,n,o]通过如下形式转换为3*3旋转矩阵:
Figure BDA0002879226780000263
根据上述方式可以计算出
Figure BDA0002879226780000264
进而计算得到Mi
在步骤A2中,在得到非首帧视频帧的运动参数矩阵Mi后,即可以根据该运动参数矩阵Mi,对该非首帧视频帧进行射影变换处理,得到该非首帧视频帧对应的稳化视频帧。
可选地,上述的步骤A2,具体包括:
A21:通过预设滤波器对所述运动参数矩阵进行处理,得到与所述运动参数矩阵对应的平滑运动矩阵;
A22:根据所述运动参数矩阵及所述平滑运动矩阵,确定射影变换矩阵;
A23:根据所述射影变换矩阵对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
本申请实施中,根据运动参数矩阵确定稳化视频帧的原理框架示意图如图5所示。其中,Fi表示待处理视频中的第i帧视频帧;Si表示该第i帧视频帧对应的稳化视频帧;Mi表示第i-1帧视频帧变化为第i帧视频帧的运动参数矩阵,Mi反映了目标摄像头在拍摄第i-1帧和第i帧视频帧之间产生的射影变换关系;Ki表示对Mi进行平滑处理后的平滑运动矩阵;Ri表示第i帧视频帧对应的仿射变换矩阵,可根据迭代法则推导得出。于是,对于待处理视频的第i帧视频帧,可以通过射影变换公式Si=Trans(Fi,Ri)计算来获得稳化后的图像,函数Trans()表示射影变换。
在A21中,对于每个非首帧视频帧的运动参数矩阵Mi,先通过预设滤波器对所述运动参数矩阵Mi进行处理,得到与所述运动参数矩阵Mi对应的平滑运动矩阵Ki。其中,该预设滤波器可以为单向均值平滑滤波器、高斯加权平滑滤波器或者卡尔曼(Kalman)滤波器。可选地,可以通过多组卡尔曼滤波器分别对运动参数矩阵Mi中的a、b、c、e、f、g中的每一项进行滤波处理,从而得到Mi对应的平滑运动矩阵Ki
在A22中,如图5所示的F1表示待处理视频中的第一帧视频帧,即首帧视频帧,S1表示第一帧视频帧对应的稳化视频帧。通常,该首帧视频帧为后续拍摄到的非首视频帧的画面抖动程度的参照基准,即其它非首帧视频帧的画面抖动为相对于首帧视频帧的画面所发生的画面整体的抖动。在一个实施例中,该首帧视频帧作为参照基准,虽然不需要进行稳化处理,但是需要裁剪为指定的尺寸进行输出,因此,可以将预设的中心裁剪矩阵Mc等效为首帧视频帧的运动参数矩阵,该稳化中心裁剪矩阵为提前设定的矩阵,通过稳化中心裁剪矩阵可以使得输出的目标视频帧按照指定的画面尺寸和位置方向稳定输出。具体地,设指定的中心裁剪比例为img_r,目标摄像头拍摄的原始的视频帧的高为img_height、img_width,则:
Figure BDA0002879226780000271
对于首帧视频帧F1,直接令射影变换矩阵R1=Mc,并代入射影变换公式S1=Trans(F1,R1)进行运算,即可得到该首帧视频帧对应的目标视频帧S1。在另一个实施例中,该首帧视频帧无需裁剪为指定的尺寸进行输出,可以直接将该首帧视频帧F1作为该自身对应的稳化视频帧S1,则此时R1=Mc=1,S1=Trans(F1,R1)=F1
而由图5可知:F2≈Trans(F1,M2),
Figure BDA0002879226780000281
S1≈Trans(F1,Mc),S2≈Trans(F2,K2),由射影变换连乘法可以推导得出
Figure BDA0002879226780000282
因此,由数学归纳法可得:
Figure BDA0002879226780000283
其中,
Figure BDA0002879226780000284
当i=1时,R1=Mc
根据上式,即可得到待处理视频的各个非首帧视频帧对应的射影变换矩阵。
在A23中,在确定出非首帧视频帧Fi的射影变换矩阵Ri后,可以根据上述的射影变换公式Si=Trans(Fi,Ri),对该非首帧视频帧Fi进行射影变换处理,即得到该非首帧视频帧对应的稳化视频帧Si
本申请实施例中,由于先将运动参数矩阵通过预设滤波器进行滤波处理得到平滑运动矩阵,并根据该平滑运动矩阵进一步推导仿射变换矩阵,使得根据该仿射变换矩阵能够准确地得到各个非首帧视频帧对应的稳化视频帧。
在S102中,根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
在一个实施例中,上述的中心裁剪矩阵Mc=1,即待处理视频无需裁剪为指定的尺寸再进行输出,则此时,直接根据该首帧视频帧和上一步骤求得的每一非首帧视频这各自分别对应的稳化视频帧,即可生成该待处理视频对应的稳化视频。在另一个实施例中,上述的中心裁剪矩阵
Figure BDA0002879226780000285
则先根据该中心裁剪矩阵对该首帧视频帧进行裁剪,得到该首帧视频帧对应的稳化视频帧,之后,根据该首帧视频帧对应的稳化视频帧以及各个非首帧视频帧各自分别对应的稳化视频帧,生成该待处理视频对应的稳化视频帧。
本申请实施例中,由于对于待处理视频中的每一非首帧视频帧,能够先确定该非首帧视频帧的矫正图像后,再根据该矫正图像,确定非首帧视频帧的稳化视频帧,因此,即使非首帧视频帧存在畸变,也能够准确地确定其对应的稳化视频帧;由于该稳化视频帧能够准确地减少非首帧视频帧的画面抖动程度,因此,最终根据首帧视频帧及每一非首帧视频帧对应的稳化视频帧,能够准确地生成待处理视频对应的稳化视频,即,使得该待处理视频最终能够以稳化视频的形式,呈现稳定、基本无抖动的视频画面。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
图6示出了本申请实施例提供的一种视频处理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:
该视频处理装置包括:稳化视频帧确定单元61、稳化视频生成单元62。其中:
稳化视频帧确定单元61,用于针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;
稳化视频生成单元62,用于根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
可选地,所述视频处理装置,还包括:
目标视频获取单元,用于获取目标视频;
待处理视频确定单元,用于根据所述目标视频中各帧视频帧的畸变情况,确定待处理视频。
可选地,所述稳化视频帧确定单元61中的针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像。
可选地,所述稳化视频帧确定单元61中针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像,包括:
从所述待处理视频中获取所述非首帧视频帧;
根据预设的畸变复原映射矩阵及所述非首帧视频帧,生成所述非首帧视频帧的矫正图像;所述畸变复原映射矩阵用于表示非首帧视频帧与所述非首帧视频帧对应的矫正图像的像素坐标映射关系。
可选地,所述视频处理装置,还包括:
畸变复原映射矩阵确定单元,用于根据所述待处理视频的拍摄参数,依次确定各个第一像素坐标对应的第二像素坐标;其中,所述拍摄参数包括内参矩阵和畸变参数;各个所述第一像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第一图像坐标系的像素坐标;所述第二像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第二图像坐标系的像素坐标;所述第一图像坐标系用于表示所述待处理视频的视频帧被矫正后所对应的图像坐标系,所述第二图像坐标系用于表示所述待处理视频的视频帧矫正前的图像坐标系;根据所述第一像素坐标及所述第二像素坐标,得到畸变复原映射矩阵。
可选地,所述稳化视频帧确定单元61中根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧,包括:
根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵;
根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
可选地,所述稳化视频帧确定单元61中针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:针对待处理视频中的每一非首帧视频帧,按照预设缩放系数进行缩小处理,得到所述非首帧视频帧对应的缩略图;以及,根据所述缩略图,确定所述非首帧视频帧的矫正图像;对应地,所述根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵,包括:根据所述矫正图像,确定所述缩略图对应的运动参数矩阵;根据所述缩略图对应的运动参数矩阵及所述预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
可选地,所述矫正图像包括第一矫正图像及第二矫正图像,所述第一矫正图像为所述非首帧视频帧对应的矫正图像,所述第二矫正图像为所述非首帧视频帧的前一帧视频帧对应的矫正图像;所述稳化视频帧确定单元61中根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵,包括:分别获取所述第一矫正图像的第一关键点以及所述第二矫正图像中与所述第一关键点匹配的第二关键点,得到各对关键点对;其中,一个第一关键点与其对应的所述第二关键点构成一对关键点对;根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵。
可选地,所述第一矫正图像具体为所述非首帧视频帧的缩略图对应的矫正图像,所述第二矫正图像具体为所述非首帧视频帧的前一帧视频帧的缩略图对应的矫正图像,对应地,所述稳化视频帧确定单元61中,根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵,包括:根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的缩略图对应的运动参数矩阵;根据所述非首帧视频帧的缩略图对应的运动参数矩阵,以及预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
可选地,所述稳化视频帧确定单元61中,根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵,包括:
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,利用预设优化函数,计算得到所述运动参数矩阵;
所述预设优化函数为:
Figure BDA0002879226780000311
在所述预设优化函数中,arg max为求解
Figure BDA0002879226780000321
最大值时,对应的参数a、b、c、e、f、g的值的函数,所述参数a、b、c、e、f、g为运动参数矩阵Mi的矩阵元素;k为关键点对的序号,K为关键点对的总数量,且k、K均为正整数;当
Figure BDA0002879226780000322
Figure BDA0002879226780000323
时,所述预设优化函数中的zk=1,否则,zk=0;其中,
Figure BDA0002879226780000324
为序号为k的关键点对中的所述第一关键点的第一坐标,
Figure BDA0002879226780000325
为序号为k的关键点对中的所述第二关键点的第二坐标,μ为预设的误差阈值。
可选地,所述视频处理装置,还包括:
镜头运动数据获取单元,用于若获取到所述待处理视频对应的镜头运动数据,则根据所述镜头运动数据,确定所述运动参数矩阵;其中,所述待处理视频对应的镜头运动数据反映了拍摄所述待处理视频时摄像头的运动状态。
可选地,所述稳化视频帧确定单元61中,根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧,包括:通过预设滤波器对所述运动参数矩阵进行处理,得到与所述运动参数矩阵对应的平滑运动矩阵;根据所述运动参数矩阵及所述平滑运动矩阵,确定射影变换矩阵;根据所述射影变换矩阵对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
可选地,所述待处理视频为通过目标摄像头拍摄得到的视频,所述目标摄像头为存在镜头畸变的摄像头。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三:
图7是本申请一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如视频处理程序。所述处理器70执行所述计算机程序72时实现上述各个视频处理方法实施例中的步骤,例如图1所示的步骤S101至S102。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元61至62的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成稳化视频帧确定单元、稳化视频生成单元,各单元具体功能如下:
稳化视频帧确定单元,用于针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧。
稳化视频生成单元,用于根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (16)

1.一种视频处理方法,其特征在于,包括:
针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;
根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
2.如权利要求1所述的视频处理方法,其特征在于,在所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像之前,还包括:
获取目标视频;
根据所述目标视频中各帧视频帧的畸变情况,确定待处理视频。
3.如权利要求1所述的视频处理方法,其特征在于,所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:
针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像。
4.如权利要求3所述的视频处理方法,其特征在于,所述针对待处理视频中的每一非首帧视频帧,进行畸变矫正处理,得到所述非首帧视频帧的矫正图像,包括:
从所述待处理视频中获取所述非首帧视频帧;
根据预设的畸变复原映射矩阵及所述非首帧视频帧,生成所述非首帧视频帧的矫正图像;所述畸变复原映射矩阵用于表示非首帧视频帧与所述非首帧视频帧对应的矫正图像的像素坐标映射关系。
5.如权利要求4所述的视频处理方法,其特征在于,在所述从所述待处理视频中获取所述非首帧视频帧之前,还包括:
根据所述待处理视频的拍摄参数,依次确定各个第一像素坐标对应的第二像素坐标;其中,所述拍摄参数包括内参矩阵和畸变参数;各个所述第一像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第一图像坐标系的像素坐标;所述第二像素坐标为根据所述待处理视频的视频帧的图像大小所预设的第二图像坐标系的像素坐标;所述第一图像坐标系用于表示所述待处理视频的视频帧被矫正后所对应的图像坐标系,所述第二图像坐标系用于表示所述待处理视频的视频帧矫正前的图像坐标系;
根据所述第一像素坐标及所述第二像素坐标,得到畸变复原映射矩阵。
6.如权利要求1所述的视频处理方法,其特征在于,所述根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧,包括:
根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵;
根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
7.如权利要求6所述的视频处理方法,其特征在于,所述针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像,包括:
针对待处理视频中的每一非首帧视频帧,按照预设缩放系数进行缩小处理,得到所述非首帧视频帧对应的缩略图;以及,根据所述缩略图,确定所述非首帧视频帧的矫正图像;
对应地,所述根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵,包括:
根据所述矫正图像,确定所述缩略图对应的运动参数矩阵;
根据所述缩略图对应的运动参数矩阵及所述预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
8.如权利要求6所述的视频处理方法,其特征在于,所述矫正图像包括第一矫正图像及第二矫正图像,所述第一矫正图像为所述非首帧视频帧对应的矫正图像,所述第二矫正图像为所述非首帧视频帧的前一帧视频帧对应的矫正图像;所述根据所述矫正图像,确定所述非首帧视频帧的运动参数矩阵,包括:
分别获取所述第一矫正图像的第一关键点以及所述第二矫正图像中与所述第一关键点匹配的第二关键点,得到各对关键点对;其中,一个第一关键点与其对应的所述第二关键点构成一对关键点对;
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵。
9.如权利要求8所述的视频处理方法,其特征在于,所述第一矫正图像具体为所述非首帧视频帧的缩略图对应的矫正图像,所述第二矫正图像具体为所述非首帧视频帧的前一帧视频帧的缩略图对应的矫正图像,对应地,所述根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵,包括:
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的缩略图对应的运动参数矩阵;
根据所述非首帧视频帧的缩略图对应的运动参数矩阵,以及预设缩放系数,确定所述非首帧视频帧的运动参数矩阵。
10.如权利要求8所述的视频处理方法,其特征在于,所述根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,确定所述非首帧视频帧的运动参数矩阵,包括:
根据各个所述关键点对中的所述第一关键点的第一坐标和对应的各个所述第二关键点的第二坐标,利用预设优化函数,计算得到所述运动参数矩阵;
所述预设优化函数为:
Figure FDA0002879226770000031
在所述预设优化函数中,arg max为求解
Figure FDA0002879226770000032
最大值时,对应的参数a、b、c、e、f、g的值的函数,所述参数a、b、c、e、f、g为运动参数矩阵Mi的矩阵元素;k为关键点对的序号,K为关键点对的总数量,且k、K均为正整数;当
Figure FDA0002879226770000033
Figure FDA0002879226770000034
时,所述预设优化函数中的zk=1,否则,zk=0;其中,
Figure FDA0002879226770000035
为序号为k的关键点对中的所述第一关键点的第一坐标,
Figure FDA0002879226770000041
为序号为k的关键点对中的所述第二关键点的第二坐标,μ为预设的误差阈值。
11.如权利要求6所述的视频处理方法,其特征在于,在所述根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧之前,还包括:
若获取到所述待处理视频对应的镜头运动数据,则根据所述镜头运动数据,确定所述运动参数矩阵;其中,所述待处理视频对应的镜头运动数据反映了拍摄所述待处理视频时摄像头的运动状态。
12.如权利要求6至11任意一项所述的视频处理方法,其特征在于,所述根据所述非首帧视频帧的运动参数矩阵,对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧,包括:
通过预设滤波器对所述运动参数矩阵进行处理,得到与所述运动参数矩阵对应的平滑运动矩阵;
根据所述运动参数矩阵及所述平滑运动矩阵,确定射影变换矩阵;
根据所述射影变换矩阵对所述非首帧视频帧进行变换处理,得到所述非首帧视频帧的稳化视频帧。
13.如权利要求1所述的视频处理方法,其特征在于,所述待处理视频为通过目标摄像头拍摄得到的视频,所述目标摄像头为存在镜头畸变的摄像头。
14.一种视频处理装置,其特征在于,包括:
稳化视频帧确定单元,用于针对待处理视频中的每一非首帧视频帧,确定所述非首帧视频帧的矫正图像;以及,根据所述矫正图像,确定所述非首帧视频帧的稳化视频帧;
稳化视频生成单元,用于根据所述待处理视频中的首帧视频帧和每一非首帧视频帧各自分别对应的稳化视频帧,生成所述待处理视频对应的稳化视频。
15.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得终端设备实现如权利要求1至13任一项所述方法的步骤。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得终端设备实现如权利要求1至13任一项所述方法的步骤。
CN202011638369.7A 2020-12-31 2020-12-31 视频处理方法、装置、终端设备及存储介质 Pending CN114697542A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011638369.7A CN114697542A (zh) 2020-12-31 2020-12-31 视频处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011638369.7A CN114697542A (zh) 2020-12-31 2020-12-31 视频处理方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN114697542A true CN114697542A (zh) 2022-07-01

Family

ID=82135683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011638369.7A Pending CN114697542A (zh) 2020-12-31 2020-12-31 视频处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114697542A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115656175A (zh) * 2022-12-09 2023-01-31 海南浙江大学研究院 一种背光成像的浮游生物监测系统及数据处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115656175A (zh) * 2022-12-09 2023-01-31 海南浙江大学研究院 一种背光成像的浮游生物监测系统及数据处理方法

Similar Documents

Publication Publication Date Title
CN107633536B (zh) 一种基于二维平面模板的相机标定方法及系统
WO2021115071A1 (zh) 单目内窥镜图像的三维重建方法、装置及终端设备
CN111354042B (zh) 机器人视觉图像的特征提取方法、装置、机器人及介质
CN107705333B (zh) 基于双目相机的空间定位方法及装置
WO2014061372A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
WO2016065632A1 (zh) 一种图像处理方法和设备
WO2022156755A1 (zh) 一种室内定位方法、装置、设备和计算机可读存储介质
WO2017091927A1 (zh) 图像处理方法和双摄像头系统
WO2021208486A1 (zh) 一种相机坐标变换方法、终端以及存储介质
CN110517209B (zh) 数据处理方法、装置、系统以及计算机可读存储介质
CN106570907B (zh) 一种相机标定方法及装置
CN113029128B (zh) 视觉导航方法及相关装置、移动终端、存储介质
CN114494388B (zh) 一种大视场环境下图像三维重建方法、装置、设备及介质
WO2019232793A1 (zh) 双摄像头标定方法、电子设备、计算机可读存储介质
CN111340737A (zh) 图像矫正方法、装置和电子系统
CN113643414A (zh) 一种三维图像生成方法、装置、电子设备及存储介质
CN111882655B (zh) 三维重建的方法、装置、系统、计算机设备和存储介质
CN114697542A (zh) 视频处理方法、装置、终端设备及存储介质
CN115705651A (zh) 视频运动估计方法、装置、设备和计算机可读存储介质
CN111353945B (zh) 鱼眼图像校正方法、装置及存储介质
CN111432117A (zh) 图像矫正方法、装置和电子系统
CN115435790A (zh) 一种视觉定位与视觉里程计位姿融合的方法及系统
Georgiev et al. A fast and accurate re-calibration technique for misaligned stereo cameras
WO2018100230A1 (en) Method and apparatuses for determining positions of multi-directional image capture apparatuses
WO2021114883A1 (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