isp流程介紹(yuv格式階段)

一、前言介紹

????????前面兩章里面,已經分別講解了在Raw和Rgb域里面,ISP的相關算法流程,從前面文章里面可以看到,在Raw和Rgb域里面,很多ISP算法操作,更像是屬于sensor矯正或者說sensor標定操作。本質上來說,設計的目的上很多是為了改善sensor本身的硬件缺陷。

????????而在Yuv域中,更多一些的是對圖像畫質的增強或者說風格化處理,在設計意義上,與前面Raw和Rgb階段稍微存在一點區別。如前文描述,Rgb圖像經過CSC格式轉換得到YUV圖像,將人眼敏感的亮度信息和不太敏感的顏色信息分離。因此,在Yuv階段整個流程中,可以看作是能夠并行的對亮度通道Y處理,和對顏色通道UV處理。

二、Y通道處理

1、Luma NR

????????Luma NR也就是對亮度通道去噪,其實前面Raw格式階段,已經有去噪模塊,并且有提到,在Raw圖像上去噪,去噪難度上能明顯好于在后端去噪。但是這塊存在歷史問題,以前的ISP設計或者說低端硬件設備上,通常無法集成太強大的復雜去噪算法,這就導致Raw圖像去噪時候,為了保留更多細節,通常并不會做太多或者太強的去噪,導致后面這邊YUV處理時候,需要做進一步的去噪處理。

????????就目前來說,比較好的ISP上,比如最近比較火的AI ISP,通常都集成的相對強大的Raw去噪算法,可以做到在保住盡可能多細節情況,把圖像噪聲基本處理到期望水平。這種情況下Yuv這里,就可以直接把去噪模塊省掉了。

常見的luma NR算法有很多,這里就不詳解列舉了,后面要研究去噪算法時候再慢慢折騰。

如下圖所示:左邊為待去噪圖像,右邊為Luma去噪后圖像,可以看到去噪后圖像上亮噪基本沒了,但是由于沒有UV去噪,導致殘留有大量的色斑。

?

?2、Edge Enhance

????????Edge Enhance某種程度上可以理解成抗噪聲的圖像銳化,期望是在不明顯放大噪聲情況下,對圖像做一些銳度調整,讓圖像清晰度看起來更加符合人眼感覺。需要注意的是:該模塊通常可以明顯提升圖像清晰度,讓圖像紋理更清晰,但是并不能無中生有,生成出圖像上原本沒有的紋理細節。

????????常見的作法有選擇性銳化或者說多尺度銳化,簡單理解就是將輸入圖像分解到不同頻段,在不同頻段做紋理細節或者說邊緣檢測,然后做不同強度的銳化增強,進而得到期望的清晰度增強結果圖像。

????????但是邊緣增強,并不是越強越好,如下圖可以看到,右邊銳化后結果圖像,紅框位置出現了明顯黑白邊異常,因此調整邊緣增強時候,需要主要各個頻段增強系數,避免圖像異常。

????????根據個人經驗來說,這類算法在實現上,最大的難點在于如何抗噪聲干擾,也就是如何保證確實只對連續的邊緣進行了增強,這就需要比較準確的,從噪聲中分離出邊緣細節。但是換句話說,既然都能把噪聲和邊緣細節分離出來,那基本上也就做了和去噪類似的事情。換個角度來說,如果去噪算法足夠好,那么細節增強時候,不用考慮噪聲干擾的話,該算法在設計和實現上,將會變得非常簡單。

?

3、Contrast & Brightness

亮度的定義上:Y圖像上像素值越接近255表示圖像越亮,越接近0表示圖像越暗;

對比度的定義上:假定圖像亮度范圍為[a, b],那么b-a越接近255則表示圖像對比度越強,反之越接近于0,則表示圖像對比度越差。

數字圖像處理上,定義了最常見的亮度/對比度調整公式:g(x)=αf(x)+β, 其中α和β分別表示圖像的對比度和亮度調整強度。

常用的對比度調整算法還有直方圖均衡化,CLAHE等,主要用來控制結果圖像的用戶風格喜好。

簡單效果對比,可以參考如下截圖(左圖為亮度/對比度調整前,右圖為調整后)。

?

三、UV通道處理

1、Chroma NR

????????Chroma NR也就是彩色噪聲去除,它的實現和Luma NR有比較大的區別,最明顯的差異在于人眼對顏色的敏感程度遠小于亮度變化,因此設計UV通道去噪時候,可以不用考慮微弱紋理,只需要保住強邊就好,簡單暴力來說,可以直接使用多尺度的強保邊濾波器進行去噪處理, 另外在不考慮微弱紋理情況下,多幀堆疊對去uv色噪非常友好。當然了,如果是因為awb異常導致的整體色斑偏色或者暗電流整片底噪的話,那當我沒說過。。。

