点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨雷晨阳

审稿丨邓富城

编辑丨极市平台

导读

本文介绍一篇来自香港科技大学中稿CVPR2021的工作,工作采用了硬件和软件结合做底层图像处理的方法,主要介绍了一种鲁棒性和精确性都很强的去反光算法,在定量指标和视觉效果上都显著超过了其他的算法。

代码以及数据集:https://github.com/ChenyangLEI/flash-reflection-removal
项目主页:https://chenyanglei.github.io/flashrr_rfc/index.html
论文:https://arxiv.org/pdf/2103.04273.pdf
利用偏振光去反射:https://github.com/ChenyangLEI/polarization-reflection-removal

本文介绍了一种非常鲁棒的去反光算法,在定量指标和视觉效果上都显著超过了其他的算法。

摘要

我们的算法主要利用了一张额外的闪光照片(Flash image)来进行去反射(Reflection Removal),只需要一步操作,我们可以极大地提升效果。本文的主要贡献有三个:

  1. 我们提出了一种新颖的提示(Reflection-free Flash-only Cues,RFC),该提示使区分反射更容易,从而进行更好地去反射。该提示非常可靠的,因为它与环境光下的反射的外观和强度无关。

  2. 我们提出了一个专用框架,该框架可以在使用RFC的同时避免引入仅闪光图像的artifacts。与最新技术相比,我们在真实数据集上的PSNR提高了5.23dB以上,SSIM提高了0.04,在LPIPS中减小了0.068。

  3. 我们构造了第一个包含raw数据和RGB数据的数据集,以用于基于闪光的去反射。

背景

什么是去反射?观察玻璃后的背景时,玻璃上有镜面反射,导致背景物体的结构、颜色清晰度下降。例如在商场中透过玻璃看商品,在展览馆中通过玻璃看作品,再例如从车窗外看车内的人。

为什么要去反射?当我们的目标是背景时,反射属于干扰信号。反射可能影响照片美观,或者影响其他算法在照片的效果(例如目标检测)。

为什么去反射比较困难?反射和背景都是自然图像,难以分辨。在许多情况下,只看图片的一部分,即便人类也无法分辨。

相关工作

单张图像去反射。在某些情况下,反射的外观可能含有一些线索。例如,在对焦在背景时,反射可能失焦,且因此看起来模糊[6,7]。当玻璃比较厚的时候,可能产生鬼影效果[4]。然而,这些线索在很多时候并不成立。现实世界中的反光很可能是清晰且无鬼影的。当反射的外观不符合算法假设时,算法的效果常常会剧烈下降。

多张图像去反射。一些去反射方法[5]利用在反射和背景的不同运动状态来进行去反射。但是,拍摄不同的运动图像会花费更多的精力(用户需要移动手机)。还有一些方法[3]利用了偏振光,但是偏振相机还没有被广泛运用。

基于闪光去反射。闪光灯的其他特点曾被许多工作应用过。Agrawal等人[1]假设图像的梯度方向在闪光和环境光下是一致的。但是,它们在不理想的区域(例如,阴影,镜面反射)很难生成合理的结果。此外,它们的结果往往过于平滑。SDN[2]假设可以通过闪光明显抑制反射,但是抑制效果对环境光下的反射强度敏感:当反射较强时,抑制不再有效。下文将介绍,在相同的设置之下,我们的算法效果上显著超过这两种算法。

Reflection-free Flash-only Cues (RFC)

首先介绍一个概念,纯闪光图片(Flash-only image)。

和一般的单张图片去反射方法上图(a) 相比,我们的方法需要多拍摄一张闪光照片图(b)。我们命名环境光照(ambient illumination)下的图片为,加上闪光光照(flash illuminating)的图片为。我们处理得到的图片是上图(c),纯闪光图片。如何获得?

注意此处我们需要这两张图片的raw image,因为sRGB图片的数值和光照并非线性相关。R和T分别表示闪光和背景。式子(3)是最关键的一步操作。由式子(3)可以知道,环境光照下的反光已经完全消失,但是还有flash-only光照下的反光。我们认为,它在大多数情况下为0。因为闪光灯具有方向性,只会照亮前面的东西,不会照亮后面的东西。而玻璃的反光在经过多次弹射之后进入相机已经比较弱了。

网络结构

虽然纯闪光照片不包含任何的(环境光下的反光),但是这张图片本身存在很多质量上的问题,包括:(1)偏色;(2)不均匀光照(由物体的远近和形状导致);(3)闪光灯反光;(4)新的阴影或者被照亮的灰尘。如下图:我们需要设计一种结构,既可以利用到RFC的优点,又能规避上述纯闪光图片I_{fo}的缺陷。因此我们设计了一个两阶段的框架,第一个阶段只预测R_a,第二阶段再预测T_a。我们框架的目的是让最终得到的图片依赖于I_a而非I_{fo},而I_{fo}只作为一个参考图片。这样子,的artifacts在第一个阶段就可以被拦截了。

如果单纯利用一个网络来预测会怎么样呢?我们实验发现网络倾向于从生成最终的结果,上述的多种artifact就会被引入。

实验结果

我们对比了两类算法:单图去反射算法和基于闪光的去反射算法。上表展示了定量对比的结果,我们的表现显著超过了其他算法(包括其他基于闪光的去反光算法)。

上图展示了一个视觉对比结果,我们的算法在强的反光下仍然可以去掉反光,这主要得益于纯闪光图片的引导。

上图展示了一个视觉对比结果,我们的算法可以鲁棒地去掉反光。

上图展示了一个视觉对比结果,和最新的基于闪光的去反射算法相比较(SDN, IJCV2020),我们可以更好的去掉强反光(当然,弱的反光更不在话下)。

讨论与总结

我们相信纯闪光图片还可以被运用到很多其他的领域中。例如,我们发现环境光下的阴影也会在中消失,也就是说,也可以用去阴影。其次,在纯反光图片中只有一个光源,这对于很多领域也是非常重要的,例如photometric stereo。

由于我们的reflection-free cues,我们的算法的鲁棒性和精确性都很强,这从很多实验结果中也可以得到印证。尽管我们需要多拍一张照片,但是可以通过客制的程序来以很小的代价实现这一点(连拍两张照片)。我们的缺点在于,当物体离玻璃很远时,闪光灯可能无法照到物体,那么就全黑了,当然,这也是多数active-sensing的共同缺点,存在距离限制。

参考文献:

[1] Amit   Agrawal,   Ramesh   Raskar,   Shree   K   Nayar,   andYuanzhen Li.  Removing photography artifacts using gradi-ent projection and flash-exposure sampling.  InSIGGRAPH. 2005

[2] Yakun Chang, Cheolkon Jung, Jun Sun, and Fengqiao Wang.Siamese dense network for reflection removal with flash andno-flash image pairs.Int. J. Comput. Vis., 128(6):1673–1698,2020.

[3] Chenyang Lei,  Xuhua Huang,  Mengdi Zhang,  Qiong Yan,Wenxiu Sun, and Qifeng Chen. Polarized reflection removalwith perfect alignment in the wild

[4] YiChang Shih, Dilip Krishnan, Fredo Durand, and William TFreeman. Reflection removal using ghosting cues. InCVPR,2015

[5] Tianfan Xue,  Michael Rubinstein,  Ce Liu,  and William T.Freeman.    A  computational  approach  for  obstruction-freephotography. ACM Trans. Graph., 34(4):79:1–79:11, 2015.

[6] Yang  Yang,  Wenye  Ma,  Yin  Zheng,  Jian-Feng  Cai,  andWeiyu Xu. Fast single image reflection suppression via con-vex optimization.

[7] Xuaner  Zhang,  Ren  Ng,  and  Qifeng  Chen.   Single  imagereflection separation with perceptual losses. In CVPR, 2018.

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

图像反光能被一键去除了?港科大开源RFC,仅用一个操作,强反光也能完美去除|CVPR2021...相关推荐

  1. 图像反光能被一键去除了?港科大开源RFC,仅用一个操作,强反光也能完美去除|CVPR2021

    本文首发极市平台(微信公众号同名),转载请标明出处. 极市平台是国内专业的计算机视觉开发者平台,原文请戳这里. 代码以及数据集:https://github.com/ChenyangLEI/flash ...

  2. 不仅搞定“梯度消失”,还让CNN更具泛化性:港科大开源深度神经网络训练新方法

    原文链接:不仅搞定"梯度消失",还让CNN更具泛化性:港科大开源深度神经网络训练新方法 paper: https://arxiv.org/abs/2003.10739 code: ...

  3. 玩不起RLHF?港科大开源高效对齐算法木筏,GPT扩散模型都能用

    原文:玩不起RLHF?港科大开源高效对齐算法木筏,GPT扩散模型都能用_训练_人类_微调 开源大模型火爆,已有大小羊驼LLaMA.Vicuna等很多可选. 但这些羊驼们玩起来经常没有ChatGPT效果 ...

  4. 对标GPT核心技术RLHF!港科大开源RAFT「木筏」,适用GPT扩散模型

    梦晨 发自 凹非寺  量子位 | QbitAI 开源大模型火爆,已有大小羊驼LLaMA.Vicuna等很多可选. 但这些羊驼们玩起来经常没有ChatGPT效果好,比如总说自己只是一个语言模型.没有感情 ...

  5. 玩不起RLHF?港科大开源高效对齐算法RAFT「木筏」,GPT扩散模型都能用

    梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 开源大模型火爆,已有大小羊驼LLaMA.Vicuna等很多可选. 但这些羊驼们玩起来经常没有ChatGPT效果好,比如总说自己只是一个语言模型.没 ...

  6. 图像算法可以稳定处理视频了!港科大开源通用算法,解决视频处理时域不稳定问题|NeurIPS 2020...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨雷晨阳.邢亚洲 编辑丨极市平台 导读 许多图像处理算法虽在单个图像处理中表现出色,但将其直接用于 ...

  7. 港科大开源 | 基于事件的双目视觉里程计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种双目事件相机的视觉里程计方法.我们的系统遵循并行跟踪和建图的方法,建图模块以概 ...

  8. EMNLP2021 “Transformer+预训练”再下一城,港科大开源高效的多模态摘要总结网络...

    关注公众号,发现CV技术之美 ▊ 写在前面 多模态摘要总结(Multimodal abstractive summarization,MAS)模型总结了视频(视觉模态)及其相应的文本(文本模态)的知识 ...

  9. 在小树林飞也能又快又稳,这是港科大沈劭劼组的「猛禽」无人机重规划框架(这也符合我理想中的无人机,而且他们这说明这种室内避障无人机是可以做得很小的。)

    这也符合我理想中的无人机,而且他们这说明这种室内避障无人机是可以做得很小的. 摘自:https://mp.weixin.qq.com/s/xzY3GOLzd4fgy7Ff-cSigg 在小树林飞也能又 ...

最新文章

  1. EIGRP的AD(管理距离)、AD(宣告距离)、FD(可行距离)
  2. Android学习笔记(5)----启动 Theme.Dialog 主题的Activity时程序崩溃的解决办法
  3. 网站设计常用技巧收集
  4. linux问题排查常用命令详解
  5. SVN系列二 SVN的安装配置(linux)
  6. http各类攻击及tcpcopy工具
  7. 第一次个人作业--词频统计总结
  8. 将beyond compare设置为svn的代码比较工具
  9. 遗传算法实例解析(python)
  10. 小坑远程shell工具
  11. google license key格式不对
  12. 2021 年 8 月全国程序员薪酬终于出炉了!北京以18904元位居榜首
  13. 陕西省计算机分数线,2019陕西省各大学录取分数线最新汇总
  14. Windows出现“未连接到互联网代理服务器出现问题,或者地址有误。问题解决办法”
  15. java并发编程第十二课 java内存模型
  16. 疫情当前,产品求职者更需苦练内功
  17. Unhandled exception in al.exe(KERNELBASE.DLL):0xE06D7363:Microsoft C++Exception
  18. [Unity3D]Unity3D游戏开发之从《魂斗罗》游戏说起(上)——目标追踪
  19. python pandas修改列名,Python_Pandas学习笔记02:DataFrame获取列名和修改列名
  20. CentOS 7 Docker安装GVM-11

热门文章

  1. Kafka代码走读-LogCleaner
  2. 块代码编程---开始使用块代码
  3. gridview格式化日期字段
  4. SilverLight 一日两次碰壁
  5. 领域驱动设计(DDD)架构演进和DDD的几种典型架构介绍(图文详解)
  6. 核弹级漏洞!我把log4j扒给你看!
  7. 告别硬编码,SpringBoot实现动态增删启停定时任务
  8. MyBatis千万级数据查询解决方案,避免OOM
  9. 程序员学霸!top2大学毕业!不到30岁第一次升P9失败!挫折感极强,怀疑人生?网友:没升P7的我,不要面子的吗??...
  10. 基于Redis的分布式锁和Redlock算法