这种形变通常称为RS效应,或者“果冻效应”(Jello effect),指图像出现扭曲、倾斜等现象,仿佛进入了“时空扭曲”的世界一般。

与rolling shutter 做对比的是CCD sensor 采用的全局快门 (global shutter),其特点是sensor 上所有像素是在同一瞬间全部开始曝光的,因此sensor 采集的是物体在同一时间点的画面。下图是两种曝光方式的对比。


一般来说,RS效应存在三种表现形式,前两种属于画面畸变,合称果冻效应。
整体倾斜(skew),如下图车辆的例子


图像摇摆(wobble),如下图所示
在无人机、车载等应用中,camera本身随载具平台一起运动,平台的高频机械振动会对成像造成较大扰动,图像产生摇摆。即使在安防场景中,如果camera附近存在振动源(如空调电机)也会产生同样的问题。

部分闪光(partial flash),如下图所示
普通摄影闪光灯的闪光时间 通常只有几个毫秒,显著短于一帧图像的成像时间,因此只有一部分画面能够被闪光照亮。

微软研究院的Simon等人使用光流法追踪摇摆像素的运动矢量,从而对摇摆进行校正。


针对手机拍摄的场景,斯坦福的Alexandre等人使用手机自带的加速度传感器提取camera的加速度信号用于补偿图像摆动。


1.8 积分时间 (integration time)
用户在使用camera拍摄时需要根据场景特点决定所采用的曝光时间(exposure time),或者让camera 在设定范围内自动选择最合适的曝光时间,这时所涉及的曝光时间概念主要与拍摄场景有关,一般是以毫秒为单位计算的绝对时间,也是用户比较熟悉和容易理解的概念。
而sensor 中用来控制曝光长短的寄存器参数称为积分时间,一般是以行为单位的,这个概念是源于sensor 的技术特性,一般不需要用户去理解。
曝光时间和积分时间存在确定的换算关系。比如说int_t=159,指的是sensor reset 信号和read 信号之间的间隔为159行,而每行所占的绝对时间(line_time)与sensor 主频(pixel clock, PCLK)的和每一行包含多少像素(行长 )有关,具体公式是:
line_time=h_size / pclk
其中h_size 为行长,以PCLK 数为单位,1/pclk 为一个时钟周期,即扫描一个像素需要花费的绝对时间
因此曝光时间与积分时间的换算公式如下:
exposure time = int_t * line_time
举例来说,假设一个1080p sensor PCLK=76MHz,每行配置成2000个PCLK(由有效像素和blanking组成),则有
line_time = 2000 / 76MHz = 26.32 us
如果某个场景需要10ms曝光时间,则sensor 积分时间应如下计算,
int_t = 10000us / 26.32us = 379.9 (行)
显然这个例子可以安全地将sensor 寄存器配置为380行,就能得到10ms的曝光时间。
但是当 int_t < 2 时问题就会变得有些复杂。假设计算出的理想积分时间是1.5行,此时自动曝光算法就很容易产生振荡,不停在1行和2行之间切换而无法稳定在一个固定值。因此有些sensor 会支持分数行,可以帮助解决这个问题。
还没有评论,快来抢沙发!