郭鵬飛,戴厚德,楊千慧,姚瀚晨,黃巧園
(1.中國科學院福建物質結構研究所,福建 福州 350002;2.中國科學院大學,北京 100049;3.廈門大學 信息學院,福建 廈門 361005)
永磁定位技術是一種通過磁傳感器測量磁鐵等永磁體產生的磁場來對永磁體進行定位的技術。與其他定位技術(激光雷達定位[1]、視覺定位[2]、二維碼定位[3]、慣導定位[4])相比,永磁定位具有精度高、靈敏性好、不受視線遮擋、耐磨損和成本較低等優點,在運動跟蹤、機器人定位導航和醫療無線膠囊內窺鏡等領域中成為新的研究熱點。
目前較為成熟的永磁定位方案采用圓柱形磁鐵作為磁源,并使用磁偶極子模型對磁場進行建模;大多數研究采用LM(Levenberg-Marquardt)最優化算法根據建模后的信息求解磁鐵的位置和姿態。然而,LM 算法需要初始估計值才能迭代尋找最優解,如果初始估計值與真值差距過大,算法容易陷入局部最優解以及降低計算速率。文獻[5]提出使用粒子群優化(particle swarm optimization,PSO)算法對初始位姿進行估計;然而,新的代價函數增加了定位系統的計算復雜度,并進一步降低了系統的計算速率。與最優化算法相比,解析方法計算更快、結果更可靠。文獻[6]提出基于簡化磁偶極子模型的解析方法,可以推導出磁鐵二維位置信息的解析表達式,但該方法無法獲取磁鐵的五維位姿信息,應用場景受限。文獻[7]基于機器學習方法,使用反向傳播(back propagation,BP)神經網絡提升了定位系統的跟蹤范圍,但所用數據集固定了磁鐵姿態,在近距離時定位精度有限。
為了解決永磁定位算法于依賴初始值、計算耗時受限的問題,本文提出使用深度神經網絡對磁性目標進行定位,通過基于磁偶極子模型模型[5]的先驗知識推導約束條件并構造懲罰函數,在密集卷積網絡(dense convolutional network,DenseNet)[8]的基礎上加入注意力機制的擠壓和激勵模塊(squeeze and excitation block,SE Block)[9]以動態調整通道的權重,提出一種高精度、高計算速率的永磁定位方法。
本文研究方法采用軸向充磁的圓柱形磁鐵以及組成4×4陣列的三軸磁傳感器,當磁鐵到磁傳感器之間的距離遠大于自身尺寸時,磁偶極子模型對磁鐵產生的磁場有很好的近似模擬效果[5],如圖1。

圖1 基于永磁傳感陣列的磁偶極子模型
如圖1所示,在全局坐標系下,磁鐵的中心位置為(a,b,c),磁鐵的方向矢量為H0=(m,n,p)T,第l 個磁傳感器的位置為(xl,yl,zl),Fl表示從(a,b,c)到(xl,yl,zl)的方向矢量,則第l個磁傳感器感應到磁鐵產生的磁場強度Bl可以表示為
式中 BT為與磁鐵性質有關的常數,N 為磁傳感器的總數,單位坐標矢量i,j,k 分別對應于x,y,z 軸,Rl=為Fl的長度。
對式(1)求逆運算,并代入已知的參數和常數,則磁鐵位姿變量(a,b,c,xl,yl,zl)關于磁場強度變量Bl的函數關系可以表示為
磁偶極子模型為多元高次方程,因此難以使用解析法對式(1)求逆,使用神經網絡可對式(2)的非線性關系進行擬合,從而將磁偶極子模型的最優化問題轉化為回歸問題。
當圓柱形磁鐵沿S-N軸向方向旋轉時,磁場強度不會發生改變,因此無法計算磁鐵沿軸向方向的旋轉角[5]。H0 =(m,n,p)T為磁鐵姿態的三維方向矢量,存在固定的約束條件
式中 m,n,p的取值范圍為[-1,1]。
將4×4磁傳感陣列上方的跟蹤域定義為LM×WM×HM,結合邊界約束以及式(3)可以構造以下約束條件
式中 Oa,Ob,Oc分別為磁鐵的位置向量在x,y,z 坐標軸上的分量。
利用懲罰函數法,可對約束條件求最優解
式中 σi為懲罰因子且滿足σi>0。
深層神經網絡對數據和模型的擬合效果更好,但往往面臨梯度消失問題。為了應對上述挑戰,文獻[8]提出DenseNet,將每一層的特征映射作為輸入連接到后續其他層中,以對更深層的網絡進行更有效和更準確的訓練。
鑒于DenseNet在圖像分類等領域的優秀表現,本文使用DenseNet作為基礎模型,同時在其基礎上添加基于通道注意力機制的SE Block,最終網絡的模型結構如圖2 所示,包含3個密集塊和2個過渡層和3個通道注意力模塊。

