2017-02-27 151 views
0

我在matlab計算機視覺系統工具箱中實現的函數bagoffeatures有問題。bagoffeatures提取不同類型的特徵

我正在做一個不同類型的圖像分類研究,首先我試圖用diffenrets自定義提取器使用bagoffeatures,我想分成2個分支我的工作,首先提取SURFpoints和提取3不同類型的描述,例如SURF活躍,怪胎,當我在我的自定義提取使用下一行:

features = extractFeatures(grayImage,multiscaleGridPoints,'Upright',true, 'method', 'SURF'); 

它八方通需要獲得SURF方法的工作,但我需要能夠得到型動物類型的描述符。

我可以使用計算機視覺系統工具箱中的功能包功能來做到這一點嗎?或者它只支持超時提取?

+0

您是否閱讀過文檔?那裏有什麼不清楚的東西嗎? –

+0

是的,閱讀文檔,我測試了功能並尋找解決方案,我只想知道是否有人知道您是否可以提取其他類型的描述符。 –

+0

你沒看過。文檔的第二行:* bag = bagOfFeatures(imds,'CustomExtractor',extractorFcn)返回一個使用自定義特徵提取函數從輸出包中提取特徵以學習其視覺詞彙的功能包。 extractorFcn是一個自定義特徵提取函數的函數句柄。* –

回答

0

不幸的是,您不能使用BRISK或FREAK和MATLAB的特徵包實現,因爲特徵包算法使用K-means聚類來創建「視覺詞彙」。問題是BRISK和FREAK描述符是二進制位串,並且不能用K-means對它們進行聚類,而K-means只適用於實值向量。

您當然可以在MATLAB框架中使用不同種類的興趣點檢測器。然而,你僅限於描述符是實值向量。所以SURF和SIFT將會工作,但是BRISK和FREAK不會。如果您絕對必須使用BRISK和FREAK,那麼您將實現自己的功能包。有幾種方法可以對二進制描述符進行聚類,但我不知道它們在特徵提取的背景下工作得有多好。

+0

我是否應該用自己的話來解決我的問題?我真的需要結合不同類型的探測器和提取器,以不同的方法對我的圖像進行分類 –

+0

我編輯了我的答案。 – Dima

+0

謝謝你的答案,以及我不需要專門使用這2個描述符,但因爲我想使用計算機視覺工具箱,我會嘗試做2種類型的測試:獲得快速keyPoints並使用SURF,BRISK和FREAK描述符,第二個獲得SURF關鍵點並使用SURF BRISK和FREAK描述符。我會盡力實施我自己的包包,謝謝你的回答,非常感謝 –