物理意義
數學中矩的概念來自物理學。在物理學中,矩是表示距離和物理量乘積的物理量,表征物體的空間分布。由其定義,矩通常需要一個參考點(基點或參考系)來定義距離。如力和參考點距離乘積得到的力矩(或扭矩),原則上任何物理量和距離相乘都會產生力矩,質量,電荷分布等。
單個點的力矩:
多個點則是積分得空間密度
如果點表示質量,則第零矩是總質量,一階矩是重心,二階矩是 轉動慣量
還有一個多極矩的概念,設計到極坐標系和球面坐標,就不多說了link
數學意義
矩是物體形狀識別的重要參數指標。在統計學中,矩表征隨機量的分布。如一個“二階矩”在一維上可測量其“寬度”,在更高階的維度上由於其使用於橢球的空間分布,我們還可以對點的雲結構進行測量和描述。其他矩用來描述諸如與均值的偏差分布情況(偏態),或峰值的分布情況(峰態)
定義在實數域的實函數相對於值c的n階矩為:
如果點表示概率密度,則第零階矩表示總概率(即1),1,2,3階矩依次為以下三項。數學中的概念與物理學中矩的概念密切相關。
- 期望
隨機變量的期望定義為其一階原點矩:$E(x)=\int_{-\infty}^{\infty} x\,f(x)\,dx $ 在方差等定義中,期望也成為隨機變量的“中心”。
顯然,任何隨機變量的一階中心據為0。
對於以下二階及更高階的矩,通常使用中心矩(圍繞平均值c的矩,均值是一階矩),而不是原點矩,因為中心矩能更清楚的體現關於分布形狀的信息。 - 方差
隨機變量的方差定義為其二階中心矩:$ Var(x)=\int_{-\infty}^{\infty} [x-E(x)]^2 \,f(x)\,dx $ 歸一化矩
歸一化n階中心矩或者說標准矩,是n階中心矩除以標准差 $\sigma^n $,歸一化n階中心矩為$x=\frac{E[(x-\mu)^n]}{\sigma^n} $
這些歸一化矩是無量綱值,表示獨立於任何尺度的線性變化的分布。舉個栗子,對於電信號,一階矩是其DC(直流)電平,二階矩與平均功率成比例。 - 偏態
隨機變量的偏態(衡量分布不對稱性)定義為其三階中心矩:$ S(x)=\int _{-\infty }^{\infty }[x-E(x)]^{3}\,f(x)\,dx$
需要注意,任何對稱分布偏態為0,歸一化三階矩被成為偏斜度,向左偏斜(分布尾部在左側較長)具有負偏度(失效率數據常向左偏斜,如極少量的燈泡會立即燒壞),向右偏斜分布(分布尾部在右側較長)具有正偏度(工資數據往往以這種方式偏斜,大多數人所得工資較少)。
- 峰度
一般隨機變量的峰度定義為其四階中心矩與方差平方的比值再減3,減3是為了讓正態分布峰度為0,這也被稱為超值峰度:$ K(x)=\frac{\int _{-\infty }^{\infty }[x-E(x)]^{4}\,f(x)\,dx}{\sigma^2}-3$
峰度表示分布的波峰和尾部與正態分布的區別,峰度有助於初步了解數據分布的一般特征。
完全符合正態分布的數據峰度值為0,且正態分布曲線被稱為基線。如果樣本峰度顯著偏離0,就可判斷此數據不是正態分布。
-
混合矩
混合矩是多個變量的矩,比如協方差,協偏度,協峰度。雖然協方差只有一個,但協偏度和協峰度存在多個。 - 中心轉換
由於:
$(x-b)^n=(x-a+a-b)^n=\sum\limits_{i=0}^n \left( \begin{array}{c} c\\r \end{array} \right) (x-a)^i (a-b)^{n-i} $
所以:$E[(x-b)^n]= \sum\limits_{i=0}^n \left( \begin{array}{c} c\\r \end{array} \right) E[(x-a)^i](a-b)^{n-i} $ - 累加性
當x和y是獨立變量時,
$m_1(x+y)=m_1(x)+m_1(y) \\ Var(x+y)=Var(x)+Var(y)\\\mu_3(x+y)=\mu_3(x)+\mu_3(y) $ - 樣本矩
矩常常通過樣本矩來估計,這種方法不需要先估計其概率分布。$\mu '_{n}\approx {\frac {1}{N}}\sum _{i=1}^{N}X_{i}^{n}$
對於任何樣本大小,原始樣本矩的期望值等於群體的k階矩(若存在)。
圖像意義
在圖像處理,計算機視覺和相關領域中,一個圖像矩是圖像像素強度的某個特定加權平均(矩),或者是這樣的矩的函數,通常選擇具有一些有吸引力的特性或解釋。
圖像矩對於分割之后對象的描述是有用的。通過圖像矩得到的圖像的簡單屬性包括面積(或總強度),其質心和關於其方向的信息。
-
原點矩
對一個二維連續函數$f(x,y)$,第$(p+q)$個點的矩(原點矩)被定義為$M_{pq} = \int\limits_{-\infty}^{\infty} \int\limits_{-\infty}^{\infty} x^p y^q \,f(x,y) \,dx \,dy \quad \quad p,q=0,1,2,...$
照這個思路,像素強度為$I(x,y)$的灰度圖,原點矩為:$M_{ij}=\sum\limits_x \sum\limits_y x^i y^i I(x,y)$
有些情況下,也可以把圖像看成概率密度函數來計算 $\sum\limits_x \sum\limits_y x^i y^i I(x,y)$
唯一性定理(Hu[1962])指出,如果$f(x,y)$是分段連續的並且僅在xy平面的有限部分中具有非零值,則存在所有階的矩,並且矩序列$M_pq$由$f(x,y)$唯一確定。 反之,中心矩$M_pq$唯一確定$f(x,y)$。
在實踐中,圖像被概括為具有幾個較低階矩的函數。
舉個栗子,Opencv中moment函數從原點矩中獲得的簡單圖像屬性
- 面積(二值圖)或灰度和(灰度圖):M00
- 質心:$ {\bar{x},\bar{y}}={ \frac{M10}{M00},\frac{M01}{M00} }$
vector<Moments> mu(contours.size() ); vector<Point2f> mc(contours.size() ); mu[c] = moments( contours[i], false ); double area=mu[c].m00 ; mc[c] = Point2f( mu[c].m10/mu[c].m00 , mu[c].m01/mu[c].m00 );
- 中心矩
中心矩被定義為:$\mu_{pq}=\int\limits_{-\infty}^{\infty} \int\limits_{-\infty}^{\infty} (x-\bar{x})^p (y-\bar{y})^q \,f(x,y) \,dx\,dy \quad \bar{x}=\frac{M_{10}}{M_{00}} ,\bar{y}=\frac{M_{01}}{M_{00}} $
如果是數字圖像,則等式變為$\mu_{pq}=\sum\limits_x \sum\limits_y (x-\bar{x})^p (y-\bar{y})^q\,f(x,y)$ 3階及以下中心矩依次為:
$ \mu_{00}=M_{00},\\ \mu_{01}=0,\\\mu_{10}=0,\\ \mu_{11}=M_{11}-\bar{x}M_{01}=M_{11}-\bar{y}M_{10},\\ \mu_{20}=M_{20}-\bar{x}M_{10},\\ \mu_{02}=M_{02}-\bar{y}M_{01},\\ \mu_{21}=M_{21}-2\bar{x}M_{11}-\bar{y}M_{20}+2\bar{x}^2M_{01},\\ \mu_{12}=M_{12}-2\bar{y}M_{11}-\bar{x}M_{02}+2\bar{y}^2M_{10},\\ \mu_{30}=M_{30}-3\bar{x}M_{20}+2\bar{x}^2M_{10},\\ \mu_{03}=M_{03}-3\bar{y}M_{02}+2\bar{y}^2M_{01}, $
總結出來就是$\mu_{pq}=\sum\limits_x \sum\limits_y \left( \begin{array}{c} p\\m \end{array} \right) \left( \begin{array}{c} q\\n \end{array} \right) (-\bar{x})^{p-m} (-\bar{y})^{q-n} M_{mn} $
中心矩具有平移不變性
舉個栗子
圖像方向的信息可以通過首先使用二階中心矩來構造協方差矩陣導出(底下這個式子很明顯就是矩陣降維)
其中,圖像上一點$I(x,y)$的協方差矩陣為
矩陣的特征向量對應於圖像強度的長軸和短軸,因此可以從與最大特征值相關聯的特征向量的角度朝向最靠近該特征向量的軸提取取向。可以證明,該角度$\theta$可由以下公式得出:
協方差矩陣的特征值可以表示為:
且特征值與特征向量軸的長度的平方成比例。特征值的幅度的相對差異體現了圖像的偏心特性或者說他多細長。偏心率是:
-
矩不變性
矩因為其在圖像分析上的應用廣為人知,由於他們可以被用於導出關於特定變換類的不變量。,
在這種情況下,不變矩這個術語常被濫用。然而,雖然矩不變量是從矩中形成的不變量,不變量本身的唯一矩是中心矩。
注意下面的詳細的不變量僅在連續區間保持不變性。在離散區間,尺度和旋轉都不能很好的形成,離散圖像轉換是近似的,且變換不可擬。因此,當描述離散圖像中的形狀時,這些不變量僅是近似不變的。- 平移不變性
通過構造,任意階中心矩$\mu_{ij}相對於平移都是不變的。 - 尺度不變性
相對平移和尺度的不變量$\eta_{ij}$可以通過適當的縮放零階中心矩陣從中心矩構建 $\eta_{ij}=\frac{\mu_{ij}}{\mu_{00}^{1+\frac{i+j}{2}} } \quad i+j \geq 2$
注意平移不變量僅僅在中心矩時直接跟隨使用。 - 旋轉不變性
正如Hu等人的工作所示,可以構建關於平移、放縮和旋轉的不變量:
- 平移不變性
這就是眾所周知的HU矩不變量。
第一個,I1,類似於圍繞圖像的質心的轉動慣量,像素強度類似於物理密度。
最后一個,I7,傾斜不變性,有能力區分其他相同圖像的鏡像。(不懂)
J. Flusser提出了推導完整和獨立的旋轉矩不變量集合的一般理論。他所傳統的Hu矩既不獨立也不完全。I3並不是非常有用,因為他不獨立,依賴於其他不變量。原始的Hu集合中有一個缺失的三階獨立不變矩。
后來,J.Flusser和T.Suk就專門研究N旋轉對稱形狀的情況。
點雲意義
PCL 關於矩的使用有兩個,一個是pcl::MomentInvariantsEstimation
,估計每個3D點處的三個矩不變量(j1,j2,j3)
。另一個就是 pcl::MomentOfInertiaEstimation
類 。可以獲得基於偏心率和轉動慣量的描述符。還能提取點雲的對齊軸和定向邊界框。
Note:提取的邊界框不是最小可能的邊界框。
- 理論入門
先講特征提取的idea。首先計算點雲的協方差矩陣,並提取其特征值和向量。你也可以想象成歸一化合成的特征向量,且總是形成右手坐標系(主特征向量表示x軸,次向量表示z軸)。下一步執行迭代。每次迭代過程中,主特征向量旋轉。旋轉順序不變,且圍繞其他特征向量執行。這提供了點雲的旋轉不變性。因此,我們把這個旋轉的主矢量當成當前軸。
對於每個當前軸,計算轉動慣量。另外,當前軸已被用來計算偏心率。因此,當前向量被看成平面法向量,並且將輸入的點雲投影到他上面。根據所獲得的投影計算偏心率。
當然,這個類還提供了獲取Axis Aligned Bounding Box(AABB)和Oriented bounding box(OBB)的接口。將AABB作為特征向量計算OBB。pcl提供了一個示例,來體會矩的計算。
參考: