图像反光能被一键去除了?港科大开源RFC,仅用一个操作,强反光也能完美去除|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)下的圖片為IaI_aIa?,加上閃光光照(flash illumination)的圖片為IfI_fIf?。我們處理得到的圖片是上圖?,純閃光圖片IfoI_{fo}Ifo?。如何獲得?
注意此處我們需要這兩張圖片的raw image,因為sRGB圖片的數值和光照并非線性相關。R和T分別表示閃光和背景。
式子(3)是最關鍵的一步操作。由式子(3)可以知道,環境光照下的反光已經完全消失,但是還有flash-only光照下的反光。我們認為,它在大多數情況下為0。因為閃光燈具有方向性,只會照亮前面的東西,不會照亮后面的東西。而玻璃的反光在經過多次彈射之后進入相機已經比較弱了。
網絡結構
雖然純閃光照片IfoI_{fo}Ifo?不包含任何的RaR_aRa?(環境光下的反光),但是這張圖片本身存在很多質量上的問題,包括:(1)偏色;(2)不均勻光照(由物體的遠近和形狀導致);(3)閃光燈反光;(4)新的陰影或者被照亮的灰塵。如下圖:
我們需要設計一種結構,既可以利用到RFC的優點,又能規避上述純閃光圖片IfoI_{fo}Ifo?的缺陷。因此我們設計了一個兩階段的框架,第一個階段只預測RaR_aRa?,第二階段再預測TaT_aTa?。我們框架的目的是讓最終得到的圖片依賴于IaI_aIa?而非IfoI_{fo}Ifo?,而I_{fo}只作為一個參考圖片。這樣子,IfoI_{fo}Ifo?的artifacts在第一個階段就可以被攔截了。
如果單純利用一個網絡來預測TaT_aTa?會怎么樣呢?我們實驗發現網絡傾向于從IfoI_{fo}Ifo?生成最終的結果,上述的多種artifact就會被引入。
實驗結果
我們對比了兩類算法:單圖去反射算法和基于閃光的去反射算法。
上表展示了定量對比的結果,我們的表現顯著超過了其他算法(包括其他基于閃光的去反光算法)。
上圖展示了一個視覺對比結果,我們的算法在強的反光下仍然可以去掉反光,這主要得益于純閃光圖片IfoI_{fo}Ifo?的引導。
上圖展示了一個視覺對比結果,我們的算法可以魯棒地去掉反光。
上圖展示了一個視覺對比結果,和最新的基于閃光的去反射算法相比較(SDN, IJCV2020),我們可以更好的去掉強反光(當然,弱的反光更不在話下)。
討論與總結
我們相信純閃光圖片IfoI_{fo}Ifo?還可以被運用到很多其他的領域中。例如,我們發現環境光下的陰影也會在IfoI_{fo}Ifo?中消失,也就是說,IfoI_{fo}Ifo?也可以用去陰影。其次,在純反光圖片中只有一個光源,這對于很多領域也是非常重要的,例如photometric stereo。
由于我們的reflection-free cues,我們的算法的魯棒性和精確性都很強,這從很多實驗結果中也可以得到印證。盡管我們需要多拍一張照片,但是可以通過客制的程序來以很小的代價實現這一點(連拍兩張照片)。我們的缺點在于,當物體離玻璃很遠時,閃光燈可能無法照到物體,那么IfoI_{fo}Ifo?就全黑了,當然,這也是多數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.
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的图像反光能被一键去除了?港科大开源RFC,仅用一个操作,强反光也能完美去除|CVPR2021的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态卷积超进化!通道融合替换注意力,减少
- 下一篇: 超越Swin,Transformer屠榜