目标是让电视实时把普通 2D 画面转换成立体 3D 效果,不需要另外拍摄立体素材。 这份报告用尽量少的专业词汇,讲清楚我们做了什么、中间踩过哪些坑、现在效果到什么程度,以及接下来打算怎么做。
现在的 3D 内容非常少,而绝大多数视频、直播都只有普通的"平面"画面。 我们希望电视能自己实时把这些普通画面变成立体效果,不用等着专门拍摄的 3D 片源, 也不需要把画面传去云端处理再传回来——这一切要在电视自己的芯片上,一边播放一边完成。
技术路线上,我们没有让电脑直接"画"出另一只眼睛该看到的画面,而是让它把一张 2D 画面拆成 16 层前后叠放的透明胶片——离镜头近的东西画在靠前的胶片上,远处背景画在靠后的胶片上。 生成右眼画面时,只需要把这些胶片按远近错开一点、叠在一起就行,不需要"凭空画出"被遮住的部分—— 因为被前面物体挡住的内容,天然就已经画在后面那层胶片上了。
"参数量"决定了算法要占用电视芯片多少存储和算力,是电视厂最关心的硬指标之一。 下表是各模块的实测拆分——实际要装进电视的合计约 2041 万个参数(20.41M), 换算成文件大小,32 位精度下约 80MB,做量化压缩后可以降到约 20MB 级别,在旗舰电视芯片的预算内。
| 模块 | 作用 | 参数量 | 是否装进电视 |
|---|---|---|---|
| 细节分支 | 看清楚颜色、纹理 | 11.38M | 是 |
| 深度语义分支 | 判断远近 | 3.73M | 是 |
| 融合模块 + 分层判断 | 决定画面分几层 | 5.26M | 是 |
| 画面生成模块 | 画出每一层"胶片" | 0.01M | 是 |
| 合计(装进电视) | 20.38M | ||
| "模仿老师"辅助模块 | 只在训练阶段用 | 3.94M | 否 |
合计训练时的完整参数图约为 24.34M,其中约 20.41M 随算法一起交付,约 3.94M 的"深度头"训练完就丢弃。电视端预算目标是 26M±3M,达标。
研发记录里的 A1、A2、B 只是实验代号,不适合产品沟通。下面统一改成容易记的名字: 满配高质量版、当前小模型、原小模型、激进小模型和中杯实验版。它们都从同一个 S6 满配模型出发, 区别只有"裁掉多少通道"和"恢复训练时合成数据与真实电影的权重比例"。
| 容易记的名字 | 研发代号 | 交付参数 | 真实电影 | 新电影 | 通用跨域 | 2K 1/2 | 现在的角色 |
|---|---|---|---|---|---|---|---|
| 满配高质量版 | S6 | 20.41M | 7.46 | 24.67 | 52.56 | 16.43 ms | 画质优先 |
| 当前小模型 | A1 · 6:1 | 9.11M | 7.22 | 24.75 | 35.69 | 13.99 ms | 低算力候选 |
| 原小模型 | 旧 3:1 | 9.11M | 6.81 | 24.15 | 35.62 | 14.07 ms | 历史回退 |
| 激进小模型 | A2 · 12:1 | 9.11M | 6.57 | 24.55 | 35.35 | 13.97 ms | 停止考虑 |
| 中杯实验版 | B · 轻剪 | 14.67M | 7.10 | 26.30 | 36.22 | 15.99 ms | 实验归档 |
三项质量分都采用同一套 protocol-v2 恢复率,数值越高越好;“2K 1/2”是 H20 上预热 20 帧、测量 200 帧的编译后完整出口平均耗时,越低越好。A1 的 tOF=0.3019、T-Depth=0.00387,时域稳定性终审通过。
怎么选:如果芯片装得下 20.41M,优先满配版,因为它在电视常见的广播、体育、剧集等通用画面上明显更稳; 如果芯片预算紧,选 A1——参数减少约 55%,真实电影质量几乎没掉。最终仍要等目标 NPU 开发板实测内存、功耗和真实延迟。
因为被前面物体挡住的部分没法直接画出来,只能靠算法"猜"。 分层胶片的方式让这部分内容天然保留在后面的胶片里,不需要瞎猜,效果更稳定。
我们参考的这篇论文(LMPIN,2025年发表)没有公开代码,也没有可以直接商用的开源实现。 所有的核心计算、训练方法、打分标准,都是我们自己独立写出来并反复验证过的。
最初借用的深度判断"老师"(Depth Anything V2)只限研究用途, 存在商用风险。现已整体替换为更新一代、可直接商用(Apache-2.0 协议)的 Depth Anything 3,精度还更高——授权和准确度两个问题一次解决。
整个项目按"准备训练数据 → 搭好算法骨架 → 先学看深浅 → 再学画质 → 打分验收"的顺序推进, 每一步做完都要经过独立审核才能进入下一步,不允许自己给自己"放水"。主线五关已全部通过; 此后又完成了三轮加训——边缘与强弱调节优化、真实 3D 电影微调、连续播放稳定性优化——每一轮同样设了独立验收关卡, 期间有两次训练被预设的"红线检查"自动叫停(一次是评分口径 bug,一次是太空电影黑场景污染训练信号), 都是查明根因后再重启,没有带病赶进度。
我们造了 118,287 张训练样本(来自公开图片库 COCO)——每张样本是一张普通图片配上 "如果是立体的,另一只眼睛该看到什么样"的参考答案,用来教算法学习。这些样本特意覆盖了从 8 像素到 38 像素的立体错位强度(实测采样范围 8.0006~37.9988 像素),从"立体感很弱"到"立体感比较强"都有, 不会让算法只学到一种场景。
118,287 张
用普通照片"伪造"的立体对,保证场景多样性。
147,700 对
来自 6 部正版 3D 电影(比利·林恩、霍比特人、少年派、海底世界、地心引力、双子杀手),真实拍摄的左右眼画面,仅内部研究使用。训练时合成与真实按 3:1 混合,既学真实立体、又不偏科。
画面里"看不见、要靠猜"的遮挡部分平均占 6.07%——合成样本里这部分是"编"的,真实电影里是真拍到的,这正是引入真实素材的核心价值。
正式训练分两步:第一步只教算法"判断画面里哪里近、哪里远"(不产出最终画面); 第二步才把"生成最终画面"这件事一起教给它。这样拆开学,比一开始就什么都学更稳妥。
在正式训练前,评审方另外独立写了一套验证程序(不共用实现方的代码), 专门检查"分层胶片怎么错开叠加"这一步的几何计算对不对——结果 12 项检查全部对上,误差小到 0.000000000000001 以内(机器计算的极限精度)。 此外算法体积检查为 24,319,206 个参数,落在 2600 万±300 万的预算内。
训练 6 万轮后,把算法学到的"深浅判断误差"从初始值降低了 71.04% (达标线是降低超过 50%),四张显卡的利用率稳定在 92.1%~92.4%,没有出现"显卡空闲等数据"的浪费。
我们用一套公平的方式来打分: 如果"什么都不做"(直接拿左眼画面充当右眼)算 0 分,用真实相机拍出来的立体信息做参考算 100 分 (这是物理上限,因为两个镜头本身拍出来的画面就有细微差别,不可能真的到 100 分),及格线定在 35 分。 首版考了 50.8 分过关;经过边缘优化、真实电影微调、稳定性优化三轮加训后,最新版本考到 52.6 分—— 特别值得说明的是,后两轮的主要目标并不是这张考卷,能"顺便"再涨说明基本功变扎实了,没有为新目标牺牲旧能力。
下表是 90 段测试视频(共 450 帧)上的完整结果,同时给出三种电脑评分方式(数值含义类似,分数越接近下一行的"满分参考"就越像真实立体画面)。
| 做法 | 相似度打分(SSIM) | PSNR | LPIPS | 说明 |
|---|---|---|---|---|
| 什么都不做 | 0.585 | 18.74dB | 0.174 | 左眼画面直接冒充右眼 |
| 我们的算法(最新版) | 0.7175 | 21.12dB | 0.151 | 能在电视上实时跑的"学生"(已部署版本) |
| 我们的算法(首版,7-19) | 0.713 | 21.15dB | 0.154 | 三轮加训前的版本,供对照 |
| 直接照搬"老师"模型 | 0.702 | 20.60dB | 0.152 | 体积更大、跑不动实时的参考模型 |
| 满分参考 | 0.837 | 23.90dB | 0.118 | 用真实测量出的立体视差做出来的效果(物理上限) |
52.6 分的算法公式:(0.7175 − 0.585) ÷ (0.837 − 0.585) = 52.59%。遮挡区域(画面中要靠"脑补"的部分)单独测得的分数与全画面差距在达标线(6dB)内。
如果直接照搬"老师"模型的深浅判断去拼图, 换算成同一套打分标准约 46.4 分;我们训练出来的、能在电视上实时跑的"学生"反而拿到了 52.6 分,说明这套训练方法确实有效,不是单纯继承了老师的水平。
首版人工检查发现人物、球网、植物这类细小复杂边缘发虚; 后续加入的"贴边"处理(引导滤波)配合更准的新老师模型,已把这类边缘的清晰度明显提上来,深浅判断误差降低了 35%。
上面那张考卷(NAMA3DS1)是公开的双镜头实验素材,画面偏简单。为了更接近电视真实播放的内容, 我们从 6 部正版 3D 电影里单独留出 2000 帧做了一张全新考卷——这些片段绝不出现在训练素材里,防止"考题泄漏"。 这张考卷更难,也更能说明产品价值:
| 版本 | 真实电影考卷得分 | 说明 |
|---|---|---|
| 只用"伪造"样本训练的版本 | −1.5 分 | 负分 = 转出来还不如"什么都不做" |
| 用 4 部电影微调 | +6.2 分 | 首次转正 |
| 用 6 部电影微调(已部署) | +7.5 分 | 当前版本 |
立体转换最难的是"物体边缘后面露出来的内容"—— 伪造样本里这部分是编的,真实电影里是真拍到的。用真数据训练后,这个区域的画质反超"什么都不做"基线 0.45dB, 这正是花钱买真实素材想买到的东西,也是外部同行很难拿到的数据优势。
因为真实电影的立体错位量普遍很小(中位数仅约 3 像素), "什么都不做"本身就已经很接近正确答案,能提升的空间物理上就窄。在立体感强的场景(新加入的两部片)上, 同样的算法能拿到 +26.6 分——差距拉得开的地方,我们赢得多。
在电视芯片等级的算力预算下(单张服务器显卡实测),我们测了三档清晰度设置。 转换过程中用的"中间分辨率"越低,速度越快、画质会有一点点取舍;达标线是每帧处理时间在 25 毫秒以内(相当于每秒 40 帧以上)。
| 档位 | 每帧耗时 | 相当于每秒 | 结论 |
|---|---|---|---|
| 最高画质档(1/2 中间分辨率,编译优化后) | 16.43 ms | 60.9 帧 | 达标 ✓ |
| 标准画质档(1/4 中间分辨率) | 12.65 ms | 79.1 帧 | 达标 ✓ |
| 训练时用的分辨率(256×384) | 10.13 ms | 98.8 帧 | 达标 ✓ |
测试条件:1920×1080 输入,单张 H20 服务器显卡,bf16 精度;耗时含画面缩放、算法推理、分层胶片渲染与最终合成,不含视频编解码。最高画质档原始实现约 46ms,经 torch.compile 编译后降至 16.43ms;A1 小模型同档约 13.99ms。
单张画面转得好还不够——视频是连续播放的,如果算法每帧独立判断深浅,连起来看就会有轻微的 "远近感忽强忽弱"(业内叫时域抖动),这对观感的影响比任何单帧打分都直接。我们做了专项优化:让算法在处理连续两帧时保持深浅判断一致。
相邻帧深度判断的差异度从 0.00744 降到 0.00403, 画面越稳,立体感越自然、越不容易看累。
我们把优化前后的 36 段视频随机打乱、隐藏版本标签做盲测, 结论是两者的播放平滑度已无法分辨、静止画面无闪烁。播放器端还有一层平滑处理兜底,产品观感有双保险。
我们在一台 Mac 上搭了一个验证播放器(Mac3DPlayer,项目独立于本次汇报的训练工作), 用来检验算法能不能真正"边播边转"。这里有两种完全不同的实现方式,第二种才是电视产品最终需要的能力, 也是这一部分的重点。
项目最初是让训练服务器把视频批量转换成立体格式,自动打包传给 Mac 播放。 这种方式计算全部发生在服务器上,播放器本身不做任何 AI 计算,只适合"看效果、挑毛病",不代表电视的真实工作方式。
这才是电视产品真正要落地的形态——不提前转换、不经过服务器,播放普通 2D 视频的同时, 设备自己一边解码、一边现算立体效果、一边显示。我们已经在 Mac 上把这条链路完整打通:
最新模型实测单帧计算 11.12 毫秒(相当于每秒约 90 帧),远超视频本身的播放速度,余量充足; 低/中/高三档立体强度可一键切换。
经过三轮加训的最终模型已正式转成 Mac 运行格式并内嵌进播放器。 逐像素比对确认转换精度损失小于千万分之二,三档强度均验证通过;旧版本完整保留,可一键回退。
实时播放这条链路目前是工程上已经跑通、有初步实测速度数据,但还没有走完播放器项目自己的正式验收流程 (比如连续播放较长时间、确认全程不掉帧的仪器化测试)。这一点我们如实标注,不把"能跑"直接等同于"已验收通过、可以量产"。
立体直通播放、单独看左眼或右眼画面、 在普通屏幕上用红蓝眼镜模式查看立体效果、逐帧暂停检查——这些不需要设备现场计算,对着一份已经生成好的文件就能做。
对着一份从没处理过的普通 2D 视频, 播放的同时现场转换出立体效果;还有一个调试专用视图,能把算法内部"分了几层、每层是什么样"直接显示出来,方便检查问题。
7 月 19 日汇报时列的五个优化方向(边缘处理、更换老师模型、立体强弱可调、真实电影微调、播放稳定性) 现已全部完成并合入已部署的版本。算法画质这条主线到此收官,接下来的重点转向真正装进电视芯片。
20.41M 满配版负责高质量,9.11M A1 小模型负责低算力。A1 的真实电影、通用跨域、播放稳定性和三档强弱调节都已复评完成。
编译优化把最高画质 1/2 档从约 46 毫秒降到 16.43 毫秒;标准 1/4 档仍作为低功耗默认,1/2 档作为增强选项。
检测到字幕带时,在输出环节把字幕钉在屏幕平面并做边缘羽化,避免细字幕出现双像。纯输出侧处理,不需要重新训练模型。
从论文复现、真实电影训练、播放稳定性到剪枝和速度优化,各阶段指标、对比图与验收结论都已归档。
目前所有速度数据来自服务器显卡和 Mac 芯片,都不是电视的真实芯片。瘦身版小模型的真实速度、功耗、
以及量化压缩后的画质损失,必须在目标芯片开发板上实测才算数——这是算法能否量产的最终验证。
开发板到位后约 1~2 周可出结论。这是目前唯一需要外部资源配合的环节。
A1 在真实电影考卷上几乎不掉分,但通用跨域分从满配版的 52.56 降到 35.69。算力允许时应优先满配版;小模型只用于芯片预算紧张的场合。
服务器和 Mac 上的速度都已达标,但目标电视芯片上的内存、功耗、量化精度和真实延迟仍必须等待开发板实测。