CN107993217A - 视频数据实时处理方法及装置、计算设备 - Google Patents
视频数据实时处理方法及装置、计算设备 Download PDFInfo
- Publication number
- CN107993217A CN107993217A CN201711405700.9A CN201711405700A CN107993217A CN 107993217 A CN107993217 A CN 107993217A CN 201711405700 A CN201711405700 A CN 201711405700A CN 107993217 A CN107993217 A CN 107993217A
- Authority
- CN
- China
- Prior art keywords
- layer
- current frame
- frame image
- neutral net
- video data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 178
- 238000003475 lamination Methods 0.000 claims abstract description 169
- 230000007935 neutral effect Effects 0.000 claims abstract description 155
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000005070 sampling Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 17
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 210000005036 nerve Anatomy 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 210000004218 nerve net Anatomy 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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
- 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
- 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)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种视频数据实时处理方法及装置、计算设备,方法对视频数据所包含的帧图像进行分组处理,包括:实时获取视频中的当前帧图像;判断当前帧图像是否为任一分组的第1帧图像;若是,则将当前帧图像输入至神经网络中,得到处理后的当前帧图像;若否,则将当前帧图像输入至神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;i和j为自然数;输出处理后的当前帧图像;重复执行上述步骤直至完成对视频数据中所有帧图像的处理。
Description
技术领域
本发明涉及图像处理领域,具体涉及一种视频数据实时处理方法及装置、计算设备。
背景技术
随着科技的发展,图像采集设备的技术也日益提高。使用图像采集设备录制的视频也更加清晰、分辨率、显示效果也大幅提高。在录制视频时还可以根据用户的各种个性化需求,对视频进行相应的处理。
现有技术在对视频进行处理时,往往是将视频中的每一帧图像作为单独的帧图像进行处理,而没有考虑到视频中前后帧之间的连续性。这样处理使得需要对每一帧均进行处理,处理的速度较慢,需要花费较多的时间。
因此,需要一种视频数据实时处理方法,以提升视频实时处理的速度。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频数据实时处理方法及装置、计算设备。
根据本发明的一个方面,提供了一种视频数据实时处理方法,方法对视频数据所包含的帧图像进行分组处理,其包括:
实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;
判断当前帧图像是否为任一分组的第1帧图像;
若是,则将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;
若否,则将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;
输出处理后的当前帧图像;
重复执行上述步骤直至完成对视频数据中所有帧图像的处理。
可选地,在判断出当前帧图像不是任一分组的第1帧图像之后,方法还包括:
计算当前帧图像与其所属分组的第1帧图像的帧间距;
根据帧间距,确定i和j的取值;其中,第i层卷积层与最后一层卷积层之间的层距与帧间距成反比关系,第j层反卷积层与输出层之间的层距与帧间距成正比关系。
可选地,方法还包括:预先设置帧间距与i和j的取值的对应关系。
可选地,在直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合之后,方法还包括:
若第j层反卷积层是神经网络的最后一层反卷积层,则将图像融合结果输入到输出层,以得到处理后的当前帧图像;
若第j层反卷积层不是神经网络的最后一层反卷积层,则将图像融合结果输入到第j+1层反卷积层,经过后续反卷积层和输出层的运算,以得到处理后的当前帧图像。
可选地,将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像进一步包括:在经过该神经网络的最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
可选地,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果之前,方法还包括:在经过该神经网络的第i层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
可选地,视频数据每组包含n帧帧图像;其中,n为固定预设值。
可选地,方法还包括:
将处理后的视频数据实时显示。
可选地,方法还包括:
将处理后的视频数据上传至云服务器。
可选地,将处理后的视频数据上传至云服务器进一步包括:
将处理后的视频数据上传至云视频平台服务器,以供云视频平台服务器在云视频平台进行展示视频数据。
可选地,将处理后的视频数据上传至云服务器进一步包括:
将处理后的视频数据上传至云直播服务器,以供云直播服务器将视频数据实时推送给观看用户客户端。
可选地,将处理后的视频数据上传至云服务器进一步包括:
将处理后的视频数据上传至云公众号服务器,以供云公众号服务器将视频数据推送给公众号关注客户端。
根据本发明的另一方面,提供了一种视频数据实时处理装置,装置对视频数据所包含的帧图像进行分组处理,其包括:
获取模块,适于实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;
判断模块,适于判断当前帧图像是否为任一分组的第1帧图像,若是,执行第一处理模块;否则,执行第二处理模块;
第一处理模块,适于将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;
第二处理模块,适于将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;
输出模块,适于输出处理后的当前帧图像;
循环模块,适于重复执行上述获取模块、判断模块、第一处理模块、第二处理模块和/或输出模块直至完成对视频数据中所有帧图像的处理。
可选地,装置还包括:
帧间距计算模块,适于计算当前帧图像与其所属分组的第1帧图像的帧间距;
确定模块,适于根据帧间距,确定i和j的取值;其中,第i层卷积层与最后一层卷积层之间的层距与帧间距成反比关系,第j层反卷积层与输出层之间的层距与帧间距成正比关系。
可选地,装置还包括:
预设模块,适于预先设置帧间距与i和j的取值的对应关系。
可选地,第二处理模块进一步适于:
若第j层反卷积层是神经网络的最后一层反卷积层,则将图像融合结果输入到输出层,以得到处理后的当前帧图像;
若第j层反卷积层不是神经网络的最后一层反卷积层,则将图像融合结果输入到第j+1层反卷积层,经过后续反卷积层和输出层的运算,以得到处理后的当前帧图像。
可选地,第一处理模块进一步适于:
在经过该神经网络的最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
可选地,第二处理模块进一步适于:
在经过该神经网络的第i层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
可选地,视频数据每组包含n帧帧图像;其中,n为固定预设值。
可选地,装置还包括:
显示模块,适于将处理后的视频数据实时显示。
可选地,装置还包括:
上传模块,适于将处理后的视频数据上传至云服务器。
可选地,上传模块进一步适于:
将处理后的视频数据上传至云视频平台服务器,以供云视频平台服务器在云视频平台进行展示视频数据。
可选地,上传模块进一步适于:
将处理后的视频数据上传至云直播服务器,以供云直播服务器将视频数据实时推送给观看用户客户端。
可选地,上传模块进一步适于:
将处理后的视频数据上传至云公众号服务器,以供云公众号服务器将视频数据推送给公众号关注客户端。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,可执行指令使处理器执行上述视频数据实时处理方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述视频数据实时处理方法对应的操作。
根据本发明提供的视频数据实时处理方法及装置、计算设备,实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;判断当前帧图像是否为任一分组的第1帧图像;若是,则将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;若否,则将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;输出处理后的当前帧图像;重复执行上述步骤直至完成对视频数据中所有帧图像的处理。本发明充分利用了视频数据中各帧图像之间的连续性、关联性,在对视频数据进行实时处理时,将视频数据分组处理,每组中对第1帧图像由神经网络完成全部卷积层和反卷积层的运算,对除第1帧图像之外的其他帧图像仅运算至第i层卷积层,复用第1帧图像已经得到的第j层反卷积层的运算结果进行图像融合,大大降低了神经网络的运算量,提高了视频数据实时处理的速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的视频数据实时处理方法的流程图;
图2示出了根据本发明另一个实施例的视频数据实时处理方法的流程图;
图3示出了根据本发明一个实施例的视频数据实时处理装置的功能框图;
图4示出了根据本发明另一个实施例的视频数据实时处理装置的功能框图;
图5示出了根据本发明一个实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的视频数据实时处理方法的流程图。如图1所示,视频数据实时处理方法具体包括如下步骤:
步骤S101,实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像。
本实施例中图像采集设备以移动终端为例进行说明。实时获取到移动终端摄像头在录制视频时的当前帧图像或者拍摄视频时的当前帧图像。除实时获取图像采集设备所拍摄和/或所录制的视频外,还可以实时获取当前所播放的视频中的当前帧图像。
本实施例利用了视频数据中各帧图像之间的连续性、关联性,在对视频数据中的各帧图像处理时,将视频数据中的各帧图像分组进行处理。对视频数据中的各帧图像进行分组时,需要考虑各帧图像间的关联关系,将各帧图像中关联关系紧密的帧图像分为一组。不同组帧图像中具体包含的帧图像的帧数可以是相同的或者不同的,假设每组帧图像中包含n帧帧图像,n可以为固定值或非固定值,n的取值根据实施情况设置。在实时获取当前帧图像时,就对当前帧图像进行分组,确定其是否为当前分组中的一帧图像或为新分组中的第1帧图像。具体的,需要根据当前帧图像与前一帧图像或前几帧图像之间的关联关系进行分组。如使用跟踪算法,若跟踪算法得到当前帧图像为有效的跟踪结果,将当前帧图像确定为当前分组中的一帧图像,若跟踪算法得到当前帧图像为无效的跟踪结果,将当前帧图像确实为新分组中的第1帧图像;或者按照各帧图像的顺序,将相邻的两帧或三帧图像分为一组,以三帧图像一组为例,视频数据中第1帧图像为第一分组的第1帧图像,第2帧图像为第一分组的第2帧图像,第3帧图像为第一分组的第3帧图像,第4帧图像为第二分组的第1帧图像,第5帧图像为第二分组的第2帧图像,第6帧图像为第二分组的第3帧图像,依次类推。实施中具体的分组方式根据实施情况确实,此处不做限定。
步骤S102,判断当前帧图像是否为任一分组的第1帧图像。
判断当前帧图像是否为其中任一分组的第1帧图像,若是,执行步骤S103,否则执行步骤S104。具体判断方式根据分组方式的不同相应的进行判断。
步骤S103,将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像。
当前帧图像为任一分组中的第1帧图像,将当前帧图像输入至经训练得到的神经网络中,依次由该神经网络对其执行全部的卷积层的运算和反卷积层的运算,最终得到处理后的当前帧图像。具体的,如该神经网络中包含4层卷积层的运算和3层反卷积层的运算,将当前帧图像输入至该神经网络经过全部的4层卷积层的运算和3层反卷积层的运算。其中,该神经网络还包括了将卷积层的运算结果与对应的反卷积层的运算结果进行图像融合的处理,最终得到处理后的当前帧图像。
步骤S104,将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像。
当前帧图像不是任一分组中的第1帧图像,将当前帧图像输入至经训练得到的神经网络中,此时,不需要由该神经网络对其执行全部的卷积层的运算和反卷积层的运算,仅运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,就可以得到处理后的当前帧图像。其中,第i层卷积层和第j层反卷积层之间具有对应关系,该对应关系具体为第i层卷积层的运算结果与第j层反卷积层的运算结果的输出维度相同。i和j均为自然数,且i的取值不超过神经网络所包含的最后一层卷积层的层数,j的取值不超过神经网络所包含的最后一层反卷积层的层数。具体的,如将当前帧图像输入至神经网络中,运算至神经网络第1层卷积层,得到第1层卷积层的运算结果,直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第3层反卷积层的运算结果,将第1层卷积层的运算结果与第1帧图像的第3层反卷积层的运算结果进行融合。其中,第1层卷积层的运算结果与第3层反卷积层的运算结果的输出维度是相同的。
通过复用所属分组中第1帧图像已经运算得到的第j层反卷积层的运算结果,可以减少神经网络对当前帧图像的运算,大大加快神经网络的处理速度,从而提高神经网络的计算效率。
步骤S105,输出处理后的当前帧图像。
输出时直接输出处理后的当前帧图像,还可以使用处理后的当前帧图像直接覆盖原当前帧图像,覆盖时的速度较快,一般在1/24秒之内完成。对于用户而言,由于覆盖处理的时间相对短,人眼没有明显的察觉,即人眼没有察觉到视频数据中的原当前帧图像被覆盖的过程,相当于一边拍摄和/或录制和/或播放视频数据时,一边对用户实时输出处理后的视频数据的当前帧图像,用户不会感觉到视频数据中当前帧图像发生覆盖的显示效果。
步骤S106,判断是否完成对视频数据中所有帧图像的处理。
若当前帧图像为视频数据的最后一帧图像,则判断已经完成对视频数据中所有帧图像的处理,执行结束。若处理当前帧图像之后还继续获取视频数据中的帧图像,则判断没有完成对视频数据中所有帧图像的处理,执行步骤S101,继续获取视频数据中的帧图像,并对其进行处理。
根据本发明提供的视频数据实时处理方法,实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;判断当前帧图像是否为任一分组的第1帧图像;若是,则将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;若否,则将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;输出处理后的当前帧图像;重复执行上述步骤直至完成对视频数据中所有帧图像的处理。本发明充分利用了视频数据中各帧图像之间的连续性、关联性,在对视频数据进行实时处理时,将视频数据分组处理,每组中对第1帧图像由神经网络完成全部卷积层和反卷积层的运算,对除第1帧图像之外的其他帧图像仅运算至第i层卷积层,复用第1帧图像已经得到的第j层反卷积层的运算结果进行图像融合,大大降低了神经网络的运算量,提高了视频数据实时处理的速度。
图2示出了根据本发明另一个实施例的视频数据实时处理方法的流程图。如图2所示,视频数据实时处理方法具体包括如下步骤:
步骤S201,实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像。
该步骤可参考图1实施例中的步骤S101,在此不再赘述。
步骤S202,判断当前帧图像是否为任一分组的第1帧图像。
判断当前帧图像是否为其中任一分组的第1帧图像,若是,执行步骤S203,否则执行步骤S204。
步骤S203,将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像。
当前帧图像为任一分组中的第1帧图像,将当前帧图像输入至经训练得到的神经网络中,依次由该神经网络对其执行全部的卷积层的运算和反卷积层的运算,最终得到处理后的当前帧图像。
为进一步提高神经网络的运算速度,在经过该神经网络的最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理,即将当前帧图像输入神经网络后,在第1层卷积层运算后,对运算结果进行下采样处理,降低运算结果的分辨率,再将下采样后的运算结果进行第2层卷积层运算,并对第2层卷积层的运算结果也进行下采样处理,依次类推,直至神经网络的最后一层卷积层(即卷积层的瓶颈层),以最后一层卷积层为第4层卷积层为例,在第4层卷积层运算结果之后不再做下采样处理。最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理,降低各层卷积层输入的帧图像的分辨率,可以提高神经网络的运算速度。需要注意的是,在神经网络的第一次卷积层运算时,输入的是实时获取的当前帧图像,而没有进行下采样处理,这样可以得到比较好的当前帧图像的细节。之后,再对输出的运算结果进行下采样处理时,既不会影响当前帧图像的细节,又可以提高神经网络的运算速度。
步骤S204,计算当前帧图像与其所属分组的第1帧图像的帧间距。
计算当前帧图像与其所属分组的第1帧图像的帧间距时,具体的,当前帧图像为任一分组的第3帧图像,计算得到其与所属分组的第1帧图像的帧间距为2。
步骤S205,根据帧间距,确定i和j的取值。
根据得到的帧间距,来确定神经网络中第i层卷积层的i的取值,以及第1帧图像第j层反卷积层的j的取值。在确定i和j时,可以认为第i层卷积层与最后一层卷积层(卷积层的瓶颈层)之间的层距与帧间距成反比关系,第j层反卷积层与输出层之间的层距与帧间距成正比关系。当帧间距越大时,第i层卷积层与最后一层卷积层之间的层距越小,i值越大,越需要运行较多的卷积层的运算;第j层反卷积层与输出层之间的层距越大,j值越小,需获取更小层数的反卷积层的运算结果。
以神经网络中包含第1-4层卷积层为例,其中,第4层卷积层为最后一层卷积层;神经网络中还包含了第1-3层反卷积层和输出层。当帧间距为1时,确定第i层卷积层与最后一层卷积层之间的层距为3,确定i为1,即运算至第1层卷积层,确定第j层反卷积层与输出层之间的层距为1,确定j为3,获取第3层反卷积层的运算结果;当帧间距为2时,确定第i层卷积层与最后一层卷积层之间的层距为2,确定i为2,即运算至第2层卷积层,确定第j层反卷积层与输出层之间的层距为2,j为2,获取第2层反卷积层的运算结果。具体层距的大小与神经网络所包含的卷积层和反卷积层的各层数、以及实际实施所要达到的效果相关,以上均为举例说明。
或者,根据得到的帧间距,确定神经网络中第i层卷积层的i的取值,以及第1帧图像第j层反卷积层的j的取值时,可以直接根据帧间距,预先设置帧间距与i和j的取值的对应关系。具体的,根据不同的帧间距预先设置不同i和j的取值,如帧间距为1,设置i的取值为1,j的取值为3;帧间距为2,设置i的取值为2,j的取值为2;或者还可以根据不同的帧间距,设置相同的i和j的取值;如不论帧间距的大小时,均设置对应的i的取值为2,j的取值为2;或者还可以对一部分不同的帧间距,设置相同的i和j的取值,如帧间距为1和2,设置对应的i的取值为1,j的取值为3;帧间距为3和4,设置对应的i的取值为2,j的取值为2。具体根据实施情况进行设置,此处不做限定。
步骤S206,将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像。
当前帧图像不是任一分组中的第1帧图像,在确定i和j的取值后,将当前帧图像输入至经训练得到的神经网络中,仅运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,就可以得到处理后的当前帧图像。其中,所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果可以直接获取到,不需要在重新将所属分组的第1帧图像输入神经网络获取,大大降低了神经网络的运算频率,加快了神经网络的运算速度。
进一步,在经过该神经网络的第i层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。即将当前帧图像输入神经网络后,在第1层卷积层运算后,对运算结果进行下采样处理,降低运算结果的分辨率,再将下采样后的运算结果进行第2层卷积层运算,并对第2层卷积层的运算结果也进行下采样处理,依次类推,直至第i层卷积层,这样可以降低各层卷积层输入的帧图像的分辨率,提高神经网络的运算速度。需要注意的是,在神经网络的第一次卷积层运算时,输入的是实时获取的当前帧图像,而没有进行下采样处理,这样可以得到比较好的当前帧图像的细节。之后,再对输出的运算结果进行下采样处理时,既不会影响当前帧图像的细节,又可以提高神经网络的运算速度。
进一步,若第j层反卷积层是神经网络的最后一层反卷积层,则将图像融合结果输入到输出层,以得到处理后的当前帧图像。若第j层反卷积层不是神经网络的最后一层反卷积层,则将图像融合结果输入到第j+1层反卷积层,经过后续各反卷积层,以及输出层的运算,以得到处理后的当前帧图像。
步骤S207,输出处理后的当前帧图像。
步骤S208,将处理后的视频数据实时显示。
输出时直接输出处理后的当前帧图像,还可以使用处理后的当前帧图像直接覆盖原当前帧图像,覆盖时的速度较快,一般在1/24秒之内完成。这样可以将处理后的视频数据实时的进行显示,用户可以直接看到处理后的视频数据的当前帧图像的显示效果,而不会感觉到视频数据中当前帧图像进行了处理。
步骤S209,判断是否完成对视频数据中所有帧图像的处理。
若当前帧图像为视频数据的最后一帧图像,则判断已经完成对视频数据中所有帧图像的处理,处理完成,可以执行后续的步骤S209。若处理当前帧图像之后还继续获取视频数据中的帧图像,则判断没有完成对视频数据中所有帧图像的处理,执行步骤S201,继续获取视频数据中的帧图像,并对其进行处理。
步骤S210,将处理后的视频数据上传至云服务器。
将处理后的视频数据可以直接上传至云服务器,具体的,可以将处理后的视频数据上传至一个或多个的云视频平台服务器,如爱奇艺、优酷、快视频等云视频平台服务器,以供云视频平台服务器在云视频平台进行展示视频数据。或者还可以将处理后的视频数据上传至云直播服务器,当有直播观看端的用户进入云直播服务器进行观看时,可以由云直播服务器将视频数据实时推送给观看用户客户端。或者还可以将处理后的视频数据上传至云公众号服务器,当有用户关注该公众号时,由云公众号服务器将视频数据推送给公众号关注客户端;进一步,云公众号服务器还可以根据关注公众号的用户的观看习惯,推送符合用户习惯的视频数据给公众号关注客户端。
根据本发明提供的视频数据实时处理方法,获取到当前帧图像后,对当前帧图像进行判断,若当前帧图像是任一分组中的第1帧图像,将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;若当前帧图像不是任一分组中的第1帧图像,计算当前帧图像与其所属分组的第1帧图像的帧间距。根据帧间距,确定神经网络的第i层卷积层的i取值,得到第i层卷积层的运算结果。同时,确定神经网络的第j层反卷积层的j取值,从而直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,复用第j层反卷积层的运算结果,将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像,降低了神经网络运算的频率,提高计算效率。进一步,还可以在神经网络的第i层卷积层或最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理,降低各层卷积层输入的帧图像的分辨率,以提高神经网络的运算速度。本发明可以直接得到处理后的视频数据,还可以将处理后的视频数据直接上传至云服务器,不需要用户对视频数据进行额外处理,节省用户时间,还可以实时显示给用户处理后的视频数据,方便用户查看显示效果。
图3示出了根据本发明一个实施例的视频数据实时处理装置的功能框图。如图3所示,视频数据实时处理装置包括如下模块:
获取模块301,适于实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像。
本实施例中图像采集设备以移动终端为例进行说明。获取模块301实时获取到移动终端摄像头在录制视频时的当前帧图像或者拍摄视频时的当前帧图像。获取模块301除实时获取图像采集设备所拍摄和/或所录制的视频外,还可以实时获取当前所播放的视频中的当前帧图像。
本实施例利用了视频数据中各帧图像之间的连续性、关联性,在对视频数据中的各帧图像处理时,将视频数据中的各帧图像分组进行处理。对视频数据中的各帧图像进行分组时,需要考虑各帧图像间的关联关系,将各帧图像中关联关系紧密的帧图像分为一组。不同组帧图像中具体包含的帧图像的帧数可以是相同的或者不同的,假设每组帧图像中包含n帧帧图像,其中,可以为固定值或非固定值,n的取值根据实施情况设置。获取模块301在实时获取当前帧图像时,就对当前帧图像进行分组,确定其是否为当前分组中的一帧图像或为新分组中的第1帧图像。具体的,需要根据当前帧图像与前一帧图像或前几帧图像之间的关联关系进行分组。如使用跟踪算法,若跟踪算法得到当前帧图像为有效的跟踪结果,将当前帧图像确定为当前分组中的一帧图像,若跟踪算法得到当前帧图像为无效的跟踪结果,将当前帧图像确实为新分组中的第1帧图像;或者按照各帧图像的顺序,将相邻的两帧或三帧图像分为一组,以三帧图像一组为例,视频数据中第1帧图像为第一分组的第1帧图像,第2帧图像为第一分组的第2帧图像,第3帧图像为第一分组的第3帧图像,第4帧图像为第二分组的第1帧图像,第5帧图像为第二分组的第2帧图像,第6帧图像为第二分组的第3帧图像,依次类推。实施中具体的分组方式根据实施情况确实,此处不做限定。
判断模块302,适于判断当前帧图像是否为任一分组的第1帧图像,若是,执行第一处理模块303;否则,执行第二处理模块304。
判断模块302判断当前帧图像是否为其中任一分组的第1帧图像,若是,执行第一处理模块303,否则执行第二处理模块304。判断模块302具体判断方式根据分组方式的不同相应的进行判断。
第一处理模块303,适于将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像。
判断模块302判断当前帧图像为任一分组中的第1帧图像,第一处理模块303将当前帧图像输入至经训练得到的神经网络中,依次由该神经网络对其执行全部的卷积层的运算和反卷积层的运算,最终得到处理后的当前帧图像。具体的,如该神经网络中包含4层卷积层的运算和3层反卷积层的运算,第一处理模块303将当前帧图像输入至该神经网络经过全部的4层卷积层的运算和3层反卷积层的运算。其中,该神经网络还包括了将卷积层的运算结果与对应的反卷积层的运算结果进行图像融合的处理,最终得到处理后的当前帧图像。
进一步,为提高神经网络的运算速度,在经过该神经网络的最后一层卷积层之前的每一层卷积层运算后,第一处理模块303对每一层卷积层的运算结果进行下采样处理,即将当前帧图像输入神经网络后,在第1层卷积层运算后,第一处理模块303对运算结果进行下采样处理,降低运算结果的分辨率,再将下采样后的运算结果进行第2层卷积层运算,第一处理模块303对第2层卷积层的运算结果也进行下采样处理,依次类推,直至神经网络的最后一层卷积层(即卷积层的瓶颈层),以最后一层卷积层为第4层卷积层为例,在第4层卷积层运算结果之后第一处理模块303不再做下采样处理。最后一层卷积层之前的每一层卷积层运算后,第一处理模块303对每一层卷积层的运算结果进行下采样处理,降低各层卷积层输入的帧图像的分辨率,可以提高神经网络的运算速度。需要注意的是,在神经网络的第一次卷积层运算时,第一处理模块303输入的是实时获取的当前帧图像,而没有进行下采样处理,这样可以得到比较好的当前帧图像的细节。之后,第一处理模块303再对输出的运算结果进行下采样处理时,既不会影响当前帧图像的细节,又可以提高神经网络的运算速度。
第二处理模块304,适于将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像。
判断模块302判断当前帧图像不是任一分组中的第1帧图像,第二处理模块304将当前帧图像输入至经训练得到的神经网络中,此时,不需要由该神经网络对其执行全部的卷积层的运算和反卷积层的运算,仅运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,第二处理模块304直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,就可以得到处理后的当前帧图像。其中,第i层卷积层和第j层反卷积层之间具有对应关系,该对应关系具体为第i层卷积层的运算结果与第j层反卷积层的运算结果的输出维度相同。i和j均为自然数,且i的取值不超过神经网络所包含的最后一层卷积层的层数,j的取值不超过神经网络所包含的最后一层反卷积层的层数。具体的,如第二处理模块304将当前帧图像输入至神经网络中,运算至神经网络第1层卷积层,得到第1层卷积层的运算结果,第二处理模块304直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第3层反卷积层的运算结果,将第1层卷积层的运算结果与第1帧图像的第3层反卷积层的运算结果进行融合。其中,第1层卷积层的运算结果与第3层反卷积层的运算结果的输出维度是相同的。
第二处理模块304通过复用所属分组中第1帧图像已经运算得到的第j层反卷积层的运算结果,可以减少神经网络对当前帧图像的运算,大大加快神经网络的处理速度,从而提高神经网络的计算效率。
进一步,在经过该神经网络的第i层卷积层之前的每一层卷积层运算后,第二处理模块304对每一层卷积层的运算结果进行下采样处理。即将当前帧图像输入神经网络后,在第1层卷积层运算后,第二处理模块304对运算结果进行下采样处理,降低运算结果的分辨率,再将下采样后的运算结果进行第2层卷积层运算,第二处理模块304对第2层卷积层的运算结果也进行下采样处理,依次类推,直至第i层卷积层,这样可以降低各层卷积层输入的帧图像的分辨率,提高神经网络的运算速度。需要注意的是,在神经网络的第一次卷积层运算时,第二处理模块304输入的是实时获取的当前帧图像,而没有进行下采样处理,这样可以得到比较好的当前帧图像的细节。之后,第二处理模块304再对输出的运算结果进行下采样处理时,既不会影响当前帧图像的细节,又可以提高神经网络的运算速度。
进一步,若第j层反卷积层是神经网络的最后一层反卷积层,则第二处理模块304将图像融合结果输入到输出层,以得到处理后的当前帧图像。若第j层反卷积层不是神经网络的最后一层反卷积层,则第二处理模块304将图像融合结果输入到第j+1层反卷积层,经过后续各反卷积层,以及输出层的运算,以得到处理后的当前帧图像。
输出模块305,适于输出处理后的当前帧图像。
输出模块305输出时直接输出处理后的当前帧图像,输出模块305还可以使用处理后的当前帧图像直接覆盖原当前帧图像,覆盖时的速度较快,一般在1/24秒之内完成。对于用户而言,由于覆盖处理的时间相对短,人眼没有明显的察觉,即人眼没有察觉到视频数据中的原当前帧图像被覆盖的过程,相当于一边拍摄和/或录制和/或播放视频数据时,一边对用户实时输出处理后的视频数据的当前帧图像,用户不会感觉到视频数据中当前帧图像发生覆盖的显示效果。
循环模块306,适于重复执行上述获取模块301、判断模块302、第一处理模块303、第二处理模块304和/或输出模块305直至完成对视频数据中所有帧图像的处理。
若当前帧图像为视频数据的最后一帧图像,则判断已经完成对视频数据中所有帧图像的处理,执行结束。若处理当前帧图像之后还继续获取视频数据中的帧图像,则判断没有完成对视频数据中所有帧图像的处理,循环模块306执行上述获取模块301、判断模块302、第一处理模块303、第二处理模块304、输出模块305直至完成对视频数据中所有帧图像的处理。
根据本发明提供的视频数据实时处理装置,实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;判断当前帧图像是否为任一分组的第1帧图像;若是,则将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;若否,则将当前帧图像输入至经训练得到的神经网络中,在运算至神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,直接将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;输出处理后的当前帧图像;重复执行上述执行直至完成对视频数据中所有帧图像的处理。本发明充分利用了视频数据中各帧图像之间的连续性、关联性,在对视频数据进行实时处理时,将视频数据分组处理,每组中对第1帧图像由神经网络完成全部卷积层和反卷积层的运算,对除第1帧图像之外的其他帧图像仅运算至第i层卷积层,复用第1帧图像已经得到的第j层反卷积层的运算结果进行图像融合,大大降低了神经网络的运算量,提高了视频数据实时处理的速度。进一步,还可以在神经网络的第i层卷积层或最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理,降低各层卷积层输入的帧图像的分辨率,以提高神经网络的运算速度。
图4示出了根据本发明另一个实施例的视频数据实时处理装置的功能框图。如图4所示,与图3不同之处在于,视频数据实时处理装置还包括:
帧间距计算模块307,适于计算当前帧图像与其所属分组的第1帧图像的帧间距。
帧间距计算模块307计算当前帧图像与其所属分组的第1帧图像的帧间距时,具体的,当前帧图像为任一分组的第3帧图像,帧间距计算模块307计算得到其与所属分组的第1帧图像的帧间距为2。
确定模块308,适于根据帧间距,确定i和j的取值。
确定模块308根据得到的帧间距,来确定神经网络中第i层卷积层的i的取值,以及第1帧图像第j层反卷积层的j的取值。确定模块308在确定i和j时,可以认为第i层卷积层与最后一层卷积层(卷积层的瓶颈层)之间的层距与帧间距成反比关系,第j层反卷积层与输出层之间的层距与帧间距成正比关系。当帧间距越大时,第i层卷积层与最后一层卷积层之间的层距越小,i值越大,第二处理模块304越需要运行较多的卷积层;第j层反卷积层与输出层之间的层距越大,j值越小,第二处理模块304需获取更小层数的反卷积层的运算结果。以神经网络中包含第1-4层卷积层为例,其中,第4层卷积层为最后一层卷积层;神经网络中还包含了第1-3层反卷积层和输出层,帧间距计算模块307计算帧间距为1时,确定模块308确定第i层卷积层与最后一层卷积层之间的层距为3,确定i为1,即第二处理模块304运算至第1层卷积层,确定模块308确定第j层反卷积层与输出层之间的层距为1,确定j为3,第二处理模块304获取第3层反卷积层的运算结果;帧间距计算模块307计算帧间距为2时,确定模块308确定第i层卷积层与最后一层卷积层之间的层距为2,确定i为2,即第二处理模块304运算至第2层卷积层,确定模块308确定第j层反卷积层与输出层之间的层距为2,j为2,第二处理模块304获取第2层反卷积层的运算结果。具体层距的大小与神经网络所包含的卷积层和反卷积层的各层数、以及实际实施所要达到的效果相关,以上均为举例说明。
预设模块309,适于预先设置帧间距与i和j的取值的对应关系。
预设模块309根据得到的帧间距,确定神经网络中第i层卷积层的i的取值,以及第1帧图像第j层反卷积层的j的取值时,可以直接根据帧间距,预先设置帧间距与i和j的取值的对应关系。具体的,预设模块309根据不同的帧间距预先设置不同i和j的取值,如帧间距计算模块307计算帧间距为1,预设模块309设置i的取值为1,j的取值为3;帧间距计算模块307计算帧间距为2,预设模块309设置i的取值为2,j的取值为2;或者还可以根据不同的帧间距,设置相同的i和j的取值;如不论帧间距的大小时,预设模块309均设置对应的i的取值为2,j的取值为2;或者还可以对一部分不同的帧间距,设置相同的i和j的取值,如帧间距计算模块307计算帧间距为1和2,预设模块309设置对应的i的取值为1,j的取值为3;帧间距计算模块307计算帧间距为3和4,预设模块309设置对应的i的取值为2,j的取值为2。具体根据实施情况进行设置,此处不做限定。
显示模块310,适于将处理后的视频数据实时显示。
显示模块310得到处理后的视频数据的当前帧图像后,可以将其实时的进行显示,用户可以直接看到处理后的视频数据的当前帧图像的显示效果。
上传模块311,适于将处理后的视频数据上传至云服务器。
上传模块311将处理后的视频数据可以直接上传至云服务器,具体的,上传模块311可以将处理后的视频数据上传至一个或多个的云视频平台服务器,如爱奇艺、优酷、快视频等云视频平台服务器,以供云视频平台服务器在云视频平台进行展示视频数据。或者上传模块311还可以将处理后的视频数据上传至云直播服务器,当有直播观看端的用户进入云直播服务器进行观看时,可以由云直播服务器将视频数据实时推送给观看用户客户端。或者上传模块311还可以将处理后的视频数据上传至云公众号服务器,当有用户关注该公众号时,由云公众号服务器将视频数据推送给公众号关注客户端;进一步,云公众号服务器还可以根据关注公众号的用户的观看习惯,推送符合用户习惯的视频数据给公众号关注客户端。
根据本发明提供的视频数据实时处理装置,获取到当前帧图像后,对当前帧图像进行判断,若当前帧图像是任一分组中的第1帧图像,将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;若当前帧图像不是任一分组中的第1帧图像,计算当前帧图像与其所属分组的第1帧图像的帧间距。根据帧间距,确定神经网络的第i层卷积层的i取值,得到第i层卷积层的运算结果。同时,确定神经网络的第j层反卷积层的j取值,从而直接获取当前帧图像所属分组的第1帧图像输入至神经网络中得到的第j层反卷积层的运算结果,复用第j层反卷积层的运算结果,将第i层卷积层的运算结果与第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像,降低了神经网络运算的频率,提高计算效率。本发明可以直接得到处理后的视频数据,还可以将处理后的视频数据直接上传至云服务器,不需要用户对视频数据进行额外处理,节省用户时间,还可以实时显示给用户处理后的视频数据,方便用户查看显示效果。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频数据实时处理方法。
图5示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述视频数据实时处理方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行上述任意方法实施例中的视频数据实时处理方法。程序510中各步骤的具体实现可以参见上述视频数据实时处理实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视频数据实时处理的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种视频数据实时处理方法,所述方法对所述视频数据所包含的帧图像进行分组处理,其包括:
实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;
判断所述当前帧图像是否为任一分组的第1帧图像;
若是,则将所述当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;
若否,则将所述当前帧图像输入至经训练得到的神经网络中,在运算至所述神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至所述神经网络中得到的第j层反卷积层的运算结果,直接将所述第i层卷积层的运算结果与所述第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;
输出处理后的当前帧图像;
重复执行上述步骤直至完成对视频数据中所有帧图像的处理。
2.根据权利要求1所述的方法,其中,在判断出所述当前帧图像不是任一分组的第1帧图像之后,所述方法还包括:
计算所述当前帧图像与其所属分组的第1帧图像的帧间距;
根据所述帧间距,确定i和j的取值;其中,所述第i层卷积层与最后一层卷积层之间的层距与所述帧间距成反比关系,所述第j层反卷积层与输出层之间的层距与所述帧间距成正比关系。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:预先设置帧间距与所述i和j的取值的对应关系。
4.根据权利要求1-3中任一项所述的方法,其中,在所述直接将所述第i层卷积层的运算结果与所述第j层反卷积层的运算结果进行图像融合之后,所述方法还包括:
若所述第j层反卷积层是所述神经网络的最后一层反卷积层,则将图像融合结果输入到输出层,以得到处理后的当前帧图像;
若所述第j层反卷积层不是所述神经网络的最后一层反卷积层,则将图像融合结果输入到第j+1层反卷积层,经过后续反卷积层和输出层的运算,以得到处理后的当前帧图像。
5.根据权利要求1-4中任一项所述的方法,其中,所述将当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像进一步包括:在经过该神经网络的最后一层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
6.根据权利要求1-4中任一项所述的方法,其中,在运算至所述神经网络的第i层卷积层得到第i层卷积层的运算结果之前,所述方法还包括:在经过该神经网络的第i层卷积层之前的每一层卷积层运算后,对每一层卷积层的运算结果进行下采样处理。
7.根据权利要求1-6中任一项所述的方法,其中,所述视频数据每组包含n帧帧图像;其中,n为固定预设值。
8.一种视频数据实时处理装置,所述装置对所述视频数据所包含的帧图像进行分组处理,其包括:
获取模块,适于实时获取图像采集设备所拍摄和/或所录制的视频中的当前帧图像;或者,实时获取当前所播放的视频中的当前帧图像;
判断模块,适于判断所述当前帧图像是否为任一分组的第1帧图像,若是,执行第一处理模块;否则,执行第二处理模块;
第一处理模块,适于将所述当前帧图像输入至经训练得到的神经网络中,经过该神经网络全部卷积层和反卷积层的运算后,得到处理后的当前帧图像;
第二处理模块,适于将所述当前帧图像输入至经训练得到的神经网络中,在运算至所述神经网络的第i层卷积层得到第i层卷积层的运算结果后,获取当前帧图像所属分组的第1帧图像输入至所述神经网络中得到的第j层反卷积层的运算结果,直接将所述第i层卷积层的运算结果与所述第j层反卷积层的运算结果进行图像融合,得到处理后的当前帧图像;其中,i和j为自然数;
输出模块,适于输出处理后的当前帧图像;
循环模块,适于重复执行上述获取模块、判断模块、第一处理模块、第二处理模块和/或输出模块直至完成对视频数据中所有帧图像的处理。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的视频数据实时处理方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的视频数据实时处理方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711405700.9A CN107993217B (zh) | 2017-12-22 | 2017-12-22 | 视频数据实时处理方法及装置、计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711405700.9A CN107993217B (zh) | 2017-12-22 | 2017-12-22 | 视频数据实时处理方法及装置、计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107993217A true CN107993217A (zh) | 2018-05-04 |
CN107993217B CN107993217B (zh) | 2021-04-09 |
Family
ID=62042310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711405700.9A Active CN107993217B (zh) | 2017-12-22 | 2017-12-22 | 视频数据实时处理方法及装置、计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107993217B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134703A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京灵汐科技有限公司 | 一种基于神经网络***的图像处理方法及神经网络*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866900A (zh) * | 2015-01-29 | 2015-08-26 | 北京工业大学 | 一种反卷积神经网络训练方法 |
CN105550701A (zh) * | 2015-12-09 | 2016-05-04 | 福州华鹰重工机械有限公司 | 实时图像提取识别方法及装置 |
CN106372390A (zh) * | 2016-08-25 | 2017-02-01 | 姹ゅ钩 | 一种基于深度卷积神经网络的预防肺癌自助健康云服务*** |
CN106934397A (zh) * | 2017-03-13 | 2017-07-07 | 北京市商汤科技开发有限公司 | 图像处理方法、装置及电子设备 |
US20170243053A1 (en) * | 2016-02-18 | 2017-08-24 | Pinscreen, Inc. | Real-time facial segmentation and performance capture from rgb input |
CN107122796A (zh) * | 2017-04-01 | 2017-09-01 | 中国科学院空间应用工程与技术中心 | 一种基于多分支网络融合模型的光学遥感图像分类方法 |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN107492068A (zh) * | 2017-09-28 | 2017-12-19 | 北京奇虎科技有限公司 | 视频对象变换实时处理方法、装置及计算设备 |
-
2017
- 2017-12-22 CN CN201711405700.9A patent/CN107993217B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866900A (zh) * | 2015-01-29 | 2015-08-26 | 北京工业大学 | 一种反卷积神经网络训练方法 |
CN105550701A (zh) * | 2015-12-09 | 2016-05-04 | 福州华鹰重工机械有限公司 | 实时图像提取识别方法及装置 |
US20170243053A1 (en) * | 2016-02-18 | 2017-08-24 | Pinscreen, Inc. | Real-time facial segmentation and performance capture from rgb input |
CN106372390A (zh) * | 2016-08-25 | 2017-02-01 | 姹ゅ钩 | 一种基于深度卷积神经网络的预防肺癌自助健康云服务*** |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN106934397A (zh) * | 2017-03-13 | 2017-07-07 | 北京市商汤科技开发有限公司 | 图像处理方法、装置及电子设备 |
CN107122796A (zh) * | 2017-04-01 | 2017-09-01 | 中国科学院空间应用工程与技术中心 | 一种基于多分支网络融合模型的光学遥感图像分类方法 |
CN107492068A (zh) * | 2017-09-28 | 2017-12-19 | 北京奇虎科技有限公司 | 视频对象变换实时处理方法、装置及计算设备 |
Non-Patent Citations (1)
Title |
---|
郭子豪: ""神经网络技术在网络视频处理的应用探讨"", 《个人电脑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134703A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京灵汐科技有限公司 | 一种基于神经网络***的图像处理方法及神经网络*** |
Also Published As
Publication number | Publication date |
---|---|
CN107993217B (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6803899B2 (ja) | 画像処理方法、画像処理装置および電子機器 | |
CN108604369B (zh) | 一种去除图像噪声的方法、装置、设备及卷积神经网络 | |
CN108875486A (zh) | 目标对象识别方法、装置、***和计算机可读介质 | |
CN107507155A (zh) | 视频分割结果边缘优化实时处理方法、装置及计算设备 | |
CN107820027A (zh) | 视频人物装扮方法、装置、计算设备及计算机存储介质 | |
CN107277615A (zh) | 直播风格化处理方法、装置、计算设备及存储介质 | |
CN107977927A (zh) | 基于图像数据的身材调整方法及装置、计算设备 | |
EP1964053A2 (fr) | Procede pour traiter un objet dans une plateforme a processeur(s) et memoire(s) et plateforme utilisant le procede | |
CN108040265A (zh) | 一种对视频进行处理的方法和装置 | |
CN109859152A (zh) | 模型生成方法、图像增强方法、装置及计算机可读存储介质 | |
Dutta | Depth-aware blending of smoothed images for bokeh effect generation | |
CN108133718A (zh) | 一种对视频进行处理的方法和装置 | |
CN107644423A (zh) | 基于场景分割的视频数据实时处理方法、装置及计算设备 | |
CN107680028A (zh) | 用于缩放图像的处理器和方法 | |
CN108564546B (zh) | 模型训练方法、装置及拍照终端 | |
CN107770606A (zh) | 视频数据扭曲处理方法、装置、计算设备及存储介质 | |
CN107993217A (zh) | 视频数据实时处理方法及装置、计算设备 | |
CN114581355A (zh) | 一种重建hdr图像的方法、终端及电子设备 | |
CN107566853A (zh) | 实现场景渲染的视频数据实时处理方法及装置、计算设备 | |
CN110533740A (zh) | 一种图像着色方法、装置、***及存储介质 | |
EP0778544B1 (fr) | Procédé de traitement de données dans des réseaux matriciels dans un système d'estimation de mouvement | |
CN107493504A (zh) | 基于分层的视频数据实时处理方法、装置及计算设备 | |
CN113298740A (zh) | 一种图像增强方法、装置、终端设备及存储介质 | |
CN107563962A (zh) | 视频数据实时处理方法及装置、计算设备 | |
CN108734712A (zh) | 背景分割的方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |