0

C ++には、CRF ++、FlexCRFなどの条件付き確率場(CRF)のオープンソース実装がいくつかあります。しかし、マニュアルからは、テキストのタグ付けなどの1次元の問題にそれらを使用する方法しか理解できません。明確ではありません。それらを2次元視覚問題に適用する方法、各ノードでの関連ポテンシャルと各エッジでの相互作用ポテンシャルを計算したと仮定します。

セグメンテーションなどの視力の問題にこれらのパッケージを使用した人はいますか?それとも、単にこのように使用することはできませんか?

全体として、視力の問題のためのCRFのオープンソースパッケージはありますか?

どうもありがとう!

4

1 に答える 1

6

dlib の最新バージョンは、任意のグラフ構造 (2 次元グリッドを含む) でのペアワイズ マルコフ確率場モデルの学習をサポートしています。最尤法 (つまり CRF) ではなく、最大マージンの意味 (つまり、構造 SVM を使用) でパラメーターを推定しますが、グラフのラベリングを予測することだけが必要な場合は、どちらの方法でも同じように優れています。

簡単なサンプル グラフでこのようなものを使用する方法を示すサンプル プログラムがあります。この例では、各ノードに特徴ベクトルを配置し、構造化 SVM はそれらを使用して、グラフ内のノードに正しくラベルを付ける方法を学習します。ファイルの上部にある typedef を変更することで、特徴ベクトルの次元を変更できることに注意してください。また、すでに完全なモデルがあり、最も可能性の高いラベル付けを見つけたい場合は、基礎となる最小カット ベースの推論ルーチンを直接呼び出すことができます。

一般に、これらの問題にアプローチする最善の方法は、使用するグラフィカル モデルを定義し、それで機能するパラメーター学習方法を選択することです。したがって、この場合、ある種のペアワイズ マルコフ確率場モデルに興味があると思います。特に、min-cut/max-flow アルゴリズムで最も可能性の高い割り当てを見つけることができる種類のモデルです。次に、この場合、構造 SVM は最大確率割り当てを見つける機能のみを必要とするため、モデルのパラメーターを見つけるための自然な方法であることがわかります。最尤法 (つまり、これを CRF として扱う) を介してパラメーターを見つけるには、グラフ変数の合計を計算する何らかの方法が追加で必要になりますが、これはこれらの種類のモデルではかなり困難です。この種のモデルの場合、私が知っているすべての CRF メソッドは近似値ですが、dlib の SVM メソッドは正確なソルバーを使用します。つまり、アルゴリズムのパラメーターの 1 つは、「イプシロン精度内で最適なパラメーターが見つかるまで実行する」というイプシロン値であり、アルゴリズムは毎回これを効率的に実行できます。

今年のコンピューター ビジョンおよびパターン認識カンファレンスで、このトピックに関する優れたチュートリアルがありました。発表者によって書かれた、コンピューター ビジョンにおける構造化予測と学習に関する優れた本もあります。

于 2012-07-27T22:25:33.897 に答える