MIT开发激光“锁眼成像”技术:给我一个钥匙孔,不进门我就能“看”到房间内的一切

简介: MIT开发激光“锁眼成像”技术:给我一个钥匙孔,不进门我就能“看”到房间内的一切

对每个合格的“社畜”来说,摸鱼可谓是一项必备技能了。

俗话说,知己知彼才能百战百胜。

如果能清楚地看见坐在办公室里的上司在干什么,准备什么时候出来巡视,那简直就是如虎添翼。

还别说,现在还真有这么一项技术,能帮助“看”清房间里的一切。

这就是非视线(NLOS)成像方法。多年来,研究人员不断完善这项技术,为了创造出能够清晰看到角落的相机,由此生成不在视野内的物体图像,或者被障碍物挡住的物体图像。

如今,斯坦福大学计算成像实验室的研究人员对该技术进行了扩展,现在,只需让一个激光点进入房间,就可以看到里面可能有哪些实物。

不过这可不是拿来摸鱼用的。未来,该技术可以与自动驾驶等技术绑定,这样司机就能提前发现隐藏在拐角处的潜在危险,提高安全性和避障能力。

论文链接:
https://www.computationalimaging.org/publications/keyhole-imaging/

**MIT提出“锁眼成像方法”
**
其实非视线成像由来已久了,但无法否认,这的确是一项聪明的技术。

此前,该技术已经利用了像地板或墙壁这样的平面,这些平面一般处于摄像机和被遮挡物体的视线范围内。然后,一系列来自摄像机的激光脉冲,在这些平面的表面上反弹,然后在隐藏的物体上反弹,最终回到摄像机的传感器上。算法利用光反射的时间生成相机看不到的物体图像。

遗憾的是,这些物体图像的分辨率不高,尽管如此还是能一下子确认物体是什么。

这次,MIT的研究人员对其改善后提出了锁眼成像(keyhole imaging)的方法。

从命名上我们也可以猜到,要“看”清封闭房间内的物体,我们只需要一个小孔,比如钥匙孔或窥视孔,让激光束穿过,在里面的墙上形成一个光点。

与上述过程类似,激光会在墙上、房间物体上反弹,无数的光子最终通过小孔口反射回相机,相机利用一个单光子雪崩光电探测器测量它们返回的时间。

如果隐藏物体是静态的,锁眼成像无法得到足够的信息。为了绕过这个问题,研究人员发现,他们可以用激光脉冲成像一个移动的物体,这种激光能够在较长的曝光时间内产生足够的可行数据,从而为算法构建物体的图像提供足够的信息。

如下图所示,木制人体模型看起来像幽灵一样,但当与经过适当训练的图像识别人工智能相配时,确定房间里有一个人(或人形物体)倒是非常可行的。

除了自动驾驶技术外,该项研究未来还可以协助警方侦破案件。比如,要在破门而入前评估某个房间的风险,只需利用墙上的一个小裂缝或窗户。

同时,这项新技术还可以为自主导航系统提供新的思路。在以前的无损检测技术不实用的情况下,在威胁之前就发现隐藏的危险因素。

利用光传播和阴影也能还原遮挡物

相关技术在MIT中也已有先例。

2019年,MIT计算机科学与人工智能实验室提出,他们能通过细微的阴影和反射重现被遮挡的动作。也就是说,打开摄像机之后,即使是摄像机视野之外的物体或动作,也可以进行再现。

MIT的研究员们基于视域外的视频投射在附近物体上的阴影,预测出视域外的内容。上面一行显示的是研究员使用这种方法重现的视觉元素,下面一行则是原始物体。

通过观察阴影和几何图形之间的相互作用,新的算法可以预测光在场景中的传播方式,即“光传输”。然后,再利用这种传播方式从观察到的阴影中估计被隐藏的内容,甚至可以构建真人表演的大致轮廓。

该技术是“被动的”,这意味着对场景没有激光或其他干预,整个过程需要大约2个小时的处理时间。研究人员表示,该技术最终有助于重现视线之外的场景,包括但不限于上述应用。

“通过使用非视距成像设备(例如激光器)可以完成许多任务,但是在我们的方法中,只能使用自然到达相机的光线,并尝试充分利用这些稀缺的信息,”前CSAIL博士后、NVIDIA现任研究科学家,新技术首席研究员Miika Aittala表示, “鉴于神经网络的最新进展,这似乎是一个很好的时机,可以解决在这个领域以前被认为是无法解决的一些挑战。”

为了捕获这些看不见的信息,团队使用了细微的间接照明提示,例如被观察区域杂乱的阴影和高光。在某种程度上,一堆杂物的行为有点像针孔照相机,类似于在小学科学课中可能会制作的东西:它阻挡了一些光线,但允许其他光线通过,并且无论在何处,它们都描绘出周围环境的图像。

但如果针孔相机被设计为仅允许通过足以形成可读图像的光线,那么一堆杂乱的杂物会产生无法识别的的图像、(通过光传输)被扰乱的阴影的复杂运动。

可以将杂物想像成一面镜子,使我们可以看到周围的环境,尤其是在无法直接看到的角落。这个算法所解决的挑战是要弄清并理解这些照明的提示。

怎么样,是不是又“学废了”?

种种迹象表明,或许,我们离拥有“透视眼”的那天真的不远了。

相关文章
|
存储 编解码 弹性计算
阿里云服务器计算型c5、c6、c7实例有什么区别?我们应该如何选择?
在我们选择阿里云服务器实例规格的时候,如果是选择计算型实例,会发现同样是计算型实例,有计算型c5、计算型c6和计算型c7可选(当然还有c8i、c8y等其他计算型实例可选),他们都属于企业级云服务器,都配有2核4G、4核8G和8核16G等处理器与内存比1:2的配置,那么它们之间有什么区别,下边就这三个实例各自的特点、网络、适用场景及最新活动价格来详细分析一下新手用户应该怎么选择。
阿里云服务器计算型c5、c6、c7实例有什么区别?我们应该如何选择?
|
Java Android开发 Python
Cocos-2dx-Lua中使用Luaj的完整示例(转)
如何使用Luaj进行java与Lua之间的交互调用 一、主要分为两个大步骤,Lua工程的修改,android工程的修改 二、工程环境 开发工具:Cocos-Code-IDE Lua版本 : Lua 5.1 java版本:1.7 NDK版本:android-ndk-r10c ANT版本:apache-ant-1.9.4 Framwork:cocos-2dx-3.4 python : 2.7.3 三、Lua工程中的修改 1.在Cocos-Code-IDE中新建Lua工程 可以在这个工程目录中找到Luaj:  2.新建一个lua类,写上调用android的方法。
2187 0
人工智能 缓存 前端开发
11575 56
人工智能 JavaScript 开发工具
4566 17
开发工具 Swift git
1840 5
Web App开发 人工智能 API
1070 1
人工智能 Java BI
1202 1
人工智能 JavaScript 测试技术
2023 2
人工智能 JavaScript 测试技术
1026 4