到目前为止,ps3210调试算是告一段落了,忙忙碌碌了两三个星期,经验教训收获良多。本文总结一下踩过的那些坑和调试关键点。
1、 确认硬件,确保sensor电源干净。
这一步非常重要,这一步没有搞好后面会非常难受,所有的努力都是白费力气。
我这次拿到板子确认能出图就直接调软件了,没有确认sensor电源是否干净,这个让我做了几个晚上的无用功。
原理:
1、sensor的AVDD电压是sensor像素点电荷积累的供给电压,这个电压纹波比较大的话直接影响sensor像素点电荷积累波动,导致图像噪点大,亮暗横纹,竖纹。
2、如果AVDD电压与sensor手册要求标准电压不一致,会导致图像出现色噪,图像前面有小细点悬浮。
方法:
1、用示波器测量sensor AVDD输入电压,纹波要在100mv内,电压值等于sensor手册标称值。
2、把曝光值设置到最大,增益设为64倍,把镜头盖在桌上,使图像变黑,此时画面是全黑的,如果上面有闪白点,那么说明sensor电源有问题。
3、慢慢的把镜头翘起一点,让一点点光通过,此时画面变亮,这个过程中仔细观察是否有亮暗横纹闪烁。
2、 硬件没问题了,那么就可以使用PQ工具调软件了。
首先把这几个文档打开,方便查阅:
HiISP 开发参考.pdf
HiMPP IPC V2.0 媒体处理软件开发参考.pdf
图像质量调试工具使用指南.pdf
ISP tuning_guide.pdf
调试之前找几个竞品对着来调试,毕竟有比较才有杀害。
我的模组是Hi3518EV200+PS3210,所以找了如下三个竞品:
Hi3518EV200+OV2710、Hi3518EV200+AR0823、Hi3518EV200+F02
先谈谈白天效果调试:
一般白天要求色彩正确,清晰度高,图像通透,动态范围好。
色彩还原主要靠动态白平衡和CMM校正矩阵,可以使用校正软件得到自动白平衡曲线和CMM矩阵。不过校正出来的色彩绿色有点偏淡,可以通过调整CMM矩阵来达到更真实的色彩还原效果。这里提一点,CMM的好坏对夜视的噪点影响很大,后面谈夜视时会详细讲解。
清晰度的话调整Sharpen/NR,让物体边缘清晰,无明显锯齿,稍微有一点高边,物体表面无明显噪点。查看文档,各个参数配合可以调整出一个比较满意的清晰度,这个还是比较简单的。
先说一下动态范围,动态范围好就是能看清亮的地方同时又能看清更多暗的地方,Hi3518EV200里面DRC功能可以改善动态范围,具体各个参数意义可以参考文档,这里建议DRC的强度不要开的太高,开的太高暗处可能会偏色或者有噪点,同时影响整个图像通透度。
图像通透可以通过Gamma来改善,一条好的gamma曲线会让你的图像看起来很舒服,同时Gamma曲线也会影响动态范围,所以选gamma需要平衡通透度和动态范围两个因素。Hi3518EV200里面DCI也能提高通透度,开启DCI,根据实际情况调整一个合适的强度,这个功能对通透度改善还是挺明显的。
这里补充一点,白天时照室外的场景(房屋,树木,天空),由于环境亮度高,整个图像看起来会有雾的感觉,这个时候你可以把Defog功能打开,模式为手动,根据实际场景调整强度,使图像达到一个满意的通透效果。当然Defog功能在室内和低照下最好关闭。总体来说,白天效果是比较容易调。
再来谈谈夜视效果调试:
一般现在的摄像机都配有红外灯,在比较暗的环境下都会开启红外来补光。不过调试夜视效果时候最好不要使用红外灯,先把极低照度的效果调起来,因为好多客户看你的产品效果时都是不打红外灯的,直接在暗室里面看。
首先布置一个黑环境,有实验室条件的可以白天在实验室搞,像我等屌丝只能下班了等大家都走了把办公室的灯关了再开搞。我的环境亮度是眼睛能看到近处的东西,远一点的就看不到了。
夜视效果要求:比别人噪点小,比别人通透,比别人亮,清晰度比别人好。
1、首先,看看竞品夜视是多少帧的,降帧到一样的帧率,降帧可以提高亮度,减少噪点。千万不要觉得自己产品很牛逼搞个30帧和别人16帧去PK,这样你会死的很惨。这是死过的人的忠告。
2、然后把曝光打到最大(一帧最大行-2),提高sensor模拟增益和ISP增益,使亮度比别人亮一点,一般模拟增益在16到32倍之间,然后再考虑ISP增益,总增益一般不超过64倍。增益太高等下后面噪点很难压下去。
3、现在应该满屏都是雪花点了吧,前面说过CCM对夜视影响很大,下面吧CMM矩阵改成如下,这样相当于使用sensor本身的颜色,CCM bypass 了。
改完之后噪点会少很多,但是颜色变的比较淡了,可以提高饱和度来提高颜色浓度,如果对颜色还不满意,可以微调上面这个矩阵,调整的时候注意不要带入太多噪点。。
4、调整Sharpen、NR参数,调整到一个比较高的清晰度,这时候还有噪点没关系,清晰度优先。
5、调整3D noise参数,可以先把3D强度打高点,使整个画面噪点安静下来,此时你会看到一个完美的画面,亮度好,清晰度好,无噪点。呵呵,不要高兴太早,叫一个人从监控区域来回走一走,你会发现他会分身术啊,后面分出无数个脑袋。这就是3D开大了的后遗症——拖影严重。下面把3D 慢慢的减小,观察拖影现象,3D里面有好多参数,什么时域滤波、空域滤波等等,可以把一个降到最小,其他保持不动,来观察拖影现象是否变轻,这样可以确定出哪些参数对拖影影响很大,哪那些很轻,哪些无影响。最后可以把对拖影影响大的参数开小一点,这样能在降噪的时候大大减小拖影程度。通过这个方法最终能调到一个无拖影,去噪效果最优的3D参数。
6、选一个通透性好的Gamma曲线,把DCI功能开到最大,
7、如果图像暗的地方有偏色可以调整sensor的黑电平或者ISP的黑电平改善,同时把UVNR功能打开(Hi3518EV200才有)。
8、此时图像一般还有噪点,接下来就是微调各个模块的参数,无限循环上面2到7步,优先保证清晰度无噪点,通透度,亮度可以放低点。
白天和晚上搞定了基本上就搞完一大半了,不过如果只有白天晚上两组参数的话,白天切换到晚上跨度有点大,所以一般我都会再调一组介于白天和晚上的中间参数,比如我的模组增益是32倍,我在1-8倍时跑白天参数,8-20倍时跑中间参数,20倍以上跑夜视参数。因为海思里面有些参数是一个数组可以根据ISO自己切换,但是有些参数是固定的,不能在增益改变时自己切换。所以调几组参数是必须的。当然参数多几组的话控制也越精细,在各个ISO下效果都能达到最优。
最后我想说的是:调图像是寂寞的
以上属于转载部分,很多问题都说的很清楚,但是由于版本问题的可能会有所不同,我这边拿到的SDK是liteos第五版,故有几个上述调试项需要注意
白天模式下
1,开启DRC宽动态这在后续版本中不建议,一旦开启,图像在特殊环境中会显得非常差,主要表现,低照度下噪点,色差明显增多,图像出现色彩条纹,锯齿等
2,关于帧率问题,不同的帧率有不同的对应参数组,不同帧率之间也没有可比性,且根据实际应用中,应选择固定帧率,保证画面帧率稳定。在网络状态中最好不要选择帧率优先,这样画质提升,会出现帧率变化过小或是严重的卡顿现象
3、任何情况下Defog选项最好不要开启,DCI选项用来调试通透性时,只需开到最大,然后调试一条最优的Gamma曲线即可,实际使用中,依然调用默认值
夜视模式
1、去噪开启3DNR选项,在实际对照其各个参数,选择合理值,之后版本干掉了2DNR的选项
2、关于sharpen的调试:
通过 PQtools 读取当前的sharpen 强度信息,或手动设置sharpen 强度到最大,观察是否有改善。
(1) 首先将sharpenD 和sharpenUD 都调到最大;
(2) 其次将textureNoiseThd 和edgeNoiseThd 都设置为0,同时,将EnLowLumaShoot 也设为0;
(3)最后根据图像的黑边白边的情况适当的调整undershoot 和overshoot。
如果图像的锐度太高,再适当降低sharpenD 和sharpenUD,重复上述三步即可调到想要的清晰度风格
最后就是有耐心的去微调各个选项,直到得到相对满意的图像即可。