一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像生成方法、装置、芯片、终端和存储介质与流程

2021-10-24 07:54:00 来源:中国专利 TAG:


1.本技术属于图像处理技术领域,尤其涉及一种图像生成方法、装置、芯片、终端和存储介质。
2.背景方法
3.用户在使用手机、平板电脑等移动终端的过程中,常常会进行照片拍摄或者视频拍摄。
4.然而,在进行照片拍摄或视频拍摄的过程中,常常会因为各种因素导致拍摄得到的照片出现模糊,或者拍摄得到的视频存在画面抖动的问题,降低了照片或视频的拍摄质量。


技术实现要素:

5.本技术实施例提供一种图像生成方法、装置、芯片、终端和存储介质,有利于提高照片或视频的拍摄质量。
6.本技术实施例第一方面提供一种图像生成方法,包括:
7.确定目标拍摄场景下的至少一个待拍摄视角;
8.获取与所述目标拍摄场景对应的预设神经网络模型;
9.基于所述预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,其中,所述目标拍摄视角为所述至少一个待拍摄视角中的任意一个拍摄视角;
10.基于所述目标拍摄视角下,各个光线方向所对应的目标像素点的目标像素值,输出所述目标拍摄视角下形成的目标图像。
11.基于上述第一方面的实现方式,在本技术的第一种可能的实现方式中,所述确定目标拍摄场景下的至少一个待拍摄视角,包括:
12.获取所述目标拍摄场景下的待处理视频;
13.对所述待处理视频进行分帧,得到多帧视频图像;
14.确定所述多帧视频图像中拍摄视角的差值大于阈值的相邻两帧视频图像;
15.在所述相邻两帧视频图像对应的两个拍摄视角之间进行插值,得到所述至少一个待拍摄视角;
16.或者,
17.获取所述目标拍摄场景下的待处理视频;
18.对所述待处理视频进行分帧,得到多帧视频图像;
19.将所述多帧视频图像中存在模糊的图像对应的拍摄视角确定为所述待拍摄视角。
20.基于上述第一方面的实现方式,在本技术的第二种可能的实现方式中,所述待拍摄视角为多个时,所述图像生成方法包括:
21.获取所述目标拍摄场景下的待处理视频;
22.对所述待处理视频进行分帧,得到多帧视频图像;
23.确定所述多帧视频图像中拍摄视角的差值大于阈值的相邻两帧视频图像;
24.在所述相邻两帧视频图像对应的两个拍摄视角之间进行插值,得到所述至少一个待拍摄视角;
25.以及,
26.获取所述目标拍摄场景下的待处理视频;
27.对所述待处理视频进行分帧,得到多帧视频图像;
28.将所述多帧视频图像中存在模糊的图像对应的拍摄视角确定为所述待拍摄视角。
29.基于上述第一方面的实现方式,本技术的第一种可能的实现方式,以及本技术的第二种可能的实现方式,在本技术的第三种可能的实现方式中,所述图像生成方法包括:
30.利用所述目标图像对所述待处理视频进行更新,得到目标视频。
31.基于上述第一方面的实现方式,在本技术的第四种可能的实现方式中,所述图像生成方法还包括:
32.获取多张样本图像的样本数据,所述多张样本图像在所述目标拍摄场景下拍摄得到,所述样本数据包括:各张样本图像中各个样本像素点的样本像素值,以及各个样本像素点光线方向上的若干个样本光线点的样本参数信息;
33.将所述样本数据中的所述样本参数信息输入待训练的神经网络模型,得到所述待训练的神经网络模型输出的每个样本光线点的光线点像素值;
34.根据所述待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到各个样本图像中各个样本像素点的预测像素值;
35.基于所述样本像素值和所述预测像素值之间的差异调整所述待训练的神经网络模型的参数之后,返回执行所述将所述样本数据中的所述样本参数信息输入待训练的神经网络模型的步骤及后续步骤,直至完成对所述神经网络模型的训练,得到所述预设神经网络模型。
36.基于上述第一方面的实现方式,在本技术的第五种可能的实现方式中,所述基于所述预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,包括:
37.将所述目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息输入所述预设神经网络模型,得到所述目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值;
38.根据所述目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值计算得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
39.基于上述第一方面的实现方式,以及上述第五种可能的实现方式,在本技术的第六种可能的实现方式中,所述根据所述目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值,计算得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,包括:
40.获取所述目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数;
41.根据所述目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数,分别对各个光线方向上若干个目标光线点进行加权求和,得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
42.基于上述第一方面的实现方式,以及上述第六种可能的实现方式,在本技术的第七种可能的实现方式中,所述获取所述目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数,包括:
43.将所述目标拍摄视角下,各个光线方向上若干个目标光线点的深度值,确定为所述目标拍摄视角下,对应光线方向上若干个目标光线点的加权系数。
44.基于上述第一方面的实现方式,以及上述第五种可能的实现方式,在本技术的第八种可能的实现方式中,所述根据所述目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值,计算得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,包括:
45.分别对所述目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值求平均,得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
46.基于上述第一方面的实现方式,以及上述任意一种可能的实现方式,在本技术的第九种可能的实现方式中,基于以下方式确定所述目标拍摄视角下,各个光线方向上的若干个目标光线点:
47.确定所述目标拍摄视角下,各束光线的起点和终点;
48.对所述目标拍摄视角下,各束光线的起点至终点的所有光线点进行采样,得到所述目标拍摄视角下,对应光线方向上的若干个目标光线点。
49.基于上述第一方面的实现方式,以及上述任意一种可能的实现方式,在本技术的第十种可能的实现方式中,所述目标参数信息包括各个目标光线点在世界坐标系下的世界坐标和方向向量;所述目标参数信息基于以下方式确定:
50.根据所述目标拍摄视角确定所述目标拍摄视角下,各个光线方向上若干个目标光线点的坐标变换矩阵;
51.根据所述坐标变换矩阵将所述目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的相机坐标转换为在世界坐标系下的世界坐标,将所述目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的方向向量转换为在世界坐标系下的方向向量。
52.本技术实施例第二方面提供一种神经网络模型的训练方法,包括:
53.获取多张样本图像的样本数据;所述多张样本图像在目标拍摄场景下拍摄得到;所述样本数据包括:各张样本图像中各个样本像素点的样本像素值,以及各个样本像素点光线方向上的若干个样本光线点的样本参数信息;
54.将所述样本数据中的所述样本参数信息输入待训练的神经网络模型,得到所述待训练的神经网络模型输出的每个样本光线点的光线点像素值;
55.根据所述待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到各个样本图像中各个样本像素点的预测像素值;
56.基于所述样本像素值和所述预测像素值之间的差异调整所述待训练的神经网络模型的参数之后,返回执行所述将所述样本数据中的所述样本参数信息输入待训练的神经网络模型的步骤及后续步骤,直至完成对所述神经网络模型的训练,得到所述预设神经网络模型。
57.基于上述第二方面的实现方式,在本技术的第十一种可能的实现方式中,所述根
据所述待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到各个样本图像中各个样本像素点的预测像素值;
58.获取每个样本光线点的加权系数;
59.根据每个样本光线点的加权系数,分别对每张样本图像中各个光线方向上若干个样本光线点进行加权求和,得到对应样本图像中对应样本像素点的预测像素值。
60.基于上述第二方面的实现方式,以及上述第十二种可能的实现方式,在本技术第十一种可能的实现方式中,获取每个样本光线点的加权系数,包括:
61.将每个样本光线点的深度值确定为对应样本光线点的加权系数。
62.基于上述第二方面的实现方式,在本技术第十三种可能的实现方式中,所述根据所述待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到各个样本图像中各个样本像素点的预测像素值,包括:
63.分别对每张样本图像中各个样本像素点光线方向上的若干个样本光线点的光线点像素值求平均,得到每张样本图像中各个样本像素的预测像素值。
64.基于上述第二方面的实现方式,在本技术第十四种可能的实现方式中,各个样本光线点基于以下方式确定:
65.确定每张样本图像中各个样本像素点各自对应的光线的起点和终点;
66.对每张样本图像中各个样本像素各自对应的光线的起点至终点的各个光线点进行采样,得到每张样本图像中各个样本像素点光线方向上的若干个样本光线点。
67.基于上述第二方面的实现方式,在本技术第十五种可能的实现方式中,所述多张样本图像基于以下方式确定:
68.获取对待拍摄场景进行拍摄得到的待处理视频;
69.对所述待处理视频进行分帧,得到多帧视频图像;
70.从所述多帧视频图像中筛选出所述多张样本图像。
71.基于上述第二方面的实现方式,在本技术第十六种可能的实现方式中,所述从所述多帧视频图像中筛选出所述多张样本图像,包括:
72.将所述多帧视频图像中存在模糊的图像确定为不可选图像;
73.将所述多帧视频图像中除所述不可选图像以外的视频图像确定为可选图像;
74.从所述可选图像筛选出所述多张样本图像。
75.本技术实施例第三方面提供一种图像生成装置,包括:
76.确定单元,用于确定目标拍摄场景下的至少一个待拍摄视角;
77.获取单元,用于获取与所述目标拍摄场景对应的预设神经网络模型;计算单元,用于基于所述预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到所述目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,其中,所述目标拍摄视角为所述至少一个待拍摄视角中的任意一个拍摄视角;
78.输出单元,用于基于所述目标拍摄视角下,各个光线方向所对应的目标像素点的目标像素值,输出所述目标拍摄视角下形成的目标图像。
79.本技术实施例第四方面提供一种芯片,包括处理器,所述处理器用于读取并执行存储器中存储的计算机程序,以实现上述第一方面和/或上述第二方面所述的方法的步骤。
80.本技术实施例第五方面提供一种终端,包括存储器、处理器以及存储在所述存储
器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面和/或上述第二方面所述的方法的步骤。
81.本技术实施例第六方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面和/或上述第二方面所述的方法的步骤。
82.本技术实施例中,一方面,通过获取与目标拍摄场景对应的预设神经网络模型,使得在该目标拍摄场景中进行照片拍摄时,可以直接根据需要拍摄的照片的拍摄视角,基于预设神经网络模型生成新的照片,以解决拍摄得到的照片出现模糊的问题,有利于提高照片的拍摄质量;另一方面,通过获取与目标拍摄场景对应的预设神经网络模型,使得在该目标拍摄场景中进行视频拍摄时,可以直接根据视频发生抖动时对应的视频帧的拍摄视角,基于预设神经网络模型生成新的视频帧图像,实现了在保留原始视频内容和分辨率的前提下,解决原始视频存在抖动的问题,提高了视频的拍摄质量。
附图说明
83.为了更清楚地说明本技术实施例的方法方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
84.图1是本技术实施例提供的终端的结构示意图;
85.图2a是本技术实施例提供的存在模糊的照片的第一示意图;
86.图2b是本技术实施例提供的存在抖动的相邻视频帧图像的示意图;
87.图2c是本技术实施例提供的存在模糊的照片的第二示意图;
88.图2d是本技术实施例提供的存在模糊的相邻视频帧图像的示意图;
89.图3是本技术实施例提供的图像生成方法的实现流程示意图;
90.图4是本技术实施例提供的待拍摄视角的示意图;
91.图5是本技术实施例提供的目标拍摄视角下光线点采样的示意图;
92.图6是本技术实施例提供的确定目标参数信息的实现流程示意图;
93.图7是本技术实施例提供的确定目标像素点的目标像素值的实现流程示意图;
94.图8是本技术实施例提供的神经网络模型的训练过程的实现流程示意图;
95.图9是本技术实施例提供的神经网络模型的训练过程步骤802的具体实现流程示意图;
96.图10是本技术实施例提供的图像生成方法步骤301的第一具体实现流程示意图;
97.图11a是本技术实施例提供的消除相邻视频帧图像之间的抖动的效果示意图;
98.图11b是本技术实施例提供的消除待处理视频中出现模糊的视频帧图像的效果示意图;
99.图11c是本技术实施例提供的消除待处理图像中出现的模糊的效果示意图;
100.图12是本技术实施例提供的图像生成方法步骤301的第二具体实现流程示意图;
101.图13是本技术实施例提供的图像生成装置的结构示意图;
具体实施方式
102.为了使本技术的目的、方法方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
103.本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,除非另有说明,“多个”是指两个或多于两个,“至少一个”、“一个或多个”是指一个、两个或两个以上。
104.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
105.本技术实施例的方法方案可以应用于多种终端,例如,手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等终端上,本技术实施例对终端的具体类型不作任何限制。
106.以所述终端为手机为例。图1示出的是与本技术实施例提供的手机的部分结构的框图。参考图1,手机包括:射频(radio frequency,rf)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,wifi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
107.下面结合图1对手机的各个构成部件进行具体的介绍:
108.rf电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理。
109.存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
110.输入单元130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触
摸控制器两个部分。
111.显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light

