文章目录

  • 引言
  • 矩总体认识
    • 零阶矩
    • 一阶矩
    • 二阶中心矩
      • 二阶中心矩方向特性
  • 参考文献

引言

 网上许多对于图像矩的分析都是直接给出结论,比如零阶原点矩和一阶矩可以表征质心,二阶中心矩可以表征方向,但为何如此并没有理论上的解释,本文从概率和线性代数出发给出一定的理论支撑。

矩总体认识

 图像的矩是用于描述图像中灰度值分布的一系列值,矩原本是概率论中的概念,存在一随机变量XXX,我们记其关于点ccc的n阶矩为E[(X−c)n]E[(X-c)^n]E[(X−c)n],当c=0c=0c=0时称之为原点矩,当c=E[x]c=E[x]c=E[x]时称之为中心矩。同理,如果存在两个随机变量X,YX,YX,Y,我们记我们记其关于点c1,c2c_1,c_2c1​,c2​的p+qp+qp+q阶矩为E[(X−c1)p(Y−c2)q]E[(X-c_1)^p(Y-c_2)^q]E[(X−c1​)p(Y−c2​)q],当c1=c2=0c_1=c_2=0c1​=c2​=0时称之为原点矩,当c1=E[x],c2=E[Y]c_1=E[x],c_2=E[Y]c1​=E[x],c2​=E[Y]时称之为中心矩。可以发现,一阶原点矩其实就是随机变量的均值,二阶中心矩就是随机变量的方差。
 在图像领域,我们将图像的在水平和竖直方向上的分布视为是两个随机变量X,YX,YX,Y,对应位置处的灰度值则是相应的概率值P(x,y)=f(x,y)P(x,y)=f(x,y)P(x,y)=f(x,y),虽并未显式的执行归一化操作,但我们可以直觉的理解为P(x0,y0)=x0,y0∑x∑yf(x,y)P(x_0,y_0)=\frac{x_0,y_0}{\sum_x\sum_yf(x,y)}P(x0​,y0​)=∑x​∑y​f(x,y)x0​,y0​​。值得注意的是在求取图像的矩时,我们通常会对图像进行二值化,隐含的考量是我们只关心某位置处是否为前景,而不在乎前景的内容是什么,所有位置同等重要,即P(x1,y1)=P(x2,y2),x1,x2=0,1,...,W,y1,y2=0,1,...,HP(x_1,y_1)=P(x_2,y_2),x_1,x_2=0,1,...,W,y_1,y_2=0,1,...,HP(x1​,y1​)=P(x2​,y2​),x1​,x2​=0,1,...,W,y1​,y2​=0,1,...,H。如下给出图像相应阶次矩的公式及分析1

零阶矩

m00=∑∑f(x,y)(4)m_{00}=\sum\sum f(x,y)\tag{4}m00​=∑∑f(x,y)(4)
零阶矩从概率上的角度理解无甚特殊,就是概率和1;从图像的角度上来理解则是图像的灰度值总和(二值化图像则是前景的面积)。

一阶矩

