主要コンテンツへスキップ
ENGINEERING IDEAS INTO REALITY

タイの製造工場の保全チーム向け、電気制御盤の熱画像をデコード・合成するモジュール

顧客: タイの大手製造業グループ

TIDM(Thermal Image Decoding Module)は、FLIRサーマルカメラの画像ファイルから温度値を読み取り、部分ごとに撮影した電気制御盤の画像を一枚に合成して、各グリッドセルの最高・最低温度を示すソフトウェアモジュールです。当社は2018–2019年に、このモジュールを開発し、タイの製造工場の保全チームに納品しました。

コンセプト図: 電気機器のホットスポットを故障前に検出するサーマルカメラ(Thermal Imaging)画像を拡大
この事例の業務を説明するためにAIで作成した概念イラスト
業界
一般製造業
年
2018–2019
業務範囲
納品物は次の3項目です。FLIRカメラの熱画像ファイルを対象としたTIDMモジュール本体プログラム(ソースコード付き)、システム設計書(システム構成図、動作状態図、データベース図、データフロー図、アルゴリズム、使用ライブラリ一覧)、TestoおよびInfReCカメラのファイルに関する方針検討と追加の助言。

要約

  • TIDMは、FLIRカメラの.jpg画像ファイルから温度値を読み取り、部分ごとに撮影した電気制御盤の画像を一枚に合成して、各グリッドセルの最高・最低温度を示すソフトウェアモジュールです。
  • モジュールは2つの部分で構成されます。デコード部はすべての画像を同じ温度スケールにそろえ、パノラマ合成部は部分ごとの画像を盤全体の一枚の画像にまとめます。
  • 2018–2019年に、当社はタイの製造工場の保全チームへ本業務の3項目すべてを納品しました。ソースコード付きプログラム、システム設計書、TestoおよびInfReCカメラのファイルに関する方針検討と追加の助言です。
  • パノラマ合成は撮影方法に左右されます。そのため本業務では、撮影方法を調整し、撮影順序を並べ直しました。
  • 点検回ごとのレポート作成、点検回の間の結果比較、アラート通知は、納品した業務範囲に含まれません。
01

現場の課題

保全チームは、顧客が自ら用意したFLIR、Testo、InfReCのサーマルカメラ(Thermal Camera)で電気制御盤を点検しており、部分ごとに行と列に沿って順に撮影していました。カメラのファイルは、温度データをメーカー独自の形式で保存しています。チームが求めていたのは、ファイルから温度値を読み取り、盤全体を一枚の画像に合成し、各部分の最高・最低温度を示すプログラムでした。

02

当社の取り組み

当社はFLIRカメラの.jpg画像ファイルを対象に、PythonでTIDMモジュールを開発しました。モジュールは2つの部分で構成されます。生データを読み取り、すべての画像を同じ温度スケールにそろえるデコード部(Decoding)と、部分ごとの画像を盤全体の一枚の画像にまとめるパノラマ合成部(Panorama Stitching)です。その後、プログラムが画像上にグリッド(Grid)を描画し、各グリッドセルの最高値・最低値を読み取って、結果をデータベースに保存します。

03

成果

当社は業務範囲に定めた3項目すべてを納品しました。その際、撮影方法を調整し、撮影順序を並べ直しました。モジュールの出力は、盤全体の一枚の画像と、データベースに記録された各グリッドセルの最高・最低温度値です。

課題の背景

この事例の課題は、電気制御盤の熱画像ファイルから温度値をプログラムで読み取り、盤全体の結果を一枚の画像で確認することでした。顧客の保全チームはサーマルカメラで電気制御盤を点検しており、部分ごとに行と列に沿って順に撮影していました。そのため、一つの盤の点検結果は複数の部分画像ファイルに分かれていました。

電気盤内の配線接続部や機器は、問題が起こり始めると周囲より高温になることがよくあります。サーマルカメラを使えば、機器に触れずにこうした箇所を確認できます。そのためチームは、盤全体の全体像と、各部分の最高・最低温度値を必要としていました。

要件と制約

