2012-11-25 54 views
1

我試圖實現形狀上下文(在MatLab中)。我試圖實現輪換不變。形狀上下文 - 旋轉不變

形狀上下文的一般方法是計算給定圖像中每組興趣點之間的距離和角度。然後,根據這些計算出的值是否落入某個範圍,將它們分成直方圖。您可以爲標準和測試圖像執行此操作。爲了匹配兩個不同的圖像,由此使用卡方函數估計兩個不同直方圖中每對可能點之間的「成本」。最後,您使用匈牙利語算法等優化技術來查找最佳點的分配,然後總計總成本,對於良好的匹配,總成本將會降低。

我檢查了幾個網站和論文,他們說爲了使上述方法旋轉不變,需要使用切線向量作爲x軸來計算每對點之間的每個角度。 (即http://www.cs.berkeley.edu/~malik/papers/BMP-shape.pdf第513頁)

這究竟是什麼意思?似乎沒有人清楚解釋它。此外,從每對點中哪一個可以得到切線矢量 - 你會平均兩個?

一些其他人建議我可以使用漸變(這很容易在Matlab中找到)並將其用作切點的替代品,儘管它似乎沒有計算出合理的成本分數。用漸變做這個可行嗎?

回答

0

實現(有點)旋轉不變性的一種方法是確保在你計算圖像描述符的地方,它們的方向(即bin的排序)將會(大致)相同。爲了達到這個目的,你在提取每個描述符的位置選擇主導方向,並根據該方向對倉進行排序。通過這種方式,您可以比較不同描述符的bin-bin,並知道它們的排序是相同的:關於它們的局部主導方向。
從我個人的經驗(這不是太多),這些方法在紙上看起來比實踐中更好。

1

漸變對於這種主導方向是否適用?

你是什麼意思,通過訂購與該方向相關的垃圾箱?我本來會有一個方陣的矩陣 - 兩個給定點之間的半徑決定了矩陣中的列,並且計算兩個給定點之間的角度決定了行。

謝謝你的洞察力。

+0

請使用評論部分爲您的問題 – MUG4N