镜像矩阵(Reflection)

        镜像(反射)矩阵是n维空间中的沿n-1维平面的一种矩阵变换,常见的应用场景是在2维空间图像处理、3维空间物体场景变换。先直观看看镜像变换的效果:

                                                 镜像矩阵(Reflection)_第1张图片

        直观的感受了镜像变换的效果之后,接下来我们看看这个变换的数学表达式是什么样的。首先n维度空间的镜像变换是基于某个n-1维度平面(对于2维度就是某条直线)来说的,线性代数的知识知道n维空间的n-1维平面存在法向量,假设u=(u_{1},u_{2},...,u_{n})是要做镜像平面的单位法向量,单位法向量||u||=1,定义镜像矩阵Q=I-2uu^{T}

        1. Q是对称和标准正交的,\because Q^{T}=(I-2uu^{T})^{T}=I-2uu^{T}\therefore Q是对称的。\becauseQ^{T}Q=I-4uu^{T}+4uu^{T}uu^{T}=I\thereforeQ是标准正交的。如果对矩阵运算背后的原理不太熟悉,我们也可以将Q展开:

        Q=I-2uu^{T}=\begin{bmatrix} 1-2u_{1}^{2} &-2u_{1}u_{2} &... &-2u_{1}u_{n} \\ -2u_{2}u_{1}&1-2u_{2}^{2} &... &-2u_{2}u_{n} \\ ...& ... & ... &... \\ -2u_{n}u_{2} & -2u_{n}u_{2} &... & 1-2u_{n}^{2} \end{bmatrix}

        由Q的矩阵展开形式,很明显看到Q_{ij}=Q_{ji}=-2u_{i}u_{j},i\neq j,所以Q是对称的。标准正交:q_{i},q_{j}是Q的两列,由标准正交的定义,需要满足如下条件:

        q_{i}q_{j}=\begin{cases} 0& \text{ if } x\neq j \\ 1& \text{ if } x=j \end{cases}

        q_{i}q_{j}=(1-2u_{i}^2)^{2}+4u_{i}^2u_{1}^2+...+4u_{i}^{2}u_{n}^2

                =1+4u_{i}^4-4u_{i}^2+4u_{i}^2u_{1}^2+...+4u_{i}^{2}u_{n}^2

                =1+4u_{i}^2(u_{1}^{2}+...+u_{n}^{2})-4\overset{||u||^{2}=1}{\rightarrow}

                =1 (i=j)

         q_{i}q_{j}=(1-2u_{i}^2)(-2u_{i}u{j})+(1-2u_{j}^{2})(-2u_{j}u_{i})+4u_{i}u_{j}u_{1}^2+...4u_{i}u_{j}u_{k}^2...+4u_{i}u_{j}u_{n}^2,k\neq i,j

                      =-4u_{i}u_{j}+4u_{i}u{j}(u_{1}^2+...+u_{n}^2)

                      =0

         2.Q^{2}=Q^{T}Q=I,这条性质反应了镜像的特点,镜像两次等于原空间。

        上面是镜像矩阵的定义和它的一些性质和推导,那么我们再做一点深层次的思考:为什么镜像的表达会是一个矩阵变换,如果我做旋转是不是也是一个矩阵变换?首先,问题2的答案:YES,2维空间的旋转的变换矩阵是:\begin{bmatrix} cos\Theta & -sin\Theta \\ sin\Theta& cos\Theta \end{bmatrix}

        对于问题1,矩阵变换的本质可以理解成坐标系的变换,对于镜像和旋转我们都是对原坐标系中的向量(坐标系中的点可以表示成原点指向该点的向量)用新的坐标系中的基进行了表示。比如二维直角坐标系x0y的坐标基向量是(1,0)和(0,1),如果用矩阵表示:\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix},基向量就是矩阵的列向量,(1,1)点这个坐标系下的坐标(x,y)由方程组\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix}=\begin{bmatrix} 1\\ 1 \end{bmatrix}求得(x,y)=(1,1)因为在原坐标系下,假设我们对(1,1)点做沿x轴做镜像,这里的镜像很简单,x轴和原坐标系相同,y轴与原坐标系反号,所以镜像之后新的坐标系基向量是(1,0)和(0,-1)(如果你通过上面的镜像公式可以求得同样的答案,u=(0,1)),新的坐标系的矩阵表示\begin{bmatrix} 1 &0 \\ 0 &-1 \end{bmatrix},原坐标系下(1,1)点在新坐标系下的坐标有方程组\begin{bmatrix} 1 &0 \\ 0 &-1 \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix}=\begin{bmatrix} 1\\ 1 \end{bmatrix}求得(x,y)=(1,-1),和我们直观认知一样:

                                                     镜像矩阵(Reflection)_第2张图片

        最后我们说说2维度空间和3维空间的镜像矩阵的表达式,首先是2维空间,对于2-D空间的某个条直线做镜像,假设该直线的单位法向量u(x,y),由Q=I-2uu^{T}计算得到2-D空间的镜像矩阵:

        Q_{2d}=\begin{bmatrix} 1-2x^{2} &-2xy \\ -2xy& 1-2y^{2} \end{bmatrix}

        对于3-D空间的某平面做镜像:

        Q_{3d}=\begin{bmatrix} 1-2x^{2} &-2xy &-2xz \\ -2xy& 1-2y^{2} &-2yz \\ -2xz& -2yz &1-2z^{2} \end{bmatrix}

        镜像矩阵的另一种表示形式:Q'=2P-I, 其中P是投影矩阵,这个表达式和Q=I-2uu^{T}等价。我们证明一下2纬空间沿着某条线做镜像的情况下这两个矩阵的等价性。

证明:

        假设a是P投影方向上的单位向量,u是垂直与投影方向上的单位向量,那么p=aa^{T},Q'=2P-I=2aa^{T}-I

        Q'-Q=2aa^{T}+2uu^{T}-2I=\begin{bmatrix} 2a_{1}^{2}+2u_{1}^{2} -2 &2a_{1}a_{2}+2u_{1}u_{2} \\ 2a_{2}a_{1}+2u_{2}u_{1}&2a_{2}^{2}+2u_{2}^2-2 \end{bmatrix}

        假设a与x轴的夹角为\theta,那么u与x轴的夹角为\theta +\pi /2,那么:

         a_{1}=cos\theta ,a_{2}=sin\theta

        u_{1}=cos(\theta+\pi/2)=-sin(\theta),u_{2}=sin(\theta+\pi/2)=cos\theta

        带入Q’-Q中得到:

        2a_{1}^{2}+2u_{1}^{2}-2=0

        2a_{2}^{2}+2u_{2}^{2}-2=0

        2a_{1}a_{2}+2u_{1}u_{2}=0

        所以Q'-Q=0,所以Q'-Q得证。

 

 

 

你可能感兴趣的:(数学,线性代数,图像处理)