モジュールは、顧客が保有するカメラとファイルで動作する必要がありました。本業務にカメラの調達は含まれません。主な要件と制約は次のとおりです。

  • サーマルカメラは顧客が自ら用意します(FLIR、Testo、InfReC)
  • カメラのファイルは、温度データを各メーカー独自の形式で保存しています
  • プログラムは、SDカードからコンピューターにコピーしたFLIRカメラの.jpg画像ファイルを入力とします
  • 出力には、盤全体の元画像と熱画像、各セルの最高・最低温度値が必要で、データベースへの記録も必要です
  • 画像合成は撮影方法に左右されます。行と列に沿って撮影する必要があり、各画像の開始点が大きくずれないようにし、撮影範囲の明るさを均一にすることが望まれます
  • 点検回ごとのレポート作成と点検回の間の結果比較は業務範囲に含まれません

熱画像のデコード(Decoding)とは

多くの機種のサーマルカメラのファイルには、画面に表示されるカラー画像だけでなく、各点の温度計算に使う生データも、カメラメーカー独自の形式で保存されています。デコードとは、このデータを読み出し、プログラム自身で計算、画像合成、温度値の保存ができるようにすることです。

なぜ画像合成の前に熱画像ファイルをデコードするのか

先にデコードが必要なのは、一枚の画像に合成する前に、すべての画像を同じ温度スケールにそろえなければならないためです。画像ごとに別のスケールを使うと、二枚の画像で同じ色でも異なる温度を意味する場合があります。スケールの調整にはファイル内の生データの温度値が必要なため、まずこのデータを読み出す必要があります。

そこで当社はTIDMモジュールを2つの部分に分けました。最初の部分で生データをデコードしてすべての画像を同じ温度スケールにそろえ、次の部分で盤全体の一枚の画像に合成します。すべての画像が同じ温度カラーバーを使うことで、盤全体のパノラマ画像を単一のスケールで読み取れます。

  1. 1

    行と列の順序で盤を部分ごとに撮影

    点検者は電気制御盤の熱画像を部分ごとに、行と列に沿って撮影します。撮影順序が明確であれば、プログラムはどの画像をどの画像とつなげるかを判断できます。

  2. 2

    熱画像ファイルのデコード

    モジュールはFLIRカメラが.jpgファイルに保存した生データを読み取り、カラー画像とモノクロ画像(Grayscale)に変換したうえで温度スケールを再計算し、セット内のすべての画像を同じ温度スケールにそろえます。

  3. 3

    一枚のパノラマ画像に合成

    モジュールは各部分の画像を一枚の大きな画像に合成し、盤全体の元画像と熱画像の両方を作成します。点検者は周囲より高温の箇所を一枚の画像で確認できます。

  4. 4

    グリッドの描画とグリッドセルごとの温度値読み取り

    プログラムは画像上にグリッド(Grid)を描画し、各グリッドセルの最高・最低温度値を読み取ります。画像には温度カラーバーも添えられます。

  5. 5

    結果をデータベースに保存

    生成された画像と各画像の温度値をデータベースに記録します。

納入物

当社は業務範囲に定めた3項目すべてを納品しました。納品物は次のとおりです。

  • TIDMモジュール本体プログラムとソースコード。Pythonで記述し、FLIRカメラの.jpg画像ファイルを対象とします
  • システム設計書: システム構成図、動作状態図、データベース図、データフロー図、アルゴリズム、使用ライブラリ一覧
  • TestoおよびInfReCカメラのファイルに関する方針検討と追加の助言

納品により確認できた成果

2018–2019年に、当社はタイの製造工場の保全チームへ、TIDMモジュールについて業務範囲に定めた3項目すべてを納品しました。納品したプログラムは2種類の出力を生成します。一つ目は盤全体のパノラマ画像で、元画像と、同じ温度カラーバーを使う熱画像の両方です。二つ目は各グリッドセルの最高・最低温度値で、画像とともにデータベースに記録されます。

この事例には、点検した盤の数や短縮された時間といった運用効果の数値はありません。そのため、納品物と文書で確認できる事項のみを報告しています。納品したプログラムが読み取るのはFLIRカメラのファイルです。TestoとInfReCカメラは方針検討と追加の助言として範囲に含まれるもので、納品したプログラムではありません。

私たちが学んだこと

