用视觉模型做帧检查器:它抓到了什么,又放过了什么
视频
图像模型会在标牌上写假字、加水印,还会给人画出多余的手指。渲染后才发现坏帧,代价是重新渲染;渲染前发现,代价只是一次重绘。因此,Studio 绘制的每一张图都会先交给视觉模型检查。
检查如何运作
每帧都会缩小为长边不超过 1,024 像素的 JPEG,并附带一条指令:仅用 JSON 回答,包含 ok 真或假以及问题列表;若出现任何文字、字母、数字、水印或 logo,或手部、面部、身体变形,或图像损坏,则判为假。被拒绝的帧会用新的种子重绘,最多重绘你设定的次数。若没有一次重绘通过,任务会带着原因停止,而不是发布坏帧。纯色帧,或某些安全过滤器返回的黑方块,会在询问模型之前就被拒绝。
测试
我们使用编写脚本的同一个本地模型,由 vLLM 在我们的机器上提供服务,并给它四张我们的图像模型早前生成的图片:木桌上的一杯咖啡、白底上的一个苹果、书架前打电话的人,以及一张写着 “SALE 50% OFF” 的咖啡图。
- 三张干净的图片通过了,包括书架那张,我们原本以为书脊会触发误报。
- 带标语的图片被拒绝,原因是 “written text”。
- 在完整流程中,带标语的帧首先出现并被拒绝,重绘通过:该场景共两次绘制。
每次检查耗时 3 到 14 秒,当时模型正忙于其他工作。
它不做什么
视觉模型是第二双眼睛,不是保证。它可能漏掉小瑕疵,严格的指令有时也会拒绝你本会保留的图片,代价是一次重绘而非一段坏视频。四张图片只是接线检查,不是统计数据。亲自查看你的前几个视频,并根据所见收紧或放宽重绘限制。
Studio 使用服务器暴露的任何支持图像输入的模型运行此检查;留空视觉设置即可关闭检查。