圖2 加入SE Block的DenseNet
每個密集塊由連續的批標準化(batch normalization,BN)、修正線性單元(rectified linear unit,ReLU)和3×3 的卷積層組成。假設初始卷積層的通道數為m,每一層的特征增長率為k,則第L層的特征通道數為m +(l-1)k。通過這種方式,可以將每一層的特征映射作為一種特征信息補充,拼接到后續層的特征中,克服在深層網絡不斷卷積過程中淺層信息的丟失。
每個過渡層由1×1的卷積層和2×2的平均池化層組成,用來連接每個密集塊,加速網絡的訓練。
當磁鐵與磁傳感器距離較遠時,傳感器測量的磁感應強度較小,對定位結果的影響相對較低。為了動態調整各傳感器數據的權重,提升網絡預測的穩定性與減少整體方差,本文采用SE Block,在DenseNet的基礎上進一步添加了通道注意力機制。該機制在訓練過程中動態評估網絡各個通道的重要程度并進行加權,從而抑制非重要特征通道,提升對重要特征的關注度,使得DenseNet能夠在眾多特征拼接中提取關鍵信息,增加預測結果的準確性與穩定性。
注意力機制結構如圖3所示,對于輸入X∈RH×W×C,經由網絡特征提取層得到的特征U∈RH×W×C。首先進行全局池化操作,得到1×1×C 的通道特征分布,然后通過全連接(fully connected,FC)層應用Sigmoid 自動學習得到每個通道特征的權重,最后加權輸出,作為后續網絡的輸入。

圖3 SE Block結構
如圖4 所示,本文研究方法采用直徑10 mm,高度10 mm圓柱形銣鐵硼(Nd-Fe-B)磁體作為磁源;并采用自主設計的4×4永磁傳感陣列采集磁感應強度信息。永磁傳感陣列包括16只三軸磁傳感器、1 塊單片機和標定板,其中,三軸磁傳感器型號為LIS3MDL(STMicroelectronics,瑞士),單片機型號為STM32H743VIH6(STMicroelectronics,瑞士)。

圖4 永磁傳感陣列
通過調節標定板的高度和移動磁鐵的位置,采集了在48~118 mm 高度范圍內的5 312 個樣本數據(高度間隔10 mm,每個高度采集664個樣本數據),跟蹤域LM×WM×HM定義為180 mm×180 mm×118 mm。
對采樣得到的數據做去地磁干擾、消除非正交誤差和零偏移誤差等預處理[5,10],則網絡的輸入數據為來自16 只磁傳感器的48個通道的磁感應強度數據,輸出數據為磁鐵在標定板對應位置的六維位姿向量。
實驗硬件配置為Intel?CoreTMi7—7700HQ處理器,8 GB內存,英偉達顯卡GTX1050Ti。
磁感應強度數據經過轉置后尺寸變為(3,4,4),為了保留邊緣信息,對輸入數據的邊緣進行填充0 的處理(padding =2)使輸入數據尺寸變為(3,8,8)。
密集塊中的初始卷積層的通道數為m設置為24,每一層的特征增長率k 設置為12,則第L 層的特征通道數為12(L +1)。
實驗中最大迭代數為1 000,初始學習率設置為0.001,且隨迭代次數增加而減少。懲罰因子(σ1,σ2,σ3,)設置為(0.001,0.001,0.001),優化器選用Adam。
根據式(5),網絡的損失函數可以定義為
式中 Ypre為網絡的預測值,Ytrue對應磁鐵的真實位姿,Emse為MSE均方誤差函數。
3.3.1 計算速率與穩定性
表1顯示了不同初始估計值對LM 算法收斂到真實值所需時間的影響,磁鐵的真實位姿為(0,0,78 mm,0,0,1)。

表1 初始位置對LM算法計算時間的影響
當初始估計值與真實值的差值越大,LM 算法完成收斂所需的計算時間將會大幅增加;顯然,無需初始估計值的卷積神經網絡永磁定位方法計算的魯棒性和穩定性更佳。
表2比較了PSO-LM算法與基于DenseNet的永磁定位方法平均計算耗時。

表2 平均計算耗時對比
基于DenseNet的永磁定位方法將計算時間從98 ms減少至1.6 ms,大幅度提高了計算速率。
3.3.2 定位精度
為了評估定位算法的性能和精度,位置誤差Ep與方向誤差Eo的誤差函數被定義為
式中(a,b,c,m,n,p)e為卷積神經網絡的預測值,(a,b,c,m,n,p)t為磁鐵位姿的真值,方向誤差也可以用角度表示,計算公式為2arcsin(Eo/2)。
為了驗證基于先驗知識的約束條件和通道注意力機制的SE Block對模型預測精度的影響,表3 對比了不同條件下DenseNet的定位精度。

表3 不同算法的定位精度對比
實驗結果表明,DenseNet對模型和數據的擬合效果不夠理想,定位結果的均值和方差較大。經過添加基于先驗知識的約束條件以及融合注意力機制,DenseNet的定位精度得到提升、模型擬合效果變佳,定位精度達到(1.79 ±1.05)mm和1.12° ±0.53°,足以滿足大部分應用場景的精度需求。
永磁定位具有毫米級的定位精度,且擁有計算頻率快、不受視線遮擋等優點。目前主流的永磁定位方法基于磁偶極子模型以及LM 算法,計算速率有限且過于依賴初始估計值。
本文利用基于磁偶極子模型的先驗知識構造懲罰函數,提出一種融合DenseNet[8]和SE Block[9]的永磁定位方法。在保持較高精度的同時大幅減少了定位單個磁鐵的平均計算耗時,在運動速率更高、對計算速率要求更高的場景中有更好的應用前景。與此同時,深度神經網絡的計算帶來了額外計算資源的要求,相對提高了永磁定位系統的成本。
另外,基于標定板采集數據的方式較為繁瑣,在之后的實驗中可使用Vicon 光學定位系統輔助采集數據。同時,網絡可以加入在線學習功能,增加其對于新數據的擬合性能以及抗噪能力。