WDR調(diào)試實(shí)戰(zhàn):從參數(shù)原理到鬼影消除)
做Sigmastar平臺(tái)WDR調(diào)試也有一段時(shí)間了從最初對(duì)著文檔里一堆寄存器發(fā)懵到后來(lái)能比較快地把鬼影、噪聲、亮度銜接這些問(wèn)題壓到可接受范圍中間踩了不少坑。寫這篇東西的初衷很直接把自己在Sigmastar平臺(tái)上做WDR調(diào)試的完整思路、參數(shù)理解、實(shí)測(cè)經(jīng)驗(yàn)整理出來(lái)給正在跟WDR死磕的兄弟們一個(gè)可以少走彎路的參考。這篇內(nèi)容適合這幾類人手里正好有Sigmastar方案比如SSC3xx系列的IPC、行車記錄儀、門鈴產(chǎn)品在做圖像調(diào)試的工程師剛接手WDR調(diào)試圖紙但還不知道從哪個(gè)參數(shù)下手的入門選手以及想系統(tǒng)理解WDR長(zhǎng)短幀合并邏輯、想搞明白鬼影到底是怎么產(chǎn)生又怎么消掉的人。我會(huì)把參數(shù)作用、調(diào)試順序、工具使用、以及鬼影消除的完整排查鏈路都拆開講。1. 調(diào)試前必須搞清的三件事WDR分幀機(jī)制、工具鏈與參數(shù)邊界1.1 WDR為什么難調(diào)從普通模式到寬動(dòng)態(tài)的模型差異大部分人第一次開WDR都會(huì)被復(fù)雜的參數(shù)和奇怪的現(xiàn)象嚇到核心原因是WDR開啟后圖像處理模型從一個(gè)線性/單次曝光的模型變成了多幀融合的模型。普通模式下sensor一幀只做一次曝光ISP直接對(duì)這個(gè)信號(hào)做處理參數(shù)之間的關(guān)系相對(duì)簡(jiǎn)單曝光時(shí)間長(zhǎng)了畫面亮、短了畫面暗噪點(diǎn)多就降噪整體上每個(gè)參數(shù)的職責(zé)邊界很清晰。但WDR開啟后sensor一幀時(shí)間內(nèi)需要連續(xù)輸出兩個(gè)不同曝光長(zhǎng)度的信號(hào)——一個(gè)長(zhǎng)幀long frame負(fù)責(zé)暗部細(xì)節(jié)一個(gè)短幀short frame負(fù)責(zé)亮部細(xì)節(jié)然后ISP內(nèi)部把這兩幀信息合并成一個(gè)高動(dòng)態(tài)范圍的畫面。問(wèn)題就出在這個(gè)“合并”上。你要同時(shí)控制兩組曝光參數(shù)還要控制合并曲線、運(yùn)動(dòng)檢測(cè)、降噪、對(duì)比度增強(qiáng)等多個(gè)模塊的協(xié)同。任何一個(gè)環(huán)節(jié)沒(méi)配合好就會(huì)出現(xiàn)暗部死黑、亮部過(guò)曝、運(yùn)動(dòng)物體鬼影、噪點(diǎn)爆炸甚至亮暗交界處出現(xiàn)明顯的“邊界線”。這些現(xiàn)象單獨(dú)看都像某個(gè)參數(shù)的問(wèn)題但實(shí)際上往往牽一發(fā)而動(dòng)全身。1.2 Sigmastar平臺(tái)的WDR架構(gòu)是怎么工作的Sigmastar的ISP pipeline里WDR模塊一般在RAW域、sensor信號(hào)進(jìn)來(lái)之后的位置完成合并處理。大致路徑是sensor輸出的長(zhǎng)短幀信號(hào)先經(jīng)過(guò)線性化linearization把sensor的非線性響應(yīng)拉直然后在RAW域做merge合并合并完的信號(hào)再進(jìn)入后續(xù)的demosaic去馬賽克、降噪、邊緣增強(qiáng)等模塊。這里要重點(diǎn)理解一個(gè)概念Sigmastar的WDR合并本質(zhì)上是按像素分配權(quán)重。每個(gè)像素點(diǎn)ISP會(huì)根據(jù)它本身的亮度、周邊區(qū)域的運(yùn)動(dòng)情況決定長(zhǎng)幀信號(hào)和短幀信號(hào)各占多大比例。暗處像素主要采信長(zhǎng)幀信號(hào)因?yàn)殚L(zhǎng)幀曝光時(shí)間長(zhǎng)、信噪比高亮處像素主要采信短幀信號(hào)因?yàn)槎處蝗菀走^(guò)曝。兩者的銜接點(diǎn)怎么過(guò)渡、運(yùn)動(dòng)區(qū)域怎么處理就是調(diào)試的核心工作。換句話說(shuō)你以為你在調(diào)“畫面亮不亮”其實(shí)你是在調(diào)“長(zhǎng)幀和短幀的信任比例”。想明白這一點(diǎn)后面看到那些看起來(lái)像“對(duì)比度”又像“亮度”的參數(shù)就不會(huì)太暈。1.3 調(diào)試工具鏈準(zhǔn)備串口終端、mdubus與抓圖手段Sigmastar平臺(tái)上調(diào)試WDR我常用的工具主要有三類第一類是串口終端比如通過(guò)板子的UART口或telnet進(jìn)入Linux命令行這是最基礎(chǔ)的入口。在命令行里可以查看sensor狀態(tài)、動(dòng)態(tài)修改ISP參數(shù)、抓圖。Windows下我一般用sscom這類串口調(diào)試助手如果板子支持網(wǎng)絡(luò)也可以直接用telnet/ssh連進(jìn)去方便很多。第二類是Sigmastar平臺(tái)自帶的寄存器讀寫工具很多SDK版本里都帶一個(gè)類似mdubus的命令行工具可以用來(lái)直接讀寫ISP寄存器和sensor寄存器。這個(gè)工具的典型用法是# 讀取某個(gè)寄存器地址的值 mdubus r 0x2410 # 寫入某個(gè)寄存器地址 mdubus w 0x2410 0x1234需要說(shuō)明的是不同SDK版本、不同芯片型號(hào)寄存器地址和命令格式會(huì)有差異但“讀地址-改值-看效果”的思路是通用的。這不是讓你去背寄存器地址而是為了在參數(shù)文件沒(méi)有覆蓋到某些特殊情況時(shí)能快速驗(yàn)證自己的判斷。第三類是抓圖與圖像分析工具。調(diào)試WDR不能只靠眼睛看屏幕很多問(wèn)題在屏幕上動(dòng)起來(lái)不明顯但抓成靜態(tài)圖就能看得很清楚。Sigmastar平臺(tái)一般有抓raw圖或抓yuv圖的命令抓到圖后用直方圖工具看亮度分布、用放大工具看局部噪聲配合IMX等分析軟件做主觀評(píng)估。我自己習(xí)慣每改一輪參數(shù)就抓一張圖留檔方便前后對(duì)比。注意開始調(diào)WDR之前強(qiáng)烈建議先確認(rèn)當(dāng)前sensor驅(qū)動(dòng)出圖正常普通模式下的畫面是合格的。如果普通模式下顏色、曝光、清晰度都有問(wèn)題WDR開出來(lái)只會(huì)更糟而且你根本分不清問(wèn)題出在哪個(gè)環(huán)節(jié)。2. 逐項(xiàng)拆解WDR核心參數(shù)曝光、合并、降噪三個(gè)維度這一節(jié)我用“參數(shù)組”的方式來(lái)拆解。Sigmastar平臺(tái)不同SDK版本的參數(shù)名可能不完全一樣但調(diào)節(jié)邏輯高度一致你只要理解了這組參數(shù)在干什么換成自己的SDK里的對(duì)應(yīng)項(xiàng)就能上手。2.1 長(zhǎng)短幀曝光參數(shù)組先把兩幀的底子打好WDR的曝光參數(shù)控制的是長(zhǎng)幀和短幀各自的曝光時(shí)間與增益。核心參數(shù)一般包括長(zhǎng)幀曝光時(shí)間 / 長(zhǎng)幀增益決定暗部亮度。長(zhǎng)幀曝光時(shí)間越長(zhǎng)、增益越高暗部越亮但運(yùn)動(dòng)模糊和噪點(diǎn)也會(huì)加劇。短幀曝光時(shí)間 / 短幀增益決定亮部細(xì)節(jié)。短幀曝光越短高光越不容易過(guò)曝但整個(gè)畫面的亮度貢獻(xiàn)會(huì)下降。長(zhǎng)短幀曝光比AE Ratio這是最關(guān)鍵的參數(shù)之一定義長(zhǎng)幀和短幀之間的曝光倍數(shù)關(guān)系。常見(jiàn)典型值是4倍、8倍、16倍、甚至更高。曝光比的選擇需要看sensor本身的動(dòng)態(tài)范圍和市場(chǎng)定位。Sensor的動(dòng)態(tài)范圍本身越高需要的曝光比就越小場(chǎng)景亮度反差越大需要的曝光比越大。我自己的經(jīng)驗(yàn)是室內(nèi)監(jiān)控場(chǎng)景4到8倍比較常用逆光強(qiáng)烈的門口、窗戶場(chǎng)景可能要拉到16倍以上。曝光比拉太大也有副作用合并難度增加運(yùn)動(dòng)區(qū)域的亮度不一致會(huì)更明顯鬼影出現(xiàn)的概率也更高。2.2 合并曲線與對(duì)比度參數(shù)組決定亮暗過(guò)渡的自然度長(zhǎng)短幀曝光正確只是第一步真正決定WDR畫面觀感的是合并參數(shù)。這一組參數(shù)的作用是調(diào)整長(zhǎng)幀和短幀信號(hào)的融合比例與過(guò)渡曲線。需要關(guān)注的典型參數(shù)包括合并起始點(diǎn) / 合并結(jié)束點(diǎn)Knee Point / Merge Start-End畫面亮度到達(dá)什么范圍開始從長(zhǎng)幀過(guò)渡到短幀什么范圍完全切換到短幀。這個(gè)點(diǎn)設(shè)置得太早暗部會(huì)顯得灰蒙蒙長(zhǎng)幀沒(méi)充分利用設(shè)置得太晚中間調(diào)區(qū)域會(huì)因?yàn)槎處畔⑦^(guò)少而出現(xiàn)亮度斷層。合并斜率Merge Slope / Merge Ratio過(guò)渡區(qū)間的變化速度。斜率大長(zhǎng)幀到短幀切換干脆動(dòng)態(tài)范圍覆蓋好但容易在過(guò)渡區(qū)出現(xiàn)亮度“臺(tái)階感”斜率小過(guò)渡柔和但可能造成亮部發(fā)灰、對(duì)比度不足。局部對(duì)比度增強(qiáng)Local Contrast合并后對(duì)中低頻對(duì)比度進(jìn)行補(bǔ)償?shù)膮?shù)。WDR合并后畫面容易顯得“平”適當(dāng)?shù)木植繉?duì)比度增強(qiáng)可以讓暗部層次更豐富。合并參數(shù)和下一步講到的運(yùn)動(dòng)檢測(cè)參數(shù)關(guān)系非常大因?yàn)楹喜⑶€的過(guò)渡區(qū)間正是運(yùn)動(dòng)鬼影最容易出現(xiàn)的區(qū)域。2.3 運(yùn)動(dòng)檢測(cè)與鬼影抑制參數(shù)組WDR調(diào)試的分水嶺這一組參數(shù)是WDR調(diào)試中最講究的部分也是標(biāo)題里“鬼影消除”的關(guān)鍵。運(yùn)動(dòng)檢測(cè)MD的靈敏度與閾值ISP需要知道哪些區(qū)域有運(yùn)動(dòng)才能在這些區(qū)域采用不產(chǎn)生鬼影的合并策略。靈敏度設(shè)得太低運(yùn)動(dòng)區(qū)域不被識(shí)別鬼影就出來(lái)了設(shè)得太高靜止畫面也可能被誤判為運(yùn)動(dòng)導(dǎo)致合并策略頻繁切換閃爍加重。運(yùn)動(dòng)區(qū)域的合并策略Motion Merge Ratio對(duì)于被判定為運(yùn)動(dòng)的區(qū)域ISP可以強(qiáng)制減少長(zhǎng)幀的權(quán)重避免運(yùn)動(dòng)物體在兩個(gè)幀里的位置差被同時(shí)顯示出來(lái)。運(yùn)動(dòng)區(qū)域合并比例越低鬼影越輕但運(yùn)動(dòng)區(qū)域的動(dòng)態(tài)范圍會(huì)下降噪點(diǎn)也會(huì)升高。鬼影抑制強(qiáng)度Ghost Suppression專門用來(lái)消除鬼影效果的參數(shù)。強(qiáng)度越高鬼影越淡但是副作用是畫面整體動(dòng)態(tài)范圍會(huì)略微收縮極端情況下運(yùn)動(dòng)物體會(huì)出現(xiàn)亮度異常。這一組參數(shù)的調(diào)節(jié)邏輯我在第4節(jié)會(huì)用一個(gè)完整案例展開這里先記住一個(gè)原則鬼影不是越少越好而是要在“沒(méi)有鬼影”和“動(dòng)態(tài)范圍覆蓋足夠”之間找一個(gè)平衡點(diǎn)。2.4 降噪?yún)?shù)組WDR噪聲為什么總比別人大WDR模式下噪聲問(wèn)題比普通模式嚴(yán)重原因有兩層一是長(zhǎng)幀曝光時(shí)間長(zhǎng)、增益高暗部噪點(diǎn)本身就大二是合并后為了保留動(dòng)態(tài)范圍降噪模塊往往不敢用太強(qiáng)的力度否則會(huì)把合并出來(lái)的層次細(xì)節(jié)給抹掉。降噪?yún)?shù)主要分為空域降噪SNR/CNR和時(shí)域降噪TNR??沼蚪翟胧菃螏瑑?nèi)的處理實(shí)時(shí)性好但對(duì)細(xì)節(jié)損傷大時(shí)域降噪利用前后幀的信息降噪效果好、細(xì)節(jié)保留強(qiáng)但運(yùn)動(dòng)區(qū)域容易產(chǎn)生拖尾。WDR場(chǎng)景下降噪調(diào)試有個(gè)非常容易踩的坑時(shí)域降噪強(qiáng)度太高運(yùn)動(dòng)物體周圍會(huì)出現(xiàn)“拖影”這個(gè)拖影和WDR鬼影疊在一起很難分辨是哪來(lái)的。我后面會(huì)專門講這個(gè)聯(lián)動(dòng)問(wèn)題。初調(diào)階段建議先把時(shí)域降噪放在中等偏弱的位置優(yōu)先保證運(yùn)動(dòng)區(qū)域干凈等鬼影問(wèn)題處理完再看噪點(diǎn)是否超標(biāo)逐步加強(qiáng)。2.5 參數(shù)速查表參數(shù)組典型參數(shù)項(xiàng)核心作用設(shè)置偏大的后果設(shè)置偏小的后果曝光組長(zhǎng)幀曝光時(shí)間/增益提升暗部亮度運(yùn)動(dòng)模糊、暗部噪點(diǎn)暗部死黑曝光組短幀曝光時(shí)間/增益保留高光細(xì)節(jié)高光過(guò)曝畫面整體偏暗曝光組長(zhǎng)短幀曝光比擴(kuò)展動(dòng)態(tài)范圍鬼影概率增加、合并困難動(dòng)態(tài)范圍不足合并組合并起始/結(jié)束點(diǎn)控制亮暗過(guò)渡區(qū)間中間調(diào)亮度斷層暗部發(fā)灰合并組合并斜率控制過(guò)渡速度亮度臺(tái)階感對(duì)比度不足合并組局部對(duì)比度增強(qiáng)補(bǔ)償畫面層次噪點(diǎn)放大畫面平、缺乏立體感運(yùn)動(dòng)組運(yùn)動(dòng)檢測(cè)靈敏度識(shí)別運(yùn)動(dòng)區(qū)域誤判、畫面閃爍鬼影殘留運(yùn)動(dòng)組運(yùn)動(dòng)區(qū)域合并比例決定運(yùn)動(dòng)區(qū)域的融合方式鬼影嚴(yán)重運(yùn)動(dòng)區(qū)域動(dòng)態(tài)范圍收縮運(yùn)動(dòng)組鬼影抑制強(qiáng)度消除鬼影動(dòng)態(tài)范圍收縮、運(yùn)動(dòng)區(qū)亮度異常鬼影明顯降噪組空域降噪強(qiáng)度單幀降噪細(xì)節(jié)丟失噪點(diǎn)明顯降噪組時(shí)域降噪強(qiáng)度多幀降噪運(yùn)動(dòng)拖尾整體噪聲偏高這張表不是讓你背而是提醒你每組參數(shù)調(diào)整后要同時(shí)關(guān)注相鄰參數(shù)的變化因?yàn)閃DR是一套聯(lián)動(dòng)系統(tǒng)不存在“只調(diào)一個(gè)數(shù)就萬(wàn)事大吉”的情況。3. 一套可以直接上手的調(diào)試流程從基礎(chǔ)出圖到合并調(diào)優(yōu)這一節(jié)我按自己實(shí)際執(zhí)行的順序給出一套可復(fù)現(xiàn)的調(diào)試流程。這套流程特別適合第一次接觸Sigmastar WDR的工程師也可以作為老手重新梳理調(diào)試節(jié)奏時(shí)的參考。3.1 第一步把基礎(chǔ)出圖調(diào)到合格線開始調(diào)WDR之前先把sensor切到普通模式WDR關(guān)閉確認(rèn)當(dāng)前畫面亮度、顏色、清晰度在合格范圍內(nèi)。這一步很多人會(huì)跳過(guò)覺(jué)得浪費(fèi)時(shí)間但我的經(jīng)驗(yàn)是基礎(chǔ)出圖決定了WDR調(diào)試的上限。如果普通模式下畫面偏色明顯先檢查白平衡如果整體清晰度不行先檢查鏡頭焦面和sensor的AE目標(biāo)值設(shè)置如果邊緣噪點(diǎn)嚴(yán)重先做好基礎(chǔ)降噪和增益分配。把這些基礎(chǔ)問(wèn)題解決后再打開WDR你會(huì)發(fā)現(xiàn)調(diào)試難度下降很多。3.2 第二步確定一個(gè)合理的曝光比打開WDR功能后先不要?jiǎng)尤魏魏喜?shù)先把曝光比AE Ratio設(shè)到一個(gè)比較保守的中間值比如8倍。同時(shí)確認(rèn)AE模塊正常工作暗場(chǎng)景長(zhǎng)幀拉長(zhǎng)、亮場(chǎng)景短幀減少長(zhǎng)短幀曝光都跟著場(chǎng)景亮度走。判斷曝光比是否合適可以看這兩個(gè)指標(biāo)在逆光場(chǎng)景下同時(shí)觀察暗部細(xì)節(jié)和亮部細(xì)節(jié)是否都能辨認(rèn)。如果暗部已經(jīng)很亮但亮部仍然過(guò)曝說(shuō)明曝光比對(duì)當(dāng)前場(chǎng)景來(lái)說(shuō)偏小加大曝光比。如果暗部還是比較黑但亮部已經(jīng)壓下來(lái)了再多加曝光比會(huì)導(dǎo)致中間調(diào)變差說(shuō)明當(dāng)前sensor動(dòng)態(tài)范圍結(jié)合這個(gè)場(chǎng)景8到12倍是一個(gè)合理區(qū)間。這個(gè)階段我不建議把曝光比一步拉到32倍以上去“顯得動(dòng)態(tài)范圍強(qiáng)”。曝光比越大后面的合并和鬼影處理難度都成倍增加如果你的sensor底子一般高曝光比帶來(lái)的收益會(huì)被噪聲和鬼影抵消掉。3.3 第三步合并參數(shù)先粗調(diào)再細(xì)調(diào)曝光比確定后開始調(diào)合并參數(shù)。此時(shí)做兩件事先把合并起始點(diǎn)/結(jié)束點(diǎn)放在中間位置確認(rèn)整個(gè)畫面沒(méi)有明顯的亮度斷裂然后調(diào)整合并斜率讓亮暗過(guò)渡區(qū)域盡量自然。粗調(diào)階段不需要死磕數(shù)值只需要保證畫面沒(méi)有“明顯異?!绷炼仁欠裨诹涟颠^(guò)渡區(qū)出現(xiàn)斷層出現(xiàn)斷層就把合并過(guò)渡區(qū)間拉得寬一些。整個(gè)畫面的對(duì)比度是否偏平偏平可以適度加一點(diǎn)局部對(duì)比度增強(qiáng)。亮部是否發(fā)灰發(fā)白如果是把合并結(jié)束點(diǎn)往前挪讓短幀信息更早介入。粗調(diào)完成后進(jìn)入細(xì)調(diào)階段。我會(huì)用一組固定場(chǎng)景比如室內(nèi)開一盞燈、窗外有天空的逆光場(chǎng)景反復(fù)微調(diào)合并起點(diǎn)和斜率觀察過(guò)渡區(qū)的自然度。這個(gè)階段需要耐心一次只動(dòng)一個(gè)參數(shù)改完抓圖對(duì)比。3.4 第四步配套降噪與整體評(píng)估合并完成后加上降噪?yún)?shù)調(diào)整。先看暗部噪點(diǎn)情況如果長(zhǎng)幀增益偏高導(dǎo)致噪點(diǎn)明顯先把空域降噪適度加強(qiáng)如果畫面運(yùn)動(dòng)區(qū)域出現(xiàn)拖影檢查時(shí)域降噪強(qiáng)度。完成這輪參數(shù)調(diào)整后必須做一次完整的整體評(píng)估維度包括逆光下暗部細(xì)節(jié)是否可辨認(rèn)亮部是否自然順光下畫面是否正常有沒(méi)有因?yàn)閃DR開啟導(dǎo)致對(duì)比度下降室內(nèi)燈光下有沒(méi)有頻閃flicker現(xiàn)象運(yùn)動(dòng)物體從亮區(qū)進(jìn)入暗區(qū)時(shí)有沒(méi)有亮度突變或鬼影我在評(píng)估環(huán)節(jié)一定會(huì)同時(shí)抓幾張圖留檔并記錄當(dāng)時(shí)的參數(shù)快照。這個(gè)習(xí)慣幫我省了很多后面回歸問(wèn)題的排查時(shí)間。4. 鬼影消除的完整排查鏈路從現(xiàn)象復(fù)現(xiàn)到參數(shù)收斂鬼影是WDR調(diào)試?yán)镒钭屓祟^疼的問(wèn)題也是本文的重點(diǎn)章節(jié)。我拿一個(gè)實(shí)際調(diào)試過(guò)的場(chǎng)景來(lái)完整拆解排查過(guò)程。4.1 一個(gè)典型的“逆光辦公室”場(chǎng)景前陣子調(diào)一個(gè)室內(nèi)監(jiān)控產(chǎn)品安裝位置對(duì)著大門門外是陽(yáng)光強(qiáng)烈的走廊。場(chǎng)景特點(diǎn)非常典型室內(nèi)暗、室外亮反差大而且門口不時(shí)有人進(jìn)出。開WDR之前室內(nèi)人臉完全看不清門外一片白開到16倍曝光比后室內(nèi)人臉能看清了但出現(xiàn)了一個(gè)新問(wèn)題人從門口走進(jìn)來(lái)的時(shí)候人臉和身體邊緣有一圈半透明的“影子”跟著人一起移動(dòng)停下來(lái)后影子就消失了。這個(gè)現(xiàn)象就是標(biāo)準(zhǔn)的WDR運(yùn)動(dòng)鬼影。4.2 先定位問(wèn)題來(lái)源再動(dòng)參數(shù)鬼影出現(xiàn)后我習(xí)慣先做個(gè)快速定位人停下來(lái)時(shí)鬼影消失說(shuō)明靜止場(chǎng)景下的合并是正確的問(wèn)題只在運(yùn)動(dòng)區(qū)域。那么可能的原因集中在三個(gè)地方運(yùn)動(dòng)檢測(cè)MD沒(méi)有識(shí)別出運(yùn)動(dòng)區(qū)域?qū)е逻@些區(qū)域仍然按靜止區(qū)域的方式做長(zhǎng)幀和短幀的全強(qiáng)度合并運(yùn)動(dòng)檢測(cè)識(shí)別出來(lái)了但運(yùn)動(dòng)區(qū)域合并策略里長(zhǎng)幀權(quán)重仍然太高鬼影抑制強(qiáng)度不夠合并算法對(duì)運(yùn)動(dòng)物體的邊緣處理不夠狠。排查時(shí)我先把運(yùn)動(dòng)檢測(cè)靈敏度調(diào)高一檔看鬼影有沒(méi)有變化。實(shí)測(cè)發(fā)現(xiàn)鬼影減輕了一點(diǎn)但畫面邊緣出現(xiàn)輕微的亮度閃爍說(shuō)明運(yùn)動(dòng)檢測(cè)開始出現(xiàn)誤判。這個(gè)結(jié)果說(shuō)明MD沒(méi)有完全失效但靈敏度已經(jīng)接近上限了不能靠再加靈敏度來(lái)解決問(wèn)題。接著我轉(zhuǎn)向運(yùn)動(dòng)區(qū)域的合并比例參數(shù)把這個(gè)比例從默認(rèn)值往下調(diào)鬼影明顯變淡。繼續(xù)往下調(diào)鬼影基本消失但新的問(wèn)題出現(xiàn)了運(yùn)動(dòng)物體尤其是人的深色衣服的亮度和靜止時(shí)不一致整體偏灰動(dòng)態(tài)范圍變差了。此時(shí)我確認(rèn)了問(wèn)題根源運(yùn)動(dòng)區(qū)域的合并權(quán)重確實(shí)太高需要降低但降低之后運(yùn)動(dòng)區(qū)域的動(dòng)態(tài)范圍又不足以保持視覺(jué)一致性必須配合鬼影抑制強(qiáng)度和局部對(duì)比度補(bǔ)償來(lái)做平衡。4.3 鬼影相關(guān)參數(shù)的調(diào)整順序基于上面的定位我按這個(gè)順序收斂參數(shù)第一步降低運(yùn)動(dòng)區(qū)域合并比例先將運(yùn)動(dòng)區(qū)域的合并比例調(diào)到比默認(rèn)值低約20%看鬼影變化。目標(biāo)是把“明顯鬼影”壓成“低強(qiáng)度邊緣重影”。第二步提升鬼影抑制強(qiáng)度一到兩檔這一步處理掉剩余的重影但要注意觀察運(yùn)動(dòng)物體的亮度和色彩是否異常。第三步適度增加運(yùn)動(dòng)區(qū)域的局部對(duì)比度補(bǔ)償補(bǔ)償因?yàn)楹喜⒈壤陆祵?dǎo)致的動(dòng)態(tài)范圍收縮讓人物邊緣看起來(lái)更自然。第四步回到運(yùn)動(dòng)檢測(cè)靈敏度微調(diào)回誤判臨界點(diǎn)以下因?yàn)榍皫撞揭呀?jīng)大幅減輕了鬼影靈敏度可以稍微降回原來(lái)或略高的位置減少誤判閃爍風(fēng)險(xiǎn)。四步走完我在這臺(tái)機(jī)器上得到了一個(gè)可以接受的效果人走動(dòng)時(shí)基本看不到鬼影停下來(lái)后畫面亮部細(xì)節(jié)也沒(méi)有明顯損失。4.4 驗(yàn)證與反復(fù)一個(gè)參數(shù)組合至少測(cè)三天參數(shù)收斂后不能馬上收工。我會(huì)在三種時(shí)段連續(xù)驗(yàn)證白天強(qiáng)逆光、傍晚過(guò)渡光、以及夜間弱光。每個(gè)時(shí)段重點(diǎn)看兩個(gè)指標(biāo)運(yùn)動(dòng)物體在亮暗交界區(qū)域是否有鬼影殘留以及畫面是否因?yàn)榻翟牒秃喜?shù)的聯(lián)動(dòng)出現(xiàn)閃爍。這輪驗(yàn)證中我發(fā)現(xiàn)一個(gè)有意思的現(xiàn)象傍晚光線變暗時(shí)AE為了保持目標(biāo)亮度長(zhǎng)幀曝光時(shí)間不斷拉長(zhǎng)同樣的WDR參數(shù)組合下鬼影會(huì)比白天更明顯。原因很簡(jiǎn)單——長(zhǎng)幀曝光時(shí)間越長(zhǎng)運(yùn)動(dòng)物體的“位置偏移”越大合并時(shí)產(chǎn)生的鬼影間隔就越大。處理方式是給AE加一個(gè)長(zhǎng)幀最大曝光時(shí)間限制同時(shí)適度提高運(yùn)動(dòng)區(qū)域合并策略在低照度下的干預(yù)力度。提醒如果你在白天調(diào)好的參數(shù)傍晚或夜間出現(xiàn)復(fù)發(fā)性的鬼影不要急著改合并和鬼影抑制參數(shù)先檢查AE在低照度下是不是把長(zhǎng)幀曝光拉得過(guò)高了。限制最大曝光往往比調(diào)一堆合并參數(shù)更有效。5. 調(diào)試中實(shí)測(cè)出來(lái)的那些坑參數(shù)聯(lián)動(dòng)與場(chǎng)景回歸最后一節(jié)聊聊我在Sigmastar WDR調(diào)試中遇到的、最有代表性的幾個(gè)坑每一個(gè)都是真實(shí)踩過(guò)、花了時(shí)間排查的。5.1 曝光、AWB和WDR的聯(lián)動(dòng)效應(yīng)WDR開啟后整個(gè)AE策略會(huì)發(fā)生變化AWB自動(dòng)白平衡也會(huì)受到連帶影響。我遇到過(guò)的典型問(wèn)題是逆光場(chǎng)景下打開WDR后畫面顏色出現(xiàn)輕微偏紫或偏青。原因是長(zhǎng)短幀合并后不同亮度區(qū)域的色彩比例發(fā)生了變化——暗部主要由長(zhǎng)幀貢獻(xiàn)、亮部主要由短幀貢獻(xiàn)而長(zhǎng)短幀的色偏并不完全一致尤其在高增益下合并后就會(huì)在亮暗過(guò)渡區(qū)出現(xiàn)色偏。處理方法不是去硬調(diào)AWB而是把長(zhǎng)短幀增益的差距控制在合理范圍內(nèi)避免長(zhǎng)幀增益過(guò)高導(dǎo)致色彩偏差過(guò)大。如果色偏仍然明顯再配合AWB的局部顏色校正功能來(lái)做補(bǔ)償。5.2 噪聲與鬼影的蹺蹺板效應(yīng)這是WDR調(diào)試?yán)镒钭屓思m結(jié)的沖突之一。鬼影抑制強(qiáng)度提高、運(yùn)動(dòng)區(qū)域合并比例降低后運(yùn)動(dòng)區(qū)域的動(dòng)態(tài)范圍會(huì)收縮暗部噪點(diǎn)會(huì)變得更加明顯反過(guò)來(lái)如果把降噪強(qiáng)度加大去壓噪點(diǎn)很容易產(chǎn)生運(yùn)動(dòng)拖尾拖尾和鬼影摻在一起看起來(lái)比單純的鬼影還糟。我的處理策略是優(yōu)先保證運(yùn)動(dòng)區(qū)域沒(méi)有鬼影和拖尾噪點(diǎn)留給降噪模塊去處理但時(shí)域降噪必須設(shè)置在運(yùn)動(dòng)檢測(cè)可信的范圍內(nèi)。寧可讓噪點(diǎn)稍微明顯一點(diǎn)也不要讓時(shí)域降噪把運(yùn)動(dòng)區(qū)域搞糊。畢竟鬼影和拖尾是“一眼假”的視覺(jué)瑕疵而噪點(diǎn)在某些場(chǎng)景下還可以解釋為低照度的正常表現(xiàn)。5.3 多機(jī)一致性模組差異對(duì)參數(shù)的影響同一個(gè)tuning參數(shù)文件放到不同批次的產(chǎn)品上效果可能差很多。最常見(jiàn)的原因是模組sensor鏡頭之間的個(gè)體差異鏡頭光圈、sensor增益特性、IR-CUT的透過(guò)率都有細(xì)微差別這些差異會(huì)在WDR合成時(shí)被放大。處理多機(jī)一致性問(wèn)題除了做好模組來(lái)料的一致性管控外調(diào)試時(shí)最好把WDR相關(guān)參數(shù)留出一定的裕量不要頂在臨界值上。比如鬼影抑制強(qiáng)度如果調(diào)到剛好能壓住某一臺(tái)樣機(jī)上的鬼影那其他機(jī)器上很可能壓不住留一點(diǎn)余量再用運(yùn)動(dòng)檢測(cè)和合并比例來(lái)平衡整批產(chǎn)品的穩(wěn)定性會(huì)更好。5.4 場(chǎng)景回歸比什么都重要最后想說(shuō)一個(gè)所有調(diào)試工程師都知道、但趕工期時(shí)最容易省略的步驟在真實(shí)場(chǎng)景下做長(zhǎng)時(shí)間、多時(shí)段的回歸測(cè)試。實(shí)驗(yàn)室里用動(dòng)態(tài)測(cè)試圖來(lái)回滑動(dòng)的亮塊、旋轉(zhuǎn)的黑白條紋輪能快速?gòu)?fù)現(xiàn)鬼影問(wèn)題但真實(shí)場(chǎng)景遠(yuǎn)比測(cè)試圖復(fù)雜人有進(jìn)出、有走動(dòng)車輛在亮暗之間穿行樹葉在風(fēng)中晃動(dòng)窗簾在飄。你在實(shí)驗(yàn)室里調(diào)好的一套參數(shù)到真實(shí)場(chǎng)景里可能一天之內(nèi)就會(huì)暴露問(wèn)題。我現(xiàn)在養(yǎng)成的習(xí)慣是WDR參數(shù)收斂后至少安排三天的真實(shí)場(chǎng)景驗(yàn)證每天分早、中、晚、夜間四個(gè)時(shí)段各測(cè)一遍。遇到問(wèn)題就記錄現(xiàn)場(chǎng)畫面和參數(shù)快照再回到實(shí)驗(yàn)室復(fù)現(xiàn)、定位、調(diào)整。這么做雖然慢但調(diào)試出的效果是經(jīng)得起量產(chǎn)考驗(yàn)的?;氐絎DR調(diào)試這件事本身它確實(shí)沒(méi)有一個(gè)“調(diào)一次就通吃所有場(chǎng)景”的萬(wàn)能公式因?yàn)槊總€(gè)產(chǎn)品面對(duì)的物理場(chǎng)景、每顆sensor的動(dòng)態(tài)范圍底子、每塊Sigmastar芯片的ISP版本都不一樣。但調(diào)試邏輯是相通的先理解分幀和合并的機(jī)制再按曝光、合并、運(yùn)動(dòng)、降噪的順序逐步收斂遇到鬼影就沿著運(yùn)動(dòng)檢測(cè)、合并權(quán)重、曝光上限這條路一根根排查。按這個(gè)思路走至少不會(huì)在參數(shù)堆里打轉(zhuǎn)。