本申请是申请日为2019年7月23日、申请号为201910664290.2、发明名称为“一种相机镜头平滑处理方法、装置及便携式终端”的发明专利申请的分案申请。
本发明属于视频领域,尤其涉及一种运动相机镜头的平滑处理方法、装置及便携式终端。
背景技术:
目前运动相机在拍摄运动场景时,会造成拍摄视频镜头出现抖动现象,影响视频的拍摄质量和观看体验。因此有必要研究一种改善相机视频镜头抖动的方法。
目前解决办法之一是使用云台稳定相机,使其拍摄画面稳定,该方案的缺点是云台体积大,且并没有完全解决手持全景拍摄设备拍摄视频是画面抖动的问题;中国专利“一种用于微纳卫星的视频稳像方法,授权公告号:cn106027852b”公开了一种微纳卫星的视频稳像方法,该方法旨在利用搭建好的微纳卫星平台上,仅使用一种姿态传感器陀螺仪,利用其获取的物理信息,结合微小相机拍摄的视频信息,对抖动的视频进行处理,实现稳像,该方法需要用到视频信息进行前后帧匹配等,过程较为复杂。
本发明提出了一种相机镜头自适应平滑处理方法,该方法通过相机的陀螺仪信息获取相机的姿态矩阵,经过平滑处理计算相机的平滑旋转矩阵并对视频进行旋转,实现了相机镜头自适应平滑的防抖效果。
技术实现要素:
本发明提出一种相机镜头的平滑处理方法、装置及便携式终端,旨在使运动相机视频镜头可以自适应调整,防止视频镜头抖动,本发明可以在平滑的同时,尽最大的可能减小裁剪视角。
第一方面,本发明提供了一种相机镜头的平滑处理方法,所述方法包括:
获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频;
其中,所述对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵具体包括:
对第一旋转矩阵进行第一平滑得到第二旋转矩阵;
根据限制平滑最大幅度值计算相机的第三旋转矩阵。
第二方面,本发明提供了一种相机镜头的平滑处理装置,所述装置包括:
获取模块,用于获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
第一计算模块,用于对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
第二计算模块,用于根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
旋转模块,用于根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频;
其中,所述第一计算模块对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵具体包括:
对第一旋转矩阵进行第一平滑得到第二旋转矩阵;
根据限制平滑最大幅度值计算相机的第三旋转矩阵。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现如上述的一种相机镜头的平滑处理方法的步骤。
第四方面,本发明提供了一种便携式终端,包括:
一个或多个处理器;
存储器;以及
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上述的一种相机镜头的平滑处理方法的步骤。
本发明通过相机的陀螺仪信息获取相机的姿态矩阵,经过平滑处理计算相机的平滑旋转矩阵并对视频进行旋转,实现了相机镜头自适应平滑的防抖效果;在平滑镜头视角的同时保持原始相机拍摄的视频不变,可以自动调整镜头视角,在镜头前向移动显示时候,保证地平线方向不变;镜头显示天空或地面视角时候,保持图像一侧(如左侧)方位不变;本发明可以在平滑镜头视角的同时,尽最大的可能减小裁剪视角。
附图说明
图1是本发明实施例一提供的一种相机镜头的平滑处理方法流程图。
图2是本发明实施例二提供的一种相机镜头的平滑处理模块示意图。
图3是本发明实施例三提供的便携式终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
请参阅图1,本发明实施例一提供的一种相机镜头平滑处理方法包括以下步骤:
s101.获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
所述相机可以为普通运动相机,还可以为具有广角镜头的运动相机等;
获取相机视频的当前视频帧;
获取当前视频帧对应的陀螺仪信息;
所述第一旋转矩阵为相机当前的位姿矩阵,采用中国专利“一种全景视频防抖的方法、装置及便携式终端,申请号:2018115496436”中的方法计算得到第一旋转矩阵。
s102.对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
所述对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵具体包括:
s1021对第一旋转矩阵进行第一平滑得到第二旋转矩阵;
s1022根据限制平滑最大幅度值计算相机的第三旋转矩阵;
所述对第一旋转矩阵进行第一平滑得到第二旋转矩阵的方法具体为:
s10211采用n 1窗口,n为大于等于1的自然数,用带约束的最小二乘对第一旋转矩阵的四元数进行第一平滑,计算得到第二旋转矩阵,所述第一平滑采用公式:
所述s10211步骤后,还可以对第二旋转矩阵采用迭代限幅平滑滤波的方法进行第二平滑,得到更新的第二旋转矩阵;所述迭代限幅平滑滤波方法具体为:
s102111:令初始化矩阵等于第二旋转矩阵
s102112对第k次迭代,采用球面(slerp)差值方法计算更新的第二旋转矩阵,计算公式为:
所述根据限制平滑最大幅度值计算相机的第三旋转矩阵,第三旋转矩阵为对相机的第一旋转矩阵计算生成的平滑旋转矩阵,具体为;s10221限制平滑最大幅度值为δθ;
s10222计算第二旋转矩阵到第一旋转矩阵的平滑幅度值,计算公式为:
s10223当|v|≤δθ时,令第三旋转矩阵
s103.根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
所述根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵具体为:
s1031设v为视频帧的原始中心视点,根据第三旋转矩阵对视频帧进行平滑旋转后得到的平滑视频帧的中心视点为
s1032根据平滑视频帧的中心视点位置和相机视角pitch方向的阈值计算生成第四旋转矩阵;
所述第四旋转矩阵为根据第三旋转矩阵对视频帧进行平滑旋转后的运动矩阵;
设置相机视角pitch方向的阈值为θ,所述第四旋转矩阵的计算具体为:
当相机的中心视点值在阈值θ以内,第四旋转矩阵
当相机的中心视点方向大于阈值θ时,则令相机视频帧保持一个侧边的方向不变,该侧边可以为上侧、下侧、左侧或右侧,再计算第四旋转矩阵rt,具体可以为:当保持相机视频帧左侧方向不变时,第四旋转矩阵
s104.根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频;
根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频具体为:
根据第一旋转矩阵和第四旋转矩阵,将视频进行3d旋转重建防抖视频,可以在平滑的同时,尽最大的可能减小裁剪视角。
实施例二:
请参阅图3,本发明实施例二提供的一种相机镜头平滑处理装置包括:
获取模块11,用于获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
第一计算模块12,用于对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
第二计算模块13,用于根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
旋转模块14,用于根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频。
本发明实施例二提供的一种相机镜头平滑处理的装置及本发明实施例一提供的一种相机镜头平滑处理方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
实施例三:
本发明实施例三提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现如本发明实施例一提供的一种相机镜头平滑处理方法的步骤。
实施例四:
图3示出了本发明实施例四提供的便携式终端的具体结构框图,一种便携式终端100包括:一个或多个处理器101、存储器102、以及一个或多个计算机程序,其中所述处理器101和所述存储器102通过总线连接,所述一个或多个计算机程序被存储在所述存储器102中,并且被配置成由所述一个或多个处理器101执行,所述处理器101执行所述计算机程序时实现如本发明实施例一提供的一种相机镜头平滑处理方法的步骤。
在本发明实施例中,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
本发明通过相机的陀螺仪信息获取相机的姿态矩阵,经过平滑处理计算相机的平滑旋转矩阵并对视频进行旋转,实现了相机镜头自适应平滑的防抖效果;本发明在平滑镜头视角的同时保持原始相机拍摄的视频不变,可以自动调整镜头视角,在镜头前向拍摄时候,保证地平线方向不变;拍摄天空或地面视角时候,保持图像一侧(如左侧)方位不变;本发明可以在平滑的同时,尽最大的可能减小裁剪视角。
1.一种相机镜头的平滑处理方法,其特征在于,包括以下步骤:
获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频,
其中,所述对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵具体包括:
对第一旋转矩阵进行第一平滑得到第二旋转矩阵;
根据限制平滑最大幅度值计算相机的第三旋转矩阵。
2.如权利要求1所述的方法,其特征在于:
所述对第一旋转矩阵进行第一平滑得到第二旋转矩阵具体为:采用n 1窗口,用带约束的最小二乘对第一旋转矩阵的四元数进行第一平滑,计算得到第二旋转矩阵,所述第一平滑公式为:
3.如权利要求2所述的方法,其特征在于:所述对第一旋转矩阵进行第一平滑得到第二旋转矩阵后还可以进一步对第二矩阵进行第二平滑,更新第二旋转矩阵具体为:
所述第二平滑为迭代限幅平滑滤波方法;
令初始化矩阵等于第二旋转矩阵
对第k次迭代,采用球面(slerp)差值方法计算更新的第二矩阵,计算公式为:
4.如权利要求1所述的方法,其特征在于:所述根据限制平滑最大幅度值计算相机的第三旋转矩阵,具体为:
限制平滑最大幅度值为δθ;
计算第二旋转矩阵到第一旋转矩阵的平滑幅度值,计算公式为:
当|v|≤δθ时,令第三旋转矩阵
5.如权利要求1所述的方法,其特征在于:所述根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩具体为:
设v为视频帧的原始中心视点,根据第三旋转矩阵对对视频帧进行平滑旋转后得到的平滑视频帧的中心视点为
根据平滑视频帧的中心视点位置和相机视角pitch方向的阈值计算生成第四旋转矩阵;
所述第四旋转矩阵为根据第三旋转矩阵对视频帧进行平滑旋转后的运动矩阵。
6.如权利要求5所述的方法,其特征在于:所述的第四旋转矩阵的计算具体为:
设置相机视角pitch方向的阈值为θ;
当相机的中心视点值在阈值θ以内,第四旋转矩阵
当相机的中心视点方向大于阈值θ时,则令相机视频帧保持一个侧边的方向不变,该侧边可以为上侧、下侧、左侧或右侧,再计算第四旋转矩阵rt,具体可以为:当保持相机视频帧左侧方向不变时,第四旋转矩阵
7.一种相机镜头的平滑处理的装置,其特征在于,包括:
获取模块,用于获取相机视频的当前视频帧和陀螺仪信息,计算当前的第一旋转矩阵;
第一计算模块,用于对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵;
第二计算模块,用于根据第三旋转矩阵对相机的视频帧进行视点分解,计算第四旋转矩阵;
旋转模块,用于根据第四旋转矩阵对相机视频帧进行3d旋转,重建防抖视频;
其中,所述第一计算模块对第一旋转矩阵进行平滑处理,计算得到第三旋转矩阵具体包括:
对第一旋转矩阵进行第一平滑得到第二旋转矩阵;
根据限制平滑最大幅度值计算相机的第三旋转矩阵。
8.一种计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的一种相机镜头的平滑处理方法的步骤。
9.一种便携式终端,包括:
一个或多个处理器;
存储器;以及
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的一种相机镜头的平滑处理方法的步骤。
技术总结