2013-04-07 93 views
1

我試圖找到兩個圖像(讓我們說,「image1」和「image2」)如何相互匹配。 針對「image2」相對於「image1」的每個可能位置計算了幾個參數。我有經驗公式,根據這些參數給每個位置「得分」。有沒有辦法通過遺傳算法檢測公式?

我試圖在神經網絡的幫助下匹配圖像分割,但失敗了:經驗公式效果更好。由此我開始考慮在遺傳算法的幫助下改進這個公式。

所以,問題是:我有一堆圖像對,每對我知道「正確」匹配位置。遺傳算法是否可以用於這種事情?任何例子?

建議和鏈接表示讚賞。

謝謝。

回答

2

基本上,是的!您的分數函數的參數可能是您的GA將要發展的參數。如果您的參數在真實域中,您可能需要使用真正的編碼遺傳算法或進化策略(CMA-ES)。

存在幾種可能的選擇用於交叉:

  • 平均/中間體
  • 混合-α(BLX-A)
  • 混合-α-β(BLX-AB)
  • 離散
  • 啓發式
  • 本地
  • 隨機凸
  • 模擬二進制(SBX)
  • 單點

,也有一些變異算:

  • 正態分佈N(0,SIGMA) - >例如用適應減少西格瑪隨時間分佈(在某些位置)
  • 統一
  • 多項式突變

適合於實時編碼問題的另一個元啓發式是粒子羣優化(PSO)。

通過遺傳編程,您將演變一個公式(例如樹)。我不太確定你爲什麼提到它,也許我仍然誤解了一些東西。澄清你的問題,以防萬一。

編輯:

奧凱現在看來,這並不是說要優化的權重,但整個公式。儘管如此,遺傳算法也可以用於這種表示。由於其對遺傳編程的良好支持,我想提及HeuristicLab

我假設你有一個更復雜的問題,因爲你想優化評分函數,並且仍然有另一種算法根據評分函數優化佈局。您可以嘗試一種簡單的方法,並生成一個預定義了幾個位置的數據集,並據此計算這些特徵。然後,您可以制定一個分類問題並找到一個模型,使您能夠識別那些最佳的定位。

+0

Andreas,謝謝你的回覆! – Arsen 2013-04-10 19:37:33

+0

我拿了鐘錶庫,做了一些髒編程:實現了公式變換器和公式變換器,增加了兩個簡單的函數(所以,公式由具有變異參數的函數組成),增加了適應度函數等。結果並不是那麼糟糕我期望的(考慮到我使用髒方法來製作PoC)。 GA的方法比神經網絡(我之前嘗試使用)更具吸引力,更可預測和更易於理解。祝你今天愉快! – Arsen 2013-04-10 19:49:27

+0

只是爲了確保你理解我的問題:我需要一個公式來完成圖像對之間的某些「匹配」(這種匹配取決於參數)。通過一系列長期的實驗我得到了經驗公式,但是現在我想改進這個經驗公式。遺傳算法適用於我:我從遺傳算法得到的生成/變異公式並不比我原來的更糟糕(毫不奇怪,它們看起來往往與我的不同)。但是,正如我所說的那樣,他們也工作。將引入更多的函數來配方,期待這可能會給GA變化演變非常好的候選人:) – Arsen 2013-04-10 19:57:59