★影像處理和畫質演算法的基礎原理
★底層視覺任務及其與其他視覺任務的關係
★影像成像過程、顏色及影調的影響因素
★降噪演算法的雜訊生成機制及經典方法
★超解析度演算法的傳統插值與深度學習策略
★霧天成像模型、去霧任務解決方法
★HDR定義、任務設定、經典演算法
★深度學習影像合成、和諧化技術
★影像增強、修飾的經典演算法
★傳統方法與深度學習方法
隨著人工智慧和電腦視覺技術的進步,影像處理和畫質演算法技術正邁入新時期。底層視覺任務相較於檢測和辨識類視覺任務,較少受到關注,主要集中在影像的成像品質,如雜訊、顏色和清晰度等。深度學習模型的強大歸納和學習能力,使得基於此技術的底層視覺演算法在許多場景下能達成傳統演算法無法實現的效果。
本書將引導讀者深入了解影像畫質演算法及底層視覺技術的基本原理和應用,全面介紹該領域的經典方案與最新發展,並深入剖析不同任務的定義、挑戰及解決思路,涵蓋經典演算法。書中同時兼顧傳統方法與深度學習方法,因為傳統方法在實際應用中仍然發揮著重要作用,其設計理念通常與任務的先驗設定密切相關,而設計深度學習模型時也常參考傳統方法。因此,分析傳統方法對於深入理解底層視覺任務至關重要。
此外,書中還會介紹一些較新的基於深度學習的演算法,特別是那些具有啟發性的演算法,以幫助讀者在需要時明確演算法的設計和改進方向,從而在影像處理領域中獲得更深入的理解與應用。 作者
賈壯
電腦視覺演算法工程師,畢業於北京清華大學自動化系,模式識別與智慧系統方向碩士,曾在百度、華為等單位從事多項視覺相關演算法專案的研發與提交,在相關期刊和會議發表多篇論文,並在視覺相關國際競賽中獲得獎項,編著有《機器學習與深度學習算法基礎》等技術書籍。
目錄
第1章 畫質演算法與底層視覺概述
1.1 畫質演算法的主要任務
1.1.1 畫質演算法定義及其主要類別
1.1.2 畫質問題的核心:退化
1.2 基於深度學習的底層視覺技術
1.2.1 深度學習與神經網路
1.2.2 底層視覺任務的特點
第2章 畫質處理的基礎知識
2.1 光照與成像
2.1.1 視覺與光學成像
2.1.2 Bayer陣列與去馬賽克
2.1.3 相機影像訊號處理的基本流程
2.2 色彩與顏色空間
2.2.1 人眼色覺與色度圖
2.2.2 常見的顏色空間
2.3 影像的影調調整方法
2.3.1 長條圖與對比度
2.3.2 對比度拉伸與長條圖均衡
2.3.3 對比度增強演算法的改進策略
2.4 影像常見的空間操作
2.4.1 基本影像變換:仿射變換與透視變換
2.4.2 光流與幀間對齊
2.5 影像的頻域分析與影像金字塔
2.5.1 傅立葉轉換與頻域分析
2.5.2 自然影像的頻域統計特性
2.5.3 影像金字塔:高斯金字塔與拉普拉斯金字塔
第3章 影像與視訊降噪演算法
3.1 雜訊的來源與數學模型
3.1.1 影像雜訊的物理來源
3.1.2 雜訊的數學模型
3.2 降噪演算法的困難與策略
3.2.1 降噪演算法的困難
3.2.2 盲降噪與非盲降噪
3.2.3 高斯降噪與真實雜訊降噪
3.2.4 降噪演算法的評價指標
3.3 傳統降噪演算法
3.3.1 空域濾波:平均值、高斯與中值濾波器
3.3.2 非局部平均值演算法
3.3.3 小波變換降噪演算法
3.3.4 雙邊濾波與導向濾波
3.3.5 BM3D濾波演算法
3.4 深度學習降噪演算法
3.4.1 深度殘差降噪網路DnCNN和FFDNet
3.4.2 雜訊估計網路降噪:CBDNet
3.4.3 小波變換與神經網路的結合:MWCNN
3.4.4 視訊降噪:DVDNet和FastDVDNet
3.4.5 基於Transformer的降噪方法:IPT與SwinIR
3.4.6 自監督降噪演算法:Noise2Noise、Noise2Void與DIP
3.4.7 Raw域降噪策略與演算法:Unprocess與CycleISP
第4章 影像與視訊超解析度
4.1 超解析度任務概述
4.1.1 解析度與超解析度任務
4.1.2 超解析度的任務設定與特點
4.1.3 超解析度的評價指標
4.2 超解析度的傳統演算法
4.2.1 上採樣插值演算法與影像銳化處理
4.2.2 基於自相似性的超解析度
4.2.3 基於稀疏編碼的超解析度
4.3 經典深度學習超解析度演算法
4.3.1 神經網路超解析度開端:SRCNN和FSRCNN
4.3.2 無參的高效上採樣:ESPCN
4.3.3 無BN層的殘差網路:EDSR
4.3.4 殘差稠密網路
4.3.5 針對視覺畫質的最佳化:SRGAN與ESRGAN
4.3.6 注意力機制超解析度網路:RCAN
4.3.7 盲超解析度中的退化估計:ZSSR與KernelGAN
4.4 真實世界的超解析度模型
4.4.1 複雜退化模擬:BSRGAN與Real-ESRGAN
4.4.2 影像域遷移:CycleGAN類網路與無監督超解析度
4.4.3 擴散模型的真實世界超解析度:StableSR
4.5 超解析度模型的輕量化
4.5.1 多分支資訊蒸餾:IMDN與RFDN
4.5.2 重參數化策略:ECBSR
4.5.3 消除特徵容錯:GhostSR
4.5.4 單層極輕量化模型:edgeSR
4.6 視訊超解析度模型簡介
4.6.1 視訊超解析度的特點
4.6.2 BasicVSR、BasicVSR++與RealBasicVSR
4.7 超解析度模型的最佳化策略
4.7.1 基於分頻分區域處理的模型設計
4.7.2 針對細節紋理的恢復策略
4.7.3 可控可解釋的畫質恢復與超解析度
第5章 影像去霧
5.1 影像去霧任務概述
5.1.1 有霧影像的形成與影響
5.1.2 有霧影像的退化:大氣散射模型
5.1.3 去霧演算法的主要想法
5.2 基於物理模型的去霧演算法
5.2.1 基於反照係數分解的Fattal去霧演算法
5.2.2 暗通道先驗去霧演算法
5.2.3 顏色衰減先驗去霧演算法
5.3 深度學習去霧演算法
5.3.1 點對點的透射圖估計:DehazeNet
5.3.2 輕量級去霧網路模型:AOD-Net
5.3.3 基於GAN的去霧模型:Dehaze cGAN和Cycle-Dehaze
5.3.4 金字塔稠密連接網路:DCPDN
5.3.5 特徵融合注意力去霧模型:FFA-Net
第6章 影像高動態範圍
6.1 影像HDR任務簡介
6.1.1 動態範圍的概念
6.1.2 HDR任務分類與關鍵問題
6.2 傳統HDR相關演算法
6.2.1 多曝融合演算法
6.2.2 局部拉普拉斯濾波演算法
6.2.3 Reinhard攝影色調重建演算法
6.2.4 快速雙邊濾波色調映射演算法
6.3 基於神經網路模型的HDR演算法
6.3.1 網路模型的訓練目標:MEF-SSIM
6.3.2 點對點多曝融合演算法:DeepFuse
6.3.3 多曝權重的網路計算:MEF-Net
6.3.4 注意力機制HDR網路:AHDRNet
6.3.5 單圖動態範圍擴充:ExpandNet
第7章 影像合成與影像和諧化
7.1 影像合成任務簡介
7.2 經典影像合成演算法
7.2.1 alpha通道混合演算法
7.2.2 多尺度融合:拉普拉斯金字塔融合
7.2.3 梯度域的無縫融合:卜松融合
7.3 深度學習影像合成與影像和諧化
7.3.1 空間分離注意力:S2AM模型
7.3.2 域驗證的和諧化:DoveNet
7.3.3 背景引導的域轉換:BargainNet
7.3.4 前景到背景的風格遷移:RainNet
第8章 影像增強與影像修飾
8.1 影像增強任務概述
8.2 傳統低光增強演算法
8.2.1 基於反色去霧的低光增強演算法
8.2.2 多尺度Retinex演算法
8.3 神經網路模型的增強與顏色調整
8.3.1 Retinex理論的模型實現:RetinexNet
8.3.2 雙邊即時增強演算法:HDRNet
8.3.3 無參考圖的低光增強:Zero-DCE
8.3.4 可控的修圖模型:CSRNet
8.3.5 3D LUT類模型:影像自我調整3D LUT和NILUT
8.3.6 色域擴充:GamutNet和GamutMLP
序/導讀
前 言
在當今數位化與資訊化的時代,影像和音視訊產品幾乎每時每刻都充斥在人們的周圍,不管是拍照分享自己的日常生活,還是與親友視訊通話或與同事進行電話會議,抑或是在影視網站欣賞影視作品,這些影像、視訊服務為人們提供了視覺感官的享受與精準的資訊傳達。與此同時,對畫質效果及影像品質的需求也促進了畫質演算法與影像處理演算法的迅速發展。為了更進一步地滿足使用者的期望,人們需要深入研究影像背後的基本機制和原理,並透過設計合適的演算法創造出更加清晰、真實並令人滿意的視覺體驗。
隨著人工智慧和電腦視覺技術的發展,影像處理和畫質演算法技術的發展也進入了一個新時期。與受到大眾關注較多的檢測、辨識類視覺任務不同,底層視覺任務較少關注對影像內容的理解或推理,而主要關注影像的成像品質與效果,如影像的雜訊、顏色、清晰度等。由於深度學習模型擁有強大的歸納和學習能力,所以基於其的底層視覺演算法在很多場景下已經可以實現很多傳統演算法無法達到的效果。本書將帶領讀者由淺入深地探索影像畫質演算法和底層視覺技術的基礎原理及其應用,較為全面地介紹這個領域的經典方案及最新發展。本書將深入剖析不同任務的定義、困難與處理想法、領域內的經典演算法。在演算法介紹上,本書力圖兼顧傳統方法與深度學習方法,主要是考慮到傳統方法在很多實際場合中還在發揮重要作用,並且其設計想法往往和任務的先驗設定更加相關,另外,在設計深度學習模型時往往參考傳統方法的想法。因此,分析傳統方法對於深入理解底層視覺任務是至關重要的。同時,對於一些相對較新的基於深度學習的演算法,本書也會選取其中想法比較有啟發性的演算法介紹,以幫助讀者在有需要的時候明確演算法的設計和改進方向。
本書結構與主要內容
本書共分為8章。
第1章主要介紹本書所界定的底層視覺任務的定義、基本涵蓋範圍,以及它與其他視覺任務的主要區別。
第2章主要介紹不同畫質相關任務的一些基礎知識,如成像過程、影像的顏色和影調及其影響因素、影像的空間操作、頻域分析等內容。這些知識是後續所有底層視覺演算法的基礎,在演算法設計中造成重要的作用。
第3章主要介紹降噪演算法。降噪演算法是底層視覺任務的重要分支,它對影像的觀感和視覺效果有著重要的影響。本章從雜訊的生成機制與基本模型出發,分別介紹了經典的影像處理降噪方法,以及經典的深度學習降噪模型。
第4章主要介紹超解析度演算法。超解析度演算法也是底層視覺任務的重要分支,它的目的在於消除畫質的退化,提升影像或視訊的清晰度。本章從傳統的插值與基於稀疏編碼的超解析度演算法講起,重點介紹了基於深度學習的超解析度的各種處理策略,包括對模型結構的改進和對處理流程的設計。
第5章主要介紹影像去霧演算法。本章從霧天成像的退化模型入手,分析了有霧影像的特點及去霧任務的解決方法,重點講解了幾種經典的傳統方法,如暗通道先驗去霧演算法,並介紹了幾種不同想法的深度學習去霧模型。
第6章主要介紹影像的HDR任務及其演算法。本章首先介紹HDR的定義及HDR相關任務設定,然後介紹幾種經典的HDR相關演算法,包括傳統演算法及基於網路模型的經典演算法。
第7章主要介紹深度學習的影像合成與影像和諧化。影像合成也是底層視覺處理技術的重要任務,其目的是對不同影像的主體和背景進行合成,並使整圖觀感自然、無瑕疵。本章首先介紹影像合成的傳統方法,然後介紹對基於神經網路的合成影像和諧化任務的定義、處理困難、相關模型想法。
第8章主要介紹影像增強與影像修飾。影像增強和影像修飾是比較寬泛的任務類型,包括影像的曝光調整(如低光增強)、顏色調整(如顏色濾鏡模擬、色域調整)等子任務。本章介紹了影像增強的一些經典演算法,以及基於神經網路模型的影像增強的相關嘗試。
參考資料與讀者交流
本書中實現的各類演算法及模型結構的相關程式和指令稿均可以透過作者的 GitHub 倉庫獲得,倉庫位址:https://github.com/jzsherlock4869/lowlevel-book-codebase。另外,作者水準有限,如果發現書中有技術性錯誤或表述不嚴謹的地方,可以透過在上述程式倉庫中提issue的方式留言討論。後續會收集確需修改的內容,在該倉庫維護一個勘誤表供讀者參考。另外,對於本書內容和形式,讀者如有任何想法或建議,也可直接發郵件給作者進行討論(作者電子郵件:jzsherlock@163.com)。
本書讀者
本書主要面向的讀者群眾包括深度學習與電腦視覺行業的從業人員,電腦、人工智慧及其相關專業方向的學生,影像處理相關技術的同好與學習者。雖然本書已力求通俗和基礎,但是仍希望讀者在閱讀本書之前具有一定的先修知識,包括Python程式設計基礎知識、簡單的高等數學和矩陣論知識,並對深度學習有一定的了解。當然,也可以在閱讀本書的過程中遇到問題時,有針對性地查閱相關資料作為補充。
致謝
本書講解了大量的經典演算法和比較前端的網路模型方案,在演算法實現過程中也參考了相關論文與官方程式等資料,在此對各位論文作者與研究者的出色工作表示感謝。另外,本書的出版要特別感謝電子工業出版社博文視點的編輯黃愛萍和劉博,兩位老師在選題策劃及稿件審校方面為作者提供了很多專業建議和幫助,在此真誠致謝,這本圖書是我們共同的作品。
最後,還要感謝翻開並閱讀這本書的你,希望你可以在從本書中獲得相關知識和技術的同時,收穫一些對電腦視覺和影像處理領域的啟發。祝閱讀愉快!