首先类比一下一维。Jacobian相当于一阶导数,Hessian相当于二阶导数。 一维函数的导数的motivation是很明显的。二阶导数的零点就是一阶导数的极值点。 对于很多应用,我们不仅关心一阶导数的零点(也就是函数的极值点),也关心一阶导数的极值点,比如信号处理中,信号的一阶导数的极值点反映信号变化的最剧烈程度。极值点寻求在编程时不方便,不如找二阶导数的零点。
Jacobian对于标量函数f: Rn-> R1,实际是个向量,这个向量实际上就是函数的梯度gradient。gradient根据Cauchy-Swartz公式,指向的是在某处方向导数取极大值的方向。在二维图像处理中,可用gradient来检测灰度值的边缘。
对于向量场F: Rn-> Rm, Jacobian的每一行实际都是一个梯度。且有 F(X)=F(P)+J(P)(X-P)+O(||X-P||) 这个式子的每一行都是一个分量的局部线性化。
考虑一个二维的数字图像线性变换(Homography, image warping), 以有限差分代替微分,可作类似分析。
H: 像素(x,y)-->像素(u,v)
u=u(x,y) v=v(x,y)
则其Jacobian为
[ u'(x) u'(y)]
[ v'(x) v'(y)]
反映了局部图像的变形程度。
最理想的情况 u'(x)=1,v'(y)=1,u'(y)=0,v'(x)=0.说明图像维持原状。
由于 dudv=|det(Jacobian(x,y))|dxdy (此式的有效性可参考换元法)
[注:]有的书上称det(Jacobian(x,y))为Jacobian.
说明面积微元改变的程度由|det(Jacobian(x,y))|决定
当|det(Jacobian(x,y))|=1时,说明面积不变,
当|det(Jacobian(x,y))|<1时,说明面积压缩,出现了像素丢失现象。
当|det(Jacobian(x,y))|>1时,说明面积扩张,需要进行像素插值。
另外,由Jacobian矩阵的特征值或奇异值,可作类似说明。可参考Wielandt-Hoffman定理
Hessian矩阵定义在标量函数上,对于矢量函数,则成为一个rank 3的张量。