CycleISP: Real Image Restoration via Improved Data Synthesis通過改進數據合成實現真實圖像恢復

摘要

大規模數據集的可用性極大釋放了深度卷積神經網絡(CNN)的潛力。然而,針對單圖像去噪問題,獲取真實數據集成本高昂且流程繁瑣。因此,圖像去噪算法主要基于合成數據開發與評估,這些數據通常通過廣泛假設的加性高斯白噪聲(AWGN)生成。盡管CNN在合成數據集上表現優異,但在真實相機圖像中效果不佳,如近期基準數據集所示。這主要因為AWGN不足以建模真實相機噪聲——其具有信號依賴性且受相機成像流程(ISP)深度變換。本文提出一種框架,對相機成像流程進行正反向建模,使其能在RAW和sRGB空間生成任意數量的真實圖像對用于去噪。通過在真實合成數據上訓練新去噪網絡,我們在真實相機基準數據集上實現了最先進性能。模型的參數量比此前RAW去噪最優方法減少約5倍。此外,我們證明該框架可泛化至圖像去噪之外的任務(如立體電影色彩匹配)。源代碼與預訓練模型已開源:https://github.com/swz30/CycleISP


?一、引言

  1. ?計算機視覺任務的發展
    以圖像分類、目標檢測和分割為代表的高層視覺任務受益于深度卷積神經網絡(CNNs)。大規模數據集(如ImageNet)的可用性是關鍵推動力。技術瓶頸:低層視覺任務(去噪、超分、去模糊等)的數據采集成本極高,需在同一場景拍攝多張噪聲圖像進行像素級對齊和平均生成干凈圖像,易受光照變化和運動模糊干擾。

  2. ?合成數據局限性
    現有方法通過在sRGB圖像中添加AWGN(加性高斯白噪聲)生成訓練數據,但真實相機噪聲具有信號依賴性和ISP非線性變換特性,導致模型在真實數據上泛化性能差。核心問題:相機ISP流程(如去馬賽克、色彩校正)會改變RAW域噪聲的時空-色度相關性,使其分布偏離高斯。

?圖1:DND數據集真實相機圖像去噪效果


?CycleISP框架創新

?1. 核心貢獻
  • ?設備無關的RAW-sRGB雙向轉換
    提出無需相機ISP參數的CycleISP模型,通過RGB→RAW→RGB循環學習實現數據合成與噪聲建模:

    • ?RGB2RAW模塊:將sRGB逆轉換為RAW數據,無需依賴白平衡增益等相機參數
    • ?RAW2RGB模塊:通過顏色注意力單元自適應不同相機色彩特性,重建sRGB圖像
  • ?真實噪聲合成器
    在RAW域注入物理噪聲模型:

    • 包含光子散粒噪聲(光照依賴)、讀出噪聲(電路精度相關)、固定模式噪聲(傳感器缺陷)
    • 支持動態參數校準,適配不同ISO和量子效率的傳感器
  • ?輕量雙重注意力機制
    去噪網絡參數量僅2.6M(對比UPI的11.8M),通過:

    • ?通道注意力:抑制噪聲傳播
    • ?空間注意力:增強紋理重建

?2. 技術優勢
?指標?DND數據集?SIDD數據集
RAW域PSNR40.44 dB-
sRGB域PSNR36.16 dB39.52 dB
SSIM0.9560.953
參數量2.6M對比UPI ↓78%

實驗驗證:如圖1所示,相比N3NET和UPI,CycleISP能有效抑制低頻色度噪聲和壞像素噪聲。


?擴展應用

  1. ?立體電影色彩匹配
    通過CycleISP轉換源視圖與目標視圖的色彩空間,在3D電影中實現跨視角色彩一致性,PSNR提升至36.60 dB。

  2. ?跨傳感器泛化
    DRL-ISP方法結合強化學習優化ISP參數,在目標檢測任務中將mAP@0.50從33.8%提升至36.5%。


?技術局限與改進方向

  1. ?實時性挑戰
    完整模型參數量達470萬,需通過知識蒸餾壓縮至1MB以內,移動端延遲仍需優化。

  2. ?動態退化處理
    當前對運動模糊修復有限,未來計劃集成光流估計模塊


?二、相關工作?(翻譯與核心研究進展解析)

圖像噪聲的存在不可避免,無論是通過何種成像方式獲取圖像——在當今智能手機攝像頭主導的時代(傳感器尺寸小但分辨率高),這一問題尤為突出。單圖像去噪是計算機視覺與圖像處理領域廣泛研究的課題,其早期研究可追溯至1960年代。經典去噪方法主要基于以下兩大原則:

  1. ?變換域系數修正:利用離散余弦變換(DCT)、小波變換等技術對頻域系數進行調整。
  2. ?鄰域像素值平均:包括各向同性的高斯濾波、基于像素相似性的鄰域平均(如雙邊濾波)及沿圖像輪廓的濾波。

盡管上述方法在圖像保真度與視覺質量上表現良好,但Buades等人提出的非局部均值(NLM)算法標志著去噪領域的重大突破。NLM通過挖掘自然圖像中固有的冗余性與自相似性,顯著提升了去噪效果。此后,基于圖像塊的方法(如BM3D)持續推動理論極限的探索。

近年來,深度學習技術逐漸成為主流。Burger等人首次通過大規模合成噪聲數據訓練簡單的多層感知機(MLP),其性能超越傳統復雜算法。隨后,基于深度卷積神經網絡(CNN)的方法(如DnCNN、FFDNet、CBDNet)在去噪任務中展現出顯著優勢。

?RAW與sRGB空間的去噪挑戰

盡管去噪算法可應用于RAW或sRGB數據,但真實噪聲數據采集成本高且流程復雜,導致研究多依賴合成數據。傳統方法常假設噪聲為加性高斯白噪聲(AWGN)?,然而真實相機噪聲包含:

  • ?信號依賴性噪聲:光子散粒噪聲(泊松分布)
  • ?信號無關噪聲:讀取噪聲(高斯分布)

相機成像管線(ISP)會將RAW傳感器噪聲轉化為時空-色度相關且非高斯分布的復雜形式。因此,在sRGB空間中建模噪聲需綜合考慮ISP的影響。本文提出的框架通過合成真實噪聲數據,支持CNN在RAW與sRGB空間中高效去噪。


?技術要點與引用來源

  1. ?經典方法:小波變換、雙邊濾波
  2. ?非局部均值(NLM)?:利用自相似性提升去噪效果
  3. ?深度學習突破:MLP與CNN模型(DnCNN、FFDNet)
  4. ?真實噪聲建模:泊松-高斯分布與ISP影響
  5. ?RAW域去噪:ELD模型與CBDNet的噪聲參數校準

圖2:CycleISP框架的雙向ISP建模

CycleISP模型的雙向相機成像管線建模包含兩大核心分支:

  1. ?RGB2RAW分支:將sRGB圖像逆向還原為RAW數據,模擬相機ISP的逆過程。
  2. ?RAW2RGB分支:將RAW數據正向轉換為sRGB圖像,結合輔助顏色校正分支實現色彩精確恢復。
    技術亮點

3. CycleISP框架

?核心目標

構建雙向ISP建模系統,實現sRGB與RAW域的無損轉換,為真實噪聲數據合成奠定基礎。系統包含兩大核心網絡分支:

  1. ?RGB2RAW網絡:逆向還原相機ISP流程,將sRGB圖像逆推至RAW域
  2. ?RAW2RGB網絡:正向模擬相機ISP流程,從RAW數據重建sRGB圖像

?3.1 RGB2RAW網絡分支

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81449.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81449.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81449.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《Python星球日記》 第70天:Seq2Seq 與Transformer Decoder

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 目錄 一、Seq2Seq模型基礎1. 什么是Seq2Seq模型?2. Encoder-Decoder架構詳解1??編碼器(Encoder)2??解碼器(Decoder)3. 傳統Seq2Seq模型的局限性…

Android 性能優化入門(二)—— 內存優化

1、概述 1.1 Java 對象的生命周期 各狀態含義: 創建:分配內存空間并調用構造方法應用:使用中,處于被強引用持有(至少一個)的狀態不可見:不被強引用持有,應用程序已經不再使用該對象…

GCC 版本與C++ 標準對應關系

GCC 版本 與支持的 C 標準(C11、C14、C17、C20、C23) 的對應關系 GCC 版本與 C 標準支持對照表 GCC 版本默認 C 標準C11C14C17C20C23GCC 4.8C98? (部分支持)????GCC 4.9C98? (完整支持)????GCC 5.1C98?? (完整支持)???GCC 6.1C14??? …

5、事務和limit補充

一、事務【都是重點】 1、了解 一個事務其實就是一個完整的業務邏輯。 要么同時發生,要么同時結束。 是一個最小的工作單元。 不可再分。 看這個視頻,黑馬的,4分鐘多點就能理解到 可以理解成: 開始事務-----如果中間拋出異常…

一套基于 Bootstrap 和 .NET Blazor 的開源企業級組件庫

前言 今天大姚給大家分享一套基于 Bootstrap 和 .NET Blazor 的開源企業級組件庫:Bootstrap Blazor。 項目介紹 BootstrapBlazor 是一套基于 Bootstrap 和 Blazor 的開源(Apache License)、企業級組件庫,無縫整合了 Bootstrap …

mac-M系列芯片安裝軟件報錯:***已損壞,無法打開。推出磁盤問題

因為你安裝的軟件在Intel 或arm芯片的mac上沒有簽名導致。 首先打開任何來源操作 在系統設置中配置,如下圖: 2. 然后打開終端,輸入: sudo spctl --master-disable然后輸入電腦鎖屏密碼 打開了任何來源,還遇到已損壞…

RK3568-鴻蒙5.1與原生固件-扇區對比分析

編譯生成的固件目錄地址 ../openharmony/out/rk3568/packages/phone/images鴻蒙OS RK3568固件分析 通過查看提供的信息,分析RK3568開發板固件的各個組件及其用途: 主要固件組件 根據終端輸出的文件列表,RK3568固件包含以下關鍵組件&#x…

Java正則表達式:從基礎到高級應用全解析

Java正則表達式應用與知識點詳解 一、正則表達式基礎概念 正則表達式(Regular Expression)是通過特定語法規則描述字符串模式的工具,常用于: 數據格式驗證文本搜索與替換字符串分割模式匹配提取 Java通過java.util.regex包提供支持,核心類…

進程間通信--信號量【Linux操作系統】

文章目錄 并發編程相關基礎概念信號量深刻理解信號量使用共享資源的方式分塊使用共享資源的方式會出現的問題舉例子理解信號量的第二個特性---預定信號量要成為計數器面臨的問題 信號量相關操作接口--POSIX庫函數:sem_init庫函數:sem_destroy庫函數&…

謝賽寧團隊提出 BLIP3-o:融合自回歸與擴散模型的統一多模態架構,開創CLIP特征驅動的圖像理解與生成新范式

BLIP3-o 是一個統一的多模態模型,它將自回歸模型的推理和指令遵循優勢與擴散模型的生成能力相結合。與之前擴散 VAE 特征或原始像素的研究不同,BLIP3-o 擴散了語義豐富的CLIP 圖像特征,從而為圖像理解和生成構建了強大而高效的架構。 此外還…

HarmonyOs開發之——— ArkWeb 實戰指南

HarmonyOs開發之——— ArkWeb 實戰指南 謝謝關注!! 前言:上一篇文章主要介紹HarmonyOs開發之———合理使用動畫與轉場:CSDN 博客鏈接 一、ArkWeb 組件基礎與生命周期管理 1.1 Web 組件核心能力概述 ArkWeb 的Web組件支持加載本地或在線網頁,提供完整的生命周期回調體…

