論文閱讀筆記之Replacing Mobile Camera ISP with a Single Deep Learning Model


這篇文章做了啥

根據ccd或者cmos圖像傳感器獲得的圖像,要經過一系列的復雜的處理才能得到最終的圖像,而且不同的cmos有不同的算法,作者這里的motivation是能不能有一個比較統一的框架來處理原始圖像,而不是經過一系列復雜的ISP操作?
這個研究和我上一篇博客講的很類似,(learning to see in the dark)[https://www.cnblogs.com/yongjieShi/p/12372729.html],只不過learning to see in the dark(LSD)這篇文章聚焦的部分不僅僅是通過,對原始的傳感器得到的數據進行處理,更聚焦在時如何處理極低光圖像,極低光圖像的處理不僅僅是調整圖像亮度這么簡單,包含了去噪等step,作者在LSD這篇文章中重點突出了,如何處理極低光,網絡沒有創新性,很大的contribution來自於一個數據集合的建立。和LSD不一樣,這篇文章也是對原始數據進行處理,而且對網絡的創新性在一定程度上進行創新,這個我們后面再說

contributions

提出了第一個raw-to-rgb image的網絡
一個新的PyNET CNN被提出,用於結合heavy global以及low-level fine grained信息
建立了一個10k的RAW–RGB image pairs數據集合,數據及在wild采集,用的兩個設備,一個是華為p20,一個是cannon 5D Mark
做了大量的實驗,來評估重建的圖像的質量,同時,也和華為p20自己內部的isp處理結果進行了比較

數據集合建立

作者用了兩台設備,一個是華為p20,另外一個是Canon,cannon拍攝的圖片作為gt,就是圖像經過isp處理之后的結果,因為單反拍攝的質量比較高,所以用單反拍攝的圖片作為約束是合理的,同時在拍攝圖片的時候,華為內部有自己內嵌的isp處理得到的結果,所以作者也把這個數據采集了下來,並且進行比較。華為p20的傳感器用的是sony的拜耳傳感器,同時作者還說華為有另外一個鏡頭,但是不能通過現有的api來獲取其api,所以只能用sony的那個原始數據。
拍攝的過程是在一個空間點,朝向一致就行,比如放一台華為p20,采集兩張,一個是raw的bayer數據,一個是built-in的isp處理得到的結果;同時把佳能放在這里,
因為是圖像的處理,所以逐pixel對應是非常有必要的,作者在這里也說了需要用特征點匹配算法來進行圖像匹配,作者展示了一組圖片(如下圖),仔細看的話確實是沒有對齊的,后面還會詳細講,我覺得這個問題挺嚴重的,

上面的圖片紅色方框里面仔細看是不一樣的

我覺得作者忽略了一個重要的問題,就是camera的focal length不一樣,這種差距尤其在結構場景中體現更加明顯,我想這就是為什么作者在wild采集圖像,而不是結構場景中,相對於這個數據集合,SID dataset更加合理一些,SID dataset作者用的是兩台不同的設備,但是cmos短曝光和長曝光是一對,一個是拿到原始的bayer或者x-trans數據,另外一個長曝光的是built-in isp處理得到的結果,maybe,(作者文中只說用了libraw庫進行了處理,不確定原始的是不是isp-built in處理的結果)

網絡結構

RAW to RGB 的mapping是一個涉及到global以及local圖像modification的問題。這種直觀的motivation是和isp處理的pipline有關系,比如,global modifications經常用來改變圖像的內容,和一些higl-level的特性,比如亮度,白平衡,和色彩渲染;而low-level處理經常用於一些這種任務,比如紋理增強,銳化,噪聲去除,去模糊等。而且更加重要的是,global和local信息應該進行交互,互相影響。比如,內容理解對於texture 處理或者local color correction是至關重要的。很很多deeplearning模型只focus其中一個step。比如vgg,resnet或者denesnet這種,不能很大的改變圖像,而依賴於unet或者pixel的結構不具備改變局部區域的能力。為了解決這個問題,作者提出了他們的網絡,如下圖,叫PyNET,processing 圖像在different scale以及把他們結合在一起。

如上圖,有五個不同的level,可以學習到不同的level的信息,lower scales的到的信息被上采樣,然后和高層次的特征concate到一起,然由higier scales后繼續處理,主要的就是這個,這就是結合了local以及global的信息。loss損失函數不同的level用不同的損失函數以及比例也不一樣,level4-5的話,主要集中地global的信息上,比如亮度和gamma correction所以用了mse loss。level2-3主要用來refine 不同object的color和shape properties,用perceptual loss和mse loss
level1的話加了一個ssim loss,主要用來做local的調整,比如noise去除,特征增強,局部顏色處理
這個網絡結構和zongwei zhou提出的unet++類似,都是倒三角形,unet++稍微復雜一些,先挖個坑

實驗結果

實驗主要圍繞三個問題,作者提出的這個結果和經典的一些網絡結構相比,結果怎么樣?
第二個是,和華為的built-in的isp相比結果怎么樣,
以及這種算法能不能apply到其他的設備上
作者首先和華為的built-in的isp處理結果比較了一下,如下圖

仔細觀察一下第二行圖片,實際上房屋的大小並不是一樣的,這種差異是由於焦距不同導致的
作者說他們的結果在local和global上面沒有什么缺陷,唯獨有一些光暈,和華為的isp比起來的話,作者的方法有更高的亮度,更自然的局部紋理,並且銳化程度並不是特別高。作者說這個可能和P20的另外一個相機有關系,作者說,我們的算法和華為的p20的built-in isp得到的結果是comparable的

作者和主流網絡的定量比較結果如下

作者的方法在常見的網絡結構式上達到了sota的結果
定性比較結果如下

針對這個結果,作者做了一些分析,VGG-19和SRCNN沒有足夠的能力來重建顏色,STGAN和UNET太暗了,有一些比較單調的顏色,pixel2pixel在精確顏色渲染上面有很大的問題,由於扭曲的色調使得看起來不真實。DPEDmodel得到的結果比較好,但是有一些yellowish的陰影,缺少生機。SPADE不能夠處理任意size的input data,所以沒有比較。

之后作者做了一個AMT test,

結果比p20還要好
之后又用BlackBerry KeyOne smartphone來看一下泛華能力,如下圖

作者說,恢復了很多ISP處理之后不存在的陰影,我並沒有看出來...相對於原圖確實很贊

上圖是一個細節圖,作者說,結果不是特別好,但是相對於沒有在這種型號的傳感器進行訓練的話,直接遷移得到的結果已經很好

后續

感覺對於raw的數據處理是一個大坑,我感覺可以踩一踩,實際上作者的這種local和global信息的獲取不是那么的elegant


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM