视频数据是一种丰富的信息来源,结合了动态画面和声音。可以把它想象成一本精密的数字翻页书,还配有精准同步的音轨。正如章节引言中提到的,AI系统需要理解各类数据。对于视频而言,这包括掌握其视觉和听觉成分,尤其要理解这些成分如何随着时间交织。视觉组成:图像流(帧)本质上,视频的视觉部分是静止图像的快速连续。这些单个静止图像中的每一个都称作帧。帧即图像:每一个帧都是一个图像,很像我们讨论过的静态图像。它可以表示为一个像素网格,其中每个像素都具有颜色和强度值。例如,一个高清视频帧可能有 $1920 \times 1080$ 像素。帧率(FPS):视频以恒定速度显示这些帧,此速度称为帧率。它以**每秒帧数(FPS)**衡量。你可能遇到过常见的帧率,例如电影的24 FPS,或电视和在线视频的30 FPS和60 FPS。更高的帧率通常会带来更流畅的感知运动。数据量:帧率直接影响数据量。例如,一段以30 FPS录制的10秒短视频包含: $$10 \text{ 秒} \times 30 \text{ 帧/秒} = 300 \text{ 独立图像帧}$$ 对于AI系统而言,处理视频意味着分析数百甚至数千个此类图像帧,且通常是按顺序的。听觉组成:同步声音大多数视频并非无声电影。它们附带音轨,其中包含语音、音乐、音效或环境声音。数字音频:这个音频组成部分是一个数字声音信号。正如你将在(或已在)音频数据表示背景下所了解的,声波被转换为一系列数字样本。同步很重要:视频的一个决定性特点是音频和视觉帧之间的同步。人物说话的声音应该与屏幕上他们的唇部动作匹配;爆炸的声音应该在你看到爆炸时发生。如果音频和视频不同步,体验会变得刺耳且难以理解。这种时间上的对齐对于AI模型理解视频内容来说非常重要。视频数据如何为AI系统构建当AI模型承担理解视频的任务时,它必须有效处理这两个同步的信息流。通常,视频数据会首先被分解:帧提取:视频被分解成其单个图像帧的序列。每个帧随后可以被处理,最初可能像任何其他静态图像一样,以识别物体或特征。音频提取:音轨从视觉流中分离出来。随后可以使用特定于声音处理的技术对该音频进行分析,例如将其转换为频谱图以可视化其随时间变化的频率内容。视频的时间维度是一个主要因素。一个帧中发生的内容通常高度依赖于先前的帧,并影响随后的帧。AI模型需要考虑:空间信息:每个独立帧内的内容(例如,物体、场景、人物)。时间信息:内容如何随着时间从一帧到下一帧变化或移动(例如,一个人走路,一辆车行驶)。听觉信息:声音传达的含义(例如,语音、独特的声音)。跨模态关系:视觉事件和声音在任何给定时刻如何相互关联。以下是图示视频数据的基本结构:digraph G { rankdir=TB; nodesep=0.5; ranksep=0.6; subgraph cluster_video_data { label = "视频数据结构"; labeljust = "c"; bgcolor = "#e9ecef"; fontsize = 14; style = "filled,rounded"; margin = 15; subgraph cluster_visual_track { label = "视觉轨迹"; bgcolor = "#dee2e6"; style = "filled,rounded"; node [shape=box, style=filled, fillcolor="#74c0fc", width=1.1, height=0.55, fontname="Helvetica", fontsize=10]; F1 [label="图像帧 1"]; F2 [label="图像帧 2"]; F_dots [label="...", shape=plaintext, fontsize=20, fontcolor="#495057"]; FN [label="图像帧 N"]; edge [style=solid, arrowhead=vee, color="#495057", penwidth=1.2, fontsize=9, fontcolor="#495057"]; F1 -> F2 [label=" 时间"]; F2 -> F_dots [label=" "]; F_dots -> FN [label=" "]; {rank=same; F1; F2; F_dots; FN;} } subgraph cluster_audio_track { label = "音频轨迹"; bgcolor = "#ced4da"; style = "filled,rounded"; node [shape=rect, style=filled, fillcolor="#96f2d7", width=3.2, height=0.6, fontname="Helvetica", fontsize=10]; AudioWave [label="同步音频流\n(例如,声波、语音)"]; } } }视频数据结合了由随时间推移的图像帧序列组成的视觉轨迹,以及带有与这些帧同步的声音信息的音轨。这种结构对多模态AI的重要性理解视频数据是如何构成的,是必要的第一步。当我们要求多模态AI系统处理视频时,例如描述正在发生的事情、回答有关其内容的问题,甚至生成新的视频片段,AI必须能够处理并整合来自图像序列和相关音频的信息。本章中涉及的单个图像和音频信号的表示方式,提供了构建元素。之后,我们将看到AI模型如何学习处理时间方面,并将这些同步的模态组合起来以执行更复杂的任务。