私は、一般的なグラフのグラフカットを解決するために、ゴールドバーグのプッシュと再ラベル付け、または preflow-push 、 preflow-relabel を行うオープンソースコードを見つけようとしています。
CUDA には npp GrabCut 2D サンプル コードがあることを知っています。また、すべてのピクセルがノードとして扱われる場合、nppiGraphCut() が 2D 平面のグラフカットを解決することも知っています。ただし、次のグラフ入力が与えられた場合に解決するものが必要です。
ソース、シンク、ノード数、ノードからノードへ、フォワード アークの重み (ノードからノードへ) バックワード アークの重み (ノードからノードへ) ソースの重み (ソースから非ターミナル ノードへの容量) シンクの重み (非ターミナル ノードへの容量)容量をシンクする端末ノード)
ソースがsourceWeightsでノード<1><2><3>に接続し、ノード<1><2><3>がsinkWeightsでシンクノードに接続する次のグラフがこのように与えられるように、私はこれをmatlabに持っています。同様に、容量間にノードがありますが、一方向にしか接続されていません (つまり、逆容量は 0 です)。
<source>
<1> -> <2> -> <3> -> <4> -> <5> -> <6> ...
<sink>
これを nppGraphCut で 1D 配列 (<1><2><3>) として使用してグラフ カットを実行できますか?