2015-03-19 52 views
1

由於項目,我想比較一些由L系統分形生成器生成的圖像。我決定使用的方法是DTW(Dynamic Time Warping)。正如你們中的一些人可能知道的那樣,DTW的工作需要兩個時間序列來進行比較。關於如何實現從分形圖像中提取時間序列數據的算法的三個想法

在網上和科研論文搜索後,我找不到任何算法實現,爲我的圖像生成時間序列。

只是承擔我想比較見下面的哪些圖像味道: enter image description here

每一列有三個迭代植物的特定基因型和你能理解我想比較這些圖像與各其他。

因此,第一步是以某種方式從每個圖像中提取時間序列數據,然後在DTW算法中使用它。

我想過三種不同的方式來實現這樣的算法,這裏是我想要你的意見的地方。

IDEA#1

enter image description here

第一個想法,你可以看到上面,是計數同一代的分支的距離(世代開始從底部計數)。例如,從該圖像數據將是:

1st gen : 1.51cm 
2nd gen : 0.95cm , 1.03cm 
3rd gen : 0.54cm , 0.66cm , 0.69cm , 0.73cm 

然後,計算每一代

1st gen : 1.51cm 
2nd gen : 0.99cm 
3rd gen : 0.655cm 

的平均值和最後的時間序列圖看起來像這樣:

enter image description here

這個想法似乎(在我看來)有一個缺點,因爲這些分形只有6代,這意味着最終只有6個數字會d刻劃時間序列圖。

IDEA#2

enter image description here

第二思想是測量到的圖像的第一叉(順時針對每個代)從每個叉的距離。

下面是順時針的每一代操作說明:

enter image description here

這樣一來我有,看起來像每棵樹許多測量:

1st : 1.67cm 
2nd : 1.71cm 
3rd : 2.60cm 
4th : 2.71cm 
5th : 2.86cm 
6th : 2.94cm 
7th : 3.07cm 
and so on... 

,而時間序列劇情是:

enter image description here

IDEA#3

enter image description here

在這種情況下測量值是從所述圖像的輪廓的任何點的中心的距離(我認爲,隨着更多的輪廓點,將使用更好的結果將在時間序列圖)

測量該案例:

1st : 2.62cm 
2nd : 2.27cm 
3rd : 1.98cm 
4th : 1.43cm 
5th : 1.39cm 
6th : 2.07cm 
7th : 2.73cm 
and so on.. 

而且具有b個時間序列圖EEN生產:

enter image description here

所以,這就是我所有的想法/想法。所有這些表示和計算是我手工製作的,使用ImageJ和LibreOffice Calc。我認爲在決定使用哪種方法後,我應該找到一種方法來自動執行該程序(使用R/matlab或其他)。

歡迎任何關於選擇哪種方法,如何實現這些想法或任何修正的意見。

謝謝。

+0

目前我還不清楚你到底想達到什麼目的以及爲什麼。 – Dawnkeeper 2015-03-20 09:17:00

+0

爲了讓你明白...我想比較這些圖像(圖像#1),例如做一個「譜系樹」,實際上會告訴我,第一列的第一個圖像是最接近第二個圖像的第五列到第三列的第一張圖片。 – 2015-03-20 17:13:09

回答

0

我實際上使用了第二個想法。

使用ImageJ,add multi points函數和一個標準畫布大小,我計算了每個點屬於每個叉的座標。

例如:

Fork X  Y 
1st 0.43 0.5 
2nd 0.56 0.43 
and so on... 

我保存的這些值到Excel文件,並從第一個計算每個叉的歐氏距離。

最後,我得到了每棵樹的距離,並使用DTW R軟件包將它們相互比較。

相關問題