本業務から、熱画像の温度読み取り業務に関する3つの原則が得られました。

  • 撮影方法はシステムの一部であり、プログラム使用前の単なる手順ではありません。パノラマ画像の品質は、撮影開始前に取り決めた撮影順序に左右されます。
  • 温度値は、比較する前に同じスケールにそろっている必要があります。カメラの画像は、画像合成や画像間の色の比較を行う前に、生データをデコードして同じ温度スケールにそろえなければなりません。
  • 各カメラ機種への対応は、その機種の実ファイルで確認する必要があります。ファイル形式はメーカーごとに異なるため、プログラムが対応するカメラ機種の明記は、テスト済みのファイルに基づくものに限るべきです。

この手法をお客様の工場に適用する方法

すでにサーマルカメラで電気制御盤を点検しているチームであれば、この事例と同じ手法を利用できます。カメラのファイルをデコードし、すべての画像を同じスケールにそろえ、一枚の画像に合成し、セルごとの値を読み取ってデータベースに保存する手法です。調整が必要なのは、お使いのカメラが別のブランドや機種である場合のファイル読み取り部分です。

再利用できる部分と調整が必要な部分

システムの部分再利用可能調整が必要になる場合
ファイル読み取りFLIRカメラの.jpgファイルのデコードカメラが他ブランドの場合やファイル形式が異なる場合は、先に実際のサンプルファイルの確認が必要です
パノラマ合成行と列に沿って撮影した画像の合成撮影方法に決まった行・列の順序がない場合は、先に撮影方法を定める必要があります
グリッドセルごとの値の読み取りグリッドと各グリッドセルの最高・最低値最高・最低以外の値が必要な場合は、開発前に計算方法を取り決める必要があります
温度結果の活用画像と温度値のデータベースへの記録点検回ごとのレポートやアラート通知が必要な場合は、この事例の範囲外のため追加設計が必要です

表の事項に加えて、開発開始前に取り決めておくべきことが2点あります。

  • テストケース(Test Case)とサンプルファイルの提出期限を開発開始前に明確に取り決め、計画どおりにテストできるようにします。
  • 温度結果を次にどこで活用するか(点検回ごとのレポートやアラート通知システムなど)を事前に決め、データベース構造がそれに対応するよう設計します。

実際の盤の画像一式から始める

すべての部分を順序どおりに撮影した実際の盤の熱画像一式は、デコードと画像合成の両方を最も早くテストできるデータです。

使用する技術

Thermal Image Decoding Module (TIDM)FLIRサーモグラフィカメラ(.jpgファイル)Panorama Image Stitching温度読み取りテーブル(Grid Max/Min)Python温度結果データベース

よくある質問

このモジュールはどのブランドのカメラのファイルを読み取れますか。新しいカメラの購入は必要ですか。

納品した成果物は、顧客が既に保有しているFLIRカメラの.jpg画像ファイルに対応しており、カメラの調達は含まれていません。TestoとInfReCカメラは方針検討と追加の助言として範囲に含まれるもので、納品したプログラムではありません。他の機種やブランドのカメラをお使いの場合は、実際のサンプルファイルをお送りいただき当社で確認したうえで、追加開発の規模を見積もることができます。

パノラマ合成するには、どのように撮影すればよいですか。

部分ごとに行と列に沿って撮影し、各画像の開始点が大きくずれないようにし、撮影範囲の明るさを均一にします。この事例では、撮影方法を調整して撮影順序を並べ直しました。

ソースコードとシステム設計書も受け取れますか。

はい。この事例の納品物には、TIDMモジュールのPythonソースコードとシステム設計書(システム構成図、動作状態図、データベース図、データフロー図、アルゴリズム、使用ライブラリ一覧)が含まれます。

このシステムは、温度異常時にレポート作成やアラート通知ができますか。

今回の案件で納品した成果物には、この機能は含まれていません。モジュールは画像と温度値をデータベースに記録します。点検周期ごとのレポート作成、周期間の結果比較、アラート通知は作業範囲に含まれていません。ご希望の場合は、データ構造と画面を追加で設計する必要があります。

このようなシステムが必要な場合、価格はいくらですか

標準価格はありません。カメラの機種、ファイル形式、および温度結果をどのように活用したいかによって異なるためです。お見積りについては当社までお問い合わせください。当社はサンプルファイルと実際の作業範囲をもとに評価します。

このようなシステムをお客様の業務に導入したいとお考えですか?