matlab 投票法_二维解析张量投票算法研究
張量投票(Tensor voting)理論是一種經(jīng)典的顯著性結(jié)構(gòu)特征推理理論, 最初由南加利福尼亞大學(xué)Guy等首先提出[.其基本思想源于心理學(xué)領(lǐng)域的Gestalt原理, 即:人類視覺系統(tǒng)趨于根據(jù)某種準(zhǔn)則將所提取到的圖像特征按照某種規(guī)律編組為更高層的結(jié)構(gòu)[.張量投票本意在于從帶有強(qiáng)噪聲、離群點(diǎn)的三維點(diǎn)云中推理隱含的結(jié)構(gòu)特征[.在隨后的近20年中, 張量投票因其強(qiáng)大的顯著性結(jié)構(gòu)推理能力受到了國(guó)內(nèi)外學(xué)者的廣泛關(guān)注.經(jīng)過不斷的完善, 已成功應(yīng)用于圖像處理、點(diǎn)云處理、計(jì)算機(jī)視覺等多個(gè)領(lǐng)域[.具有代表性的研究成果有: Tang等應(yīng)用張量投票實(shí)現(xiàn)了強(qiáng)噪聲三維點(diǎn)云中采樣點(diǎn)主曲率及其方向的魯棒估計(jì), 避免了傳統(tǒng)曲率估計(jì)方法由于曲面擬合及求導(dǎo)造成的噪聲敏感問題[; Tong等將張量投票用于二維圖像和三維點(diǎn)云數(shù)據(jù)的邊界結(jié)構(gòu)推理中, 實(shí)現(xiàn)了存在離群點(diǎn)、噪聲、方向不連續(xù)等因素下, 三維點(diǎn)云曲面邊界、二維人腦MRI影像的邊界結(jié)構(gòu)推理[; 此外, Tong等還將4D張量投票用于非靜態(tài)場(chǎng)景的對(duì)極幾何參數(shù)估計(jì)[, 該方法采用一種非迭代推理機(jī)制求取對(duì)極幾何參數(shù), 避免了傳統(tǒng)的基于優(yōu)化的參數(shù)估計(jì)中初值敏感、局部極值效應(yīng)、參數(shù)空間維數(shù)對(duì)優(yōu)化過程影響等不利因素; Mordohai等將張量投票用于兩幅靜態(tài)圖像的匹配, 解決了在帶有離群點(diǎn)、缺失紋理信息情況下靜態(tài)圖像的可靠匹配問題[; Kim等基于張量投票提出了一種三角網(wǎng)格曲面$n$維特征識(shí)別方法, 實(shí)現(xiàn)了三角網(wǎng)格曲面幾何屬性特征和附加屬性(如顏色)特征的識(shí)別等[.當(dāng)前, 張量投票已成為感知分組和機(jī)器學(xué)習(xí)領(lǐng)域的經(jīng)典理論之一[.
盡管張量投票具有強(qiáng)大的結(jié)構(gòu)特征推理能力, 但計(jì)算效率一直是制約該理論進(jìn)一步應(yīng)用于工程實(shí)際最為關(guān)鍵的因素之一.究其根源, 造成該算法效率低的主要原因在于長(zhǎng)期以來傳統(tǒng)的張量投票過程一直無法得到解析形式求解表達(dá)式, 只能依賴數(shù)值計(jì)算進(jìn)行近似求解, 計(jì)算過程復(fù)雜、耗時(shí), 利用數(shù)值計(jì)算求解時(shí), 計(jì)算精度和計(jì)算效率之間存在矛盾[.近年來, 國(guó)內(nèi)外學(xué)者為解決上述問題不斷進(jìn)行探索, 具有代表性的研究成果有: Wu等提出了一種閉式張量投票算法(Closed-form solution to tensor voting, CFTV), 該算法通過構(gòu)造新的投票關(guān)系, 將積分式整理為一個(gè)新的數(shù)學(xué)表達(dá)式, 這在投票過程中就大大節(jié)省了計(jì)算時(shí)間[.然而, Maggiori等從理論分析到實(shí)際舉證兩個(gè)方面均證明了CFTV算法存在本質(zhì)性的錯(cuò)誤[.
為了解決傳統(tǒng)2D張量投票計(jì)算過程復(fù)雜、耗時(shí), 計(jì)算精度與計(jì)算效率存在矛盾的問題, 本文基于局部坐標(biāo)構(gòu)架, 設(shè)計(jì)了一種二維解析張量投票新機(jī)制, 推導(dǎo)了二維棒張量和二維球張量投票解析表達(dá)式, 應(yīng)用該表達(dá)式可實(shí)現(xiàn)二維棒張量和二維球張量的直接、快速、精確投票, 為二維圖像、二維點(diǎn)集的快速、魯棒結(jié)構(gòu)推理奠定基礎(chǔ).需特別指出的是, 本文研究方法可進(jìn)一步推廣至高維張量投票, 進(jìn)而用于高維數(shù)據(jù)結(jié)構(gòu)的精確、魯棒推理.
1 傳統(tǒng)張量投票算法
利用原始張量投票(Original tensor voting, OTV)算法進(jìn)行高維數(shù)據(jù)結(jié)構(gòu)推理, 從本質(zhì)上講是通過鄰近點(diǎn)之間傳遞(投票)張量(微分幾何信息)的機(jī)制, 從大量、不可靠(含有噪聲、離群點(diǎn)的、微分幾何信息估計(jì)不準(zhǔn)確的)推理其隱含的幾何結(jié)構(gòu)的一種方法.其機(jī)制類似于Hough變換, 且其應(yīng)用范圍更廣, 可推廣至$N$維.利用張量投票理論進(jìn)行顯著性結(jié)構(gòu)推理可以描述為如下三步:張量編碼、張量投票和張量分解, 如
圖 1(Fig. 1)
圖 1
傳統(tǒng)張量投票算法流程
Figure 1
Flow-chart of traditional tensor voting algorithm
在張量編碼階段, 根據(jù)已知信息(位置、法向、曲率等)將輸入數(shù)據(jù)(點(diǎn)云、三角網(wǎng)格曲面等)表示為一系列稀疏張量(由正定對(duì)稱矩陣表示), 若原始數(shù)據(jù)中只有位置信息, 則其被編碼為一系列單位矩陣; 在張量投票階段, 分別進(jìn)行稀疏投票和稠密投票, 兩者投票機(jī)制完全相同, 其區(qū)別在于:稀疏投票是對(duì)原始數(shù)據(jù)集中存在數(shù)據(jù)點(diǎn)的位置進(jìn)行投票, 以通過投票提高張量信息的準(zhǔn)確性, 稠密投票是對(duì)數(shù)據(jù)集分布空間內(nèi)的規(guī)則柵格點(diǎn)進(jìn)行投票, 形成稠密張量場(chǎng), 為后續(xù)的結(jié)構(gòu)特征推理服務(wù); 在張量分解階段, 對(duì)投票后的各張量矩陣進(jìn)行特征分解(在二維空間中, 分解為棒張量分量和球張量分量, 在三維空間中, 分解為棒張量分量、板張量分量和球張量分量), 獲得各張量分量及其顯著性, 進(jìn)而根據(jù)張量顯著性進(jìn)行結(jié)構(gòu)推理[.縱觀整個(gè)張量投票過程, 投票階段的精度和效率成為影響整個(gè)算法性能的關(guān)鍵.本文著重從投票過程入手, 研究提高張量投票算法精度和效率的方法.
${p}$進(jìn)行特征推理時(shí), 首先將其鄰近點(diǎn)${p_1}, {p_2}, {p_3}$, $\cdots$編碼為二階對(duì)稱張量${T_1}, {T_2}, {T_3}, \cdots$, 再將各張量矩陣分解為棒張量分量${T_{Si}}$和球張量分量${T_{Bi}}$, 張量分解過程如下:
圖 2(Fig. 2)
圖 2
二維張量投票示意圖
Figure 2
Illustration of tensor voting in 2D
若${T}$是二維空間中的二階對(duì)稱張量(非負(fù)定二階對(duì)稱矩陣), 則其可分解為
$
T=\lambda_1\pmb{e}_1\pmb{e}_1^{\rm{T}}+\lambda_2\pmb{e}_2\pmb{e}_2^{\rm{T}}
$
(1)
其中, ${\lambda_1}\geq{\lambda_2}\geq0$為${T}$的特征值, ${\pmb{e}_1}$和${\pmb{e}_2}$為對(duì)應(yīng)的特征向量. ${T}_S=(\lambda_1-\lambda_2)\pmb{e}_1\pmb{e}_1^{\rm T}$稱為$T$的棒張量分量, $\lambda_1-\lambda_2$為棒張量分量的顯著性; ${T}_B=\lambda_2(\pmb{e}_1 \pmb{e}_1^{\rm{T}}+\pmb{e}_2\pmb{e}_2^{\rm{T}})$稱為$T$的球張量分量, $\lambda_2$為球張量分量的顯著性.
在張量投票過程中, 鄰近點(diǎn)${p_i}$向點(diǎn)${p}$投出自己的選票(張量矩陣), 兩種張量分量各自投票, 點(diǎn)${p_i}$累計(jì)來自各鄰近點(diǎn)的棒張量投票和球張量投票, 用于推理自身的結(jié)構(gòu)特征.
1.1 二維棒張量投票
下面以二維法向張量投票為例簡(jiǎn)要介紹傳統(tǒng)棒投票過程.設(shè)如$o$處有一個(gè)棒張量$T=\pmb{v}\pmb{v}^{\rm{T}}$, 其中, $\pmb{v}=\left[\begin{array}{cccc} 0\\ 1 \end{array}\right]$, 則該棒張量在任一點(diǎn)$p$處的投票為$T_{so}(p)=$ $DF$ $\times$ $\pmb{v}'\pmb{v}'^{\rm{T}}$, 其中$DF$為衰減函數(shù), $\pmb{v}'$為用于構(gòu)建棒投票張量矩陣的單位向量.由此可知, 二維空間中的棒張量投票可表示為單位向量$\pmb{v}'$的估計(jì)問題.為此, 張量投票理論提出$\pmb{v}'$應(yīng)從點(diǎn)$p$指向連接$op$兩點(diǎn)的密切圓弧的圓心, 因?yàn)檫@條圓弧能夠保持曲率不變.
圖 3(Fig. 3)
圖 3
標(biāo)準(zhǔn)棒張量投票示意圖
Figure 3
Illustration of standard stick tensor voting
由$\pmb{v}'=\left[\begin{array}{cccc}-\sin(2\theta)\\ \cos(2\theta) \end{array}\right]$.傳統(tǒng)棒張量投票理論定義衰減函數(shù)$DF$如下:
$
DF(s, k, \theta)= {\rm e}^{-\frac{s^{2}+ck^{2}}{\sigma^{2}}}
$
(2)
其中, $s = \theta l/\sin \theta $為op兩點(diǎn)間弧長(zhǎng), $k = 2\sin \theta /l$為密切圓弧的曲率, $\sigma$為控制投票衰減速度的尺度因子, c為用于權(quán)衡距離和曲率的控制參數(shù).式(2)定義的主旨在于通過兩點(diǎn)間的距離以及兩點(diǎn)連線與$\pmb{v}$的關(guān)系控制不同投票位置和投票方向上張量投票的強(qiáng)度.由式(2)直接得到的衰減函數(shù)特性如$\theta$的范圍進(jìn)行限制, 即僅取$\theta\leq\pi/4$范圍內(nèi)的衰減函數(shù), 其他情況下衰減函數(shù)置0, 限定后的衰減函數(shù)特性如
圖 4(Fig. 4)
圖 4
傳統(tǒng)張量投票中的衰減函數(shù)特性
Figure 4
Demonstration of decay function in traditional tensor voting
為了計(jì)算二維平面中任意點(diǎn)${p}_i$處的棒張量(方向$\pmb{v}_i$可能為任意方向)向其鄰近點(diǎn)$p_j$的棒張量投票, 需要以點(diǎn)$p_i$為原點(diǎn), $\pmb{v}_i$方向?yàn)?{y}'$軸建立局部坐標(biāo)系, 如
圖 5(Fig. 5)
圖 5
任意兩點(diǎn)間棒張量投票坐標(biāo)變換示意圖
Figure 5
Illustration of stick voting coordinate transformation between any two points
設(shè)用于對(duì)齊坐標(biāo)系$oxy$與$ox'y'$的變換矩陣為$R$, 局部坐標(biāo)系$ox'y'$中估計(jì)$p_j$的方向向量為$\pmb{v}_j$, 則在全局坐標(biāo)系中由$\pmb{v}_i$估計(jì)得到的$\pmb{v}_j'$為
$
\pmb{v}_j'={R}\pmb{v}_j
$
(3)
因此, 可得點(diǎn)$p_i$對(duì)點(diǎn)$p_j$的棒張量投票$T_S$為
$
\begin{align}
&T_S(p_i, p_j)=T_{SO}(R_p)=\notag\\
&\qquad DF(s, k, \sigma)(R\boldsymbol{v}_j)(R\boldsymbol{v}_j)^{\rm{T}}=\notag\\
&\qquad DF(s, k, \sigma)R\boldsymbol{v}_j\boldsymbol{v}_j^{\rm{T}}R^{\rm{T}}
\end{align}
$
(4)
1.2 二維球張量投票
在傳統(tǒng)張量投票理論中, 將二維球張量投票表示為投票點(diǎn)處所有方向的棒張量投票的積分.如$p_i$對(duì)點(diǎn)$p_j$進(jìn)行球張量投票時(shí), 取平面內(nèi)點(diǎn)$p_i$處任意單位向量$\pmb{v}_\theta$, 應(yīng)用棒張量投票方法, 估計(jì)$p_j$接收到的方向向量$\pmb{v}_\theta'$, 再改變$\theta$并把所有產(chǎn)生的棒投票結(jié)果累加起來即為點(diǎn)$p_i$對(duì)$p_j$的球張量投票.該過程可表示為
圖 6(Fig. 6)
圖 6
由棒張量投票求取球張量投票
Figure 6
Ball tensor induced by stick tensor
式(5)即為傳統(tǒng)張量投票中二維球張量投票計(jì)算公式.然而, 由于任意方向棒張量投票和積分表達(dá)式中均引入了用于坐標(biāo)系對(duì)齊的變換矩陣$R_\theta$, 使得球張量投票解析表達(dá)式的求取變得異常困難, 在傳統(tǒng)的張量投票算法中只能采用數(shù)值積分逼近模擬積分, 即:以一定間隔對(duì)$\theta$在$0\sim2\pi$區(qū)間內(nèi)進(jìn)行等間隔采樣, 再將計(jì)算所得的各棒張量投票矩陣進(jìn)行累加, 以近似表示真實(shí)的二維球張量投票矩陣.通過分析不難發(fā)現(xiàn), 這樣的處理存在如下不足.
1)在進(jìn)行投票過程中需要頻繁的坐標(biāo)對(duì)齊操作, 這在很大程度上降低了算法的效率, 因此在實(shí)際應(yīng)用中往往事先計(jì)算出標(biāo)準(zhǔn)的棒張量場(chǎng), 再通過棒張量場(chǎng)的旋轉(zhuǎn)和累加構(gòu)成球張量場(chǎng), 在實(shí)際投票過程中再通過類似查表的機(jī)制盡可能提高張量投票過程的計(jì)算效率.
2)雖然采用張量場(chǎng)進(jìn)行投票在一定程度上提高了算法的效率, 但由于其采用的是一種類似查表的方式進(jìn)行投票, 因此其僅適用于采樣點(diǎn)分布十分規(guī)律的數(shù)據(jù)(如二維圖像等采樣點(diǎn)坐標(biāo)為整數(shù)的數(shù)據(jù)), 不適用于采樣點(diǎn)隨機(jī)分布的數(shù)據(jù)處理;
3)由于傳統(tǒng)算法采用數(shù)值積分代替連續(xù)積分, 其積分步長(zhǎng)必然成為制約投票效率和投票精度的關(guān)鍵因素, 即:積分步長(zhǎng)越大則投票效率越高, 同時(shí)投票精度越差; 反之, 則投票效率越差, 同時(shí)投票精度越高.這意味著利用傳統(tǒng)的張量投票算法必然造成算法效率和算法精度之間的矛盾.
為此, 本文針對(duì)二維空間中張量投票問題, 以傳統(tǒng)張量投票基本思想為基礎(chǔ), 設(shè)計(jì)了一種新的張量投票機(jī)制, 并以此為基礎(chǔ)求得了棒張量投票和球張量投票的解析表達(dá)式, 利用該解析表達(dá)式可實(shí)現(xiàn)張量投票矩陣的直接求解, 不僅有效簡(jiǎn)化了張量投票過程, 有效避免了球張量投票過程中引入的數(shù)值積分運(yùn)算, 提高了算法的效率; 還有效克服了算法效率與算法精度之間的矛盾.
2 二維解析張量投票
2.1 二維解析棒張量投票
出于一般性考慮, 以二維空間中任意兩點(diǎn)$p_i$到$p_j$的棒張量投票為例進(jìn)行研究, 如
圖 7(Fig. 7)
圖 7
二維解析棒張量投票示意圖
Figure 7
Illustration of stick voting analytical solution in 2D
$p_i$投向點(diǎn)$p_j$. $\pmb{v}_i$為$p_i$處棒張量矩陣對(duì)應(yīng)的單位方向向量, 即$p_i$棒張量矩陣$T=\pmb{v}_i\pmb{v}_i^{\rm{T}}$, $\pmb{v}_j$為$p_j$處接收到張量矩陣對(duì)應(yīng)的單位方向向量. $\pmb{v}_i$與$\pmb{v}_j$共同指向連接兩點(diǎn)密切圓弧的中心, $\rho$為連接兩點(diǎn)密切圓弧的曲率半徑. l為兩點(diǎn)間的距離. $\pmb{r}$為$p_i$指向$p_j$的單位向量.由張量投票理論可知, 棒張量投票的過程可分解為單位方向向量$\pmb{v}_j$的估計(jì)和衰減函數(shù)$DF(\cdot)$的計(jì)算兩個(gè)相對(duì)獨(dú)立的過程.為此, 先考慮單位方向向量$\pmb{v}_j$的估計(jì)問題.由$\pmb{v}_j$可通過向量計(jì)算直接求取, 由于$\pmb{v}_i$, $\pmb{v}_j$與$\pmb{r}$均為單位向量, 故該計(jì)算過程可表示如下:
$
\rho {\boldsymbol{v}_j} = \rho {\boldsymbol{v}_i}-l\boldsymbol{r}
$
(6)
由于$l=2\rho \pmb{v}_i^{\rm{T}}\pmb{r}$, 代入式(6), 可得$\rho {\pmb v}_j=\rho \pmb{v}_i-2\rho {\pmb r}{\pmb r}^{\rm{T}}\pmb{v}_i$, 即
$
\pmb{v}_j=\left(I-2\pmb{r}\pmb{r}^{\rm{T}}\right)\pmb{v}_i
$
(7)
其中, $I$為$2\times2$階單位矩陣.
由于在構(gòu)造棒張量投票矩陣過程中要求$\pmb{v}_j$為單位向量, 求取向量$\pmb{v}_j$的模, 如下式所示:
$
\begin{align}
\|\pmb{v}_j\|=&\ \sqrt{\pmb{v}_j^{\rm{T}}\pmb{v}_j}=\notag\\
&\ \sqrt{\pmb{v}_i^{\rm{T}}\left(\mathit{I}-2\pmb{r}\pmb{r}^{\rm{T}}\right)\left(\mathit{I}-2\pmb{r}\pmb{r}^{\rm{T}}\right)\pmb{v}_i}=\notag\\
&\
\sqrt{\pmb{v}_i^{\rm{T}}\left(\mathit{I}-2\pmb{r}\pmb{r}^{\rm{T}}-2\pmb{r}\pmb{r}^{\rm{T}}+4\pmb{r}\pmb{r}^{\rm{T}}\pmb{r}\pmb{r}^{\rm{T}}\right)\pmb{v}_i}
\end{align}
$
(8)
由于$\pmb{r}$和$\pmb{v}_i$均為單位向量, 即: $\pmb{r}^{\rm{T}}\pmb{r}=\pmb{v}_i^{\rm{T}}\pmb{v}_i=1$, 可得
$
\begin{align}
\|\pmb{v}_j\|=\sqrt{\pmb{v}_i^{\rm{T}}\pmb{v}_i}=1
\end{align}
$
(9)
即$\pmb{v}_j$是滿足二維棒張量投票要求的單位向量.
為便于二維球張量解析表達(dá)式的求解, 本文采用文獻(xiàn)[
$
\begin{align}
\eta(p_i, p_j, \pmb{v}_i)=c_{ij}\left(1-(\pmb{r}^{\rm{T}}\pmb{v}_i)^2\right)
\end{align}
$
(10)
其中, $c_{ij}={\rm e}^{(-l^2/\sigma^2)}$, $l=\|{p_j-p_i}\|$為兩點(diǎn)間的距離, $\sigma$為投票控制強(qiáng)度的尺度參數(shù).
為此, 二維平面中點(diǎn)$p_i$對(duì)點(diǎn)$p_j$的棒張量投票為
$
\begin{align}
T_S=\eta(p_i, p_j, \pmb{v}_i)\pmb{v}_j\pmb{v}_j^{\rm{T}}=\eta(p_i, p_j, \pmb{v}_i)R\pmb{v}_i\pmb{v}_i^{\rm{T}}R^{\rm{T}}
\end{align}
$
(11)
其中, $R=\mathit{I}-2\pmb{r}\pmb{r}^{\rm{T}}$, $\pmb{r}={(p_j-p_i)}/{\|{p_j-p_i}\|}$.
式(11)為本文提出的二維解析棒張量投票表達(dá)式.可以看出, 該表達(dá)式的求取是在深入研究張量投票理論基本思想的基礎(chǔ)上, 利用向量計(jì)算, 推導(dǎo)過程中摒棄了傳統(tǒng)棒張量投票過程中坐標(biāo)系對(duì)齊的過程, 直接從全局坐標(biāo)系下求取接收向量, 整個(gè)過程更加清晰, 計(jì)算過程也更為簡(jiǎn)潔, 應(yīng)用該式可直接計(jì)算平面中任意兩點(diǎn)間的棒張量投票.在棒張量投票過程中, 選用了新的衰減函數(shù), 該衰減函數(shù)不僅具有原衰減函數(shù)類似的性質(zhì), 而且更加便于計(jì)算.尤為關(guān)鍵的是, 該衰減函數(shù)的應(yīng)用使得二維球張量投票的解析求解成為可能.
2.2 二維解析球張量投票
根據(jù)傳統(tǒng)二維球張量投票理論, 二維平面中的球張量投票可表示為投票點(diǎn)處所有方向的棒張量投票的積分.考慮$p_i$對(duì)點(diǎn)$p_j$進(jìn)行球張量投票, 取平面內(nèi)點(diǎn)$p_i$處任意單位向量$\pmb{v}_\theta$, 應(yīng)用本文提出的二維解析棒張量投票方法對(duì)點(diǎn)$p_j$進(jìn)行棒張量投票, 估計(jì)$p_j$接收到的方向向量$\pmb{v}_\theta'$, 再改變$\theta$并把所有產(chǎn)生的棒投票結(jié)果累加起來即為點(diǎn)$p_i$對(duì)$p_j$的球張量投票.由于本文所設(shè)計(jì)的二維解析棒張量投票中投票公式僅與點(diǎn)$p_i$和點(diǎn)$p_j$的相對(duì)位置及$p_i$處的方向向量$\pmb{v}_\theta$有關(guān), 與參考坐標(biāo)系無關(guān).可以通過定義一個(gè)方向可控的單位向量$\pmb{v}_\theta$, 使其滿足當(dāng)控制參數(shù)$\theta$從$0\sim2\pi$變化時(shí), 向量$\pmb{v}_\theta$繞投票點(diǎn)$p_i$轉(zhuǎn)動(dòng)一周.基于此思想, $\pmb{v}_\theta$可構(gòu)造如下:
$
\begin{align}
\pmb{v}_\theta=[\cos\theta \quad \sin\theta]^{\rm{T}}
\end{align}
$
(12)
因此, 二維解析球張量投票的過程可表示為
$
\begin{align}
T_B=\int_0^{2\pi}{\eta(p_i, p_j, \pmb{v}_\theta)R\pmb{v}_\theta\pmb{v}_\theta^{\rm{T}}R^{\rm{T}}}{\rmozvdkddzhkzd\theta}
\end{align}
$
(13)
由于$R=\mathit{I}-2\pmb{r}\pmb{r}^{\rm{T}}$, 與積分變量$\theta$無關(guān), 將式(10)和式(12)代入式(13), 可求得
$
\begin{align}
T_B=c_{ij}R\left(\frac{3\pi}{4}\mathit{I}-\frac{\pi}{2}\pmb{r}\pmb{r}^{\rm{T}}\right)R^{\rm{T}}
\end{align}
$
(14)
式中, $c_{ij}$, $I$以及$\pmb{r}$的定義與二維解析棒張量投票中相同.
式(14)為本文提出的二維解析球張量投票表達(dá)式.可以看出, 該表達(dá)式的求取是在深入研究張量投票理論基本思想的基礎(chǔ)上, 充分利用二維解析棒張量投票公式與坐標(biāo)系無關(guān)的特性, 定義了一個(gè)方向可控的單位向量, 通過向量旋轉(zhuǎn)和連續(xù)積分直接求取二維解析球張量投票表達(dá)式, 應(yīng)用該表達(dá)式可直接計(jì)算平面中任意兩點(diǎn)間的球張量投票.
2.3 任意二階對(duì)稱張量的二維解析張量投票
在實(shí)際二維張量投票中, 待投票的張量往往包含棒張量分量和球張量分量, 如式(1)所示.基于式(11)和式(14)給出待投票張量包含兩種張量分量情況下的張量投票表達(dá)式.
設(shè)二維平面中任意點(diǎn)$p$處的二階對(duì)稱張量為$T=\left[\begin{array}{ccc} a & b \\ b& c \end{array} \right]$, $\mathit{a}\geq0$且$\mathit{ac}\geq{\mathit{b}^2}$, ${\lambda_1}\geq{\lambda_2}\geq0$為$T$的特征值, $\pmb{e}_1$, $\pmb{e}_2$為對(duì)應(yīng)的特征向量.考慮點(diǎn)$p$向鄰近點(diǎn)$q$進(jìn)行張量投票, 根據(jù)式(11), 棒張量分量$T_S=(\lambda_1-\lambda_2)\pmb{e}_1\pmb{e}_1^{\rm{T}}$產(chǎn)生的張量投票為
$
\begin{align}
T_S'=\left(\lambda_1-\lambda_2\right)c_{ij}\left(1-(\pmb{r}^{\rm{T}}\pmb{e}_1)^2\right)R\pmb{e}_1\pmb{e}_1^{\rm{T}}R^{\rm{T}}
\end{align}
$
(15)
根據(jù)式(14), 球張量分量$T_B=\lambda_2(\pmb{e}_1\pmb{e}_1^{\rm{T}}+\pmb{e}_2\pmb{e}_2^{\rm{T}})$產(chǎn)生的張量投票為
$
\begin{align}
T_B'=\lambda_2c_{ij}R\left(\frac{3\pi}{4}I-\frac{\pi}{2}\pmb{r}\pmb{r}^{\rm{T}}\right)R^{\rm{T}}
\end{align}
$
(16)
則位于點(diǎn)$p$的張量$T$投向點(diǎn)$q$的張量$T'$為
$
\begin{align}
T'=T_S'+T_B'=c_{ij}RHR^{\rm{T}}
\end{align}
$
(17)
其中, $H=\lambda_1H_1+\lambda_2(\frac{3\pi}{4}I-\frac{\pi}{2}\pmb{r}\pmb{r}^{\rm{T}}-H_1)$, $H_1=(1-(\pmb{r}^{\rm{T}}\pmb{e}_1)^2)\pmb{e}_1\pmb{e}_1^{\rm{T}}$. $c_{ij}$, $I$以及$\pmb{r}$的定義與第2.1節(jié)和第2.2節(jié)中的定義相同.
需要特別指出的是, 文獻(xiàn)[[:
1)推導(dǎo)板張量和球張量投票公式過程中以${N}_\theta$為積分變量, 意義不明確, 且推導(dǎo)過程自相矛盾;
2)應(yīng)用該方法求得的張量投票矩陣為非對(duì)稱矩陣, 導(dǎo)致各特征向量非正交, 與張量投票的基本思想相悖.
在本文研究過程中, 以張量投票基本理論為基礎(chǔ), 借鑒文獻(xiàn)[
應(yīng)用本文方法對(duì)文獻(xiàn)[$T_1= \left[\begin{array}{ccc} 1/2 & 0 \\ 0& 1 \end{array} \right]$, 投票方向?yàn)?{\pi}/{4}$, 即: $\pmb{r}$ $=$ $[\sqrt{2}/2\quad\sqrt{2}/2]^{\rm{T}}$, 應(yīng)用文獻(xiàn)[
$
\begin{align}
T'=c_{ij}\left[
\begin{array}{rrr}
\dfrac{3}{4} &-\dfrac{1}{4} \\[3mm]
-\dfrac{1}{8} & \dfrac{3}{8}
\end{array}
\right]
\end{align}
$
(18)
該矩陣為非對(duì)稱矩陣, 證明了文獻(xiàn)[
應(yīng)用本文方法重新計(jì)算, 過程如下:首先, 對(duì)$T$進(jìn)行張量分解: $T=\lambda_1\pmb{e}_1\pmb{e}_1^{\rm{T}}+\lambda_2\pmb{e}_2\pmb{e}_2^{\rm{T}}$, 可得$\lambda_1=1$, $\lambda_2=1/2$, $\pmb{e}_1=$ $[0\quad1]^{\rm{T}}$, $\pmb{e}_2=[1\quad0]^{\rm{T}}$, 故棒張量分量為
$
\begin{align}
T_S=\left(\lambda_1-\lambda_2\right)\pmb{e}_1\pmb{e}_1^{\rm{T}}=\frac{1}{2}\pmb{e}_1\pmb{e}_1^{\rm{T}}
\end{align}
$
(19)
球張量分量為
$
\begin{align}
T_B=\lambda_2\left(\pmb{e}_1\pmb{e}_1^{\rm{T}}+\pmb{e}_2\pmb{e}_2^{\rm{T}}\right)=
\frac{1}{2}\left(\pmb{e}_1\pmb{e}_1^{\rm{T}}+\pmb{e}_2\pmb{e}_2^{\rm{T}}\right)
\end{align}
$
(20)
其次, 將上述參數(shù)代入式(11)和式(14), 求得接收到的棒張量投票為
$
\begin{align}
T_S'=\frac{1}{2}c_{ij}\left(1-(\pmb{r}^{\rm{T}}\pmb{e}_1)^2\right)R\pmb{e}_1\pmb{e}_1^{\rm{T}}R^{\rm{T}}=c_{ij}\left[
\begin{array}{ccc}
\dfrac{1}{4} & 0 \\[1.5mm]
0 & 0
\end{array}
\right]
\end{align}
$
(21)
接收到的球張量投票為
$
\begin{align}
T_B'=\frac{1}{2}c_{ij}R\left(\frac{3\pi}{4}I-\frac{\pi}{2}\pmb{r}\pmb{r}^{\rm{T}}\right)R^{\rm{T}}
=c_{ij}\left[
\begin{array}{rrr}
\dfrac{\pi}{4} &-\dfrac{\pi}{8} \\[3mm]
-\dfrac{\pi}{8}& \dfrac{\pi}{4}
\end{array}
\right]
\end{align}
$
(22)
因此, 最終接收到的張量投票為$T'=T_S'+T_B'$.由于$T_S'$和$T_B'$均為非負(fù)定對(duì)稱矩陣, 因此$T'$必然為非負(fù)定對(duì)稱矩陣.實(shí)質(zhì)上, 不難證明, 只要投票矩陣$T$為非負(fù)定對(duì)稱矩陣, 則接收到的張量矩陣$T'$必為非負(fù)定對(duì)稱矩陣.
此處僅初步驗(yàn)證了本文方法張量投票矩陣非負(fù)定對(duì)稱性, 下面分別從投票強(qiáng)度仿真分析, 棒張量投票域和球張量投票域仿真分析和應(yīng)用實(shí)驗(yàn)三個(gè)方面驗(yàn)證本文方法的性能.
3 實(shí)驗(yàn)研究
3.1 投票強(qiáng)度分析實(shí)驗(yàn)
在張量投票理論中, 投票強(qiáng)度是指接收到的張量投票矩陣的強(qiáng)度, 往往通過衰減函數(shù)體現(xiàn).在傳統(tǒng)的張量投票理論中, 衰減函數(shù)的定義如式(2)所示.由式(2)可見, 該函數(shù)值兩點(diǎn)之間的距離$l$及夾角$\theta$有關(guān).當(dāng)$\theta$一定時(shí), $l$越大, 衰減函數(shù)值越小, 投票點(diǎn)對(duì)受票點(diǎn)的影響也越小; 當(dāng)$l$一定時(shí), $\theta$越小, 衰減函數(shù)值越小, 投票點(diǎn)對(duì)受票點(diǎn)的影響也越小.
本文采用的衰減函數(shù)特性如$\theta$和距離$l$有關(guān), 且當(dāng)$\theta$一定時(shí), $l$越大, 衰減函數(shù)值越小, 投票點(diǎn)對(duì)受票點(diǎn)的影響越小; 當(dāng)$l$一定時(shí), $\theta$越小, 衰減越大投票強(qiáng)度越小, 投票點(diǎn)對(duì)受票點(diǎn)的影響越小, 且該衰減函數(shù)在投票點(diǎn)附近沒有出現(xiàn)幅度特性紊亂, 因此可以不用角度閾值加以限定.由于該衰減函數(shù)與傳統(tǒng)張量投票算法中實(shí)際使用的衰減函數(shù)具有相似的衰減特性, 其可直接應(yīng)用于解析張量投票.
圖 8(Fig. 8)
圖 8
本文采用的衰減函數(shù)特性
Figure 8
Demonstration of adopted decay function
3.2 投票域驗(yàn)證實(shí)驗(yàn)
張量投票域(Tensor voting fields)是張量投票過程中投票點(diǎn)附近所有位置接收到的張量投票方向和強(qiáng)度的直觀表示, 已成為驗(yàn)證張量投票正確性最為直觀、有效的手段之一.為此, 本文對(duì)待投票張量為棒張量和球張量的情況下投票點(diǎn)附近的張量投票域進(jìn)行仿真實(shí)驗(yàn), 以驗(yàn)證本文提出的二維解析棒張量和球張量投票方法的正確性.首先, 為了驗(yàn)證本文提出的二維解析棒張量投票方法的正確性, 設(shè)定坐標(biāo)為$[0\quad0]^{\rm{T}}$的${\mathit{o}}$點(diǎn)處有一棒張量$T_1$ $=$ $\left[\begin{array}{ccc} 0 & 0 \\ 0 & 1 \end{array} \right]$, 分別應(yīng)用傳統(tǒng)張量投票算法和本文方法計(jì)算$\mathit{o}$點(diǎn)附近的投票域, 結(jié)果如$\theta>\pi/4$范圍的衰減函數(shù)全部置0.本文采用的衰減函數(shù), 由于不存在投票點(diǎn)附近幅度混亂的問題, 因而可以不用對(duì)$\theta$進(jìn)行強(qiáng)制限定.實(shí)質(zhì)上, 通過觀察投票域局部放大圖可以發(fā)現(xiàn), 利用兩種方法得到的棒張量投票域中各點(diǎn)接收到的張量均具有相同的主方向(由圖中箭頭的方向體現(xiàn))和相似的強(qiáng)度衰減特性(由圖中線段的長(zhǎng)短體現(xiàn)).因此, 該棒張量投票域符合Gestalt原理, 即符合張量投票理論的基本思想.
圖 9(Fig. 9)
圖 9
棒張量T1形成的投票域
Figure 9
Voting filed generated by stick tensor T1
為驗(yàn)證本文提出的二維解析棒張量投票方法的自對(duì)齊功能, 設(shè)定坐標(biāo)為$[0\quad0]^{\rm{T}}$的$o$點(diǎn)處的待投票棒張量為$T_2$ $=$ $\left[\begin{array}{ccc} 1/2 &-1/2 \\-1/2 & 1/2 \end{array} \right]$, 由本文方法和原張量投票方法計(jì)算所得的棒張量投票域如$[-1/\sqrt{2}\quad1/\sqrt{2}]^{\rm{T}}$, 為此, 利用傳統(tǒng)張量投票算法計(jì)算該棒張量的投票域時(shí), 需經(jīng)過``坐標(biāo)變換--標(biāo)準(zhǔn)投票域計(jì)算--坐標(biāo)反變換''的復(fù)雜過程, 而利用本文提出的二維解析棒張量投票公式計(jì)算時(shí), 可直接求取該投票域.由
圖 10(Fig. 10)
圖 10
棒張量T2形成的投票域
Figure 10
Voting filed generated by stick tensor T2
為了驗(yàn)證本文提出的二維解析球張量投票方法的正確性, 設(shè)定坐標(biāo)為$[0\quad0]^{\rm{T}}$的$\mathit{o}$點(diǎn)處有一球張量$\mathit{T}_3=\left[\begin{array}{ccc} 1 & 0 \\ 0& 1 \end{array} \right]$, 由傳統(tǒng)張量投票方法和本文方法計(jì)算所得投票域如
圖 11(Fig. 11)
圖 11
球張量T3形成的投票域
Figure 11
Voting filed generated by ball tensor T3
從$\theta$的步長(zhǎng)影響了球張量投票的精度(本仿真實(shí)驗(yàn)中取$\Delta\theta=\pi/16$).當(dāng)然, 通過減小$\Delta\theta$可以提高球張量投票的精度, 但是同時(shí)也會(huì)造成算法效率的下降.因此, 應(yīng)用傳統(tǒng)張量投票算法進(jìn)行球張量投票時(shí), 投票精度與投票速度相互矛盾, 而利用本文提出的二維解析張量投票可以同時(shí)兼顧投票精度和投票速度.
3.3 投票效率實(shí)驗(yàn)
為了檢驗(yàn)本文提出的二維解析張量投票方法的效率, 以Inter Corei5、1.7 GHz CPU、4 GB內(nèi)存的PC機(jī)為硬件處理平臺(tái), 在Matlab環(huán)境下進(jìn)行實(shí)驗(yàn)研究.
相對(duì)于張量編碼和張量分解而言, 張量投票過程是影響整個(gè)算法效率的核心, 為此, 本文僅對(duì)傳統(tǒng)張量投票算法和本文提出的張量投票方法投票所需的時(shí)間進(jìn)行統(tǒng)計(jì), 統(tǒng)計(jì)結(jié)果見
表 1(Table 1)
表 1
算法運(yùn)行時(shí)間比較
Table 1
Running time comparison between the methods
投票
棒投票時(shí)間(ms)
球投票時(shí)間(ms)
點(diǎn)數(shù)
傳統(tǒng)方法
本文方法
傳統(tǒng)方法
本文方法
4 225
9.123
3.775
222.619
1.549
6 241
11.820
6.137
292.801
2.273
16 641
36.184
13.621
979.026
7.407
表 1
算法運(yùn)行時(shí)間比較
Table 1
Running time comparison between the methods
觀察
實(shí)質(zhì)上, 由于本文算法在進(jìn)行球張量投票時(shí)是直接計(jì)算的, 無需循環(huán)迭代, 設(shè)本文算法單次球張量投票的時(shí)間復(fù)雜度為${\rm O}(1)$, 則傳統(tǒng)投票算法球投票時(shí)需要在$(0, 2\pi)$內(nèi)進(jìn)行疊加循環(huán), 其等效時(shí)間復(fù)雜度為${\rm O}(\mathit{n})$, 其中, $\mathit{n}$為由棒張量計(jì)算球張量時(shí)循環(huán)疊加的次數(shù).由于傳統(tǒng)張量投票中還涉及到局部坐標(biāo)系求取和坐標(biāo)系對(duì)齊等計(jì)算, 因此, 本文算法的實(shí)際運(yùn)行效率尚高于理論運(yùn)行效率.
為了進(jìn)一步對(duì)比兩種算法的時(shí)間復(fù)雜度, 對(duì)10組樣本數(shù)據(jù)(張量投票點(diǎn)數(shù)分別為: 121, 441, 961, 1 681, 2 601, 3 721, 5 041, 6561, 8 281和10 201)進(jìn)行棒張量投票和球張量投票, 并統(tǒng)計(jì)其運(yùn)行時(shí)間, 結(jié)果如
圖 12(Fig. 12)
圖 12
二維棒張量投票運(yùn)行時(shí)間對(duì)比實(shí)驗(yàn)結(jié)果
Figure 12
Running time comparison between 2D stick tensor voting method
圖 13(Fig. 13)
圖 13
二維球張量投票運(yùn)行時(shí)間對(duì)比實(shí)驗(yàn)結(jié)果
Figure 13
Running time comparison between 2D ball tensor voting method
觀察
3.4 應(yīng)用研究
利用張量投票算法進(jìn)行顯著性結(jié)構(gòu)推理, 是張量投票理論的出發(fā)點(diǎn)和落腳點(diǎn).為此, 本文對(duì)常用于驗(yàn)證張量投票算法顯著性結(jié)構(gòu)推理能力的3個(gè)二維點(diǎn)集(Banana, Sweet-potato和Apple三個(gè)點(diǎn)集)進(jìn)行顯著性結(jié)構(gòu)推理實(shí)驗(yàn)(采用與文獻(xiàn)[
圖 14(Fig. 14)
圖 14
兩種張量投票算法結(jié)構(gòu)推理效果
Figure 14
Results inferred by OTV and the proposed method
進(jìn)一步, 將本文方法用于二維灰度圖像邊緣結(jié)構(gòu)特征推理, 采用文獻(xiàn)[
圖 15(Fig. 15)
圖 15
本文算法用于灰度圖像結(jié)構(gòu)推理
Figure 15
Utilization of the proposed method in structure inference of gray scale image
4 結(jié)語
本文提出了一種二維解析張量投票算法, 求解了二維解析棒張量投票和球張量投票解析表達(dá)式, 解決了長(zhǎng)期困擾張量投票理論無法進(jìn)行解析求解, 利用數(shù)值近似計(jì)算過程復(fù)雜、算法效率低、算法精度與算法效率存在矛盾的難題.仿真分析和對(duì)比實(shí)驗(yàn)結(jié)果表明, 利用本文算法得到的棒張量投票域、球張量投票域與傳統(tǒng)張量投票算法得到的結(jié)果一致, 驗(yàn)證了本文方法的正確性; 本文方法的投票精度和投票效率均顯著優(yōu)于傳統(tǒng)張量投票算法.需要特別指出的是, 本文研究方法可以進(jìn)一步推廣至三維乃至$\mathit{N}$維張量投票.
總結(jié)
以上是生活随笔為你收集整理的matlab 投票法_二维解析张量投票算法研究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中年男人,你如何自我救赎
- 下一篇: matlab huffman树,Huff