2019-05-29開始二師父的教程camera教程

Lens一般由幾片透鏡組成透鏡結(jié)構(gòu),按材質(zhì)可分為塑膠透鏡(plastic)或玻璃透鏡(glass),玻璃鏡片比樹脂鏡片貴。塑膠透鏡其實(shí)是樹脂鏡片,透光率和感光性等光學(xué)指標(biāo)比不上鍍膜鏡片。
通常攝像頭采用的鏡頭結(jié)構(gòu)有:1P、2P、1G1P、1G2P、2G2P、2G3P、4G、5G等。透鏡越多,成本越高,相對成像效果會更出色(個人理解是光線更均勻、更細(xì)致;對光線的選通更豐富;成像畸變更小,但是會導(dǎo)致鏡頭變長,光通量變小)。

這是攝像頭里,光學(xué)鏡片材質(zhì)以及數(shù)量組成的描述。
攝像頭用的鏡頭構(gòu)造有:1P、2P、3P、4P、5P、1G1P、1G2P、2G2P、2G3P、 4G、5G 等。數(shù)字代表鏡片數(shù)量,G代表玻璃材質(zhì),效果很好,價(jià)格較高,P代表塑料材質(zhì),效果一般,價(jià)格便宜。比如3G要比3P好,3G2P要比2G2P好。
鏡片越多,成像效果會更出色,成本也會越高。因此一個品質(zhì)好的攝像頭應(yīng)該是采用多層玻璃鏡頭。 現(xiàn)在市場上的多數(shù)攝像頭產(chǎn)品為了降低成本, 一般會采用廉價(jià)的塑膠鏡頭 或一玻一塑鏡頭(即: 1P、2P、1G1P、1G2P 等)
DSP是CCM的重要組成部分,它的作用是將感光芯片獲得的數(shù)據(jù)及時地快速地傳遞到中央處理器并刷新感光芯片,因此DSP芯片的好壞,直接影響畫面品質(zhì),如:色彩飽和度、清晰度、流暢度等。如果sensor沒有集成DSP,則通過DVP的方式傳輸?shù)絙aseband芯片中(可以理解為外掛DSP),進(jìn)入DSP的數(shù)據(jù)是RAW Data,采集到的原始數(shù)據(jù)。如果集成了DSP,則RAW Data會經(jīng)過AWB、color matrix、lens shading、gamma、sharpness、AE和de-noise處理,最終輸出YUV或者RGB格式的數(shù)據(jù)。

DVP分為三個部分:輸出總線;輸入總線;電源總線;如下圖:

=
image

PWDN

是camera的使能管腳,有兩種配置方式,一種為standby,一種是normal work,設(shè)置為standby的時候,一切對camera的操作都是無效的,包括復(fù)位。所以在RESET之前,一定要將PWDN管腳設(shè)置為normal模式,否則RESET無效。

RESET

是camera的復(fù)位管腳,此方式為硬復(fù)位模式,camera的各個IO口恢復(fù)到出廠默認(rèn)狀態(tài)。只有在XCLK開啟后,將RESET置為低,硬復(fù)位才有效,否則復(fù)位無效。

XCLK

是camera的工作時鐘管腳,此管腳為BB提供camera的工作時鐘。

IIC

是camera和BB通信的總線通道。

DATA

data為camera的數(shù)據(jù)管腳。此數(shù)據(jù)腳可以輸出的格式有YUV、RGB、JPEG等。

VSYNC

為camera的幀同步信號管腳。一個VYSNC信號結(jié)束表示一幀(即一個畫面)的數(shù)據(jù)已經(jīng)輸出完畢。

HSYNC

為camera行同步信號管腳。一個HSYNC信號結(jié)束表示一行的數(shù)據(jù)已經(jīng)輸出完畢。

PCLK

為像素同步信號管腳。一個PCLK信號結(jié)束表示一個像素點(diǎn)的數(shù)據(jù)已經(jīng)輸出完畢。

AVDD

AVDD為camera的模擬電壓。

DOVDD

為camera的GPIO口數(shù)字電壓。

DVDD

為camera的核工作電壓。

彩色深度(色彩位數(shù))

反映對色彩的識別能力和成像的色彩表現(xiàn)能力,實(shí)際就是A/D轉(zhuǎn)換器的量化精度,是指將信號分成多少個等級。常用色彩位數(shù)(bit)表示。彩色深度越高,獲得的影像色彩就越艷麗動人。現(xiàn)在市場上的攝像頭均已達(dá)到24位,有的甚至是32位。

MCLK

攝像頭要 工作,必須要有個時鐘進(jìn)行同步,這個時鐘就是MCLK,必須要有,否則攝像頭就是一個死物,這個時鐘由主控芯片提供,確切的說是有主控芯片的控制器提供,下面會提到。
根據(jù)亮度/照度指數(shù)進(jìn)行調(diào)試的AEC調(diào)試參數(shù)都可以使用該策略,使用該策略,可以靈活地通過觸發(fā)點(diǎn)分割亮度區(qū)域的數(shù)量,每個區(qū)域都將分配到參數(shù)調(diào)試值。在照度指數(shù)處于兩個區(qū)域之間時,所有參數(shù)將通過插值計(jì)算得出。
例如featureA包含param1、param2、param3和param4四個參數(shù)。在這四個參數(shù)內(nèi),需要根據(jù)亮度\照度指數(shù)來調(diào)試param1和param2??筛鶕?jù)偏好定義調(diào)試區(qū)數(shù)量,但是不應(yīng)該超過調(diào)試區(qū)預(yù)定義的最大區(qū)域數(shù)量,將兩個必須根據(jù)照度指數(shù)/場景亮度進(jìn)行調(diào)試的參數(shù)組合到一個子結(jié)構(gòu)中,該子結(jié)構(gòu)定義為主調(diào)試結(jié)構(gòu)中的一個數(shù)組。將另外兩個無需基于區(qū)域進(jìn)行調(diào)試的參數(shù)直接插入主調(diào)試結(jié)構(gòu)。
AEC算法依賴于攝像頭傳感器特定的曝光表,借其以了解如何配置該傳感器從而控制感光度,曝光表從指數(shù)0開始,該指數(shù)對應(yīng)幀率不變情況下可能的最低感光度。此設(shè)置適用于非常明亮的光源條件下。該曝光表以幀率不變情況下可能的最高感光度指數(shù)結(jié)束。通常將這一最大指數(shù)設(shè)置為傳感器的全畫幅曝光時間和允許的最大增益。曝光表指數(shù)每增大一級,感光度將隨之變化3%。
400 lux 光源條件的照度指數(shù)“l(fā)ux_idx_under_400”
Trigger[0].start = lux_idx_under_400-100
Trigger[0].end = lux_idx_under_400-60
Trigger[1].start = lux_idx_under_400 + 90
Trigger[1].end = lux_idx_under_400 + 160

 /* AWB Reference Points */
      {
         /* D65 AWB Reference Point */
         {
            0.383700f, /* R/G ratio */
            0.781200f, /* B/G ratio */
         },
         /* Shade AWB Reference Point */
         {
            0.341800f, /* R/G ratio */
            0.832900f, /* B/G ratio */
         },
         /* A AWB Reference Point */
         {
            0.696800f, /* R/G ratio */
            0.436700f, /* B/G ratio */
         },
         /* TL84 AWB Reference Point */
         {
            0.524900f, /* R/G ratio */
            0.508300f, /* B/G ratio */
         },

AWB 基礎(chǔ)調(diào)試代碼跟換點(diǎn)。

image.png

拖動滑塊調(diào)整相應(yīng)的指數(shù),室內(nèi)指數(shù)與室外指數(shù)只差必須大于80,避免AWB突然變化。

  /* Indoor Color Correction */
      {
         /* D65 */
         {
            1, /* Enable */
            /* D65 */
            {
               1.645500f,    -0.721500f,    0.076100f,
               -0.157900f,    1.317100f,    -0.159300f,
               0.086700f,    -0.699900f,    1.613100f,
               0,    0,    0,
               0
            },
         },
         /* D50 */
         {
            1, /* Enable */
            /* D50 */
            {
               1.727600f-0.1,    -0.764600f+0.05,    0.037000f+0.05,
               -0.186600f+0.05,    1.293300f-0.1,    -0.106700f+0.05,
               0.040800f+0.05,    -0.813000f+0.05,    1.772200f-0.1,
               0,    0,    0,
               0
            },

在3A文件的3370行是color correction gamma調(diào)試模塊參數(shù)更改位置。

ABF調(diào)試

bright light 使用1000Lux tl84MCC色卡。
normal light 使用200luxtl84MCC色卡。
lowlight 使用10lux及1000lux*Tl84MCC色卡。
對于lowlight調(diào)試,chromatix會通過1000luxMCC色卡RAW圖片計(jì)算應(yīng)用于lowlight圖片的gain值。


image.png

ABF 可在降噪的同時不鈍化邊緣。

小波降噪

需要TL84條件下拍攝的1000-10lux的raw圖。

  • 對于region 5和6,Chromatix6會通過1000 lux
    MCC色卡Raw圖片來計(jì)算應(yīng)用于Lowlight圖像的gain值
    在AEC調(diào)試開始,應(yīng)該使用chromatix工具執(zhí)行以下步驟:
    1.黑電平 2.線性度 3.鏡頭衰減 4.gamma校正。在isp tuning選項(xiàng)卡上點(diǎn)擊edit chromatix data。在header選項(xiàng)卡上選擇VFE Blocks > Luma Adaptation > Luma Adaptation Enable,并驗(yàn)證該值是否為 0(禁用)。

亮區(qū)

在AEC Fine Tuning選項(xiàng)卡上,打開 bright region tuning面板。清除enable復(fù)選框。
在3A頭文件里搜索 AEC Bright Region */關(guān)鍵詞就是亮區(qū)的更改點(diǎn)。

暗區(qū)

在 AEC Fine Tuning選項(xiàng)卡上,打開 dark region tuning。取消選中enable復(fù)選框。

平面場景檢測

在AEC Fine Tuning選項(xiàng)卡上,點(diǎn)擊 Edit Header。在3A選項(xiàng)卡上,選擇AEC>Flat Region>Flat Scene Detection,并驗(yàn)證該值是否為0。

極限色檢測和亮度調(diào)整

在AEC Fine Tuning 選項(xiàng)卡上,打開 EXtreme Color Tuning 面板。
取消選中enable 復(fù)選框。

直方圖AEC亮度調(diào)整在AEC Fine Tuning選項(xiàng)卡上,打開Histogram Metering Tunning 面板。取消選中 enable復(fù)選框。調(diào)試過程中使用的所有圖像必須由待調(diào)試的設(shè)備進(jìn)行拍攝。

基于多區(qū)域的通用AEC調(diào)試

基于多區(qū)域的通用AEC調(diào)試將在chromatix 0x308頭文件中引入,該調(diào)試策略用于包括以下功能在內(nèi)的許多AEC功能。
1.亮區(qū)目標(biāo)、亮區(qū)、暗區(qū)、直方圖目標(biāo)調(diào)整、極限色
任何根據(jù)亮度/照度指數(shù)進(jìn)行調(diào)試的AEC調(diào)試參數(shù)都可使用策略,使用該策略,可以靈活的通過觸發(fā)點(diǎn)分割亮度區(qū)域的數(shù)量,每個區(qū)域都將分配到參數(shù)調(diào)試值,在照度指數(shù)處于兩個區(qū)域之前時,所有參數(shù)將通過插值計(jì)算得出。

/* WLED Trigger /
{
410, /
LED Trigger Start Lux Index /
50, /
LED Trigger End Lux Index */
},

增大該值可以再更暗的場景中觸發(fā)LED閃光燈。減少該值可以在更亮的場景中觸發(fā)LED閃光燈。

/* Fast Convergence /
{
0, /
Frame Skip /
0.100000f, /
Aggressiveness /
/
Reserved */
{
0.200000f, 0.400000f, 1.500000f, 1.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f
}
},

在aggressive字段中介于0到1之間的值,數(shù)值越小,AE速度越快,建議默認(rèn)值為0.8。
在frame skip字段輸入相應(yīng)值,默認(rèn)值為0,如果跳幀值不為0。禁用local tone mapping 以避免預(yù)覽模式中出現(xiàn)亮度閃爍。
跳幀基于傳感器曝光作用時序,在之前的圖像幀曝光更新尚未統(tǒng)計(jì)數(shù)據(jù)前,如果再次執(zhí)行曝光更新,則可能出現(xiàn)AEC震蕩,將AEC Fast Convergence的值改為1即可以解決該問題。
將攝像頭對準(zhǔn)由亮到暗的場景,然后對準(zhǔn)由暗到亮的場景,驗(yàn)證預(yù)覽收斂調(diào)試效果。不要調(diào)試reserved參數(shù),而是使用默認(rèn)值。

調(diào)試室內(nèi)室外指數(shù)

室內(nèi)和室外指數(shù)參數(shù)區(qū)分室內(nèi)室外,以及日光直射與陰天/暗光條件
AWB 參考點(diǎn)指的是不同光源的灰色 R/G 和 B/G 比率。灰色的參考點(diǎn)用來為 AWB 計(jì)算確定灰區(qū)。由于頻譜靈敏度的原因,每個sensor模塊的 R/G 和 B/G 比率都不盡相同。需要針對每個sensor模塊進(jìn)行參考點(diǎn)校準(zhǔn)。

  如果使用基準(zhǔn)圖片調(diào)試對 ISP 模塊進(jìn)行初始調(diào)試,基準(zhǔn)圖片調(diào)試過程會根據(jù)載入到圖像庫中的圖像自動計(jì)算出 AWB 參考點(diǎn),但是這種方式自動計(jì)算出來的參考點(diǎn)沒有抓取log得到參考點(diǎn)準(zhǔn)確。

   抓取log的方式如下:

adb root

adb remount

adb wait-for-device

adb shell setprop persist.vendor.camera.stats.awb.debug 5

adb logcat | findstr "simple-grey-world"

在燈箱D75、D65、D50、TL84、A、U30、CWF光源下對準(zhǔn)灰卡,使得灰卡占相機(jī)整個FOV,抓取參考點(diǎn)

將這些參考點(diǎn)填寫到3A頭文件中reference point結(jié)構(gòu)體對應(yīng)的光源中,noon和custom daylight可以與D50光下咋參考點(diǎn)一致,custom A可以與A光一致,如果需要也可以單獨(dú)去抓取這些參考點(diǎn)。

AF理解:

image.png

ISP通過IIC控制驅(qū)動芯片。10bit數(shù)據(jù)位,對應(yīng)0-1023DAC code值,驅(qū)動芯片根據(jù)IIC數(shù)據(jù),識別對應(yīng)sink VCM回路電流,不同電流值,產(chǎn)生不同推力推動鏡頭,0-1023code代表0mA電流——max mA電流,線性關(guān)系。
ISP通過控制DAC code值來改變輸出電流值的大小,而ISP就是通過清晰度來判斷給多少DAC值。


image.png

馬達(dá)驅(qū)動芯片輸出多大的電流都是由后端來控制。當(dāng)后端平臺給出一點(diǎn)運(yùn)動指令,馬達(dá)就會帶著鏡頭向目的奔去。由于音圈馬達(dá)內(nèi)固定經(jīng)鏡頭的載體采用彈片固定,所以在到達(dá)指定的位置后,由于彈片受力的因素,需要震蕩一段時間之后才會穩(wěn)定。馬達(dá)驅(qū)動芯片在設(shè)計(jì)的時候,就引入一個叫做快速穩(wěn)定的功能。

調(diào)試觸控式AEC

觸控式AEC可根據(jù)預(yù)覽顯示屏幕的特定觸摸區(qū)域來修改亮度測光權(quán)重,

1, /* ROI Enable /1用0不用
0.700000f, /
Weight /均衡選定UI區(qū)域的亮度和正常AEC亮度。/
/* Reserved */
{
0.000000f, 1.000000f, 0.500000f, 0.000000f, 0.000000f
}
},

光源權(quán)重

光源權(quán)重向量的基本假設(shè)是:在某些對應(yīng)的亮度范圍內(nèi),光源有很大概率被判定為特定樣本。例如,在曝光指數(shù)較低的明亮環(huán)境下,光源被判定為A樣本的可能性非常低。而與之相反,在曝光指數(shù)較低的日光環(huán)境下,光源被判定為D50樣本的可能性卻很高。

調(diào)試極端藍(lán)色

極端藍(lán)色調(diào)試檢測天空顏色,避免出現(xiàn)天空發(fā)紫問題。

 0.755861f, /* Ref B BG Tl84 */
         1.000000f, /* Threshold To Identify Extreme Blue Stats */
         0.200000f, /* Blue Sky Percent */
         0.150000f, /* Blue Sky Percent Buffer */
         0.100000f, /* Threshold Extreme B Percent For Blue Sky Check */
bule sky percent

增大該值以提高極端藍(lán)色統(tǒng)計(jì)數(shù)據(jù)百分比,以便調(diào)用室外藍(lán)天場景所需的防天空發(fā)紫功能。
減小該值可降低觸發(fā)防天空發(fā)紫功能所需達(dá)到的極端藍(lán)色統(tǒng)計(jì)數(shù)據(jù)數(shù)量。

blue sky percent buffer

減小該值可擴(kuò)大緩沖區(qū)
增大該值可縮小緩沖區(qū)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自VR設(shè)計(jì)云課堂[http://www.itdecent.cn/u/c7ffdc4b379e]Unity S...
    水月凡閱讀 1,174評論 0 0
  • public classCamera.Parametersextends Objectjava.lang.Obje...
    冉冉升起的小太陽閱讀 11,201評論 0 7
  • 我們目前使用的所有光照都來自于一個單獨(dú)的光源,這是空間中的一個點(diǎn)。它的效果不錯,但是在真實(shí)世界,我們有多種類型的光...
    IceMJ閱讀 1,328評論 1 1
  • 一.打破傳統(tǒng)照明觀念,重構(gòu)照明認(rèn)知: 1.白熾燈和日光燈大致可以根據(jù)瓦數(shù)來判斷亮度,瓦數(shù)越大,電力越多,燈泡也就越...
    靈潔不止閱讀 865評論 0 0
  • 今天,我坐在一個餐廳,默默地看著落地窗外,風(fēng)把樹吹得無盡的傾斜,耀眼陽光不經(jīng)意的就隱去了,似乎要下雨了。 入夏...
    奕遲閱讀 260評論 0 1

友情鏈接更多精彩內(nèi)容