m10=∑∑xf(x,y)m01=∑∑yf(x,y(5)m_{10}=\sum\sum xf(x,y)\\ m_{01}=\sum\sum yf(x,y\tag{5}m10​=∑∑xf(x,y)m01​=∑∑yf(x,y(5)
一阶矩类似于边缘概率密度,m10m_{10}m10​实际描述了图像灰度值在xxx上分布的期望,即将图像从二维坍缩至一维,概率变为m10=g(x0)=∑yf(x0,y)m_{10}=g(x_0)=\sum_y f(x_0,y)m10​=g(x0​)=∑y​f(x0​,y),求得E[X]=∑xg(x)E[X]=\sum_xg(x)E[X]=∑x​g(x)。但正如前面提到的,这里的概率或者说灰度值f(x,y)f(x,y)f(x,y)没有归一,无法反映真实的期望,所以我们要进行额外的归一化操作,结果即为xc=m10m00x_c=\frac{m_{10}}{m_{00}}xc​=m00​m10​​,同理得yc=m01m00y_c=\frac{m_{01}}{m_{00}}yc​=m00​m01​​。这也就解释了质心和矩的关系,质心描述了图像灰度值分布在x,yx,yx,y方向上分布的期望值,拥有前后,左右等灰度值的意义,而一阶矩正是在描述边缘分布。

二阶中心矩

μ20=∑∑(x−xc)2f(x,y)μ02=∑∑(y−yc)2f(x,y)μ11=∑∑(x−xc)(y−yc)f(x,y)(6)\mu_{20}=\sum\sum (x-x_c)^2f(x,y)\\ \mu_{02}=\sum\sum (y-y_c)^2f(x,y)\\ \mu_{11}=\sum\sum (x-x_c)(y-y_c)f(x,y)\tag{6} μ20​=∑∑(x−xc​)2f(x,y)μ02​=∑∑(y−yc​)2f(x,y)μ11​=∑∑(x−xc​)(y−yc​)f(x,y)(6)
有了前面对于一阶矩的概率介绍,二阶矩的概念也就水到渠成了,二阶矩实际是在描述图像灰度值在x,yx,yx,y方向上分布的方差,同样的为了体现概率的归一性质,实际的方差σx2=μ20m00,σy2=μ02m00\sigma_x^2=\frac{\mu_{20}}{m_{00}},\sigma_y^2=\frac{\mu_{02}}{m_{00}}σx2​=m00​μ20​​,σy2​=m00​μ02​​。如此我们就可以更加清楚的理解式(3)的含义了,其实就是类似于正态分布中的3σ3\sigma3σ法则,通过分布的标准差来确定一个经验区域尽可能的包含所有取值。也因此在许多论文中我们也能看到这样的表述:
W1=2∗kμ20H1=2∗kμ02(7)W_1=2*k\sqrt{\mu_{20}}\\ H_1=2*k\sqrt{\mu_{02}}\tag{7}W1​=2∗kμ20​​H1​=2∗kμ02​​(7)
实际上这是忽略了概率的归一化特性,在实际编程过程中我们会发现这么计算会使得W1,H1W_1,H_1W1​,H1​远远大于实际大小。

二阶中心矩方向特性

 此外,额外介绍一个二阶中心矩很有意思的特质,二阶中心矩可以用来确定目标物体的主轴和方向角,之前看过的介绍中都是不加解释的给出这一结论,没有详细的推导和证明,现给出理论解释和公式推导如下。
为了求出目标物体的方向,我们需要定义图像的方向,这个方向应当是一个单位向量的相角(主轴的相角),那么自然而然的这个单位向量应该能最大程度的保留原始图片的信息,也就是图片上所有点在其上的投影值之和最大,假定这样一个单位向量为rrr。又由于我们考虑的方向是对于图像本身而言,应当具有平移不变性,因此所有点的位置都应是对图像的质心坐标系而言,则原图中的所有点可以记为:
A=[x0−xcy0−ycx1−xcy1−yc......xN−xcyN−yc]A=\begin{bmatrix} x_0-x_c&y_0-y_c\\ x_1-x_c&y_1-y_c\\ ...&...\\ x_N-x_c&y_N-y_c \end{bmatrix}A=⎣⎢⎢⎡​x0​−xc​x1​−xc​...xN​−xc​​y0​−yc​y1​−yc​...yN​−yc​​⎦⎥⎥⎤​
而我们的目标是找到一个单位向量r∈R2r\in R^2r∈R2使得AAA中所有行向量在其上的投影值之和最大,这是一个典型优化问题如下
max:12(Ar)T(Ar)s.t.∣∣r∣∣22=1max:\quad \frac{1}{2}(Ar)^T(Ar)\\ s.t. ||r||^2_2=1 max:21​(Ar)T(Ar)s.t.∣∣r∣∣22​=1
而目标函数中的ATAA^TAATA正是随机变量X,YX,YX,Y的协方差矩阵:
C=1m00[μ20μ11μ11μ02]C=\frac{1}{m_{00}}\begin{bmatrix} \mu_{20}&\mu_{11}\\ \mu_{11}&\mu_{02} \end{bmatrix}C=m00​1​[μ20​μ11​​μ11​μ02​​]
那么前面的问题可以转化为:
max:12rTCrs.t.∣∣r∣∣22=1max:\quad \frac{1}{2}r^TCr\\ s.t. ||r||^2_2=1 max:21​rTCrs.t.∣∣r∣∣22​=1
而由拉格朗日乘子法2对该问题求解我们可以得到,唯一能使目标函数最大化(或最小化)的是CCC的特征向量,最大值(最小值)即为特征值,而CCC的两个特征向量正好是正交的单位向量3,我们就此确定了图像的方向即为协方差矩阵的较大特征值对应特征向量的方向
 更进一步的,由于我们知道图像有两个相互正交的特征向量,图像在其上的投影值分别为最大和最小,我们可以将其分别定义为图像的长轴和短轴,从而设计出了一个与原图相对应的椭圆,用椭圆的方向来代替图像的方向。这样一个椭圆可以用一个正定二次型矩阵来描述4,也就是用协方差矩阵CCC来描述,我们又有一个正椭圆的表达式为5
x2a2+y2b2=1\frac{x^2}{a^2}+\frac{y^2}{b^2}=1a2x2​+b2y2​=1
其对应正定二次形矩阵为:
[1a2001b2]\begin{bmatrix} \frac{1}{a^2}&0\\ 0&\frac{1}{b^2}\\ \end{bmatrix}[a21​0​0b21​​]
将其绕原点逆时针旋转可得其上点的坐标变换为(参见图像的仿射变换):
u=xcosα−ysinαv=xsinα+ycosαu=xcos\alpha-ysin\alpha\\ v=xsin\alpha+ycos\alpha u=xcosα−ysinαv=xsinα+ycosα
则旋转后的椭圆满足:
(ucosα+vsinα)2a2+(usinα−vcosα)2b2=1\frac{(ucos\alpha+vsin\alpha)^2}{a^2}+\frac{(usin\alpha-vcos\alpha)^2}{b^2}=1a2(ucosα+vsinα)2​+b2(usinα−vcosα)2​=1
化为标准参数形态则为:
(cos2αa2+sin2αb2)x2+2cosαsinα(1a2−1b2)xy+(sin2αa2+cos2αb2)y2=1(\frac{cos^2 \alpha}{a^2}+\frac{sin^2\alpha}{b^2})x^2+2cos\alpha sin\alpha (\frac{1}{a^2}-\frac{1}{b^2})xy+(\frac{sin^2 \alpha}{a^2}+\frac{cos^2\alpha}{b^2})y^2=1(a2cos2α​+b2sin2α​)x2+2cosαsinα(a21​−b21​)xy+(a2sin2α​+b2cos2α​)y2=1
其对应正定二次形矩阵为:
[cos2αa2+sin2αb2cosαsinα(1a2−1b2)cosαsinα(1a2−1b2)sin2αa2+cos2αb2]\begin{bmatrix} \frac{cos^2 \alpha}{a^2}+\frac{sin^2\alpha}{b^2}&cos\alpha sin\alpha (\frac{1}{a^2}-\frac{1}{b^2})\\ cos\alpha sin\alpha (\frac{1}{a^2}-\frac{1}{b^2})&\frac{sin^2 \alpha}{a^2}+\frac{cos^2\alpha}{b^2}\\ \end{bmatrix}[a2cos2α​+b2sin2α​cosαsinα(a21​−b21​)​cosαsinα(a21​−b21​)a2sin2α​+b2cos2α​​]
这个矩阵就和之前的协方差矩阵是一一对应的,从而我们可以求出:
tan(2α)=2μ11μ20−μ02tan(2\alpha)=\frac{2\mu_{11}}{\mu_{20}-\mu_{02}}tan(2α)=μ20​−μ02​2μ11​​
至此完成了图像方向角的求解,求出的α\alphaα图像主轴和x轴正方向的夹角,当α>0\alpha>0α>0时为逆时针旋转,否则为顺时针旋转。但值得注意的是这一推导是建立在笛卡尔坐标系的状况下,而在图像坐标系中默认是以左上角为坐标原点,越往下y值越大,这于常见的笛卡尔坐标系是相反的,因此此时如果我们仍以普遍的左下角为原点来观测图像,则由上式求得的角度要取反才符合一般认知。
代码部分可参见1

参考文献


  1. 一文弄懂图像的矩和相关应用 ↩︎ ↩︎

  2. 机器学习 CS229 01:线性代数(含有笔记 ↩︎

  3. 协方差矩阵特征值的几何意义 ↩︎

  4. 矩阵特征值和椭圆长短轴的关系? ↩︎

  5. 标准椭圆和任意椭圆方程之间的变换公式推导 ↩︎

图像原点矩、二阶中心矩物理意义推导相关推荐

  1. 图像的频谱特性物理意义:

    一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜.棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定. 傅里叶变换可以看作是数学上的棱镜,将函数基于频率分解为不同的成分.当我们考 ...

  2. 图像傅立叶变换的物理意义

    原文:http://blog.csdn.net/dadaadao/article/details/6093882 傅立叶变换可以看做拉普拉斯变换的特殊形式.拉氏变换就是将原时域函数乘上一个与 σ相关的 ...

  3. 图像的傅里叶变换,二维傅里叶变换的物理意义

    从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换.它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分.在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变 ...

  4. 图像傅立叶变换的原理和物理意义

    图像傅立叶变换的原理和物理意义 图像的傅立叶变换,原始图像由N行N列构成,N必须是基2的,把这个N*N个包含图像的点称为实部,另外还需要N*N个点称为虚部,因为FFT是基于复数的,如下图所示: (// ...

  5. 傅立叶变换物理意义解析进阶

    1.为什么要进行傅里叶变换,其物理意义是什么? 傅立叶变换是数字信号处理领域一种很重要的算法.要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义.傅立叶原理表明:任何连续测量的时序或信号,都可以表 ...

  6. 傅里叶变换,其物理意义是什么?(转)

    1 .为什么要进行傅里叶变换,其物理意义是什么? 傅立叶变换是数字信号处理领域一种很重要的算法.要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义.傅立叶原理表明:任何连续测量的时序或信号,都可以 ...

  7. 傅立叶变换的物理意义(转)

    通俗易懂的傅立叶分析入门   http://download.csdn.net/source/2209943 1.为什么要进行傅里叶变换,其物理意义是什么? 傅立叶变换是数字信号处理领域一种很重要的算 ...

  8. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义

    卷积:  冲击信号会对线性系统产生冲击响应.  冲击信号可分解为平移度和幅度.其对线性系统的冲击响应可以分解为点点间的经平移和缩放的各个冲击响应的累加,通过卷积的表达式表示.  所谓的冲击响应,就是线 ...

  9. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义。

    个人感觉很不错的一篇文章 卷积:  冲击信号会对线性系统产生冲击响应.  冲击信号可分解为平移度和幅度.其对线性系统的冲击响应可以分解为点点间的经平移和缩放的各个冲击响应的累加,通过卷积的表达式表示. ...

  10. bp神经网络推导以及物理意义

    bp神经网络的背景我们不在做过多的介绍,就是模拟神经元,进行分类训练.他的物理意义是什么呢,就是每个神经元对应我们计算中的滤波器,当他"看到"某个图片或者某组数据,反应就特别强烈, ...

最新文章

  1. Android -- TextView与EditText 同步显示
  2. SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-
  3. 1036: [ZJOI2008]树的统计Count
  4. JavaScript DOM编程艺术 - 读书笔记1-3章
  5. 计算机软件硬件试讲,试讲:初识计算机网络
  6. php修改数据库字段为空,为何修改信息后数据库表中内容为空
  7. java里面数字四舍五入,Java数字的四舍五入
  8. paip.提升用户体验---c++ QLabel标签以及QLineEdit文本框控件透明 设置
  9. 淘宝如何营利-枪口直指银行
  10. linux查看trunk信息,linux网卡启用trunk模式操作标准.docx
  11. Android原生框架--Xui使用
  12. matlab 插值多项式实现
  13. 车道线检测预处理(1)------ 融合白线黄线+高斯
  14. 微信小程序之weui的引用及使用说明
  15. 计算机解题的过程实际上是实施某种算法,计算机等级考试二级C考点.doc
  16. 工业镜头倍率及视场范围、焦距的计算方法
  17. C语言学习——极限值
  18. python能做些什么事_一起来看看Python能干什么?使用Python能做哪些事
  19. 中职学校计算机基础的重要性,自学能力论文,关于浅淡培养中职学生计算机自学能力的重要性和方法相关参考文献资料-免费论文范文...
  20. word标题4降级标题5无法显示

热门文章

  1. python span 抓取_如何用python爬取两个span之间的内容
  2. KMPlayer 双重字幕设置和配色方案
  3. 20200528 前端开发日报
  4. 【ArcGIS Server】切片时C盘空间不足(本地缓存目录空间不足)
  5. STM32驱动BMP280模块
  6. 怎么批量在多个文件夹名称后面加上数字序号或者日期时间序号?
  7. ADAS高级驾驶辅助系统功能介绍
  8. python常用方法技巧使用总结
  9. PS像素,分辨率的概念
  10. 豫科技版计算机七年级上册,七年级下册信息技术教案第一单元第一课《制作新春灯笼》豫科技版.doc...