參考:
1.燙手的洋芋 https://www.zhihu.com/question/24406900/answer/42875785
2.酒杯怎么空了 https://blog.csdn.net/xiaoyouck?t=1
概述
影響camera最終效果有以下幾個(gè)方面:
1崎脉、硬件
image sensor:供應(yīng)商有Sony、OV诞挨、Samsung等,決定攝像頭的像素呢蛤、感光能力等惶傻;
鏡頭:決定攝像頭的光圈、解析度其障;
ISP:決定數(shù)據(jù)處理速度银室,會(huì)對(duì)幀率有影響;
2励翼、算法
由AP供應(yīng)商提供蜈敢,一般的手機(jī)公司不會(huì)動(dòng);
3抚笔、Tuning
修改算法的參數(shù),讓畫質(zhì)達(dá)到最優(yōu)侨拦。
選定了硬件之后殊橙,能提升畫質(zhì)的工作就只有tuning了,通過不斷的權(quán)衡tuning參數(shù),讓camera在主觀效果和客觀效果方面都有較好的表現(xiàn)膨蛮,tuning的工作就完成了叠纹。
Tuning
Black Level Calibration
黑電平(Black Level Correction)也就是黑色的最低點(diǎn),以8bit數(shù)據(jù)來說敞葛,指在經(jīng)過一定校準(zhǔn)的顯示裝置上誉察,沒有一行光亮輸出的視頻信號(hào)電平。定義圖像數(shù)據(jù)為0時(shí)對(duì)應(yīng)的信號(hào)電平惹谐。
校正原因
那么為什么要進(jìn)行黑電平校正呢持偏?原因如下:
- CMOS傳感器采集的信息經(jīng)過一系列轉(zhuǎn)換生成原始RAW格式數(shù)據(jù)。以8bit數(shù)據(jù)為例氨肌,單個(gè)pixel的有效值是0~255鸿秆,但是實(shí)際AD芯片(模數(shù)轉(zhuǎn)換芯片)的精度可能無法將電壓值很小的一部分轉(zhuǎn)換出來,因此怎囚,sensor廠家一般會(huì)在AD的輸入之前加上一個(gè)固定的偏移量卿叽,使輸出的pixel value在5(非固定)~255之間,目的是為了讓暗部的細(xì)節(jié)完全保留恳守,當(dāng)然同時(shí)也會(huì)損失一些亮部細(xì)節(jié)考婴,由于對(duì)于圖像來說,我們的關(guān)注度更傾向于暗部區(qū)域催烘,ISP后面會(huì)有很多增益模塊(LSC沥阱、AWB、Gamma等)颗圣,因此亮區(qū)的一點(diǎn)點(diǎn)損失是可以接受的喳钟。
- sensor的電路本身會(huì)存在暗電流,導(dǎo)致在沒有光線照射的時(shí)候在岂,像素單位也有一定的輸出電壓奔则,暗電流這個(gè)東西跟曝光時(shí)間和gain都有關(guān)系,不同的位置也是不一樣的蔽午。因此在gain增大的時(shí)候易茬,電路的增益增大,暗電流也會(huì)增強(qiáng)及老,因此很多ISP會(huì)選擇在不同gain下減去不同的bl的值抽莱。
校正
? 現(xiàn)在的主流cmos sensor都是自己把black level已經(jīng)處理完了。在isp部分減掉的其實(shí)不是black level骄恶,而是sensor統(tǒng)一做出來的pedestal食铐。sensor端不會(huì)將bl減完,因?yàn)閟ensor輸出不能為負(fù)數(shù)僧鲁,若將bl減完虐呻,就等于小于0的部分直接就丟掉了象泵,這樣做會(huì)改變noise的分布。
算法
一般BLC模塊會(huì)放在ISP比較靠前的位置斟叼,因?yàn)槲覀兿M麍D像在進(jìn)入其他模塊之前能夠還原最為真實(shí)的圖像偶惠。有些sensor會(huì)在sensor內(nèi)部集成BLC的模塊,那么此時(shí)ISP里的BLC模塊只做微調(diào)即可朗涩。
由于硬件設(shè)計(jì)人員在設(shè)計(jì)BLC模塊時(shí)需要考慮效果和成本忽孽,因此目前市場上使用的ISP一般采用的方法是在sensor輸出的圖像上減去一個(gè)數(shù)值。
BLC各個(gè)通道均需要校正谢床,目前比較常用的方法有:
- 中值
- 全局均值
- 局部均值
- 自定義
Lens Shade Calibration
簡介
鏡頭陰影校正(Lens Shading Correction)是為了解決由于lens的光學(xué)特性兄一,由于鏡頭對(duì)于光學(xué)折射不均勻?qū)е碌溺R頭周圍出現(xiàn)陰影的情況。
shading可以細(xì)分為luma shading和color shading:
- luma shading:
由于Lens的光學(xué)特性萤悴,Sensor影像區(qū)的邊緣區(qū)域接收的光強(qiáng)比中心小瘾腰,所造成的中心和四角亮度不一致的現(xiàn)象。鏡頭本身就是一個(gè)凸透鏡覆履,由于凸透鏡原理蹋盆,中心的感光必然比周邊多。
- chrom/color shading:
由于各種顏色的波長不同硝全,經(jīng)過了透鏡的折射栖雾,折射的角度也不一樣,因此會(huì)造成color shading的現(xiàn)象伟众,這也是為什么太陽光經(jīng)過三棱鏡可以呈現(xiàn)彩虹的效果析藕。
此外,還有CRA的原因會(huì)導(dǎo)致shading現(xiàn)象的出現(xiàn)凳厢。
校正
lens shading的校正是分別對(duì)于bayer的四個(gè)通道進(jìn)行校正账胧,每個(gè)通道的校正過程是相對(duì)獨(dú)立的過程。
考慮到芯片設(shè)計(jì)的成本先紫,因此一般情況下不會(huì)存儲(chǔ)整幅圖像的lut治泥,目前主流的都是存儲(chǔ)128*128個(gè)點(diǎn)的增益,利用雙線性插值的方法計(jì)算每個(gè)pixel的增益遮精。
算法
- 網(wǎng)格校正
- 最小模型建模
Color Calibration
拍攝color checker24色板居夹,將相機(jī)拍攝圖片值與色板標(biāo)準(zhǔn)值之間進(jìn)行對(duì)比(RGB顏色空間),得出一組能將拍攝值校正到最接近標(biāo)準(zhǔn)值的3x3矩陣本冲。通過這個(gè)矩陣對(duì)所有相機(jī)拍攝的圖片進(jìn)行顏色校正
Noise Calibration
去噪准脂。采用特定的LPF(Low Pass Filter)對(duì)圖片進(jìn)行濾波,濾除圖像的噪聲成分檬洞,而Bilateral filtering即雙邊濾波器狸膏,它是一種保護(hù)邊緣的平滑濾波器,這樣既可以濾除噪聲添怔,edge又可以保留下來湾戳。
總結(jié)
? 上面只是列舉了很少一部分的tuning項(xiàng)闷板,實(shí)際上有非常多的tuning項(xiàng)目。camera tuning是由專門的tuning工程師來調(diào)試的院塞。下圖是一張tuning 工程師大概需要掌握的知識(shí)和技能。
? 作為android驅(qū)動(dòng)或者系統(tǒng)工程師性昭,只需要大概了解這些校正項(xiàng)的成因拦止,現(xiàn)象就可以了。這樣在調(diào)試攝像頭出現(xiàn)問題時(shí)有助于我們快速定位屬于那一類問題糜颠,并了解大致的原因和解決方法汹族。
個(gè)人博客:https://www.letcos.top/