????????需要特別小心2個地方:1、邊緣顏色擴散。2、濾波去噪后uv出現顏色偏差。一般來說,會考慮將y通道信息加入濾波,使用y通道信息作為引導,來改善濾波可能引起的顏色擴散和偏色等問題。

????????具體算法實現的話,等后面有興趣整理這塊時候,在單獨慢慢折騰了。對細節感興趣的話,小伙伴們可以先參考這個:劉斯寧:Understanding ISP Pipeline - Noise Reduction

????????去噪前和去噪后效果對比大致如下,可以看到輸入圖像上色斑基本處理干凈。

?

?2、Hue & Saturation

????????Hue & Saturation主要是在做顏色和飽和度調整,簡單來說就是根據需求,針對性的對圖像不同區域的UV通道信息進行調整。YUV格式之類科普我這里就不做了,需要了解的話,可以參考:YUV格式到底是什么?-騰訊云開發者社區-騰訊云 等資料。

????????具體來說,這里設計的功能,最初主要用來對不同應用場景和不同客戶喜好的風格調整,比如希望顏色更鮮艷一些之類需求。隨著發展逐漸加入了膚色調整(讓膚色還原度更高),天空調整(比如讓天空更藍)等操作,近些年很多還加入了場景適配,簡單理解就是對預覽輸入畫面進行場景識別,比如風景/人像/寵物/美食等,對不同場景適配不同參數,讓對應的場景顏色等維度,分別能都更加符合人眼感官。

????????具體顏色轉換相關細節,這里也不深入講了,后面研究這塊時候慢慢刷再。目前的話,小伙伴們,可以參考:劉斯寧:Understanding Hue and Saturation 等資料

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

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

相關文章

虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框

虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框 code review! 文章目錄 虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框1. 退出編輯器時彈出的“Save Content”窗口2. File 菜單中的保存選項3. 區別總結 1. 退出編輯器時彈出的“Save Content”窗口 退出時…

如何判斷IP是否被平臺標記

一、基礎檢測:連通性與黑名單篩查 網絡連通性測試 Ping與Traceroute:通過命令測試延遲和路由路徑,若延遲>50ms或存在異常節點(如某跳延遲>200ms),可能影響可用性。示例命令: bash ping 8.…

零Gas授權實戰:用線下簽名玩轉智能合約 Permit 機制

目錄 鏈下簽名背景什么是 Permit ?鏈下簽名應用場景Permit 原理簡述實戰:從合約到前端完整實現安全注意事項總結鏈下簽名背景 在以太坊智能合約開發中,很多初學者經常面臨這樣一個問題:ERC20 代幣授權必須先調用鏈上合約的 approve(),再調用鏈上合約的 transferFrom(),每…

React 簡介:核心概念、組件化架構與聲明式編程

本文為《React Agent:從零開始構建 AI 智能體》專欄系列文章。 專欄地址:https://blog.csdn.net/suiyingy/category_12933485.html。項目地址:https://gitee.com/fgai/react-agent(含完整代碼示?例與實戰源)。完整介紹…

LeetCode100.7 接雨水

對于這題&#xff0c;有一個非常直觀簡潔的思路&#xff1a;水量等于柱子圍成的體積減去柱子的體積。 首先計算每一個高度的體積&#xff0c;相加即為總體積&#xff0c;減去sum(height)即為水的體積。 class Solution { public:int trap(vector<int>& height) {in…

NineData 社區版 V4.1.0 正式發布,新增 4 條遷移鏈路,本地化數據管理能力再升級

NineData 社區版 V4.1.0 正式更新發布。本次通過新增 4 條遷移鏈路擴展、國產數據庫深度適配、敏感數據保護增強?等升級&#xff0c;進一步鞏固了其作為高效、安全、易用的數據管理工具的定位。無論是開發測試、數據遷移&#xff0c;還是多環境的數據管理&#xff0c;NineData…

Go 語言 sqlx 庫使用:對 MySQL 增刪改查

MySQL 作為目前最流行的開源關系型數據庫&#xff0c;其 SQL 語法體系已形成行業標準&#xff0c;相關知識體系龐大且成熟&#xff0c;本文不再對 SQL 基礎進行詳細展開&#xff0c;建議尚未掌握的讀者先行系統學習。本文聚焦于如何使用 Go 語言進行 MySQL 數據庫操作&#xff…

單片機-STM32部分:13、PWM

飛書文檔https://x509p6c8to.feishu.cn/wiki/NjhuwbVP7iaEOikVK95cmJNLnWf PWM&#xff08;Pulse Width Modulation&#xff09;脈沖寬度調制&#xff0c;是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。它是把每一脈沖寬度均相等的脈沖列作為PWM波形&am…

