截图遮蔽¶
什么时候用得上¶
好几个场景页都有同一个动作:把对话或威胁的截图交给第三方。社运行动者要保留威胁信息当证据,LGBTQ+ 与性少数遇到人肉搜索要记下威胁内容,家暴幸存者要把对话交给社工或律师。截图里除了对方,通常还有第三人的名字、头像、电话,以及你自己的账号。
- 群组对话的截图要交给律师或平台举报:对方的信息要留着,同一个画面里其他成员的名字与头像不该一起送出去。
- 把骚扰信息公开求助:贴出来之前遮掉自己的电话号码、对方朋友的名字,还有顶端状态栏上的运营商与时间。
- 现场照片要投稿:背景里的门牌、车牌、旁观者的脸,拿掉 metadata 之后仍然在画面里,要另外遮。
跟 metadata 清除器什么时候该用哪一个,在二手平台卖东西用十四张待上架的照片说明。送件附件的完整整理流程,见把对话截图整理成送件附件。
怎么用¶
- 把图拖进来、点一下选文件,或直接粘贴。
- 先按「自动找出人脸」可以少拉几个框。找到的脸会用蓝色空心框标出来,这时候还没有遮住任何东西。
- 蓝框里有不需要遮的,点一下就移掉。剩下的按「全部遮起来」,整批填成实心黑。
- 机器漏掉的自己补:在要遮的地方按住拖出方框,松开就填成黑色。拖错了点一下那一处就移掉,也可以按「撤销上一个」。
- 按「生成遮好的图」。页面会把输出实际解开一次,确认每一处都是纯黑,才给你下载。
蓝框还在的时候「生成遮好的图」按不下去。机器找到了而你还没决定,这种状态下交出去的图等于一张没遮的图,所以那颗按钮会等你先按「全部遮起来」或把蓝框点掉。
输出的文件名固定是 redacted.png 或 redacted.jpg。截图的原始文件名常带着 app 名称与精确到秒的时间,那也是一种泄漏。
为什么是实心填色¶
马赛克是把一块区域的像素平均成大格,模糊是把像素跟周围混在一起。两种都保留了原本内容的统计特征,文字尤其容易还原。Depix 这类针对马赛克文字的开源还原工具 2020 年就公开了,只要字体与大小猜对,就能把格子对回字符。半透明的荧光笔效果更不用说,调一下亮度与对比就直接看见。
实心填色不留任何原本的信息。方框里的每一个像素都被同一个颜色取代,输出文件里没有原内容的任何残留。页面在交给你之前会把输出实际解开一次,逐像素检查每一个方框,检查没过就不给下载。
输出重新编码过¶
跟文件 metadata 清除器相反,这一页一定会重新编码。遮蔽本来就要改像素,没有无损的可能。重新编码的好处是原文件里的 EXIF、XMP、缩略图与其他字段一个都不会带过去,输出里只有画面本身。
输出格式跟着输入走:JPEG 进来就输出 JPEG,其他格式一律输出 PNG。PNG 是无损格式,截图用它不会再损失画质。JPEG 会用质量 0.92 重新压一次,照片几乎没有差别,但每一次重新压缩都会多损失一点,同一张图不要来回处理。
超过一千六百万像素的图会先缩到上限再处理,手机上的 canvas 无法处理更大的画布。缩小只影响输出的分辨率,遮蔽的位置不受影响。画面的色彩描述文件不会保留,广色域的照片颜色可能略有差异。
自动找出人脸只是提案¶
按下「自动找出人脸」才会去拿检测用的程序与数据,约 240 KB。只想自己拉框的人不会被迫下载它。
扫描会转三个角度各扫一次,正的、往左歪二十五度、往右歪二十五度,这样才抓得到头是歪的脸。代价是时间约三倍,而那个代价刚好落在会受益的图上:聊天截图小,三倍也感觉不出来,街上拍的整张照片在手机上大约五到六秒。扫描在后台线程进行,那段时间页面照常可以操作,正的那一轮先扫完就会把框画出来,其余角度找到的再补上去。
它抓得到的是正面、在画面里够大的脸,头歪到二十五度左右还抓得到。侧脸、低头、被口罩或头发遮住、离镜头太远的脸会漏掉,背景纹理复杂的时候也可能多框几个不是脸的地方。多框的点一下就移掉,漏掉的自己补。
眼镜是常见的一种。眼睛周围是这类检测器取得信号最多的地方,镜框改变了那一带的明暗,分数就会掉。实测同一张脸叠上合成镜框,细框大约掉一半还救得回来,粗框与墨镜则是分数整个崩掉,怎么调都抓不到。画面上有人戴墨镜就当作它一定漏掉,直接自己拉框。
有一个核对的方式很简单:先数画面上看得到几个人,再比对蓝框的数量。两个数字不必完全相同,背对镜头与侧身的人本来就框不到,但差距大就代表要再看几眼。
更要紧的是,认得出一个人的线索本来就不只有脸。名牌、工作证、纹身、车牌、门牌、特征明显的衣服、背景里的招牌,这些检测不会碰。机器画完之后那一轮自己看,才是真正决定要遮什么的那一步。
用的是 pico.js,MIT 许可,两百行左右的 JavaScript,看得懂的人可以自己读完。它不需要 WebGL,只要浏览器开着 JavaScript 就能执行。图片跟这一页其他部分一样不会离开你的设备。
不做的事¶
不做全自动遮蔽。哪些东西该遮取决于你的处境,模型无法替你判断,而漏掉一张脸的代价由你承担。「自动找出人脸」那颗按钮只帮你把框画出来,按下「全部遮起来」让它们变成实心,以及最后按不按「生成遮好的图」,两步都是你的决定,说明见上一节。
不做模糊与马赛克,理由见上一节。
不处理视频。
离线可用¶
跟这一区其他工具一样,程序存进设备之后断网也能用,那就是图片没有偷偷送出去最直接的证明。
要把这一页带着走,见离线阅读。