趙偉康, 韓一娜, 張浩宇, 楊益新, 劉清宇
?
多假設(shè)跟蹤中的高效匈牙利算法研究
趙偉康1, 韓一娜1, 張浩宇1, 楊益新1, 劉清宇2
(1. 西北工業(yè)大學(xué) 航海學(xué)院, 陜西 西安, 710072; 2. 海軍研究院, 北京, 100073)
作為多假設(shè)跟蹤技術(shù)中的一項核心算法, 匈牙利算法占用了多假設(shè)跟蹤中大部分的運算時間??紤]到多假設(shè)跟蹤中的指派問題具有其特殊性, 即其效率矩陣是稀疏的, 文中提出了一種對效率矩陣進行降維的處理方法, 給出了運算流程, 對比了該方法與傳統(tǒng)匈牙利算法在處理較大效率矩陣時的耗時, 結(jié)果表明, 在確保與傳統(tǒng)匈牙利算法結(jié)果一致的前提下, 該方法能夠大幅度降低運算量。
多假設(shè)跟蹤; 匈牙利算法; 指派問題
在理想假設(shè)條件下, 多假設(shè)跟蹤(multiple hypothesis tracking, MHT)算法被認為是處理數(shù)據(jù)關(guān)聯(lián)的最優(yōu)方法[1]。區(qū)別于其他所有數(shù)據(jù)關(guān)聯(lián)技術(shù), MHT算法對所有可能的關(guān)聯(lián)方案都維持一個假設(shè), 并用一個樹狀結(jié)構(gòu)來保存和管理這些假設(shè), 該假設(shè)樹隨著掃描周期的推進進行橫向和縱向的生長, 總體規(guī)模呈指數(shù)增長的趨勢, 因此原始的MHT算法本質(zhì)上是一種窮舉尋優(yōu)的方法。龐大的假設(shè)樹為MHT算法帶來了很大的運算量, 作為一種應(yīng)用于工程實踐中的算法, 需要抑制這種極快的問題規(guī)模增長, 目前成熟的MHT架構(gòu)中包含了基于Murty算法[2]的-best策略以及-scan的枝剪策略[3], 前者用于控制假設(shè)樹橫向規(guī)模, 后者用來限制假設(shè)樹深度。其中-best策略用以保留同一個假設(shè)下概率最大的個子假設(shè)而不是所有的子假設(shè), 因此這就涉及到如何獲得關(guān)聯(lián)場景下概率最大分配的問題, 即MHT中的指派問題。匈牙利算法[4]目前在很多問題的求解中被應(yīng)用[5-10], 也存在一些對匈牙利算法的改進策略。但MHT中的指派問題有其特殊性, 即其效率矩陣是稀疏的, 這提供了改進的空間。針對MHT中指派問題的特殊性, 文中提出了一種先將原效率矩陣降階并運行匈牙利算法然后再還原成原效率矩陣對應(yīng)解的方法, 在不破壞MHT架構(gòu)的基礎(chǔ)上可大幅度降低運算量。
匈牙利算法最初由匈牙利數(shù)學(xué)家Edmonds于1965年提出, 用于解決二分圖匹配問題, 后來該方法被推廣應(yīng)用到了帶有權(quán)值的二分匹配問題, 即指派問題中。指派問題指的是在一個矩陣中尋找若干個不沖突的元素, 使得他們的和最大或最小, 在求最大值的問題中該矩陣稱為效率矩陣。指派問題和匈牙利算法是運籌學(xué)中的經(jīng)典案例。
圖1表示效率矩陣是方陣以及非方陣時的指派問題, 可以看出, 當(dāng)問題規(guī)模上升后, 指派問題的復(fù)雜度增長很快。
匈牙利算法的基本步驟如下[5]。
步驟1:獲得指派問題的效率矩陣0(×);
步驟2: 首先從效率矩陣每行減去該行最小的元素, 再從每列減去該列最小的元素, 得到每行每列都至少有1個0元素的矩陣1;
步驟3: 尋找最少的直線覆蓋1中的0元素得到2, 如果最少直線數(shù)等于, 轉(zhuǎn)入步驟5, 否則轉(zhuǎn)入步驟4;
步驟4:2中未被覆蓋的元素減去這些元素中最小的元素, 同時在直線的交點加上該元素, 得到矩陣取代1轉(zhuǎn)入步驟3;
步驟5: 從0元素最少的行或列開始指派, 直到各行各列都存在指派, 得到最優(yōu)指派方案。
式中:表示效率矩陣;表示指派方案, 是與同階的邏輯矩陣, 其中邏輯1表示矩陣中對應(yīng)位置的元素被算法選中, 0表示沒有選中;為方案對應(yīng)的總效率。一般來說, 認為在對效率矩陣沒有任何先驗認識的條件下, 匈牙利算法是解決指派問題的精確且高效的方法。
MHT算法一般包含假設(shè)生成、假設(shè)組合和枝剪、假設(shè)管理等過程, 指派問題發(fā)生在假設(shè)的組合與枝剪過程, 此時MHT需要獲取當(dāng)前測量值所有關(guān)聯(lián)情況的假設(shè), 而將這些假設(shè)全部列舉出來是不現(xiàn)實的。針對這一點, 指派問題的效率矩陣提供了一種直觀表示所有假設(shè)的方法, 它依賴于MHT中的幾條基本假設(shè): 1) 同一個測量只能關(guān)聯(lián)于當(dāng)前的1個軌跡, 或成為雜波(虛警), 或成為新軌跡的起點; 2) 每個活動的軌跡在每個周期最多只關(guān)聯(lián)于1個測量, 或被判斷為漏報; 3) 所有雜波和新軌跡起點間沒有關(guān)聯(lián)性。
以上3個假設(shè)保證了MHT數(shù)據(jù)關(guān)聯(lián)問題為指派問題, MHT中習(xí)慣使用后驗的概率密度作為指派問題效率矩陣的關(guān)聯(lián)效率, 因此, 一般MHT問題的效率矩陣具有如圖2的形式[1]。
因此可以總結(jié)出, MHT的指派問題對應(yīng)的效率矩陣是由1個完整矩陣和2個對角陣組成。另外考慮到MHT問題中每個周期的測量數(shù)量往往遠大于活動的軌跡個數(shù), 因此效率矩陣的第1個部分常常是1個行數(shù)大于列數(shù)的矩陣。
將效率矩陣從MHT情景中剝離出來, 重新表示成如下更為普遍的形式:
圖3中表示的矩陣最終是一個×(+2)的矩陣, 稱為原始效率矩陣, 將矩陣劃分成×的矩陣,階對角陣和, 即=[,,]。顯然將矩陣直接輸入到式(1)表示的標準匈牙利算法可以獲得最大效率和對應(yīng)的指派方案, 但匈牙利算法在該類型的效率矩陣中產(chǎn)生了很多無意義的運算。主要原因是矩陣中大部分的信息集中在矩陣中, 而矩陣的規(guī)模常常遠大于矩陣, 考慮到匈牙利算法較大的運算復(fù)雜度, 直接對矩陣運行匈牙利算法效率很低。
首先對該效率矩陣定義一個數(shù)列
因此該方法包含了如下的步驟:
步驟1: 獲得原始效率矩陣;
步驟2: 將拆分成,,3個矩陣;
步驟3: 按照式(3)的規(guī)則獲得矩陣;
表示一次掃描獲得的量測數(shù),表示huod2的軌跡數(shù), 在最理想的跟蹤環(huán)境下效率矩陣的每一列會存在一個值遠大于其他值, 而且這些值不會出現(xiàn)在同一行, 此時匈牙利算法的意義并不明顯。仿真時考慮最不理想的情況, 即量測中沒有十分明顯與軌跡關(guān)聯(lián)的值, 矩陣,,中的元素為均勻分布的隨機數(shù), 由此組成的原始效率矩陣是對2個方法最不友好的。
為了更加直觀地表示2種方法的運算量, 采用控制變量的思想, 在同一臺計算機上用同樣的編程語言使用2種方法解決同一個指派問題, 對比兩者的運算時間。
由表1可見, 在和比較接近時, 改進方法效率提升了近1倍, 在明顯小于時, 改進方法的優(yōu)勢更加明顯, 能大幅下降輸入匈牙利算法的矩陣規(guī)模, 效率上升了數(shù)十倍。
表1 不同規(guī)模問題的計算時間對比
文中提出了一種適合在MHT中使用的改進的匈牙利算法, 特點是運用在MHT中能保證獲得與匈牙利算法完全一致的指派結(jié)果, 而運算復(fù)雜度較后者有很大的降低。該方法嵌入到MHT算法中表現(xiàn)穩(wěn)定。
[1] 翟海濤. 多假設(shè)跟蹤算法研究及其應(yīng)用[J]. 信息化研究. 2010, 36(8): 25-27.Zhai Hai-tao. Reseach on Multiple Hypothesis Tracking Algorithm and Its Application[J]. Informatization Research, 2010, 36(8): 25-27.
[2] Murty K G. An Algorithm for Ranking All the Assignments in Order of Increasing of Cost[J]. Operations Research, 1968, 16: 682-687.
[3] Miller M L, Stone H S, Cox I J. Optimi-z-i-n-g Murty’s Ranked Assignment Method[J]. NEC Research Institute, Technical Report, 1997, 33(3): 851-862.
[4] 錢頌迪. 運籌學(xué)[M]. 北京: 清華大學(xué)出版社, 1998.
[5] Chin-Jung Huang. Integrate the Hungarian Method and Genetic Algorithm to Solve the Shortest Distance Problem[C]//2012 Third International Conference on Digital Manufacturi-ng & Automation. Guilin, China: IEEE, 2012: 496-499.
[6] Patel R R, Desai T T, Patel S J. Scheduling of Jobs based on Hungarian Method in Cloud Computing[C]//2017 International Conference on Inventive Communication and Computational Technologies(ICI-C-C-T). Coimbatore, India: IEEE, 2017: 6-9.
[7] Yan Chao-bo, Zhao Qian-chuan. Advances in Assignment Problem and Comparison of Algorithns[C]//27th Chinese Control Conference. Kunming, China: IEEE, 2008: 607-611.
[8] 張新輝. 任務(wù)多于人數(shù)的指派問題[J]. 運籌與管理. 1997, 6(3): 20-25.Zhang Xin-hui. Assignment Problem with Tasks More than the Number of Persons[J]. Operations Research and Manage- ment Science, 1997, 6(3): 20-25.
[9] 李延鵬, 錢彥嶺, 李岳. 基于改進匈牙利算法的多技能人員調(diào)度方案[J]. 國防科技大學(xué)學(xué)報, 2016, 38(2): 144-149.Li Yan-peng, Qian Yan-ling, Li Yue. Multi-skilled Labor Allocating Method Based on Improved Hungary Algorithm[J]. Journal of National University of Defense Technology, 2016, 38(2): 144-149.
[10] 馬曉娜.“人少任務(wù)多”型指派問題的一種新算法[J]. 重慶工商大學(xué)學(xué)報(自然科學(xué)版), 2014, 31(12): 68-75.Ma Xiao-na. A New Algorithm for Assignment Problems with “Tasks More Than the Number of Persons”[J]. Journal of Chongqing Technology and Business University: Natural Science Edition, 2014, 31(12): 68-75.
An Improved Hungarian Algorithm for Multiple Hypothesis Tracking
ZHAO Wei-kang1, HAN Yi-na1, ZHANG Hao-yu1, YANG Yi-xin1, LIU Qing-yu2
(1. School of Marine and Technology, Northwestern Polytechnical University, Xi’an 710072, China; 2. Naval Research Academy, Beijing 100073, China)
Hungarian algorithm is a core algorithm in multiple hypothesis tracking technology, and it takes up most of the computation time in multiple hypothesis tracking(MHT). Considering that the assignment problem in the MHT has particularity, i.e., the efficiency matrix is sparse, this paper proposes a method for reducing the dimension of the efficiency matrix, and the computation flow is given. Comparison of the time consumption between the proposed method and traditional Hungarian algorithm in dealing with larger efficiency matrix shows that the proposed method greatly reduces the amount of computation while ensuring consistency with the results of the Hungarian algorithm.
multiple hypothesis tracking(MHT); Hungarian algorithm; assignment problem
TJ67; O224
A
2096-3920(2018)05-0444-05
10.11993/j.issn.2096-3920.2018.05.011
2016-11-19;
2016-12-18.
國家重點研發(fā)計劃(2016YFC1400200); 國家自然科學(xué)基金面上項目(61671388).
趙偉康(1995-), 男, 在讀碩士, 主要研究融合跟蹤算法。
趙偉康, 韓一娜, 張浩宇, 等. 多假設(shè)跟蹤中的高效匈牙利算法研究[J]. 水下無人系統(tǒng)學(xué)報, 2018, 26(5): 444-448.
(責(zé)任編輯: 陳 曦)