抽獎系統-獎品-活動

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言獲取獎品列表前端頁面活動創建需求分析活動創建后端實現1-控制層實現及校驗活動活動創建后端實現2-保存信息活動插入活動獎品插入 整合活動信息存入redis測試活…

Dense 與 MoE 系列模型架構的全面對比與應用策略

0. 簡介 人工智能領域正經歷著一場架構革命&#xff0c;從傳統的密集連接模型&#xff08;Dense&#xff09;向混合專家模型&#xff08;Mixture of Experts, MoE&#xff09;的轉變。本文將全面剖析這兩種模型架構的本質差異、各自優勢與挑戰&#xff0c;并提供戰略性的選擇框…

代碼隨想錄算法訓練營第四十天

LeetCode題目: 647. 回文子串516. 最長回文子序列 其他: 今日總結 往期打卡 647. 回文子串 跳轉: 647. 回文子串 學習: 代碼隨想錄公開講解 問題: 給你一個字符串 s &#xff0c;請你統計并返回這個字符串中 回文子串 的數目。 回文字符串 是正著讀和倒過來讀一樣的字符串。…

Supabase 的入門詳細介紹

Supabase 是什么&#xff1f; 簡單來說&#xff0c;Supabase 是一個開源的 Firebase 替代品。它提供了一整套后端即服務 (BaaS - Backend as a Service) 的工具&#xff0c;讓你能夠快速構建應用程序的后端&#xff0c;而無需自己從頭搭建和管理服務器、數據庫等基礎設施。 S…

【MySQL】mysql/bin目錄下程序介紹

&#x1f525;個人主頁&#xff1a; 中草藥 &#x1f525;專欄&#xff1a;【MySQL】探秘&#xff1a;數據庫世界的瑞士軍刀 MySQL在安裝完成后&#xff0c;通常會包含以下程序&#xff0c;以Ubuntu上的mysql為例&#xff0c;我們可以查看到 以下是常用的mysql程序 程序名作用…

IDEA+git將分支合并到主分支、IDEA合并分支

文章目錄 一、合并分支二、可能遇到的問題2.1、代碼沖突 開發過程中我們可能在開發分支(dev)中進行開發&#xff0c;等上線后將代碼合并到主分支(master)中&#xff0c;本文講解如何在IDEA中將dev分支的代碼合并到master分支中。 一、合并分支 功能說明&#xff1a;將dev分支的…

通過Ollama讀取模型

通過Ollama讀取模型 前言一、查看本地Ollama上有哪些模型二、調用bge-m3模型1、調用模型2、使用bge-m3進行相似度比較 三、調用大模型 前言 手動下載和加載大模型通常需要復雜的環境配置&#xff0c;而使用Ollama可以避免這一問題。本文將介紹如何調用Ollama上的模型。 一、查…

JS 中 Object.keys() 和 Object.values() 的深度解析與應用

文章目錄 前言一、Object.keys() 和 Object.values() 基礎1. Object.keys()2. Object.values() 二、與 Object.entries() 的對比三、實際應用場景1. 遍歷對象屬性2. 判斷對象是否為空3. 對象與數組的轉換4. 動態屬性操作5. 過濾對象屬性 總結 前言 在 JavaScript 開發中&#…

HCIP(BFD)

一、前言 隨著網絡應用的廣泛部署,網絡發生故障極大可能導致業務異常。為了減小鏈路、設備故障對業 務的影響,提高網絡的可靠性,網絡設備需要盡快檢測到與相鄰設備間的通信故障,以便及時采取措施,保證業務正常進行。BFD(Bidirectional Forwarding Detection,雙向轉發檢測)提供…

Webpack其他插件

安裝html打包插件 const path require(path); const HtmlWebpackPlugin require(html-webpack-plugin) module.exports {entry: path.resolve(__dirname,src/login/index.js),output: {path: path.resolve(__dirname, dist),filename: ./login/index.js,clean:true},Plugin:…

【Linux網絡】網絡層

網絡層 在復雜的網絡環境中確定一個合適的路徑 IP 協議 IPV4 點分十進制[0,255].[0,255].[0,255].[0,255]IPV6 IP地址目標網格目標主機 基本概念 主機:配有IP地址,但是不進行路由控制的設備;路由器:即配有IP地址,又能進行路由控制;節點:主機和路由器的統稱。 兩個問題 路…

跨域的幾種方案

因為瀏覽器出于安全考慮&#xff0c;有同源策略。也就是說&#xff0c;如果協議、域名、端口有一個不同就是跨域&#xff0c;Ajax 請求會失敗。 我們可以通過以下幾種常用方法解決跨域的問題 JSONP JSONP 的原理很簡單&#xff0c;就是利用 <script> 標簽沒有跨域限制…