黑馬程序員C++2024版筆記 第0章 C++入門

1.C代碼的基礎結構 以hello_world代碼為例&#xff1a; 預處理指令 #include<iostream> using namespace std; 代碼前2行是預處理指令&#xff0c;即代碼編譯前的準備工作。&#xff08;編譯是將源代碼轉化為可執行程序.exe文件的過程&#xff09; 主函數 主函數是…

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(22):復習

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(22):復習 1、前言(1)情況說明(2)工程師的信仰2、知識點(1)復習(2)復習3、單詞(1)日語(2)日語片假名單詞4、對話練習5、單詞辨析記錄6、總結1、前言 (1)情況說明 自己在今年,在日本留學中,目前在語言學校,…

Docker配置SRS服務器 ,ffmpeg使用rtmp協議推流+vlc拉流

目錄 演示視頻 前期配置 Docker配置 ffmpeg配置 vlc配置 下載并運行 SRS 服務 推拉流流程實現 演示視頻 2025-05-18 21-48-01 前期配置 Docker配置 運行 SRS 建議使用 Docker 配置 Docker 請移步&#xff1a; 一篇就夠&#xff01;Windows上Docker Desktop安裝 漢化完整指…

Redis——緩存雪崩、擊穿、穿透

緩存雪崩 大量緩存數據在同一時間過期或者Redis故障宕機時&#xff0c;若此時有大量請求&#xff0c;都會直接訪問到數據庫&#xff0c;導致數據庫壓力倍增甚至宕機。 大量數據同時過期解決方案&#xff1a; 1、均勻設置過期時間&#xff1a; 設置過期時間的時候可以追加一…

開源GPU架構RISC-V VCIX的深度學習潛力測試:從RTL仿真到MNIST實戰

點擊 “AladdinEdu&#xff0c;同學們用得起的【H卡】算力平臺”&#xff0c;H卡級別算力&#xff0c;按量計費&#xff0c;靈活彈性&#xff0c;頂級配置&#xff0c;學生專屬優惠。 一、開篇&#xff1a;AI芯片架構演變的三重挑戰 &#xff08;引述TPUv4采用RISC-V的行業案…

字符串相乘(43)

43. 字符串相乘 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; class Solution { public:string multiply(string num1, string num2) {string res "0";for (int i 0; i < num2.size(); i) {string str multiplyOneNum(num1, num2[num2.size() -…

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推薦深藍學院的《深度神經網絡加速&#xff1a;cuDNN 與 TensorRT》&#xff0c;課程面向就業&#xff0c;細致講解CUDA運算的理論支撐與實踐&#xff0c;學完可以系統化掌握CUDA基礎編程知識以及TensorRT實戰&#xff0c;并且能夠利用GPU開發高性能、高并發的軟件系統&#xf…

[LevelDB]LevelDB版本管理的黑魔法-為什么能在不鎖表的情況下管理數據?

文章摘要 LevelDB的日志管理系統是怎么通過雙鏈表來進行數據管理為什么LevelDB能夠在不鎖表的情況下進行日志新增 適用人群: 對版本管理機制有開發訴求&#xff0c;并且希望參考LevelDB的版本開發機制。數據庫相關從業者的專業人士。計算機狂熱愛好者&#xff0c;對計算機的…

【C++進階篇】C++容器完全指南:掌握set和map的使用,提升編碼效率

C容器的實踐與應用&#xff1a;輕松掌握set、map與multimap的區別與用法 一. 序列式容器與關聯式容器1.1 序列式容器 (Sequential Containers)1.2 關聯式容器 (Associative Containers) 二. set系列使用2.1 set的構造和迭代器2.2 set的增刪查2.2.1 插入2.2.2 查找2.2.3 刪除 2.…