打开 Camera app 出图,前几帧图像偏暗、偏色该怎样去避免?

1、问题背景

使用的安卓平台,客户的应用是要尽可能快的获取到1帧图像效果正常的图片。

但当打开 camera 启动出流后,前3-5帧图像是偏暗、偏色的,如下图所示,是抓取出流的前25帧图像,

前3帧颜色是偏蓝的,前10帧亮度是从暗到亮在收敛的。此现象是正常的嘛?该如何去解决呢

2、问题分析

我们这里的应用是,打开 camera app 出图, 就是 sensor 重新上电启动的过程,退出 app 就是 sensor stream off 的过程。

ae,awb 要根据当前场景重新计算收敛,实际问题就是对 ae, awb 收敛速度的要求,计算能在几帧内收敛完成。

具体还是要去看产品的应用,一般人眼去观察的设备,对收敛速度要求不高,1s内(25fps)能收敛完成,就没太大问题,感受也不明显。

但对一些机器识别的应用,他是需要逐帧分析的,对稳定出图的速度是有要求的,如果是25fps内才能收敛完成,那对于识别的性能就要差很多了,也是不可接受的。

目前知道的解决方式有如下几种:

1)最直接的就是优化 ae、awb 的算法性能,即使场景再突变,也可以在2-3帧内就能收敛完成,而不带来任何的副作用,比如震荡,闪烁等等。

2)当固定场景下使用时(场景的照度固定、色温固定),将当前场景下算法统计出的 ae,awb 的值,在驱动中配置成ae、awb的预设值。

启流做初始化时,直接写到相应的 sensor、isp 寄存器中,这样用初始化参数输出的图像给到算法时,因为本身就是曝光正常,白平衡准确的,所以 ae, awb 几乎不存在收敛的时间。

3)出流给到应用时,采用丢帧的方法,将前几帧没收敛完成的帧给丢弃掉,避免影响后续应用识别的准确性。但这就相当于出流慢了,对识别的速度肯定有影响。

4)退出 camera app 时,保存下当前 ae、awb 的值,当再次打开 camera app 时,将上次退出 camera app 保存下来的 ae、awb 的值,

在 sensor 出流以前,将 ae 的参数写入到 sensor 寄存器,awb 的参数写入到 isp 寄存器即可。

这样也只能保证当场景不变时,反复打开关闭 camera app 出图,前几帧是一致的;当场景变化时,第一次打开时,出流会不一致。

驱动的同事在加上面(4)的策略,提出要加一个时间限制的判断,比如当第二次打开相机app 与上一次打开的时间间隔超过1个小时,就用默认的预设值参数。

考虑到间隔时间长了,场景有可能会有变化,但其实默认的预设值,定义的就是一个固定场景下统计的 ae, awb 的参数,

即使回到默认值,效果也不一定就是好的,用上一次保存的历史参数,有可能效果还更好,因为他是根据场景在变化的。

相关推荐
格林威3 小时前
AI视觉检测:Jetson Orin vs RTX A2000 推理速度对比
人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉·工业相机
qq_120840937120 小时前
Three.js 大场景分块加载实战:从全量渲染到可视集调度
开发语言·javascript·数码相机
格林威1 天前
工业视觉检测:OpenCV FPS 正确计算的方式
运维·人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测
格林威2 天前
AI视觉检测:模型量化后漏检率上升怎么办?
人工智能·windows·深度学习·数码相机·计算机视觉·视觉检测·工业相机
gaosushexiangji2 天前
用于焊接机理研究的高速相机选型参考:S1315在激光电弧复合焊接熔池观测中的实验验证
数码相机
AGV算法笔记2 天前
最新感知算法论文分析:RaCFormer 如何提升雷达相机 3D 目标检测性能?
数码相机·算法·3d·自动驾驶·机器人视觉·3d目标检测·感知算法
三维频道2 天前
光学像素重构物理真实:极限工况下的 DIC 全场测量逻辑
数码相机·重构·全场应变测量·数字图像相关技术·可靠性测试·cae仿真对比·无损检测
空中海2 天前
第九章:安卓系统能力与平台集成
android·数码相机
moonsims2 天前
基于AiBrainBox-UGV的Smart RoBot系统架构&多Smart Robot协同架构:数据流 + 多机协同架构图
人工智能·数码相机·无人机
码农的日常搅屎棍2 天前
视觉标定--眼在手上整相机标定步骤适配随机工作平面
人工智能·数码相机·计算机视觉