これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド cpfind です。
プログラム:
NAME
cpfind - パノラマ ステッチングのための特徴マッチング
SYNOPSIS
cpfind [オプション] -o 出力プロジェクト プロジェクト.pto
cpfind [オプション] -k i0 -k i1 [...] プロジェクト.pto
cpfind [オプション] --kall プロジェクト.pto
DESCRIPTION
cpfind cpfind は、Hugin のコントロール ポイント検出器です。 入力としてプロジェクト ファイルが必要です
成功すると、制御ポイントを含むプロジェクト ファイルが書き込まれます。 リーズナブルなレンズ次第
入力プロジェクト ファイル内の情報。
最初のステップは機能の説明です。このステップでは、プロジェクト ファイルのイメージは次のとおりです。
ロードされ、いわゆるキーポイントが検索されます。 彼らは特徴的な特徴を次のように説明しています。
画像。 cpfind の機能説明に勾配ベースの記述子を使用します。
キーポイント。
XNUMX 番目のステップである特徴照合では、XNUMX つの画像のすべてのキーポイントが照合されます。
お互いに、両方の画像にある特徴を見つけます。 このマッチングが成功した場合は XNUMX つ
XNUMX つの画像内のキーポイントが XNUMX つの制御点になります。
USAGE
直線 & 魚眼レンズ 画像
Cpfind は、直線画像および魚眼画像内の制御点を見つけることができます。 良好なコントロールを実現するには
高い水平視野を持つポイント画像 (例: 超広角直線または
したがって、魚眼)は等角空間に再マッピングされます(cpfind はステレオグラフィックを使用しています)
投影)、特徴のマッチングはこの空間で発生します。 コントロールを書く前に
座標が画像空間に再マッピングされるポイント。 これは自動的に行われます
入力プロジェクト ファイル内のレンズに関する情報に応じて異なります。 それで、あなたの
入力プロジェクト ファイルには、使用されたレンズに関する適切な情報が含まれています。
使い方 セレステ
屋外のパノラマには雲が含まれることがよくあります。 雲はコントロールポイントの設定には適さないエリアです
なぜならそれらは動く物体だからです。 Cpfind は、celeste_standalone と同じアルゴリズムを使用して、
雲を含む領域をマスクして隠します。 (これはキーポイントの内部でのみ行われます
ステップを見つけるだけであり、画像のアルファ チャネルは変更されません。 生成したい場合は、
マスク イメージは celeste_standalone を使用します)。 cpfind を Celeste で実行するには、次を使用します。
cpfind --celeste -o 出力.pto 入力.pto
統合された Celeste で cpfind を使用することは、cpfind と
celeste_standalone シーケンシャル。 雲のセレステ領域で cpfind を実行すると、
多くの場合、高品質の尺度を備えたキーポイントが含まれていますが、無視され、含まれていない領域があります。
代わりに雲が使用されます。 Celeste なしで cpfind を実行すると、クラウド上のキーポイントも
見つかった。 その後 celeste_standalone を実行すると、これらのコントロール ポイントは削除されます。 の中に
最悪の場合、特定の画像ペアのすべての制御点が削除されます。
したがって、Celeste で cpfind を実行すると、屋外の「コントロール ポイントの品質」が向上します。
パノラマ (例: 雲のあるパノラマ)。 Celeste で cpfind を実行すると、cpfind よりも時間がかかります
一人で。 したがって、屋内パノラマの場合、このオプションを指定する必要はありません(時間がかかるため)
計算時間)。
セレステのステップは、パラメータ --celesteRadius および --celesteRadius によって微調整できます。
--celesteしきい値。
マッチング 戦略
すべて 足
これはデフォルトのマッチング戦略です。 ここでは、すべての画像ペアがそれぞれに対して照合されます。
他の。 たとえば、プロジェクトに 5 つの画像が含まれている場合、cpfind は画像ペア 0-1 と一致します。
0-2、0-3、0-4、1-2、1-3、1-4、2-3、2-4、3-4
この戦略は、すべての射撃戦略 (単一列、複数列、順序なし) に機能します。 それは見つけます
(ほぼ) すべての接続された画像ペア。 しかし、次のようなプロジェクトでは計算コストが高くなります。
接続されていない多くの画像ペアをテストするため、多くの画像が含まれます。
線形 match
このマッチング戦略は、単一行のパノラマに最適に機能します。
cpfind --linearmatch -o 出力.pto 入力.pto
これは、隣接する画像間の一致のみを検出します。たとえば、5 つの画像の例では、
will は、イメージのペア 0-1、1-2、2-3、および 3-4 に一致します。 マッチング距離を伸ばすことができる
スイッチ --linearmatchlen を使用します。 たとえば --linearmatchlen 2 を使用すると、cpfind は画像と一致します。
次の画像と次の次の画像では、この例では 0-1、0-2、1-2、
1-3、2-3、2-4および3-4。
複数行 マッチング
これは、単一行および複数行のパノラマ用に最適化されたマッチング戦略です。
cpfind --multirow -o 出力.pto 入力.pto
アルゴリズムは、複数行パノラマで説明したものと同じです。 これを統合することで
アルゴリズムを cpfind に組み込むと、最新の CPU の複数のコアを使用し、キャッシュを使用しないため高速になります。
キーポイントをディスクに保存します (これには時間がかかります)。 この複数行を使用したい場合は、
Hugin 内のマッチングでは、コントロール ポイント検出器のタイプを [すべての画像を一度に] に設定します。
キーポイント キャッシング 〜へ ディスク
キーポイントの計算には時間がかかります。 したがって、 cpfind は、
キーポイントをファイルに指定し、後で再度再利用します。 --kall を使用すると、すべての画像のキーポイントが取得されます
プロジェクト内のファイルがディスクに保存されます。 特定の画像のキーポイントだけが必要な場合は、
パラメータ -k にイメージ番号を指定します。
cpfind --kall input.pto
cpfind -k 0 -k 1 入力.pto
キーポイント ファイルは、デフォルトで画像と同じディレクトリに保存されます。
拡張子.key。 この場合、画像のマッチングは発生しないため、出力プロジェクトはありません。
ファイルを指定する必要があります。 cpfind がプロジェクト内の画像のキーファイルを見つけた場合、使用する
これらは自動的に実行され、このイメージに対して機能記述子が再度実行されることはありません。 あなたがしたい場合は
--keypath スイッチを使用して、それらを別のディレクトリに保存します。
この手順は、スイッチ --cache を使用して自動化することもできます。
cpfind --cache -o 出力.pto 入力.pto
この場合、既存のキーポイント ファイルをロードしようとします。 画像の場合、
キーポイント ファイルを作成すると、キーポイントが検出され、ファイルに保存されます。 次に、ロードされたすべてに一致します
新しく見つかったキーポイントと出力プロジェクトを書き込みます。
キーファイルがもう必要ない場合は、次の方法で自動的に削除できます。
cpfind --clean input.pto
拡張済み OPTIONS
特徴 説明
速度上の理由から、cpfind は幅と高さの半分に拡大縮小された画像を使用しています。
キーポイントを見つけるために。 --fullscale スイッチを使用すると、cpfind はフルスケールのイメージで動作します。
これには時間がかかりますが、「より良い」および/またはより多くの制御ポイントを提供できます。
機能説明ステップは、パラメーターによって微調整できます。
--sieve1width
ふるい 1: 幅上のバケットの数 (デフォルト: 10)
--ふるい1の高さ
ふるい 1: 高さ上のバケットの数 (デフォルト: 10)
--ふるい1サイズ
ふるい 1: バケットごとの最大ポイント (デフォルト: 100)
--kdtreesteps
KDTree: 検索ステップ (デフォルト: 200)
--kdtreesecndist
KDTree: 2 番目の一致の距離 (デフォルト: 0.25)
Cpfind は、画像ごとに最大 sieve1width * sieve1height * sieve1size キーポイントを保存します。 もし、あんたが
たとえば、魚眼画像を使用した 360 度パノラマ撮影の場合、オーバーラップがわずかである場合、次のことが可能です。
sieve1size を大きくすると、より良い結果が得られます。 sieve1width を増やしてみることもできます
および/またはふるい1の高さ。
特徴 マッチング
次のパラメータによるマッチング ステップの微調整:
--ランササイター
Ransac: 反復 (デフォルト: 1000)
--ランサカディスト
Ransac: ホモグラフィー推定距離のしきい値 (ピクセル) (デフォルト: 25)
--ransacmode (自動、hom、rpy、rpyv、rpyb)
ransac ステップで使用されるモデルを選択します。
hom: ホモグラフィーを仮定します。 非広角にのみ適用可能
ビュー。 オリジナルのパノマチックコードを使用します。 柔軟性も高くなります
特にほとんどの場合、必要以上に誤った一致が生成される可能性があります。
一致するもののうちの XNUMX つは XNUMX 行にあります。
rpy: ロール、ピッチ、ヨーを使用して画像を位置合わせします。 これには良いことが必要です
水平視野の推定値(および歪み、
大きく歪んだ画像)。 これは、次の場合に推奨されるモードです。
校正されたレンズが使用されているか、HFOV を正常に読み取ることができます
EXIFデータから。
rpyv: ロール、ピッチ、ヨー、フィールドを最適化してペアを調整します。
ビュー。 視野に関する事前知識がなくても作業できるはずですが、
ただし、エラー関数が使用されているため、より頻繁に失敗する可能性があります。
panotools オプティマイザーを使用すると、fov が 0 に縮小される傾向があります。
rpyvb: ロール、ピッチ、ヨー、視野、および
「b」ディストーションパラメータ。 おそらくとても壊れやすいのですが、
テスト用に実装されました。
auto: hfov < 65 度の画像にはホモグラフィーを使用し、それ以外の場合は rpy を使用します。
--minmatches
最小一致数 (デフォルト: 4)
--sieve2width
ふるい 2: 幅上のバケットの数 (デフォルト: 5)
--ふるい2の高さ
ふるい 2: 高さ上のバケットの数 (デフォルト: 5)
--ふるい2サイズ
ふるい 2: バケットごとの最大ポイント (デフォルト: 2)
Cpfind は minmatches と sieve2width * sieve2height * sieve2size の間で生成します
画像ペア間の制御点。 (デフォルト設定は4~50(=5*5*2)です。
画像ペアごとのコントロール ポイント。) 未満の場合、minmatches のコントロール ポイントが画像ペアに対して見つかります。
与えられた画像ペアでは、これらの制御点は無視され、この画像ペアは
接続されていないものとみなされます。 オーバーラップが狭い場合は、最小一致を減らすことを試みることができます。
しかし、これにより、間違った制御点を取得する危険性が高まります。
OPTIONS
--celesteRadius
Celeste の半径 (デフォルトは 20)
--celesteしきい値
セレステのしきい値 (デフォルトは 0.5)
--セレステ
画像をロードした後にセレステスカイ識別を実行します。これはすべての機能を無視します
「雲」に関係するもの。
-p <文字列, --キーパス
キャッシュキーファイルへのパス
- 掃除
キャッシュされたキーファイルをクリーンアップする
-c, - キャッシュ
キーポイントを外部ファイルにキャッシュします
--コール
すべてのイメージのキーファイルを書き込む
-k 、 --writekeyfile
このイメージ番号のキーファイルを書き込みます (複数回受け入れられます)
-o 、 - 出力
出力ファイル、必須
-n 、 --ncores
CPU/コアの数 (デフォルト:自動検出)
-t, - テスト
テストモードを有効にします
--フルスケール
フルスケール画像を使用してキーポイントを検出します (デフォルト: false)
--sieve1width
ふるい 1 : 幅上のバケットの数 (デフォルト : 10)
--ふるい1の高さ
ふるい 1 : 高さ方向のバケットの数 (デフォルト : 10)
--ふるい1サイズ
ふるい 1 : バケットごとの最大ポイント (デフォルト : 100)
--kdtreesteps
KDTree : 検索ステップ (デフォルト : 200)
--kdtreesecndist
KDTree : 2 番目の一致の距離 (デフォルト : 0.15)
--複数行
ヒューリスティックな複数行マッチングを有効にする (デフォルト: オフ)
--linearmatch
リニア イメージ マッチングを有効にする (デフォルト: すべてのペア)
--linearmatchlen
線形マッチングでマッチングする画像の数 (デフォルト:1)
--minmatches
最小一致数 (デフォルト: 4)
--ランササイター
Ransac : 反復 (デフォルト : 1000)
--ランサカディスト
Ransac : ホモグラフィ推定距離閾値 (ピクセル) (デフォルト : 25)
--sieve2width
ふるい 2 : 幅上のバケットの数 (デフォルト : 5)
--ふるい2の高さ
ふるい 2 : 高さ方向のバケットの数 (デフォルト : 5)
--ふるい2サイズ
ふるい 2 : バケットごとの最大ポイント (デフォルト : 2)
--, --ignore_rest
このフラグに続くラベル付き引数の残りを無視します。
- バージョン
バージョン情報を表示して終了します。
-h, - 助けて
使用情報を表示して終了します。
作者
アナエル・オーリンスキー、パブロ・ダンジェロ、アントワーヌ・デルフォージ、トーマス・モード
「バージョン:2015.0.0」2016-01-06 CPFIND(1)
onworks.net サービスを使用してオンラインで cpfind を使用する