emitting diode,oled)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
112.手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
113.音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
114.wifi属于短距离无线传输方法,手机通过wifi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了wifi模块170,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
115.处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
116.手机100还包括给各个部件供电的电源190(比如电池),电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
117.尽管未示出,手机100还可以包括摄像头。可选地,摄像头在手机100的上的位置可以为前置的,也可以为后置的,本技术实施例对此不作限定。
118.可选地,手机100可以包括单摄像头、双摄像头或三摄像头等,本技术实施例对此不作限定。
119.例如,手机100可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一
个为长焦摄像头。
120.可选地,当手机100包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本技术实施例对此不作限定。
121.另外,尽管未示出,手机100还可以包括蓝牙模块等,在此不再赘述。
122.可以理解的是,本技术实施例示意的结构并不构成对终端的具体限定。在本技术另一些实施例中,设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
123.以下实施例可以在具有上述结构的手机100上实现。以下实施例将以手机100为例,对本技术实施例提供的图像生成方法进行说明。
124.实际生活中,用户在使用上述这些终端进行照片拍摄或视频拍摄的过程中,常常会因为各种因素导致拍摄得到的照片出现模糊,或者拍摄得到的视频存在画面抖动的问题,降低了照片或视频的拍摄质量。
125.例如,某些用户因为生理疾病的原因,无法控制手部保持稳定,或者在拍摄过程中,由于拍摄场景的人流量较大,无法避免被他人干扰,或者,用户乘坐交通工具时,由于交通工具行驶在凹凸不平的路面,导致拍摄得到的照片出现运动模糊;或者,拍摄得到的视频存在画面抖动。
126.示例性的,如图2a所示,用户使用终端拍摄照片a的过程中,由于手部存在抖动,导致拍摄得到的照片a存在模糊。
127.示例性的,如图2b所示,为终端拍摄视频的过程中,由拍摄视频帧图像b1的位置往左上方抖动,拍摄得到视频帧图像b2,然后回到拍摄视频帧图像b1的位置,并拍摄得到视频帧图像b3,造成视频帧图像b1与视频帧图像b2的画面连贯性差,视频帧图像b2与视频帧图像b3的画面连贯性差,因而出现画面抖动。
128.又例如,因为用户想要拍摄的场景因为天气原因,例如,存在降雨或者大雾等情况,无法对场景中的物体进行清晰的拍摄,导致拍摄得到的照片以及拍摄得到的视频画面清晰度较差,无法满足用户的需求。
129.示例性的,如图2c所示,因拍摄场景中存在降雨的情况,终端拍摄得到的照片c画面清晰度较差。
130.示例性的,如图2d所示,因拍摄场景中存在降雨的情况,终端拍摄得到的连续3帧视频图像:视频帧图像d1、视频帧图像d2与视频帧图像d3,画面清晰度较差。
131.基于上述视频拍摄存在抖动的场景,可以采用基于传感器的视频防抖方法、电子防抖方法、基于图像追踪的视频防抖方法以及基于图像拼接的防抖方法实现视频防抖。
132.其中,基于传感器的视频防抖方法是指,通过利用镜头里的陀螺仪等传感器来测量微小移动,然后基于测量结果进行位移补偿,从而实现光路的稳定,避免了抖动引起的画面不适等问题。这种防抖方法对传感器的精度要求较高,因此,防抖成本较大。
133.电子防抖方法,是通过使用90%的感光像素用于拍摄,另外10%的感光像素用于对图像中的某些像素点进行插值补偿,避免图像出现抖动。这种防抖方法由于需要保留10%的感光像素用于像素插值,增加了拍摄得到的图像的噪声,并且,图像的色彩还原度较差。
134.基于跟踪的防抖方法,通过在初始帧中标记目标物体,获得其初始坐标,然后在拍
摄到的视频序列中对其进行跟踪,捕获其每帧的图像坐标,并基于事先定好的规则来判断跟踪结果是否可用,最终保留所有跟踪结果,得到较为稳定的视频。由于这种防抖方法需要手动标定初始目标框,对于目标物体较多以及当目标物体没出现在中间帧时,无法起到视频防抖的效果,因此,这种防抖方法要求输入视频的每一帧都必须存在同样一个不移动的目标物体。并且该方法会对图像进行裁剪,导致输出视频分辨率低,以及有种放大特定目标区域的效果,视觉感受差。
135.基于图像拼接的防抖方法通过对拍摄场景的不同拍摄视角图像进行拼接,融合不同视角图像,并利用光流等信息跟踪不同帧间的对应特征点,最后基于网格划分等模型来达到视频防抖的效果。这种防抖方法需要计算较多的光流信息,因此对光流提取算法要求较高,并且基于网格的划分算法需要估计视频前景背景的深度,仅适用于简单场景。
136.基于此,本技术实施例提供一种图像生成方法、装置、芯片、终端和存储介质,可以更有利于提高照片或视频的拍摄质量。
137.具体的,本技术提供一种图像生成方法、装置、芯片、终端和存储介质,通过获取与目标拍摄场景对应的预设神经网络模型,使得在目标拍摄场景中进行照片拍摄或视频拍摄时,可以直接根据需要拍摄的照片的拍摄视角(待拍摄视角),或者根据视频发生抖动时对应的视频帧的拍摄视角,基于预设神经网络模型生成新的照片或视频帧,以解决拍摄得到的照片出现模糊,或者拍摄得到的视频存在画面抖动的问题,有利于提高照片或视频的拍摄质量。
138.为更好地理解本技术实施例提供的图像生成方法,以下结合附图,从实现层面介绍具体的实现过程。
139.示例性的,如图3示出了本技术实施例提供的一种图像生成方法的示意性流程图。该图像生成方法可以由上述终端配置的图像生成装置执行,具体包括以下步骤301至步骤304。
140.步骤301,确定目标拍摄场景下的至少一个待拍摄视角。
141.在本技术实施例中,上述目标拍摄场景是指用户需要得到的照片或者需要得到的视频对应的拍摄场景。
142.例如,用户需要得到的照片是对如图4所示的场景(包含待拍摄对象的立体空间)进行拍摄得到的照片,或者,用户需要得到的视频是对如图4所示的场景进行拍摄得到的视频,则上述目标拍摄场景即为如图4所示的场景。
143.该目标拍摄场景下可以包含无数个拍摄视角,即,无数个相机拍摄位置。上述待拍摄视角可以为这无数个拍摄视角中的某一些或某一个拍摄视角。
144.在本技术的一些实施方式中,上述待拍摄视角可以采用世界坐标系下的坐标和方向向量表示。
145.例如,如图4所示,若用户想要将相机设于位置a,并且,相机在位置a对应的世界坐标系下的坐标为(x,y,z),方向向量为则可以用世界坐标系下的坐标和方向向量表示该待拍摄视角。
146.也就是说,本技术实施例中,上述至少一个待拍摄视角可以为用户输入的世界坐标系下的任意一个坐标和任意一个方向向量对应的拍摄视角,例如,该待拍摄视角可以为
用户输入的世界坐标系下的坐标和方向向量为的拍摄视角。
147.步骤302,获取与目标拍摄场景对应的预设神经网络模型。
148.本技术实施例中,预设神经网络模型为基于多张样本图像的样本数据训练得到神经网络模型。
149.其中,上述多张样本图像为在上述目标拍摄场景下拍摄得到的图像,并且各个样本图像对应的拍摄视角不同。
150.即,上述多张样本图像可以为从不同拍摄视角对目标拍摄场景进行拍摄得到的图像。
151.本技术实施例中,上述样本数据可以包括:各张样本图像中各个样本像素点的样本像素值,以及各个样本像素点光线方向上的若干个样本光线点的样本参数信息。
152.具体的,由于预设神经网络模型在使用过程中,需要根据目标拍摄场景下任意一个待拍摄视角,均能生成该待拍摄视角下,各个光线方向所对应的目标像素点的目标像素值。
153.因此,在预设神经网络模型的训练过程中,需要利用目标拍摄场景下从不同拍摄角度对目标拍摄场景进行拍摄得到的多张样本图像进行训练,以便其能够构建出整个目标拍摄场景,进而可以生成目标拍摄场景任意一个待拍摄视角下,各个光线方向所对应的目标像素点的目标像素值。
154.步骤303,基于上述预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
155.本技术实施例中,由于待拍摄视角有可能为多个,而每个待拍摄视角下,又存在与该待拍摄视角对应的各个光线方向,因此,为了描述的方便引入了目标拍摄视角,用于表示上述至少一个待拍摄视角中的任意一个拍摄视角。
156.可以理解的是,当用户输入的待拍摄视角为多个时,或者终端获取到的待拍摄视角为多个时,终端需要计算得到各个待拍摄视角的目标图像。
157.本技术实施例中,上述目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息可以包含:目标拍摄视角下,各个光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量。
158.具体的,目标拍摄视角下,各个光线方向上若干个目标光线点的确定可以采用以下方式实现:先确定目标拍摄视角下,各束光线的起点和终点,然后对目标拍摄视角下,各束光线的起点至终点的所有光线点进行采样得到。
159.如图5所示,若目标拍摄视角对应的世界坐标系下的坐标为(x,y,z),方向向量为则目标拍摄视角的视角范围可以为如图5所示的角度相机在该目标拍摄视角下可以接收角度内用于生成各个像素的光线,基于光路的可逆性,可以假设:以相机在该目标拍摄视角的光心为起点,在角度内向外发射多条光线,并且,每条光线与相机拍摄得到的图像中的像素点一一对应。
160.例如,如图5所示,光线k为目标拍摄视角下的其中一条光线,光线的起点为目标拍摄视角下的相机的光心a的位置,终点为光线上距离光心的距离为预设距离的位置b,通过
对线段ab进行均匀采样,即可得到m个光线点,这m个光线点与相机拍摄得到的图像中第u行第v列的像素点(u,v)对应。
161.基于上述假设,还可以得到目标拍摄视角下,n个光线方向中,每条光线方向上的m个目标光线点在相机坐标系下的坐标,即,以目标拍摄视角对应的世界坐标系下的坐标为(x,y,z)为原点,以方向向量为z轴方向建立的相机坐标系下,n个光线方向中,每条光线方向上的m个目标光线点在相机坐标系下的坐标。其中,m和为大于1的整数,n为目标图像中目标像素点的个数。即,目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的坐标。
162.本技术实施方式中,在得到目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的坐标之后,需要确定目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,即,目标拍摄视角下,各个光线方向上若干个目标光线点的在世界坐标系下的世界坐标和方向向量。
163.具体的,如图6所示,目标参数信息的确定可以采用步骤601至步骤602的方式实现。
164.步骤601,根据目标拍摄视角确定该目标拍摄视角下,各个光线方向上若干个目标光线点的坐标变换矩阵。
165.步骤602,根据坐标变换矩阵将该目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的相机坐标转换为在世界坐标系下的世界坐标,将该目标拍摄视角下,各个光线方向上若干个目标光线点在相机坐标系下的方向向量转换为在世界坐标系下的方向向量。
166.本技术实施例中,上述坐标变换矩阵是指用于将相机拍摄的图像中像素点在相机坐标系下的坐标转换为世界坐标系下的坐标的变换矩阵。
167.一般的,上述坐标变换矩阵可以表示为:其中,(x
c
,y
c
,z
c
)表示图像中的像素点在相机坐标系下的坐标,(x
w
,y
w
,z
w
)表示图像中的像素点在世界坐标系下的坐标,r为旋转参数,t为平移参数,可以基于目标拍摄视角对应的世界坐标系下的坐标(x,y,z)和方向向量为确定。
168.其中,图像中的像素点在相机坐标系下的坐标可以根据相机的内参矩阵由像素点在像素坐标系下的坐标变换得到。
169.一般的,像素点在像素坐标系下的坐标采用(u,v)表示,表示像素点位于图像中的第几行和第几列。
170.因此,在知晓目标拍摄视角对应的世界坐标系下的坐标(x,y,z)和方向向量为以及相机的内参之后,确定目标拍摄视角下,各个光线方向上若干个目标光线点的在世界坐标系下的世界坐标和方向向量仅仅是数学上的计算,是可以实现的,即,通过坐标变换即
可得到。
171.在实际应用中,终端通过执行步骤302,获得了预设神经网络模型,再通过上述步骤图5和图6所示的方式得到目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息之后,如图7所示,在一个实施方式中,上述步骤303中,基于预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,可以采用下述步骤701至步骤702实现。
172.步骤701,将目标拍摄视角下,各个光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量输入预设神经网络模型,得到目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值。
173.需要说明的是,上述步骤701的具体实现过程中,可以依次将目标拍摄视角下的一条光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量输入预设神经网络模型,得到这一条光线方向上若干个目标光线点的光线点像素值,也可以将目标拍摄视角下的n条光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量全部输入预设神经网络模型,得到全部目标光线点的光线点像素值。
174.步骤702,根据目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值计算得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
175.为了更好的理解为什么将目标拍摄视角下,各个光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量输入预设神经网络模型之后,可以得到预设神经网络模型输出的目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值,下面对预设神经网络模型的训练过程进行详细说明。
176.示例性的,如图8示出了本技术实施例提供的预设神经网络模型训练过程的示意性流程图。该过程具体包括以下步骤801至步骤803。
177.步骤801,将样本数据中的样本参数信息输入待训练的神经网络模型,得到待训练的神经网络模型输出的每个样本光线点的光线点像素值。
178.基于上述对步骤302的说明,可以知晓,本技术实施例中,预设神经网络模型是利用从不同拍摄角度对目标拍摄场景进行拍摄得到的多张样本图像的样本数据训练得到的,具体的,该样本数据可以包括:各张样本图像中各个样本像素点的样本像素值,以及各个样本像素点光线方向上的若干个样本光线点的样本参数信息。
179.本技术实施例中,各张样本图像中各个样本像素点的样本像素值可以为各个样本像素点的rgb值,或者为yuv格式以及cmyk格式的像素值,本技术对此不做限制。
180.为了描述的方便,下面以各张样本图像中各个样本像素点的样本像素值为各张样本图像中各个样本像素点的rgb值为例进行举例说明。
181.需要说明的是,本技术实施例中,各张样本图像中各个样本像素点光线方向上的若干个样本光线点的样本参数信息可以包括:各张样本图像中各个样本像素点光线方向上的若干个样本光线点在世界坐标系在的坐标和方向向量。
182.本技术实施例中,各张样本图像为目标拍摄场景下拍摄得到的图像,各张样本图像中各个样本像素点光线方向上的若干个样本光线点对应的世界坐标系与目标拍摄视角下,各个光线方向上若干个目标光线点对应的世界坐标系为同一世界坐标系。
183.在一个实施方式中,通过向三维重构工具colmap中输入上述多张样本图像,即可
得到各个样本图像的拍摄视角。
184.其中,colmap为基于mvs(multi

view stereo,多视图立体匹配)和sfm(structure

from

motion,运动重构)的三维重构工具,将多张样本图像输入colmap,即可分别得到各张样本图像对应的拍摄视角。
185.在得到各个样本图像的拍摄视角之后,参考上述图5至图6所示的,目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息的确定方式,可以知晓在得到各张样本图像的拍摄视角之后,即可以才用上述图5至图6对应的方法得到各张样本图像中各个样本像素点光线方向上的若干个样本光线点在世界坐标系下的坐标和方向向量。
186.需要说明的是,在得到各张样本图像的拍摄视角之后,确定各张样本图像中各个样本像素点光线方向上的若干个样本光线点时,需要确定每张样本图像中各个样本像素各自对应的光线的起点near和终点far。
187.具体的,由于上述样本光线点需要包含目标拍摄场景中的物体上的点,因此,上述光线的起点near可以为样本图像对应的拍摄视角下,光心的位置到目标拍摄场景中的物体之间的任意一个点,即,样本图像对应的相机坐标系的原点到目标拍摄场景中的物体之间的任意一个点,而光线的终点far则可以根据需要拍摄的目标拍摄场景的景深进行确定,即,能够使样本光线点包含目标拍摄场景中的物体上的点即可,其一般需要大于目标拍摄场景中的物体上的点到光心的距离,并且,起点near和终点far的具体取值可以根据实际应用场景确定。
188.例如,对于一个5m乘以10m的目标拍摄场景,上述样本像素各自对应的光线的起点near可以设置为光线上距离光心0.1m的位置,样本像素各自对应的光线的终点far可以设置为光线上距离光心10m的位置。
189.另外,在模型训练过程中,确定好光线的起点near和终点far之后,在使用模型的过程中,可以沿用该起点和终点,无需重新设定。
190.本技术实施例中,可以预先构建一个,以包含各张样本图像中各个样本像素点光线方向上的若干个样本光线点在世界坐标系下的坐标和方向向量的样本参数信息作为输入数据,以各张样本图像中各个样本像素点光线方向上的若干个样本光线点的光线点像素值作为输出数据的待训练的神经网络模型,在模型训练过程中,通过将样本参数信息输入待训练的神经网络模型,即可得到待训练的神经网络模型输出的每个样本光线点的光线点像素值。
191.需要说明的是,上述步骤801将样本数据中的样本参数信息输入待训练的神经网络模型,得到待训练的神经网络模型输出的每个样本光线点的光线点像素值是指,将各张样本图像中各个样本像素点光线方向上的若干个样本光线点在世界坐标系下的坐标和方向向量一起输入到待训练的神经网络模型,以满足神经网络模型训练的数据量,并使得训练得到的预设神经网络模型在使用过程中,可以根据目标拍摄场景下任意一个待拍摄视角下某一条光线的若干个光线点的参数信息,生成该条光线的若干个光线点的光线点像素值。
192.需要说明的是,在数据量充足的情况下,在将各张样本图像中各个样本像素点光线方向上的若干个样本光线点在世界坐标系下的坐标和方向向量一起输入到待训练的神经网络模型之前,也可以先进行样本图像的采样,以及各张样本图像中包含的样本像素点
进行采样,得到部分样本图像的部分样本像素点光线方向上的若干个样本光线点在世界坐标系下的坐标和方向向量,然后一起输入到待训练的神经网络模型,对模型进行训练。
193.步骤802,根据待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到对应样本图像中对应样本像素点的预测像素值。
194.具体的,由于每一张样本图像的每一条光线都与该张样本图像上的一个样本像素点唯一对应,而每一张样本图像的每一条光线上都包含若干个样本光线点,因此,分别基于步骤801输出的每一张样本图像的每一条光线上包含的若干个样本光线点的光线点像素值进行预测像素值的计算,即可分别得到每一张样本图像中各个样本像素点的预测像素值。
195.即,上述步骤802中,根据待训练的神经网络模型输出的每个样本光线点的光线点像素值计算得到对应样本图像中对应样本像素点的预测像素值是指,利用某一条光线上包含的若干个光线点的光线点像素值可以计算得到该条光线对应的样本像素点的预测像素值。
196.具体的,上述步骤802可以通过分别对每张样本图像中各个样本像素点光线方向上若干个样本光线的光线点像素值求平均,得到对应样本图像中对应样本像素点的预测像素值。
197.或者,如图9所示,上述步骤802可以采用下述步骤8021至步骤8022的方式实现。
198.步骤8021,获取每个样本光线点的加权系数;
199.步骤8022,根据每个样本光线点的加权系数,分别对各张样本图像中光线方向上若干个样本光线点进行加权求和,得到对应样本图像中对应样本像素点的预测像素值。
200.即,对某张样本图像中的某个光线方向上若干个样本光线点进行加权求和时,只需要该条光线中若干个样本光线点各自对应的系数进行加权求和即可。
201.可选的,在一个实施方式中,上述步骤8021,获取每个样本光线点的加权系数可以包括:获取每个样本光线点的深度值,将每个样本光线点的深度值确定为所各个样本光线点各自对应的加权系数。
202.在一个实施方式中,上述获取每个样本光线点的深度值的过程中,可以通过获取待训练的神经网络模型输出的每个样本光线点的深度值得到。
203.也就是说,每个样本光线点的深度值可以为待训练的神经网络模型输出的参数。
204.在一个实施方式中,上述获取每个样本光线点的深度值的过程中,可以通过每个样本光线点在相机坐标系下的坐标计算得到,即,相机坐标系下的坐标到相机坐标系的原点的距离。
205.步骤803,基于样本像素值和预测像素值之间的差异调整待训练的神经网络模型的参数之后,返回执行将样本数据中的样本参数信息输入待训练的神经网络模型的步骤及后续步骤,直至完成对待训练的神经网络模型的训练,得到预设神经网络模型。
206.由上述步骤801至步骤803可以看出,训练得到的预设神经网络模型的输入数据为各张样本图像各个样本像素点光线方向上的若干个样本光线点在世界坐标系在的坐标和方向向量,输出数据为每个样本光线点的光线点像素值,而基于每个样本光线点的光线点像素值是可以计算得到对应样本图像中对应样本像素点的预测像素值的,并且,步骤803可以由神经网络模型的反向传播机制完成,因此,可以相当于预设神经网络模型可以根据输入数据输出样本图像中对应样本像素点的预测像素值。
207.因此,上述步骤701中,将目标拍摄视角下,各个光线方向上若干个目标光线点在世界坐标系下的坐标和方向向量输入预设神经网络模型,可以得到预设神经网络模型输出的目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值。
208.相应的,上述步骤702可以由神经网络模型输出,也可以在神经网络模型输出目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值之后,通过计算得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。具体是否由神经网络模型直接输出样本像素点的预测像素值,还是由神经网络模型先输出每个样本光线点的光线点像素值,或者由神经网络模型输出每个样本光线点的光线点像素值以及样本像素点的预测像素值,可以根据实际应用场景确定。
209.具体的,根据目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值,计算得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值的过程中,可以通过分别对目标拍摄视角下,各个光线方向上若干个目标光线点的光线点像素值求平均,得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
210.或者,通过获取目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数;然后,根据目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数,分别对各个光线方向上若干个目标光线点进行加权求和,得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值。
211.其中,获取目标拍摄视角下,各个光线方向上若干个目标光线点的加权系数,包括:将目标拍摄视角下,各个光线方向上若干个目标光线点的深度值,确定为目标拍摄视角下,对应光线方向上若干个目标光线点的加权系数。
212.该过程的具体实现可以参看上述步骤802的描述,此处不再赘述。
213.步骤304,基于目标拍摄视角下,各个光线方向所对应的目标像素点的目标像素值,输出目标拍摄视角下形成的目标图像。
214.由于目标拍摄视角下的每一个光线方向均有一个目标像素点对应,因此,根据目标拍摄视角下各个光线的方向确定各自对应的目标像素点在目标图像中的像素位置,即可基于该像素位置以及目标像素值输出目标图像。
215.本技术实施例中,通过获取与目标拍摄场景对应的预设神经网络模型,使得在目标拍摄场景中进行照片拍摄或视频拍摄时,可以直接根据需要拍摄的照片的拍摄视角(待拍摄视角),或者根据视频发生抖动时对应的视频帧的拍摄视角,基于预设神经网络模型生成新的照片或视频帧,以解决拍摄得到的照片出现模糊,或者拍摄得到的视频存在画面抖动的问题,有利于提高照片或视频的拍摄质量。
216.本技术实施例提供的图像生成方法,相较于基于跟踪的视频防抖方法可以不需要初始化选中目标框,因此,不需要要求视频的每一帧都需要某个初始目标,不需要再初始帧图像进行手动框取目标,同时也不需要对视频的画面进行裁剪,可以保证视频原始的尺寸,具备较高的分辨率。
217.本技术实施例提供的图像生成方法,相较于基于拼接的视频防抖方法,不需要用户设定复杂繁琐的规则以及进行网格算法来找到最终视频的轨迹路线,本技术通过生成新的视频帧图像,再进行图像插帧来解决轨迹路线,计算更为简便,并且可以尽可能地保持原始视频的视角和原始信息,实现更好的用户体验。
218.下面结合具体应用场景,对上述步骤301中的确定目标拍摄场景下的至少一个待拍摄视角作进一步的说明。
219.第一种应用场景:当用户在目标拍摄场景已经拍摄得到某个存在抖动的视频,即,待处理视频时,若用户想要对这个待处理视频进行处理,得到不存在抖动的视频(目标视频),则可以利用终端对待处理视频进行分帧,并利用终端在拍摄视角的差值大于阈值的相邻两帧视频图像对应的两个拍摄视角之间进行插值,得到一个或多个待拍摄视角,再由终端执行上述步骤302至步骤304得到各个待拍摄视角对应的目标图像,并在执行完下述步骤304,输出目标拍摄视角下形成的目标图像之后,利用目标图像对待处理视频进行更新,得到目标视频。
220.具体的,在本技术的一些实施方式中,如图10所示,上述步骤301,确定目标拍摄场景下的至少一个待拍摄视角可以包括步骤3011至步骤3014。
221.步骤3011,获取目标拍摄场景下的待处理视频。
222.步骤3012,对待处理视频进行分帧,得到多帧视频图像。
223.步骤3013,确定多帧视频图像中拍摄视角的差值大于阈值的相邻两帧视频图像。
224.本技术实施例中,上述相邻两帧视频图像的拍摄视角的差值大于阈值时,表示待处理视频在该相邻两帧视频图像之间发生了抖动。
225.本技术实施例中,上述阈值可以包括角度阈值和平移阈值。
226.具体的,由于每帧视频图像对应的拍摄视角可以用世界坐标系下x轴、y轴、z轴的坐标和方向向量表示,因此,在确定多帧视频图像中相邻两帧视频图像的拍摄视角的差值时,包括确定相邻两帧视频图像的拍摄视角分别在x轴、y轴、z轴上的平移量的差值,以及,方向向量的对应的角度差值,当x轴、y轴、z轴上的平移量的差值中任意一个平移量的差值大于平移阈值,或者方向向量对应的角度差值大于角度阈值,则确认相邻两帧视频图像的拍摄视角的差值大于阈值。
227.步骤3014,在相邻两帧视频图像对应的两个拍摄视角之间进行插值,得到至少一个待拍摄视角。
228.本技术实施例中,上述在相邻两帧视频图像对应的两个拍摄视角之间进行插值的作用是使得到的待拍摄视角对应的目标图像插入待处理视频图像之后,待处理视频图像相邻两帧视频图像的拍摄视角的差值小于或等于阈值。
229.因此,上述在相邻两帧视频图像对应的两个拍摄视角之间进行插值的过程中,若相邻两帧视频图像对应的两个拍摄视角的差值较大,则有可能得到多个待拍摄视角。
230.本技术实施例中,通过利用终端对存在画面抖动的待处理视频进行分帧,并利用终端在拍摄视角的差值大于阈值的相邻两帧视频图像对应的两个拍摄视角之间进行插值,得到一个或多个待拍摄视角,再由终端执行下述步骤302至步骤304得到各个待拍摄视角对应的目标图像,并在执行完下述步骤304得到目标图像之后,利用该目标图像对存在抖动的待处理视频进行更新,即,根据各个视频帧图像对应的拍摄视角按顺序对各个视频帧图像进行重组,得到不存在抖动的目标视频,提高了视频拍摄的质量。
231.示例性的,如图11a所示,通过将上述图2b中的视频帧图像b1与视频帧图像b2输入三维重构工具colmap或者其他可以输出图像的拍摄视角的工具中,即可得到视频帧图像b1的拍摄视角与视频帧图像b2的拍摄视角,再通过在视频帧图像b1的拍摄视角与视频帧图像
b2的拍摄视角之间进行插值,得到两个待拍摄视角,基于这两个待拍摄视角执行上述步骤302至上述步骤304的步骤,即可得到视频帧图像b00和b01,使得视频帧图像b1与视频帧图像b2可以过度得更加连贯,消除了视频帧图像b1与视频帧图像b2之间的抖动。
232.然而,在第二种应用场景中:待处理视频因为各种原因,例如,拍摄条件的限制以及相机本身的原因,除了发生画面抖动以外,还有可能发生图像模糊的问题,导致视频拍摄的质量不是非常好。
233.例如,相机拍摄某个视频帧时,没对焦好,或者,受拍摄场景光线、雾等因素的影响,导致拍摄的视频帧出现如图2d所示的图像模糊。
234.因此,在本技术的一些实施方式中,如图12所示,上述步骤301,确定目标拍摄场景下的至少一个待拍摄视角可以包括步骤3021至步骤3023。
235.步骤3021,获取目标拍摄场景下的待处理视频。
236.步骤3022,对待处理视频进行分帧,得到多帧视频图像。
237.步骤3023,将多帧视频图像中存在模糊的图像对应的拍摄视角确定为待拍摄视角。
238.本技术实施例中,在确定各帧视频图像是否为存在模糊的图像时,可以通过对各帧视频图像进行图像识别,或者,基于训练得到的图像分类器实现,本技术对此不做限制。
239.本技术实施例中,终端通过将待处理视频中存在模糊的图像对应的拍摄视角确定为待拍摄视角,再执行上述步骤302至步骤304得到各个待拍摄视角对应的目标图像,并在执行完上述步骤304得到目标图像之后,利用该目标图像对存在图像模糊的待处理视频进行更新,即,利用步骤304生成的目标图像替换待处理视频中存在模糊的图像,提高了视频拍摄的质量。
240.示例性的,如图11b所示,在识别出待处理视频中如图2d所示的视频帧图像d1、视频帧图像d2、视频帧图像d3存在图像模糊时,将视频帧图像d1、视频帧图像d2、视频帧图像d3分别对应的拍摄视角确定为待拍摄视角,并执行上述步骤302至步骤304,得到视频帧图像d1、视频帧图像d2、视频帧图像d3分别对应的清晰的视频帧图像d1’、视频帧图像d2’、视频帧图像d3’,利用清晰的视频帧图像d1’、视频帧图像d2’、视频帧图像d3’替换待处理视频中存在模糊的视频帧图像d1、视频帧图像d2、视频帧图像d3,即可得到不存在图像模糊的目标视频,提高了视频拍摄的质量。
241.在一个实施方式中,本技术上述步骤3011至步骤3014以及上述步骤3021至步骤3023所示的实施例提供的图像生成方法可以在视频图像的拍摄过程中,实时检测拍摄得到的视频图像是否存在抖动或者是否存在图像模糊。
242.也就是说,上述待处理视频可以为终端实时拍摄得到的视频图像。
243.需要说明的是,对于同一个待处理视频,可以同时采用上述步骤3011至步骤3014以及上述步骤3021至步骤3023这两种确定待拍摄视角的方法,也可以只采用上述步骤3011至步骤3014以及上述步骤3021至步骤3023这两种确定待拍摄视角的方法中的一个。
244.第三种应用场景:当用户在目标拍摄场景已经拍摄得到了一些如图2a或图2c所示的模糊的照片,即,待处理图像时,若用户想要得到这些模糊的照片(待处理图像)对应的清晰的照片(目标图像),则可以利用终端计算这些待处理图像对应的拍摄视角,将其作为上述待拍摄视角,再由终端执行上述步骤302至步骤304得到各个待拍摄视角对应的目标图
像,以替换原来的模糊的照片,提高照片的拍摄质量。
245.也就是说,本技术实施例提供的图像生成方法不仅可以应用于存在画面抖动的待处理视频,以及存在图像模糊的待处理视频,还可以应用于存在图像模糊的单张待处理图像。
246.示例性的,如图11c所示,通过将图2a或图2c中的待处理图像a和待处理图像c对应的拍摄视角确定为待拍摄视角,再由终端执行上述步骤302至步骤304得到各个待拍摄视角对应的目标图像c’,以替换原来的模糊的待处理图像a和待处理图像c,提高了照片的拍摄质量。
247.具体的,在一个实施方式中,上述步骤301中,确定目标拍摄场景下的至少一个待拍摄视角,可以包括:获取目标拍摄场景下的待处理图像,将待处理图像对应的拍摄视角确定为待拍摄视角。
248.本技术实施方式中,待处理图像对应的拍摄视角的确定可以采用基于mvs(multi

view stereo,多视图立体匹配)和sfm(structure

from

motion运动重构)的三维重构工具colmap实现,即,将待处理图像输入colmap,得到待处理图像对应的拍摄视角。
249.上述三种应用场景即为本技术实施例提供的具体的应用场景的举例说明,应理解的是,本技术实施例提供的图像生成方法除了应用于上述应用场景外,还可以适用于其他可以想到的应用场景,此处不再赘述。
250.为了提高预设神经网络模型的精度,使得上述目标图像能够符合用户的需求。
251.在一个实施方式中,上述预设神经网络模型训练过程中的多张样本图像的获取过程中,可以先获取对待拍摄场景进行拍摄得到的待处理视频,然后对待处理视频进行分帧,得到多帧视频图像,再然后从多帧视频图像中筛选出多张样本图像。
252.其中,上述待处理视频图像可以为存在抖动的视频图像。
253.例如,用户拍摄得到某段存在图像抖动的视频时,将该视频作为待处理视频,利用该待处理视频中视频帧图像作为样本图像,对神经网络模型进行训练,得到上述预设神经网络模型,然后利用该预设神经网络模型生成新的视频帧图像,对该待处理视频中存在抖动的相邻视频帧图像进行插值,进而得到目标视频,保留了待处理视频(原始视频)内容和分辨率的前提下,解决了待处理视频存在抖动的问题。
254.其中,从多帧视频图像中筛选出多张样本图像的过程中,可以先将多帧视频图像中存在模糊的图像确定为不可选图像;然后,将多帧视频图像中除不可选图像以外的视频图像确定为可选图像;从可选图像筛选出多张样本图像。
255.例如,将可选图像全部作为样本图像,以满足预设神经网络模型训练的样本量,并且,由于筛选出的样本图像为不存在模糊的样本图像,因此,利用该样本图像对神经网络模型进行训练得到的预设神经网络模型可以构建出较为精确的目标拍摄场景。
256.同样的,在确定多帧视频图像中存在模糊的图像时,可以通过对各帧视频图像进行图像识别,或者,基于训练得到的图像分类器实现,本技术对此不做限制。
257.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,在本技术的一些实施方式中,某些步骤可以采用其它顺序进行。
258.图13示出了本技术实施例提供的一种图像生成装置1300的结构示意图,包括确定
单元1301、获取单元1302、计算单元1303和输出单元1304。
259.确定单元1301,用于确定目标拍摄场景下的至少一个待拍摄视角;
260.获取单元1302,用于获取与目标拍摄场景对应的预设神经网络模型;
261.计算单元1303,用于基于预设神经网络模型以及目标拍摄视角下,各个光线方向上若干个目标光线点的目标参数信息,得到目标拍摄视角下,各个光线方向对应的目标像素点的目标像素值,其中,目标拍摄视角为至少一个待拍摄视角中的任意一个拍摄视角;
262.输出单元1304,用于基于目标拍摄视角下,各个光线方向所对应的目标像素点的目标像素值,输出目标拍摄视角下形成的目标图像。
263.需要说明的是,为描述的方便和简洁,上述描述的图像生成装置1400的具体工作过程,可以参考上述图1至图13中方法的对应过程,在此不再过多赘述。
264.示例性的,本技术实施例还提供一种芯片,包括处理器,处理器用于读取并执行存储器中存储的计算机程序,以实现上述图像生成方法的步骤。
265.示例性的,本技术实施例还提供一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述图像生成方法的步骤。
266.示例性的,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述图像生成方法的步骤。
267.示例性的,本技术实施例还提供了一种计算机产品,该计算机产品存储有计算机指令,当计算机指令被执行时,实现上述图像生成方法的步骤。
268.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
269.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
270.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于方法方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
271.在本技术所提供的实施例中,应该理解到,所揭露的装置/用户终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/用户终端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或
单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
272.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
273.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
274.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
275.以上实施例仅用以说明本技术的方法方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的方法方案进行修改,或者对其中部分方法特征进行等同替换;而这些修改或者替换,并不使相应方法方案的本质脱离本技术各实施例方法方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