不法分子用针孔摄像头违法偷拍的事儿,可以说是过段时间就上个新闻。导致现在不少人出门住个酒店都要先用网上学来的方法查个遍,才能安心躺下。然而像什么手机摄像头检测法、某宝上的检测仪等费时费力,主要效果还不一定好……
现在,来自新加坡国立大学的研究员们又开发出了一种新方法,用一部手机加一个智能应用程序,就能实现近 90% 的精准检测率。
真的吗?一起来看。
一部手机 + 机器学习 App 揪出针孔摄像头
首先,手机不是普通的手机,是带有 ToF (Time of Flight,飞行时间)传感器的手机。
△ 论文来自 ACM Sensys 2021 智能传感系统大会
所谓 ToF 传感器,就是传感器发出经调制的近红外光,遇物体后反射,然后通过计算光线发射和反射时间差或相位差,获得被拍摄景物的距离,以产生深度信息。
其测量范围可达数米、精度小于 2cm,每秒更新频率可达 30~60 fps。
可在手机上用于人脸识别、金融支付、摄像时精准抠像 / 探测景深、AR 建模与体感游戏等。
现在有部分手机已经配有 ToF 传感器,比如 iPhone 13、iPhone 12 Pro、Samsung S20+/Ultra、华为 P30 Pro、OPPO RX17 Pro 等。
没有的也别着急,未来会渐渐成为一种趋势。
进入正题。
我们都知道,相比普通物体的“散射”,光线打在镜头这类物体上会形成强烈的逆反射,就像这样:
一个更形象的比喻:
而 ToF 传感器正好不仅能告诉你物体离摄像头有多远,还能反映图像中每个像素有多亮。
那就好办了,就比如下图最右,通过适当距离的 ToF 传感器反射,我们可以发现四个高亮点,而其中一个就是针孔摄像头藏身之处。
但是,问题也来了,四个亮点长得差不多,凭什么说中间那个就是呢?
另外,如果传感器和嫌疑物的距离太近或太远,给出的成像会“糊”就会造成误报,那又不知道嫌疑物到底在哪,怎么选择一个理想位置进行检测呢?
以及目前的 ToF 传感器空间分辨率都非常低,只有 240×320,这就导致一个针孔摄像头的图像可能就占 1-2 个像素;位深(bit-depth)也低,只能代表 8 种颜色,检测难度直线上升,误报率居高不下。
最后,嫌疑摄像头反射的光只能在 20° 的视场角(FoV)范围内可见,操作不当也会导致漏报。
好家伙,问题这么多,怎么解决?
这就得靠搭载了计算机视觉和机器学习的应用程序来帮忙了。
首先,使用手机摄像头对准一些你嫌疑的对象,然后 App 通过计算引导你和嫌疑对象保持合适的检测距离(一般是 20 厘米)。
计算依据假定针孔摄像头的直径为 1-2mm。
在扫描过程中,ToF 传感器的每一帧都给我们提供了激光强度图像和深度图像,程序将两者结合,提取候选区域,然后根据物理知识和机器学习过滤掉形状和距离基本不可能的选项。
接着将过筛的图像通过坐标转换从 2D 转为 3D,再通过 FoV 过滤器进行视场角过滤。
最终给出是否有针孔摄像头的结论。
说了这么多,看看它的真本事吧。
88.9% 的检测率
研究人员一共提供了 21 件不含和 9 件含针孔摄像头的物品进行测试。
每件物品用三种检测方法:ToF 手机 / LAPD App(也就是他们的方法)+ 一种叫做 K18 的市面检测仪 + 裸眼。
后两者需人为进行可疑摄像头的标注,一共 379 名志愿者参与。
最终,他们的方法最高获得了 88.9% 的准确率,以及最低 16.7% 的误报率。
比 K18 检测仪高了近 30%。
并且,APP 在实验用的 Samsung S20 + 可以连续运行 2 个半小时。
看到这儿,网友都坐不住了,纷纷喊话:什么时候上线应用程序,戳我啊!
好消息是,作者回应了:
代码正在开源。
那么,你觉得这个方法如何?到时发布了你会试试吗?
论文原文:
https://dl.acm.org/doi/10.1145/3485730.3485941
参考链接:
[1]https://www.youtube.com/watch?v=t4Txdhlji4k
[2]https://news.ycombinator.com/item?id=29267168