我遇到了最近鄰算法的實現,用於查找兩個相似圖像中某些關鍵點之間的匹配。關鍵點是由SIFT算法生成的。點由128維矢量描述,並且在這兩個圖像中都有很多這樣的點。最近鄰算法中距離度量的替代方法?
匹配算法使用最近鄰居搜索,併爲一幅圖像中的每個點計算另一幅圖像中對應的最近點。 '接近度'由點向量之間的最小歐氏距離描述。通過僅選取距離低於特定閾值的那些點來選擇最好的這種匹配。
但是,我遇到的實現將一個圖像中的關鍵點的所有向量與另一個圖像中的關鍵點的向量相乘,從而形成產品矩陣。然後它發現產品高於給定閾值的點。
該實現給出了正確的結果,但我想知道它是如何工作的。它是否使用向量之間的相關性作爲度量標準,或者是否存在其他內容。
我對圖像處理知之甚少,但是我所知道的內部產品和度量空間讓我懷疑實現是否定義了某種不尋常的內部產品......我沒有太多的事要做現在正在工作,所以我不妨看看它。看起來很有趣。 – JAB 2010-06-30 15:33:07
這是哪個實現?另外,你可以發佈相關部分的代碼嗎? – Jacob 2010-06-30 15:41:08
這是SIFT GPU源代碼http://www.cs.unc.edu/~ccwu/siftgpu/ 的一部分,可以在ProgramCU.cu文件的SIFT匹配部分下找到。我沒有在這裏發佈它,因爲它是CUDA內核函數的一部分,它有點龐大而複雜。 – Slartibartfast 2010-06-30 17:37:16