日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Android Camera】ISP算法處理

 托尼虎 2019-12-10

前言:

本篇blog主要為講述ISP處理流程及其應(yīng)用場景。

一、概述

ISP(Image Signal Processor), 即圖像信號處理, 主要作用是對前端圖像傳感器輸出的信號做后期處理, 依賴于 ISP 才能在不同的光學(xué)條件下都能較好的還原現(xiàn)場細節(jié)。

Cmos YUV sensor 的 ISP 處理流程如圖 1 所示:


景物通過 Lens 生成的光學(xué)圖像投射到 sensor 表面上, 經(jīng)過光電轉(zhuǎn)換為模擬電信號, 消噪聲后經(jīng)過 A/D 轉(zhuǎn)換后變?yōu)閿?shù)字圖像信號, 再送到數(shù)字信號處理芯片( DSP) 中加工處理。所以,從 sensor 端過來的圖像是 Bayer 圖像,經(jīng)過黑電平補償 ( black level compensation)、鏡頭矯正 ( lens shading correction)、壞像素矯正 ( bad pixel correction)、顏色插值 ( demosaic)、Bayer 噪聲去除、 白平衡( awb) 矯正、 色彩矯正( color correction) 、 gamma 矯正、 色彩空間轉(zhuǎn)換( RGB 轉(zhuǎn)換為 YUV) 、 在 YUV 色彩空間上彩噪去除與邊緣加強、 色彩與對比度加強,中間還要進行自動曝光控制等, 然后輸出 YUV( 或者 RGB) 格式的數(shù)據(jù), 再通過 I/O 接口傳輸?shù)?CPU 中處理。

以下對各個模塊的處理算法做簡要概述。


1.Bayer 

圖像在將實際的景物轉(zhuǎn)換為圖像數(shù)據(jù)時, 通常是將傳感器分別接收紅、 綠、 藍三個分量的信息, 然后將紅、 綠、 藍三個分量的信息合成彩色圖像。 該方案需要三塊濾鏡, 這樣價格昂貴,且不好制造, 因為三塊濾鏡都必須保證每一個像素點都對齊。

通過在黑白 cmos 圖像傳感器的基礎(chǔ)上, 增加彩色濾波結(jié)構(gòu)和彩色信息處理模塊就可以獲得圖像的彩色信息, 再對該彩色信息進行處理, 就可以獲得色彩逼真的彩色圖像。通常把彩色圖像傳感器表面覆蓋的濾波稱為彩色濾波陣列( Color Filter Arrays, CFA) 。

目前最常用的濾鏡陣列是棋盤格式的, 已經(jīng)有很多種類的, 其中絕大多數(shù)的攝像產(chǎn)品采用的是原色貝爾模板彩色濾波陣列( Bayer Pattern CFA) , 如圖 2 所示, R、 G、 B 分別表示透紅色、 透綠色和透藍色的濾鏡陣列單元, 圖 3 比較形象地展示了此過程。由于人的視覺對綠色最為敏感, 所以在 Bayer CFA 中 G 分量是 R 和 B 的二倍, 在每個像素點上只能獲取一種色彩分量的信息,然后根據(jù)該色彩分量的信息通過插值算法得到全色彩圖像。

2.BLC(Black level Correction)

a.暗電流

物理器件不可能是理想的, 由于雜質(zhì)、 受熱等其他原因的影響, 即使沒有光照射到象素,
象素單元也會產(chǎn)生電荷, 這些電荷產(chǎn)生了暗電流。 而且, 暗電流與光照產(chǎn)生的電荷很難進行
區(qū)分。

b.Black Level

Black Level 是用來定義圖像數(shù)據(jù)為 0 時對應(yīng)的信號電平。由于暗電流的影響, 傳感器出來的實際原始數(shù)據(jù)并不是我們需要的黑平衡( 數(shù)據(jù)不為0) 。 所以,為減少暗電流對圖像信號的影響,可以采用的有效的方法是從已獲得的圖像信號中減去參考暗電流信號。一般情況下, 在傳感器中, 實際像素要比有效像素多, 如下圖所示, 像素區(qū)頭幾行作為不感光區(qū)( 實際上, 這部分區(qū)域也做了 RGB 的 color filter) , 用于自動黑電平校正, 其平均值作為校正值, 然后在下面區(qū)域的像素都減去此矯正值, 那么就可以將黑電平矯正過來了。

下面所列圖是做了black level矯正與沒做black level 矯正的對比, 很明顯, 左邊沒做black level矯正的圖片會比較亮, 影響圖像的對比度:

3.LSC(Lens Shading Correction)

由于鏡頭本身的物理性質(zhì), 造成圖像四周亮度相對中心亮度逐漸降低, 以及, 如下圖所示, 由于圖像光照在透過鏡頭照射到 pixel 上時, 邊角處的焦點夾角大于中心焦點夾角, 造成邊角失光。 表現(xiàn)在圖像上的效果就是亮度從圖像中心到四周逐漸衰減, 且離圖像中心越遠亮度越暗。 為了補償四周的亮度, 需要進行 Lens Shading 的矯正。

Lens Shading 的矯正的方法是根據(jù)一定的算法計算每個像素對應(yīng)的亮度矯正值, 從而補償周邊衰減的亮度。 

矯正方法有二次項矯正、 四次項矯正。

4.BPC(Bad Pixel Correction)

a.壞點

壞點為全黑環(huán)境下輸出圖像中的白點, 高亮環(huán)境下輸出圖像中的黑點。

b.壞點修復(fù)方法

