CN114511596A - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN114511596A CN114511596A CN202011148726.1A CN202011148726A CN114511596A CN 114511596 A CN114511596 A CN 114511596A CN 202011148726 A CN202011148726 A CN 202011148726A CN 114511596 A CN114511596 A CN 114511596A
- Authority
- CN
- China
- Prior art keywords
- image
- target
- data processing
- optical flow
- relative pose
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 121
- 230000000007 visual effect Effects 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 138
- 230000003287 optical effect Effects 0.000 claims description 103
- 239000011159 matrix material Substances 0.000 claims description 83
- 238000012549 training Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 43
- 230000009466 transformation Effects 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 claims description 29
- 230000004927 fusion Effects 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013527 convolutional neural network Methods 0.000 description 34
- 238000013528 artificial neural network Methods 0.000 description 33
- 238000011176 pooling Methods 0.000 description 31
- 239000013598 vector Substances 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010839 reverse transcription Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种数据处理方法及相关设备。涉及人工智能领域,具体涉及计算机视觉领域。该方法包括:获取第一图像以及第二图像;获取第一图像与第二图像之间的相对位姿;基于第一图像、第二图像以及相对位姿,生成第三图像,第三图像的视角在第一视角与第二视角之间。本申请能够通过已有的两个视角图像以及相对位姿合成中间视角的图像,提升输出效果的精细程度。
Description
技术领域
本申请实施例涉及通信领域,尤其涉及一种数据处理方法及相关设备。
背景技术
全景精彩瞬间是一种利用计算机视觉技术来实现强化的慢镜头、时间暂停的特效,该技术被应用于电影电视(如:黑客帝国中的子弹时间)、体育赛事直播(如:IntelTrueView)等领域。
目前,获取全景精彩瞬间的方式是:提前挑选好场地(如:篮球场),并在场地周围的固定位置设置多个高清摄像机,利用大量昂贵的多个高清摄像机来同步聚焦一个场景。再利用3D建模的方法重新创建等体积的3D人物图像(如:篮球运动员)。对场景以及3D人物图像进行渲染,得到全景精彩瞬间。使得观众体验到了传统直播无法带来的震撼及身临其境的感觉。
然而,上述方式中还存在一定问题,在观众体验全景精彩瞬间时,如何使得观众在图像与图像之间过渡的地方感觉平缓。
发明内容
本申请实施例提供了一种数据处理方法及相关设备。可以用于生成中间视角的图像。
本申请实施例第一方面提供了一种数据处理方法,该方法可以由数据处理装置执行,也可以由数据处理装置的部件(例如处理器、芯片、或芯片系统等)执行,其中,该数据处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该方法也可以由本地设备以及云端设备共同执行。该方法包括:获取第一图像以及第二图像,第一图像为第一视角下采集的图像,第二图像为第二视角下采集的图像;获取第一图像与第二图像之间的相对位姿;基于第一图像、第二图像以及相对位姿,生成第三图像,第三图像的视角在第一视角与第二视角之间。
本申请实施例中,基于第一图像、第二图像以及第一图像与第二图像之间的相对位姿,生成第三图像,该第三图像的视角在第一视角与第二视角之间。通过已有的视角图像以及相对位姿合成其他视角图像,提升输出效果的精细程度。
可选地,在第一方面的一种可能的实现方式中,上述步骤中:相对位姿包括第一相对位姿以及第二相对位姿,第一相对位姿为第一图像相对于第二图像的位姿,第二相对位姿为第二图像相对于第一图像的位姿;基于第一图像、第二图像以及相对位姿,生成第三图像,包括:将第一图像以及第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图;通过前置图像扭曲forwad warping方法处理第一图像以及初始光流图得到第一目标光流图像;通过forwad warping方法处理第二图像以及初始光流图得到第二目标光流图像;通过图片图像扭曲image warping方法处理第一图像以及第一相对位姿得到第一扭曲图像;通过image warping方法处理第二图像以及第二相对位姿得到第二扭曲图像;将第一目标光流图像、第一扭曲图像、第二目标光流图像、第二扭曲图像输入训练好的图像修复网络进行图像修复,得到第三图像。
该种可能的实现方式中,结合特征比较全的第一扭曲图像和第二扭曲图像以及细节特征比较明显的第一目标光流图像和第二目标光流图像,可以实现第一扭曲图像和第二扭曲图像以及第一目标光流图像和第二目标光流图像之间的信息互补,可以为后续图像修复网络生成第三图像提供更多参考,使得生成的第三图像更加平缓。
可选地,在第一方面的一种可能的实现方式中,上述步骤中训练好的光流计算网络以及训练好的图像修复网络是通过以第一训练图像以及第二训练图像作为光流计算网络的输入,以损失函数的值小于第二阈值为目标对光流计算网络以及图像修复网络进行联合训练得到;损失函数用于指示图像修复网络输出的图像与第三目标图像之间的差异,第三目标图像为在第一目标图像对应第一目标视角和第二目标图像对应第二目标视角之间的视角下采集的图像。
该种可能的实现方式中,通过第一训练图像、第二训练图像以及第三目标图像实现光流计算网络以及图像修复网络的训练过程,为后续提供更加优化的光流计算网络以及图像修复网络,提升输出图像(即第三图像)的精细程度。
可选地,在第一方面的一种可能的实现方式中,上述步骤中:相对位姿包括变换矩阵,变换矩阵用于描述第一图像与第二图像之间像素点的关联关系,第一相对位姿包括第一变换矩阵,第一变换矩阵为第一图像相对于第二图像的矩阵,第二相对位姿包括第二变换矩阵,第二变换矩阵为第二图像相对于第一图像的矩阵。
该种可能的实现方式中,通过变换矩阵描述相对位姿,通过image warping可以直接处理变换矩阵、第一图像以及第二图像得到第一扭曲图像以及第二扭曲图像,通用性强。
可选地,在第一方面的一种可能的实现方式中,上述步骤中:第一图像包括目标人物与第一背景图像,第二图像包括目标人物与第二背景图像。
该种可能的实现方式中,可以对多个原始图像中的人物图像进行中间视角对应的任务图像进行合成,满足慢镜头或时间暂停等特效的要求。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:拼接第一背景图像以及第二背景图像,得到目标背景图像,融合第三图像以及目标背景图像,得到目标图像。
该种可能的实现方式中,通过提取、拼接以及融合等操作,可以使得合成的中间视角图像与大视角的背景图像融合,实现了前后背景的无缝衔接,从而保证输出的全景精彩瞬间视频带有背景信息。可以应用于体育赛事等慢镜头之间图像的准确,以及图像之间过渡更加平缓。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:融合第一图像以及目标背景图像,得到第一目标图像;融合第二图像以及目标背景图像,得到第二目标图像;压缩第一目标图像、目标图像以及第二目标图像得到目标视频。
该种可能的实现方式中,可以应用于全景精彩瞬间的生成,并使得方式灵活,可以使用移动的手机来生成全景精彩瞬间(即目标视频),相较于固定机位的全景精彩瞬间,本方法更具有灵活性。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:向第一拍摄设备发送目标视频。
该种可能的实现方式中,在生成视频后,可以反馈给第一拍摄设备,使得用户可以通过第一拍摄设备观看全景精彩视频(即目标视频),增加用户端设备的功能及可玩性。
本申请实施例第二方面提供一种数据处理装置,该数据处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该数据处理装置包括:
获取单元,用于获取第一图像以及第二图像,第一图像为第一视角下采集的图像,第二图像为第二视角下采集的图像,第一图像的采集时刻与第二图像的采集时刻相同;
获取单元,还用于获取第一图像与第二图像之间的相对位姿;
生成单元,用于基于第一图像、第二图像以及相对位姿,生成第三图像,第三图像的视角在第一视角与第二视角之间。
可选地,在第二方面的一种可能的实现方式中,相对位姿包括第一相对位姿以及第二相对位姿,第一相对位姿为第一图像相对于第二图像的位姿,第二相对位姿为第二图像相对于第一图像的位姿;
生成单元包括:
光流计算子单元,用于将第一图像以及第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图;
第一扭曲子单元,用于通过前置图像扭曲forwad warping方法处理第一图像以及初始光流图得到第一目标光流图像;
第一扭曲子单元,还用于通过forwad warping方法处理第二图像以及初始光流图得到第二目标光流图像;
第二扭曲子单元,用于通过图片图像扭曲image warping方法处理第一图像以及第一相对位姿得到第一扭曲图像;
第二扭曲子单元,用于通过image warping方法处理第二图像以及第二相对位姿得到第二扭曲图像;
修复子单元,用于将第一目标光流图像、第一扭曲图像、第二目标光流图像、第二扭曲图像输入训练好的图像修复网络进行图像修复,得到第三图像。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置中训练好的光流计算网络以及训练好的图像修复网络是通过以第一训练图像以及第二训练图像作为光流计算网络的输入,以损失函数的值小于第二阈值为目标对光流计算网络以及图像修复网络进行联合训练得到;
损失函数用于指示图像修复网络输出的图像与第三目标图像之间的差异,第三目标图像为在第一目标图像对应第一目标视角和第二目标图像对应第二目标视角之间的视角下采集的图像。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置中相对位姿包括变换矩阵,变换矩阵用于描述第一图像与第二图像之间像素点的关联关系,第一相对位姿包括第一变换矩阵,第一变换矩阵为第一图像相对于第二图像的矩阵,第二相对位姿包括第二变换矩阵,第二变换矩阵为第二图像相对于第一图像的矩阵。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置中第一图像包括目标人物与第一背景图像,第二原始图像包括目标人物与第二背景图像。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置还包括:
拼接单元,用于拼接第一背景图像以及第二背景图像,得到目标背景图像,
融合单元,用于融合第三图像以及目标背景图像,得到目标图像。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置中的融合单元,还用于融合第一图像以及目标背景图像,得到第一目标图像;融合单元,还用于融合第二图像以及目标背景图像,得到第二目标图像;
上述数据处理装置还包括:
压缩单元,用于压缩第一目标图像、目标图像以及第二目标图像得到目标视频。
可选地,在第二方面的一种可能的实现方式中,上述数据处理装置还包括:
发送单元,用于向第一拍摄设备发送目标视频。
本申请实施例第三方面提供了一种数据处理装置,该数据处理装置可以是手机或摄像机。也可以是云端设备(例如服务器等),该数据处理装置执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第四方面提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,使得该芯片实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第六方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第七方面提供了一种数据处理装置,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该数据处理装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。
其中,第二、第三、第四、第五、第六、第七方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:基于第一图像、第二图像以及第一图像与第二图像之间的相对位姿,生成第三图像,该第三图像的视角在第一视角与第二视角之间。本申请能够通过已有的两个视角图像以及相对位姿合成中间视角的图像,提升输出效果的精细程度。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例中主设备与副设备一种位置关系示意图;
图3为本申请实施例提供的系统架构的结构示意图;
图4为本发明实施例提供的一种卷积神经网络结构示意图;
图5为本发明实施例提供的另一种卷积神经网络结构示意图;
图6为本申请实施例提供的数据处理方法一个流程示意图;
图7为本申请实施例提供的第一图像以及第二图像中特征点的一种示意图;
图8为本申请实施例提供的第一图像以及第二图像之间匹配对的一种示意图;
图9为本申请实施例提供的获取第三图像的一种示意图;
图10为本申请实施例提供的数据处理方法另一流程示意图;
图11为本申请实施例提供的第一原始图像与第一人物图像的一种示意图;
图12为本申请实施例提供的第一原始图像以及第二原始图像之间匹配对的一种示意图;
图13为本申请实施例提供的获取一个第三图像的另一示意图;
图14为本申请实施例提供的获取两个第三图像的另一示意图;
图15为本申请实施例提供的原始图像与背景图像的一种示意图;
图16为本申请实施例提供的目标背景图像的一种示意图;
图17为本申请实施例提供的目标背景图像的另一示意图;
图18为本申请实施例提供的目标图像的另一示意图;
图19为本申请实施例提供的目标视频的一种示意图;
图20为本申请实施例提供的目标视频的另一示意图;
图21为本申请实施例提供的数据处理装置一个结构示意图;
图22为本申请实施例提供的数据处理装置另一结构示意图;
图23为本申请实施例提供的数据处理装置另一结构示意图;
图24为本申请实施例提供的一种芯片硬件结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面将结合各个附图对本申请技术方案的实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
图1给出了一种应用场景示意图,可以应用于人工智能领域的图像处理领域中。该应用场景可以包括云端设备100、主设备101以及与主设备101进行通信的副设备102至104。
图1中,仅以一个主设备101以及三个副设备102至104为例进行示意性说明。在实际应用中,本申请实施例中的应用场景可以有更多的主设备以及副设备,本申请实施例对主设备以及副设备的数目不进行限定。
各副设备接入云端设备的方式也可以有所不同,可以是多个副设备102至104通过主设备101接入云端设备100,也可以是多个副设备直接与云端设备连接,具体此处不做限定。
副设备102至104与主设备101之间,或主设备101与云端设备100之间一般通过无线网络连接,也可以通过有线网络连接,如果是通过无线网络连接,具体的连接形式可以为蜂窝状无线网络,或者是WiFi网络,或者是其他类型的无线网络。如果是通过有线网络连接,一般的连接形式为光纤网络。
主设备101以及副设备102至104主要的功能是拍摄图像。进一步的,主设备101以及副设备102至104还可以用于采集一个3D场景。主设备101与副设备102至104之间的位置关系可以是环形部署(例如图2所示,其中,图2所示环形部署中的主设备的数量为1个,副设备的数量为5个,具体的设备数量只是举例)、球形部署,正方体部署等,具体主设备与副设备时间的位置关系此处不做限定。
在一种可能的设计中,主设备101可以控制副设备102至104触发同时拍摄,然后副设备102至104将获取到的相同时刻多个图像传送到主设备101。主设备101可以利用算法处理多个图像,得到目标图像或目标视频等数据。主设备101还可以向副设备102至104发送目标图像或目标视频等数据。
在另一种可能的设计中,主设备101可以控制副设备102至104触发同时拍摄,然后副设备102至104将获取到的相同时刻多个图像传送到主设备101。主设备101可以将多个图像上传至云端设备100,云端设备100利用算法处理多个图像,得到目标图像或目标视频等数据。云端设备100还可以向主设备101发送目标图像或目标视频等数据。使得主设备101还可以向副设备102至104发送目标图像或目标视频等数据。从而完成从采集到最终效果呈现的结果。
本申请实施例中,主设备或副设备是一种具有拍摄功能的设备,可以是摄像机、照相机、手机(mobile phone)、平板电脑(Pad)、增强现实(augmented reality,AR)终端设备或穿戴终端设备等。
作为另一示例,本申请实施例除了可以应用于人工智能领域的图像处理领域中,还可以应用于其他需要进行中间视角合成的场景中,例如:电影电视(如:黑客帝国中的子弹时间)、体育赛事直播(如:Intel TrueView)或房产交易平台所应用的3D视角等场景。此处不再对其他场景进行一一列举。
由于本申请实施例涉及神经网络的应用,为了便于理解,下面先对本申请实施例主要涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以Xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为Xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量。由于DNN层数多,则系数W和偏移向量的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为W24 3。上标3代表系数所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为Wjk L。需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)像素值
图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
参见附图3,本发明实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:第一训练图像以及第二训练图像。其中,第一训练图像可以为第一图像,第二训练图像可以为第二图像。也可以理解为第一训练图像与第一图像是针对同一场景相同的一个视角下采集的图像,第二训练图像与第二图像是针对该同一场景相同的另一个视角下采集的图像。并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。下面将以实施例一更详细地描述训练设备120如何基于训练数据得到目标模型/规则101,该目标模型/规则101能够用于实现本申请实施例提供的数据处理方法,即,将相同时刻不同视角的两个图像通过相关预处理后输入该目标模型/规则101,即可得到中间视角的图像。本申请实施例中的目标模型/规则101具体可以为光流计算网络和/或图像修复网络,在本申请提供的实施例中,该光流计算网络和/或图像修复网络是通过训练第一训练图像以及第二训练图像得到的。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图3所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图3中,执行设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:第一图像以及第二图像,可以是用户输入的,也可以是用户通过拍摄设备上传的,当然还可以来自数据库,具体此处不做限定。
预处理模块113用于根据I/O接口112接收到的输入数据(如第一图像以及第二图像)进行预处理,在本申请实施例中,预处理模块113可以用于将输入的多个数据进行尺寸修剪等操作(例如当各副设备或主设备输出的第一图像以及第二图像大小规格等不一致时,预处理模块113还可以用于将第一图像以及第二图像进行归一化处理)。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的第三图像返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图3中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图3仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图3中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图3所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是光流计算网络和/或图像修复网络,具体的,在本申请实施例提供的网络中,光流计算网络和图像修复网络都可以是卷积神经网络。
一种可能实现的方式中,图3中的执行设备110可以是前述图1所示的云端设备,客户设备140可以是前述图1所示的主设备或副设备,即本申请提供的方法主要应用于云端设备。
另一种可能实现的方式中,图3中的执行设备110可以是前述图1所示的主设备,客户设备140可以是前述图1所示的副设备,即本申请提供的方法主要应用于主设备。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图4所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图4所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图4中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图4所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等……
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图4由110至140的传播为前向传播)完成,反向传播(如图4由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图4所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图5所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
CNN的算法处理可以应用于图1所示的主设备101或云端设备100中。
下面结合图1的应用场景,对本申请实施例中的数据处理方法进行描述:
请参阅图6,本申请实施例中数据处理方法一个实施例包括:
601、数据处理装置获取第一图像以及第二图像。
下面仅以数据处理装置是图1所示场景中的主设备、第一拍摄设备与第二拍摄设备是图1所示场景中的任意两个副设备为例进行示意性说明,可以理解的是,数据处理装置还可以是图1所示场景中的云端设备,第一拍摄设备与第二拍摄设备可以是主设备或副设备。具体此处不做限定。
本实施例中,第一图像可以是第一拍摄设备在第一视角下采集的图像,第二图像可以是第二拍摄设备在第二视角下采集的图像,且第一拍摄设备采集第一图像的时刻与第二拍摄设备采集第二图像的时刻相同(或者第一图像的采集时刻与第二图像的采集时刻之间的时间间隔小于或等于预设阈值)。即第一图像与第二图像为多个拍摄设备在同时刻且不同视角下获得的图像。
可以理解的是,第一拍摄设备采集第一图像的时刻与第二拍摄设备采集第二图像的时刻相同,也可以认为是第一图像的采集时刻与第二图像的采集时刻之间的时间间隔小于或等于预设阈值,该预设阈值根据实际需要设置,具体此处不做限定。
第一拍摄设备与第二拍摄设备采集到第一图像以及第二图像之后,向数据处理装置发送第一图像以及第二图像。
602、数据处理装置获取第一图像与第二图像之间的相对位姿。
本申请实施例中,相对位姿包括第一相对位姿以及第二相对位姿,第一相对位姿为第一图像相对于第二图像的位姿,第二相对位姿为第二图像相对于第一图像的位姿。
本申请实施例中的相对位姿可以包括基础矩阵或变换矩阵(H)等参数,也可以理解为基础矩阵或变换矩阵等参数可以用来描述相对位姿。即若用变换矩阵描述相对位姿,变换矩阵包括第一变换矩阵以及第二变换矩阵,第一变换矩阵为第一图像相对于第二图像的矩阵,第二变换矩阵为第二图像相对于第一图像的矩阵。
本申请实施例中,数据处理装置获取相对位姿的方式有很多。下面仅以采用运动推断结构(structure from motion,SFM)算法为例进行示意性说明。
数据处理装置可以通过特征点提取以及SFM的方式估计第一图像与第二图像之间的相对位姿。
使用尺度不变特征变换(scale-invariant feature transform,SIFT)特征检测器提取第一图像以及第二图像的特征点,并计算该特征点对应的描述子(descriptor),使用近似最近邻算法(approximate nearest neighbor,ANN)方法进行匹配,得到匹配对。然后,将低于预设值的匹配对删除。对保留下来的匹配使用随机抽样一致算法(RANdomSample Consensus,RANSAC)进行过滤误匹配,得到目标匹配对。通过八点法得到变换矩阵,具体得到变换矩阵的方式有多种,下面以两种方式为例进行示意性说明:
1、将第一图像中的任意四个点坐标(其中至少三个点不在同一直线上),并且在第二图像上指定四给点(与第一图像的四个点对应),通过八个点求出变换矩阵。
2、通过八点法先得到基础矩阵(fundamental matrix),在利用基础矩阵变换得到变换矩阵。
RANSAC算法能有效地消除错误点给模型参数带来的偏差,通过RANSAC算法以及八点法获得的变换矩阵更加准确。
示例性的,如图7所示,数据处理装置先获取第一图像以及第二图像的SIFT特征点,在通过ANN方法匹配得到如图8所示保留下来的匹配对。再对保留下来的匹配对使用RANSAC和八点法估计变换矩阵,从而得到第一拍摄设备与第二拍摄设备之间的相对位姿(即RT矩阵)。
603、数据处理装置基于第一图像、第二图像以及相对位姿,生成第三图像。
数据处理装置在获取第一图像、第二图像以及相对位姿之后,数据处理装置可以将第一图像以及第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图(例如图9所示的初始光流图)。其中,初始光流图可以用于描述像素点的位移过程,初始光流图与第一图像以及第二图像的尺寸一致。
数据处理装置可以通过前置图像扭曲(forwad warping)方法处理第一图像以及初始光流图,得到第一目标光流图像(例如图9所示的I1)。通过forwad warping方法处理第二图像以及初始光流图,得到第二目标光流图像(例如图9所示的I2)。可以理解为,通过初始光流图,得到第一图像的第一视角到第二图像的第二视角之间,第一图像中各像素点的运动方向以及距离。因此可以提供更多像素点的光流信息,使得后续生成的第三图像中像素点之间更加平缓。
可以理解的是,根据forwad warping可以生成一个或多个目标光流图像,上述的第一目标光流图像和第二目标光流图像只是举例,目标光流图像的具体数量此处不做限定。
下面简单介绍一下使用forwad warping处理第一图像以及初始光流图,得到第一目标光流图像的基本原理。第一目标光流图像可以通过下述的第一转换公式得到。
其中,x1与y1表示第一图像中某一个像素点P的坐标(也可以称为P点的旧坐标),tx与ty表示P点的旧坐标(x1,y1)下的光流在X轴方向以及Y轴方向移动距离的大小。因为第一图像的尺寸与初始光流图的尺寸是一样的,所以(x1,y1)与(tx,ty)可以一一对应。
通过上述第一转换公式可以看出,第一目标光流图像中P点的新坐标就是(x2,y2),即x2=x1+tx,y2=y1+ty。
同理,第一图像中的每个像素点类似于上述像素点P的操作,根据第一图像与第一目标光流图像中各像素点的坐标变换关系,从第一图像映射到第一目标光流图像,对像素点进行赋值,赋值的过程中通过插值运算(例如最近邻差值法、双线性插值法、双三次插值法等)确定第一目标光流图像中各像素点的值,进而生成第一目标光流图像。可以理解的是,第二目标光流图像的生成方式与第一目标光流图像的生成方式类似,此处不再赘述。
数据处理装置还可以通过图片图像扭曲(image warping)方法处理第一图像以及第一相对位姿得到第一扭曲图像(例如图9所示的I0)。通过image warping方法处理第二图像以及第二相对位姿得到第二扭曲图像(例如图9所示的I3)。可以理解为,由于利用相对位姿获取的第一扭曲图像以及第二扭曲图像,可以为后续图像修复网络提供更多的图像纹理信息,便于图像修复网络处理掉更多瑕疵。
可以理解的是,根据image warping可以生成一个或多个扭曲图像,上述的第一扭曲图像和第二扭曲图像只是举例,扭曲图像的具体数量此处不做限定。
下面简单介绍一下使用image warping处理第一图像以及第一相对位姿,得到第一扭曲图像的基本原理。可选地,第一相对位姿为第一变换矩阵(即H为3×3的矩阵),第一扭曲图像可以通过下述的第二转换公式得到。
其中,上述第二变换公式中的x为第一图像中某一个像素点Q的旧坐标,H为前面求得的变换矩阵(可以用于描述相对位姿),x'为第一扭曲图像中像素点Q的新坐标点。另外,上述第二转换公式中H矩阵的最后一个元素h33始终为1。
公式运算这里不做过多解释,利用第二转换公式,可以求解第一扭曲图像中像素点Q的新坐标点。同理,第一图像中的每个像素点类似于上述像素点Q的操作,根据第一图像与第一扭曲图像中各像素点的坐标变换关系,从第一图像映射到第一扭曲图像,对像素点进行赋值,赋值的过程中通过插值运算(例如最近邻差值法、双线性插值法、双三次插值法等)确定第一扭曲图像中各像素点的值,进而生成第一扭曲图像。可以理解的是,第二扭曲图像的生成方式与第一扭曲图像的生成方式类似,此处不再赘述。
数据处理装置将第一目标光流图像、第一扭曲图像、第二目标光流图像以及第二扭曲图像输入训练好的图像修复网络进行图像修复,得到第一视角与第二视角之间的中间视角(即第三视角)对应的第三图像(例如图9所示,将I0、I1、I2、I3输入训练好的图像修复网络中,得到第三图像)。其中,光流估计网络和图像修复网络都采用了基于Unet结构的CNN网络。
其中,中间视角可以理解为,第一图像的第一平面法向量与第二图像的第二平面法向量经过平移后,两个平面法向量之间的任意一条射线对应的图像都可以称为是第一视角与第二视角之间第三视角对应的第三图像。
由于第一扭曲图像和第二扭曲图像是根据第一图像、第二图像以及相对位姿生成的,所以第一扭曲图像和第二扭曲图像的特征覆盖比较全面,且第一目标光流图像和第二目标光流图像是根据光流信息得到的,第一目标光流图像和第二目标光流图像的细节特征(即光流特征)比较全面,所以结合特征比较全的第一扭曲图像和第二扭曲图像以及细节特征比较明显的第一目标光流图像和第二目标光流图像,可以实现第一扭曲图像和第二扭曲图像以及第一目标光流图像和第二目标光流图像之间的信息互补,有助于后续图像修复网络生成的中间视角图像具备更多特征以及细节的特征。
本申请实施例中,第三图像的数量根据实际需要设置,具体此处不做限定。
示例性的,如图9所示,延续图7与图8的示例,通过步骤603得到图9所示的第三视角对应的第三图像。
上述训练好的光流计算网络以及训练好的图像修复网络是通过以第一训练图像以及第二训练图像作为光流计算网络的输入,以损失函数的值小于第二阈值为目标对光流计算网络以及图像修复网络进行联合训练得到,该损失函数用于指示图像修复网络输出的图像与第三目标图像之间的差异,第三目标图像为在第一目标图像对应第一目标视角和第二目标图像对应第二目标视角之间的视角下采集的图像。
其中,光流计算网络以及图像修复网络进行联合训练是指:将光流计算网络与图像修复网络作为一个整体网络进行训练,也可以理解为,相较于中间生成的两个目标光流图像,联合训练更看重整体网络输出的第三图像的效果。
进一步的,光流计算网络以及图像修复网络采用端到端整体训练的方式完成,首先利用标定好的多相机系统采集大量的训练数据集,训练数据集主要有多组3张图像构成,一幅左图像(即第一训练图像),一幅右图像(第二训练图像)和一副中间图像(第三目标图像)。在训练阶段,将左图像和右图像作为输入,中间图像作为输出来监督整个网络的端到端学习。当然,训练时若是输入多张,输出一张,则具体实现得到的第三图像为一张。若训练时若是输入多张,输出多张,则具体实现得到的第三图像为多张。实际应用中,第三图像是一张还是多张可以根据训练时的输入输出数量进行相应调整,具体此处不做限定。
数据处理装置生成第三图像之后,可以向第一拍摄设备和/或第二拍摄设备发送该第三图像,使得使用第一拍摄设备和/或第二拍摄设备的用户可以查看第三图像。
本申请实施例中,基于第一图像、第二图像以及第一图像与第二图像之间的相对位姿,生成第三图像,该第三图像的视角在第一视角与第二视角之间。通过已有的视角图像以及相对位姿合成其他视角图像,提升输出效果的精细程度。
进一步的,结合特征比较全的第一扭曲图像和第二扭曲图像以及细节特征比较明显的第一目标光流图像和第二目标光流图像,可以实现第一扭曲图像和第二扭曲图像以及第一目标光流图像和第二目标光流图像之间的信息互补,有助于后续图像修复网络生成的中间视角图像具备更多特征以及细节的特征,便于图像修复网络处理掉更多瑕疵,使得生成的第三图像更加平缓。
全景精彩瞬间是一种利用计算机视觉技术来实现强化的慢镜头、时间暂停的特效,该技术被应用于电影电视(如:黑客帝国中的子弹时间)、体育赛事直播(如:IntelTrueView)等领域。
目前,获取全景精彩瞬间的方式是:提前挑选好场地(如:篮球场),并在场地周围的固定位置设置多个高清摄像机,利用大量昂贵的多个高清摄像机来同步聚焦一个场景。再利用3D建模的方法重新创建等体积的3D人物图像(如:篮球运动员)。对场景以及3D人物图像进行渲染,得到全景精彩瞬间。使得观众体验到了传统直播无法带来的震撼及身临其境的感觉。
然而,上述方式中的高清摄像机需要提前设置好固定位置,如果需要在其他场景下获取全景精彩视频,需要重新设置高清摄像头的位置,使得上述方式的应用场景不够灵活。
本申请实施例提供了一种数据处理方法及相关设备。可以用于生成中间视角的图像。
针对上述问题,本申请还提供一种数据处理方法,可以通过移动的设备(例如手机)获取全景精彩视频。
请参阅图10,本申请实施例中数据处理方法另一实施例包括:
1001、数据处理装置获取第一图像以及第二图像。
本申请实施例中的数据处理装置可以是图1所示场景中的主设备101或云端设备100,具体此处不做限定。
本实施例中的第一图像由第一视角下第一拍摄设备采集的图像处理得到,第二图像由第二视角下第二拍摄设备采集的图像处理得到,下面具体描述第一图像与第二图像的获取过程。另外,本申请实施例中的数据处理装置可以是第一拍摄设备、第二拍摄设备、与第一拍摄设备以及第二拍摄设备连接的目标拍摄设备(即图1所示场景中的主设备101)或云端设备,具体此处不做限定。
第一拍摄设备在第一视角下采集第一原始图像,该第一原始图像包括目标人物以及除了目标人物以外的第一背景。第二拍摄设备在第二视角下采集第二原始图像,该第二原始图像包括目标人物以及除了目标人物以外的第二背景。
本申请实施例中数据处理装置获取第一图像以及第二图像的方式有多种,下面分别描述:
1、数据处理装置从第一原始图像以及第二原始图像中提取第一图像以及第二图像。
数据处理装置获取第一拍摄设备采集的第一原始图像以及第二拍摄设备采集的第二原始图像。并提取第一原始图像中的第一人物图像以及第二原始图像中的第二人物图像,该第一人物图像以及第二人物图像都包括目标人物。数据处理装置确定第一人物图像为第一图像,确定第二人物图像为第二图像。
示例性的,如图11所示,数据处理装置可以分割第一原始图像,得到第一人物图像以及第一背景图像。数据处理装置可以分割第二原始图像,得到第二人物图像以及第二背景图像。并确定第一人物图像为第一图像,确定第二人物图像为第二图像。
当然,数据处理装置也可以直接从第一原始图像中提取出第一人物图像,提取第一人物图像采用的方式,具体此处不做限定。数据处理装置还可以先采用基于CNN的人像分割算法分割第一原始图像以及第二原始图像,分别得到第一二值分割图以及第二二值分割图,两个分割图的前景区域的像素值为1(目标人物的区域),背景区域的像素值为0(除了目标人物以外的背景区域)。并根据第一图像以及第一二值分割图得到得到第一人物图像,根据第二图像以及第二二值分割图得到得到第二人物图像。数据处理装置再确定第一人物图像为第一图像,确定第二人物图像为第二图像。
2、数据处理装置从第一拍摄设备与第二拍摄设备获取第一图像以及第二图像。
第一拍摄设备从第一原始图像提取出第一人物图像,在向数据处理装置发送第一人物图像,也可以是第二拍摄设备从第二原始图像提取出第二人物图像,在向数据处理装置发送第二人物图像。数据处理装置确定第一人物图像为第一图像,确定第二人物图像为第二图像。
本申请实施例中数据处理装置获取第一图像以及第二图像的方式有多种,上述两种只是举例,具体此处不做限定。
1002、数据处理装置获取第一图像与第二图像之间的相对位姿。
本申请实施例中,数据处理装置获取相对位姿的方式有很多。下面仅以SFM算法为例进行示意性说明。
可以通过特征点提取以及SFM的方式估计第一图像与第二图像之间的相对位姿。
使用SIFT特征检测器提取第一图像以及第二图像的特征点,并计算该特征点对应的描述子(descriptor),使用ANN方法进行匹配,得到匹配对(如图12所示)。然后,将低于预设值的匹配对删除。对保留下来的匹配使用RANSAC和八点法估计基本矩阵,从而得到第一拍摄设备与第二拍摄设备之间的相对位姿。
本实施例中的步骤1002与前述图6对应步骤602类似,此处不再赘述。
1003、数据处理装置基于第一图像、第二图像以及相对位姿,生成第三图像。
本实施例中的步骤1003中生成第三图像的方法与前述图6对应步骤603生成第三图像的方法类似,下面结合附图描述下方法流程,具体原理以及实现方式可以参考前述图6对应步骤603,此处不再过多赘述。
数据处理装置可以通过forwad warping方法处理第一图像以及初始光流图,得到第一目标光流图像(例如图13所示的I5)。通过forwad warping方法处理第二图像以及初始光流图,得到第二目标光流图像(例如图13所示的I6)。可以理解为,通过初始光流图,得到第一图像的第一视角到第二图像的第二视角之间,第一图像中各像素点的运动方向以及距离。因此可以提供更多像素点的光流信息,使得后续生成的第三图像中像素点之间更加平缓。
数据处理装置还可以通过image warping方法处理第一图像以及第一相对位姿得到第一扭曲图像(例如图13所示的I4)。通过image warping方法处理第二图像以及第二相对位姿得到第二扭曲图像(例如图13所示的I7)。可以理解为,由于利用相对位姿获取的第一扭曲图像以及第二扭曲图像,可以为后续图像修复网络提供更多的图像纹理信息,便于图像修复网络处理掉更多瑕疵。
数据处理装置将第一目标光流图像、第一扭曲图像、第二目标光流图像以及第二扭曲图像输入训练好的图像修复网络进行图像修复,得到第一视角与第二视角之间的中间视角(即第三视角)对应的第三图像(例如图13所示,将I4、I5、I6、I7输入训练好的图像修复网络中,得到第三图像)。
本申请实施例中第三目标的数量可以是一个或更多(例如图14所示,第三图像的数量为2个),具体此处不做限定。
1004、数据处理装置拼接第一背景图像以及第二背景图像,得到目标背景图像。
示例性的,如图11所示,数据处理装置从第一原始图像提取出第一人物图像之后,得到第一背景图像,从第二原始图像提取出第二图像图像之后,得到第二背景图像。
数据处理装置也可以直接从第一原始图像中提取第一背景图像,直接从第二原始图像中提取第二背景图像。
可以理解的是,如图15所示,数据处理装置还可以简单分割第一原始图像得到第一空洞图像,再根据第一原始图像填充第一空洞图像,得到第一背景图像。数据处理装置还可以简单分割第二原始图像得到第二空洞图像,再根据第二原始图像填充第二空洞图像,得到第二背景图像。
数据处理装置根据第一原始图像填充第一空洞图像,得到第一背景图像的具体过程也可以采用CNN来实现背景空洞的填充工作,具体此处不做限定。
数据处理装置获取第一背景图像以及第二背景图像之后,可以直接拼接第一背景图像以及第二背景图像,得到目标背景图像。
可选地,对第一背景图像以及第二背景图像进行SIFT特征点提取,然后进行特征点匹配,再将第一背景图像以及第二背景图像的重叠边界进行特殊处理(例如平滑处理),使得第一背景图像以及第二背景图像拼接成目标背景图像(如图16所示)。
可选地,为了第一背景图像以及第二背景图像拼接准确,可以参考相对位姿拼接第一背景图像以及第二背景图像得到目标背景图像。
示例性的,当背景图像为三张时,拼接成的目标背景图像如图17所示。
1005、数据处理装置融合第三图像以及目标背景图像,得到目标图像。
数据处理装置得到目标背景图像以及第三图像之后,融合目标背景图像以及第三图像之后得到目标图像。
示例性的,如图18所示,数据处理装置融合第三图像以及目标背景图像,得到目标图像。
可选地,数据处理装置利用泊松融合(Poisson Blending)将第三图像融合到目标背景图像的某一区域(例如,中心区域),得到目标图像,从而实现更自然的融合效果,而且该目标图像即为输出的视频中的一帧。其中的融合利用了泊松融合技术,该技术是根据第三图像的梯度信息以及目标背景图像的边界信息,将第三图像中一个物体或者一个区域嵌入到目标背景图像生成一个新的图像,即目标图像。
数据处理装置还可以利用泊松融合将第一图像以及目标背景图像融合生成第一目标图像,还可以利用泊松融合将第二图像以及目标背景图像融合生成第二目标图像,并压缩第一目标图像、目标图像以及第二目标图像生成目标视频。
示例性的,若第三图像如图13所示,第三图像为一张,则生成的目标视频可以如图19所示。其中,目标视频的第一帧为第一目标图像,目标视频的第二帧为目标图像,目标视频的第三帧为第二目标图像。
示例性的,若第三图像如图14所示,第三图像为两张,则生成的目标视频可以如图20所示。其中,目标视频的第一帧为第一目标图像,目标视频的第二帧以及第三帧为目标图像,目标视频的第四帧为第二目标图像。
数据处理装置得到目标视频后,可以向第一拍摄设备和/或第二拍摄设备发送目标视频,使得使用第一拍摄设备和/或第二拍摄设备的用户可以观看目标视频。本申请实施例中,一方面:通过利用相对位姿获取到的参考图像I4和I7以及通过光流信息获取到的参考图像I5和I6,可以使得参考图像之间有互补的地方,便于图像修复网络处理掉更多瑕疵,使得生成的第三图像更加平缓。另一方面:可以根据第一图像、第二图像、第三图像以及目标背景图像生成目标视频(也可以是全景精彩视频)。另外,由于第一拍摄设备、第二拍摄设备以及数据处理装置可以是手机,可以使用移动的手机来生成全景精彩瞬间(即目标视频),相较于固定机位的全景精彩瞬间,本方法更具有灵活性。
相应于上述方法实施例给出的方法,本申请实施例还提供了相应的装置,包括用于执行上述实施例相应的模块。所述模块可以是软件,也可以是硬件,或者是软件和硬件结合。
请参阅图21,本申请实施例中数据处理装置的一个实施例,该数据处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该数据处理装置包括:
获取单元2101,用于获取第一图像以及第二图像,第一图像为第一视角下采集的图像,第二图像为第二视角下采集的图像,第一图像的采集时刻与第二图像的采集时刻相同。
获取单元2101,还用于获取第一图像与第二图像之间的相对位姿。
生成单元2102,用于基于第一图像、第二图像以及相对位姿,生成第三图像,第三图像的视角在第一视角与第二视角之间。
本实施例中,数据处理装置中各单元所执行的操作与前述图6至图20所示实施例中描述的类似,此处不再赘述。
本实施例中,生成单元2102基于第一图像、第二图像以及第一图像与第二图像之间的相对位姿,生成第三图像,该第三图像的视角在第一视角与第二视角之间。通过已有的视角图像以及相对位姿合成其他视角图像,提升输出效果的精细程度。
请参阅图22,本申请实施例中数据处理装置的另一实施例,该数据处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该数据处理装置包括:
获取单元2201,用于获取第一图像以及第二图像,第一图像为第一视角下采集的图像,第二图像为第二视角下采集的图像,第一图像的采集时刻与第二图像的采集时刻相同。
获取单元2201,还用于获取第一图像与第二图像之间的相对位姿。
生成单元2202,用于基于第一图像、第二图像以及相对位姿,生成第三图像,第三图像的视角在第一视角与第二视角之间。
上述生成单元2202还包括:
光流计算子单元22021,用于将第一图像以及第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图。
第一扭曲子单元22022,用于通过前置图像扭曲forwad warping方法处理第一图像以及初始光流图得到第一目标光流图像。
第一扭曲子单元22022,还用于通过forwad warping方法处理第二图像以及初始光流图得到第二目标光流图像。
第二扭曲子单元22023,用于通过图片图像扭曲image warping方法处理第一图像以及第一相对位姿得到第一扭曲图像。
第二扭曲子单元22023,用于通过image warping方法处理第二图像以及第二相对位姿得到第二扭曲图像。
修复子单元22024,用于将第一目标光流图像、第一扭曲图像、第二目标光流图像、第二扭曲图像输入训练好的图像修复网络进行图像修复,得到第三图像。
本实施例中的数据处理装置还包括:
拼接单元2203,用于拼接第一背景图像以及第二背景图像,得到目标背景图像。
融合单元2204,用于融合第三图像以及目标背景图像,得到目标图像。
融合单元2204,还用于融合第一图像以及目标背景图像,得到第一目标图像。
融合单元2204,还用于融合第二图像以及目标背景图像,得到第二目标图像。
压缩单元2205,用于压缩第一目标图像、目标图像以及第二目标图像得到目标视频。
发送单元2206,用于向第一拍摄设备发送目标视频,第一拍摄设备为采集第一图像的设备。
本实施例中,数据处理装置中各单元所执行的操作与前述图6至图20所示实施例中描述的类似,此处不再赘述。
本实施例中,一方面:生成单元2102通过利用相对位姿获取到的参考图像I4和I7以及通过光流信息获取到的参考图像I5和I6,可以使得参考图像之间有互补的地方,便于图像修复网络处理掉更多瑕疵,使得生成的第三图像更加平缓。另一方面:压缩单元2106可以根据第一图像、第二图像、第三图像以及目标背景图像生成目标视频(也可以是全景精彩视频)。另外,由于第一拍摄设备、第二拍摄设备以及数据处理装置可以是手机,可以使用移动的手机来生成全景精彩瞬间(即目标视频),相较于固定机位的全景精彩瞬间,本方法更具有灵活性。
请参阅图23,本申请实施例提供了另一种数据处理装置,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该数据处理装置可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端设备(point of sales,POS)、车载电脑等任意终端设备,以数据处理装置为手机为例:
图23示出的是与本申请实施例提供的手机的部分结构的框图。参考图23,手机包括:射频(radio frequency,RF)电路2210、存储器2220、输入单元2230、显示单元2240、传感器2250、音频电路2260、无线保真(wireless fidelity,WiFi)模块2270、处理器2280、以及摄像头2290等部件。本领域技术人员可以理解,图23中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图23对手机的各个构成部件进行具体的介绍:
RF电路2310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器2380处理;另外,将设计上行的数据发送给基站。通常,RF电路2310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路2310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器2320可用于存储软件程序以及模块,处理器2380通过运行存储在存储器2320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器2320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器2320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元2330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元2330可包括触控面板2331以及其他输入设备2332。触控面板2331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板2331上或在触控面板2331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板2331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器2380,并能接收处理器2380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板2331。除了触控面板2331,输入单元2330还可以包括其他输入设备2332。具体地,其他输入设备2332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元2340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元2340可包括显示面板2341,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板2341。进一步的,触控面板2331可覆盖显示面板2341,当触控面板2331检测到在其上或附近的触摸操作后,传送给处理器2380以确定触摸事件的类型,随后处理器2380根据触摸事件的类型在显示面板2341上提供相应的视觉输出。虽然在图23中,触控面板2331与显示面板2341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板2331与显示面板2341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器2350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板2341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板2341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路2360、扬声器2361,传声器2362可提供用户与手机之间的音频接口。音频电路2360可将接收到的音频数据转换后的电信号,传输到扬声器2361,由扬声器2361转换为声音信号输出;另一方面,传声器2362将收集的声音信号转换为电信号,由音频电路2360接收后转换为音频数据,再将音频数据输出处理器2380处理后,经RF电路2310以发送给比如另一手机,或者将音频数据输出至存储器2320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块2370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图23示出了WiFi模块2370,但是可以理解的是,其并不属于手机的必须构成。
处理器2380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器2320内的软件程序和/或模块,以及调用存储在存储器2320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器2380可包括一个或多个处理单元;优选的,处理器2380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器2380中。
手机还包括给各个部件供电的摄像头2390,优选的,摄像头2390可以采集第一图像和/或第二图像,并与处理器2380逻辑相连,从而通过处理器2380实现对第一图像以及第三图像的处理,具体处理流程可参照前述图6至图20所示实施例中的步骤。
尽管未示出,手机还可以包括电源(比如电池)、蓝牙模块等,在此不再赘述。优选的,电源可以通过电源管理系统与处理器2380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在本申请实施例中,该数据处理装置所包括的处理器2380可以执行前述图6至图20所示实施例中的功能,此处不再赘述。
下面介绍本申请实施例提供的一种芯片硬件结构。
图24为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器240。该芯片可以被设置在如图3所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图3所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图4或图5所示的卷积神经网络中各层的算法均可在如图24所示的芯片中得以实现。
神经网络处理器NPU 50NPU作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路2403,控制器2404控制运算电路2403提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路2403内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路2403是二维脉动阵列。运算电路2403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2401中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器2408accumulator中。
向量计算单元2407可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元2407可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元2407将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元2407可以将非线性函数应用到运算电路2403的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2407生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2403的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器2406用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器2405(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器2401和/或统一存储器2406、将外部存储器中的权重数据存入权重存储器2402,以及将统一存储器2406中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)2410,用于通过总线实现主CPU、DMAC和取指存储器2409之间进行交互。
与控制器2404连接的取指存储器(instruction fetch buffer)2409,用于存储控制器2404使用的指令。
控制器2404,用于调用指存储器2409中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器2406,输入存储器2401,权重存储器2402以及取指存储器2409均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图4或图5所示的卷积神经网络中各层的运算可以由运算电路2403或向量计算单元2407执行。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (18)
1.一种数据处理方法,其特征在于,包括:
获取第一图像以及第二图像,所述第一图像为第一视角下采集的图像,所述第二图像为第二视角下采集的图像,所述第一图像的采集时刻与所述第二图像的采集时刻相同;
获取所述第一图像与所述第二图像之间的相对位姿;
基于所述第一图像、所述第二图像以及所述相对位姿,生成第三图像,所述第三图像的视角在所述第一视角与所述第二视角之间。
2.根据权利要求1所述的方法,其特征在于,所述相对位姿包括第一相对位姿以及第二相对位姿,所述第一相对位姿为所述第一图像相对于所述第二图像的位姿,所述第二相对位姿为所述第二图像相对于所述第一图像的位姿;
所述基于所述第一图像、所述第二图像以及所述相对位姿,生成第三图像,包括:
将所述第一图像以及所述第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图;
通过前置图像扭曲forwad warping方法处理所述第一图像以及所述初始光流图得到第一目标光流图像;
通过forwad warping方法处理所述第二图像以及所述初始光流图得到第二目标光流图像;
通过图片图像扭曲image warping方法处理所述第一图像以及所述第一相对位姿得到第一扭曲图像;
通过image warping方法处理所述第二图像以及所述第二相对位姿得到第二扭曲图像;
将所述第一目标光流图像、所述第一扭曲图像、所述第二目标光流图像、所述第二扭曲图像输入训练好的图像修复网络进行图像修复,得到所述第三图像。
3.根据权利要求2所述的方法,其特征在于,所述训练好的光流计算网络以及所述训练好的图像修复网络是通过以第一训练图像以及第二训练图像作为所述光流计算网络的输入,以损失函数的值小于第二阈值为目标对光流计算网络以及图像修复网络进行联合训练得到;
所述损失函数用于指示图像修复网络输出的图像与第三目标图像之间的差异,所述第三目标图像为在第一目标图像对应第一目标视角和第二目标图像对应第二目标视角之间的视角下采集的图像。
4.根据权利要求1至3中任一项所述的方法,所述相对位姿包括变换矩阵,所述变换矩阵用于描述所述第一图像与所述第二图像之间像素点的关联关系,所述第一相对位姿包括第一变换矩阵,所述第一变换矩阵为所述第一图像相对于所述第二图像的矩阵,所述第二相对位姿包括第二变换矩阵,所述第二变换矩阵为所述第二图像相对于所述第一图像的矩阵。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一图像包括目标人物与第一背景图像,所述第二图像包括所述目标人物与第二背景图像。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
拼接所述第一背景图像以及所述第二背景图像,得到目标背景图像;
融合所述第三图像以及所述目标背景图像,得到目标图像。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
融合所述第一图像以及所述目标背景图像,得到第一目标图像;
融合所述第二图像以及所述目标背景图像,得到第二目标图像;
压缩所述第一目标图像、所述目标图像以及所述第二目标图像得到目标视频。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
向第一拍摄设备发送所述目标视频,所述第一拍摄设备为采集所述第一图像的设备。
9.一种数据处理装置,其特征在于,包括:
获取单元,用于获取第一图像以及第二图像,所述第一图像为第一视角下采集的图像,所述第二图像为第二视角下采集的图像,所述第一图像的采集时刻与所述第二图像的采集时刻相同;
所述获取单元,还用于获取所述第一图像与所述第二图像之间的相对位姿;
生成单元,用于基于所述第一图像、所述第二图像以及所述相对位姿,生成第三图像,所述第三图像的视角在所述第一视角与所述第二视角之间。
10.根据权利要求9所述的数据处理装置,其特征在于,所述相对位姿包括第一相对位姿以及第二相对位姿,所述第一相对位姿为所述第一图像相对于所述第二图像的位姿,所述第二相对位姿为所述第二图像相对于所述第一图像的位姿;
所述生成单元包括:
光流计算子单元,用于将所述第一图像以及所述第二图像输入训练好的光流计算网络进行光流计算,得到初始光流图;
第一扭曲子单元,用于通过前置图像扭曲forwad warping方法处理所述第一图像以及所述初始光流图得到第一目标光流图像;
所述第一扭曲子单元,还用于通过forwad warping方法处理所述第二图像以及所述初始光流图得到第二目标光流图像;
第二扭曲子单元,用于通过图片图像扭曲image warping方法处理所述第一图像以及所述第一相对位姿得到第一扭曲图像;
所述第二扭曲子单元,用于通过image warping方法处理所述第二图像以及所述第二相对位姿得到第二扭曲图像;
修复子单元,用于将所述第一目标光流图像、所述第一扭曲图像、所述第二目标光流图像、所述第二扭曲图像输入训练好的图像修复网络进行图像修复,得到所述第三图像。
11.根据权利要求10所述的数据处理装置,其特征在于,所述训练好的光流计算网络以及所述训练好的图像修复网络是通过以第一训练图像以及第二训练图像作为所述光流计算网络的输入,以损失函数的值小于第二阈值为目标对光流计算网络以及图像修复网络进行联合训练得到;
所述损失函数用于指示图像修复网络输出的图像与第三目标图像之间的差异,所述第三目标图像为在第一目标图像对应第一目标视角和第二目标图像对应第二目标视角之间的视角下采集的图像。
12.根据权利要求9至11中任一项所述的数据处理装置,所述相对位姿包括变换矩阵,所述变换矩阵用于描述所述第一图像与所述第二图像之间像素点的关联关系,所述第一相对位姿包括第一变换矩阵,所述第一变换矩阵为所述第一图像相对于所述第二图像的矩阵,所述第二相对位姿包括第二变换矩阵,所述第二变换矩阵为所述第二图像相对于所述第一图像的矩阵。
13.根据权利要求9至12中任一项所述的数据处理装置,其特征在于,所述第一图像包括目标人物与第一背景图像,所述第二图像包括所述目标人物与第二背景图像。
14.根据权利要求13所述的数据处理装置,其特征在于,所述数据处理装置还包括:
拼接单元,用于拼接所述第一背景图像以及所述第二背景图像,得到目标背景图像;
融合单元,用于融合所述第三图像以及所述目标背景图像,得到目标图像。
15.根据权利要求14所述的数据处理装置,其特征在于,
所述融合单元,还用于融合所述第一图像以及所述目标背景图像,得到第一目标图像;
所述融合单元,还用于融合所述第二图像以及所述目标背景图像,得到第二目标图像;
所述数据处理装置还包括:
压缩单元,用于压缩所述第一目标图像、所述目标图像以及所述第二目标图像得到目标视频。
16.根据权利要求15所述的数据处理装置,其特征在于,所述数据处理装置还包括:
发送单元,用于向第一拍摄设备发送所述目标视频,所述第一拍摄设备为采集所述第一图像的设备。
17.一种数据处理装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述数据处理装置执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148726.1A CN114511596A (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法及相关设备 |
PCT/CN2021/095141 WO2022083118A1 (zh) | 2020-10-23 | 2021-05-21 | 一种数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148726.1A CN114511596A (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114511596A true CN114511596A (zh) | 2022-05-17 |
Family
ID=81291489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011148726.1A Pending CN114511596A (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114511596A (zh) |
WO (1) | WO2022083118A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359097A (zh) * | 2022-10-20 | 2022-11-18 | 湖北芯擎科技有限公司 | 稠密光流生成方法、装置、电子设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293971B (zh) * | 2022-09-16 | 2023-02-28 | 荣耀终端有限公司 | 图像拼接方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013763B1 (en) * | 2015-09-28 | 2018-07-03 | Amazon Technologies, Inc. | Increasing field of view using multiple devices |
CN107317998A (zh) * | 2016-04-27 | 2017-11-03 | 成都理想境界科技有限公司 | 全景视频图像融合方法及装置 |
CN109584340B (zh) * | 2018-12-11 | 2023-04-18 | 苏州中科广视文化科技有限公司 | 基于深度卷积神经网络的新视角合成方法 |
CN113544698A (zh) * | 2019-02-28 | 2021-10-22 | 斯塔特斯公司 | 广播视频中运动员再识别的系统及方法 |
CN110798673B (zh) * | 2019-11-13 | 2021-03-19 | 南京大学 | 基于深度卷积神经网络的自由视点视频生成及交互方法 |
CN111275750B (zh) * | 2020-01-19 | 2022-05-13 | 武汉大学 | 基于多传感器融合的室内空间全景图像生成方法 |
-
2020
- 2020-10-23 CN CN202011148726.1A patent/CN114511596A/zh active Pending
-
2021
- 2021-05-21 WO PCT/CN2021/095141 patent/WO2022083118A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359097A (zh) * | 2022-10-20 | 2022-11-18 | 湖北芯擎科技有限公司 | 稠密光流生成方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022083118A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11605214B2 (en) | Method, device and storage medium for determining camera posture information | |
US20220076000A1 (en) | Image Processing Method And Apparatus | |
CN107592466B (zh) | 一种拍照方法及移动终端 | |
WO2019137131A1 (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN108712603B (zh) | 一种图像处理方法及移动终端 | |
CN113205560B (zh) | 多深度相机的标定方法、装置、设备及存储介质 | |
CN111246106B (zh) | 图像处理方法、电子设备及计算机可读存储介质 | |
CN107566739A (zh) | 一种拍照方法及移动终端 | |
CN110876036B (zh) | 一种视频生成的方法以及相关装置 | |
CN111064895B (zh) | 一种虚化拍摄方法和电子设备 | |
CN110266957B (zh) | 影像拍摄方法及移动终端 | |
CN107566730A (zh) | 一种全景图像拍摄方法及移动终端 | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN107566749A (zh) | 拍摄方法及移动终端 | |
WO2022083118A1 (zh) | 一种数据处理方法及相关设备 | |
CN107948505A (zh) | 一种全景拍摄方法及移动终端 | |
CN110766610A (zh) | 一种超分辨率图像的重建方法及电子设备 | |
CN113507558A (zh) | 去除图像眩光的方法、装置、终端设备和存储介质 | |
CN113542600A (zh) | 一种图像生成方法、装置、芯片、终端和存储介质 | |
CN110555815B (zh) | 一种图像处理方法和电子设备 | |
CN114429495A (zh) | 一种三维场景的重建方法和电子设备 | |
CN108765321A (zh) | 拍照修复方法、装置、存储介质及终端设备 | |
CN108781251A (zh) | 图像处理装置、图像处理方法和图像处理系统 | |
CN113723168A (zh) | 一种基于人工智能的主体识别方法、相关装置及存储介质 | |
CN111914106A (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 |