ISP调试问题及解决。文章内容是在海思平台((hi3559/hi3519/hi3516/hi3518))上进行isp调试图像问题和解决方法,其它平台可以参考这个思路去解决。
1、问题:在室内开灯场景下,屏幕闪烁
解决:确认屏幕亮度是否为100,若不是则配为100;仍然闪烁则打开抗闪功能,配置抗闪频率为交流电频率。
2、问题:在没有开灯场景下,屏幕依旧闪烁
解决:确认屏幕亮度是否为100,若不是则配为100;适当调节AE模块的u8Speed和u8Tolerance参数
3、问题:图像从暗到亮的时间过长
解决:调节AE模块的u8Speed和u16BlackSpeedBias参数。
4、问题:人脸图像过暗
解决:配置AE模块的enAEStrategyMode参数为AE_EXP_LOWLIGHT_PRIOR模式,同时增大u16HistRatioSlop的值;适当调节gamma参数;也调用海思提供的API HI_MPI_ISP_GetStatisticsConfig(ViPipe,&pstStatCfg); 和 HI_MPI_ISP_SetStatisticsConfig(ViPipe,&pstStatCfg) 设置图像权重;wdr模式下还可调节曝光比和曝光时间范围。
5、问题:图像过曝
解决:
- (1)在光线条件良好情况下,确认是否开启抗闪功能,尤其是室外,若开启则关闭抗闪;
- (2)确认曝光时间范围是否合理,调节曝光时间范围参数,减小最小曝光时间;
- (3)wdr模式下则减小最小曝光比参数;
- (4)确认图像权重配置表是否合理,不能全为0。
6、问题:视频图像边缘出现虚边
解决:主要是sharpen的边缘锐化强度过大,可以调节EdgeFiltStr 、EdgeFreq、EdgeStr这几个参数,优先调节增大前面两个参数,还不行再调最后那个参数。
7、问题:帧率在30帧,在低照度下依旧有拖影
这个主要调节3DNR参数,尤其是运动相关的参数,消除拖影后稍微调节sharpen、NR,适当提高清晰度,降低噪声。
8、问题:图像噪点过多
解决:首先确认曝光时间范围的最大值是否过小(30帧下最大曝光时间为33306),如果太小则增大曝光时间最大值;确认模拟、数字、ISP三个增益大小,适当降低增益,调节顺序为ISP–数字—模拟(模拟增益带来的噪声最小),同时适当减小AE的u8Compensation亮度补偿参数,开启海思ISP后端去噪算法模块,增强去噪强度;若还无法去除增益,可调用HI_MPI_ISP_GetPubAttr(ViPipe, &pstPubAttr); 和 HI_MPI_ISP_SetPubAttr( ViPipe, &pstPubAttr); 这两个API适当降低帧率(人脸识别最低帧率为6fps)。
9、问题:图像亮度不够
解决:确认曝光时间范围的最小值是否过小(30帧下最大曝光时间为33306),如果太小则增大曝光时间最小值;提高AE的u8Compensation亮度补偿参数;调节gamma等亮度相关参数;适当增加增益,调节顺序为模拟—数字– ISP(模拟增益带来的噪声最小)。
10、问题:图像不清晰
解决:首先确认镜头焦距是否调到最优,确认焦距是否打在想要的物体的位置上;调节gamma、sharpen等相关IPM参数。
为获取需要显示的较清楚的图像,海思首先调节sensor的曝光时间,如果在没有超过最大曝光时间情况下就能够使图像达到设定的目标亮度,就不会再调节增益,这样可以最大程度减少因为增益带来的噪声;如果曝光时间超过曝光时间范围仍然无法达到设定的目标亮度,就会调节模拟增益,如此类推下去。所以海思调节顺序为曝光时间—模拟增益—数字增益—ISP数字增益(不调节光圈的情况)。曝光时间范围与帧率相关,例如在帧率为30fps下,每帧图像的显示时间最大为33.333ms,除去最小的显示时间以及一些必要等待时间,一帧图像最大曝光时间约为33.3ms,如果曝光时间超过这个最大值,sensor将不再调节曝光转而调节增益,增益带来最大问题是噪声(通常是亮度噪声、随机噪声),所以后端需要去噪。另外适当减小u8Compensation、u16HistRatioSlope 这两个参数,降低目标亮度值,让增益降下去也能达到降噪效果。
关于海思平台的自动降帧:使能AE模块中的enAEMode参数,调节u32GainThreshold系统增益门限值和u8Compensation,这两个值的大小对降帧程度有影响,在极低照度下为了得到较好图像质量,同时画面不卡顿,需要平衡好u32GainThreshold以及sensor的模拟增益范围stAGainRange中的最小增益值的大小。在暗光环境下,一般u32GainThreshold大于12000,模拟增益最小值设为50000以上或者最大。同时适当减小u8Compensation、u16HistRatioSlope 这两个参数,降低目标亮度值,最大程度避免增益带来噪声,也可避免降帧后帧率过小。
关于暗光环境调试:在黑暗环境下,为了得到质量较高的图像,需要从曝光时间、增益、曝光补偿等参数调节。在尽量不引入噪声的情况下,优先调节帧率,通过降低帧率使每帧图像曝光时间加长,极限最低不得低于6帧(一般为12帧),否则画面会卡顿;然后调节模拟增益,模拟增益有分高、低模式,有些sensor默认配为低增益模式(约最高增益的1/3,如技术支持给的驱动),这样模拟增益无法达到最高导致需要调节数字增益,会引入更多噪声,所以确定驱动是否使用高增益模式,同时cmos.c中的增益表可配最大值配为与sensor最高增益一致。另外亮度补偿等与亮度相关参数调低,避免ISP调节数字增益和ISP增益。如果AE Route路径的曝光时间和增益无法自动配置为sensor可配的最大值,还需要配置好AE Route参数。
宽动态模式下图像偏色问题:技术支持说法是这个不可避免,这是为了减少鬼影和色域引起的噪声等副作用。通过提高饱和度,降低rgb通道去噪强度可以一定程度提升图像颜色质量。怀疑是CCM标定工作未做好的问题。
宽动态模式下室内图像会闪烁:室内宽动态存在闪烁或者夜景模式下要求打开fusion模式,同时适当调节宽动态模式下的降噪强度。
11、问题:如何确认当前环境是否逆光?
解决:在目前我们产品中,确认环境是否逆光前提是在白天或光线较好的场景下判定,而对白天或光线条件的判定,我们使用光敏获取环境光线情况来判定;在光线良好情况下,判定为逆光环境的条件为:经过测试发现,在光线较好场景下,逆光与非逆光最大区别是ISP对ISO参数的调整。光线较好非逆光时,在低光优先模式下,sensor一般通过调节曝光时间即可满足目标亮度要求,如果调节曝光还不满足也只会微调ISO,一般调整ISO不超过250;光线较好逆光时,在低光优先模式下,人脸因为逆光而变黑,sensor仅调节曝光时间一般无法满足目标亮度要求,且会较大幅度调节ISO(模拟增益、数字增益)值,当ISO超过一定值则可认为逆光(目前我设置的逆光时ISO阈值为280,经过测试,该阈值可设为250-350,根据场景进行微调)。
注意:这只能适应一般光线较好的环境,且精准性不会非常高,而精准性需要依靠光敏对环境判定的精准性、对各个参数的获取的实时性、以及对各个参数的综合和代码逻辑实现的准确性。而在黑夜逆光环境下的精准性很可能会大幅下降,导致wdr和线性两种模式来回切换。另外,为了尽可能避免人脸距离镜头太近使镜头进光量减少导致ISP继续调大曝光甚至ISO过大引起误切换,亮度补偿值compensation稍微往下调(56-64即可)。
12、问题:图像较亮的地方变成黑色或整体偏绿
解决:调整gamma和DRC参数或者关闭这两个参数看看是不是有问题,检查硬件连接与掩码配置是否匹配。
13、问题:人脸在整个画面中偏暗
解决:AE设置为低光优先模式,提升HistRatioSlope值,减小MaxHistOffset值,打开DRC,更换系数较低的gamma参数表,调整曝光权重表(增加中间区域的值,减低四周的值)。
14、问题:光线均匀时没有问题,明暗交替场景,暗部出现偏绿或者亮部出现偏粉
解决:调整GAMMA暗部或者亮部的曲线,让暗部或者亮部的值拉低,调整tonemapping。
文章参考:http://t.csdn.cn/Vu3S5
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。