一般情況下, RGB 信號應(yīng)與景物亮度呈線性響應(yīng)關(guān)系, 但由于 Senor 部分 pixel 不良導(dǎo)致輸出的信號不正常, 出現(xiàn)白點或黑點。


壞點修復(fù)方法通常有兩種:

一種是自動檢測壞點并自動修復(fù), 另一種是建立壞點像素鏈表進行固定位置的壞像素點修復(fù), 這種方式是 OTP 的方式。

c.壞像素矯正原理

下面以自動檢測壞點修復(fù)方法為例, 闡述壞像素矯正算法原理。

5.顏色插值

當光線通過 BayerCFAColor Filter Arrays) 陣列之后, 單色光線打在傳感器上, 每個像素都為單色光, 從而理想的Bayer 圖是一個較為昏暗的馬賽克圖。

6.Bayer Denoise

使用 cmos sensor獲取圖像,光照程度和傳感器問題是生成圖像中大量噪聲的主要因素。同時, 當信號經(jīng)過ADC時, 又會引入其他一些噪聲。 這些噪聲會使圖像整體變得模糊, 而且丟失很多細節(jié), 所以需要對圖像進行去噪處理空間去噪傳統(tǒng)的方法有均值濾波、 高斯濾波等。

但是, 一般的高斯濾波在進行采樣時主要考慮了像素間的空間距離關(guān)系, 并沒有考慮像素值之間的相似程度, 因此這樣得到的模糊結(jié)果通常是整張圖片一團模糊。 所以, 一般采用非線性去噪算法, 例如雙邊濾波器, 在采樣時不僅考慮像素在空間距離上的關(guān)系, 同時加入了像素間的相似程度考慮, 因而可以保持原始圖像的大體分塊, 進而保持邊緣。 


7.AWB(Automatic White Balance)

白平衡的基本原理是在任意環(huán)境下, 把白色物體還原成白色物體, 也就是通過找到圖像中的白塊, 然后調(diào)整R/G/B的比例, 如下關(guān)系:
R= R * R_Gain
G
= G * G_Gain
B
= B * B_Gain
R
= G= B

AWB 算法通常包括的步驟如下:

(1)色溫統(tǒng)計: 根據(jù)圖像統(tǒng)計出色溫;

(2)計算通道增益: 計算出RB通道的增益;

(3)進行偏色的矯正: 根據(jù)給出的增益, 算出偏色圖像的矯正。

8.Color Correction

由于人類眼睛可見光的頻譜響應(yīng)度和半導(dǎo)體傳感器頻譜響應(yīng)度之間存在差別,還有透鏡等的影響, 得到的RGB值顏色會存在偏差, 因此必須對顏色進行校正, 通常的做法是通過一個3x3的顏色變化矩陣來進行顏色矯正。 

9.Gamma Correction

人眼對外界光源的感光值與輸入光強不是呈線性關(guān)系的, 而是呈指數(shù)型關(guān)系的。 在低照度下, 人眼更容易分辨出亮度的變化, 隨著照度的增加, 人眼不易分辨出亮度的變化。 而攝像機感光與輸入光強呈線性關(guān)系, 為方便人眼辨識圖像, 需要將攝像機采集的圖像進行g(shù)amma 矯正。

Gamma 矯正是對輸入圖像灰度值進行的非線性操作, 使輸出圖像灰度值與輸入圖像灰度值呈指數(shù)關(guān)系:

Vout =AVin

這個指數(shù)就是 Gamma, 橫坐標是輸入灰度值, 縱坐標是輸出灰度值, 藍色曲線是 gamma 值小于 1 時的輸入輸出關(guān)系, 紅色曲線是 gamma 值大于 1 時的輸入輸出關(guān)系。 可以觀察到, 當 gamma 值小于 1 時(藍色曲線), 圖像的整體亮度值得到提升, 同時低灰度處的對比度得到增加, 更利于分辯低灰度值時的圖像細節(jié)。


10.
色彩空間轉(zhuǎn)換

YUV 是一種基本色彩空間, 人眼對亮度改變的敏感性遠比對色彩變化大很多, 因此, 對于人眼而言, 亮度分量Y要比色度分量U、V重要得多。 所以, 可以適當?shù)貟仐壊糠?/span>U、V分量, 達到壓縮數(shù)據(jù)的目的。

Laplacian 算子

YCbCr 其實是YUV經(jīng)過縮放和偏移的改動版,Y表示亮度,Cr、Cb表示色彩的色差, 分別是紅色和藍色的分量。 在YUV家族中,YCbCr是在計算機系統(tǒng)中應(yīng)用最多的成員, 其應(yīng)用領(lǐng)域很廣泛,JPEG、MPEG均采用此格式。 一般人們所講的YUV大多是指YCbCr。YCbCr有許多取樣格式,。

444,422,411420。

RGB 轉(zhuǎn)換為YCbCr的公式如下:

r 0.5 0.4178 0.0813 128

b 0.1678 0.33113 0.5 128

0.299 0.587 0.114

C R G B

C R G G

Y R G B

色彩空間轉(zhuǎn)換這個模塊, 是將RGB轉(zhuǎn)換為 YUV444, 然后在YUV色彩空間上進行后續(xù)的彩色噪聲去除、 邊緣增強等, 也為后續(xù)輸出轉(zhuǎn)換為jpeg圖片提供方便。

11.Color Denoise

為了抑制圖像的彩色噪聲, 一般采用低通濾波器進行處理。 例如使用M×N的高斯低通濾波器在色度通道上進行處理。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多