赛博禅心

Sora 的数据,有点问题

第一时间报道了 Sora:OpenAI 新货详解:Sora 发布,附各种案例

该夸的夸完了,也说一下 Sora 在中文 Prompt 下出现的 极其明显 的问题。

在我第一次要求生成坤坤的时候,效果还好:

Image

而生成第二个坤坤的时候,画风和内容就变得奇怪了。 

Image

一种东京很热的感觉 


BadCase

类似的问题有很多,这里结合一些典型 BadCase,分别来说: 

1. 乱码问题

Image

Image

生成的内容有了奇怪乱码字幕

2. 版权水印

Image

仔细看右上角,有一个 Logo:大写的 K

猜测,是原始数据未经处理就被纳入训练集 

Image

Logo 应该是来自 Kinemaster 

3. 不相关元素

Image

Image

当 prompt 是中文时,场景莫名其妙。


原因分析

可能原因

Sora 训练数据集规模庞大,其中包含部分未经严格处理的版权内容和水印视频。 

从 Badcase 可以推断,Sora 训练了大量游戏相关视频(特别是日韩的三国题材游戏视频),但数据处理的精细度有待提高。 

行业做法

行业内通用做法或常用做法都参考了 Moviegen,包含以下: 

Image

信息补充

对于视频的数据处理,主要有以下:

数据清洗

  • 删除缺失值、不完整或无效数据(如不完整的剧本或损坏的媒体文件)

  • 去除噪声(如无关对白、冗余描述)

格式标准化

  • 文本:将剧本转换为标准结构(如场景、对白、描述分层)

  • 多媒体:统一图片分辨率、音频采样率,视频格式转换

数据标注

  • 为剧本添加标签(如角色、情感、场景类型)

  • 多媒体数据的元信息标注(如场景对应的时间、地点、情节等)

至于如何去除字幕,则包括以下: 

检测字幕

  • 目标:识别视频中字幕所在的位置(通常在视频底部)

  • 常用技术:

    • 计算机视觉(CV):使用边缘检测算法(如 Canny)定位字幕边界

    • 文本检测算法(如 EAST、CRAFT)识别字幕区域

    • 深度学习方法:使用预训练的 OCR 模型(如 Tesseract 或 EasyOCR)

    • 基于场景文本检测的模型(如 PaddleOCR)提取字幕区域

去除字幕

  • 目标:从视频帧中移除字幕内容,并尽量恢复背景画面

  • 常用方法:

    • 输入:字幕区域及其周围的上下文信息

    • 输出:无字幕的画面,保持原始视觉效果

    • 像素填充:使用边界填充算法(OpenCV inpainting)

    • Telea 算法:适合小范围字幕区域

    • Navier-Stokes 算法:适合更复杂的纹理背景

    • 深度学习修复:使用图像修复模型(DeepFill v2、LaMa)

视频重建

  • 目标:将处理后的帧重新组合成视频

  • 流程:对每一帧进行字幕区域的检测与修复

  • 工具:

    • FFmpeg:用于帧提取、字幕去除后的视频重组

    • MoviePy:Python 库,用于视频处理和编辑

验证与优化

  • 目标:确保去字幕后的画面质量和一致性

  • 方法:

    • 对比原视频和去字幕视频,检查字幕区域是否被正确移除

    • 优化修复效果,避免字幕区域出现明显的修补痕迹

这里会出现各种 Badcase,应该是中文数据在做预处理的时候,有偷手。 


以上

Sora 的这个发布,在如 Storybord 等功能上着实有趣。 

但从生成细节的角度来说,对比国产模型,优势并不明显。 

Image

或因中文数据没处理好,Sora 在产出中国元素比较重的内容时,会有很多问题。显著不如海螺、智谱、混元的数据团队专业。