录中拍流程
ff1e8db80addafe01df7f38ed8efc76b88584c8b687473db66c159aa9c47290fc4d9bad0fefae7919b5d4ee957dd8ef7f73efdc2410b90bba91a5a3f71f047757d1fe2611807aaac112874bd54396ff83bcc25763559ee648fb6b16cd6db80ffcd4d8a5fb1df06c9d20057a62038f40cc8d598765cc1c816b5f59ac2e29b0f77c1a956a2146f9083ef74a51980744638af4c5e4b4994cdb74453f6c2cdb30864ec36a4250c5c01e5b71d04a36036dc008a83a39dac4652e0693281676f25a9c50ae36a24a4fbca91a171da3225a906abb93dc2aa063828f3907a38cb8782849a2b0100c3fef1a7072edf9da1b3734f21b50afeafb4d796047 ...
ISP 之 Pipeline
什么是 ISP
主流的 CMOS 和 CCD sensor 几乎都是输出 Bayer mosaic 格式的 RAW 数据,这种数据格式是无法直接观看的,必须转换成常见的 RGB 或 YUV 格式才能被主流的图像处理软件支持。对于 camera 产品而言,一般还需要将 RGB 或 YUV 图像进一步转换成 JPEG 格式以方便进行存储。上述图像处理过程统称图像信号处理(Image Signal Processing,ISP),广义的 ISP 包含了 JPEG 和 H.264/265 图像压缩处理,而狭义的 ISP 仅包括从 RAW 格式变换到 RGB 或 YUV 的处理过程。
一个典型的 ISP 流水线由一系列处理模块组成,这些模块首尾相连,在几百 MHz 的时钟驱动下同时高速运转,图像数据不断从一个模块转移至下一个模块,直到完成所有的算法处理,最终以 YUV 或 RGB 的形式从流水线的末级流出 ISP。下图所示的是一个支持常见基本功能的 ISP 流水线。
从图中可以看到,图像数据在 ISP 内部经历了两次颜色空间变换,第一次变换发生在 Demosaic 模块,它把像素从即 RA ...
Lens 之像差
几何像差(Geometrical Aberration)
几何像差分析单波长光线在光学系统(透镜组)中,由于透镜表面不同位置上折光能力的差异造成的成像面上,光点位置产生偏离造成物、像关系不共轭的现象。
Spherical aberration(球差)
孔径增大后,轴上点大光线和近轴光线在像空间与光轴交点位置不一致,引起的效应就是球差。
球面像差是发生在经过透镜折射或面镜反射的光线,接近中心与靠近边缘的光线不能将影像聚集在一个点上的现象。当平行的光线由镜片的边缘通过时,它的焦点位置比较靠近镜片,而由镜片的中央通过的光线,它的焦点位置则较远离镜片(这种沿着光轴的焦点错开的量,称为纵向球面像差)。口径愈大的镜头,这种倾向愈明显。
焦点随离轴高度而改变。
球差是球面镜的本性。
镜片组合或非球面可减少球差。
矫正
凹凸透镜补偿法:采用增加透镜的方法,增加凹凸面,从而减小球差的大小。
非球面透镜校正:制作成本高昂。
Coma(彗差)
彗形像差,又称彗星像差,表示上下光线关于主光线的不对称度,即:
KT′=y′−12(yA′+yB′)K_{T}^{'} = y{'} - \fr ...
Lens 之 Vignetting
自然暗角
原因
对着亮度均匀的景物,图像画面四角有变暗的现象,叫做失光或暗角(Vignetting)。暗角对于任何镜头都不可避免,这是由于镜头对于光学折射不均匀造成的。
IA′=cosα4Io′I_{A'} = \cos_{\alpha }^{4} I_{o'}
IA′=cosα4Io′
其中 α≡chief−ray−angle≡CRA\alpha \equiv chief - ray - angle \equiv CRAα≡chief−ray−angle≡CRA 即主光线角度。需要注意的是,CRA 通常适用于 CMOS 或 CCD 之类的电子元件,对于传统的胶片底片不太受此参数影响,通常光学镜头中, $CRA\le 20^{\circ} $ 。
其中相对照度:
RI=IA′Io′RI = \frac{I_{A'}}{I_{o'}}
RI=Io′IA′
这是由于光线出瞳后,轴上主光线到成像面的距离短于离轴主光线到成像面的距离,导致在成像面上不同位置光线呈现出相应的强度衰减,在成像面上,会出现中间亮四周暗的现象,称之为暗角(自然暗角)不同视场的相对照度,即是衡量暗 ...
Lens 之光学基础
前言
光学系统大的分类:
几何光学 -> 光线(像磁场线一样,其实不存在为了更好的研究其宏观特性而人为设计出来的)。
物理光学 -> 光波 (分析光的波函数)。
量子光学 -> 光子 (em…)。
折射系数 (index of refraction)
在几何光学的模型中,材料的光学性质是由材料的折射系数确定的,我们用字母 n 来代表折射系数。n 是一个关于波长 λ\lambdaλ的函数,不同波长的 n 不一样,也就是色散 (dispersion)。
折射系数与光速的关系为:
n=真空中光速介质中光速=cvn = \frac{真空中光速}{介质中光速} = \frac{c}{v}
n=介质中光速真空中光速=vc
前提:
介质是均匀的 (homogenous),即 n 在介质任意一点都是一样的。
介质是各向同性的 (isotropic),即 n 在光传播的任何方向都是相同的。
因为 v=cnv = \frac{c}{n}v=nc,我们可以把光从 A 传播到 B 所需的时间写成:
tAB=∫ABdsv=1c∫ABn⋅dst_{AB} = \int_{ ...
Lens 之景深
景深的计算
相机景深:其指的是在某个物距之间,还能够清晰成像的距离:
如果 sensor 刚好在像距的位置上,物体的一个点,成的像也就是一个点。如果 sensor 在像距的前面或者后面,这个点也就成了一个圆,专业术语叫弥散圆。当这个圆大到一定的程度的时候,照片也就糊了。
景深公式依据下列 6 个关系式:
d=fN(1)d = \frac{f}{N} \tag1
d=Nf(1)
其中 d 为光圈直径,f 为焦距,N 代表镜头设定的光圈值(2.8、4、5.6、8、11、22)等。
光学透镜成像公式(这个在光学原理一节有介绍,要通过相似三角形推导):
1s+1v=1f(2)\frac{1}{s} + \frac{1}{v} = \frac{1}{f} \tag2
s1+v1=f1(2)
其中 v 代表像距、s 代表物距。
后物体的成像公式:
1DN=1vN=1f(3)\frac{1}{D_N} = \frac{1}{v_N} = \frac{1}{f} \tag3
DN1=vN1=f1(3)
前物体的成像:
1DF=1vF=1f(4)\frac{1}{D_F} = \ ...
Sensor 的特性与噪声
CMOS sensor 的响应特性
理想 CMOS sensor 的响应特性下图所示:
横坐标是光强,纵坐标是 cmos 输出信号,直线的斜率决定了单位输入能够激励的响应大小,这个斜率称为增益系数(gain)。sensor 会提供一组接口用于调节实际生效的增益值。
而实际的 sensor 只能是在一段有限的区间内保持线性响应,对于幅度过小或者过大的输入信号会不能如实地表示。
下图是实验测量的输入输出曲线,横坐标是入射到 sensor 的光子数,纵坐标是 sensor 输出的数值(Digital Number, DN)。
以上关系用公式描述就是:
S(N,t)=q(λ)⋅N⋅tS(N,t) = q(\lambda) \cdot N \cdot t
S(N,t)=q(λ)⋅N⋅t
其中,S(N,t)S(N, t)S(N,t) 是 sensor 的一个像素采集到的电子数, q(λ)q(λ)q(λ) 是 sensor 在波长λ处的光电转换效率,N 是单位时间内入射到 sensor 表面的光子数(波长λ的单色光),t 是曝光时间。
sensor 最终输出的像素值是使用 ADC 对 ...
Sensor 的结构
sensor 的硬件结构
每个像素的结构
Microlens(微透镜)。
每个像素点的最上方有个微透镜,增加透光量。有镜头就有 CRA 的问题,超出一定角度的光线无法被收集,需要和镜头进行匹配。
Photodiode(硅感光区)捕获光子,激发光生电子。
势阱,用电场捕获、存储光生电子。
电路,将电荷数量变换为电压信号,以及复位、选择、读出逻辑。
滤光膜,选择性透过三种波长中的一种。
细说 CRA
CRA 是 Chief Ray Angle 的缩写,意思是主光角。从镜头的传感器一侧,可以聚焦到像素上的光线的最大角度被定义为一个参数,称为主光角 (CRA)。对于主光角的一般性定义是:此角度处的像素响应降低为零度角像素响应的 80%。
我们在挑选 Lens 的时候会有一个 CRA 的参数,在选择 sensor 的时候同样有一个 CRA 的参数,一般我们要求 Lens 的 CRA 曲线与 senosr 的 CRA 曲线完全匹配,如果实在不能匹配,我们也要求在同样的像高位置,CRA 相差不能超过 3 度,而且最好是 Lens 的 CRA 比 sensor 的 C ...
Odriver 之测速
传感器
绝对磁编码器
绝对磁编码器比较简单,直接读寄存器就可以。实际使用中需要配合径向冲磁的磁铁使用,且最好能远离其他可能造成磁场变化的器件;其次需要注意角度更新频率,动态特性等参数。
线性霍尔传感器
对于线性霍尔传感器一般是需要进行校准的,其使用方法一般是两个传感器呈 80 度对称分布,同样需要配合径向冲磁的磁铁使用。
当磁铁旋转一周的时候,线性霍尔的传感器的输出应该正好是一个正弦信号,但是正弦的幅值需要校准,让传感器旋转一周分别获取最大值和最小值,这样就可以重构一周的信号与位置的关系。单个传感器就可以获取全部位置角度的信息,但是单个传感器存在一个问题,就是在正弦波的极点处值的变化非常小,而在线性区域变化则比较明显,因此使用两个传感器呈 90 度摆放则可以解决这个问题。如下图:
如果 a 传感器取 sin 值为 hall_sin,b 传感器取 cos 值为 hall_cos,则最终的角度为 atan2f(hall_sin, hall_cos)。
123456789101112131415161718192021/** * @brief Hall Sensor read ...
odriver 之 SVM
源码
SVM 函数的 alpha 和 beta 的值是经过了标幺化,基准值为 (最大相电压),也就是说 alpha 和 beta 的范围是 [-1,1]。约束:alpha-beta 向量的大小不得大于 $ \frac{\sqrt{3}}{2} $。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118// Compute rising edge timings (0.0 - 1.0) as a function of alpha-beta// as per the magnitude invariant clarke transform// The ...
