問題タブ [vlfeat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multicore - VLfeat の vl_kdforest_query_with_array 使用中の問題
VlFeat の vl_kd_forest_query と vl_kdforest_query_with_array を使用しようとしています。ドキュメントが貧弱です。それが言っているのは、 vl_kdforest_query_with_array が実行のために複数のコアを「利用できる」ということだけです。この機能がすでに複数のコアを使用しているかどうか、またはそれを利用する方法があるかどうかは誰にもわかりませんか? ありがとう!
(コードを調べるという選択肢があることは知っていますが、既にこの情報を持っている人がいるかどうかを知りたかっただけです。)
binary - VLfeat バイナリ分類
トレーニング: [w, b] = vl_svmtrain(feature_matrix.FeatureVector, label_vector.labelsMatrix, 0.1) ;
分類:
[~,~,~, スコア] = vl_svmtrain(feature_matrix.FeatureVector_temp, ラベル, 0, 'モデル', ww, 'バイアス', bb, 'ソルバー', 'なし') ;
トレーニング中にラベル -1 と 1 を付けました。モデルを分類に使用すると、-1 未満で 1 より大きいスコアが返されます。これらのスコアをバイナリ分類に使用するにはどうすればよいですか? スコアの実際の意味は何ですか?
matlab - vl_gmm の使用エラー - スクリプトを関数として実行しようとしています
こんにちは、SIFT 記述子に Fisher Vector を使用したいと考えています。VL_FEATの機能を使ってみました。MATLAB にディレクトリを追加し、vl_startup も実行しました。正常に実行されますが、例を試すと
それは私にこのエラーを与えます:
どうすればこれを解決できますか?
matlab - 期待される行列ではなく、セル内のデータの SVM 予測
私が使用している svm トレーニングと予測についてはvl_svmtrain
、そのドキュメントは次の場所にあります: http://www.vlfeat.org/matlab/vl_svmtrain.html
[WB] = VL_SVMTRAIN(X, Y, LAMBDA) は、データ ベクトル X とラベル Y から線形サポート ベクター マシン (SVM) をトレーニングします。またはダブル)。Y は、トレーニング ポイントごとにバイナリ (-1 または +1) ラベルが付いた N 個の要素を持つ DOUBLE ベクトルです。
ドキュメントによると、データX
は列ごとに 1 つのサンプルを持つ D 行 N 列の行列でなければなりません。
問題は、私のデータがこのようにまったく配置されていないことです。たとえ望んでも、このように配置できるとは思いません。私の画像はそれぞれ size の特徴行列で表され512 * 257
、これらはセルに保存されます。同様に、各テスト画像も同じサイズです。
したがって、単純化するために、3 つのクラスしかないと仮定します。各クラスはサイズのモデルで表され、512 * 257
1 対すべてのアプローチのように、各モデルと比較する必要がある何千ものテストがあります。しかし、私が苦労しているのはデータの配置です。
データをマトリックス形式ではなくセル形式で SVM に表示することは可能ですか?
アップデート:
前述の cell 配列は 28 個のモデルで構成されています。したがって、合計 28 個のクラスがあり、各クラスは size の配列で表されます512 * 257
。書くことは現在をmodels(1)
表しans = [512x257 double]
、書くことは二重行列をmodels{1}
生み出す。512*257
これは、私が SVM のトレーニングに使用しているものです。同様に、各テストも同じサイズで、同じ配置になっています。
各モデルのこのマトリックスを取得するにはどうすればよいですか? クラス/モデルごとに 100 個の画像から RootSIFT 特徴を抽出しました。次に、これらの特徴をガウス混合モデル スクリプトに提示し、クラスター数を 512 に設定しました。これにより、512 クラスターの平均、共分散、および重みが得られました。次に、それらを連結しましたmodels{i} = [gmm_models{i}.w(:) gmm_models{i}.mu' gmm_models{i}.sigma'];
テストに関しては、5枚の画像からRootSIFT特徴を抽出し、モデルと同様の処理を経て、同じサイズの連結行列を取得します。したがって、当然のことながら、各モデルには何百ものテスト マトリックスがあります。
これにより、以前よりも明確になったことを願っています。
c++ - Visual c++ コンパイラを使用して、MATLAB で vlfeat および mexopencv ライブラリをコンパイルするにはどうすればよいですか?
私はコンピューター ビジョン プロジェクトに取り組んでおり、vlfeat
およびmexopencv
ライブラリを使用する必要があります。MATLAB R2008a を使用していますが、MATLAB コンパイラを変更してライブラリをコンパイルおよびセットアップすることはできません。
Microsoft Visual C++ Express をインストールしましたが、MATLAB で Visual C++ コンパイラを使用してライブラリをコンパイルする方法がわかりません。
c++ - 関数内の void const * 引数の目的
データが const void * であることを要求する VLFeat のライブラリ関数を使用しようとしています。データを作成して渡す方法がよくわかりません。
これは関数呼び出しです:
データ引数は私をスローするものです。kmeans クラスタリング関数をテストするためにランダム データ マトリックスを構築しようとしましたが、データの使用方法がわかりません。つまり、この関数にはこの引数が必要です。しかし、それが役立つためには、データをキャスト/作成/ロードして機能させる方法を理解する必要があります。つまりconst void *
、引数の型の目的を理解する必要があります。
どんな助けでも大歓迎です。
注: const の意味は理解できますが、たとえば、const データを反復的に構築する方法がわかりません (つまり、行列を二重の for ループで埋めます)。
ありがとう!
matlab - vlfeat-0.9.19/toolbox/mex/mexa64/libvl.so: 未定義のシンボル: GOMP_parallel
次のコマンドでmatlab用のmexを作成して、Linux(archlinux)でvlfeatをコンパイルしました
VLFEATROOT ディレクトリにあります。エラーが報告されなかったため、出力は良好に見えます。ところで、私は gcc4.7 を使用して上記のものをコンパイルします。
matlab で非常に単純なコードを実行します。
matlab は、次の赤い線を報告します。
私はopenmpについてあまり知りませんが、これはそれに関連しているようです。vlfeat のメイクファイルに、openmp をオフにするオプションがあることに気付きました。
「はい」に設定し、単純なコードをコンパイルして実行します。上記のすべてがエラーなしで実行できるようになりました。
しかし、オプションを「いいえ」のままにしておくと、何が問題なのか知りたいです。メイクファイルのコメントには次のように書かれています:
Googleでopenmpの知識を簡単に検索しましたが、openmpまたはgompはすべて正常にインストールされているようです。以下を参照してください。結果は次のとおりです。
よろしくお願いします。
python - vlfeat の Python ラッパーのインストール
過去 5 時間、VlFeat の python ラッパーをインストールしようとしてきましたが、常に次のように終了します。
他のスレッドで提案されているように、セットアップ ファイルを変更して、python 2.7 ブースト ライブラリを使用するように依頼しました。私のシステムの Python バージョンは 2.7.6 です。これが、-lboost_python-mt-py26 ではなく -lboost_python-mt-py27 を取得する理由です。
さらに、boost-python-dev を再インストールしました。ただし、この問題は解決しません。私はアイデアを完全に使い果たし、他に何をすべきかわかりません。
[編集] 私が行うとき: ldconfig -p |grep libboost
私は得る:
そのため、探している「mt」バージョンは存在しないようです。Linux mint システムで、これに対するインストール候補が表示されません。
[編集 2]: 標準のブースト ライブラリにリンクして動作させましたが、マルチスレッド バージョンで動作させる方法を知りたいです!
c++ - VlFeat kdtree のセットアップとクエリ
VlFeat の SIFT 実装を機能させることができたので、2 つの画像記述子のセットを一致させたいと思います。
std::vector
SIFT の特徴ベクトルは 128 要素の float 配列です。以下のスニペットに示すように、記述子リストを s に格納しました。
私が知る限り、それはうまくいくはずですが、私が得たのは、距離についてはnan
です。記述子配列の長さはチェックアウトされるため、ツリーにデータが入っているように見えます。キーポイントをプロットしましたが、それらも妥当に見えるため、データはかなり正常です。
私は何が欠けていますか?
こちらのかなりまばらなドキュメント (API へのリンク): http://www.vlfeat.org/api/kdtree.html