我試圖找到兩個圖像(讓我們說,「image1」和「image2」)如何相互匹配。 針對「image2」相對於「image1」的每個可能位置計算了幾個參數。我有經驗公式,根據這些參數給每個位置「得分」。有沒有辦法通過遺傳算法檢測公式?
我試圖在神經網絡的幫助下匹配圖像分割,但失敗了:經驗公式效果更好。由此我開始考慮在遺傳算法的幫助下改進這個公式。
所以,問題是:我有一堆圖像對,每對我知道「正確」匹配位置。遺傳算法是否可以用於這種事情?任何例子?
建議和鏈接表示讚賞。
謝謝。
我試圖找到兩個圖像(讓我們說,「image1」和「image2」)如何相互匹配。 針對「image2」相對於「image1」的每個可能位置計算了幾個參數。我有經驗公式,根據這些參數給每個位置「得分」。有沒有辦法通過遺傳算法檢測公式?
我試圖在神經網絡的幫助下匹配圖像分割,但失敗了:經驗公式效果更好。由此我開始考慮在遺傳算法的幫助下改進這個公式。
所以,問題是:我有一堆圖像對,每對我知道「正確」匹配位置。遺傳算法是否可以用於這種事情?任何例子?
建議和鏈接表示讚賞。
謝謝。
基本上,是的!您的分數函數的參數可能是您的GA將要發展的參數。如果您的參數在真實域中,您可能需要使用真正的編碼遺傳算法或進化策略(CMA-ES)。
存在幾種可能的選擇用於交叉:
,也有一些變異算:
適合於實時編碼問題的另一個元啓發式是粒子羣優化(PSO)。
通過遺傳編程,您將演變一個公式(例如樹)。我不太確定你爲什麼提到它,也許我仍然誤解了一些東西。澄清你的問題,以防萬一。
編輯:
奧凱現在看來,這並不是說要優化的權重,但整個公式。儘管如此,遺傳算法也可以用於這種表示。由於其對遺傳編程的良好支持,我想提及HeuristicLab。
我假設你有一個更復雜的問題,因爲你想優化評分函數,並且仍然有另一種算法根據評分函數優化佈局。您可以嘗試一種簡單的方法,並生成一個預定義了幾個位置的數據集,並據此計算這些特徵。然後,您可以制定一個分類問題並找到一個模型,使您能夠識別那些最佳的定位。
Andreas,謝謝你的回覆! – Arsen 2013-04-10 19:37:33
我拿了鐘錶庫,做了一些髒編程:實現了公式變換器和公式變換器,增加了兩個簡單的函數(所以,公式由具有變異參數的函數組成),增加了適應度函數等。結果並不是那麼糟糕我期望的(考慮到我使用髒方法來製作PoC)。 GA的方法比神經網絡(我之前嘗試使用)更具吸引力,更可預測和更易於理解。祝你今天愉快! – Arsen 2013-04-10 19:49:27
只是爲了確保你理解我的問題:我需要一個公式來完成圖像對之間的某些「匹配」(這種匹配取決於參數)。通過一系列長期的實驗我得到了經驗公式,但是現在我想改進這個經驗公式。遺傳算法適用於我:我從遺傳算法得到的生成/變異公式並不比我原來的更糟糕(毫不奇怪,它們看起來往往與我的不同)。但是,正如我所說的那樣,他們也工作。將引入更多的函數來配方,期待這可能會給GA變化演變非常好的候選人:) – Arsen 2013-04-10 19:57:59