サーマル画像を処理する
サーマル マッピングの概要
サーマル プロジェクトに使用できる画像の形式
サーマル画像を処理できる Pix4D ソフトウェアとは
サポートされている赤外線カメラと対応する温度
DJI Mavic 3T Enterprise、Mavic 2 Dual Enterprise Advanced、Zenmuse H20T、Zenmuse H20N などのサーマル カメラ画像を処理する方法
サーマル画像の撮影方法
サーマル データセットの処理方法
サーマル出力の表示方法
連続した画像間のサーマルの強度のばらつきを修正する方法
長時間の処理時間を短縮する方法
rayCloud に真っ白または真っ黒な画像が表示されキャリブレーション成功率が低い場合の対処法
サーマル センサーのカスタム統合を使用する方法
トラブルシューティングのガイドライン
サーマル マッピングの概要
赤外線画像は、特に産業施設におけるサーマル マップの作成に広く利用されています。これにより、プラント内の異常を迅速に検知し、メンテナンスの重点化や運用効率の向上を図ることが可能です。
サーマル カメラは、一般的な RGB カメラとは大きく異なります。まず、サーマル カメラの解像度は RGB カメラに比べて著しく低い傾向にあります。また、遠赤外線の波長を遮断しないための特殊な光学系を必要とします。さらに、サーマル カメラは通常シャッターを備えているものの、これは写真撮影ではなくセンサーの内部キャリブレーションにのみ使用されます。
画像の撮影にかかる時間は、カメラ センサーの「応答時間」に依存し、これは RGB カメラの通常の露光時間よりも長くなります。加えて、サーマル カメラの応答は時間の経過とともに変化しやすく、センサー内での不均一になりやすい傾向があります。
サーマル プロジェクトに使用できる画像の形式
PIX4Dmapper では、このセクションで説明されている推奨事項に従って撮影された赤外線画像を処理できます。
| 形式 | 説明 |
| RJPG | RJPG (ラジオメトリック JPG) 画像は、画像のメタデータにラジオメトリック データが埋め込まれた .jpg 画像です。これは、PIX4Dmapper でサポートされている独自の画像形式です。RJPG はサーマル画像に推奨される画像形式です。 |
| .tiff |
.tiff グレースケール画像は、PIX4Dmapper でサポートされているものの、重要なラジオメトリック データが含まれないことがあります。
|
| .jpg |
PIX4Dmapper では .jpg のサーマル画像がサポートされていますが、この画像形式はお勧めできません。.jpg 画像は温度のカラーマップであるため温度の視覚的表現のみが含まれ、RAW 値が含まれません。
|
情報: 動画から抽出したサーマル画像を処理することもできますが、.jpg 画像よりも .tiff 画像が推奨されるのと同じ理由で、この画像形式はお勧めできません。また、動画は画像のジオロケーションを含んでいることが少なく、静止画よりも圧縮されていることが多いという問題もあります。さらに、サーマル動画では画像のオーバーラップが過剰になることがあり、再構築にノイズが混入する可能性もあります。
サーマル画像を処理できる Pix4D ソフトウェアとは
- PIX4Dmapper および PIX4Dengine は、こちらのセクションに記載された推奨される条件に従って取得されたすべての種類のサーマル画像 (RJPG、.tiff、.jpg) を処理できます。
- PIX4Dfields は、Micasense Altum / Altum-PT および Sentera 6X カメラのサーマル バンドを処理し、実際の温度値を算出します。
-
PIX4Dfields および PIX4Dreact は、多くのドローンで取得された .jpg 形式のサーマル画像を処理し、温度を視覚的に表現したカラーマップを提供します。
- PIX4Dmatic はサーマル画像の処理に対応しておらず、RGB 画像にのみ対応しています。
- PIX4Dcloud Starter/PIX4Dcloud Pro 単体では、rjpeg 形式およびグレースケールのサーマル画像の処理に対応していません。グレースケールの JPG 画像を PIX4Dcloud 上に直接アップロードすることは可能ですが、結果に放射量誤差、スケールの不一致、キャリブレーションの精度に問題が生じる場合があるため推奨しません。
サポートされているサーマル カメラと取得可能な温度データ
センサーに関する推奨事項
PIX4Dmapper がシーンを再構築するのに十分な視覚的内容を画像に含めるには、以下の事項を推奨します。
- 解像度が最低でも 640 x 480 以上のセンサーを使用すること。これより解像度が低いセンサーはサポート対象外かつ通常はキャリブレーションできません。
- 焦点距離の短いレンズ (9mm) を使用すること。焦点距離の長いレンズを使用することも可能ですが、焦点距離の短いレンズを使用すると撮影範囲が広がります。
サポートされているサーマル カメラ
標準でサポートされている統合ソリューションとして、以下のカメラをお勧めします。
| カメラ モデル | 絶対温度 | 相対温度 |
| DJI Zenmuse XT | ✅ | |
| DJI Zenmuse XTR | ✅ | |
| FLIR Vue Pro | ✅ | |
| FLIR Vue Pro R | ✅ | |
| senseFly ThermoMAP | ✅ | |
| Aeryon Labs FLIR ボード | ✅ | |
| Workswell WIRIS 2nd Gen 640 | ✅ | |
| Micasense Altum/Altum-PT (マルチスペクトル + サーマル) | ✅ | |
| senseFly Duet T (RGB + サーマル) |
FLIR の Vue Pro または Tau2 センサーをベースにしたその他のカスタム カメラ統合もサポートされています。カスタム カメラの統合についてはこちらのセクションをご覧ください。Duet-T の画像の処理方法の詳細については senseFly のナレッジ ベース (有効な senseFly アカウントを保有している場合にのみ閲覧可能) をご覧ください。
ラジオメトリック サーマル カメラ
名前に「R」が付いているカメラは、ラジオメトリック キャリブレーション済みのカメラです。このようなカメラを使用すると、画像内の全ピクセルの絶対温度を記録できます。FLIR Vue Pro R と Zenmuse XTR はどちらもラジオメトリック キャリブレーション済みのモデルで、絶対温度を記録します。画像は RJPG (ラジオメトリックJPG) 形式で保存され、各ピクセルに温度データが埋め込まれた .jpg 画像になります。
DJI Mavic 3T Enterprise、Mavic 2 Dual Enterprise Advanced、Zenmuse H20T、Zenmuse H20N などのサーマル カメラ画像を処理する方法
Pix4D のソフトウェアでは現在、Mavic 3T Enterprise、Matrice 30T、Mavic 2 Dual Enterprise Advanced、Zenmuse H20T、Zenmuse H20N などの一部の DJI 製サーマル カメラで取得された温度値を含む反射率マップを生成することができません。これは、これらのカメラで取得されるサーマル画像のメタデータ構造が他の一般的なサーマル カメラと異なることから、Pix4D のソフトウェアが利用する FLIR SDK では rjpeg 画像として正しく認識できないためです。その結果、ソフトウェアはこれらの画像をサーマル画像としてではなく、RGB 画像として処理します。
Pix4D のソフトウェアでこれらの画像を正しく処理するための回避策としては、サードパーティ製ソフトウェアを使用して rjpeg 画像を温度情報を保持した TIFF ファイルに変換し、その後 Pix4D のソフトウェアで処理する方法が有効です。詳細については「Thermal images conversion」をご参照ください。
PIX4Dmapper、PIX4Dfields、または PIX4Dreact でサーマル画像(.jpg形式)を処理する場合、それらは標準的な RGB 画像として扱われます。生成されたオルソモザイクはビジュアライゼーション目的でのみ利用可能です。温度データは .jpg 形式には保持されないため、マップ上の任意のオブジェクトやピクセルから温度値を抽出または測定することはできません。
サーマル画像の撮影方法
サーマル プロジェクトで撮影したシーンをより良く再構築するために、画像取得時に以下のことを実行することをお勧めします。
- オーバーラップ率を非常に高くする。前面と側面の画像のオーバーラップ率を90%とする。
- 640 x 480 以上の解像度で画像を撮影する。
- 画像がぶれないようにする。飛行速度を上げると画像がぶれることがあります。
サーマル データセットの処理方法
サーマル プロジェクトの処理
1. 新しいプロジェクトを作成します。詳細については「プロジェクトの作成方法 -PIX4Dmapper‐」をご覧ください。正確な画像のジオロケーションを含む鉛直撮影画像データセットの場合は、処理テンプレート [サーマル カメラ] を選択します。詳細については、「処理オプションの規定のテンプレート - PIX4Dmapper (英語)」をご覧ください。
- senseFly の ThermoMAP カメラで撮影したプロジェクトの場合は、処理テンプレート [ThermoMAP カメラ] を選択します。詳細については、「処理オプションの規定のテンプレート - PIX4Dmapper (英語)」をご覧ください。
- 画像のジオロケーションを含まない斜め画像データセットまたは鉛直画像データセットの場合は、処理テンプレート [3D モデル] を選択します。詳細については、「処理オプションの規定のテンプレート - PIX4Dmapper (英語)」をご覧ください。
2. [ピクセル サイズ] と [焦点距離] の値が正しく設定されていることを確認します。メニュー バーで [プロジェクト] > [画像プロパティ エディター...] をクリックし、[選択されたカメラ モデル] セクションで [編集...] をクリックします。カメラ モデルを変更するステップについては、「[カメラ モデルを編集] オプションの使用方法 - PIX4Dmapper (英語)」をご覧ください。
3. [処理中] バーで [開始] をクリックし、処理を開始します。熱指数マップがステップ [3. DSM、オルソモザイクおよび指数] で生成されます。
Micasense Altum のデータセットの処理
Micasense Altum は、青、緑、赤、レッドエッジ、近赤外 (NIR)、熱赤外 (LWIR) の 6 つのバンドを備えたカメラです。サーマル センサーの解像度は 160 × 120 であるものの、高解像度のマルチスペクトル センサーを搭載しているため、リグとして正常に画像を処理できます。
1. 画像をアップロードし、ag マルチスペクトル テンプレートを使用します。
2. LWIR ピクセル値を摂氏温度に変換するには、数式「Thermal_ir=(lwir/100)-273.15」を使用します。
Micasense の web サイトで、このカメラのデモ データセットを取得できます。
サーマル画像と RGB 画像の両方を使用したデータセットの処理 (3D メッシュ/モデルの品質向上)
通常、サーマル カメラは RGB カメラと比較して解像度が低いため、3D モデルの品質も低くなります。そこで、高解像度の RGB 画像を使用して 3D モデル (メッシュ) の計算をしてから、その上にサーマル テクスチャを投影します。これにより、最終的なサーマル 3D モデル成果物の品質が大幅に向上します。サーマル画像と RGB 画像の両方を使用してデータセットを処理するには、次の手順に従います。
1. 上記の手順に従って、赤外線データセットに対してステップ [1. 初期処理] を実行します。
2. 別の Pix4D プロジェクトで RGB データセットに対してステップ [1. 初期処理] を実行します。
3. RGB プロジェクトとサーマル プロジェクトをマージします。プロジェクトのマージの詳細については、「プロジェクトの融合方法」をご覧ください。
4. メニュー バーで [処理] > [処理オプション] をクリックします。[2. 点群およびメッシュ] を選択し、[詳細] タブを選択します。[点群] および [メッシュ幾何学] 画像グループの [Thermal IR] のチェックボックスがオフに、[group1] のチェックボックスがオンになっていることを確認します。[メッシュ テクスチャ] 画像グループの [Thermal IR] のチェックボックスがオンに、[group1] のチェックボックスがオフになっていることを確認します。詳細については、「メニュー [処理] > [処理オプション...] > [2. 点群およびメッシュ] > [詳細] (英語)」をご覧ください。
サーマル画像の出力の表示方法
rayCloud での 3D 点群の表示
1. [表示] > [rayCloud] をクリックして [rayCloud] を開き、左側のサイドバーの [レイヤー] セクションにある [点群] チェックボックスをオンにして 3D 点群を読み込みます。詳細については「メニュー [表示] > 左サイドバー > [レイヤー] > [点群] - PIX4Dmapper」をご覧ください。
2. 表示: (任意) 左側のサイドバーの [点群] レイヤーで [プロパティを表示] を選択し、[シェーダー] を [スクリーンに調整された区画、サーマル] または [球体点、赤外線] に変更します。
rayCloud での 3D テクスチャ メッシュの表示
1. [サーマル カメラ] 処理テンプレートを使用して 3D テクスチャ メッシュを出力する場合は、メニュー バーで [処理] > [3D テクスチャ メッシュを作成] をクリックします。詳細については、「メニュー > [処理] > [3D テクスチャ メッシュを生成]」をご覧ください。
2. [表示] > [rayCloud] をクリックして [rayCloud] を開き、左側のサイドバーの [レイヤー] セクションにある [三角メッシュ] チェックボックスをオンにして 3D テクスチャ メッシュを読み込みます。詳細については、「メニュー [表示] > [rayCloud] > 左サイドバー > [レイヤー] > [三角メッシュ]」をご覧ください。
3. 表示: (任意) 左側のサイドバーの [三角メッシュ] レイヤーで [プロパティを表示] を選択し、[シェーダー] を [サーマル] に変更します。
指数計算機でのサーマル指数マップの表示
1. [表示] > [指数計算機] をクリックして [指数計算機] を開きます。
2. サイドバーの [指数マップ] セクションでサーマル データを含むバンドを選択します。
メモ: サーマル データを含むバンドは、画像の撮影に使用したカメラによって異なります。
|
ZenmuseXTR と FLIR Vue Pro R |
Zenmuse XTR または FLIR Vue Pro R のラジオメトリック カメラで作成したプロジェクトでは、RJPG (ラジオメトリック .jpg) 画像を使用している場合は、バンドから絶対温度が直接取得されます。RJPG の詳細については、こちらのセクションをご覧ください。 |
| senseFly ThermoMAP |
絶対温度を記録します。senseFly ThermoMAP カメラを使用して作成したプロジェクトでは、絶対温度指数マップを取得するために、 [温度 [°C または °F ]] 指数を使用する必要があります。この指数は、ThermoMAP プロジェクトでは自動的に読み込まれ、 数式「0.01*thermal_ir - 100」を使用して計算されます。 |
| Zenmuse XT と FLIR Vue Pro | 相対温度が計算されます。 |
| Workswell WIRIS 2nd Gen 640 | 最新の Wiris カメラは相対温度を記録します。グレースケールの .tiff 画像を使用して処理を行い、 数式「0.04*thermal_ir - 273.15」で指数を作成して絶対温度を表示することをお勧めします。 |
| Micasense Altum LWIR | .tiff 画像を使用してサーマル反射率マップを生成します。絶対温度を表示するには、数式「Thermal_ir=(lwir/100)-273.15」という数式で指数を作成します。 |
3. 表示: (任意) サイドバーの [カラー マップおよび詳細] セクションで、クラスの数を 32 に増やし、ドロップダウン リストから [等間隔] を選択します。「メニュー [表示] > [指数計算機] > サイドバー [カラー マップおよび詳細] (英語)」をご覧ください。
連続した画像間のサーマルの強度の不連続性を修正する方法
温度が時間の経過とともに変化するように見える場合は、それはカメラの特性によるものであり (通常、非冷却型カメラで見られる挙動) ソフトウェアでは補正できません。サーマル カメラは、一般的にはシャッターを閉じた状態で撮影することで自動的に輝度を再キャリブレーションする機能を備えています。温度が均一なサーフェスのサーマル画像を撮影しても、画像自体が均一に映りません。時間の経過と共に大きく変動する、カメラ特有のパターンが現れることがあります。
詳細はカメラ メーカーにお問い合わせください。
長時間の処理時間を短縮する方法
ステップ [1. 初期処理] の速度を左右する要因は主に 2 つあります。
- 過剰なオーバーラップ: プロジェクト内のいくつかの画像が同じ場所から撮影されている場合、処理時間が指数関数的に増加します。時間ではなく距離に基づいてカメラをトリガーする飛行計画アプリ (Pix4Dcapture など) を使用することをお勧めします。または、ドローンが長時間同じ場所でホバリングしていた場合は、手動で画像を削除することをお勧めします。
- カメラ モデルの最適化: カメラの初期値が最適な値からかけ離れている場合、処理が遅くなることがあります。ピクセル サイズと焦点距離が正しく入力されていることを確認してください。詳細については「[カメラ モデルを編集] オプションの使用方法 - PIX4Dmapper (英語)」をご覧ください。
rayCloud に真っ白または真っ黒な画像が表示されキャリブレーション成功率が低い場合の対処法
rayCloud に真っ白または真っ黒な画像が表示され、プロジェクトのキャリブレーション率が非常に低い場合、それは使用したサーマル カメラが Pix4D のデータベースに登録されていないことを意味します。このような場合は、次の 2 つの対処法を取ることができます。
- 推奨される対処法は、データセットのサンプルを Pix4D に送ることです。送られたサンプルは Pix4D のデータベースに登録されます。
- もう 1 つの対処法は、処理を開始する前に、プロジェクトを閉じてテキスト エディターで .p4d ファイルを開き、
<tangentialT2>の行と<cameraModelSource>の行の間に次の行を追加することです。<pixelValue pixelType="uint16" min="-1" max="-1"/>
「pixelType」は入力画像のデータ型と一致する必要があります。たとえば、浮動小数点データや8ビットデータを使用すると、上記の行は機能しません。
サーマル センサーとのカスタム統合を使用する方法
カスタム統合を使用する場合は、PIX4Dmapper に必要なメタデータを画像の EXIF タグに統合する必要があります。PIX4Dmapper によって読み取られるすべての EXIF タグを記載している「プロジェクト作成に使用する EXIF および XMP タグの情報 (英語)」の手順に従ってください。
トラブルシューティングのガイドライン
サーマル データセットの処理がうまくいかない場合やキャリブレーションが正常に実施されない場合は、以下の点を確認してください。
- 画像が一様すぎないか。
- カメラ モデルの [ピクセルサイズ] と [焦点距離] が正しく設定されているか。場合によっては、ピクセル サイズが EXIF から正しく読み込まれないことがあります。このパラメータはメーカーによって提供されています。カメラ モデルのオプションの詳細については、「[カメラ モデルを編集] オプションの使用方法 - PIX4Dmapper (英語)」をご覧ください。
- 画像のジオロケーションと向きが正しく、明らかな不備がないか。画像のジオロケーションと向きの詳細については、「画像のジオロケーションと向きをインポート/エクスポートする方法 - PIX4Dmapper (英語)」をご覧ください。
- [赤外線カメラ] 処理テンプレートを使用しているか。処理テンプレートの詳細については、「処理オプションの既定のテンプレート - PIX4Dmapper (英語)」をご覧ください。
上記の点を確認しても、まだプロジェクトをキャリブレーションできない場合や、プロジェクトが極端に歪んでいる場合は、以下の処理オプションを次の順番で実践してください。
- 内部カメラ パラメータの最適化方法を [初期設定] に設定します。[初期設定] 処理オプションの詳細については、「メニュー [処理] > [処理オプション...] > [1. 初期処理] > [キャリブレーション] (英語)」をご覧ください。
- カメラ モデルの歪みパラメータ (放射状歪み R1、R2、R3 と接線歪み T1、T2)をゼロに設定します。カメラ モデル オプションの詳細については、「[カメラ モデルを編集] オプションの使用方法 - PIX4Dmapper (英語)」をご覧ください。
- それでもキャリブレーションできない場合は、その他のキャリブレーション方法 ([標準]、[代替])を使用して実行します。詳細については、「メニュー [処理] > [処理オプション...] > [1. 初期処理] > [キャリブレーション] (英語)」をご覧ください。[Thermal and Thermomap] テンプレートでは、代替キャリブレーション パイプラインを使用します。このパイプラインの前提条件は、データセットに斜め撮影画像が含まれていないこと、地形が平坦で均質であることです。この前提条件に基づいてキャリブレーションを行うため、傾斜角が 35 度を超える画像はキャリブレーションされません。標準キャリブレーションでの処理を試してください。
- 良好なサーマル データセットの条件は、オーバーラップ率が非常に高い (約 95%) データセットであることです。ただし、同じ視点から撮影された画像でないこと、画像の中心点が異なっていることが重要です。Tau2 (ビデオ カメラ) などのカメラでは、特にドローンがホバリングしている場合は、fps の数値が高すぎて同じ場所で多くの画像が撮影されることがあります。このような場合は、手動でデータセットの一部のフレームを削除する必要があります。