作为神经网络的输入,原始视频比mp4编码视频更好吗?



我正在为计算机视觉的大学考试做一个项目,目的是从视频中分析不同的道路场景。例如,对街道图像进行实例分割,以识别各种物体并对其进行分类。

对于这样的项目,很容易获取新的数据来丰富数据集。那么,在训练神经网络(甚至进行推理)时,对编码为mp4的视频帧进行训练会出现问题吗?使用从原始保存的视频中截取的帧总是更好吗?

出现这个问题是因为mp4(显然)压缩帧通过对帧间进行预测,我们最终得到的像素值与原始值不同。.

使用从原始保存的视频中获取的帧总是更好吗?

不,特别是如果你要对来自相似或相同视频流的视频进行推理(并且被类似地压缩)。此外,除非压缩质量非常差或/并且要识别的对象非常小,只有几个像素,并且"损坏";由于一些像素精确的不连续性等压缩(块等)可能会导致一些混淆,也许mp4帧视频的结果实际上是"相同的"。

如果你打算从互联网上对mp4等进行推理,最好是训练到这样的质量等级(或降低原始/png输入的质量,例如保存为jpg等),而不是在高质量上训练然后在低质量上推断。

你可能有一些高质量的输入,一些低于基本水平的输入,在训练过程中观察它们是如何进行的,这可能有助于更好地泛化。

另一个用例中的一个例子:深度造假,DeepFaceLab。您可以提取用于PNG或JPG格式训练的人脸。默认是JPG 90,通常被认为"足够"。卷积神经网络平滑输入和一些伪影。

同样,即使你使用超高质量的照片,如果编码器-解码器没有足够的尺寸来编码全部细节,结果将与低质量输入的照片相似。根据所选择的尺寸,即使输入图像非常清晰,模型通常也无法正确处理胡须和胡须,或者精细的皮肤纹理等(即高频细节)。

对帧间的预测,我们最终得到的像素值是

像素值在帧内也会不同,除非使用无损压缩,但这是不必要的,因为神经网络应该发现更多的一般特征,而不是精确匹配像素。渐变,共现渐变,某种对比,形状等

如果你想做精确的像素匹配,你可以使用模板匹配技术,但精确的像素完美匹配也不是必要的。https://docs.opencv.org/4.x/d4/dc6/tutorial_py_template_matching.html

最新更新