A. 多目標進化演算法中的pareto解及pareto前沿介紹
多目標求解會篩選出一個相對較優的解的集合,在這個集合里就要用到pareto找出相對優的解或者最優解。
多目標優化問題的數學模型一般可以寫成如下形式:
fig 2表示n個目標函數,目標是都使之達到最小。
fig 3是其變數的約束集合,可以理解為變數的取值范圍,下面介紹具體的解之間的支配,占優關系。
1:解A優於解B(解A強帕累托支配解B)
假設現在有兩個目標函數,解A對應的目標函數值都比解B對應的目標函數值好,則稱解A比解B優越,也可以叫做解A強帕累托支配解B,舉個例子,就很容易懂了.
下圖中代表的是兩個目標的的解的情況,橫縱坐標表示兩個目標函數值,E點表示的解所對應的兩個目標函數值都小於C,D兩個點表示的解所對應的兩個目標函數值,所以解E優於解C,D.
2:解A無差別於解B(解A能帕累托支配解B)
同樣假設兩個目標函數,解A對應的一個目標函數值優於解B對應的一個目標函數值,但是解A對應的另一個目標函數值要差於解B對應的一個目標函數值,則稱解A無差別於解B,也叫作解A能帕累托支配解B,舉個例子,還是上面的圖,點C和點D就是這種情況,C點在第一個目標函數的值比D小,在第二個函數的值比D大。
3:最優解
假設在設計空間中,解A對應的目標函數值優越其他任何解,則稱解A為最優解,舉個例子,下圖的x1就是兩個目標函數的最優解,使兩個目標函數同時達到最小,但是前面也說過,實際生活中這種解是不可能存在的。真要存在就好了,由此提出了帕累托最優解.
4:帕累托最優解
同樣假設兩個目標函數,對於解A而言,在 變數空間 中找不到其他的解能夠優於解A(注意這里的優於一定要兩個目標函數值都優於A對應的函數值),那麼解A就是帕累托最優解.
舉個例子,下圖中應該找不到比 x1 對應的目標函數都小的解了吧,即找不到一個解優於 x1 了,同理也找不到比 x2 更優的解了,所以這兩個解都是帕累托最優解,實際上,x1-x2 這個范圍的解都是帕累托最優解,不信自己慢慢想。因此對於多目標優化問題而言,帕累托最優解只是問題的一個可接受解,一般都存在多個帕累托最優解,這個時候就需要人們自己決策了。
5:帕累托最優前沿
還是看 剛才 那張圖 ,如下圖所示,更好的理解一下帕累托最優解,實心點表示的解都是帕累托最優解,所有的帕累托最優解構成帕累托最優解集,這些解經目標函數映射構成了該問題的Pareto最優前沿或Pareto前沿面,說人話,即帕累托最優解對應的目標函數值就是帕累托最優前沿。
對於兩個目標的問題,其Pareto最優前沿通常是條線。而對於多個目標,其Pareto最優前沿通常是一個超曲面。
圖片來源於網路,侵刪。
B. 學習多目標優化需要掌握哪些python知識
多目標優化
目標優化問題一般地就是指通過一定的優化演算法獲得目標函數的最優化解。當優化的目標函數為一個時稱之為單目標優化(Single-
objective Optimization Problem,
SOP)。當優化的目標函數有兩個或兩個以上時稱為多目標優化(Multi-objective Optimization Problem,
MOP)。不同於單目標優化的解為有限解,多目標優化的解通常是一組均衡解。
多目標優化演算法歸結起來有傳統優化演算法和智能優化演算法兩大類。
1. 傳統優化演算法包括加權法、約束法和線性規劃法等,實質上就是將多目標函數轉化為單目標函數,通過採用單目標優化的方法達到對多目標函數的求解。
2. 智能優化演算法包括進化演算法(Evolutionary Algorithm, 簡稱EA)、粒子群演算法(Particle Swarm Optimization, PSO)等。
Pareto最優解:
若x*∈C*,且在C中不存在比x更優越的解x,則稱x*是多目標最優化模型式的Pareto最優解,又稱為有效解。
一般來說,多目標優化問題並不存在一個最優解,所有可能的解都稱為非劣解,也稱為Pareto解。傳統優化技術一般每次能得到Pareo解集中的一個,而
用智能演算法來求解,可以得到更多的Pareto解,這些解構成了一個最優解集,稱為Pareto最優解。它是由那些任一個目標函數值的提高都必須以犧牲其
他目標函數值為代價的解組成的集合,稱為Pareto最優域,簡稱Pareto集。
Pareto有效(最優)解非劣解集是指由這樣一些解組成的集合:與集合之外的任何解相比它們至少有一個目標函數比集合之外的解好。
求解多目標優化問題最有名的就是NSGA-II了,是多目標遺傳演算法,但其對解的選擇過程可以用在其他優化演算法上,例如粒子群,蜂群等等。這里簡單介紹一下NSGA-II的選擇演算法。主要包含三個部分:
1. 快速非支配排序
要先講一下支配的概念,對於解X1和X2,如果X1對應的所有目標函數都不比X2大(最小問題),且存在一個目標值比X2小,則X2被X1支配。
快速非支配排序是一個循環分級過程:首先找出群體中的非支配解集,記為第一非支配層,irank=1(irank是個體i的非支配值),將其從群體中除去,繼續尋找群體中的非支配解集,然後irank=2。
2. 個體擁擠距離
為了使計算結果在目標空間比較均勻的分布,維持種群多樣性,對每個個體計算擁擠距離,選擇擁擠距離大的個體,擁擠距離的定義為:
L[i]d=L[i]d+(L[i+1]m−L[i−1]m)/(fmaxm−fminm)
L[i+1]m是第i+1個個體的第m目標函數值,fmaxm 和 fminm是集合中第m個目標函數的最大和最小值。
3. 精英策略選擇
精英策略就是保留父代中的優良個體直接進入子代,防止獲得的Pareto最優解丟失。將第t次產生的子代種群和父代種群合並,然後對合並後的新種群進行非支配排序,然後按照非支配順序添加到規模為N的種群中作為新的父代。
C. 多目標差分進化演算法
差分進化演算法(Differential Evolution, DE)是一種基於群體差異的啟發式隨機搜索演算法,該演算法是由R.Storn和K.Price為求解Chebyshev多項式而提出的。是一種用於最佳化問題的後設啟發式演算法。本質上說,它是一種基於實數編碼的具有保優思想的貪婪遺傳演算法。
將問題的求解表示成"染色體"的適者生存過程,通過"染色體"群的一代代不斷進化,包括復制、交叉和變異等操作,最終收斂到"最適應環境"的個體,從而求得問題的最優解或滿意解。
差分進化演算法類似遺傳演算法,包含變異,交叉操作,淘汰機制,而差分進化演算法與遺傳演算法不同之處,在於變異的部分是隨選兩個解成員變數的差異,經過伸縮後加入當前解成員的變數上,因此差分進化演算法無須使用概率分布產生下一代解成員。最優化方法分為傳統優化方法和啟發式優化方法兩大類。傳統的優化方法大多數都是利用目標函數的導數求解;而啟發式優化方法以仿生演算法為主,通過啟發式搜索策略實現求解優化。啟發式搜索演算法不要求目標函數連續、可微等信息,具有較好的全局尋優能力,成為最優化領域的研究熱點。
在人工智慧領域中,演化演算法是演化計算的一個分支。它是一種基於群體的元啟發式優化演算法,具有自適應、自搜索、自組織和隱並行性等特點。近年來,很多學者將演化演算法應用到優化領域中,取得了很大的成功,並已引起了人們的廣泛關注。越來越多的研究者加入到演化優化的研究之中,並對演化演算法作了許多改進,使其更適合各種優化問題。目前,演化演算法已廣泛應用於求解無約束函數優化、約束函數優化、組合優化、多目標優化等多種優化問題中。
D. 基於DEAP庫的Python進化演算法從入門到入土--(六)多目標遺傳演算法 NSGA-II
在很多實際工程問題中,我們的優化目標不止一個,而是對多個目標函數求一個綜合最優解。例如在物流配送問題中,不僅要求配送路徑最短,還可能需要參與運輸車輛最少等。
多目標優化問題的數學模型可以表達為:
多目標優化問題通常具有如下特點:
對於多目標優化問題,傳統方法是將原問題通過加權方式變換為單目標優化問題,進而求得最優解。該方法具有兩大問題:
遺傳演算法具有多點多方向搜索的特徵,在一次搜索中可以得到多個Pareto最優解,因此更適合求解多目標優化問題。
而當前用於求解多目標優化問題的遺傳演算法一般有兩種思路:
NSGA-II(nondominated sorting genetic algorithm II)是2002年Deb教授提出的NSGA的改進型,這個演算法主要解決了第一版NSGA的三個痛點:
針對這三個問題,在NSGA-II中,Deb提出了快速非支配排序運算元,引入了保存精英策略,並用「擁擠距離」(crowding distance)替代了共享(sharing)。
在介紹NSGA-II的整體流程之前,我們需要先了解快速非支配排序和擁擠距離的定義。
解的支配關系與Pareto最優解
下圖表示了解之間的支配和強支配關系:
下圖表示了一個最小化問題解集中的Pareto最優解和Pareto弱最優解:
快速非支配排序步驟
快速非支配排序就是將解集分解為不同次序的Pareto前沿的過程。
它可以描述為:
DEAP實現
DEAP內置了實現快速非支配排序操作的函數 tools.emo.sortNondominated
tools.emo.sortNondominated(indivials, k, first_front_only=False)
參數:
返回:
擁擠距離的定義
在NSGA II中,為了衡量在同一個前沿中各個解質量的優劣,作者為每個解分配了一個擁擠距離。其背後的思想是 讓求得的Pareto最優解在objective space中盡量分散 。也就有更大可能讓解在Pareto最優前沿上均勻分布。
DEAP實現
DEAP中內置了計算擁擠距離的函數 tools.emo.assignCrowdingDist
tools.emo.assignCrowdingDist(indivials)
參數:
返回:
比較操作
根據快速非支配排序和擁擠距離計算的結果,對族群中的個體進行排序:
對兩個解 ,
在每個迭代步的最後,將父代與子代合為一個族群,依照比較操作對合並後族群中的個體進行排序,然後從中選取數量等同於父代規模的優秀子代,這就是NSGA-II演算法中的精英保存策略。
DEAP實現
DEAP內置了實現NSGA-II中的基於擁擠度的選擇函數 tools.selNSGA2 用來實現精英保存策略:
tools.selNSGA2(indivials, k, nd='standard')
參數:
返回:
這里選用ZDT3函數作為測試函數,函數可表達為:
其Pareto最優解集為
這里為了方便可視化取 。
下圖給出了該函數在Decision Space和Objective Space中的對應:
其pareto最優解在Objective Space中如下圖紅點所示:
將結果可視化:
得到:
可以看到NSGA-II演算法得到的Pareto最優前沿質量很高:最優解均勻分布在不連續前沿的各個線段上;同時在最優前沿以外沒有個體存在。
E. 多目標優化演算法有哪些
主要內容包括:多目標進化演算法、多目標粒子群演算法、其他多目標智能優化演算法、人工神經網路優化、交通與物流系統優化、多目標生產調度和電力系統優化及其他。
F. 多目標優化演算法
姓名:袁卓成;學號:20021210612; 學院:電子工程學院
轉自 https://blog.csdn.net/weixin_43202635/article/details/82700342
【嵌牛導讀】 本文介紹了各類多目標優化演算法
【嵌牛鼻子】 多目標優化, pareto
【嵌牛提問】 多目標優化演算法有哪些?
【嵌牛正文】
1)無約束和有約束條件;
2)確定性和隨機性最優問題(變數是否確定);
3)線性優化與非線性優化(目標函數和約束條件是否線性);
4)靜態規劃和動態規劃(解是否隨時間變化)。
使多個目標在給定區域同時盡可能最佳,多目標優化的解通常是一組均衡解(即一組由眾多 Pareto最優解組成的最優解集合 ,集合中的各個元素稱為 Pareto最優解或非劣最優解)。
①非劣解——多目標優化問題並不存在一個最優解,所有可能的解都稱為非劣解,也稱為Pareto解。
②Pareto最優解——無法在改進任何目標函數的同時不削弱至少一個其他目標函數。這種解稱作非支配解或Pareto最優解。
多目標優化問題不存在唯一的全局最優解 ,過多的非劣解是無法直接應用的 ,所以在求解時就是要尋找一個最終解。
(1)求最終解主要有三類方法:
一是求非劣解的生成法,即先求出大量的非劣解,構成非劣解的一個子集,然後按照決策者的意圖找出最終解;(生成法主要有加權法﹑約束法﹑加權法和約束法結合的混合法以及多目標遺傳演算法)
二為交互法,不先求出很多的非劣解,而是通過分析者與決策者對話的方式,逐步求出最終解;
三是事先要求決策者提供目標之間的相對重要程度,演算法以此為依據,將多目標問題轉化為單目標問題進行求解。
(2)多目標優化演算法歸結起來有傳統優化演算法和智能優化演算法兩大類。
傳統優化演算法包括加權法、約束法和線性規劃法等,實質上就是將多目標函數轉化為單目標函數,通過採用單目標優化的方法達到對多目標函數的求解。
智能優化演算法包括進化演算法(Evolutionary Algorithm, 簡稱EA)、粒子群演算法(Particle Swarm Optimization, PSO)等。
兩者的區別——傳統優化技術一般每次能得到Pareo解集中的一個,而用智能演算法來求解,可以得到更多的Pareto解,這些解構成了一個最優解集,稱為Pareto最優解(任一個目標函數值的提高都必須以犧牲其他目標函數值為代價的解集)。
①MOEA通過對種群 X ( t)執行選擇、交叉和變異等操作產生下一代種群 X ( t + 1) ;
②在每一代進化過程中 ,首先將種群 X ( t)中的所有非劣解個體都復制到外部集 A ( t)中;
③然後運用小生境截斷運算元剔除A ( t)中的劣解和一些距離較近的非劣解個體 ,以得到個體分布更為均勻的下一代外部集 A ( t + 1) ;
④並且按照概率 pe從 A ( t + 1)中選擇一定數量的優秀個體進入下代種群;
⑤在進化結束時 ,將外部集中的非劣解個體作為最優解輸出。
NSGA一II演算法的基本思想:
(1)首先,隨機產生規模為N的初始種群,非支配排序後通過遺傳演算法的選擇、交叉、變異三個基本操作得到第一代子代種群;
(2)其次,從第二代開始,將父代種群與子代種群合並,進行快速非支配排序,同時對每個非支配層中的個體進行擁擠度計算,根據非支配關系以及個體的擁擠度選取合適的個體組成新的父代種群;
(3)最後,通過遺傳演算法的基本操作產生新的子代種群:依此類推,直到滿足程序結束的條件。
非支配排序演算法:
考慮一個目標函數個數為K(K>1)、規模大小為N的種群,通過非支配排序演算法可以對該種群進行分層,具體的步驟如下:
通過上述步驟得到的非支配個體集是種群的第一級非支配層;
然後,忽略這些標記的非支配個體,再遵循步驟(1)一(4),就會得到第二級非支配層;
依此類推,直到整個種群被分類。
擁擠度 ——指種群中給定個體的周圍個體的密度,直觀上可表示為個體。
擁擠度比較運算元:
設想這么一個場景:一群鳥進行覓食,而遠處有一片玉米地,所有的鳥都不知道玉米地到底在哪裡,但是它們知道自己當前的位置距離玉米地有多遠。那麼找到玉米地的最佳策略,也是最簡單有效的策略就是是搜尋目前距離玉米地最近的鳥群的周圍區域。
基本粒子群演算法:
粒子群由 n個粒子組成 ,每個粒子的位置 xi 代表優化問題在 D維搜索空間中潛在的解;
粒子在搜索空間中以一定的速度飛行 , 這個速度根據它本身的飛行經驗和同伴的飛行經驗來動態調整下一步飛行方向和距離;
所有的粒子都有一個被目標函數決定的適應值(可以將其理解為距離「玉米地」的距離) , 並且知道自己到目前為止發現的最好位置 (個體極值 pi )和當前的位置 ( xi ) 。
粒子群演算法的數學描述 :
每個粒子 i包含為一個 D維的位置向量 xi = ( xi1, xi2, …, xiD )和速度向量 vi = ( vi1, vi2,…, viD ) ,粒子 i搜索解空間時 ,保存其搜索到的最優經歷位置pi = ( pi1, pi2, …, piD ) 。在每次迭代開始時 ,粒子根據自身慣性和經驗及群體最優經歷位置 pg = ( pg1, pg2, …, pgD )來調整自己的速度向量以調整自身位置。
粒子群演算法基本思想:
(1)初始化種群後 ,種群的大小記為 N。基於適應度支配的思想 ,將種群劃分成兩個子群 ,一個稱為非支配子集 A,另一個稱為支配子集 B ,兩個子集的基數分別為 n1、n2 。
(2)外部精英集用來存放每代產生的非劣解子集 A,每次迭代過程只對 B 中的粒子進行速度和位置的更新 ;
(3)並對更新後的 B 中的粒子基於適應度支配思想與 A中的粒子進行比較 ,若 xi ∈B , ϖ xj ∈A,使得 xi 支配 xj,則刪除 xj,使 xi 加入 A 更新外部精英集 ;且精英集的規模要利用一些技術維持在一個上限范圍內 ,如密度評估技術、分散度技術等。
(4)最後 ,演算法終止的准則可以是最大迭代次數 Tmax、計算精度ε或最優解的最大凝滯步數 Δt等。
G. 多目標智能優化演算法及其應用的目錄
《智能科學技術著作叢書》序
前言
第1章 緒論
1.1 進化演算法
1.1.1 進化演算法的基本框架
1.1.2 遺傳演算法
1.1.3 進化策略
1.1.4 進化規劃
1.2 粒子群演算法
1.2.1 標准粒子群演算法
1.2.2 演算法解析
1.3 蟻群演算法
1.3.1 蟻群演算法的基本思想
1.3.2 蟻群演算法的實現過程
1.3.3 蟻群演算法描述
1.3.4 蟻群優化的特點
1.4 模擬退火演算法122
1.4.1 模擬退火演算法的基本原理
1.4.2 模擬退火演算法描述
1.5 人工免疫系統
1.5.1 生物免疫系統
1.5.2 人工免疫系統
1.6 禁忌搜索
1.7 分散搜索
1.8 多目標優化基本概念
參考文獻
第2章 多目標進化演算法
2.1 基本原理
2.1.1 MOEA模型
2.1.2 性能指標與測試函數
2.2 典型多目標進化演算法
2.2.1 VEGA、MOGA、NPGA和NSGA
2.2.2 SPEA和SPEA2
2.2.3 NSGA2
2.2.4 PAES
2.2.5 其他典型MOEA
2.3 多目標混合進化演算法
2.3.1 多目標遺傳局部搜索
2.3.2 J—MOGLS
2.3.3 M PAES
2.3.4 多目標混沌進化演算法
2.4 協同多目標進化演算法
2.5 動態多目標進化演算法
2.5.1 IMOEA
2.5.2 動態MOEA(DMOEA)
2.6 並行多目標進化演算法
2.6.1 並行多目標進化演算法的基本原理
2.6.2 多解析度多目標遺傳演算法
2.6.3 並行單前端遺傳演算法
2.7 其他多目標進化演算法
2.7.1 高維多目標優化的NSGA2改進演算法
2.7.2 動態多目標優化的進化演算法
2.8 結論與展望
參考文獻
第3章 多目標粒子群演算法
3.1 基本原理
3.2 典型多目標粒子群演算法
3.2.1 CMOPSO
3.2.2 多目標全面學習粒子群演算法
3.2.3 Pareto檔案多目標粒子群優化
3.3 多目標混合粒子群演算法
3.3.1 模糊多目標粒子群演算法
3.3.2 基於分散搜索的多目標混合粒子群演算法
3.4 交互粒子群演算法
3.5 結論
參考文獻
第4章 其他多目標智能優化演算法
4.1 多目標模擬退火演算法
4.2 多目標蟻群演算法
4.2.1 連續優化問題的多目標蟻群演算法
4.2.2 組合優化問題的多目標蟻群演算法
4.3 多目標免疫演算法
4.4 多目標差分進化演算法
4.5 多目標分散搜索
4.6 結論
參考文獻
第5章 人工神經網路優化
5.1 Pareto進化神經網路
5.2 徑向基神經網路優化與設計
5.3 遞歸神經網路優化與設計
5.4 模糊神經網路多目標優化
5.5 結論
參考文獻
第6章 交通與物流系統優化
6.1 物流配送路徑優化
6.1.1 多目標車輛路徑優化
6.1.2 多目標隨機車輛路徑優化
6.2 城市公交路線網路優化
6.3 公共交通調度
6.3.1 概述
6.3.2 多目標駕駛員調度
6.4 結論
參考文獻
第7章 多目標生產調度
7.1 生產調度描述_
7.1.1 車間調度問題
7.1.2 間隙生產調度
7.1.3 動態生產調度
7.1.4 批處理機調度和E/T調度
7.2 生產調度的表示方法
7.3 基於進化演算法的多目標車間調度
7.3.1 多目標流水車間調度
7.3.2 多目標作業車間調度
7.4 基於進化演算法的多目標模糊調度
7.4.1 模糊調度:Sakawa方法
7.4.2 模糊作業車間調度:cMEA方法
7.5 基於進化演算法的多目標柔性調度
7.5.1 混合遺傳調度方法
7.5.2 混合遺傳演算法
7.6 基於粒子群優化的多目標調度
7.6.1 基於粒子群優化的多目標作業車間調度
7.6.2 多目標柔性調度的混合粒子群方法
7.7 多目標隨機調度
7.8 結論與展望
參考文獻
第8章 電力系統優化及其他
8.1 電力系統優化
8.1.1 基於免疫演算法的多目標無功優化
8.1.2 基於分層優化的多目標電網規劃
8.1.3 基於NSGA2及協同進化的多目標電網規劃
8.2 多播Qos路由優化
8.3 單元製造系統設計
8.3.1 概述
8.3.2 基於禁忌搜索的多目標單元構造
8.3.3 基於並行禁忌搜索的多目標單元構造
8.4 自動控制系統設計
8.4.1 概述
8.4.2 混合動力學系統控制
8.4.3 魯棒PID控制器設計
8.5 結論
參考文獻
附錄 部分測試函數
……
H. 多目標優化演算法
多目標優化演算法如下:
一、多目標進化演算法(MOEA)
1、MOEA通過對種群X(t)執行選擇、交叉和變異等操作產生下一代種群X(t+1)。
2、在每一代進化過程中 ,首先將種群X(t)中的所有非劣解個體都復制到外部集A(t)中。
2、智能優化演算法:包括進化演算法(簡稱EA)、粒子群演算法(簡稱PSO)等。
兩者的區別:傳統優化技術一般每次能得到Pareo解集中的一個,而用智能演算法來求解,可以得到更多的Pareto解,這些解構成了一個最優解集,稱為Pareto最優解(任一個目標函數值的提高都必須以犧牲其他目標函數值為代價的解集)。
I. 目標跟蹤檢測演算法(四)——多目標擴展
姓名:劉帆;學號:20021210609;學院:電子工程學院
https://blog.csdn.net/qq_34919792/article/details/89893665
【嵌牛導讀】基於深度學習的演算法在圖像和視頻識別任務中取得了廣泛的應用和突破性的進展。從圖像分類問題到行人重識別問題,深度學習方法相比傳統方法表現出極大的優勢。與行人重識別問題緊密相關的是行人的多目標跟蹤問題。
【嵌牛鼻子】深度多目標跟蹤演算法
【嵌牛提問】深度多目標跟蹤演算法有哪些?
【嵌牛正文】
第一階段(概率統計最大化的追蹤)
1)多假設多目標追蹤演算法(MHT,基於kalman在多目標上的拓展)
多假設跟蹤演算法(MHT)是非常經典的多目標跟蹤演算法,由Reid在對雷達信號的自動跟蹤研究中提出,本質上是基於Kalman濾波跟蹤演算法在多目標跟蹤問題中的擴展。
卡爾曼濾波實際上是一種貝葉斯推理的應用,通過歷史關聯的預測量和k時刻的預測量來計算後驗概率:
關聯假設的後驗分布是歷史累計概率密度的連乘,轉化為對數形式,可以看出總體後驗概率的對數是每一步觀察似然和關聯假設似然的求和。但是若同時出現多個軌跡的時候,則需要考慮可能存在的多個假設關聯。
左圖為k-3時刻三個檢測觀察和兩條軌跡的可能匹配。對於這種匹配關系,可以繼續向前預測兩幀,如圖右。得到一種三層的假設樹結構,對於假設樹根枝乾的剪枝,得到k-3時刻的最終關聯結果。隨著可能性增加,假設組合會爆炸性增多,為此,只為了保留最大關聯性,我們需要對其他的節點進行裁剪。下式為選擇方程
實際上MHT不會單獨使用,一般作為單目標追蹤的擴展添加。
2)基於檢測可信度的粒子濾波演算法
這個演算法分為兩個步驟:
1、對每一幀的檢測結果,利用貪心匹配演算法與已有的對象軌跡進行關聯。
其中tr表示一個軌跡,d是某一個檢測,他們的匹配親和度計算包含三個部分:在線更新的分類學習模型(d),用來判斷檢測結果是不是屬於軌跡tr; 軌跡的每個粒子與檢測的匹配度,採用中心距離的高斯密度函數求和(d-p)表示;與檢測尺寸大小相關的閾值函數g(tr,d),表示檢測與軌跡尺度的符合程度, 而α是預設的一個超參數。
計算出匹配親和度矩陣之後,可以採用二部圖匹配的Hungarian演算法計算匹配結果。不過作者採用了近似的貪心匹配演算法,即首先找到親和度最大的那個匹配,然後刪除這個親和度,尋找下一個匹配,依次類推。貪心匹配演算法復雜度是線性,大部分情況下,也能得到最優匹配結果。
2、利用關聯結果,計算每個對象的粒子群權重,作為粒子濾波框架中的觀察似然概率。
其中tr表示需要跟蹤的對象軌跡,p是某個粒子。指示函數I(tr)表示第一步關聯中,軌跡tr是不是關聯到某個檢測結果,當存在關聯時,計算與關聯的檢測d 的高斯密度P{n}(p-d );C{tr}§是對這個粒子的分類概率;§是粒子通過檢測演算法得到的檢測可信度,(tr)是一個加權函數,計算如下:
3)基於馬爾科夫決策的多目標跟蹤演算法
作者把目標跟蹤看作為狀態轉移的過程,轉移的過程用馬爾科夫決策過程(MDP)建模。一個馬爾科夫決策過程包括下面四個元素:(S, A, T(.),R(.))。其中S表示狀態集合,A表示動作集合,T表示狀態轉移集合,R表示獎勵函數集合。一個決策是指根據狀態s確定動作a, 即 π: SA。一個對象的跟蹤過程包括如下決策過程:
從Active狀態轉移到Tracked或者Inactive狀態:即判斷新出現的對象是否是真。
從Tracked狀態轉移到Tracked或者Lost狀態:即判斷對象是否是持續跟蹤或者暫時處於丟失狀態。
從Lost狀態轉移到Lost或者Tracked或者Inactive狀態:即判斷丟失對象是否重新被跟蹤,被終止,或者繼續處於丟失狀態。
作者設計了三個獎勵函數來描述上述決策過程:
第一個是:
即判斷新出現的對象是否為真,y(a)=1時表示轉移到跟蹤狀態,反之轉移到終止狀態。這是一個二分類問題,採用2類SVM模型學習得到。這里用了5維特徵向量:包括x-y坐標、寬、高和檢測的分數。
第二個是:
這個函數用來判斷跟蹤對象下一時刻狀態是否是出於繼續跟蹤,還是處於丟失,即跟蹤失敗。這里作者用了5個歷史模板,每個模板和當前圖像塊做光流匹配,emedFB表示光流中心偏差, 表示平均重合率。 和 是閾值。
第三個是:
這個函數用來判斷丟失對象是否重新跟蹤,或者終止,或者保持丟失狀態不變。這里當丟失狀態連續保持超過 (=50)時,則轉向終止,其他情況下通過計算M個檢測匹配,來判斷是否存在最優的匹配使上式(3-14)獎勵最大,並大於0。這里涉及兩個問題如何設計特徵以及如何學習參數。這里作者構造了12維與模板匹配相關的統計值。而參數的學習採用強化學習過程,主要思想是在犯錯時候更新二類分類器值。
第二階段 深度學習應用
1)基於對稱網路的多目標跟蹤演算法
關於Siamese網路在單目標跟蹤深度學習中有了介紹,在這里不再介紹,可以向前參考。
2)基於最小多割圖模型的多目標跟蹤演算法
上述演算法中為了匹配兩個檢測採用LUV圖像格式以及光流圖像。Tang等人在文獻中發現採用深度學習計算的類光流特徵(DeepMatching),結合表示能力更強的模型也可以得到效果很好的多目標跟蹤結果。
基於DeepMatching特徵,可以構造下列5維特徵:
其中MI,MU表示檢測矩形框中匹配的點的交集大小以及並集大小,ξv和ξw表示檢測信任度。利用這5維特徵可以學習一個邏輯回歸分類器。
同樣,為了計算邊的匹配代價,需要設計匹配特徵。這里,作者採用結合姿態對齊的疊加Siamese網路計算匹配相似度,如圖9,採用的網路模型StackNetPose具有最好的重識別性能。
綜合StackNetPose網路匹配信任度、深度光流特徵(deepMatching)和時空相關度,作者設計了新的匹配特徵向量。類似於[2], 計算邏輯回歸匹配概率。最終的跟蹤結果取得了非常突出的進步。在MOT2016測試數據上的結果如下表:
3)通過時空域關注模型學習多目標跟蹤演算法
除了採用解決目標重識別問題的深度網路架構學習檢測匹配特徵,還可以根據多目標跟蹤場景的特點,設計合適的深度網路模型來學習檢測匹配特徵。Chu等人對行人多目標跟蹤問題中跟蹤演算法發生漂移進行統計分析,發現不同行人發生交互時,互相遮擋是跟蹤演算法產生漂移的重要原因[4]。如圖10。
在這里插入圖片描述
針對這個問題,文獻[4]提出了基於空間時間關注模型(STAM)用於學習遮擋情況,並判別可能出現的干擾目標。如圖11,空間關注模型用於生成遮擋發生時的特徵權重,當候選檢測特徵加權之後,通過分類器進行選擇得到估計的目標跟蹤結果,時間關注模型加權歷史樣本和當前樣本,從而得到加權的損失函數,用於在線更新目標模型。
該過程分三步,第一步是學習特徵可見圖:
第二步是根據特徵可見圖,計算空間關注圖(Spatial Attention):
其中fatt是一個局部連接的卷積和打分操作。wtji是學習到的參數。
第三步根據空間注意圖加權原特徵圖:
對生成的加權特徵圖進行卷積和全連接網路操作,生成二元分類器判別是否是目標自身。最後用得到分類打分選擇最優的跟蹤結果。
4)基於循環網路判別融合表觀運動交互的多目標跟蹤演算法
上面介紹的演算法採用的深度網路模型都是基於卷積網路結構,由於目標跟蹤是通過歷史軌跡信息來判斷新的目標狀態,因此,設計能夠記憶歷史信息並根據歷史信息來學習匹配相似性度量的網路結構來增強多目標跟蹤的性能也是比較可行的演算法框架。
考慮從三個方面特徵計算軌跡歷史信息與檢測的匹配:表觀特徵,運動特徵,以及交互模式特徵。這三個方面的特徵融合以分層方式計算。
在底層的特徵匹配計算中,三個特徵都採用了長短期記憶模型(LSTM)。對於表觀特徵,首先採用VGG-16卷積網路生成500維的特徵ϕtA,以這個特徵作為LSTM的輸入計算循環。
對於運動特徵,取相對位移vit為基本輸入特徵,直接輸入LSTM模型計算沒時刻的輸出ϕi,對於下一時刻的檢測同樣計算相對位移vjt+1,通過全連接網路計算特徵ϕj,類似於表觀特徵計算500維特徵ϕm,並利用二元匹配分類器進行網路的預訓練。
對於交互特徵,取以目標中心位置周圍矩形領域內其他目標所佔的相對位置映射圖作為LSTM模型的輸入特徵,計算輸出特徵ϕi,對於t+1時刻的檢測計算類似的相對位置映射圖為特徵,通過全連接網路計算特徵ϕj,類似於運動模型,通過全連接網路計算500維特徵ϕI,進行同樣的分類訓練。
當三個特徵ϕA,ϕM,ϕI都計算之後拼接為完整的特徵,輸入到上層的LSTM網路,對輸出的向量進行全連接計算,然後用於匹配分類,匹配正確為1,否則為0。對於最後的網路結構,還需要進行微調,以優化整體網路性能。最後的分類打分看作為相似度用於檢測與軌跡目標的匹配計算。最終的跟蹤框架採用在線的檢測與軌跡匹配方法進行計算。
5)基於雙線性長短期循環網路模型的多目標跟蹤演算法
在對LSTM中各個門函數的設計進行分析之後,Kim等人認為僅僅用基本的LSTM模型對於表觀特徵並不是最佳的方案,在文獻[10]中,Kim等人設計了基於雙線性LSTM的表觀特徵學習網路模型。
除了利用傳統的LSTM進行匹配學習,或者類似[5]中的演算法,拼接LSTM輸出與輸入特徵,作者設計了基於乘法的雙線性LSTM模型,利用LSTM的隱含層特徵(記憶)信息與輸入的乘積作為特徵,進行匹配分類器的學習。
這里對於隱含層特徵ht-1,必須先進行重新排列(reshape)操作,然後才能乘以輸入的特徵向量xt。
其中f表示非線性激活函數,mt是新的特徵輸入。而原始的檢測圖像採用ResNet50提取2048維的特徵,並通過全連接降為256維。下表中對於不同網路結構、網路特徵維度、以及不同LSTM歷史長度時,表觀特徵的學習對跟蹤性能的影響做了驗證。
可以看出採用雙線性LSTM(bilinear LSTM)的表觀特徵性能最好,此時的歷史相關長度最佳為40,這個值遠遠超過文獻[5]中的2-4幀歷史長度。相對來說40幀歷史信息影響更接近人類的直覺。
J. 雙層多目標智能優化演算法有哪些
雙層多目標智能優化演算法有多目標進化演算法,多目標粒子群演算法,多目標智能優化演算法,人工神經網路優化演算法,交通與物流系統優化演算法。