
103、洞察驅動的實戰標題——壞點校正的"漏檢與誤殺"——靜態表+動態檢測的互補策略,如何避免星星被當壞點抹掉半夜兩點,車載項目組的同事在群里發了一張圖,夜視模式下天空全是黑點,像被鳥啄過的幕布。我放大看了三秒,心里咯噔一下——星星沒了,全被抹了。不是被云遮了,是被我們的壞點校正算法當成了壞點,一鍋端了。這事兒不新鮮,但每次遇到都讓人頭皮發麻。壞點校正,聽起來是個入門級模塊,sensor廠給個靜態表,驅動里load進去,做個鄰域替換,完事。可真正上了量產,你會發現這個"入門級"模塊能把你的圖像質量按在地上摩擦。今天不聊那些教科書上的壞點定義和校正公式,就聊聊我在調試現場踩過的坑,以及最后怎么用"靜態表+動態檢測"的互補策略把星星從鬼門關拉回來的。先說漏檢。靜態壞點表是sensor出廠時測的,但sensor是會"變心"的。溫度一上來,某些像素的暗電流漂移,原來正常的點開始發亮;或者受到輻射沖擊,出現瞬態壞點。靜態表管不到這些新冒出來的壞點,漏檢的直接后果是圖像上出現固定位置的亮點或暗點,像臉上的痣,怎么都去不掉。更麻煩的是,漏檢的壞點如果恰好落在暗部區域,那噪點會被放大,整個畫面臟兮兮的。再說誤殺,這才是今晚的主角。動態壞點檢測,原理很簡單,拿當前像素和周圍鄰域比,如果差異超過閾值,就判定為壞點。這個邏輯在平坦區域沒問題,但到了星空場景,星星本身就是高亮的孤立點,和壞點的特征幾乎一模一樣——亮度高、和周圍差異大、尺寸小。算法一看,這玩意兒太像壞點了,抹了吧。于是,星星沒了,天空變成了一塊黑布,上面偶爾殘留幾顆特別亮的,因為它們的亮度超過了算法設定的"壞點上限",反而逃過一劫。這種"幸存者偏差"讓畫面看起來更詭異。我當時的第一反應是調閾值。把動