問題タブ [ceres-solver]

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.

0 投票する
2 に答える
5035 参照

c++ - Ceres Solver: ロギングを無効にできません (google glog)

プロジェクトにceresソルバーを使用しています。ceres::Solve関数を呼び出すと、ライブラリは次のような行を出力し始めます:

これらの中間ステップのログを無効にしようとしましたが、今のところ成功していません。クラスのコンストラクターで次の行を呼び出しています。

ソルバーを呼び出すときに設定するオプションは次のとおりです。

ceres のロギングは事実上無効になっているように思えますが、その依存ライブラリ (つまり、SuiteSparse) のロギングはそうではありません。

この迷惑なログを無効にする方法について誰か考えがありますか?

0 投票する
1 に答える
981 参照

c++ - 二乗和を修正する [ceres-solver]

残差の平方和をコスト関数として計算する ceres のデフォルトの動作を変更しようとしています。合計のみを計算したい (残差は、正の値しか得られない方法で既に計算されています)

ドキュメントによると、ConditionedCostFunctionを使用する必要があります

これが私がやったことです: 1つの残差と1つのパラメーターを取るコンディショナーを定義します

ベクトルの中にコンディショナーを入れます

それはコンパイルされ、すべて。しかし、それは問題を解決しません。開始さえしません。それは言う:

それ以外の :

(自分で試してみたい場合は、この例でhellowordの例を変更します) (ceres のレポートはより具体的ではありませんでした)

0 投票する
1 に答える
1680 参照

math - Google Ceres Solver を使用して非線形方程式系を解くことはできますか?

Google Ceres Solver は、ロバスト化された非線形境界制約付き最小二乗問題を解決します。

非線形最小二乗法ソルバーを使用して、非線形方程式系の解を求めることはできますか?

ウィキペディアから: 「最小二乗法は、過決定システム (つまり、未知数よりも多くの方程式が存在する方程式のセット) の近似解に対する標準的なアプローチです。」

さて、非線形方程式の「通常の」システムは過剰決定システムのセットにあるはずなので(未知数の数が方程式の数に等しい縮退した場合)、非線形を使用できると推測できますかこの目的のための最小二乗ソルバー?

この質問は、非線形最小二乗法のみを提供しているように見える Google Ceres Solver ライブラリを使用する必要があるという事実から来ています。

参考文献:
Ceres Solver チュートリアル
非線形方程式系を解くための非線形最小二乗ソルバー?

0 投票する
1 に答える
1408 参照

computer-vision - ceres ソルバーで変換を組み合わせるにはどうすればよいですか?

Ceres コスト関数への入力として 2 つのパラメーター変換があります。これらは両方とも、ポイントを再投影するために結合される変換です。どちらの変換も、Rodrigues 回転ベクトルと並進ベクトルの形式で与えられます。

私の質問は、ポイントを再投影するために、コスト関数内でこれら 2 つの変換を (Ceres API を使用して) 結合するにはどうすればよいですか?

0 投票する
1 に答える
1999 参照

c++ - Ceres Solverのバンドル調整

私は ceres (非線形最小二乗) ソルバーと c++ テンプレート プログラミングを初めて使用します。http://grail.cs.washington.edu/projects/bal/に投稿されたデータセットをダウンロードして、ceres ソルバーを正常にインストールし、ubuntu で bundle_adjuster.cc コードを実行しました。プロジェクトでバンドル調整をブラックボックスとして使用する必要があります。洗練されたカメラのポーズ、データセットの 3 次元座標を印刷したい。これを行う方法、新しいポーズ マトリックスと 3D 座標を取得するには、bundle_adjuster.cc で何を編集する必要がありますか。

ありがとう。

0 投票する
1 に答える
4648 参照

c++ - ceres ライブラリのサンプルプログラム「helloworld」のコンパイルエラー

を使用して、例でCeresライブラリプログラムgcc helloworld.ccを実行しようとしました。すべてのライブラリが にあることを確認しました/usr/local/lib。私はすでにインストールglogしており、次の指示gflag egienに従っています。ライブラリの明示的なパスを指定しようとしました。

リンカー エラーが発生していると思いますが、解決方法がわかりません。

0 投票する
1 に答える
2644 参照

c++ - セレスソルバーの結果から外れ値を取得する方法は?

Features2D + Homographyと同様の方法を使用して画像を比較し、既知のオブジェクトを見つけようとしますがfindHomography()、自己記述findAffine()関数に置き換えます。

Ceres Solverを使用して、外れ値を考慮した最適なアフィン行列を取得します。

Ceres ソルバーはLossFunctionを提供します:

損失関数は、高い残差 (通常は外れ値に対応するもの) を持つ残差ブロックの影響を減らします。

もちろん、取得した行列を使用して最初の画像からキーポイント座標を変換し、2 番目の画像と比較して偏差を取得できます。しかし、セレスソルバーは作業中にすでに内部でそれを行っています。

どうすれば取得できますか? ドキュメントには見つかりませんでした。