練習 P3: 写真イメージの歪みを補正する

この練習では、[ラバーシート]を使用して航空写真イメージの歪みを補正します。

イメージをラバーシート化すると、エンジニアリング プロジェクト、設備プロジェクト、地図プロジェクトの貴重な参考資料として役立てることができます。精度が特に重要ではない場合、正射投影画像を使用する代わりにラバーシート化を行うことによって、コストを削減できます。

この練習では、[ラバーシート]を使用して駐車場プロジェクトに含まれるイメージを補正します。制御点を読み込み、さらに点を追加し、[三角形]方法と[多項式]方法との違いを検証し、結果を予測するためにラバーシートのプレビューとチェック ポイントを使用する方法を学びます。

関連する練習

この練習を行う前に、AutoCAD Raster Design toolsetのオプションが「練習 A1: AutoCAD Raster Design Toolsetのオプションを設定する」で説明したとおりに設定されていることを確認します。

練習

  1. ..\Program Files\Autodesk\ApplicationPlugins\RasterDesign2023.Bundle\Contents\Tutorials¥Tutorial5 フォルダの図面ファイル Rsheet_01.dwg を開きます。駐車場のグレースケール イメージが、自動的に図面に挿入されます。

    [ラバーシート]を呼び出し、点ファイルを読み込む

    このレッスンを開始しやすくするために、このレッスンで使用する点ファイルが既に作成されています。通常の場合、ソースと目的点のペアを作成して、ベクトル線と揃うようにイメージを伸ばす必要がある場所を指定します。ラバーシート化を実行する前に点を書き出しておくことをお勧めします。そうすると、異なる方法や別の点を使用して再度ラバーシート化を試したいときに、その時点から始めることができます。

  2. [ラバーシート - 制御点の設定]ダイアログ ボックスを表示するには、[ラスター ツール]タブ [配置設定]パネル [ラバーシート] をクリックします。
  3. [読み込み]ボタンをクリックし、点ファイル ..\Program Files\Autodesk\ApplicationPlugins\RasterDesign2023.Bundle\Contents\Tutorials¥Tutorial5¥Rsheet_01.txt を選択して、[開く]をクリックします。読み込まれた点が、制御点リスト ボックスに表示されます。これで、ラバーシート化を実行するのに十分な点があるため(最低 3 点が必要)、[OK]ボタンと[プレビュー]ボタンが使用できるようになります。

    ラバーシート化をプレビューし、点を再指定する

    次のいくつかの手順では、[多項式][三角形]の両方法のプレビューを比較します。プレビューに基づいて、間違って定義した点を再指定します。

  4. [ラバーシート - 制御点の設定]ダイアログ ボックスの[方法]領域で[多項式]を選択し、[次数]を既定値の設定である 1 のままにしておきます。ラバーシート化が入力した値と異なると、エラー列は目的点の実際の場所の量を示します。
  5. [プレビュー]ボタンをクリックします。[ラバーシート - 制御点の設定]ダイアログ ボックスが閉じ、ラバーシート化のプレビューが表示されます。

    赤い境界は、ラバーシート化後のラスター イメージの範囲を示しています。水色の境界は、元のイメージの範囲を示しています。これらの範囲の差により、イメージを制御点に一致させるために必要な変形量が分かります。左上コーナーと右下コーナーは、かなり変形した領域です。

  6. 右クリックするか[Enter]を押して、プレビューを終了します。
  7. [方法]領域で[三角形]を選択します。[プレビュー]ボタンをクリックします。

    プレビューには、ラバーシート化後の範囲が赤で表示され、その領域の範囲が水色の細い線で表示されます。水色の範囲とイメージの元のフレームとの間のハッチング領域は、最終的に[三角形]ラバーシート化を実行すると削除されます。[三角形]アルゴリズムは、制御点によって囲まれている領域に対してのみ適用することができ、他の領域は削除されます。このことがよりはっきり分かるように、左上コーナーにズームしてください。プレビューから分かることは、明らかに点 1 が間違って定義されているということです。この点は、右の丸い島ではなく、駐車場のコーナーに配置する必要があります。

  8. 右クリックするか[Enter]を押して、プレビューを終了します。
  9. 制御点リスト ボックス内で、点 1 の行がハイライト表示されます。[再指定]ボタンをクリックします。[ラバーシート - 制御点の設定]ダイアログ ボックスが一時的に閉じ、画面が点 1 付近にズームします。
  10. コマンド ラインに、新しい[基点]を指定するようプロンプトが表示されます。[Enter]を押して、現在の基点を確定します。その基点は、黄色のベクトル境界線のコーナー真上の青い点です。新しい[目的点]を指定するようプロンプトが表示されます。黄色の境界線のコーナーで点を指定します。この操作で、目的点が丸い島から駐車場のコーナーに移動します。

    新しい目的点を指定すると、[ラバーシート - 制御点の設定]ダイアログ ボックスが表示されます。

    [三角形]ラバーシート化の制御点を追加する

    [三角形]ラバーシートのプレビューを見ると、制御点によって囲まれたイメージの部分だけが、最終的な図面に含まれています。ラバーシート化されたイメージに駐車場全体を含めるには、制御点をいくつか追加する必要があります。

  11. [プレビュー]をクリックして、制御点を追加する必要がある場所を確認します。駐車場の左上、左下、右下の領域に注目してください。赤色の太い枠によって、駐車場の他の部分から明確に外れています。この状態を補正するために、これらの各領域に制御点を追加します。[Enter]を押して、プレビューを終了します。
  12. [点を追加]をクリックします。コマンド ラインに、新しい[基点]を指定するようプロンプトが表示されます。プロジェクトの左上コーナーを割り込みで拡大ズームします。イメージ上の駐車場の上側のコーナーを指定します。コマンド ラインに、[目的点]を指定するようプロンプトが表示されます。黄色の境界で表されている対応するコーナーを指定します。
  13. コマンド ラインに、次の[基点]を指定するようプロンプトが表示されます。割り込みで画面移動およびズームを行って、駐車場の左下コーナーにズームします。上記の手順と同様に、基点としてイメージ内の駐車場のコーナーを指定し、目的点として黄色の境界のコーナーを指定します。
  14. コマンド ラインに、別の[基点]を指定するようプロンプトが表示されます。割り込みで画面移動およびズームを行って、駐車場の右下コーナーにズームします。図面内のラベルが付いた電柱を探します。この点の位置ではイメージと図面がほぼ位置合わせされているため、電柱を固定点にして[基点][目的点]を同じにすることができます。電柱をクリックし、次に a と入力して点を固定します。d と入力して点の追加を終了し、[ラバーシート - 制御点の設定]ダイアログ ボックスに戻ります。
  15. [プレビュー]ボタンをクリックします。これで駐車場全体が、必要に応じて赤のイメージ境界の中に含まれたことに注目してください。プレビューを検証したら、右クリックするか[Enter]を押して終了します。

    [多項式]ラバーシート化をプレビューする

    これですべての制御点が適切に位置付けられたので、[多項式]ラバーシート化を実行した場合はどのようになるのかを確認します。[三角形]方法を使用すると希望通りの結果が得られますが、[多項式]方法を使用した方がよい場合もあります。たとえば、既知の制御点の領域の外側のイメージ データを保持する必要がある場合などです。

  16. [ラバーシート - 制御点の設定]ダイアログ ボックスの[方法]領域で[多項式]を選択します。次数を 1 のままにしておきます。[プレビュー]ボタンをクリックして、投影された結果を確認します。

    イメージの輪郭が現在の形状とは微妙に異なっていることに注目してください。これは、ラバーシート化処理によって形状にほとんど歪みが生じず、制御点の外側のデータが妥当なものになることを意味しています。

  17. [Enter]を押して、プレビューを終了します。
  18. [ラバーシート - 制御点の設定]ダイアログ ボックスの[エラー]列に、個々の制御点ごとのエラーがレポートされることに注目してください。すべてのエラーは 2 フィート未満で、いくつかのエラーは 1 フィート未満です。すべての点のエラーの平均である[RMS エラーの合計]に注目してください。
  19. 多項式の[次数]を 4 まで上げると、個々のエラーおよび[RMS エラーの合計]にどのように影響するのか、またプレビューにどのように影響するのかを確認します。個々のエラーと[RMS エラーの合計]が、かなり減ります。次数を 4 のままにしておきます。
  20. [プレビュー]ボタンをクリックし、次数を高くするとイメージ全体にどのように影響するかを確認します。

    新しいイメージの赤い境界が、かなり歪んでいます。多項式の次数を高くすると、制御点に一致するようにイメージが変換されるため、歪みの度合いが大きくなることがあります。また、制御点がない領域での歪みが大きくなります。この歪みの程度によっては、制御点の外側のイメージ領域に関しては、イメージが役に立たなくなります。

  21. 右クリックするか[Enter]を押して、プレビューを終了します。

    チェック ポイントを追加する

    [多項式]方法の場合、制御点のエラーとイメージに現れる歪みの量とは反比例の関係にあることが分かりました。この関係は、多項式の次数の影響を受けると同時に、制御点の数と配置の影響も受けます。

    この関係を評価するためのチェック ポイントという別のツールがあります。チェック ポイントとは、無効な制御点で、イメージ変換の計算には含まれません。その代わり、有効な制御点に基づいてチェック ポイントが移動する距離が[エラー]列にレポートされます。この方法により、イメージの特定の部分でイメージの歪みが生じる範囲の量を知ることができます。チェック ポイントは、このように[多項式]方法によるラバーシート化で利用される一方、[三角形]方法でのラバーシート化において制御点間の移動を評価する場合にも役に立ちます。

  22. [点を追加]ボタンをクリックし、イメージ フレームの各コーナーに固定点を設定します。(この場合、固定点は必ずしも必要ではありませんが、設定した方が定義しやすくなります)。点番号 17、18、19、20 は、操作が終了すると定義されます。点の追加が終了したら d と入力します。[ラバーシート - 制御点の設定]ダイアログ ボックスが表示されます。
  23. [ラバーシート - 制御点の設定]ダイアログ ボックスで、点 17、18、19、20 のチェック ボックスをオフにして、これらの点を無効にします。これらのチェック ポイントは、制御点リスト ボックスでグレー表示されます。制御点を有効または無効にすると、エラー計算がダイナミックに更新されます。
  24. 4 箇所のチェック ポイントを設定したので、これらの点のエラー列の値は歪みを生成するためにイメージのコーナーが移動する距離を正確に確認できます。歪みは、定義した制御点と多項式の[次数] 4 を使用して生成されます。[次数]を 1 に変更すると、チェックポイントの移動がかなり少なくなることに注意してください。

    ラバーシート化を実行する

    [三角形]方法と[多項式]方法を使用して、このイメージに対してラバーシート化を実行するとどのような結果が得られるかを、プレビューとチェック ポイントを使用して検証してきました。また、多項式の次数の変更や制御点の追加による利点についても確認しました。[三角形]方法を使用すると、定義した制御点の位置でエラーが発生せず、また駐車場の境界(一連の制御点)の外側のイメージ データは必要ないため、最終的なラバーシート化の実行にはこの方法を使用します。

  25. [ラバーシート - 制御点の設定]ダイアログ ボックスで、[方法][三角形]に変更します。
  26. 後で異なる設定でラバーシート化を繰り返したい場合は、制御点を書き出しておきます。[書き出し]ボタンをクリックし、[書き出し]ダイアログ ボックスでファイル名として Rsheet_01new.txt と入力して、[書き出し]をクリックします。
  27. [OK]をクリックします。ラバーシート化処理が行われ、[ラバーシート - 制御点の設定]ダイアログ ボックスが閉じます。必要に応じて、REGEN[再作図]コマンドを入力し、表示順序を変更します。
  28. 図面またはイメージに対する変更を保存せずに図面を閉じます。