137、车载摄像头自检机制——冻结帧/黑帧/模糊帧的实时检测算法与芯片级报警实现
去年夏天在南方某车厂做量产调试,客户反馈一批新车在高温暴晒后,中控屏偶尔会出现画面“卡死”现象,但过几分钟又自己恢复了。售后记录显示故障码是ISP的watchdog超时,但诡异的是,我们反复复现都抓不到现场。后来我让测试工程师在环模舱里装了个高速相机对着屏幕拍,才发现那根本不是ISP死机,是传感器输出的帧数据在MIPI传输链路上出现了重复帧——同一帧数据被连续输出了三次,画面看起来就像冻住了一样。这个案例让我意识到,车载影像系统的自检,不能只依赖芯片自带的硬件错误标志,必须在软件层面做一套针对图像内容本身的实时健康度检测。
先聊冻结帧。这是最容易被误判为“系统卡顿”的故障,实际上传感器和ISP都在正常工作,只是数据源出了问题。检测冻结帧的核心思路是帧间差异分析,但这里有个大坑——你不能直接拿整帧的像素差来做判断。车辆行驶时,场景本身就在剧烈变化,树影、路面纹理、对面来车的灯光,都会造成巨大的帧间差异。我见过有工程师用SAD(绝对差值和)做阈值判断,结果在高速公路上跑着跑着就误报,因为路面的高频纹理变化太剧烈了。
正确的做法是分区域采样。把画面分成若干块,比如16x16的网格,对每个网格计算局部帧间差异,然后统计差异网格的数量和分布。冻结帧的特征是几乎所有网格的差异都趋近于零,而正常画面即使整体亮度变化不大,局部区域也一定会有差异。这里有个关键参数——差异阈值不能是固定值,要跟当前帧的全局亮度做联动。夜间行车时,整个画面暗部区域多,噪声水平本身就高,固定阈值会把噪声当成有效差异,导致漏检。我习惯的做法是先用高通Spectra平台的3A统计信息拿到当前帧的亮度均值,然后动态调整差异阈值,暗场景阈值放大,亮
订阅专栏 解锁全文

2005

被折叠的 条评论
为什么被折叠?



