图片批量打码和视频逐帧打码、打码鸭两种输入的流程差别

文章导读
手上同时有截图和视频时,建议先跑图片批量,再处理视频逐帧。真正的差别不在数量,而在漏码的成因:批量图片的漏码往往集中在某类画质上,抽几张就能看出规律,调一次参数能覆盖一整批;视频逐帧的漏码更多是时序问题,同一目标在相邻帧之间时有时无(也就是跳框),靠抽几帧看不出来,必须沿帧号连续查看。先用图片把参数调到可用状态再进视频,能少返工一次;素材量很小、画质又统一时,这个顺序可以调换。
📋 目录
  1. 一 把待处理素材按图片和视频分成两堆并统计规模
  2. 二 先处理一批图片,检查漏码是否集中在某类画质
  3. 三 再处理一段视频,观察逐帧结果里同一目标是否跳框
  4. 四 对两类素材各抽一部分人工复核
  5. 五 根据复核结果决定先处理哪一类、哪一类需要手动补
A A

手上同时有截图和视频时,建议先跑图片批量,再处理视频逐帧。真正的差别不在数量,而在漏码的成因:批量图片的漏码往往集中在某类画质上,抽几张就能看出规律,调一次参数能覆盖一整批;视频逐帧的漏码更多是时序问题,同一目标在相邻帧之间时有时无(也就是跳框),靠抽几帧看不出来,必须沿帧号连续查看。先用图片把参数调到可用状态再进视频,能少返工一次;素材量很小、画质又统一时,这个顺序可以调换。

适用场景:手上既有截图、图片又有视频,需要决定先处理哪一类并预估人工补码量。操作动作:先统计两类素材规模,图片按画质分层抽样查漏码,视频沿帧号连续查跳框,再用同一张复核表对比两种输入。验证方式:以工具导出的结果文件、逐帧预览画面和复核表计数为准,不靠主观感觉。风险边界:抽样比例再高也不能外推成整体漏码率,只能用于排序和预留工时;逐帧结果对编码重建、半透明、模糊目标更敏感,需以实际导出的成片再确认。

把待处理素材按图片和视频分成两堆并统计规模

先分堆再动手。图片和视频通常是两个入口:批量图片一次提交多张、按张输出,视频入口先解码再逐帧处理、最后重新编码输出。两种输出的检查方式不同,规模统计要分开做,字段也要分开记。

素材类型需要统计的字段
图片张数、格式分布(png/jpg/webp)、分辨率区间(如低于 480p、480–720p、720p 以上)、文件大小区间、来源(截图/拍照/网络图)
视频段数、总时长(秒)、单段时长分布、分辨率与帧率、是否存在硬字幕或画中画
两类共同待打码目标类型(人脸、证件号、水印、车牌)、目标在画面中的大致尺寸

下面的命令只负责把数量数出来,用不用脚本都行,关键是字段齐了才能判断哪边更费时间。

# 1) 图片:张数与分辨率(环境里没有 exiftool 时换 identify 或 PIL 脚本)
find ./images -type f | grep -Ei 'png$|jpg$|jpeg$|webp$' > images_list.txt
wc -l < images_list.txt
xargs -a images_list.txt exiftool -T -ImageWidth -ImageHeight > images_size.txt

# 2) 视频:段数与总时长(ffprobe)
find ./videos -type f | grep -Ei 'mp4$|mov$|mkv$' > videos_list.txt
xargs -a videos_list.txt -I{} ffprobe -v error -show_entries format=duration -of csv=p=0 {} > videos_duration.txt
awk '{s+=$1} END {print NR, s}' videos_duration.txt

统计完先做一件事:把低分辨率图片和低分辨率、强压缩的视频片段单独标一层。后面抽样时会重点看这两层,因为漏码最容易先在这里暴露。

先处理一批图片,检查漏码是否集中在某类画质

图片批量不要一次全提交。先从每个画质分层各抽一小批试跑,确认参数合适再放量。抽样按分层来:分辨率区间、压缩程度(重压缩截图和原图分开)、目标大小与遮挡情况各取若干张,同一层内随机取,不要只挑清楚的图。每层抽多少取决于总量,常见做法是每层不低于二三十张,总量很少时全查更省事。

漏码记录用固定格式,方便事后按层汇总:

图片批量打码和视频逐帧打码、打码鸭两种输入的流程差别
文件,分层,分辨率,目标数,漏码数,误码数,备注
shot_001.png,低分辨率,360x640,3,1,0,目标小于40px
shot_017.png,重压缩,720x1280,2,0,1,背景花纹被误打码

观察重点是对应关系。把漏码按分层汇总,如果漏码几乎都落在分辨率最低或压缩最重的那一层,说明是画质相关的检测下限问题,处理方向是该层单独调小目标阈值,或对这类图先放大再处理;如果漏码在每一层都均匀出现,说明不是画质问题,更可能是目标类型(侧脸、遮挡、半透明)或参数本身设得太严,这时继续放大图片没有意义,应先调参数。这两种情况的返工成本差得远,花几张图确认是值得的。

再处理一段视频,观察逐帧结果里同一目标是否跳框

视频不要一上来就整段跑。挑一段有代表性的(目标多、运动快、有遮挡)先跑,然后在逐帧预览或导出成片里锁定同一个目标,从它进入画面的那一帧开始,一直看到它离开画面。

看的方法是分两步:先在时间轴上按正常速度粗看,记下目标大致出现的时间段;再切到逐帧步进,每次前进 1 帧,在这个区间里连续往后翻。逐帧处理时每一帧的结果相对独立,帧间没有约束时典型现象是目标在中间某几帧没被检出、后一帧又框住,看起来就是框在闪。这段需要以工具的逐帧预览页面和你导出的成片实际表现来确认,不同参数下的表现可能不一样。

跳框按帧号记录,比按秒记录更好复核:

视频段,目标描述,首次出现帧,最后出现帧,缺失帧区间,区间总帧数
clip_01.mp4,人脸A,120,410,180-186;305-308,11
clip_01.mp4,车牌,430,470,431-433,3

缺失区间越长,越像目标本身的问题(角度、模糊、遮挡),而不是参数松紧;缺失只出现在快速移动或转场处时,可以先按运动模糊和镜头切换处理。记下的缺失帧区间就是后面要手动补码的位置,不要只写一句“有跳框”。

图片批量打码和视频逐帧打码、打码鸭两种输入的流程差别

对两类素材各抽一部分人工复核

图片批量和视频逐帧要用同一张表统计,否则没法比。复核表字段固定:

类别,素材量,抽样量,抽样说明,目标总数,漏码数,误码数,漏码位置分布,人工补码耗时
图片,张数,张数,按画质分层抽取,数量,数量,数量,分层与文件列表,分钟
视频,段数,秒或帧数,按目标出现区间抽取,数量,数量,数量,帧号区间列表,分钟

两个口径要提前说清:图片统计按张算,视频按帧或按缺失区间算,两者的数值不能直接比大小,只能比“人工补码大概要花多少时间”和“漏码集中在什么条件下”。抽样建议覆盖每一类的主要分层,视频至少覆盖一个完整的目标出现区间,不要只抽静止画面,否则跳框基本抽不到。

根据复核结果决定先处理哪一类、哪一类需要手动补

排序依据按三条,从强到弱:一是哪一类的漏码集中在少数条件下,说明调参能解决大部分,先做这类更省事;二是哪一类单位时间的人工补码量更低;三是哪一类素材可以往后放,比如来源优先级低的旧视频。如果图片调完参数后分层漏码明显收窄,就先放量跑图片;如果视频的跳框只集中在少数几段,也可以先把视频全跑掉、把跳框段单独拎出来补,不必等图片全部结束。

手动补码量按抽样结果估算,公式本身很简单:

预计手动补码量 ≈ 抽样漏码数 / 抽样量 × 该类总量
视频建议先换算成“缺失区间数”再估算,不要直接拿帧数去乘,
否则一段连续缺失会被放大成不合理的数字。

这个数只是量级参考,不是承诺值:抽样越不随机,偏差越大。实际预留时在估算值上留出余量,并把重新导出、重新编码的时间算进去——视频补码通常要重跑整段,不像图片可以只补单张。等两类都跑完第一轮,再用同一张复核表的数据决定第二轮是集中调参,还是直接转人工补。