sift分类java_使用SIFT / SURF进行特征匹配是否可以用于类似对象的分类?
我已經在OpenCV中實現了SIFT算法,使用以下步驟進行特征檢測和匹配:
使用Otsu的閾值處理去除背景
使用SIFT特征檢測器進行特征檢測
使用SIFT特征提取器進行描述符提取
使用BFMatcher(L2 Norm)匹配特征向量并使用比率測試來過濾良好匹配
我的目標是根據圖像的相似性將圖像分類到不同的類別,如鞋子,襯衫等 . 例如,兩個不同的鞋跟應該比鞋跟和運動鞋或鞋跟和T恤更彼此相似 .
但是,只有當我的模板圖像出現在搜索圖像中時(無論是任何比例和方向),此算法才能正常工作 . 如果我比較兩種不同的高跟鞋,它們不匹配并且匹配也是隨機的(一個圖像的跟部與另一個圖像的平面匹配) . 當我將鞋跟與運動鞋或鞋跟與T恤或鞋跟與嬰兒的照片進行比較時,也存在許多誤報!
我想看一下鞋跟,并將其標識為鞋跟,并將鞋跟與我的數據庫中的不同圖像的相似程度與其他鞋跟的最大相似度,然后是其他鞋子 . 它不應與襯衫,手機,筆等無關物體產生任何相似之處 .
據我所知,SIFT算法根據關鍵點周圍像素的梯度值為每個關鍵點生成描述符向量,并且純粹使用此屬性匹配圖像 . 因此,很可能位于一個鞋的跟部附近的關鍵點與另一個鞋的表面處的關鍵點匹配 . 因此,我收集的是該算法只能用于檢測精確匹配而不能檢測圖像之間的相似性
你能否告訴我這個算法是否可以用于我的目標,如果我做錯了什么或建議我應該使用任何其他方法 .
總結
以上是生活随笔為你收集整理的sift分类java_使用SIFT / SURF进行特征匹配是否可以用于类似对象的分类?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 取一行_MySql – 如
- 下一篇: java正则题_牛客网java编程题整理